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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>146124</bug_id>
          
          <creation_ts>2015-06-18 14:42:41 -0700</creation_ts>
          <short_desc>Spintracer treats the web process as hung when it&apos;s showing JavaScript dialogs in the UI process</short_desc>
          <delta_ts>2015-06-19 10:19:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1103036</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-18 14:42:41 -0700</bug_when>
    <thetext>Spintracer treats the web process as hung when it&apos;s showing JavaScript dialogs in the UI process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103038</commentid>
    <comment_count>1</comment_count>
      <attachid>255136</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-18 14:46:15 -0700</bug_when>
    <thetext>Created attachment 255136
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103046</commentid>
    <comment_count>2</comment_count>
      <attachid>255136</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-06-18 15:02:11 -0700</bug_when>
    <thetext>Comment on attachment 255136
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=255136&amp;action=review

&gt; Source/WebKit2/Shared/mac/HangDetectionDisablerMac.mm:38
&gt; +    if (CGSCopyConnectionProperty(CGSMainConnectionID(), CGSMainConnectionID(), clientsMayIgnoreEventsKey, &amp;value) != kCGErrorSuccess)

Shouldn&apos;t we CFRelease value after this copy? Maybe use RetainPtr here?

&gt; Source/WebKit2/Shared/mac/WebMemorySampler.mac.mm:-32
&gt; -#import &quot;config.h&quot;
&gt; -#import &quot;WebMemorySampler.h&quot;
&gt; -
&gt; -#if ENABLE(MEMORY_SAMPLER)  
&gt; -
&gt; -#import &lt;JavaScriptCore/MemoryStatistics.h&gt;
&gt; -#import &lt;mach/mach.h&gt;

Revert?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103048</commentid>
    <comment_count>3</comment_count>
      <attachid>255138</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-18 15:10:29 -0700</bug_when>
    <thetext>Created attachment 255138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103053</commentid>
    <comment_count>4</comment_count>
      <attachid>255139</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-18 15:27:09 -0700</bug_when>
    <thetext>Created attachment 255139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103060</commentid>
    <comment_count>5</comment_count>
      <attachid>255139</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-06-18 15:41:12 -0700</bug_when>
    <thetext>Comment on attachment 255139
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103125</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-06-18 19:00:53 -0700</bug_when>
    <thetext>Nice! Do you plan to adopt this for sync XHR, or would you like us to keep receiving reports about those?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103243</commentid>
    <comment_count>7</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-06-19 08:12:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/21449395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103247</commentid>
    <comment_count>8</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-19 08:39:18 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Nice! Do you plan to adopt this for sync XHR, or would you like us to keep
&gt; receiving reports about those?

I talked to Gavin about doing it - it&apos;s definitely something we should do. Same thing for window.print.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103256</commentid>
    <comment_count>9</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-19 09:54:38 -0700</bug_when>
    <thetext>Committed r185749: &lt;http://trac.webkit.org/changeset/185749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103270</commentid>
    <comment_count>10</comment_count>
      <attachid>255139</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-19 10:19:48 -0700</bug_when>
    <thetext>Comment on attachment 255139
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=255139&amp;action=review

&gt; Source/WebKit2/Shared/mac/HangDetectionDisablerMac.mm:47
&gt; +    auto value = adoptCF(valuePtr);
&gt; +
&gt; +    if (!value || CFGetTypeID(value.get()) != CFBooleanGetTypeID())
&gt; +        return false;
&gt; +
&gt; +    return value == kCFBooleanTrue;

I think this one line does the same thing as the above four lines of code.

    return adoptCF(valuePtr) == kCFBooleanTrue;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255136</attachid>
            <date>2015-06-18 14:46:15 -0700</date>
            <delta_ts>2015-06-18 15:10:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146124-20150618144539.patch</filename>
            <type>text/plain</type>
            <size>23349</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODcyODQ0MTk5MGY2OWQw
