<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>221447</bug_id>
          
          <creation_ts>2010-01-05 22:13:33 +0000</creation_ts>
          <short_desc>Missing LDAP attributes and inconsistent handling of e-mail addresses</short_desc>
          <delta_ts>2017-01-07 22:42:30 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>kdepimlibs</product>
          <component>kpimidentities</component>
          <version>4.3</version>
          <rep_platform>Ubuntu</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>UNMAINTAINED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>rdratlos</reporter>
          <assigned_to name="kdepim bugs">pim-bugs-null</assigned_to>
          <cc>joerg.steffens</cc>
    
    <cc>pim-bugs-null</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>10</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>892939</commentid>
    <comment_count>0</comment_count>
    <who name="">rdratlos</who>
    <bug_when>2010-01-05 22:13:33 +0000</bug_when>
    <thetext>Version:            (using KDE 4.3.2)
OS:                Linux
Installed from:    Ubuntu Packages

The &quot;mail&quot; element in inetOrgPerson LDAP schema is multi-valued, allowing multiple email adresses to be stored in there. KAddressbook does display them correctly.

When saving an entry with multiple email addresses, only the first one is stored in the &quot;mail&quot; element, the others are lost.

In addition, the preferred e-mail can be lost if using mail AND mailAlias attribute.

The e-mail related part of this problem was also reported earlier, but due to wrong assignment to kaddressbook it has not been solved, yet. See e. g. https://bugs.kde.org/show_bug.cgi?id=140231.

Furthermore, some addressbook attributes that are used by kaddressbook and other applications (e. g. Outlook) can not be mapped to LDAP directory attributes. These are, e. g. country, birthday, office, department, homepage, nicknames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893886</commentid>
    <comment_count>1</comment_count>
      <attachid>39648</attachid>
    <who name="">rdratlos</who>
    <bug_when>2010-01-07 14:47:28 +0000</bug_when>
    <thetext>Created attachment 39648
LDAP schema required for testing of the patch using OpenLDAP

This schema adds country, mail2 and homeurl attributes to the standard inetOrgPerson schema.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893894</commentid>
    <comment_count>2</comment_count>
      <attachid>39649</attachid>
    <who name="">rdratlos</who>
    <bug_when>2010-01-07 15:16:18 +0000</bug_when>
    <thetext>Created attachment 39649
Patch for kdepimlibs to fix this bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893895</commentid>
    <comment_count>3</comment_count>
    <who name="">rdratlos</who>
    <bug_when>2010-01-07 15:16:40 +0000</bug_when>
    <thetext>There seems to be a simple fix for this problem. The kabc plugin ldapkio within
kdepimlibs has a private AddresseeToLDIF and a data method that can be changed to correctly handle several e-mail addresses in either one mail attribute or a mail and mailAlias attribute. They reside in the source file resourceldapkio.cpp.

In addition, the above mentioned methods and the init method can be adapted to support additional LDAP attributes (country name, department, homepage url, birthday, nickname).

For this purpose also the AttributesDialog constructor within the source file resourceldapkioconfig.cpp has to be adapted in order to allow the user to manage the new attributes. 

I&apos;ve attached a patch to outline the required changes to the source code files. 

I&apos;ve added several comments to the mail related part of the patch to provide for a better understanding of the mail handling strategy. In principle, the new code allows the user to store all mail addresses in either one mail or a mail and a mailAlias attribute. In the latter case, the LDAP directory will contain the preferred e-mail address in the mail attribute and all other mail addresses in the mailAlias attribute. 

The attached patch includes also a default mapping for three LDAP attributes in the outlook map, which is compatible to MS Outlook 2007.

I&apos;ve tested this solution under Ubuntu karmic and it works fine. E-mail addresses have been correctly read and stored in following cases:
- mail attribute only (all mail addresses, preferred is first)
- mailAlias attribute only (all mail addresses)
- Different mail and mailAlias attributes (preferred address in mail, rest in mailAlias)
- Same attribute for mail and mailAlias (all mail addresses, preferred is first)
The new attributes are correctly set and read in the LDAP directory.
Note: You need an additional LDAP schema for openldap in order to test this.
- Nickname, description and (home) street are correctly mapped to LDAP attributes that are supported by Outlook 2007.

I have not identified further side-effects of this patch. But I recommend some
further testing.

Note: As the patch is against the original source code, it contains also the patch for fixing the bug https://bugs.kde.org/show_bug.cgi?id=218353. Withoutthis fix modification of LDAP directory based contacts is not possible. Please consider this, when including this patch into the KDE source code branche(s).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896920</commentid>
    <comment_count>4</comment_count>
    <who name="">rdratlos</who>
    <bug_when>2010-01-12 01:01:52 +0000</bug_when>
    <thetext>I&apos;ve found further bugs in the kabc part kdepimlibs with regard to LDAP (kioldap plugin). Please check https://bugs.kde.org/show_bug.cgi?id=222306. You will find there a summary patch that contains also the fixes for this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896921</commentid>
    <comment_count>5</comment_count>
    <who name="">rdratlos</who>
    <bug_when>2010-01-12 01:02:45 +0000</bug_when>
    <thetext>I&apos;ve found further bugs in the kabc part kdepimlibs with regard to LDAP (kioldap plugin). Please check https://bugs.kde.org/show_bug.cgi?id=222306. You will find there a summary patch that contains also the fixes for this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626968</commentid>
    <comment_count>6</comment_count>
    <who name="Denis Kurz">kdenis</who>
    <bug_when>2016-09-24 20:56:02 +0000</bug_when>
    <thetext>This bug has only been reported for versions before 4.14, which have been unsupported for at least two years now. Can anyone tell if this bug still present?

If noone confirms this bug for a Framework-based version of kdepim (version 5.0 or later, as part of KDE Applications 15.08 or later), it gets closed in about three months.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652285</commentid>
    <comment_count>7</comment_count>
    <who name="Denis Kurz">kdenis</who>
    <bug_when>2017-01-07 22:42:30 +0000</bug_when>
    <thetext>Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.0 aka 15.08), please open a new one unless it already exists. Thank you for all your input.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39648</attachid>
            <date>2010-01-07 14:47:28 +0000</date>
            <delta_ts>2010-01-07 14:47:28 +0000</delta_ts>
            <desc>LDAP schema required for testing of the patch using OpenLDAP</desc>
            <filename>joLinuxPerson.schema</filename>
            <type>application/octet-stream</type>
            <size>1441</size>
            <attacher>rdratlos</attacher>
            
              <data encoding="base64">IyBOZXcgYXR0cmlidXRlIGRlZmluaXRpb25zOg0KDQphdHRyaWJ1dGV0eXBlICggMS4zLjYuMS40