N2Y4ZjlmMDM5YTU5ZDdmNDg3ZWQyMzE3MS4uZjI5ZWZhMWExMjZmZmY3NzgyZTIwMzQ5NTAzNDYz
YjRmNmM0YTBmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE1LTA2LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3BpbnRyYWNlciB0
cmVhdHMgdGhlIHdlYiBwcm9jZXNzIGFzIGh1bmcgd2hlbiBpdCdzIHNob3dpbmcgSmF2YVNjcmlw
dCBkaWFsb2dzIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYxMjQKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjE0NDkz
OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
YSBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIgUkFJSSBvYmplY3QgYW5kIHVzZSBpdCBmb3IgSmF2YVNj
cmlwdCBwYW5lbHMuCisKKyAgICAgICAgKiBTaGFyZWQvSGFuZ0RldGVjdGlvbkRpc2FibGVyLmg6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpIYW5nRGV0ZWN0aW9uRGlzYWJsZXI6OkhhbmdEZXRl
Y3Rpb25EaXNhYmxlcik6CisgICAgICAgIChXZWJLaXQ6OkhhbmdEZXRlY3Rpb25EaXNhYmxlcjo6
fkhhbmdEZXRlY3Rpb25EaXNhYmxlcik6CisgICAgICAgICogU2hhcmVkL21hYy9IYW5nRGV0ZWN0
aW9uRGlzYWJsZXJNYWMubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpjbGllbnRzTWF5SWdu
b3JlRXZlbnRzKToKKyAgICAgICAgKFdlYktpdDo6c2V0Q2xpZW50c01heUlnbm9yZUV2ZW50cyk6
CisgICAgICAgIChXZWJLaXQ6OkhhbmdEZXRlY3Rpb25EaXNhYmxlcjo6SGFuZ0RldGVjdGlvbkRp
c2FibGVyKToKKyAgICAgICAgKFdlYktpdDo6SGFuZ0RldGVjdGlvbkRpc2FibGVyOjp+SGFuZ0Rl
dGVjdGlvbkRpc2FibGVyKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnJ1bkJlZm9yZVVubG9h
ZENvbmZpcm1QYW5lbCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6cnVuSmF2
YVNjcmlwdEFsZXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpydW5KYXZh
U2NyaXB0Q29uZmlybSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6cnVuSmF2
YVNjcmlwdFByb21wdCk6CisKKzIwMTUtMDYtMTggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KKwogICAgICAgICBSZW1vdmUgc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdAog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2MTE4CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9IYW5nRGV0ZWN0aW9uRGlzYWJsZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9IYW5nRGV0ZWN0aW9uRGlzYWJsZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZThiNzAxYzY3Mzg5MjM3NjA2MGY2MjJiNmQxZWEwY2E2ODFkNDljCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0hhbmdEZXRlY3Rpb25EaXNhYmxlci5oCkBA
IC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEhhbmdEZXRlY3Rpb25EaXNhYmxl
cl9oCisjZGVmaW5lIEhhbmdEZXRlY3Rpb25EaXNhYmxlcl9oCisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitjbGFzcyBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIgeworcHVibGljOgorICAgIEhhbmdEZXRl
Y3Rpb25EaXNhYmxlcigpOworICAgIH5IYW5nRGV0ZWN0aW9uRGlzYWJsZXIoKTsKKworcHJpdmF0
ZToKKyNpZiBQTEFURk9STShNQUMpCisgICAgYm9vbCBtX2NsaWVudHNNYXlJZ25vcmVFdmVudHM7
CisjZW5kaWYKK307CisKKyNpZiAhUExBVEZPUk0oTUFDKQoraW5saW5lIEhhbmdEZXRlY3Rpb25E
aXNhYmxlcjo6SGFuZ0RldGVjdGlvbkRpc2FibGVyKCkKK3sKK30KKworaW5saW5lIEhhbmdEZXRl
Y3Rpb25EaXNhYmxlcjo6fkhhbmdEZXRlY3Rpb25EaXNhYmxlcigpCit7Cit9CisjZW5kaWYKKwor
fQorCisjZW5kaWYgLy8gSGFuZ0RldGVjdGlvbkRpc2FibGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvSGFuZ0RldGVjdGlvbkRpc2FibGVyTWFjLm1tIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9IYW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMubW0KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTQxZDdiMTc4ZTA1Yzg4NjJjYTA1YTNiY2NmNjk0Zjk0YjBhYTQ1NwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvSGFuZ0RldGVjdGlvbkRpc2FibGVyTWFj
Lm1tCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiSGFuZ0RldGVjdGlvbkRpc2FibGVyLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0Nv
cmVHcmFwaGljc1NQSS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIGNvbnN0IGF1
dG8gY2xpZW50c01heUlnbm9yZUV2ZW50c0tleSA9IENGU1RSKCJDbGllbnRNYXlJZ25vcmVFdmVu
dHMiKTsKKworc3RhdGljIGJvb2wgY2xpZW50c01heUlnbm9yZUV2ZW50cygpCit7CisgICAgQ0ZU
eXBlUmVmIHZhbHVlOworICAgIGlmIChDR1NDb3B5Q29ubmVjdGlvblByb3BlcnR5KENHU01haW5D
b25uZWN0aW9uSUQoKSwgQ0dTTWFpbkNvbm5lY3Rpb25JRCgpLCBjbGllbnRzTWF5SWdub3JlRXZl
bnRzS2V5LCAmdmFsdWUpICE9IGtDR0Vycm9yU3VjY2VzcykKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgaWYgKCF2YWx1ZSB8fCBDRkdldFR5cGVJRCh2YWx1ZSkgIT0gQ0ZCb29sZWFuR2V0
VHlwZUlEKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB2YWx1ZSA9PSBr
Q0ZCb29sZWFuVHJ1ZTsKK30KKworc3RhdGljIHZvaWQgc2V0Q2xpZW50c01heUlnbm9yZUV2ZW50
cyhib29sIGNsaWVudHNNYXlJZ25vcmVFdmVudHMpCit7CisgICAgaWYgKENHU1NldENvbm5lY3Rp
b25Qcm9wZXJ0eShDR1NNYWluQ29ubmVjdGlvbklEKCksIENHU01haW5Db25uZWN0aW9uSUQoKSwg
Y2xpZW50c01heUlnbm9yZUV2ZW50c0tleSwgY2xpZW50c01heUlnbm9yZUV2ZW50cyA/IGtDRkJv
b2xlYW5UcnVlIDoga0NGQm9vbGVhbkZhbHNlKSAhPSBrQ0dFcnJvclN1Y2Nlc3MpCisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitIYW5nRGV0ZWN0aW9uRGlzYWJsZXI6OkhhbmdE
ZXRlY3Rpb25EaXNhYmxlcigpCisgICAgOiBtX2NsaWVudHNNYXlJZ25vcmVFdmVudHMoY2xpZW50
c01heUlnbm9yZUV2ZW50cygpKQoreworICAgIHNldENsaWVudHNNYXlJZ25vcmVFdmVudHModHJ1
ZSk7Cit9CisKK0hhbmdEZXRlY3Rpb25EaXNhYmxlcjo6fkhhbmdEZXRlY3Rpb25EaXNhYmxlcigp
Cit7CisgICAgc2V0Q2xpZW50c01heUlnbm9yZUV2ZW50cyhtX2NsaWVudHNNYXlJZ25vcmVFdmVu
dHMpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYk1l
bW9yeVNhbXBsZXIubWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJNZW1vcnlT
YW1wbGVyLm1hYy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTUyODdmMmI0NDY4
ODY2NDY3NWQyNWUzMmU0YzdjZWEzYzI2NTYwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYk1lbW9yeVNh
bXBsZXIubWFjLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTkwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICogCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJX
ZWJNZW1vcnlTYW1wbGVyLmgiCi0KLSNpZiBFTkFCTEUoTUVNT1JZX1NBTVBMRVIpICAKLQotI2lt
cG9ydCA8SmF2YVNjcmlwdENvcmUvTWVtb3J5U3RhdGlzdGljcy5oPgotI2ltcG9ydCA8bWFjaC9t
YWNoLmg+Ci0jaW1wb3J0IDxtYWNoL3Rhc2suaD4KLSNpbXBvcnQgPG1hY2gvbWFjaF90eXBlcy5o
PgotI2ltcG9ydCA8bWFsbG9jL21hbGxvYy5oPgotI2ltcG9ydCA8bm90aWZ5Lmg+Ci0jaW1wb3J0
IDxydW50aW1lL0pTTG9jay5oPgotI2ltcG9ydCA8V2ViQ29yZS9KU0RPTVdpbmRvdy5oPgotI2lt
cG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNp
bmcgbmFtZXNwYWNlIEpTQzsKLXVzaW5nIG5hbWVzcGFjZSBXVEY7Ci0KLW5hbWVzcGFjZSBXZWJL
aXQgewotICAgIAotc3RydWN0IFN5c3RlbU1hbGxvY1N0YXRzIHsKLSAgICBtYWxsb2Nfc3RhdGlz
dGljc190IGRlZmF1bHRNYWxsb2Nab25lU3RhdHM7Ci0gICAgbWFsbG9jX3N0YXRpc3RpY3NfdCBk
aXNwYXRjaENvbnRpbnVhdGlvbk1hbGxvY1pvbmVTdGF0czsKLSAgICBtYWxsb2Nfc3RhdGlzdGlj
c190IHB1cmdlYWJsZU1hbGxvY1pvbmVTdGF0czsKLX07Ci0KLVN5c3RlbU1hbGxvY1N0YXRzIFdl
Yk1lbW9yeVNhbXBsZXI6OnNhbXBsZVN5c3RlbU1hbGxvYygpIGNvbnN0Ci17Ci0gICAgc3RhdGlj
IGNvbnN0IGNoYXIqIGRlZmF1bHRNYWxsb2Nab25lTmFtZSA9ICJEZWZhdWx0TWFsbG9jWm9uZSI7
Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIGRpc3BhdGNoQ29udGludWF0aW9uTWFsbG9jWm9uZU5h
bWUgPSAiRGlzcGF0Y2hDb250aW51YXRpb25zIjsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogcHVy
Z2VhYmxlTWFsbG9jWm9uZU5hbWUgPSAiRGVmYXVsdFB1cmdlYWJsZU1hbGxvY1pvbmUiOwotICAg
IFN5c3RlbU1hbGxvY1N0YXRzIG1hbGxvY1N0YXRzOwotICAgIHZtX2FkZHJlc3NfdCogem9uZXM7
Ci0gICAgdW5zaWduZWQgY291bnQ7Ci0gICAgCi0gICAgLy8gWmVybyBvdXQgdGhlIHN0cnVjdHVy
ZXMgaW4gY2FzZSBhIHpvbmUgaXMgbWlzc2luZwotICAgIG1hbGxvY19zdGF0aXN0aWNzX3Qgc3Rh
dHM7Ci0gICAgc3RhdHMuYmxvY2tzX2luX3VzZSA9IDA7Ci0gICAgc3RhdHMuc2l6ZV9pbl91c2Ug
PSAwOwotICAgIHN0YXRzLm1heF9zaXplX2luX3VzZSA9IDA7Ci0gICAgc3RhdHMuc2l6ZV9hbGxv
Y2F0ZWQgPSAwOwotICAgIG1hbGxvY1N0YXRzLmRlZmF1bHRNYWxsb2Nab25lU3RhdHMgPSBzdGF0
czsKLSAgICBtYWxsb2NTdGF0cy5kaXNwYXRjaENvbnRpbnVhdGlvbk1hbGxvY1pvbmVTdGF0cyA9
IHN0YXRzOwotICAgIG1hbGxvY1N0YXRzLnB1cmdlYWJsZU1hbGxvY1pvbmVTdGF0cyA9IHN0YXRz
OwotICAgIAotICAgIG1hbGxvY19nZXRfYWxsX3pvbmVzKG1hY2hfdGFza19zZWxmKCksIDAsICZ6
b25lcywgJmNvdW50KTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY291bnQ7IGkrKykg
ewotICAgICAgICBpZiAoY29uc3QgY2hhciogbmFtZSA9IG1hbGxvY19nZXRfem9uZV9uYW1lKHJl
aW50ZXJwcmV0X2Nhc3Q8bWFsbG9jX3pvbmVfdCo+KHpvbmVzW2ldKSkpIHsKLSAgICAgICAgICAg
IHN0YXRzLmJsb2Nrc19pbl91c2UgPSAwOwotICAgICAgICAgICAgc3RhdHMuc2l6ZV9pbl91c2Ug
PSAwOwotICAgICAgICAgICAgc3RhdHMubWF4X3NpemVfaW5fdXNlID0gMDsKLSAgICAgICAgICAg
IHN0YXRzLnNpemVfYWxsb2NhdGVkID0gMDsKLSAgICAgICAgICAgIG1hbGxvY196b25lX3N0YXRp
c3RpY3MocmVpbnRlcnByZXRfY2FzdDxtYWxsb2Nfem9uZV90Kj4oem9uZXNbaV0pLCAmc3RhdHMp
OwotICAgICAgICAgICAgaWYgKCFzdHJjbXAobmFtZSwgZGVmYXVsdE1hbGxvY1pvbmVOYW1lKSkK
LSAgICAgICAgICAgICAgICBtYWxsb2NTdGF0cy5kZWZhdWx0TWFsbG9jWm9uZVN0YXRzID0gc3Rh
dHM7Ci0gICAgICAgICAgICBlbHNlIGlmICghc3RyY21wKG5hbWUsIGRpc3BhdGNoQ29udGludWF0
aW9uTWFsbG9jWm9uZU5hbWUpKQotICAgICAgICAgICAgICAgIG1hbGxvY1N0YXRzLmRpc3BhdGNo
Q29udGludWF0aW9uTWFsbG9jWm9uZVN0YXRzID0gc3RhdHM7Ci0gICAgICAgICAgICBlbHNlIGlm
ICghc3RyY21wKG5hbWUsIHB1cmdlYWJsZU1hbGxvY1pvbmVOYW1lKSkKLSAgICAgICAgICAgICAg
ICBtYWxsb2NTdGF0cy5wdXJnZWFibGVNYWxsb2Nab25lU3RhdHMgPSBzdGF0czsKLSAgICAgICAg
fQotICAgIH0KLSAgICByZXR1cm4gbWFsbG9jU3RhdHM7Ci19Ci0KLXNpemVfdCBXZWJNZW1vcnlT
YW1wbGVyOjpzYW1wbGVQcm9jZXNzQ29tbWl0dGVkQnl0ZXMoKSBjb25zdAotewotICAgIHRhc2tf
YmFzaWNfaW5mb182NCB0YXNrSW5mbzsKLSAgICBtYWNoX21zZ190eXBlX251bWJlcl90IGNvdW50
ID0gVEFTS19CQVNJQ19JTkZPXzY0X0NPVU5UOwotICAgIHRhc2tfaW5mbyhtYWNoX3Rhc2tfc2Vs
ZigpLCBUQVNLX0JBU0lDX0lORk9fNjQsIHJlaW50ZXJwcmV0X2Nhc3Q8dGFza19pbmZvX3Q+KCZ0
YXNrSW5mbyksICZjb3VudCk7Ci0gICAgcmV0dXJuIHRhc2tJbmZvLnJlc2lkZW50X3NpemU7Ci19
Ci0KLVN0cmluZyBXZWJNZW1vcnlTYW1wbGVyOjpwcm9jZXNzTmFtZSgpIGNvbnN0Ci17Ci0gICAg
TlNTdHJpbmcgKmFwcE5hbWUgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZp
ZXJdOwotICAgIGlmICghYXBwTmFtZSkKLSAgICAgICAgYXBwTmFtZSA9IFtbTlNQcm9jZXNzSW5m
byBwcm9jZXNzSW5mb10gcHJvY2Vzc05hbWVdOwotICAgIHJldHVybiBTdHJpbmcoYXBwTmFtZSk7
Ci19Ci0gIAotV2ViTWVtb3J5U3RhdGlzdGljcyBXZWJNZW1vcnlTYW1wbGVyOjpzYW1wbGVXZWJL
aXQoKSBjb25zdAotewotICAgIHNpemVfdCB0b3RhbEJ5dGVzSW5Vc2UgPSAwLCB0b3RhbEJ5dGVz
Q29tbWl0dGVkID0gMDsgCi0gICAgCi0gICAgV2ViTWVtb3J5U3RhdGlzdGljcyB3ZWJLaXRNZW1v
cnlTdGF0czsKLSAgICAKLSAgICBGYXN0TWFsbG9jU3RhdGlzdGljcyBmYXN0TWFsbG9jU3RhdGlz
dGljcyA9IFdURjo6ZmFzdE1hbGxvY1N0YXRpc3RpY3MoKTsKLSAgICBzaXplX3QgZmFzdE1hbGxv
Y0J5dGVzSW5Vc2UgPSBmYXN0TWFsbG9jU3RhdGlzdGljcy5jb21taXR0ZWRWTUJ5dGVzIC0gZmFz
dE1hbGxvY1N0YXRpc3RpY3MuZnJlZUxpc3RCeXRlczsKLSAgICBzaXplX3QgZmFzdE1hbGxvY0J5
dGVzQ29tbWl0dGVkID0gZmFzdE1hbGxvY1N0YXRpc3RpY3MuY29tbWl0dGVkVk1CeXRlczsKLSAg
ICB0b3RhbEJ5dGVzSW5Vc2UgKz0gZmFzdE1hbGxvY0J5dGVzSW5Vc2U7Ci0gICAgdG90YWxCeXRl
c0NvbW1pdHRlZCArPSBmYXN0TWFsbG9jQnl0ZXNDb21taXR0ZWQ7Ci0gICAgCi0gICAgSlNMb2Nr
SG9sZGVyIGxvY2soSlNET01XaW5kb3c6OmNvbW1vblZNKCkpOwotICAgIHNpemVfdCBqc2NIZWFw
Qnl0ZXNJblVzZSA9IEpTRE9NV2luZG93Ojpjb21tb25WTSgpLmhlYXAuc2l6ZSgpOwotICAgIHNp
emVfdCBqc2NIZWFwQnl0ZXNDb21taXR0ZWQgPSBKU0RPTVdpbmRvdzo6Y29tbW9uVk0oKS5oZWFw
LmNhcGFjaXR5KCk7Ci0gICAgdG90YWxCeXRlc0luVXNlICs9IGpzY0hlYXBCeXRlc0luVXNlOwot
ICAgIHRvdGFsQnl0ZXNDb21taXR0ZWQgKz0ganNjSGVhcEJ5dGVzQ29tbWl0dGVkOwotICAgIAot
ICAgIEdsb2JhbE1lbW9yeVN0YXRpc3RpY3MgZ2xvYmFsTWVtb3J5U3RhdHMgPSBnbG9iYWxNZW1v
cnlTdGF0aXN0aWNzKCk7Ci0gICAgdG90YWxCeXRlc0luVXNlICs9IGdsb2JhbE1lbW9yeVN0YXRz
LnN0YWNrQnl0ZXMgKyBnbG9iYWxNZW1vcnlTdGF0cy5KSVRCeXRlczsKLSAgICB0b3RhbEJ5dGVz
Q29tbWl0dGVkICs9IGdsb2JhbE1lbW9yeVN0YXRzLnN0YWNrQnl0ZXMgKyBnbG9iYWxNZW1vcnlT
dGF0cy5KSVRCeXRlczsKLSAgICAKLSAgICBTeXN0ZW1NYWxsb2NTdGF0cyBzeXN0ZW1TdGF0cyA9
IHNhbXBsZVN5c3RlbU1hbGxvYygpOwotICAgIAotICAgIHNpemVfdCBkZWZhdWx0TWFsbG9jWm9u
ZUJ5dGVzSW5Vc2UgPSBzeXN0ZW1TdGF0cy5kZWZhdWx0TWFsbG9jWm9uZVN0YXRzLnNpemVfaW5f
dXNlOwotICAgIHNpemVfdCBkaXNwYXRjaENvbnRpbnVhdGlvbk1hbGxvY1pvbmVCeXRlc0luVXNl
ID0gc3lzdGVtU3RhdHMuZGlzcGF0Y2hDb250aW51YXRpb25NYWxsb2Nab25lU3RhdHMuc2l6ZV9p
bl91c2U7Ci0gICAgc2l6ZV90IHB1cmdlYWJsZU1hbGxvY1pvbmVCeXRlc0luVXNlID0gc3lzdGVt
U3RhdHMucHVyZ2VhYmxlTWFsbG9jWm9uZVN0YXRzLnNpemVfaW5fdXNlOwotICAgIHNpemVfdCBk
ZWZhdWx0TWFsbG9jWm9uZUJ5dGVzQ29tbWl0dGVkID0gc3lzdGVtU3RhdHMuZGVmYXVsdE1hbGxv
Y1pvbmVTdGF0cy5zaXplX2FsbG9jYXRlZDsKLSAgICBzaXplX3QgZGlzcGF0Y2hDb250aW51YXRp
b25NYWxsb2Nab25lQnl0ZXNDb21taXR0ZWQgPSBzeXN0ZW1TdGF0cy5kaXNwYXRjaENvbnRpbnVh
dGlvbk1hbGxvY1pvbmVTdGF0cy5zaXplX2FsbG9jYXRlZDsKLSAgICBzaXplX3QgcHVyZ2VhYmxl
TWFsbG9jWm9uZUJ5dGVzQ29tbWl0dGVkID0gc3lzdGVtU3RhdHMucHVyZ2VhYmxlTWFsbG9jWm9u
ZVN0YXRzLnNpemVfYWxsb2NhdGVkOwotICAgIHRvdGFsQnl0ZXNJblVzZSArPSBkZWZhdWx0TWFs
bG9jWm9uZUJ5dGVzSW5Vc2UgKyBkaXNwYXRjaENvbnRpbnVhdGlvbk1hbGxvY1pvbmVCeXRlc0lu
VXNlICsgcHVyZ2VhYmxlTWFsbG9jWm9uZUJ5dGVzSW5Vc2U7Ci0gICAgdG90YWxCeXRlc0NvbW1p
dHRlZCArPSBkZWZhdWx0TWFsbG9jWm9uZUJ5dGVzQ29tbWl0dGVkICsgZGlzcGF0Y2hDb250aW51
YXRpb25NYWxsb2Nab25lQnl0ZXNDb21taXR0ZWQgKyBwdXJnZWFibGVNYWxsb2Nab25lQnl0ZXND
b21taXR0ZWQ7Ci0gICAgCi0gICAgc2l6ZV90IHJlc2lkZW50U2l6ZSA9IHNhbXBsZVByb2Nlc3ND
b21taXR0ZWRCeXRlcygpOwotCi0gICAgZG91YmxlIG5vdyA9IGN1cnJlbnRUaW1lKCk7Ci0gICAg
ICAgIAotICAgIHdlYktpdE1lbW9yeVN0YXRzLmtleXMuYXBwZW5kKFN0cmluZygiVGltZXN0YW1w
IikpOwotICAgIHdlYktpdE1lbW9yeVN0YXRzLnZhbHVlcy5hcHBlbmQobm93KTsKLSAgICB3ZWJL
aXRNZW1vcnlTdGF0cy5rZXlzLmFwcGVuZChTdHJpbmcoIlRvdGFsIEJ5dGVzIG9mIE1lbW9yeSBJ
biBVc2UiKSk7Ci0gICAgd2ViS2l0TWVtb3J5U3RhdHMudmFsdWVzLmFwcGVuZCh0b3RhbEJ5dGVz
SW5Vc2UpOwotICAgIHdlYktpdE1lbW9yeVN0YXRzLmtleXMuYXBwZW5kKFN0cmluZygiRmFzdCBN
YWxsb2MgWm9uZSBCeXRlcyIpKTsKLSAgICB3ZWJLaXRNZW1vcnlTdGF0cy52YWx1ZXMuYXBwZW5k
KGZhc3RNYWxsb2NCeXRlc0luVXNlKTsKLSAgICB3ZWJLaXRNZW1vcnlTdGF0cy5rZXlzLmFwcGVu
ZChTdHJpbmcoIkRlZmF1bHQgTWFsbG9jIFpvbmUgQnl0ZXMiKSk7Ci0gICAgd2ViS2l0TWVtb3J5
U3RhdHMudmFsdWVzLmFwcGVuZChkZWZhdWx0TWFsbG9jWm9uZUJ5dGVzSW5Vc2UpOwotICAgIHdl
YktpdE1lbW9yeVN0YXRzLmtleXMuYXBwZW5kKFN0cmluZygiRGlzcGF0Y2ggQ29udGludWF0aW9u
IE1hbGxvYyBab25lIEJ5dGVzIikpOwotICAgIHdlYktpdE1lbW9yeVN0YXRzLnZhbHVlcy5hcHBl
bmQoZGlzcGF0Y2hDb250aW51YXRpb25NYWxsb2Nab25lQnl0ZXNJblVzZSk7Ci0gICAgd2ViS2l0
TWVtb3J5U3RhdHMua2V5cy5hcHBlbmQoU3RyaW5nKCJQdXJnZWFibGUgTWFsbG9jIFpvbmUgQnl0
ZXMiKSk7Ci0gICAgd2ViS2l0TWVtb3J5U3RhdHMudmFsdWVzLmFwcGVuZChwdXJnZWFibGVNYWxs
b2Nab25lQnl0ZXNJblVzZSk7Ci0gICAgd2ViS2l0TWVtb3J5U3RhdHMua2V5cy5hcHBlbmQoU3Ry
aW5nKCJKYXZhU2NyaXB0IEhlYXAgQnl0ZXMiKSk7Ci0gICAgd2ViS2l0TWVtb3J5U3RhdHMudmFs
dWVzLmFwcGVuZChqc2NIZWFwQnl0ZXNJblVzZSk7Ci0gICAgd2ViS2l0TWVtb3J5U3RhdHMua2V5
cy5hcHBlbmQoU3RyaW5nKCJUb3RhbCBCeXRlcyBvZiBDb21taXR0ZWQgTWVtb3J5IikpOwotICAg
IHdlYktpdE1lbW9yeVN0YXRzLnZhbHVlcy5hcHBlbmQodG90YWxCeXRlc0NvbW1pdHRlZCk7Ci0g
ICAgd2ViS2l0TWVtb3J5U3RhdHMua2V5cy5hcHBlbmQoU3RyaW5nKCJGYXN0IE1hbGxvYyBab25l
IEJ5dGVzIikpOwotICAgIHdlYktpdE1lbW9yeVN0YXRzLnZhbHVlcy5hcHBlbmQoZmFzdE1hbGxv
Y0J5dGVzQ29tbWl0dGVkKTsKLSAgICB3ZWJLaXRNZW1vcnlTdGF0cy5rZXlzLmFwcGVuZChTdHJp
bmcoIkRlZmF1bHQgTWFsbG9jIFpvbmUgQnl0ZXMiKSk7Ci0gICAgd2ViS2l0TWVtb3J5U3RhdHMu
dmFsdWVzLmFwcGVuZChkZWZhdWx0TWFsbG9jWm9uZUJ5dGVzQ29tbWl0dGVkKTsKLSAgICB3ZWJL
aXRNZW1vcnlTdGF0cy5rZXlzLmFwcGVuZChTdHJpbmcoIkRpc3BhdGNoIENvbnRpbnVhdGlvbiBN
YWxsb2MgWm9uZSBCeXRlcyIpKTsKLSAgICB3ZWJLaXRNZW1vcnlTdGF0cy52YWx1ZXMuYXBwZW5k
KGRpc3BhdGNoQ29udGludWF0aW9uTWFsbG9jWm9uZUJ5dGVzQ29tbWl0dGVkKTsKLSAgICB3ZWJL
aXRNZW1vcnlTdGF0cy5rZXlzLmFwcGVuZChTdHJpbmcoIlB1cmdlYWJsZSBNYWxsb2MgWm9uZSBC
eXRlcyIpKTsKLSAgICB3ZWJLaXRNZW1vcnlTdGF0cy52YWx1ZXMuYXBwZW5kKHB1cmdlYWJsZU1h
bGxvY1pvbmVCeXRlc0NvbW1pdHRlZCk7Ci0gICAgd2ViS2l0TWVtb3J5U3RhdHMua2V5cy5hcHBl
bmQoU3RyaW5nKCJKYXZhU2NyaXB0IEhlYXAgQnl0ZXMiKSk7Ci0gICAgd2ViS2l0TWVtb3J5U3Rh
dHMudmFsdWVzLmFwcGVuZChqc2NIZWFwQnl0ZXNDb21taXR0ZWQpOwotICAgIHdlYktpdE1lbW9y
eVN0YXRzLmtleXMuYXBwZW5kKFN0cmluZygiSmF2YVNjcmlwdCBTdGFjayBCeXRlcyIpKTsKLSAg
ICB3ZWJLaXRNZW1vcnlTdGF0cy52YWx1ZXMuYXBwZW5kKGdsb2JhbE1lbW9yeVN0YXRzLnN0YWNr
Qnl0ZXMpOwotICAgIHdlYktpdE1lbW9yeVN0YXRzLmtleXMuYXBwZW5kKFN0cmluZygiSmF2YVNj
cmlwdCBKSVQgQnl0ZXMiKSk7Ci0gICAgd2ViS2l0TWVtb3J5U3RhdHMudmFsdWVzLmFwcGVuZChn
bG9iYWxNZW1vcnlTdGF0cy5KSVRCeXRlcyk7Ci0gICAgd2ViS2l0TWVtb3J5U3RhdHMua2V5cy5h
cHBlbmQoU3RyaW5nKCJSZXNpZGVudCBTaXplIikpOwotICAgIHdlYktpdE1lbW9yeVN0YXRzLnZh
bHVlcy5hcHBlbmQocmVzaWRlbnRTaXplKTsKLSAgICAKLSAgICByZXR1cm4gd2ViS2l0TWVtb3J5
U3RhdHM7Ci19Ci0gCi12b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnNlbmRNZW1vcnlQcmVzc3VyZUV2
ZW50KCkKLXsKLSAgICAvLyBGcmVlIG1lbW9yeSB0aGF0IGNvdWxkIGJlIHJlbGVhc2VkIGlmIHdl
IG5lZWRlZCBtb3JlLgotICAgIC8vIFdlIHdhbnQgdG8gdHJhY2sgbWVtb3J5IHRoYXQgY2Fubm90
LgotICAgIG5vdGlmeV9wb3N0KCJvcmcuV2ViS2l0Lmxvd01lbW9yeSIpOwotfQotCi19Ci0KLSNl
bmRpZgotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZGNlZTg5NGFjMmNkZDRmMTdjNDRmOWNiNzA3NDk5NDk3NjJiZDA0Ni4uOGU1
MThjZDkxMGIxYmYxODM4NDc0NjY0ZmNiNWI1N2U3YTc4NjAwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDM4LDYgKzQzOCw4
IEBACiAJCTFBQzc1MzdDMTgzQTlGREIwMDcyQ0IxNSAvKiBQYWdlTG9hZFN0YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM3NTM3QTE4M0E5RkRC
MDA3MkNCMTUgLyogUGFnZUxvYWRTdGF0ZS5oICovOyB9OwogCQkxQUM3NTM3RjE4M0JFNTBGMDA3
MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUM3NTM3RDE4M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5j
ZS5jcHAgKi87IH07CiAJCTFBQzc1MzgwMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM3NTM3
RTE4M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oICovOyB9OworCQkxQUM3NUExQjFC
MzM2ODI3MDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2FibGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM3NUExQTFCMzM2ODI3MDA1Njc0NUIg
LyogSGFuZ0RldGVjdGlvbkRpc2FibGVyLmggKi87IH07CisJCTFBQzc1QTFFMUIzMzY5NUUwMDU2
NzQ1QiAvKiBIYW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM3NUExQzFCMzM2OTVFMDA1Njc0NUIgLyogSGFu
Z0RldGVjdGlvbkRpc2FibGVyTWFjLm1tICovOyB9OwogCQkxQUM4NkZGMzEzMEI0NkQzMDAyQzEy
NTcgLyogV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDODZGRjExMzBCNDZEMzAwMkMxMjU3IC8qIFdLUGx1
Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcCAqLzsgfTsKIAkJMUFDODZGRjQxMzBCNDZEMzAwMkMxMjU3
IC8qIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM4NkZGMjEzMEI0NkQzMDAyQzEyNTcgLyogV0tQbHVnaW5T
aXRlRGF0YU1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkxQUNDODdCQTE5ODFDMzQxMDAzRDFBRjQgLyogV0tOYXZpZ2F0aW9uUHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDQzg3
QjkxOTgxQzM0MTAwM0QxQUY0IC8qIFdLTmF2aWdhdGlvblByaXZhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjU2Myw2ICsyNTY1LDggQEAK
IAkJMUFDNzUzN0ExODNBOUZEQjAwNzJDQjE1IC8qIFBhZ2VMb2FkU3RhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZUxvYWRTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQUM3NTM3RDE4M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRhUmVmZXJlbmNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDNzUzN0UxODNCRTUwRjAwNzJDQjE1
IC8qIERhdGFSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0
YVJlZmVyZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUM3NUExQTFCMzM2
ODI3MDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2FibGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEhhbmdEZXRlY3Rpb25EaXNhYmxlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQUM3NUExQzFCMzM2OTVFMDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRp
c2FibGVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSGFu
Z0RldGVjdGlvbkRpc2FibGVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QUM4NkZGMTEzMEI0NkQzMDAyQzEyNTcgLyogV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tQbHVnaW5TaXRlRGF0YU1hbmFn
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUM4NkZGMjEzMEI0NkQzMDAy
QzEyNTcgLyogV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUFDQzg3QjkxOTgxQzM0MTAwM0QxQUY0IC8qIFdLTmF2aWdhdGlvblByaXZh
dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tOYXZpZ2F0aW9uUHJpdmF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDY5OSw2ICs0NzAzLDcgQEAKIAkJ
CQlCQ0U4MUQ4QTEzMTlGN0VGMDAyNDE5MTAgLyogRm9udEluZm8uY3BwICovLAogCQkJCUJDRTgx
RDhCMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5oICovLAogCQkJCTc2MkI3NDgxMTIwQkJB
MDEwMDgxOTMzOSAvKiBGb250U21vb3RoaW5nTGV2ZWwuaCAqLywKKwkJCQkxQUM3NUExQTFCMzM2
ODI3MDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2FibGVyLmggKi8sCiAJCQkJRjYzODk1NEYx
MzNCRUYzODAwODk0MUQ1IC8qIEhUVFBDb29raWVBY2NlcHRQb2xpY3kuaCAqLywKIAkJCQlCQ0NG
NkIyMzEyQzkzRTdBMDA4RjlDMzUgLyogSW1hZ2VPcHRpb25zLmggKi8sCiAJCQkJQzU4Q0RGMkIx
ODg3NjA5RjAwODcxNTM2IC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmNwcCAq
LywKQEAgLTY0NDgsNiArNjQ1Myw3IEBACiAJCQkJQ0RDMzgzMEQxNzIxMjQyRDAwOEEyRkMzIC8q
IENvb2tpZVN0b3JhZ2VTaGltLm1tICovLAogCQkJCUNEQzM4MkY5MTcyMTE2RDMwMDhBMkZDMyAv
KiBDb29raWVTdG9yYWdlU2hpbUxpYnJhcnkuY3BwICovLAogCQkJCUNEQzM4MzBCMTcyMTIxQ0Uw
MDhBMkZDMyAvKiBDb29raWVTdG9yYWdlU2hpbUxpYnJhcnkuaCAqLywKKwkJCQkxQUM3NUExQzFC
MzM2OTVFMDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2FibGVyTWFjLm1tICovLAogCQkJCTUx
NjNFQTQzMUFDQzc0QUUwMDEyRDFFNCAvKiBOYXRpdmVDb250ZXh0TWVudUl0ZW0ubW0gKi8sCiAJ
CQkJQzAyQkZGMUQxMjUxNTAyRTAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnRNYWMu
bW0gKi8sCiAJCQkJMzFFQTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZl
bnRNYWMubW0gKi8sCkBAIC03OTk2LDYgKzgwMDIsNyBAQAogCQkJCUJDMDMyREQxMTBGNDM4OUYw
MDU4QzE1QSAvKiBXZWJQYWdlUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkQzOTE1MTI1
QkIxQTgwMEQyQzI5RiAvKiBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTEyMTI3QzQxOTA4MjM5QTAwREFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVycmlkZXMuaCBp
biBIZWFkZXJzICovLAorCQkJCTFBQzc1QTFCMUIzMzY4MjcwMDU2NzQ1QiAvKiBIYW5nRGV0ZWN0
aW9uRGlzYWJsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNDY5NEQxMUE1MUUzNjgwMEFENTg0
NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNDY5NENBMUE0
QjRFQTEwMEFENTg0NSAvKiBXZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUEzRTczNjExMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDAzMiw2ICsxMDAzOSw3IEBACiAJCQkJMzc5NDg0MDgx
NTBDNEI5NzAwRTUyQ0U5IC8qIFdLUmVuZGVyTGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Mzc2MDg4MjIxNTA0MTRGNzAwRkM4MkM3IC8qIFdLUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTMzMzY3NjNBMTMwQzk5REMwMDZDOURFMiAvKiBXS1Jlc291cmNlQ2FjaGVNYW5h
Z2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFBQzc1QTFFMUIzMzY5NUUwMDU2NzQ1QiAvKiBI
YW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTdFMzc3ODE4
RTRBNEZFMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEZDQjRFNTUxOEJCRTA0NDAwMEZDRkM5IC8qIFdLU2Nyb2xsVmlldy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUY2MzQ0NDVDMTJBODg1RTkwMDA2MTJEOCAvKiBXS1NlY3VyaXR5T3JpZ2luLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDI0N2RhZTMzNGY5MzRl
NzJiYzM5NmMwYjhlZDVhYzQ2NjQ0ZjhhMDkuLmZlYzdjYmIyM2RmZjFiYzAyZGRiZDFiNzE0Y2Ux
ZGVlZmFkMmFjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpbmNsdWRlICJBUElBcnJheS5oIgogI2luY2x1ZGUgIkFQSVNlY3VyaXR5T3JpZ2luLmgiCiAj
aW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKKyNpbmNsdWRlICJIYW5nRGV0ZWN0aW9uRGlzYWJsZXIu
aCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCIKICNpbmNsdWRl
ICJJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaCIKICNpbmNsdWRlICJMYXllclRyZWVIb3N0Lmgi
CkBAIC0zMzQsNiArMzM1LDggQEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6OnJ1bkJlZm9yZVVubG9h
ZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEZyYW1lKgogCiAgICAgYm9vbCBz
aG91bGRDbG9zZSA9IGZhbHNlOwogCisgICAgSGFuZ0RldGVjdGlvbkRpc2FibGVyIGhhbmdEZXRl
Y3Rpb25EaXNhYmxlcjsKKwogICAgIHVuc2lnbmVkIHN5bmNTZW5kRmxhZ3MgPSBJUEM6OkluZm9y
bVBsYXRmb3JtUHJvY2Vzc1dpbGxTdXNwZW5kOwogICAgIGlmIChXZWJQYWdlOjpzeW5jaHJvbm91
c01lc3NhZ2VzU2hvdWxkU3BpblJ1bkxvb3AoKSkKICAgICAgICAgc3luY1NlbmRGbGFncyB8PSBJ
UEM6OlNwaW5SdW5Mb29wV2hpbGVXYWl0aW5nRm9yUmVwbHk7CkBAIC0zNzEsNiArMzc0LDggQEAg
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJ1bkphdmFTY3JpcHRBbGVydChGcmFtZSogZnJhbWUsIGNv
bnN0IFN0cmluZyYgYWxlcnRUZXh0KQogICAgIC8vIE5vdGlmeSB0aGUgYnVuZGxlIGNsaWVudC4K
ICAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlVUlDbGllbnQoKS53aWxsUnVuSmF2YVNjcmlwdEFs
ZXJ0KG1fcGFnZSwgYWxlcnRUZXh0LCB3ZWJGcmFtZSk7CiAKKyAgICBIYW5nRGV0ZWN0aW9uRGlz
YWJsZXIgaGFuZ0RldGVjdGlvbkRpc2FibGVyOworCiAgICAgdW5zaWduZWQgc3luY1NlbmRGbGFn
cyA9IElQQzo6SW5mb3JtUGxhdGZvcm1Qcm9jZXNzV2lsbFN1c3BlbmQ7CiAgICAgaWYgKFdlYlBh
Z2U6OnN5bmNocm9ub3VzTWVzc2FnZXNTaG91bGRTcGluUnVuTG9vcCgpKQogICAgICAgICBzeW5j
U2VuZEZsYWdzIHw9IElQQzo6U3BpblJ1bkxvb3BXaGlsZVdhaXRpbmdGb3JSZXBseTsKQEAgLTM4
NSw2ICszOTAsOCBAQCBib29sIFdlYkNocm9tZUNsaWVudDo6cnVuSmF2YVNjcmlwdENvbmZpcm0o
RnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgLy8gTm90aWZ5IHRoZSBi
dW5kbGUgY2xpZW50LgogICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVVSUNsaWVudCgpLndpbGxS
dW5KYXZhU2NyaXB0Q29uZmlybShtX3BhZ2UsIG1lc3NhZ2UsIHdlYkZyYW1lKTsKIAorICAgIEhh
bmdEZXRlY3Rpb25EaXNhYmxlciBoYW5nRGV0ZWN0aW9uRGlzYWJsZXI7CisKICAgICB1bnNpZ25l
ZCBzeW5jU2VuZEZsYWdzID0gSVBDOjpJbmZvcm1QbGF0Zm9ybVByb2Nlc3NXaWxsU3VzcGVuZDsK
ICAgICBpZiAoV2ViUGFnZTo6c3luY2hyb25vdXNNZXNzYWdlc1Nob3VsZFNwaW5SdW5Mb29wKCkp
CiAgICAgICAgIHN5bmNTZW5kRmxhZ3MgfD0gSVBDOjpTcGluUnVuTG9vcFdoaWxlV2FpdGluZ0Zv
clJlcGx5OwpAQCAtNDAzLDYgKzQxMCw4IEBAIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpydW5KYXZh
U2NyaXB0UHJvbXB0KEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjCiAgICAg
Ly8gTm90aWZ5IHRoZSBidW5kbGUgY2xpZW50LgogICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVV
SUNsaWVudCgpLndpbGxSdW5KYXZhU2NyaXB0UHJvbXB0KG1fcGFnZSwgbWVzc2FnZSwgZGVmYXVs
dFZhbHVlLCB3ZWJGcmFtZSk7CiAKKyAgICBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIgaGFuZ0RldGVj
dGlvbkRpc2FibGVyOworCiAgICAgdW5zaWduZWQgc3luY1NlbmRGbGFncyA9IElQQzo6SW5mb3Jt
UGxhdGZvcm1Qcm9jZXNzV2lsbFN1c3BlbmQ7CiAgICAgaWYgKFdlYlBhZ2U6OnN5bmNocm9ub3Vz
TWVzc2FnZXNTaG91bGRTcGluUnVuTG9vcCgpKQogICAgICAgICBzeW5jU2VuZEZsYWdzIHw9IElQ
Qzo6U3BpblJ1bkxvb3BXaGlsZVdhaXRpbmdGb3JSZXBseTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255138</attachid>
            <date>2015-06-18 15:10:29 -0700</date>
            <delta_ts>2015-06-18 15:27:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146124-20150618150952.patch</filename>
            <type>text/plain</type>
            <size>14257</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODcyODQ0MTk5MGY2OWQw