LjEuNDIwMy42NjYuMS45MA0KICAgICAgICBOQU1FICdjb21wYW55Jw0KICAgICAgICBFUVVBTElU
WSBjYXNlSWdub3JlTWF0Y2gNCiAgICAgICAgU1VCU1RSIGNhc2VJZ25vcmVTdWJzdHJpbmdzTWF0
Y2gNCiAgICAgICAgU1lOVEFYIDEuMy42LjEuNC4xLjE0NjYuMTE1LjEyMS4xLjE1ezEwMjR9ICkN
Cg0KI2F0dHJpYnV0ZXR5cGUgKCAxLjMuNi4xLjQuMS40MjAzLjY2Ni4xLjkxDQojICAgICAgICBO
QU1FICdwcmVmZXJyZWRFbWFpbCcNCiMgICAgICAgIEVRVUFMSVRZIGNhc2VJZ25vcmVNYXRjaA0K
IyAgICAgICAgU1VCU1RSIGNhc2VJZ25vcmVTdWJzdHJpbmdzTWF0Y2gNCiMgICAgICAgIFNZTlRB
WCAxLjMuNi4xLjQuMS4xNDY2LjExNS4xMjEuMS4xNXsxMDI0fSApDQoNCmF0dHJpYnV0ZXR5cGUg
KCAxLjMuNi4xLjQuMS40MjAzLjY2Ni4xLjkyDQogICAgICAgIE5BTUUgJ21haWwyJw0KICAgICAg
ICBERVNDICdSRkMxMjc0OiBSRkM4MjIgTWFpbGJveCcNCiAgICAgICAgRVFVQUxJVFkgY2FzZUln
bm9yZUlBNU1hdGNoDQogICAgICAgIFNVQlNUUiBjYXNlSWdub3JlSUE1U3Vic3RyaW5nc01hdGNo
DQogICAgICAgIFNZTlRBWCAxLjMuNi4xLjQuMS4xNDY2LjExNS4xMjEuMS4yNnsyNTZ9ICkNCg0K
YXR0cmlidXRldHlwZSAoIDEuMy42LjEuNC4xLjQyMDMuNjY2LjEuOTMNCiAgICAgICAgTkFNRSAn
ZGVwYXJ0bWVudCcNCiAgICAgICAgRVFVQUxJVFkgY2FzZUlnbm9yZU1hdGNoDQogICAgICAgIFNV
QlNUUiBjYXNlSWdub3JlU3Vic3RyaW5nc01hdGNoDQogICAgICAgIFNZTlRBWCAxLjMuNi4xLjQu
MS4xNDY2LjExNS4xMjEuMS4xNXsxMDI0fSApDQoNCmF0dHJpYnV0ZXR5cGUgKCAxLjMuNi4xLjQu
MS40MjAzLjY2Ni4xLjk0DQogICAgICAgIE5BTUUgJ21haWxOaWNrbmFtZScNCiAgICAgICAgRVFV
QUxJVFkgY2FzZUlnbm9yZU1hdGNoDQogICAgICAgIFNVQlNUUiBjYXNlSWdub3JlU3Vic3RyaW5n
c01hdGNoDQogICAgICAgIFNZTlRBWCAxLjMuNi4xLjQuMS4xNDY2LjExNS4xMjEuMS4xNXsxMDI0
fSApDQoNCmF0dHJpYnV0ZXR5cGUgKCAxLjMuNi4xLjQuMS40MjAzLjY2Ni4xLjk1IE5BTUUgJ2Jp
cnRoZGF0ZScgU1VQIG5hbWUgKQ0KDQpvYmplY3RDbGFzcyAgICAgKCAxLjMuNi4xLjQuMS40MjAz
LjY2Ni4xLjEwMA0KICAgIE5BTUUgJ2pvTGludXhQZXJzb24nDQogICAgICAgIERFU0MgJ1gtUGVy
c29uJw0KICAgIFNVUCBpbmV0T3JnUGVyc29uDQogICAgU1RSVUNUVVJBTA0KICAgICAgICBNQVkg
ICggbWFpbDIgJCBob21ldXJsICQgY29tcGFueSAkDQogICAgICAgICAgICAgICBtYWlsTmlja25h
bWUgJCBkZXBhcnRtZW50ICQgDQogICAgICAgICAgICAgICBpbmZvICQgYmlydGhkYXRlICQgY28g
KQ0KICAgICAgICApDQoNCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39649</attachid>
            <date>2010-01-07 15:16:18 +0000</date>
            <delta_ts>2010-01-07 15:16:18 +0000</delta_ts>
            <desc>Patch for kdepimlibs to fix this bug</desc>
            <filename>kdepimlibs_4.3.2_mail.patch</filename>
            <type>text/plain</type>
            <size>14917</size>
            <attacher>rdratlos</attacher>
            
              <data encoding="base64">LS0tIGtkZXBpbWxpYnMtNC4zLjIub3JpZy9rYWJjL3BsdWdpbnMvbGRhcGtpby9yZXNvdXJjZWxk