N2Y4ZjlmMDM5YTU5ZDdmNDg3ZWQyMzE3MS4uZjI5ZWZhMWExMjZmZmY3NzgyZTIwMzQ5NTAzNDYz
YjRmNmM0YTBmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE1LTA2LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3BpbnRyYWNlciB0
cmVhdHMgdGhlIHdlYiBwcm9jZXNzIGFzIGh1bmcgd2hlbiBpdCdzIHNob3dpbmcgSmF2YVNjcmlw
dCBkaWFsb2dzIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYxMjQKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjE0NDkz
OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
YSBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIgUkFJSSBvYmplY3QgYW5kIHVzZSBpdCBmb3IgSmF2YVNj
cmlwdCBwYW5lbHMuCisKKyAgICAgICAgKiBTaGFyZWQvSGFuZ0RldGVjdGlvbkRpc2FibGVyLmg6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpIYW5nRGV0ZWN0aW9uRGlzYWJsZXI6OkhhbmdEZXRl
Y3Rpb25EaXNhYmxlcik6CisgICAgICAgIChXZWJLaXQ6OkhhbmdEZXRlY3Rpb25EaXNhYmxlcjo6
fkhhbmdEZXRlY3Rpb25EaXNhYmxlcik6CisgICAgICAgICogU2hhcmVkL21hYy9IYW5nRGV0ZWN0
aW9uRGlzYWJsZXJNYWMubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpjbGllbnRzTWF5SWdu
b3JlRXZlbnRzKToKKyAgICAgICAgKFdlYktpdDo6c2V0Q2xpZW50c01heUlnbm9yZUV2ZW50cyk6
CisgICAgICAgIChXZWJLaXQ6OkhhbmdEZXRlY3Rpb25EaXNhYmxlcjo6SGFuZ0RldGVjdGlvbkRp
c2FibGVyKToKKyAgICAgICAgKFdlYktpdDo6SGFuZ0RldGVjdGlvbkRpc2FibGVyOjp+SGFuZ0Rl
dGVjdGlvbkRpc2FibGVyKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnJ1bkJlZm9yZVVubG9h
ZENvbmZpcm1QYW5lbCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6cnVuSmF2
YVNjcmlwdEFsZXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpydW5KYXZh
U2NyaXB0Q29uZmlybSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6cnVuSmF2
YVNjcmlwdFByb21wdCk6CisKKzIwMTUtMDYtMTggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KKwogICAgICAgICBSZW1vdmUgc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdAog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2MTE4CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9IYW5nRGV0ZWN0aW9uRGlzYWJsZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9IYW5nRGV0ZWN0aW9uRGlzYWJsZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZThiNzAxYzY3Mzg5MjM3NjA2MGY2MjJiNmQxZWEwY2E2ODFkNDljCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0hhbmdEZXRlY3Rpb25EaXNhYmxlci5oCkBA
IC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEhhbmdEZXRlY3Rpb25EaXNhYmxl
cl9oCisjZGVmaW5lIEhhbmdEZXRlY3Rpb25EaXNhYmxlcl9oCisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitjbGFzcyBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIgeworcHVibGljOgorICAgIEhhbmdEZXRl
Y3Rpb25EaXNhYmxlcigpOworICAgIH5IYW5nRGV0ZWN0aW9uRGlzYWJsZXIoKTsKKworcHJpdmF0
ZToKKyNpZiBQTEFURk9STShNQUMpCisgICAgYm9vbCBtX2NsaWVudHNNYXlJZ25vcmVFdmVudHM7
CisjZW5kaWYKK307CisKKyNpZiAhUExBVEZPUk0oTUFDKQoraW5saW5lIEhhbmdEZXRlY3Rpb25E
aXNhYmxlcjo6SGFuZ0RldGVjdGlvbkRpc2FibGVyKCkKK3sKK30KKworaW5saW5lIEhhbmdEZXRl
Y3Rpb25EaXNhYmxlcjo6fkhhbmdEZXRlY3Rpb25EaXNhYmxlcigpCit7Cit9CisjZW5kaWYKKwor
fQorCisjZW5kaWYgLy8gSGFuZ0RldGVjdGlvbkRpc2FibGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvSGFuZ0RldGVjdGlvbkRpc2FibGVyTWFjLm1tIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9IYW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMubW0KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTU0MWEyMTdiNzFlZWY2OGI4OGNjNTUzZDUzYWRmY2MxZDIzYjhjNQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvSGFuZ0RldGVjdGlvbkRpc2FibGVyTWFj
Lm1tCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiSGFuZ0RldGVjdGlvbkRpc2FibGVyLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0Nv
cmVHcmFwaGljc1NQSS5oPgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK3N0YXRpYyBjb25zdCBhdXRvIGNsaWVudHNNYXlJZ25vcmVFdmVudHNLZXkg
PSBDRlNUUigiQ2xpZW50TWF5SWdub3JlRXZlbnRzIik7CisKK3N0YXRpYyBib29sIGNsaWVudHNN
YXlJZ25vcmVFdmVudHMoKQoreworICAgIENGVHlwZVJlZiB2YWx1ZVB0cjsKKyAgICBpZiAoQ0dT
Q29weUNvbm5lY3Rpb25Qcm9wZXJ0eShDR1NNYWluQ29ubmVjdGlvbklEKCksIENHU01haW5Db25u
ZWN0aW9uSUQoKSwgY2xpZW50c01heUlnbm9yZUV2ZW50c0tleSwgJnZhbHVlUHRyKSAhPSBrQ0dF
cnJvclN1Y2Nlc3MpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1dG8gdmFsdWUgPSBh
ZG9wdENGKHZhbHVlUHRyKTsKKworICAgIGlmICghdmFsdWUgfHwgQ0ZHZXRUeXBlSUQodmFsdWUu
Z2V0KCkpICE9IENGQm9vbGVhbkdldFR5cGVJRCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICByZXR1cm4gdmFsdWUgPT0ga0NGQm9vbGVhblRydWU7Cit9CisKK3N0YXRpYyB2b2lkIHNl
dENsaWVudHNNYXlJZ25vcmVFdmVudHMoYm9vbCBjbGllbnRzTWF5SWdub3JlRXZlbnRzKQorewor
ICAgIGlmIChDR1NTZXRDb25uZWN0aW9uUHJvcGVydHkoQ0dTTWFpbkNvbm5lY3Rpb25JRCgpLCBD
R1NNYWluQ29ubmVjdGlvbklEKCksIGNsaWVudHNNYXlJZ25vcmVFdmVudHNLZXksIGNsaWVudHNN
YXlJZ25vcmVFdmVudHMgPyBrQ0ZCb29sZWFuVHJ1ZSA6IGtDRkJvb2xlYW5GYWxzZSkgIT0ga0NH
RXJyb3JTdWNjZXNzKQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworSGFuZ0Rl
dGVjdGlvbkRpc2FibGVyOjpIYW5nRGV0ZWN0aW9uRGlzYWJsZXIoKQorICAgIDogbV9jbGllbnRz
TWF5SWdub3JlRXZlbnRzKGNsaWVudHNNYXlJZ25vcmVFdmVudHMoKSkKK3sKKyAgICBzZXRDbGll
bnRzTWF5SWdub3JlRXZlbnRzKHRydWUpOworfQorCitIYW5nRGV0ZWN0aW9uRGlzYWJsZXI6On5I
YW5nRGV0ZWN0aW9uRGlzYWJsZXIoKQoreworICAgIHNldENsaWVudHNNYXlJZ25vcmVFdmVudHMo
bV9jbGllbnRzTWF5SWdub3JlRXZlbnRzKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIv
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRjZWU4OTRhYzJjZGQ0ZjE3
YzQ0ZjljYjcwNzQ5OTQ5NzYyYmQwNDYuLjhlNTE4Y2Q5MTBiMWJmMTgzODQ3NDY2NGZjYjViNTdl
N2E3ODYwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTQzOCw2ICs0MzgsOCBAQAogCQkxQUM3NTM3QzE4M0E5RkRCMDA3MkNC
MTUgLyogUGFnZUxvYWRTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFDNzUzN0ExODNBOUZEQjAwNzJDQjE1IC8qIFBhZ2VMb2FkU3RhdGUuaCAq
LzsgfTsKIAkJMUFDNzUzN0YxODNCRTUwRjAwNzJDQjE1IC8qIERhdGFSZWZlcmVuY2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDNzUzN0QxODNC
RTUwRjAwNzJDQjE1IC8qIERhdGFSZWZlcmVuY2UuY3BwICovOyB9OwogCQkxQUM3NTM4MDE4M0JF
NTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDNzUzN0UxODNCRTUwRjAwNzJDQjE1IC8qIERhdGFSZWZl
cmVuY2UuaCAqLzsgfTsKKwkJMUFDNzVBMUIxQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rp
b25EaXNhYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUFDNzVBMUExQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlci5oICov
OyB9OworCQkxQUM3NUExRTFCMzM2OTVFMDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2FibGVy
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFD
NzVBMUMxQjMzNjk1RTAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbSAqLzsg
fTsKIAkJMUFDODZGRjMxMzBCNDZEMzAwMkMxMjU3IC8qIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2Vy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzg2
RkYxMTMwQjQ2RDMwMDJDMTI1NyAvKiBXS1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAgKi87IH07
CiAJCTFBQzg2RkY0MTMwQjQ2RDMwMDJDMTI1NyAvKiBXS1BsdWdpblNpdGVEYXRhTWFuYWdlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDODZGRjIx
MzBCNDZEMzAwMkMxMjU3IC8qIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUFDQzg3QkExOTgxQzM0MTAw
M0QxQUY0IC8qIFdLTmF2aWdhdGlvblByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQ0M4N0I5MTk4MUMzNDEwMDNEMUFGNCAvKiBXS05hdmln
YXRpb25Qcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTI1NjMsNiArMjU2NSw4IEBACiAJCTFBQzc1MzdBMTgzQTlGREIwMDcyQ0IxNSAv
KiBQYWdlTG9hZFN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VM
b2FkU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDNzUzN0QxODNCRTUw
RjAwNzJDQjE1IC8qIERhdGFSZWZlcmVuY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRGF0YVJlZmVyZW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFBQzc1MzdFMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFSZWZlcmVuY2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUFDNzVBMUExQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25E
aXNhYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIYW5nRGV0ZWN0aW9u
RGlzYWJsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFDNzVBMUMxQjMzNjk1
RTAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEhhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDODZGRjExMzBCNDZEMzAwMkMxMjU3IC8qIFdL
UGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUFDODZGRjIxMzBCNDZEMzAwMkMxMjU3IC8qIFdLUGx1Z2luU2l0ZURhdGFNYW5h
Z2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUGx1Z2luU2l0ZURhdGFN
YW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQ0M4N0I5MTk4MUMzNDEw
MDNEMUFGNCAvKiBXS05hdmlnYXRpb25Qcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLTmF2aWdhdGlvblByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTQ2OTksNiArNDcwMyw3IEBACiAJCQkJQkNFODFEOEExMzE5RjdFRjAwMjQxOTEwIC8q
IEZvbnRJbmZvLmNwcCAqLywKIAkJCQlCQ0U4MUQ4QjEzMTlGN0VGMDAyNDE5MTAgLyogRm9udElu
Zm8uaCAqLywKIAkJCQk3NjJCNzQ4MTEyMEJCQTAxMDA4MTkzMzkgLyogRm9udFNtb290aGluZ0xl
dmVsLmggKi8sCisJCQkJMUFDNzVBMUExQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25E
aXNhYmxlci5oICovLAogCQkJCUY2Mzg5NTRGMTMzQkVGMzgwMDg5NDFENSAvKiBIVFRQQ29va2ll
QWNjZXB0UG9saWN5LmggKi8sCiAJCQkJQkNDRjZCMjMxMkM5M0U3QTAwOEY5QzM1IC8qIEltYWdl
T3B0aW9ucy5oICovLAogCQkJCUM1OENERjJCMTg4NzYwOUYwMDg3MTUzNiAvKiBJbnRlcmFjdGlv
bkluZm9ybWF0aW9uQXRQb3NpdGlvbi5jcHAgKi8sCkBAIC02NDQ4LDYgKzY0NTMsNyBAQAogCQkJ
CUNEQzM4MzBEMTcyMTI0MkQwMDhBMkZDMyAvKiBDb29raWVTdG9yYWdlU2hpbS5tbSAqLywKIAkJ
CQlDREMzODJGOTE3MjExNkQzMDA4QTJGQzMgLyogQ29va2llU3RvcmFnZVNoaW1MaWJyYXJ5LmNw
cCAqLywKIAkJCQlDREMzODMwQjE3MjEyMUNFMDA4QTJGQzMgLyogQ29va2llU3RvcmFnZVNoaW1M
aWJyYXJ5LmggKi8sCisJCQkJMUFDNzVBMUMxQjMzNjk1RTAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rp
b25EaXNhYmxlck1hYy5tbSAqLywKIAkJCQk1MTYzRUE0MzFBQ0M3NEFFMDAxMkQxRTQgLyogTmF0
aXZlQ29udGV4dE1lbnVJdGVtLm1tICovLAogCQkJCUMwMkJGRjFEMTI1MTUwMkUwMDlDQ0JFQSAv
KiBOYXRpdmVXZWJLZXlib2FyZEV2ZW50TWFjLm1tICovLAogCQkJCTMxRUEyNUQwMTM0Rjc4QjIw
MDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICovLApAQCAtNzk5Niw2ICs4MDAy
LDcgQEAKIAkJCQlCQzAzMkREMTEwRjQzODlGMDA1OEMxNUEgLyogV2ViUGFnZVByb3h5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQ0JEMzkxNTEyNUJCMUE4MDBEMkMyOUYgLyogV2ViUGFnZVByb3h5
TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMjEyN0M0MTkwODIzOUEwMERBRjM1QyAv
KiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxQUM3NUExQjFC
MzM2ODI3MDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2FibGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QzQ2OTREMTFBNTFFMzY4MDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5LmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QzQ2OTRDQTFBNEI0RUExMDBBRDU4NDUgLyogV2ViUGFzdGVib2Fy
ZFByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBM0U3MzYxMTFDQzI2NTkwMDdC
RDUzOSAvKiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMTAwMzIs
NiArMTAwMzksNyBAQAogCQkJCTM3OTQ4NDA4MTUwQzRCOTcwMEU1MkNFOSAvKiBXS1JlbmRlckxh
eWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3NjA4ODIyMTUwNDE0RjcwMEZDODJDNyAvKiBX
S1JlbmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzM2NzYzQTEzMEM5OURDMDA2
QzlERTIgLyogV0tSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkx
QUM3NUExRTFCMzM2OTVFMDA1Njc0NUIgLyogSGFuZ0RldGVjdGlvbkRpc2FibGVyTWFjLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUE3RTM3NzgxOEU0QTRGRTAwM0QwRkZGIC8qIFdLU2NyaXB0TWVz
c2FnZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGQ0I0RTU1MThCQkUwNDQwMDBGQ0ZDOSAvKiBX
S1Njcm9sbFZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNjM0NDQ1QzEyQTg4NUU5MDAwNjEy
RDggLyogV0tTZWN1cml0eU9yaWdpbi5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAppbmRleCAyNDdkYWUzMzRmOTM0ZTcyYmMzOTZjMGI4ZWQ1YWM0NjY0NGY4YTA5Li5m
ZWM3Y2JiMjNkZmYxYmMwMmRkYmQxYjcxNGNlMWRlZWZhZDJhYzdlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQVBJQXJyYXkuaCIKICNpbmNs
dWRlICJBUElTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCisjaW5j
bHVkZSAiSGFuZ0RldGVjdGlvbkRpc2FibGVyLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVO
YXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgi
CiAjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdC5oIgpAQCAtMzM0LDYgKzMzNSw4IEBAIGJvb2wgV2Vi
Q2hyb21lQ2xpZW50OjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBGcmFtZSoKIAogICAgIGJvb2wgc2hvdWxkQ2xvc2UgPSBmYWxzZTsKIAorICAgIEhh
bmdEZXRlY3Rpb25EaXNhYmxlciBoYW5nRGV0ZWN0aW9uRGlzYWJsZXI7CisKICAgICB1bnNpZ25l
ZCBzeW5jU2VuZEZsYWdzID0gSVBDOjpJbmZvcm1QbGF0Zm9ybVByb2Nlc3NXaWxsU3VzcGVuZDsK
ICAgICBpZiAoV2ViUGFnZTo6c3luY2hyb25vdXNNZXNzYWdlc1Nob3VsZFNwaW5SdW5Mb29wKCkp
CiAgICAgICAgIHN5bmNTZW5kRmxhZ3MgfD0gSVBDOjpTcGluUnVuTG9vcFdoaWxlV2FpdGluZ0Zv
clJlcGx5OwpAQCAtMzcxLDYgKzM3NCw4IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpydW5KYXZh
U2NyaXB0QWxlcnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGFsZXJ0VGV4dCkKICAgICAv
LyBOb3RpZnkgdGhlIGJ1bmRsZSBjbGllbnQuCiAgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZVVJ
Q2xpZW50KCkud2lsbFJ1bkphdmFTY3JpcHRBbGVydChtX3BhZ2UsIGFsZXJ0VGV4dCwgd2ViRnJh
bWUpOwogCisgICAgSGFuZ0RldGVjdGlvbkRpc2FibGVyIGhhbmdEZXRlY3Rpb25EaXNhYmxlcjsK
KwogICAgIHVuc2lnbmVkIHN5bmNTZW5kRmxhZ3MgPSBJUEM6OkluZm9ybVBsYXRmb3JtUHJvY2Vz
c1dpbGxTdXNwZW5kOwogICAgIGlmIChXZWJQYWdlOjpzeW5jaHJvbm91c01lc3NhZ2VzU2hvdWxk
U3BpblJ1bkxvb3AoKSkKICAgICAgICAgc3luY1NlbmRGbGFncyB8PSBJUEM6OlNwaW5SdW5Mb29w
V2hpbGVXYWl0aW5nRm9yUmVwbHk7CkBAIC0zODUsNiArMzkwLDggQEAgYm9vbCBXZWJDaHJvbWVD
bGllbnQ6OnJ1bkphdmFTY3JpcHRDb25maXJtKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKQogICAgIC8vIE5vdGlmeSB0aGUgYnVuZGxlIGNsaWVudC4KICAgICBtX3BhZ2UtPmlu
amVjdGVkQnVuZGxlVUlDbGllbnQoKS53aWxsUnVuSmF2YVNjcmlwdENvbmZpcm0obV9wYWdlLCBt
ZXNzYWdlLCB3ZWJGcmFtZSk7CiAKKyAgICBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIgaGFuZ0RldGVj
dGlvbkRpc2FibGVyOworCiAgICAgdW5zaWduZWQgc3luY1NlbmRGbGFncyA9IElQQzo6SW5mb3Jt
UGxhdGZvcm1Qcm9jZXNzV2lsbFN1c3BlbmQ7CiAgICAgaWYgKFdlYlBhZ2U6OnN5bmNocm9ub3Vz
TWVzc2FnZXNTaG91bGRTcGluUnVuTG9vcCgpKQogICAgICAgICBzeW5jU2VuZEZsYWdzIHw9IElQ
Qzo6U3BpblJ1bkxvb3BXaGlsZVdhaXRpbmdGb3JSZXBseTsKQEAgLTQwMyw2ICs0MTAsOCBAQCBi
b29sIFdlYkNocm9tZUNsaWVudDo6cnVuSmF2YVNjcmlwdFByb21wdChGcmFtZSogZnJhbWUsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgYwogICAgIC8vIE5vdGlmeSB0aGUgYnVuZGxlIGNsaWVudC4K
ICAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlVUlDbGllbnQoKS53aWxsUnVuSmF2YVNjcmlwdFBy
b21wdChtX3BhZ2UsIG1lc3NhZ2UsIGRlZmF1bHRWYWx1ZSwgd2ViRnJhbWUpOwogCisgICAgSGFu
Z0RldGVjdGlvbkRpc2FibGVyIGhhbmdEZXRlY3Rpb25EaXNhYmxlcjsKKwogICAgIHVuc2lnbmVk
IHN5bmNTZW5kRmxhZ3MgPSBJUEM6OkluZm9ybVBsYXRmb3JtUHJvY2Vzc1dpbGxTdXNwZW5kOwog
ICAgIGlmIChXZWJQYWdlOjpzeW5jaHJvbm91c01lc3NhZ2VzU2hvdWxkU3BpblJ1bkxvb3AoKSkK
ICAgICAgICAgc3luY1NlbmRGbGFncyB8PSBJUEM6OlNwaW5SdW5Mb29wV2hpbGVXYWl0aW5nRm9y
UmVwbHk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255139</attachid>
            <date>2015-06-18 15:27:09 -0700</date>
            <delta_ts>2015-06-18 15:41:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146124-20150618152632.patch</filename>
            <type>text/plain</type>
            <size>15839</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTMyMzY4MWEwNGMyODI3