YXBraW8uY3BwCisrKyBrZGVwaW1saWJzLTQuMy4yL2thYmMvcGx1Z2lucy9sZGFwa2lvL3Jlc291
cmNlbGRhcGtpby5jcHAKQEAgLTIxNiw3ICsyMTYsOSBAQAogICAgIGlmICggbW9kICkgewogICAg
ICAgdG1wICs9IEtMREFQOjpMZGlmOjphc3NlbWJsZUxpbmUoIFFMYXRpbjFTdHJpbmcoICJyZXBs
YWNlIiApLCBhdHRyICkgKyAnXG4nOwogICAgIH0KLSAgICB0bXAgKz0gS0xEQVA6OkxkaWY6OmFz
c2VtYmxlTGluZSggYXR0ciwgdmFsdWUgKSArICdcbic7CisgICAgaWYgKCAhdmFsdWUuaXNFbXB0
eSgpICkgeworICAgICAgdG1wICs9IEtMREFQOjpMZGlmOjphc3NlbWJsZUxpbmUoIGF0dHIsIHZh
bHVlICkgKyAnXG4nOworICAgIH0gIAogICAgIGlmICggbW9kICkgewogICAgICAgdG1wICs9ICIt
XG4iOwogICAgIH0KQEAgLTMwNCw2ICszMDYsMTIgQEAKICAgdG1wICs9IGFkZEVudHJ5KCBtQXR0
cmlidXRlc1sgUUxhdGluMVN0cmluZyggImRlc2NyaXB0aW9uIiApIF0sIGFkZHIubm90ZSgpLCBt
b2QgKTsKICAgdG1wICs9IGFkZEVudHJ5KCBtQXR0cmlidXRlc1sgUUxhdGluMVN0cmluZyggInRp
dGxlIiApIF0sIGFkZHIudGl0bGUoKSwgbW9kICk7CiAgIHRtcCArPSBhZGRFbnRyeSggbUF0dHJp
YnV0ZXNbIFFMYXRpbjFTdHJpbmcoICJvcmdhbml6YXRpb24iICkgXSwgYWRkci5vcmdhbml6YXRp
b24oKSwgbW9kICk7CisgIHRtcCArPSBhZGRFbnRyeSggbUF0dHJpYnV0ZXNbIFFMYXRpbjFTdHJp
bmcoICJkZXBhcnRtZW50IiApIF0sIGFkZHIuZGVwYXJ0bWVudCgpLCBtb2QgKTsKKyAgdG1wICs9
IGFkZEVudHJ5KCBtQXR0cmlidXRlc1sgUUxhdGluMVN0cmluZyggInVybCIgKSBdLCBhZGRyLnVy
bCgpLnByZXR0eVVybCgpLCBtb2QgKTsKKyAgdG1wICs9IGFkZEVudHJ5KCBtQXR0cmlidXRlc1sg
UUxhdGluMVN0cmluZyggIm5pY2tOYW1lIiApIF0sIGFkZHIubmlja05hbWUoKSwgbW9kICk7CisK
KyAgUVN0cmluZyBmb3JtYXQgPSBRTGF0aW4xU3RyaW5nKCAiZGQuTU0ueXl5eSIgKTsKKyAgdG1w
ICs9IGFkZEVudHJ5KCBtQXR0cmlidXRlc1sgUUxhdGluMVN0cmluZyggImJpcnRoZGF0ZSIgKSBd
LCBhZGRyLmJpcnRoZGF5KCkudG9TdHJpbmcoIGZvcm1hdCApLCBtb2QgKTsKIAogICBBZGRyZXNz
IGFkID0gYWRkci5hZGRyZXNzKCBBZGRyZXNzOjpIb21lICk7CiAgIGlmICggIWFkLmlzRW1wdHko
KSApIHsKQEAgLTMxMSw2ICszMTksNyBAQAogICAgIHRtcCArPSBhZGRFbnRyeSggbUF0dHJpYnV0
ZXNbIFFMYXRpbjFTdHJpbmcoICJzdGF0ZSIgKSBdLCBhZC5yZWdpb24oKSwgbW9kICk7CiAgICAg
dG1wICs9IGFkZEVudHJ5KCBtQXR0cmlidXRlc1sgUUxhdGluMVN0cmluZyggImNpdHkiICkgXSwg
YWQubG9jYWxpdHkoKSwgbW9kICk7CiAgICAgdG1wICs9IGFkZEVudHJ5KCBtQXR0cmlidXRlc1sg
UUxhdGluMVN0cmluZyggInBvc3RhbGNvZGUiICkgXSwgYWQucG9zdGFsQ29kZSgpLCBtb2QgKTsK
KyAgICB0bXAgKz0gYWRkRW50cnkoIG1BdHRyaWJ1dGVzWyBRTGF0aW4xU3RyaW5nKCAiY291bnRy
eSIgKSBdLCBhZC5jb3VudHJ5KCksIG1vZCApOwogICB9CiAKICAgUVN0cmluZ0xpc3QgZW1haWxz
ID0gYWRkci5lbWFpbHMoKTsKQEAgLTMyMSwyNiArMzMwLDY2IEBACiAgICAgICB0bXAgKz0gS0xE
QVA6OkxkaWY6OmFzc2VtYmxlTGluZSggUUxhdGluMVN0cmluZyggInJlcGxhY2UiICksCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbUF0dHJpYnV0ZXNbIFFMYXRpbjFT
dHJpbmcoICJtYWlsIiApIF0gKSArICdcbic7CiAgICAgfQotICAgIGlmICggbWFpbEl0ICE9IGVt
YWlscy5jb25zdEVuZCgpICkgewotICAgICAgdG1wICs9IEtMREFQOjpMZGlmOjphc3NlbWJsZUxp
bmUoIG1BdHRyaWJ1dGVzWyBRTGF0aW4xU3RyaW5nKCAibWFpbCIgKSBdLCAqbWFpbEl0ICkgKyAn
XG4nOwotICAgICAgbWFpbEl0ICsrOworICAgIC8vIHN0b3JlIHByZWZlcnJlZCBlLW1haWwgYWRk
cmVzcyBpbiBMREFQIGF0dHJpYnV0ZSA8bWFpbD4sIGUuZy4gPG1haWw+PW1haWwKKyAgICBpZiAo
ICFhZGRyLnByZWZlcnJlZEVtYWlsKCkuaXNFbXB0eSgpICkgeworICAgICAgdG1wICs9IEtMREFQ
OjpMZGlmOjphc3NlbWJsZUxpbmUoIG1BdHRyaWJ1dGVzWyBRTGF0aW4xU3RyaW5nKCAibWFpbCIg
KSBdLCBhZGRyLnByZWZlcnJlZEVtYWlsKCkgKSArICdcbic7CisgICAgfSBlbHNlIHsgIC8vIGlm
IG5vIHByZWZlcnJlZCBlLW1haWwgYWRkcmVzcyBpcyBhdmFpbGFibGUsIHN0b3JlIHRoZSBmaXJz
dCBlLW1haWwgYWRkcmVzcworICAgICAgaWYgKCBtYWlsSXQgIT0gZW1haWxzLmNvbnN0RW5kKCkg
KSB7CisgICAgICAgIHRtcCArPSBLTERBUDo6TGRpZjo6YXNzZW1ibGVMaW5lKCBtQXR0cmlidXRl
c1sgUUxhdGluMVN0cmluZyggIm1haWwiICkgXSwgKm1haWxJdCApICsgJ1xuJzsKKyAgICAgICAg
bWFpbEl0ICsrOworICAgICAgfQogICAgIH0KKyAgICAvLyBpZiB0aGVyZSBpcyBvbmx5IHRoZSA8
bWFpbD4gTERBUCBhdHRyaWJ1dGUgKGUuIGcuIDxtYWlsPj1tYWlsKSBzdG9yZSBhbGwgb3RoZXIg
ZS1tYWlsCisgICAgLy8gYWRkcmVzc2VzIGhlcmUgYW5kIHRlcm1pbmF0ZSB0aGUgbGRpZiBzdHJp
bmcgZm9yIHRoZSBMREFQIGF0dHJpYnV0ZSA8bWFpbD4KKyAgICAvLyBpZiB0aGVyZSBpcyBhIGRp
ZmZlcmVudCAoISkgPG1haWxBbGlhcz4gTERBUCBhdHRyaWJ1dGUgKGUuIGcuIDxtYWlsQWxpYXM+
PW1haWwyKSBqdXN0CisgICAgLy8gdGVybWluYXRlIHRoZSBsZGlmIHN0cmluZyBmb3IgdGhlIExE
QVAgYXR0cmlidXRlIDxtYWlsPi4gQWxsIG90aGVyIGUtbWFpbHMgd2lsbCBiZSBzdG9yZWQKKyAg
ICAvLyBhZnRlcndhcmRzIHVzaW5nIDxtYWlsQWxpYXM+IGF0dHJpYnV0ZS4KICAgICBpZiAoIG1v
ZCAmJgotICAgICAgICAgbUF0dHJpYnV0ZXNbIFFMYXRpbjFTdHJpbmcoICJtYWlsIiApIF0gIT0g
bUF0dHJpYnV0ZXNbIFFMYXRpbjFTdHJpbmcoICJtYWlsQWxpYXMiICkgXSApIHsKKyAgICAgICAg
bUF0dHJpYnV0ZXNbIFFMYXRpbjFTdHJpbmcoICJtYWlsIiApIF0gIT0gbUF0dHJpYnV0ZXNbIFFM
YXRpbjFTdHJpbmcoICJtYWlsQWxpYXMiICkgXSApIHsKKyAgICAgIGlmICggbUF0dHJpYnV0ZXNb
IFFMYXRpbjFTdHJpbmcoICJtYWlsQWxpYXMiICkgXS5pc0VtcHR5KCkgKSB7CisgICAgICAgIGZv
ciAoIDsgbWFpbEl0ICE9IGVtYWlscy5jb25zdEVuZCgpOyArK21haWxJdCApIHsKKyAgICAgICAg
ICAvLyBzdG9yZSB0aGUgcmVtYWluaW5nIGUtbWFpbCBhZGRyZXNzZXMgYXMgdGhlIDxtYWlsQWxp
YXM+IExEQVAgCisgICAgICAgICAgLy8gYXR0cmlidXRlIGhhcyBub3QgYmVlbiBjb25maWd1cmVk
CisgICAgICAgICAgaWYgKCAqbWFpbEl0ICE9IGFkZHIucHJlZmVycmVkRW1haWwoKSApIHsKKyAg
ICAgICAgICAgIHRtcCArPSBLTERBUDo6TGRpZjo6YXNzZW1ibGVMaW5lKAorICAgICAgICAgICAg
ICBtQXR0cmlidXRlc1sgUUxhdGluMVN0cmluZyggIm1haWwiICkgXSwgKm1haWxJdCApICsgJ1xu
JzsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIC8vIHRlcm1pbmF0ZSB0
aGUgbGRpZiBzdHJpbmcgZm9yIHRoZSBMREFQIGF0dHJpYnV0ZSA8bWFpbD4gYXMgdGhlIAorICAg
ICAgLy8gPG1haWxBbGlhcz4gTERBUCBhdHRyaWJ1dGUgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQg
b3IgCisgICAgICAvLyByZWZlcnMgdG8gYSBMREFQIGF0dHJpYnV0ZSBkaWZmZXJlbnQgdG8gPG1h
aWw+CiAgICAgICB0bXAgKz0gIi1cbiI7CiAgICAgfQogICB9CiAKICAgaWYgKCAhbUF0dHJpYnV0
ZXNbIFFMYXRpbjFTdHJpbmcoICJtYWlsQWxpYXMiICkgXS5pc0VtcHR5KCkgKSB7CisgICAgLy8g
c3RvcmUgYWxsIGUtbWFpbCBhZGRyZXNzZXMgZXhjZXB0IG9mIHRoZSBwcmVmZXJyZWQgbWFpbCBh
ZGRyZXNzIAorICAgIC8vIHVzaW5nIHRoZSA8bWFpbEFsaWFzPiBMREFQIGF0dHJpYnV0ZSAoZS4g
Zy4gPG1haWxBbGlhcz49bWFpbDIpCisgICAgLy8gUmVtYXJrOiBUaGUgcHJlZmVycmVkIG1haWwg
YWRkcmVzcyB3aWxsIG9ubHkgYmUgc3RvcmVkLCAKKyAgICAvLyBpZiB0aGUgPG1haWw+IExEQVAg
YXR0cmlidXRlIGhhcyBub3QgYmVlbiBjb25maWd1cmVkLgogICAgIGlmICggbW9kICYmCiAgICAg
ICAgICBtQXR0cmlidXRlc1sgUUxhdGluMVN0cmluZyggIm1haWwiICkgXSAhPSBtQXR0cmlidXRl
c1sgUUxhdGluMVN0cmluZyggIm1haWxBbGlhcyIgKSBdICkgeworICAgICAgLy8gc3RhcnQgbmV3
IGxkaWYgc3RyaW5nIGFzIHRoZXJlIGlzIGEgZGlmZmVyZW50IDxtYWlsPiBMREFQIGF0dHJpYnV0
ZSAKKyAgICAgIC8vIChlLiBnLiA8bWFpbD49bWFpbCkgb3IgCisgICAgICAvLyBhcyB0aGUgPG1h
aWw+IExEQVAgYXR0cmlidXRlIGhhcyBub3QgYmVlbiBjb25maWd1cmVkCiAgICAgICB0bXAgKz0g
S0xEQVA6OkxkaWY6OmFzc2VtYmxlTGluZSggUUxhdGluMVN0cmluZyggInJlcGxhY2UiICksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbUF0dHJpYnV0ZXNbIFFMYXRp
bjFTdHJpbmcoICJtYWlsQWxpYXMiICkgXSApICsgJ1xuJzsKICAgICB9CiAgICAgZm9yICggOyBt
YWlsSXQgIT0gZW1haWxzLmNvbnN0RW5kKCk7ICsrbWFpbEl0ICkgewotICAgICAgdG1wICs9IEtM
REFQOjpMZGlmOjphc3NlbWJsZUxpbmUoCi0gICAgICAgIG1BdHRyaWJ1dGVzWyBRTGF0aW4xU3Ry
aW5nKCAibWFpbEFsaWFzIiApIF0sICptYWlsSXQgKSArICdcbic7CisgICAgICBpZiAoICptYWls
SXQgIT0gYWRkci5wcmVmZXJyZWRFbWFpbCgpICkgeworICAgICAgICAvLyBzdG9yZSBhbGwgb3Ro
ZXIgZS1tYWlsIGFkZHJlc3NlcyBleGNlcHQgb2YgcHJlZmVycmVkIGUtbWFpbCBhZGRyZXNzCisg
ICAgICAgIHRtcCArPSBLTERBUDo6TGRpZjo6YXNzZW1ibGVMaW5lKAorICAgICAgICAgIG1BdHRy
aWJ1dGVzWyBRTGF0aW4xU3RyaW5nKCAibWFpbEFsaWFzIiApIF0sICptYWlsSXQgKSArICdcbic7
CisgICAgICB9IGVsc2UgaWYgKCBtQXR0cmlidXRlc1sgUUxhdGluMVN0cmluZyggIm1haWwiICkg
XS5pc0VtcHR5KCkgKSB7CisJICAvLyBzdG9yZSBhbHNvIHRoZSBwcmVmZXJyZWQgZS1tYWlsIGFk
ZHJlc3MgYXMgdGhlIDxtYWlsPiBhdHRyaWJ1dGUKKyAJICAvLyBoYXMgbm90IGJlZW4gY29uZmln
dXJlZCAKKyAgICAgICAgICB0bXAgKz0gS0xEQVA6OkxkaWY6OmFzc2VtYmxlTGluZSgKKyAgICAg
ICAgICAgIG1BdHRyaWJ1dGVzWyBRTGF0aW4xU3RyaW5nKCAibWFpbEFsaWFzIiApIF0sICptYWls
SXQgKSArICdcbic7CisJfQogICAgIH0KKyAgICAvLyB0ZXJtaW5hdGUgdGhlIGxkaWYgc3RyaW5n
IGZvciB0aGUgTERBUCBhdHRyaWJ1dGUgPG1haWxBbGlhcz4uIFRoaXMgaW5jbHVkZXMgYWxzbyB0
aGUgY2FzZQorICAgIC8vIHRoYXQgPG1haWw+IGFuZCA8bWFpbEFsaWFzPiByZWZlciB0byB0aGUg
c2FtZSBMREFQIGF0dHJpYnV0ZQogICAgIGlmICggbW9kICkgewogICAgICAgdG1wICs9ICItXG4i
OwogICAgIH0KQEAgLTQzOSwxNSArNDg4LDMwIEBACiAgIGlmICggIWQtPm1BdHRyaWJ1dGVzLmNv
bnRhaW5zKCBRTGF0aW4xU3RyaW5nKCAiY2l0eSIgKSApICkgewogICAgIGQtPm1BdHRyaWJ1dGVz
Lmluc2VydCggUUxhdGluMVN0cmluZyggImNpdHkiICksIFFMYXRpbjFTdHJpbmcoICJsIiApICk7
CiAgIH0KKyAgaWYgKCAhZC0+bUF0dHJpYnV0ZXMuY29udGFpbnMoIFFMYXRpbjFTdHJpbmcoICJj
b3VudHJ5IiApICkgKSB7CisgICAgZC0+bUF0dHJpYnV0ZXMuaW5zZXJ0KCBRTGF0aW4xU3RyaW5n
KCAiY291bnRyeSIgKSwgUUxhdGluMVN0cmluZyggImNvIiApICk7CisgIH0KICAgaWYgKCAhZC0+
bUF0dHJpYnV0ZXMuY29udGFpbnMoIFFMYXRpbjFTdHJpbmcoICJvcmdhbml6YXRpb24iICkgKSAp
IHsKICAgICBkLT5tQXR0cmlidXRlcy5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJvcmdhbml6YXRp
b24iICksIFFMYXRpbjFTdHJpbmcoICJvIiApICk7CiAgIH0KKyAgaWYgKCAhZC0+bUF0dHJpYnV0
ZXMuY29udGFpbnMoIFFMYXRpbjFTdHJpbmcoICJkZXBhcnRtZW50IiApICkgKSB7CisgICAgZC0+
bUF0dHJpYnV0ZXMuaW5zZXJ0KCBRTGF0aW4xU3RyaW5nKCAiZGVwYXJ0bWVudCIgKSwgUUxhdGlu
MVN0cmluZyggImRlcGFydG1lbnQiICkgKTsKKyAgfQogICBpZiAoICFkLT5tQXR0cmlidXRlcy5j
b250YWlucyggUUxhdGluMVN0cmluZyggInBvc3RhbGNvZGUiICkgKSApIHsKICAgICBkLT5tQXR0
cmlidXRlcy5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJwb3N0YWxjb2RlIiApLCBRTGF0aW4xU3Ry
aW5nKCAicG9zdGFsQ29kZSIgKSApOwogICB9CiAgIGlmICggIWQtPm1BdHRyaWJ1dGVzLmNvbnRh
aW5zKCBRTGF0aW4xU3RyaW5nKCAidWlkIiApICkgKSB7CiAgICAgZC0+bUF0dHJpYnV0ZXMuaW5z
ZXJ0KCBRTGF0aW4xU3RyaW5nKCAidWlkIiApLCBRTGF0aW4xU3RyaW5nKCAidWlkIiApICk7CiAg
IH0KKyAgaWYgKCAhZC0+bUF0dHJpYnV0ZXMuY29udGFpbnMoIFFMYXRpbjFTdHJpbmcoICJ1cmwi
ICkgKSApIHsKKyAgICBkLT5tQXR0cmlidXRlcy5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJ1cmwi
ICksIFFTdHJpbmcoKSApOworICB9CisgIGlmICggIWQtPm1BdHRyaWJ1dGVzLmNvbnRhaW5zKCBR
TGF0aW4xU3RyaW5nKCAiYmlydGhkYXRlIiApICkgKSB7CisgICAgZC0+bUF0dHJpYnV0ZXMuaW5z
ZXJ0KCBRTGF0aW4xU3RyaW5nKCAiYmlydGhkYXRlIiApLCBRU3RyaW5nKCkgKTsKKyAgfQorICBp
ZiAoICFkLT5tQXR0cmlidXRlcy5jb250YWlucyggUUxhdGluMVN0cmluZyggIm5pY2tOYW1lIiAp
ICkgKSB7CisgICAgZC0+bUF0dHJpYnV0ZXMuaW5zZXJ0KCBRTGF0aW4xU3RyaW5nKCAibmlja05h
bWUiICksIFFTdHJpbmcoKSApOworICB9CiAgIGlmICggIWQtPm1BdHRyaWJ1dGVzLmNvbnRhaW5z
KCBRTGF0aW4xU3RyaW5nKCAianBlZ1Bob3RvIiApICkgKSB7CiAgICAgZC0+bUF0dHJpYnV0ZXMu
aW5zZXJ0KCBRTGF0aW4xU3RyaW5nKCAianBlZ1Bob3RvIiApLCBRTGF0aW4xU3RyaW5nKCAianBl
Z1Bob3RvIiApICk7CiAgIH0KQEAgLTY4Niw2ICs3NTAsOSBAQAogICBLTERBUDo6TGRpZjo6UGFy
c2VWYWx1ZSByZXQ7CiAgIFFTdHJpbmcgbmFtZTsKICAgUUJ5dGVBcnJheSB2YWx1ZTsKKyAgUVN0
cmluZyBmb3JtYXQgPSBRTGF0aW4xU3RyaW5nKCAiZGQuTU0ueXl5eSIgKTsKKyAgYm9vbCBwckVt
YWlsID0gdHJ1ZTsKKwogICBkbyB7CiAgICAgcmV0ID0gZC0+bUxkaWYubmV4dEl0ZW0oKTsKICAg
ICBzd2l0Y2ggKCByZXQgKSB7CkBAIC03MDgsNyArNzc1LDE0IEBACiAgICAgICAgIH0gZWxzZSBp
ZiAoIG5hbWUgPT0gZC0+bUF0dHJpYnV0ZXNbIFFMYXRpbjFTdHJpbmcoICJnaXZlbk5hbWUiICkg
XS50b0xvd2VyKCkgKSB7CiAgICAgICAgICAgZC0+bUFkZHIuc2V0R2l2ZW5OYW1lKCBRU3RyaW5n
Ojpmcm9tVXRmOCggdmFsdWUsIHZhbHVlLnNpemUoKSApICk7CiAgICAgICAgIH0gZWxzZSBpZiAo
IG5hbWUgPT0gZC0+bUF0dHJpYnV0ZXNbIFFMYXRpbjFTdHJpbmcoICJtYWlsIiApIF0udG9Mb3dl
cigpICkgewotICAgICAgICAgIGQtPm1BZGRyLmluc2VydEVtYWlsKCBRU3RyaW5nOjpmcm9tVXRm
OCggdmFsdWUsIHZhbHVlLnNpemUoKSApLCB0cnVlICk7CisgICAgICAgICAgZC0+bUFkZHIuaW5z
ZXJ0RW1haWwoIFFTdHJpbmc6OmZyb21VdGY4KCB2YWx1ZSwgdmFsdWUuc2l6ZSgpICksIHByRW1h
aWwgKTsKKyAgICAgICAgICAvLyB0aGUgZmlyc3QgTERBUCBlbnRyeSB3aXRoIG5vbi1lbXB0eSBh
dHRyaWJ1dGUgPG1haWw+IChlLiBnLiA8bWFpbD49bWFpbCkgaXMgYXNzdW1lZAorICAgICAgICAg
IC8vIHRvIGJlIHRoZSBwcmVmZXJyZWQgZS1tYWlsIGFkZHJlc3M7IGFsbCBzdWJzZXF1ZW50IDxt
YWlsPiBlbnRyaWVzIGFzIHdlbGwgYXMKKyAgICAgICAgICAvLyBhbGwgZW50cmllcyB3aXRoIGEg
ZGlmZmVyZW50IDxtYWlsQWxpYXM+IGF0dHJpYnV0ZSAoZS5nLiA8bWFpbEFsaWFzPj1tYWlsMikg
YXJlCisgICAgICAgICAgLy8gaGFuZGxlZCBhcyBhZGRpdGlvbmFsIGUtbWFpbCBhZGRyZXNzZXMK
KyAgICAgICAgICBpZiAoICFRU3RyaW5nOjpmcm9tVXRmOCggdmFsdWUsIHZhbHVlLnNpemUoKSAp
LmlzRW1wdHkoKSApIHsKKyAgICAgICAgICAgIHByRW1haWwgPSBmYWxzZTsKKyAgICAgICAgICB9
ICAKICAgICAgICAgfSBlbHNlIGlmICggbmFtZSA9PSBkLT5tQXR0cmlidXRlc1sgUUxhdGluMVN0
cmluZyggIm1haWxBbGlhcyIgKSBdLnRvTG93ZXIoKSApIHsKICAgICAgICAgICBkLT5tQWRkci5p
bnNlcnRFbWFpbCggUVN0cmluZzo6ZnJvbVV0ZjgoIHZhbHVlLCB2YWx1ZS5zaXplKCkgKSwgZmFs
c2UgKTsKICAgICAgICAgfSBlbHNlIGlmICggbmFtZSA9PSBkLT5tQXR0cmlidXRlc1sgUUxhdGlu
MVN0cmluZyggInBob25lTnVtYmVyIiApIF0udG9Mb3dlcigpICkgewpAQCAtNzQ0LDEyICs4MTgs
MjIgQEAKICAgICAgICAgICBkLT5tQWQuc2V0TG9jYWxpdHkoIFFTdHJpbmc6OmZyb21VdGY4KCB2
YWx1ZSwgdmFsdWUuc2l6ZSgpICkgKTsKICAgICAgICAgfSBlbHNlIGlmICggbmFtZSA9PSBkLT5t
QXR0cmlidXRlc1sgUUxhdGluMVN0cmluZyggInBvc3RhbGNvZGUiICkgXS50b0xvd2VyKCkgKSB7
CiAgICAgICAgICAgZC0+bUFkLnNldFBvc3RhbENvZGUoIFFTdHJpbmc6OmZyb21VdGY4KCB2YWx1
ZSwgdmFsdWUuc2l6ZSgpICkgKTsKKyAgICAgICAgfSBlbHNlIGlmICggbmFtZSA9PSBkLT5tQXR0
cmlidXRlc1sgUUxhdGluMVN0cmluZyggImNvdW50cnkiICkgXS50b0xvd2VyKCkgKSB7CisgICAg
ICAgICAgZC0+bUFkLnNldENvdW50cnkoIFFTdHJpbmc6OmZyb21VdGY4KCB2YWx1ZSwgdmFsdWUu
c2l6ZSgpICkgKTsKICAgICAgICAgfSBlbHNlIGlmICggbmFtZSA9PSBkLT5tQXR0cmlidXRlc1sg
UUxhdGluMVN0cmluZyggIm9yZ2FuaXphdGlvbiIgKSBdLnRvTG93ZXIoKSApIHsKICAgICAgICAg
ICBkLT5tQWRkci5zZXRPcmdhbml6YXRpb24oIFFTdHJpbmc6OmZyb21VdGY4KCB2YWx1ZSwgdmFs
dWUuc2l6ZSgpICkgKTsKKyAgICAgICAgfSBlbHNlIGlmICggbmFtZSA9PSBkLT5tQXR0cmlidXRl
c1sgUUxhdGluMVN0cmluZyggImRlcGFydG1lbnQiICkgXS50b0xvd2VyKCkgKSB7CisgICAgICAg
ICAgZC0+bUFkZHIuc2V0RGVwYXJ0bWVudCggUVN0cmluZzo6ZnJvbVV0ZjgoIHZhbHVlLCB2YWx1
ZS5zaXplKCkgKSApOwogICAgICAgICB9IGVsc2UgaWYgKCBuYW1lID09IGQtPm1BdHRyaWJ1dGVz
WyBRTGF0aW4xU3RyaW5nKCAiZmFtaWx5TmFtZSIgKSBdLnRvTG93ZXIoKSApIHsKICAgICAgICAg
ICBkLT5tQWRkci5zZXRGYW1pbHlOYW1lKCBRU3RyaW5nOjpmcm9tVXRmOCggdmFsdWUsIHZhbHVl
LnNpemUoKSApICk7CiAgICAgICAgIH0gZWxzZSBpZiAoIG5hbWUgPT0gZC0+bUF0dHJpYnV0ZXNb
IFFMYXRpbjFTdHJpbmcoICJ1aWQiICkgXS50b0xvd2VyKCkgKSB7CiAgICAgICAgICAgZC0+bUFk
ZHIuc2V0VWlkKCBRU3RyaW5nOjpmcm9tVXRmOCggdmFsdWUsIHZhbHVlLnNpemUoKSApICk7Cisg
ICAgICAgIH0gZWxzZSBpZiAoIG5hbWUgPT0gZC0+bUF0dHJpYnV0ZXNbIFFMYXRpbjFTdHJpbmco
ICJ1cmwiICkgXS50b0xvd2VyKCkgKSB7CisgICAgICAgICAgZC0+bUFkZHIuc2V0VXJsKCBLVXJs
KCBRU3RyaW5nOjpmcm9tVXRmOCggdmFsdWUsIHZhbHVlLnNpemUoKSApICkgKTsKKyAgICAgICAg
fSBlbHNlIGlmICggbmFtZSA9PSBkLT5tQXR0cmlidXRlc1sgUUxhdGluMVN0cmluZyggImJpcnRo
ZGF0ZSIgKSBdLnRvTG93ZXIoKSApIHsKKyAgICAgICAgICBkLT5tQWRkci5zZXRCaXJ0aGRheSgg
UURhdGVUaW1lOjpmcm9tU3RyaW5nKCBRU3RyaW5nOjpmcm9tVXRmOCggdmFsdWUsIHZhbHVlLnNp
emUoKSApLCBmb3JtYXQgKSApOworICAgICAgICB9IGVsc2UgaWYgKCBuYW1lID09IGQtPm1BdHRy
aWJ1dGVzWyBRTGF0aW4xU3RyaW5nKCAibmlja05hbWUiICkgXS50b0xvd2VyKCkgKSB7CisgICAg
ICAgICAgZC0+bUFkZHIuc2V0Tmlja05hbWUoIFFTdHJpbmc6OmZyb21VdGY4KCB2YWx1ZSwgdmFs
dWUuc2l6ZSgpICkgKTsKICAgICAgICAgfSBlbHNlIGlmICggbmFtZSA9PSBkLT5tQXR0cmlidXRl
c1sgUUxhdGluMVN0cmluZyggImpwZWdQaG90byIgKSBdLnRvTG93ZXIoKSApIHsKICAgICAgICAg
ICBLQUJDOjpQaWN0dXJlIHBob3RvOwogICAgICAgICAgIFFJbWFnZSBpbWcgPSBRSW1hZ2U6OmZy
b21EYXRhKCB2YWx1ZSApOwotLS0ga2RlcGltbGlicy00LjMuMi5vcmlnL2thYmMvcGx1Z2lucy9s
ZGFwa2lvL3Jlc291cmNlbGRhcGtpb2NvbmZpZy5jcHAKKysrIGtkZXBpbWxpYnMtNC4zLjIva2Fi
Yy9wbHVnaW5zL2xkYXBraW8vcmVzb3VyY2VsZGFwa2lvY29uZmlnLmNwcApAQCAtMjE5LDExICsy
MTksMTQgQEAKICAgbU5hbWVEaWN0Lmluc2VydCggUUxhdGluMVN0cmluZyggImZvcm1hdHRlZE5h
bWUiICksIGkxOG4oICJGb3JtYXR0ZWQgbmFtZSIgKSApOwogICBtTmFtZURpY3QuaW5zZXJ0KCBR
TGF0aW4xU3RyaW5nKCAiZmFtaWx5TmFtZSIgKSwgaTE4biggIkZhbWlseSBuYW1lIiApICk7CiAg
IG1OYW1lRGljdC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJnaXZlbk5hbWUiICksIGkxOG4oICJH
aXZlbiBuYW1lIiApICk7CisgIG1OYW1lRGljdC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJuaWNr
TmFtZSIgKSwgaTE4biggIk5pY2sgbmFtZSIgKSApOwogICBtTmFtZURpY3QuaW5zZXJ0KCBRTGF0
aW4xU3RyaW5nKCAib3JnYW5pemF0aW9uIiApLCBpMThuKCAiT3JnYW5pemF0aW9uIiApICk7Cisg
IG1OYW1lRGljdC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJkZXBhcnRtZW50IiApLCBpMThuKCAi
RGVwYXJ0bWVudCIgKSApOwogICBtTmFtZURpY3QuaW5zZXJ0KCBRTGF0aW4xU3RyaW5nKCAidGl0
bGUiICksIGkxOG5jKCAiam9iIHRpdGxlIiwgIlRpdGxlIiApICk7CiAgIG1OYW1lRGljdC5pbnNl
cnQoIFFMYXRpbjFTdHJpbmcoICJzdHJlZXQiICksIGkxOG4oICJTdHJlZXQiICkgKTsKICAgbU5h
bWVEaWN0Lmluc2VydCggUUxhdGluMVN0cmluZyggInN0YXRlIiApLCBpMThuYyggInN0YXRlL3By
b3ZpbmNlIiwgIlN0YXRlIiApICk7CiAgIG1OYW1lRGljdC5pbnNlcnQoIFFMYXRpbjFTdHJpbmco
ICJjaXR5IiApLCBpMThuKCAiQ2l0eSIgKSApOworICBtTmFtZURpY3QuaW5zZXJ0KCBRTGF0aW4x
U3RyaW5nKCAiY291bnRyeSIgKSwgaTE4biggIkNvdW50cnkiICkgKTsKICAgbU5hbWVEaWN0Lmlu
c2VydCggUUxhdGluMVN0cmluZyggInBvc3RhbGNvZGUiICksIGkxOG4oICJQb3N0YWwgY29kZSIg
KSApOwogICBtTmFtZURpY3QuaW5zZXJ0KCBRTGF0aW4xU3RyaW5nKCAibWFpbCIgKSwgaTE4bmMo
ICJlbWFpbCBhZGRyZXNzIiwgIkVtYWlsIiApICk7CiAgIG1OYW1lRGljdC5pbnNlcnQoIFFMYXRp
bjFTdHJpbmcoICJtYWlsQWxpYXMiICksIGkxOG4oICJFbWFpbCBhbGlhcyIgKSApOwpAQCAtMjM0
LDYgKzIzNyw4IEBACiAgIG1OYW1lRGljdC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJwYWdlciIg
KSwgaTE4biggIlBhZ2VyIiApICk7CiAgIG1OYW1lRGljdC5pbnNlcnQoIFFMYXRpbjFTdHJpbmco
ICJkZXNjcmlwdGlvbiIgKSwgaTE4biggIk5vdGUiICkgKTsKICAgbU5hbWVEaWN0Lmluc2VydCgg
UUxhdGluMVN0cmluZyggInVpZCIgKSwgaTE4biggIlVJRCIgKSApOworICBtTmFtZURpY3QuaW5z
ZXJ0KCBRTGF0aW4xU3RyaW5nKCAidXJsIiApLCBpMThuKCAiSG9tZXBhZ2UiICkgKTsKKyAgbU5h
bWVEaWN0Lmluc2VydCggUUxhdGluMVN0cmluZyggImJpcnRoZGF0ZSIgKSwgaTE4biggIkJpcnRo
ZGF5IiApICk7CiAgIG1OYW1lRGljdC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJqcGVnUGhvdG8i
ICksIGkxOG4oICJQaG90byIgKSApOwogCiAgIC8vIGRlZmF1bHQgbWFwCkBAIC0yNDIsMTEgKzI0
NywxNCBAQAogICBtRGVmYXVsdE1hcC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJmb3JtYXR0ZWRO
YW1lIiApLCBRTGF0aW4xU3RyaW5nKCAiZGlzcGxheU5hbWUiICkgKTsKICAgbURlZmF1bHRNYXAu
aW5zZXJ0KCBRTGF0aW4xU3RyaW5nKCAiZmFtaWx5TmFtZSIgKSwgUUxhdGluMVN0cmluZyggInNu
IiApICk7CiAgIG1EZWZhdWx0TWFwLmluc2VydCggUUxhdGluMVN0cmluZyggImdpdmVuTmFtZSIg
KSwgUUxhdGluMVN0cmluZyggImdpdmVuTmFtZSIgKSApOworICBtRGVmYXVsdE1hcC5pbnNlcnQo
IFFMYXRpbjFTdHJpbmcoICJuaWNrTmFtZSIgKSwgUVN0cmluZygpICk7CisgIG1EZWZhdWx0TWFw
Lmluc2VydCggUUxhdGluMVN0cmluZyggIm9yZ2FuaXphdGlvbiIgKSwgUUxhdGluMVN0cmluZygg
Im8iICkgKTsKKyAgbURlZmF1bHRNYXAuaW5zZXJ0KCBRTGF0aW4xU3RyaW5nKCAiZGVwYXJ0bWVu
dCIgKSwgUUxhdGluMVN0cmluZyggImRlcGFydG1lbnQiICkgKTsKICAgbURlZmF1bHRNYXAuaW5z
ZXJ0KCBRTGF0aW4xU3RyaW5nKCAidGl0bGUiICksIFFMYXRpbjFTdHJpbmcoICJ0aXRsZSIgKSAp
OwogICBtRGVmYXVsdE1hcC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJzdHJlZXQiICksIFFMYXRp
bjFTdHJpbmcoICJzdHJlZXQiICkgKTsKICAgbURlZmF1bHRNYXAuaW5zZXJ0KCBRTGF0aW4xU3Ry
aW5nKCAic3RhdGUiICksIFFMYXRpbjFTdHJpbmcoICJzdCIgKSApOwogICBtRGVmYXVsdE1hcC5p
bnNlcnQoIFFMYXRpbjFTdHJpbmcoICJjaXR5IiApLCBRTGF0aW4xU3RyaW5nKCAibCIgKSApOwot
ICBtRGVmYXVsdE1hcC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJvcmdhbml6YXRpb24iICksIFFM
YXRpbjFTdHJpbmcoICJvIiApICk7CisgIG1EZWZhdWx0TWFwLmluc2VydCggUUxhdGluMVN0cmlu
ZyggImNvdW50cnkiICksIFFMYXRpbjFTdHJpbmcoICJjbyIgKSApOwogICBtRGVmYXVsdE1hcC5p
bnNlcnQoIFFMYXRpbjFTdHJpbmcoICJwb3N0YWxjb2RlIiApLCBRTGF0aW4xU3RyaW5nKCAicG9z
dGFsQ29kZSIgKSApOwogICBtRGVmYXVsdE1hcC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJtYWls
IiApLCBRTGF0aW4xU3RyaW5nKCAibWFpbCIgKSApOwogICBtRGVmYXVsdE1hcC5pbnNlcnQoIFFM
YXRpbjFTdHJpbmcoICJtYWlsQWxpYXMiICksIFFTdHJpbmcoKSApOwpAQCAtMjU4LDYgKzI2Niw4
IEBACiAgIG1EZWZhdWx0TWFwLmluc2VydCggUUxhdGluMVN0cmluZyggInBhZ2VyIiApLCBRTGF0
aW4xU3RyaW5nKCAicGFnZXIiICkgKTsKICAgbURlZmF1bHRNYXAuaW5zZXJ0KCBRTGF0aW4xU3Ry
aW5nKCAiZGVzY3JpcHRpb24iICksIFFMYXRpbjFTdHJpbmcoICJkZXNjcmlwdGlvbiIgKSApOwog
ICBtRGVmYXVsdE1hcC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJ1aWQiICksIFFMYXRpbjFTdHJp
bmcoICJ1aWQiICkgKTsKKyAgbURlZmF1bHRNYXAuaW5zZXJ0KCBRTGF0aW4xU3RyaW5nKCAidXJs
IiApLCBRU3RyaW5nKCkgKTsKKyAgbURlZmF1bHRNYXAuaW5zZXJ0KCBRTGF0aW4xU3RyaW5nKCAi
YmlydGhkYXRlIiApLCBRU3RyaW5nKCkgKTsKICAgbURlZmF1bHRNYXAuaW5zZXJ0KCBRTGF0aW4x
U3RyaW5nKCAianBlZ1Bob3RvIiApLCBRTGF0aW4xU3RyaW5nKCAianBlZ1Bob3RvIiApICk7CiAK
ICAgLy8gb3ZlcndyaXRlIHRoZSBkZWZhdWx0IHZhbHVlcyBoZXJlCkBAIC0yNzAsNiArMjgwLDEx
IEBACiAgIC8vIGV2b2x1dGlvbgogICBldm9sdXRpb25NYXAuaW5zZXJ0KCBRTGF0aW4xU3RyaW5n
KCAiZm9ybWF0dGVkTmFtZSIgKSwgUUxhdGluMVN0cmluZyggImZpbGVBcyIgKSApOwogCisgIC8v
IG91dGxvb2sKKyAgb3V0bG9va01hcC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJuaWNrTmFtZSIg
KSwgUUxhdGluMVN0cmluZyggIm1haWxOaWNrbmFtZSIgKSApOworICBvdXRsb29rTWFwLmluc2Vy
dCggUUxhdGluMVN0cmluZyggInN0cmVldCIgKSwgUUxhdGluMVN0cmluZyggInBvc3RhbEFkZHJl
c3MiICkgKTsKKyAgb3V0bG9va01hcC5pbnNlcnQoIFFMYXRpbjFTdHJpbmcoICJkZXNjcmlwdGlv
biIgKSwgUUxhdGluMVN0cmluZyggImluZm8iICkgKTsKKwogICBtTWFwTGlzdC5hcHBlbmQoIGF0
dHJpYnV0ZXMgKTsKICAgbU1hcExpc3QuYXBwZW5kKCBrb2xhYk1hcCApOwogICBtTWFwTGlzdC5h
cHBlbmQoIG5ldHNjYXBlTWFwICk7CkBAIC0yOTAsNiArMzA1LDcgQEAKICAgbU1hcENvbWJvLT5h
ZGRJdGVtKCBpMThuKCAiTmV0c2NhcGUiICkgKTsKICAgbU1hcENvbWJvLT5hZGRJdGVtKCBpMThu
KCAiRXZvbHV0aW9uIiApICk7CiAgIG1NYXBDb21iby0+YWRkSXRlbSggaTE4biggIk91dGxvb2si
ICkgKTsKKwogICBjb25uZWN0KCBtTWFwQ29tYm8sIFNJR05BTCggYWN0aXZhdGVkKCBpbnQgKSAp
LCBTTE9UKCBtYXBDaGFuZ2VkKCBpbnQgKSApICk7CiAKICAgbGFiZWwgPSBuZXcgUUxhYmVsKCBp
MThuKCAiUkROIHByZWZpeCBhdHRyaWJ1dGU6IiApLCBwYWdlICk7CkBAIC0zMTEsNyArMzI3LDcg
QEAKICAgICAgIGkgPSAwOwogICAgICAgaiA9IDI7CiAgICAgfQotICAgIGtEZWJ1ZygpIDw8ICJp
dGtleToiIDw8IGl0LmtleSgpIDw8ICJpOiIgPDwgaTsKKyAgICBrRGVidWcoKSA8PCAiTERBUCBh
dHRyaWJ1dGUgKGl0a2V5KToiIDw8IGl0LmtleSgpIDw8ICJpbiBhdHRyaWJ1dGUgZWRpdG9yIGxp
bmUvY29sdW1uOiAiIDw8IGkrMSA8PCAiLyIgPDwgaisyOwogICAgIGxhYmVsID0gbmV3IFFMYWJl
bCggbU5hbWVEaWN0WyBpdC5rZXkoKSBdICsgUUxhdGluMUNoYXIoICc6JyApLCBwYWdlICk7CiAg
ICAgS0xpbmVFZGl0ICpsaW5lZWRpdCA9IG5ldyBLTGluZUVkaXQoIHBhZ2UgKTsKICAgICBtTGlu
ZUVkaXREaWN0Lmluc2VydCggaXQua2V5KCksIGxpbmVlZGl0ICk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>