ZTJlM2FkYWQ3NjE5ODU5MGI5YzBmMjljYS4uOGY3ZWI3NGRjOGNmZTFiNDk4ZjIxYWI0NDI5MmFl
MDk4ZDViZTJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE1IEBACiAyMDE1LTA2LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3BpbnRyYWNlciB0
cmVhdHMgdGhlIHdlYiBwcm9jZXNzIGFzIGh1bmcgd2hlbiBpdCdzIHNob3dpbmcgSmF2YVNjcmlw
dCBkaWFsb2dzIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYxMjQKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjE0NDkz
OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaDoKKworMjAxNS0wNi0xOCAgQW5kZXJzIENh
cmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBzaG91bGRJbnRl
cnJ1cHRKYXZhU2NyaXB0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDYxMTgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDg3Mjg0NDE5OTBmNjlkMDdmOGY5ZjAzOWE1
OWQ3ZjQ4N2VkMjMxNzEuLmYyOWVmYTFhMTI2ZmZmNzc4MmUyMDM0OTUwMzQ2M2I0ZjZjNGEwZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMCBAQAogMjAxNS0wNi0xOCAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIFNwaW50cmFjZXIgdHJlYXRzIHRoZSB3
ZWIgcHJvY2VzcyBhcyBodW5nIHdoZW4gaXQncyBzaG93aW5nIEphdmFTY3JpcHQgZGlhbG9ncyBp
biB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ2MTI0CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIxNDQ5Mzk1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgSGFuZ0RldGVj
dGlvbkRpc2FibGVyIFJBSUkgb2JqZWN0IGFuZCB1c2UgaXQgZm9yIEphdmFTY3JpcHQgcGFuZWxz
LgorCisgICAgICAgICogU2hhcmVkL0hhbmdEZXRlY3Rpb25EaXNhYmxlci5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6SGFuZ0RldGVjdGlvbkRpc2FibGVyOjpIYW5nRGV0ZWN0aW9uRGlzYWJs
ZXIpOgorICAgICAgICAoV2ViS2l0OjpIYW5nRGV0ZWN0aW9uRGlzYWJsZXI6On5IYW5nRGV0ZWN0
aW9uRGlzYWJsZXIpOgorICAgICAgICAqIFNoYXJlZC9tYWMvSGFuZ0RldGVjdGlvbkRpc2FibGVy
TWFjLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6Y2xpZW50c01heUlnbm9yZUV2ZW50cyk6
CisgICAgICAgIChXZWJLaXQ6OnNldENsaWVudHNNYXlJZ25vcmVFdmVudHMpOgorICAgICAgICAo
V2ViS2l0OjpIYW5nRGV0ZWN0aW9uRGlzYWJsZXI6OkhhbmdEZXRlY3Rpb25EaXNhYmxlcik6Cisg
ICAgICAgIChXZWJLaXQ6OkhhbmdEZXRlY3Rpb25EaXNhYmxlcjo6fkhhbmdEZXRlY3Rpb25EaXNh
Ymxlcik6CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwpOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnJ1bkphdmFTY3JpcHRBbGVy
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6cnVuSmF2YVNjcmlwdENvbmZp
cm0pOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnJ1bkphdmFTY3JpcHRQcm9t
cHQpOgorCisyMDE1LTA2LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+
CisKICAgICAgICAgUmVtb3ZlIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjExOAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmgKaW5kZXggMTk4ZWZi
MmI1MGU3ODU4NDk5NmEzMzM3N2U2YThjNWYxNWI0NzU5Yi4uOWEwMjA5Y2MzNDJiNWIyNGU5MzU2
ZjRlYTVmYzIwNmIzMGFjOTIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jZy9Db3JlR3JhcGhpY3NTUEkuaApAQCAtMTc5LDYgKzE3OSw4IEBAIHZvaWQgQ0dGb250Q2Fj
aGVTZXRNYXhTaXplKENHRm9udENhY2hlKiwgc2l6ZV90KTsKICNpZiBQTEFURk9STShNQUMpCiBD
R1NDb25uZWN0aW9uSUQgQ0dTTWFpbkNvbm5lY3Rpb25JRCh2b2lkKTsKIENGQXJyYXlSZWYgQ0dT
SFdDYXB0dXJlV2luZG93TGlzdChDR1NDb25uZWN0aW9uSUQgY2lkLCBDR1NXaW5kb3dJRExpc3Qg
d2luZG93TGlzdCwgQ0dTV2luZG93Q291bnQgd2luZG93Q291bnQsIENHU1dpbmRvd0NhcHR1cmVP
cHRpb25zIG9wdGlvbnMpOworQ0dFcnJvciBDR1NTZXRDb25uZWN0aW9uUHJvcGVydHkoQ0dTQ29u
bmVjdGlvbklELCBDR1NDb25uZWN0aW9uSUQgb3duZXJDaWQsIENGU3RyaW5nUmVmIGtleSwgQ0ZU
eXBlUmVmIHZhbHVlKTsKK0NHRXJyb3IgQ0dTQ29weUNvbm5lY3Rpb25Qcm9wZXJ0eShDR1NDb25u
ZWN0aW9uSUQsIENHU0Nvbm5lY3Rpb25JRCBvd25lckNpZCwgQ0ZTdHJpbmdSZWYga2V5LCBDRlR5
cGVSZWYgKnZhbHVlKTsKICNlbmRpZgogCiBXVEZfRVhURVJOX0NfRU5ECmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvSGFuZ0RldGVjdGlvbkRpc2FibGVyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvSGFuZ0RldGVjdGlvbkRpc2FibGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWU4YjcwMWM2
NzM4OTIzNzYwNjBmNjIyYjZkMWVhMGNhNjgxZDQ5YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9IYW5nRGV0ZWN0aW9uRGlzYWJsZXIuaApAQCAtMCwwICsxLDU0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBIYW5nRGV0ZWN0aW9uRGlzYWJsZXJfaAorI2RlZmluZSBI
YW5nRGV0ZWN0aW9uRGlzYWJsZXJfaAorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgSGFu
Z0RldGVjdGlvbkRpc2FibGVyIHsKK3B1YmxpYzoKKyAgICBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIo
KTsKKyAgICB+SGFuZ0RldGVjdGlvbkRpc2FibGVyKCk7CisKK3ByaXZhdGU6CisjaWYgUExBVEZP
Uk0oTUFDKQorICAgIGJvb2wgbV9jbGllbnRzTWF5SWdub3JlRXZlbnRzOworI2VuZGlmCit9Owor
CisjaWYgIVBMQVRGT1JNKE1BQykKK2lubGluZSBIYW5nRGV0ZWN0aW9uRGlzYWJsZXI6OkhhbmdE
ZXRlY3Rpb25EaXNhYmxlcigpCit7Cit9CisKK2lubGluZSBIYW5nRGV0ZWN0aW9uRGlzYWJsZXI6
On5IYW5nRGV0ZWN0aW9uRGlzYWJsZXIoKQoreworfQorI2VuZGlmCisKK30KKworI2VuZGlmIC8v
IEhhbmdEZXRlY3Rpb25EaXNhYmxlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL0hhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvSGFuZ0RldGVjdGlvbkRpc2FibGVyTWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1NDFhMjE3Yjcx
ZWVmNjhiODhjYzU1M2Q1M2FkZmNjMWQyM2I4YzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL0hhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbQpAQCAtMCwwICsx
LDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkhhbmdE
ZXRlY3Rpb25EaXNhYmxlci5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9Db3JlR3JhcGhpY3NTUEku
aD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitz
dGF0aWMgY29uc3QgYXV0byBjbGllbnRzTWF5SWdub3JlRXZlbnRzS2V5ID0gQ0ZTVFIoIkNsaWVu
dE1heUlnbm9yZUV2ZW50cyIpOworCitzdGF0aWMgYm9vbCBjbGllbnRzTWF5SWdub3JlRXZlbnRz
KCkKK3sKKyAgICBDRlR5cGVSZWYgdmFsdWVQdHI7CisgICAgaWYgKENHU0NvcHlDb25uZWN0aW9u
UHJvcGVydHkoQ0dTTWFpbkNvbm5lY3Rpb25JRCgpLCBDR1NNYWluQ29ubmVjdGlvbklEKCksIGNs
aWVudHNNYXlJZ25vcmVFdmVudHNLZXksICZ2YWx1ZVB0cikgIT0ga0NHRXJyb3JTdWNjZXNzKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvIHZhbHVlID0gYWRvcHRDRih2YWx1ZVB0
cik7CisKKyAgICBpZiAoIXZhbHVlIHx8IENGR2V0VHlwZUlEKHZhbHVlLmdldCgpKSAhPSBDRkJv
b2xlYW5HZXRUeXBlSUQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHZh
bHVlID09IGtDRkJvb2xlYW5UcnVlOworfQorCitzdGF0aWMgdm9pZCBzZXRDbGllbnRzTWF5SWdu
b3JlRXZlbnRzKGJvb2wgY2xpZW50c01heUlnbm9yZUV2ZW50cykKK3sKKyAgICBpZiAoQ0dTU2V0
Q29ubmVjdGlvblByb3BlcnR5KENHU01haW5Db25uZWN0aW9uSUQoKSwgQ0dTTWFpbkNvbm5lY3Rp
b25JRCgpLCBjbGllbnRzTWF5SWdub3JlRXZlbnRzS2V5LCBjbGllbnRzTWF5SWdub3JlRXZlbnRz
ID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UpICE9IGtDR0Vycm9yU3VjY2VzcykK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK0hhbmdEZXRlY3Rpb25EaXNhYmxl
cjo6SGFuZ0RldGVjdGlvbkRpc2FibGVyKCkKKyAgICA6IG1fY2xpZW50c01heUlnbm9yZUV2ZW50
cyhjbGllbnRzTWF5SWdub3JlRXZlbnRzKCkpCit7CisgICAgc2V0Q2xpZW50c01heUlnbm9yZUV2
ZW50cyh0cnVlKTsKK30KKworSGFuZ0RldGVjdGlvbkRpc2FibGVyOjp+SGFuZ0RldGVjdGlvbkRp
c2FibGVyKCkKK3sKKyAgICBzZXRDbGllbnRzTWF5SWdub3JlRXZlbnRzKG1fY2xpZW50c01heUln
bm9yZUV2ZW50cyk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkY2VlODk0YWMyY2RkNGYxN2M0NGY5Y2I3MDc0OTk0
OTc2MmJkMDQ2Li44ZTUxOGNkOTEwYjFiZjE4Mzg0NzQ2NjRmY2I1YjU3ZTdhNzg2MDA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC00MzgsNiArNDM4LDggQEAKIAkJMUFDNzUzN0MxODNBOUZEQjAwNzJDQjE1IC8qIFBhZ2VMb2Fk
U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
Qzc1MzdBMTgzQTlGREIwMDcyQ0IxNSAvKiBQYWdlTG9hZFN0YXRlLmggKi87IH07CiAJCTFBQzc1
MzdGMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzc1MzdEMTgzQkU1MEYwMDcyQ0IxNSAv
KiBEYXRhUmVmZXJlbmNlLmNwcCAqLzsgfTsKIAkJMUFDNzUzODAxODNCRTUwRjAwNzJDQjE1IC8q
IERhdGFSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBQzc1MzdFMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNlLmggKi87IH07
CisJCTFBQzc1QTFCMUIzMzY4MjcwMDU2NzQ1QiAvKiBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzc1QTFBMUIz
MzY4MjcwMDU2NzQ1QiAvKiBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIuaCAqLzsgfTsKKwkJMUFDNzVB
MUUxQjMzNjk1RTAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzc1QTFDMUIzMzY5NUUw
MDU2NzQ1QiAvKiBIYW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMubW0gKi87IH07CiAJCTFBQzg2RkYz
MTMwQjQ2RDMwMDJDMTI1NyAvKiBXS1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM4NkZGMTEzMEI0NkQzMDAy
QzEyNTcgLyogV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwICovOyB9OwogCQkxQUM4NkZGNDEz
MEI0NkQzMDAyQzEyNTcgLyogV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzg2RkYyMTMwQjQ2RDMwMDJDMTI1
NyAvKiBXS1BsdWdpblNpdGVEYXRhTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBQ0M4N0JBMTk4MUMzNDEwMDNEMUFGNCAvKiBXS05h
dmlnYXRpb25Qcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUNDODdCOTE5ODFDMzQxMDAzRDFBRjQgLyogV0tOYXZpZ2F0aW9uUHJpdmF0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yNTYz
LDYgKzI1NjUsOCBAQAogCQkxQUM3NTM3QTE4M0E5RkRCMDA3MkNCMTUgLyogUGFnZUxvYWRTdGF0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlTG9hZFN0YXRlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQzc1MzdEMTgzQkU1MEYwMDcyQ0IxNSAvKiBE
YXRhUmVmZXJlbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERh
dGFSZWZlcmVuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUM3NTM3RTE4
M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEYXRhUmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFBQzc1QTFBMUIzMzY4MjcwMDU2NzQ1QiAvKiBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFuZ0RldGVjdGlvbkRpc2FibGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQzc1QTFDMUIzMzY5NUUwMDU2NzQ1QiAvKiBI
YW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBIYW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFBQzg2RkYxMTMwQjQ2RDMwMDJDMTI1NyAvKiBXS1BsdWdpblNpdGVEYXRh
TWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1BsdWdp
blNpdGVEYXRhTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQzg2
RkYyMTMwQjQ2RDMwMDJDMTI1NyAvKiBXS1BsdWdpblNpdGVEYXRhTWFuYWdlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1BsdWdpblNpdGVEYXRhTWFuYWdlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUNDODdCOTE5ODFDMzQxMDAzRDFBRjQgLyogV0tO
YXZpZ2F0aW9uUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS05h
dmlnYXRpb25Qcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00Njk5LDYg
KzQ3MDMsNyBAQAogCQkJCUJDRTgxRDhBMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5jcHAg
Ki8sCiAJCQkJQkNFODFEOEIxMzE5RjdFRjAwMjQxOTEwIC8qIEZvbnRJbmZvLmggKi8sCiAJCQkJ
NzYyQjc0ODExMjBCQkEwMTAwODE5MzM5IC8qIEZvbnRTbW9vdGhpbmdMZXZlbC5oICovLAorCQkJ
CTFBQzc1QTFBMUIzMzY4MjcwMDU2NzQ1QiAvKiBIYW5nRGV0ZWN0aW9uRGlzYWJsZXIuaCAqLywK
IAkJCQlGNjM4OTU0RjEzM0JFRjM4MDA4OTQxRDUgLyogSFRUUENvb2tpZUFjY2VwdFBvbGljeS5o
ICovLAogCQkJCUJDQ0Y2QjIzMTJDOTNFN0EwMDhGOUMzNSAvKiBJbWFnZU9wdGlvbnMuaCAqLywK
IAkJCQlDNThDREYyQjE4ODc2MDlGMDA4NzE1MzYgLyogSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0
UG9zaXRpb24uY3BwICovLApAQCAtNjQ0OCw2ICs2NDUzLDcgQEAKIAkJCQlDREMzODMwRDE3MjEy
NDJEMDA4QTJGQzMgLyogQ29va2llU3RvcmFnZVNoaW0ubW0gKi8sCiAJCQkJQ0RDMzgyRjkxNzIx
MTZEMzAwOEEyRkMzIC8qIENvb2tpZVN0b3JhZ2VTaGltTGlicmFyeS5jcHAgKi8sCiAJCQkJQ0RD
MzgzMEIxNzIxMjFDRTAwOEEyRkMzIC8qIENvb2tpZVN0b3JhZ2VTaGltTGlicmFyeS5oICovLAor
CQkJCTFBQzc1QTFDMUIzMzY5NUUwMDU2NzQ1QiAvKiBIYW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMu
bW0gKi8sCiAJCQkJNTE2M0VBNDMxQUNDNzRBRTAwMTJEMUU0IC8qIE5hdGl2ZUNvbnRleHRNZW51
SXRlbS5tbSAqLywKIAkJCQlDMDJCRkYxRDEyNTE1MDJFMDA5Q0NCRUEgLyogTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudE1hYy5tbSAqLywKIAkJCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0
aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLywKQEAgLTc5OTYsNiArODAwMiw3IEBACiAJCQkJQkMw
MzJERDExMEY0Mzg5RjAwNThDMTVBIC8qIFdlYlBhZ2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNCRDM5MTUxMjVCQjFBODAwRDJDMjlGIC8qIFdlYlBhZ2VQcm94eU1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTIxMjdDNDE5MDgyMzlBMDBEQUYzNUMgLyogV2ViUGFzdGVib2Fy
ZE92ZXJyaWRlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFDNzVBMUIxQjMzNjgyNzAwNTY3NDVC
IC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0Njk0RDEx
QTUxRTM2ODAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9hcmRQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0M0Njk0Q0ExQTRCNEVBMTAwQUQ1ODQ1IC8qIFdlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTNFNzM2MTExQ0MyNjU5MDA3QkQ1MzkgLyogV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKQEAgLTEwMDMyLDYgKzEwMDM5LDcgQEAK
IAkJCQkzNzk0ODQwODE1MEM0Qjk3MDBFNTJDRTkgLyogV0tSZW5kZXJMYXllci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkzNzYwODgyMjE1MDQxNEY3MDBGQzgyQzcgLyogV0tSZW5kZXJPYmplY3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzMzNjc2M0ExMzBDOTlEQzAwNkM5REUyIC8qIFdLUmVz
b3VyY2VDYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUFDNzVBMUUxQjMzNjk1
RTAwNTY3NDVCIC8qIEhhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTFBN0UzNzc4MThFNEE0RkUwMDNEMEZGRiAvKiBXS1NjcmlwdE1lc3NhZ2UubW0gaW4gU291
cmNlcyAqLywKIAkJCQkwRkNCNEU1NTE4QkJFMDQ0MDAwRkNGQzkgLyogV0tTY3JvbGxWaWV3Lm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJRjYzNDQ0NUMxMkE4ODVFOTAwMDYxMkQ4IC8qIFdLU2VjdXJp
dHlPcmlnaW4uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXgg
MjQ3ZGFlMzM0ZjkzNGU3MmJjMzk2YzBiOGVkNWFjNDY2NDRmOGEwOS4uZmVjN2NiYjIzZGZmMWJj
MDJkZGJkMWI3MTRjZTFkZWVmYWQyYWM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkFQSUFycmF5LmgiCiAjaW5jbHVkZSAiQVBJU2VjdXJp
dHlPcmlnaW4uaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYS5oIgorI2luY2x1ZGUgIkhhbmdEZXRl
Y3Rpb25EaXNhYmxlci5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlv
bi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oIgogI2luY2x1ZGUgIkxh
eWVyVHJlZUhvc3QuaCIKQEAgLTMzNCw2ICszMzUsOCBAQCBib29sIFdlYkNocm9tZUNsaWVudDo6
cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRnJhbWUq
CiAKICAgICBib29sIHNob3VsZENsb3NlID0gZmFsc2U7CiAKKyAgICBIYW5nRGV0ZWN0aW9uRGlz
YWJsZXIgaGFuZ0RldGVjdGlvbkRpc2FibGVyOworCiAgICAgdW5zaWduZWQgc3luY1NlbmRGbGFn
cyA9IElQQzo6SW5mb3JtUGxhdGZvcm1Qcm9jZXNzV2lsbFN1c3BlbmQ7CiAgICAgaWYgKFdlYlBh
Z2U6OnN5bmNocm9ub3VzTWVzc2FnZXNTaG91bGRTcGluUnVuTG9vcCgpKQogICAgICAgICBzeW5j
U2VuZEZsYWdzIHw9IElQQzo6U3BpblJ1bkxvb3BXaGlsZVdhaXRpbmdGb3JSZXBseTsKQEAgLTM3
MSw2ICszNzQsOCBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6cnVuSmF2YVNjcmlwdEFsZXJ0KEZy
YW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBhbGVydFRleHQpCiAgICAgLy8gTm90aWZ5IHRoZSBi
dW5kbGUgY2xpZW50LgogICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVVSUNsaWVudCgpLndpbGxS
dW5KYXZhU2NyaXB0QWxlcnQobV9wYWdlLCBhbGVydFRleHQsIHdlYkZyYW1lKTsKIAorICAgIEhh
bmdEZXRlY3Rpb25EaXNhYmxlciBoYW5nRGV0ZWN0aW9uRGlzYWJsZXI7CisKICAgICB1bnNpZ25l
ZCBzeW5jU2VuZEZsYWdzID0gSVBDOjpJbmZvcm1QbGF0Zm9ybVByb2Nlc3NXaWxsU3VzcGVuZDsK
ICAgICBpZiAoV2ViUGFnZTo6c3luY2hyb25vdXNNZXNzYWdlc1Nob3VsZFNwaW5SdW5Mb29wKCkp
CiAgICAgICAgIHN5bmNTZW5kRmxhZ3MgfD0gSVBDOjpTcGluUnVuTG9vcFdoaWxlV2FpdGluZ0Zv
clJlcGx5OwpAQCAtMzg1LDYgKzM5MCw4IEBAIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpydW5KYXZh
U2NyaXB0Q29uZmlybShGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICAv
LyBOb3RpZnkgdGhlIGJ1bmRsZSBjbGllbnQuCiAgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZVVJ
Q2xpZW50KCkud2lsbFJ1bkphdmFTY3JpcHRDb25maXJtKG1fcGFnZSwgbWVzc2FnZSwgd2ViRnJh
bWUpOwogCisgICAgSGFuZ0RldGVjdGlvbkRpc2FibGVyIGhhbmdEZXRlY3Rpb25EaXNhYmxlcjsK
KwogICAgIHVuc2lnbmVkIHN5bmNTZW5kRmxhZ3MgPSBJUEM6OkluZm9ybVBsYXRmb3JtUHJvY2Vz
c1dpbGxTdXNwZW5kOwogICAgIGlmIChXZWJQYWdlOjpzeW5jaHJvbm91c01lc3NhZ2VzU2hvdWxk
U3BpblJ1bkxvb3AoKSkKICAgICAgICAgc3luY1NlbmRGbGFncyB8PSBJUEM6OlNwaW5SdW5Mb29w
V2hpbGVXYWl0aW5nRm9yUmVwbHk7CkBAIC00MDMsNiArNDEwLDggQEAgYm9vbCBXZWJDaHJvbWVD
bGllbnQ6OnJ1bkphdmFTY3JpcHRQcm9tcHQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGMKICAgICAvLyBOb3RpZnkgdGhlIGJ1bmRsZSBjbGllbnQuCiAgICAgbV9wYWdlLT5p
bmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkud2lsbFJ1bkphdmFTY3JpcHRQcm9tcHQobV9wYWdlLCBt
ZXNzYWdlLCBkZWZhdWx0VmFsdWUsIHdlYkZyYW1lKTsKIAorICAgIEhhbmdEZXRlY3Rpb25EaXNh
YmxlciBoYW5nRGV0ZWN0aW9uRGlzYWJsZXI7CisKICAgICB1bnNpZ25lZCBzeW5jU2VuZEZsYWdz
ID0gSVBDOjpJbmZvcm1QbGF0Zm9ybVByb2Nlc3NXaWxsU3VzcGVuZDsKICAgICBpZiAoV2ViUGFn
ZTo6c3luY2hyb25vdXNNZXNzYWdlc1Nob3VsZFNwaW5SdW5Mb29wKCkpCiAgICAgICAgIHN5bmNT
ZW5kRmxhZ3MgfD0gSVBDOjpTcGluUnVuTG9vcFdoaWxlV2FpdGluZ0ZvclJlcGx5Owo=
</data>
<flag name="review"
          id="280184"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>