<?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>44745</bug_id>
          
          <creation_ts>2010-08-26 20:42:00 -0700</creation_ts>
          <short_desc>Number.toFixed/toExponential/toPrecision are inaccurate.</short_desc>
          <delta_ts>2010-08-27 13:13:00 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>ap</cc>
    
    <cc>eric</cc>
    
    <cc>jwalden+bwo</cc>
    
    <cc>pam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>270295</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-26 20:42:00 -0700</bug_when>
    <thetext>These methods should be using a version of dtoa that can generate results accurate to the requested precision, whereas our version of dtoa is only currently able to support producing results sufficiently accurate to distinguish the value from any other IEEE-754 double precision number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270296</commentid>
    <comment_count>1</comment_count>
      <attachid>65670</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-26 20:42:49 -0700</bug_when>
    <thetext>Created attachment 65670
Initial patch, no changelog, need layout test results updating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270363</commentid>
    <comment_count>2</comment_count>
      <attachid>65687</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-27 00:57:55 -0700</bug_when>
    <thetext>Created attachment 65687
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270365</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-27 00:59:39 -0700</bug_when>
    <thetext>Attachment 65687 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
JavaScriptCore/wtf/dtoa.cpp:1656:  One line control clauses should not use braces.  [whitespace/braces] [4]
JavaScriptCore/wtf/DecimalNumber.h:26:  #ifndef header guard has wrong style, please use: DecimalNumber_h  [build/header_guard] [5]
Total errors found: 2 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270368</commentid>
    <comment_count>4</comment_count>
      <attachid>65688</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-27 01:02:45 -0700</bug_when>
    <thetext>Created attachment 65688
Style fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270381</commentid>
    <comment_count>5</comment_count>
      <attachid>65688</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-08-27 01:48:46 -0700</bug_when>
    <thetext>Comment on attachment 65688
Style fixes

r=me assuming perf is good</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270510</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-08-27 08:38:01 -0700</bug_when>
    <thetext>How does this relate to bug 16653, bug 16651, bug 31777, bug 24711, bug 14468?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270673</commentid>
    <comment_count>7</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-27 12:48:23 -0700</bug_when>
    <thetext>*** Bug 24711 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270676</commentid>
    <comment_count>8</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-27 12:52:06 -0700</bug_when>
    <thetext>*** Bug 14468 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270681</commentid>
    <comment_count>9</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-27 12:58:46 -0700</bug_when>
    <thetext>*** Bug 16651 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270688</commentid>
    <comment_count>10</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-27 13:06:39 -0700</bug_when>
    <thetext>Hey Alexy, (In reply to comment #6)
&gt; How does this relate to bug

Thanks, good question!

&gt; 16653,

I don&apos;t think we&apos;re going to break from the spec here, closing won&apos;t fix.

&gt; bug 16651, bug 31777, bug 24711, bug 14468?

These bugs should all be fixed by this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270693</commentid>
    <comment_count>11</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-27 13:13:00 -0700</bug_when>
    <thetext>Fixed in r66245.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65670</attachid>
            <date>2010-08-26 20:42:49 -0700</date>
            <delta_ts>2010-08-27 00:57:55 -0700</delta_ts>
            <desc>Initial patch, no changelog, need layout test results updating.</desc>
            <filename>dtoafix.patch</filename>
            <type>text/plain</type>
            <size>19065</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9EZWNpbWFsTnVtYmVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvd3RmL0RlY2ltYWxOdW1iZXIuaAkocmV2aXNpb24gNjYxNzApCisrKyBK
YXZhU2NyaXB0Q29yZS93dGYvRGVjaW1hbE51bWJlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywx
MiArMjMsMTAgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgRGVjaW1hbE51bWJl
cl9oCi0jZGVmaW5lIERlY2ltYWxOdW1iZXJfaAorI2lmbmRlZiBXVEZfRGVjaW1hbE51bWJlcl9o
CisjZGVmaW5lIFdURl9EZWNpbWFsTnVtYmVyX2gKIAotI2luY2x1ZGUgPG1hdGguaD4KICNpbmNs
dWRlIDx3dGYvZHRvYS5oPgotI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtNDMsMTA4ICs0MSw0
NSBAQCBjbGFzcyBEZWNpbWFsTnVtYmVyIHsKIHB1YmxpYzoKICAgICBEZWNpbWFsTnVtYmVyKGRv
dWJsZSBkKQogICAgIHsKLSAgICAgICAgYm9vbCBzaWduID0gZCA8IDA7IC8vIFRoaXMgKGNvcnJl
Y3RseSkgaWdub3JlcyB0aGUgc2lnbiBvbiAtMC4wLgotICAgICAgICBpbml0KHNpZ24sIGQpOwor
ICAgICAgICBBU1NFUlQoIWlzbmFuKGQpICYmICFpc2luZihkKSk7CisgICAgICAgIGR0b2EobV9z
aWduaWZpY2FuZCwgZCwgbV9zaWduLCBtX2V4cG9uZW50LCBtX3ByZWNpc2lvbik7CisKKyAgICAg
ICAgQVNTRVJUKG1fcHJlY2lzaW9uKTsKKyAgICAgICAgLy8gWmVybyBzaG91bGQgYWx3YXlzIGhh
dmUgZXhwb25lbnQgMC4KKyAgICAgICAgQVNTRVJUKG1fc2lnbmlmaWNhbmRbMF0gIT0gJzAnIHx8
ICFtX2V4cG9uZW50KTsKKyAgICAgICAgLy8gTm8gdmFsdWVzIG90aGVyIHRoYW4gemVybyBzaG91
bGQgaGF2ZSBhIGxlYWRpbmcgemVyby4KKyAgICAgICAgQVNTRVJUKG1fc2lnbmlmaWNhbmRbMF0g
IT0gJzAnIHx8IG1fcHJlY2lzaW9uID09IDEpOworICAgICAgICAvLyBObyB2YWx1ZXMgb3RoZXIg
dGhhbiB6ZXJvIHNob3VsZCBoYXZlIHRyYWlsaW5nIHplcm9zLgorICAgICAgICBBU1NFUlQobV9z
aWduaWZpY2FuZFswXSA9PSAnMCcgfHwgbV9zaWduaWZpY2FuZFttX3ByZWNpc2lvbiAtIDFdICE9
ICcwJyk7CiAgICAgfQogCi0gICAgLy8gSWYgb3VyIHZlcnNpb24gb2YgZHRvYSBjb3VsZCByb3Vu
ZCB0byBhIGdpdmVuIG51bWJlciBvZiBzaWduaWZpY2FudCBmaWd1cmVzIHRoZW4KLSAgICAvLyB3
ZSBjb3VsZCByZW1vdmUgdGhlIHByZS1yb3VuZGluZyBjb2RlIGZyb20gaGVyZS4gIFdlIGNvdWxk
IGFsc28gZG8gc28ganVzdCBieQotICAgIC8vIGNhbGxpbmcgZHRvYSBhbmQgcG9zdC1yb3VuZGlu
ZywgaG93ZXZlciBjdXJyZW50bHkgdGhpcyBpcyBzbG93ZXIsIHNpbmNlIGl0IGZvcmNlcwotICAg
IC8vIGR0b2EgdG8gZ2VuZXJhdGUgYSBoaWdoZXIgcHJlc2lzaW9uIHJlc3VsdC4KICAgICBEZWNp
bWFsTnVtYmVyKGRvdWJsZSBkLCBSb3VuZGluZ1NpZ25pZmljYW50RmlndXJlc1R5cGUsIHVuc2ln
bmVkIHNpZ25pZmljYW50RmlndXJlcykKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNuYW4oZCkg
JiYgIWlzaW5mKGQpKTsKLSAgICAgICAgQVNTRVJUKHNpZ25pZmljYW50RmlndXJlcyAmJiBzaWdu
aWZpY2FudEZpZ3VyZXMgPD0gMjEpOworICAgICAgICBkdG9hUm91bmRTRihtX3NpZ25pZmljYW5k
LCBkLCBzaWduaWZpY2FudEZpZ3VyZXMsIG1fc2lnbiwgbV9leHBvbmVudCwgbV9wcmVjaXNpb24p
OwogCi0gICAgICAgIGJvb2wgc2lnbiA9IGQgPCAwOyAvLyBUaGlzIChjb3JyZWN0bHkpIGlnbm9y
ZXMgdGhlIHNpZ24gb24gLTAuMC4KLSAgICAgICAgZCA9IGZhYnMoZCk7IC8vIG1ha2UgZCBwb3Np
dGl2ZSBiZWZvcmUgZ29pbmcgYW55IGZ1cnRoZXIuCi0KLSAgICAgICAgaW50IGFkanVzdCA9IDA7
Ci0gICAgICAgIGlmIChkKSB7Ci0gICAgICAgICAgICAvLyBUbyByb3VuZCBhIG51bWJlciB3ZSBh
bGlnbiBpdCBzdWNoIHRoYXQgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGRpZ2l0cyBhcmUKLSAgICAg
ICAgICAgIC8vIHRvIHRoZSBsZWZ0IG9mIHRoZSBkZWNpbWFsIHBvaW50LCB0aGVuIGZsb29yL2Nl
aWwuICBGb3IgZXhhbXBsZSwgdG8gcm91bmQKLSAgICAgICAgICAgIC8vIDEzNTc5IHRvIDMgcy5m
LiB3ZSBmaXJzdCBhZGp1c3QgaXQgdG8gMTM1Ljc5LCB1c2UgZmxvb3IvY2VpbCB0byBvYnRhaW4g
dGhlCi0gICAgICAgICAgICAvLyB2YWx1ZXMgMTM1LzEzNiwgYW5kIHRoZW4gc2VsZWN0IDEzNiAo
c2luY2UgdGhpcyBpcyBjbG9zZXN0IHRvIDEzNS43OSkuCi0gICAgICAgICAgICAvLyBUaGVyZSBh
cmUgY3VycmVudGx5IChleHAgKyAxKSBkaWdpdHMgdG8gdGhlIGxlZnQgb2YgdGhlIGRlY2ltYWwg
cG9pbnQsCi0gICAgICAgICAgICAvLyBhbmQgd2Ugd2FudCB0aHNpIHRvIGJlIHNpZ25pZmljYW50
RmlndXJlcywgc28gd2UncmUgZ29pbmcgdG8gYWRqdXN0IHRoZQotICAgICAgICAgICAgLy8gZXhw
b25lbnQgYnkgKChleHAgKyAxKSAtIHNpZ25pZmljYW50RmlndXJlcykuICBBZGp1c3QgaXMgZWZm
ZWN0aXZlbHkKLSAgICAgICAgICAgIC8vIGEgY291bnQgb2YgaG93IG1hbnkgZGVjaW1hbCBkaWdp
dHMgdG8gcmlnaHQtc2hpZnQgdGhlIG51bWJlciBieS4KLSAgICAgICAgICAgIGludCBleHAgPSBz
dGF0aWNfY2FzdDxpbnQ+KGZsb29yKGxvZzEwKGQpKSk7Ci0gICAgICAgICAgICBhZGp1c3QgPSAo
ZXhwICsgMSkgLSBzaWduaWZpY2FudEZpZ3VyZXM7Ci0KLSAgICAgICAgICAgIC8vIElmIHRoZSBh
ZGp1c3QgdmFsdWUgbWlnaHQgYmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgLSBvciB6ZXJvLiAgSWYg
emVybywgdGhlbgotICAgICAgICAgICAgLy8gbm90aGluZyB0byBkbyEgLSB0aGUgbnVtYmVyIGlz
IGFscmVhZHkgYXBwcm9wcmlhdGVseSBhbGlnbmVkLiAgSWYgYWRqdXN0Ci0gICAgICAgICAgICAv
LyBpcyBwb3NpdGl2ZSB0aGVuIGRpdmlkZSBkIGJ5IDEwXmFkanVzdC4gIElmIGFkanVzdCBpcyBu
ZWdhdGl2ZSBtdWx0aXBseSBkCi0gICAgICAgICAgICAvLyBieSAxMF4tYWRqdXN0LiBUaGlzIGlz
IG1hdGhlbWF0aWNhbGx5IHRoZSBzYW1lLCBidXQgYXZvaWRzIHR3byBmcCBkaXZpZGVzCi0gICAg
ICAgICAgICAvLyAob25lIGluc2lkZSBpbnRQb3cxMCwgd2hlcmUgdGhlIHBvd2VyIGlzIG5lZ2F0
aXZlKS4KLSAgICAgICAgICAgIGlmIChhZGp1c3QgPiAwKQotICAgICAgICAgICAgICAgIGQgLz0g
aW50UG93MTAoYWRqdXN0KTsKLSAgICAgICAgICAgIGVsc2UgaWYgKGFkanVzdCA8IDApCi0gICAg
ICAgICAgICAgICAgZCAqPSBpbnRQb3cxMCgtYWRqdXN0KTsKLQotICAgICAgICAgICAgLy8gVHJ5
IHJvdW5kaW5nIHVwICYgcm91bmRpbmcgZG93biwgc2VsZWN0IHdoaWNoZXZlciBpcyBjbG9zZXN0
IChyb3VuZGluZyB1cCBpZiBlcXVhbCBkaXN0YW5jZSkuCi0gICAgICAgICAgICBkb3VibGUgZmxv
b3JPZkQgPSBmbG9vcihkKTsKLSAgICAgICAgICAgIGRvdWJsZSBjZWlsT2ZEID0gZmxvb3JPZkQg
KyAxOwotICAgICAgICAgICAgZCA9IChmYWJzKGNlaWxPZkQgLSBkKSA8PSBmYWJzKGZsb29yT2ZE
IC0gZCkpID8gY2VpbE9mRCA6IGZsb29yT2ZEOwotCi0gICAgICAgICAgICAvLyBUaGUgbnVtYmVy
J3MgZXhwb25lbnQgaGFzIGJlZW4gYWx0ZXJlZCAtIGJ1dCBkb24ndCBjaGFuZ2UgaXQgYmFjayEg
IFdlIGNhbgotICAgICAgICAgICAgLy8ganVzdCBydW4gZHRvYSBvbiB0aGUgbW9kaWZpZWQgdmFs
dWUsIGFuZCBhZGp1c3QgdGhlIGV4cG9uZW50IGFmdGVyd2FyZCB0bwotICAgICAgICAgICAgLy8g
YWNjb3VudCBmb3IgdGhpcy4KLSAgICAgICAgfQotCi0gICAgICAgIGluaXQoc2lnbiwgZCk7Ci0K
LSAgICAgICAgLy8gV2UgYWx0ZXJlcmVkIHRoZSB2YWx1ZSB3aGVuIHJvdW5kaW5nIGl0IC0gbW9k
aWZ5IHRoZSBleHBvbmVudCB0byBhZGp1c3QgZm9yIHRoaXMsCi0gICAgICAgIC8vIGJ1dCBkb24n
dCBtZXNzIHdpdGggdGhlIGV4cG9uZW50IG9mIHplcm8uCi0gICAgICAgIGlmICghaXNaZXJvKCkp
Ci0gICAgICAgICAgICBtX2V4cG9uZW50ICs9IGFkanVzdDsKKyAgICAgICAgQVNTRVJUKHNpZ25p
ZmljYW50RmlndXJlcyAmJiBzaWduaWZpY2FudEZpZ3VyZXMgPD0gc2l6ZW9mKER0b2FCdWZmZXIp
KTsKKyAgICAgICAgd2hpbGUgKG1fcHJlY2lzaW9uIDwgc2lnbmlmaWNhbnRGaWd1cmVzKQorICAg
ICAgICAgICAgbV9zaWduaWZpY2FuZFttX3ByZWNpc2lvbisrXSA9ICcwJzsKIAotICAgICAgICAv
LyBNYWtlIHN1cmUgdGhlIHNpZ25pZmljYW5kIGRvZXMgbm90IGNvbnRhaW4gbW9yZSBkaWdpdHMg
dGhhbiByZXF1ZXN0ZWQuCi0gICAgICAgIHJvdW5kVG9QcmVjaXNpb24oc2lnbmlmaWNhbnRGaWd1
cmVzKTsKKyAgICAgICAgQVNTRVJUKG1fcHJlY2lzaW9uKTsKKyAgICAgICAgLy8gWmVybyBzaG91
bGQgYWx3YXlzIGhhdmUgZXhwb25lbnQgMC4KKyAgICAgICAgQVNTRVJUKG1fc2lnbmlmaWNhbmRb
MF0gIT0gJzAnIHx8ICFtX2V4cG9uZW50KTsKICAgICB9CiAKLSAgICAvLyBJZiBvdXIgdmVyc2lv
biBvZiBkdG9hIGNvdWxkIHJvdW5kIHRvIGEgZ2l2ZW4gbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2Vz
IHRoZW4gd2UKLSAgICAvLyBjb3VsZCByZW1vdmUgdGhlIHByZS1yb3VuZGluZyBjb2RlIGZyb20g
aGVyZS4gIFdlIGNvdWxkIGFsc28gZG8gc28ganVzdCBieSBjYWxsaW5nCi0gICAgLy8gZHRvYSBh
bmQgcG9zdC1yb3VuZGluZywgaG93ZXZlciBjdXJyZW50bHkgdGhpcyBpcyBzbG93ZXIsIHNpbmNl
IGl0IGZvcmNlcyBkdG9hIHRvCi0gICAgLy8gZ2VuZXJhdGUgYSBoaWdoZXIgcHJlc2lzaW9uIHJl
c3VsdC4KICAgICBEZWNpbWFsTnVtYmVyKGRvdWJsZSBkLCBSb3VuZGluZ0RlY2ltYWxQbGFjZXNU
eXBlLCB1bnNpZ25lZCBkZWNpbWFsUGxhY2VzKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc25h
bihkKSAmJiAhaXNpbmYoZCkpOwotICAgICAgICBBU1NFUlQoZGVjaW1hbFBsYWNlcyA8PSAyMCk7
Ci0KLSAgICAgICAgYm9vbCBzaWduID0gZCA8IDA7IC8vIFRoaXMgKGNvcnJlY3RseSkgaWdub3Jl
cyB0aGUgc2lnbiBvbiAtMC4wLgotICAgICAgICBkID0gZmFicyhkKTsgLy8gTWFrZSBkIHBvc2l0
aXZlIGJlZm9yZSBnb2luZyBhbnkgZnVydGhlci4KLQotICAgICAgICBBU1NFUlQoZCA8IDFlKzIx
KTsgLy8gV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgcm91bmRpbmcgdG8gZGVjaW1hbCBwbGFj
ZXMgZm9yIHZhbHVlcyA+PSAxZSsyMS4KLQotICAgICAgICAvLyBBZGp1c3QgdGhlIG51bWJlciBi
eSBpbmNyZWFzaW5nIHRoZSBleHBvbmVudCBieSBkZWNpbWFsUGxhY2VzLCBzdWNoCi0gICAgICAg
IC8vIHRoYXQgd2UgY2FuIHJvdW5kIHRvIHRoaXMgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIGpz
aW5nIGZsb29yLgotICAgICAgICBpZiAoZGVjaW1hbFBsYWNlcykKLSAgICAgICAgICAgIGQgKj0g
aW50UG93MTAoZGVjaW1hbFBsYWNlcyk7Ci0gICAgICAgIC8vIFRyeSByb3VuZGluZyB1cCAmIHJv
dW5kaW5nIGRvd24sIHNlbGVjdCB3aGljaGV2ZXIgaXMgY2xvc2VzdCAocm91bmRpbmcgdXAgaWYg
ZXF1YWwgZGlzdGFuY2UpLgotICAgICAgICBkb3VibGUgZmxvb3JPZkQgPSBmbG9vcihkKTsKLSAg
ICAgICAgZG91YmxlIGNlaWxPZkQgPSBmbG9vck9mRCArIDE7Ci0gICAgICAgIGQgPSAoZmFicyhj
ZWlsT2ZEIC0gZCkgPD0gZmFicyhmbG9vck9mRCAtIGQpKSA/IGNlaWxPZkQgOiBmbG9vck9mRDsK
LSAgICAgICAgLy8gVGhlIG51bWJlcidzIGV4cG9uZW50IGhhcyBiZWVuIGFsdGVyZWQgLSBidXQg
ZG9uJ3QgY2hhbmdlIGl0IGJhY2shICBXZSBjYW4KLSAgICAgICAgLy8ganVzdCBydW4gZHRvYSBv
biB0aGUgbW9kaWZpZWQgdmFsdWUsIGFuZCBhZGp1c3QgdGhlIGV4cG9uZW50IGFmdGVyd2FyZCB0
bwotICAgICAgICAvLyBhY2NvdW50IGZvciB0aGlzLgotCi0gICAgICAgIGluaXQoc2lnbiwgZCk7
Ci0KLSAgICAgICAgLy8gV2Ugcm91bmVkIHRoZSB2YWx1ZSBiZWZvcmUgY2FsbGluZyBkdG9hLCBz
byB0aGUgcmVzdWx0IHNob3VsZCBub3QgYmUgZnJhY3Rpb25hbC4KLSAgICAgICAgQVNTRVJUKG1f
ZXhwb25lbnQgPj0gMCk7Ci0KLSAgICAgICAgLy8gV2UgYWx0ZXJlcmVkIHRoZSB2YWx1ZSB3aGVu
IHJvdW5kaW5nIGl0IC0gbW9kaWZ5IHRoZSBleHBvbmVudCB0byBhZGp1c3QgZm9yIHRoaXMsCi0g
ICAgICAgIC8vIGJ1dCBkb24ndCBtZXNzIHdpdGggdGhlIGV4cG9uZW50IG9mIHplcm8uCi0gICAg
ICAgIGlmICghaXNaZXJvKCkpCi0gICAgICAgICAgICBtX2V4cG9uZW50IC09IGRlY2ltYWxQbGFj
ZXM7Ci0KLSAgICAgICAgLy8gVGhlIHZhbHVlIHdhcyA8IDFlKzIxIGJlZm9yZSB3ZSBzdGFydGVk
LCBzaG91bGQgc3RpbGwgYmUuCi0gICAgICAgIEFTU0VSVChtX2V4cG9uZW50IDwgMjEpOworICAg
ICAgICBkdG9hUm91bmREUChtX3NpZ25pZmljYW5kLCBkLCBkZWNpbWFsUGxhY2VzLCBtX3NpZ24s
IG1fZXhwb25lbnQsIG1fcHJlY2lzaW9uKTsKIAogICAgICAgICB1bnNpZ25lZCBzaWduaWZpY2Fu
dEZpZ3VyZXMgPSAxICsgbV9leHBvbmVudCArIGRlY2ltYWxQbGFjZXM7Ci0gICAgICAgIEFTU0VS
VChzaWduaWZpY2FudEZpZ3VyZXMgJiYgc2lnbmlmaWNhbnRGaWd1cmVzIDw9IDQxKTsKLSAgICAg
ICAgcm91bmRUb1ByZWNpc2lvbihzaWduaWZpY2FudEZpZ3VyZXMpOworICAgICAgICBBU1NFUlQo
c2lnbmlmaWNhbnRGaWd1cmVzICYmIHNpZ25pZmljYW50RmlndXJlcyA8PSBzaXplb2YoRHRvYUJ1
ZmZlcikpOworICAgICAgICB3aGlsZSAobV9wcmVjaXNpb24gPCBzaWduaWZpY2FudEZpZ3VyZXMp
CisgICAgICAgICAgICBtX3NpZ25pZmljYW5kW21fcHJlY2lzaW9uKytdID0gJzAnOworCisgICAg
ICAgIEFTU0VSVChtX3ByZWNpc2lvbik7CisgICAgICAgIC8vIFplcm8gc2hvdWxkIGFsd2F5cyBo
YXZlIGV4cG9uZW50IDAuCisgICAgICAgIEFTU0VSVChtX3NpZ25pZmljYW5kWzBdICE9ICcwJyB8
fCAhbV9leHBvbmVudCk7CiAgICAgfQogCiAgICAgdW5zaWduZWQgdG9TdHJpbmdEZWNpbWFsKE51
bWJlclRvU3RyaW5nQnVmZmVyJiBidWZmZXIpCkBAIC0yNDcsNzUgKzE4Miw2IEBAIHB1YmxpYzoK
ICAgICB1bnNpZ25lZCBwcmVjaXNpb24oKSB7IHJldHVybiBtX3ByZWNpc2lvbjsgfQogCiBwcml2
YXRlOgotICAgIHZvaWQgaW5pdChib29sIHNpZ24sIGRvdWJsZSBkKQotICAgIHsKLSAgICAgICAg
QVNTRVJUKCFpc25hbihkKSAmJiAhaXNpbmYoZCkpOwotCi0gICAgICAgIGludCBkZWNpbWFsUG9p
bnQ7Ci0gICAgICAgIGludCBzaWduVW51c2VkOwotICAgICAgICBjaGFyKiByZXN1bHRFbmQgPSAw
OwotICAgICAgICBXVEY6OmR0b2EobV9zaWduaWZpY2FuZCwgZCwgMCwgJmRlY2ltYWxQb2ludCwg
JnNpZ25VbnVzZWQsICZyZXN1bHRFbmQpOwotCi0gICAgICAgIG1fc2lnbiA9IHNpZ247Ci0gICAg
ICAgIG1fcHJlY2lzaW9uID0gcmVzdWx0RW5kIC0gbV9zaWduaWZpY2FuZDsKLSAgICAgICAgbV9l
eHBvbmVudCA9IGRlY2ltYWxQb2ludCAtIDE7Ci0KLSAgICAgICAgLy8gTm8gdmFsdWVzIG90aGVy
IHRoYW4gemVybyBzaG91bGQgaGF2ZSBhIGxlYWRpbmcgemVyby4KLSAgICAgICAgQVNTRVJUKG1f
c2lnbmlmaWNhbmRbMF0gIT0gJzAnIHx8IG1fcHJlY2lzaW9uID09IDEpOwotICAgICAgICAvLyBa
ZXJvIHNob3VsZCBhbHdheXMgaGF2ZSBleHBvbmVudCAwLgotICAgICAgICBBU1NFUlQobV9zaWdu
aWZpY2FuZFswXSAhPSAnMCcgfHwgIW1fZXhwb25lbnQpOwotICAgIH0KLQotICAgIGJvb2wgaXNa
ZXJvKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3NpZ25pZmljYW5kWzBdID09ICcwJzsKLSAg
ICB9Ci0KLSAgICAvLyBXZSBwcmUtcm91bmQgdGhlIHZhbHVlcyB0byBkdG9hIC0gd2hpY2ggbGVh
ZHMgdG8gaXQgZ2VuZXJhdGluZyBmYXN0ZXIgcmVzdWx0cy4KLSAgICAvLyBCdXQgZHRvYSB3b24n
dCBoYXZlIHplcm8gcGFkZGVkIHRoZSBzaWduaWZpY2FuZCB0byB0aGUgcHJlY2lzaW9uIHdlIHJl
cXVpcmUsCi0gICAgLy8gYW5kIGFsc28gbWlnaHQgaGF2ZSBwcm9kdWNlZCB0b28gbWFueSBkaWdp
dHMgaWYgcm91bmRpbmcgd2VudCB3cm9uZyBzb21laG93LgotICAgIC8vIEFkanVzdCBmb3IgdGhp
cy4KLSAgICB2b2lkIHJvdW5kVG9QcmVjaXNpb24odW5zaWduZWQgc2lnbmlmaWNhbnRGaWd1cmVz
KQotICAgIHsKLSAgICAgICAgQVNTRVJUKHNpZ25pZmljYW50RmlndXJlcyAmJiBzaWduaWZpY2Fu
dEZpZ3VyZXMgPD0gc2l6ZW9mKER0b2FCdWZmZXIpKTsKLQotICAgICAgICAvLyBJZiB0aGVyZSBh
cmUgdG9vIGZldyBvZiB0b28gbWFueSBkaWdpdHMgaW4gdGhlIHNpZ25pZmljYW5kIHRoZW4gYWRk
IG1vcmUsIG9yIHJlbW92ZSBzb21lIQotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtX3ByZWNp
c2lvbjsgaSA8IHNpZ25pZmljYW50RmlndXJlczsgKytpKQotICAgICAgICAgICAgbV9zaWduaWZp
Y2FuZFtpXSA9ICcwJzsKLSAgICAgICAgbV9wcmVjaXNpb24gPSBzaWduaWZpY2FudEZpZ3VyZXM7
Ci0gICAgfQotCi0gICAgZG91YmxlIGludFBvdzEwKGludCBlKQotICAgIHsKLSAgICAgICAgLy8g
VGhpcyBmdW5jdGlvbiB1c2VzIHRoZSAiZXhwb25lbnRpYXRpb24gYnkgc3F1YXJpbmciIGFsZ29y
aXRobSBhbmQKLSAgICAgICAgLy8gbG9uZyBkb3VibGUgdG8gcXVpY2tseSBhbmQgcHJlY2lzZWx5
IGNhbGN1bGF0ZSBpbnRlZ2VyIHBvd2VycyBvZiAxMC4wLgotCi0gICAgICAgIC8vIFRoaXMgaXMg
YSBoYW5keSB3b3JrYXJvdW5kIGZvciA8cmRhcjovL3Byb2JsZW0vNDQ5NDc1Nj4KLQotICAgICAg
ICBpZiAoIWUpCi0gICAgICAgICAgICByZXR1cm4gMS4wOwotCi0gICAgICAgIGJvb2wgbmVnYXRp
dmUgPSBlIDwgMDsKLSAgICAgICAgdW5zaWduZWQgZXhwID0gbmVnYXRpdmUgPyAtZSA6IGU7Ci0K
LSAgICAgICAgbG9uZyBkb3VibGUgcmVzdWx0ID0gMTAuMDsKLSAgICAgICAgYm9vbCBmb3VuZE9u
ZSA9IGZhbHNlOwotICAgICAgICBmb3IgKGludCBiaXQgPSAzMTsgYml0ID49IDA7IGJpdC0tKSB7
Ci0gICAgICAgICAgICBpZiAoIWZvdW5kT25lKSB7Ci0gICAgICAgICAgICAgICAgaWYgKChleHAg
Pj4gYml0KSAmIDEpCi0gICAgICAgICAgICAgICAgICAgIGZvdW5kT25lID0gdHJ1ZTsKLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICogcmVzdWx0
OwotICAgICAgICAgICAgICAgIGlmICgoZXhwID4+IGJpdCkgJiAxKQotICAgICAgICAgICAgICAg
ICAgICByZXN1bHQgPSByZXN1bHQgKiAxMC4wOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0K
LSAgICAgICAgaWYgKG5lZ2F0aXZlKQotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGRv
dWJsZT4oMS4wIC8gcmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4o
cmVzdWx0KTsKLSAgICB9Ci0KICAgICBib29sIG1fc2lnbjsKICAgICBpbnQgbV9leHBvbmVudDsK
ICAgICBEdG9hQnVmZmVyIG1fc2lnbmlmaWNhbmQ7CkBAIC0zMjksNCArMTk1LDQgQEAgdXNpbmcg
V1RGOjpEZWNpbWFsTnVtYmVyOwogdXNpbmcgV1RGOjpSb3VuZGluZ1NpZ25pZmljYW50RmlndXJl
czsKIHVzaW5nIFdURjo6Um91bmRpbmdEZWNpbWFsUGxhY2VzOwogCi0jZW5kaWYgLy8gRGVjaW1h
bE51bWJlcl9oCisjZW5kaWYgLy8gV1RGX0RlY2ltYWxOdW1iZXJfaApJbmRleDogSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9kdG9h
LmNwcAkocmV2aXNpb24gNjYxNzApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEzMDIsMjEgKzEzMDIsMjEgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUg
aW50IHF1b3JlbShCaWdJbnQmIAogICogICAgICAgInVuaWZvcm1seSIgZGlzdHJpYnV0ZWQgaW5w
dXQsIHRoZSBwcm9iYWJpbGl0eSBpcwogICogICAgICAgc29tZXRoaW5nIGxpa2UgMTBeKGstMTUp
IHRoYXQgd2UgbXVzdCByZXNvcnQgdG8gdGhlIGludDMyX3QKICAqICAgICAgIGNhbGN1bGF0aW9u
LgorICoKKyAqIE5vdGU6ICdsZWZ0cmlnaHQnIHRyYW5zbGF0ZXMgdG8gJ2dlbmVyYXRlIHNob3J0
ZXN0IHBvc3NpYmxlIHN0cmluZycuCiAgKi8KLXZvaWQgZHRvYShEdG9hQnVmZmVyIHJlc3VsdCwg
ZG91YmxlIGRkLCBpbnQgbmRpZ2l0cywgaW50KiBkZWNwdCwgaW50KiBzaWduLCBjaGFyKiogcnZl
KQordGVtcGxhdGU8Ym9vbCByb3VuZGluZ05vbmUsIGJvb2wgcm91bmRpbmdTaWduaWZpY2FudEZp
Z3VyZXMsIGJvb2wgcm91bmRpbmdEZWNpbWFsUGxhY2VzLCBib29sIGxlZnRyaWdodD4KK3ZvaWQg
ZHRvYShEdG9hQnVmZmVyIHJlc3VsdCwgZG91YmxlIGRkLCBpbnQgbmRpZ2l0cywgYm9vbCYgc2ln
bk91dCwgaW50JiBleHBvbmVudE91dCwgdW5zaWduZWQmIHByZWNpc2lvbk91dCkKIHsKLSAgICBB
U1NFUlQoIWlzbmFuKGRkKSAmJiAhaXNpbmYoZGQpKTsKKyAgICAvLyBFeGFjdGx5IG9uZSByb3Vu
ZGluZyBtb2RlIG11c3QgYmUgc3BlY2lmaWVkLgorICAgIEFTU0VSVChyb3VuZGluZ05vbmUgKyBy
b3VuZGluZ1NpZ25pZmljYW50RmlndXJlcyArIHJvdW5kaW5nRGVjaW1hbFBsYWNlcyA9PSAxKTsK
KyAgICAvLyByb3VuZGluZ05vbmUgb25seSBhbGxvd2VkIChvbmx5IHNlbnNpYmxlPykgd2l0aCBs
ZWZ0cmlnaHQgc2V0LgorICAgIEFTU0VSVCghcm91bmRpbmdOb25lIHx8IGxlZnRyaWdodCk7CiAK
LSAgICAvKgotICAgICAgICBBcmd1bWVudHMgbmRpZ2l0cywgZGVjcHQsIHNpZ24gYXJlIHNpbWls
YXIgdG8gdGhvc2UKLSAgICAgICAgb2YgZWN2dCBhbmQgZmN2dDsgdHJhaWxpbmcgemVyb3MgYXJl
IHN1cHByZXNzZWQgZnJvbQotICAgICAgICB0aGUgcmV0dXJuZWQgc3RyaW5nLiAgSWYgbm90IG51
bGwsICpydmUgaXMgc2V0IHRvIHBvaW50Ci0gICAgICAgIHRvIHRoZSBlbmQgb2YgdGhlIHJldHVy
biB2YWx1ZS4gIElmIGQgaXMgKy1JbmZpbml0eSBvciBOYU4sCi0gICAgICAgIHRoZW4gKmRlY3B0
IGlzIHNldCB0byA5OTk5LgotICAgICovCisgICAgQVNTRVJUKCFpc25hbihkZCkgJiYgIWlzaW5m
KGRkKSk7CiAKICAgICBpbnQgYmJpdHMsIGIyLCBiNSwgYmUsIGRpZywgaSwgaWVwcywgaWxpbSA9
IDAsIGlsaW0wLCBpbGltMSA9IDAsCi0gICAgICAgIGosIGoxLCBrLCBrMCwga19jaGVjaywgbGVm
dHJpZ2h0LCBtMiwgbTUsIHMyLCBzNSwKKyAgICAgICAgaiwgajEsIGssIGswLCBrX2NoZWNrLCBt
MiwgbTUsIHMyLCBzNSwKICAgICAgICAgc3BlY19jYXNlOwogICAgIGludDMyX3QgTDsKICAgICBp
bnQgZGVub3JtOwpAQCAtMTMyOCwyNSArMTMyOCwyNSBAQCB2b2lkIGR0b2EoRHRvYUJ1ZmZlciBy
ZXN1bHQsIGRvdWJsZSBkZCwgCiAgICAgY2hhciogczA7CiAKICAgICB1LmQgPSBkZDsKLSAgICBp
ZiAod29yZDAoJnUpICYgU2lnbl9iaXQpIHsKLSAgICAgICAgLyogc2V0IHNpZ24gZm9yIGV2ZXJ5
dGhpbmcsIGluY2x1ZGluZyAwJ3MgYW5kIE5hTnMgKi8KLSAgICAgICAgKnNpZ24gPSAxOwotICAg
ICAgICB3b3JkMCgmdSkgJj0gflNpZ25fYml0OyAgICAvKiBjbGVhciBzaWduIGJpdCAqLwotICAg
IH0gZWxzZQotICAgICAgICAqc2lnbiA9IDA7CiAKICAgICAvKiBJbmZpbml0eSBvciBOYU4gKi8K
ICAgICBBU1NFUlQoKHdvcmQwKCZ1KSAmIEV4cF9tYXNrKSAhPSBFeHBfbWFzayk7CiAKKyAgICAv
LyBKYXZhU2NyaXB0IHRvU3RyaW5nIGNvbnZlcnNpb24gdHJlYXRzIC0wIGFzIDAuCiAgICAgaWYg
KCFkdmFsKCZ1KSkgewotICAgICAgICAqZGVjcHQgPSAxOworICAgICAgICBleHBvbmVudE91dCA9
IDA7CisgICAgICAgIHByZWNpc2lvbk91dCA9IDE7CiAgICAgICAgIHJlc3VsdFswXSA9ICcwJzsK
ICAgICAgICAgcmVzdWx0WzFdID0gJ1wwJzsKLSAgICAgICAgaWYgKHJ2ZSkKLSAgICAgICAgICAg
ICpydmUgPSByZXN1bHQgKyAxOwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKHdv
cmQwKCZ1KSAmIFNpZ25fYml0KSB7CisgICAgICAgIHNpZ25PdXQgPSAxOworICAgICAgICB3b3Jk
MCgmdSkgJj0gflNpZ25fYml0OyAvLyBjbGVhciBzaWduIGJpdAorICAgIH0gZWxzZQorICAgICAg
ICBzaWduT3V0ID0gMDsKKwogICAgIGQyYihiLCAmdSwgJmJlLCAmYmJpdHMpOwogICAgIGlmICgo
aSA9IChpbnQpKHdvcmQwKCZ1KSA+PiBFeHBfc2hpZnQxICYgKEV4cF9tYXNrID4+IEV4cF9zaGlm
dDEpKSkpIHsKICAgICAgICAgZHZhbCgmZDIpID0gZHZhbCgmdSk7CkBAIC0xNDE2LDEwICsxNDE2
LDI0IEBAIHZvaWQgZHRvYShEdG9hQnVmZmVyIHJlc3VsdCwgZG91YmxlIGRkLCAKICAgICAgICAg
czUgPSAwOwogICAgIH0KIAotICAgIGxlZnRyaWdodCA9IDE7Ci0gICAgaWxpbSA9IGlsaW0xID0g
LTE7Ci0gICAgaSA9IDE4OwotICAgIG5kaWdpdHMgPSAwOworICAgIGlmIChyb3VuZGluZ05vbmUp
IHsKKyAgICAgICAgaWxpbSA9IGlsaW0xID0gLTE7CisgICAgICAgIGkgPSAxODsKKyAgICAgICAg
bmRpZ2l0cyA9IDA7CisgICAgfQorICAgIGlmIChyb3VuZGluZ1NpZ25pZmljYW50RmlndXJlcykg
eworICAgICAgICBpZiAobmRpZ2l0cyA8PSAwKQorICAgICAgICAgICAgbmRpZ2l0cyA9IDE7Cisg
ICAgICAgIGlsaW0gPSBpbGltMSA9IGkgPSBuZGlnaXRzOworICAgIH0KKyAgICBpZiAocm91bmRp
bmdEZWNpbWFsUGxhY2VzKSB7CisgICAgICAgIGkgPSBuZGlnaXRzICsgayArIDE7CisgICAgICAg
IGlsaW0gPSBpOworICAgICAgICBpbGltMSA9IGkgLSAxOworICAgICAgICBpZiAoaSA8PSAwKQor
ICAgICAgICAgICAgaSA9IDE7CisgICAgfQorCiAgICAgcyA9IHMwID0gcmVzdWx0OwogCiAgICAg
aWYgKGlsaW0gPj0gMCAmJiBpbGltIDw9IFF1aWNrX21heCkgewpAQCAtMTU5MSw3ICsxNjA1LDcg
QEAgYnVtcFVwOgogICAgIC8qIENoZWNrIGZvciBzcGVjaWFsIGNhc2UgdGhhdCBkIGlzIGEgbm9y
bWFsaXplZCBwb3dlciBvZiAyLiAqLwogCiAgICAgc3BlY19jYXNlID0gMDsKLSAgICBpZiAoIXdv
cmQxKCZ1KSAmJiAhKHdvcmQwKCZ1KSAmIEJuZHJ5X21hc2spICYmIHdvcmQwKCZ1KSAmIChFeHBf
bWFzayAmIH5FeHBfbXNrMSkpIHsKKyAgICBpZiAoKHJvdW5kaW5nTm9uZSB8fCBsZWZ0cmlnaHQp
ICYmICghd29yZDEoJnUpICYmICEod29yZDAoJnUpICYgQm5kcnlfbWFzaykgJiYgd29yZDAoJnUp
ICYgKEV4cF9tYXNrICYgfkV4cF9tc2sxKSkpIHsKICAgICAgICAgLyogVGhlIHNwZWNpYWwgY2Fz
ZSAqLwogICAgICAgICBiMiArPSBMb2cyUDsKICAgICAgICAgczIgKz0gTG9nMlA7CkBAIC0xNjMx
LDcgKzE2NDUsMTQgQEAgYnVtcFVwOgogICAgICAgICAgICAgaWxpbSA9IGlsaW0xOwogICAgICAg
ICB9CiAgICAgfQotCisgICAgaWYgKGlsaW0gPD0gMCAmJiByb3VuZGluZ0RlY2ltYWxQbGFjZXMp
IHsKKyAgICAgICAgLyogbm8gZGlnaXRzLCBmY3Z0IHN0eWxlICovCisgICAgICAgIGlmIChpbGlt
IDwgMCkKKyAgICAgICAgICAgIGdvdG8gbm9EaWdpdHM7CisgICAgICAgIG11bHRhZGQoUywgNSwg
MCk7CisgICAgICAgIGlmIChjbXAoYiwgUykgPD0gMCkKKyAgICAgICAgICAgIGdvdG8gbm9EaWdp
dHM7CisgICAgfQogICAgIGlmIChsZWZ0cmlnaHQpIHsKICAgICAgICAgaWYgKG0yID4gMCkKICAg
ICAgICAgICAgIGxzaGlmdChtaGksIG0yKTsKQEAgLTE2NTIsNiArMTY3MywyMSBAQCBidW1wVXA6
CiAgICAgICAgICAgICBqID0gY21wKGIsIG1sbyk7CiAgICAgICAgICAgICBkaWZmKGRlbHRhLCBT
LCBtaGkpOwogICAgICAgICAgICAgajEgPSBkZWx0YS5zaWduID8gMSA6IGNtcChiLCBkZWx0YSk7
CisjaWZkZWYgRFRPQV9ST1VORF9CSUFTRUQKKyAgICAgICAgICAgIGlmIChqIDwgMCB8fCAhaikg
eworI2Vsc2UKKyAgICAgICAgICAgIC8vIEZJWE1FOiBFQ01BLTI2MiBzcGVjaWZpZXMgdGhhdCBl
cXVpZGlzdGFudCByZXN1bHRzIHJvdW5kIGF3YXkgZnJvbQorICAgICAgICAgICAgLy8gemVybywg
d2hpY2ggcHJvYmFibHkgbWVhbnMgd2Ugc2hvdWxkbid0IGJlIG9uIHRoZSB1bmJpYXNlZCBjb2Rl
IHBhdGgKKyAgICAgICAgICAgIC8vICh0aGUgKHdvcmQxKCZ1KSAmIDEpIGNsYXVzZSBpcyBsb29r
aW5nIGhpZ2hseSBzdXNwaWNpb3VzKS4gSSBoYXZlbid0CisgICAgICAgICAgICAvLyB5ZXQgdW5k
ZXJzdG9vZCB0aGlzIGNvZGUgd2VsbCBlbm91Z2ggdG8gbWFrZSB0aGUgY2FsbCwgYnV0IHdlIHNo
b3VsZAorICAgICAgICAgICAgLy8gcHJvYmFibHkgYmUgZW5hYmxpbmcgRFRPQV9ST1VORF9CSUFT
RUQuIEkgdGhpbmsgdGhlIGludGVyZXN0aW5nIGNvcm5lcgorICAgICAgICAgICAgLy8gY2FzZSB0
byB1bmRlcnN0YW5kIGlzIHByb2JhYmx5ICJNYXRoLnBvdygwLjUsIDI0KS50b1N0cmluZygpIi4K
KyAgICAgICAgICAgIC8vIEkgYmVsaWV2ZSB0aGlzIHZhbHVlIGlzIGludGVyZXN0aW5nIGJlY2F1
c2UgSSB0aGluayBpdCBpcyBwcmVjaXNlbHkKKyAgICAgICAgICAgIC8vIHJlcHJlc2VudGFibGUg
aW4gYmluYXJ5IGZsb2F0aW5nIHBvaW50LCBhbmQgaXRzIGRlY2ltYWwgcmVwcmVzZW50YXRpb24K
KyAgICAgICAgICAgIC8vIGhhcyBhIHNpbmdsZSBkaWdpdCB0aGF0IFN0ZWVsZSAmIFdoaXRlIHJl
ZHVjdGlvbiBjYW4gcmVtb3ZlLCB3aXRoIHRoZQorICAgICAgICAgICAgLy8gdmFsdWUgNSAodGh1
cyBlcXVpZGlzdGFudCBmcm9tIHRoZSBuZXh0IG51bWJlcnMgYWJvdmUgYW5kIGJlbG93KS4KKyAg
ICAgICAgICAgIC8vIFdlIHByb2R1Y2UgdGhlIGNvcnJlY3QgYW5zd2VyIHVzaW5nIGVpdGhlciBj
b2RlcGF0aCwgYW5kIEkgZG9uJ3QgYXMKKyAgICAgICAgICAgIC8vIHlldCB1bmRlcnN0YW5kIHdo
eS4gOi0pCiAgICAgICAgICAgICBpZiAoIWoxICYmICEod29yZDEoJnUpICYgMSkpIHsKICAgICAg
ICAgICAgICAgICBpZiAoZGlnID09ICc5JykKICAgICAgICAgICAgICAgICAgICAgZ290byByb3Vu
ZDl1cDsKQEAgLTE2NjEsMTAgKzE2OTcsMTQgQEAgYnVtcFVwOgogICAgICAgICAgICAgICAgIGdv
dG8gcmV0OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGogPCAwIHx8ICghaiAmJiAh
KHdvcmQxKCZ1KSAmIDEpKSkgeworI2VuZGlmCiAgICAgICAgICAgICAgICAgaWYgKChiLndvcmRz
KClbMF0gfHwgYi5zaXplKCkgPiAxKSAmJiAoajEgPiAwKSkgewogICAgICAgICAgICAgICAgICAg
ICBsc2hpZnQoYiwgMSk7CiAgICAgICAgICAgICAgICAgICAgIGoxID0gY21wKGIsIFMpOwotICAg
ICAgICAgICAgICAgICAgICBpZiAoajEgPiAwIHx8ICghajEgJiYgKGRpZyAmIDEpKSkgeworICAg
ICAgICAgICAgICAgICAgICAvLyBGb3IgSUVFRS03NTQgcm91bmQtdG8tZXZlbiwgdGhpcyBjaGVj
ayBzaG91bGQgYmUgKGoxID4gMCB8fCAoIWoxICYmIChkaWcgJiAxKSkpLAorICAgICAgICAgICAg
ICAgICAgICAvLyBidXQgRUNNQS0yNjIgc3BlY2lmaWVzIHRoYXQgZXF1aWRpc3RhbnQgdmFsdWVz
IChlLmcuICguNSkudG9GaXhlZCgpKSBzaG91bGQKKyAgICAgICAgICAgICAgICAgICAgLy8gYmUg
cm91bmRlZCBhd2F5IGZyb20gemVyby4KKyAgICAgICAgICAgICAgICAgICAgaWYgKGoxID49IDAp
IHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaWcgPT0gJzknKQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdvdG8gcm91bmQ5dXA7CiAgICAgICAgICAgICAgICAgICAgICAgICBk
aWcrKzsKQEAgLTE3MDQsNyArMTc0NCwxMCBAQCByb3VuZDl1cDoKIAogICAgIGxzaGlmdChiLCAx
KTsKICAgICBqID0gY21wKGIsIFMpOwotICAgIGlmIChqID4gMCB8fCAoIWogJiYgKGRpZyAmIDEp
KSkgeworICAgIC8vIEZvciBJRUVFLTc1NCByb3VuZC10by1ldmVuLCB0aGlzIGNoZWNrIHNob3Vs
ZCBiZSAoaiA+IDAgfHwgKCFqICYmIChkaWcgJiAxKSkpLAorICAgIC8vIGJ1dCBFQ01BLTI2MiBz
cGVjaWZpZXMgdGhhdCBlcXVpZGlzdGFudCB2YWx1ZXMgKGUuZy4gKC41KS50b0ZpeGVkKCkpIHNo
b3VsZAorICAgIC8vIGJlIHJvdW5kZWQgYXdheSBmcm9tIHplcm8uCisgICAgaWYgKGogPj0gMCkg
ewogcm91bmRvZmY6CiAgICAgICAgIHdoaWxlICgqLS1zID09ICc5JykKICAgICAgICAgICAgIGlm
IChzID09IHMwKSB7CkBAIC0xNzI2LDEwICsxNzY5LDM2IEBAIG9uZURpZ2l0OgogICAgIGsrKzsK
ICAgICBnb3RvIHJldDsKIHJldDoKKyAgICAvLyBJbiB0aGlzIHJvdW5kaW5nIG1vZGUgYW4gaW5p
dGlhbGx5IG5vbi16ZXJvIHZhbHVlIG1heSBiZSByb3VuZGVkIHRvIHplcm8uCisgICAgaWYgKHJv
dW5kaW5nRGVjaW1hbFBsYWNlcyAmJiAocyA9PSByZXN1bHQpKSB7CisgICAgICAgIGV4cG9uZW50
T3V0ID0gMDsKKyAgICAgICAgcHJlY2lzaW9uT3V0ID0gMTsKKyAgICAgICAgcmVzdWx0WzBdID0g
JzAnOworICAgICAgICByZXN1bHRbMV0gPSAnXDAnOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIEFTU0VSVChzID4gcmVzdWx0KTsKICAgICAqcyA9IDA7Ci0gICAgKmRlY3B0ID0gayArIDE7
Ci0gICAgaWYgKHJ2ZSkKLSAgICAgICAgKnJ2ZSA9IHM7CisgICAgZXhwb25lbnRPdXQgPSBrOwor
ICAgIHByZWNpc2lvbk91dCA9IHMgLSByZXN1bHQ7Cit9CisKK3ZvaWQgZHRvYShEdG9hQnVmZmVy
IHJlc3VsdCwgZG91YmxlIGRkLCBib29sJiBzaWduLCBpbnQmIGV4cG9uZW50LCB1bnNpZ25lZCYg
cHJlY2lzaW9uKQoreworICAgIC8vIGZsYWdzIGFyZSByb3VuZGluZ05vbmUsIGxlZnRyaWdodC4K
KyAgICBkdG9hPHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZT4ocmVzdWx0LCBkZCwgMCwgc2lnbiwg
ZXhwb25lbnQsIHByZWNpc2lvbik7Cit9CisKK3ZvaWQgZHRvYVJvdW5kU0YoRHRvYUJ1ZmZlciBy
ZXN1bHQsIGRvdWJsZSBkZCwgaW50IG5kaWdpdHMsIGJvb2wmIHNpZ24sIGludCYgZXhwb25lbnQs
IHVuc2lnbmVkJiBwcmVjaXNpb24pCit7CisgICAgLy8gZmxhZyBpcyByb3VuZGluZ1NpZ25pZmlj
YW50RmlndXJlcy4KKyAgICBkdG9hPGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2U+KHJlc3VsdCwg
ZGQsIG5kaWdpdHMsIHNpZ24sIGV4cG9uZW50LCBwcmVjaXNpb24pOworfQorCit2b2lkIGR0b2FS
b3VuZERQKER0b2FCdWZmZXIgcmVzdWx0LCBkb3VibGUgZGQsIGludCBuZGlnaXRzLCBib29sJiBz
aWduLCBpbnQmIGV4cG9uZW50LCB1bnNpZ25lZCYgcHJlY2lzaW9uKQoreworICAgIC8vIGZsYWcg
aXMgcm91bmRpbmdEZWNpbWFsUGxhY2VzLgorICAgIGR0b2E8ZmFsc2UsIGZhbHNlLCB0cnVlLCBm
YWxzZT4ocmVzdWx0LCBkZCwgbmRpZ2l0cywgc2lnbiwgZXhwb25lbnQsIHByZWNpc2lvbik7CiB9
CiAKIHN0YXRpYyBBTFdBWVNfSU5MSU5FIHZvaWQgYXBwZW5kKGNoYXIqJiBuZXh0LCBjb25zdCBj
aGFyKiBzcmMsIHVuc2lnbmVkIHNpemUpCkBAIC0xNzY4LDEzICsxODM3LDEzIEBAIHZvaWQgZG91
YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRGb3JtYXQoZG8KICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIGludCBkZWNpbWFsUG9pbnQ7Ci0gICAgaW50IHNpZ247Ci0KKyAgICBib29sIHNpZ247
CisgICAgaW50IGV4cG9uZW50OworICAgIHVuc2lnbmVkIHByZWNpc2lvbjsKICAgICBEdG9hQnVm
ZmVyIHJlc3VsdDsKLSAgICBjaGFyKiByZXN1bHRFbmQgPSAwOwotICAgIFdURjo6ZHRvYShyZXN1
bHQsIGQsIDAsICZkZWNpbWFsUG9pbnQsICZzaWduLCAmcmVzdWx0RW5kKTsKLSAgICBpbnQgbGVu
Z3RoID0gcmVzdWx0RW5kIC0gcmVzdWx0OworICAgIFdURjo6ZHRvYShyZXN1bHQsIGQsIHNpZ24s
IGV4cG9uZW50LCBwcmVjaXNpb24pOworICAgIGludCBkZWNpbWFsUG9pbnQgPSBleHBvbmVudCAr
IDE7CisgICAgaW50IGxlbmd0aCA9IHByZWNpc2lvbjsKIAogICAgIGNoYXIqIG5leHQgPSBidWZm
ZXI7CiAgICAgaWYgKHNpZ24pCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmgJKHJldmlzaW9uIDY2MTcwKQorKysg
SmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsOSArMjMsNiBA
QAogCiBuYW1lc3BhY2UgV1RGIHsKIGNsYXNzIE11dGV4OwotfQotCi1uYW1lc3BhY2UgV1RGIHsK
IAogZXh0ZXJuIFdURjo6TXV0ZXgqIHNfZHRvYVA1TXV0ZXg7CiAKQEAgLTM0LDcgKzMxLDEwIEBA
IGV4dGVybiBXVEY6Ok11dGV4KiBzX2R0b2FQNU11dGV4OwogZG91YmxlIHN0cnRvZChjb25zdCBj
aGFyKiBzMDAsIGNoYXIqKiBzZSk7CiAKIHR5cGVkZWYgY2hhciBEdG9hQnVmZmVyWzgwXTsKLXZv
aWQgZHRvYShEdG9hQnVmZmVyIHJlc3VsdCwgZG91YmxlIGQsIGludCBuZGlnaXRzLCBpbnQqIGRl
Y3B0LCBpbnQqIHNpZ24sIGNoYXIqKiBydmUpOworCit2b2lkIGR0b2EoRHRvYUJ1ZmZlciByZXN1
bHQsIGRvdWJsZSBkZCwgYm9vbCYgc2lnbiwgaW50JiBleHBvbmVudCwgdW5zaWduZWQmIHByZWNp
c2lvbik7Cit2b2lkIGR0b2FSb3VuZFNGKER0b2FCdWZmZXIgcmVzdWx0LCBkb3VibGUgZGQsIGlu
dCBuZGlnaXRzLCBib29sJiBzaWduLCBpbnQmIGV4cG9uZW50LCB1bnNpZ25lZCYgcHJlY2lzaW9u
KTsKK3ZvaWQgZHRvYVJvdW5kRFAoRHRvYUJ1ZmZlciByZXN1bHQsIGRvdWJsZSBkZCwgaW50IG5k
aWdpdHMsIGJvb2wmIHNpZ24sIGludCYgZXhwb25lbnQsIHVuc2lnbmVkJiBwcmVjaXNpb24pOwog
CiAvLyBkdG9hKCkgZm9yIEVDTUEtMjYyICdUb1N0cmluZyBBcHBsaWVkIHRvIHRoZSBOdW1iZXIg
VHlwZS4nCiAvLyBUaGUgKnJlc3VsdExlbmd0aCB3aWxsIGhhdmUgdGhlIGxlbmd0aCBvZiB0aGUg
cmVzdWx0YW50IHN0cmluZyBpbiBidWZlci4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65687</attachid>
            <date>2010-08-27 00:57:55 -0700</date>
            <delta_ts>2010-08-27 01:02:45 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>dtoafix.3.patch</filename>
            <type>text/plain</type>
            <size>61018</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2MTg2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTAtMDgtMjcgIEdhdmluIEJh
cnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA0NDc0NSAtIE51bWJlci50b0ZpeGVkL3Rv
RXhwb25lbnRpYWwvdG9QcmVjaXNpb24gYXJlIGluYWNjdXJhdGUuCisKKyAgICAgICAgVGhlc2Ug
bWV0aG9kcyBzaG91bGQgYmUgdXNpbmcgYSB2ZXJzaW9uIG9mIGR0b2EgdGhhdCBjYW4gZ2VuZXJh
dGUgcmVzdWx0cyBhY2N1cmF0ZQorICAgICAgICB0byB0aGUgcmVxdWVzdGVkIHByZWNpc2lvbiwg
d2hlcmVhcyBvdXIgdmVyc2lvbiBvZiBkdG9hIGlzIG9ubHkgY3VycmVudGx5IGFibGUgdG8KKyAg
ICAgICAgc3VwcG9ydCBwcm9kdWNpbmcgcmVzdWx0cyBzdWZmaWNpZW50bHkgYWNjdXJhdGUgdG8g
ZGlzdGluZ3Vpc2ggdGhlIHZhbHVlIGZyb20gYW55CisgICAgICAgIG90aGVyIElFRUUtNzU0IGRv
dWJsZSBwcmVjaXNpb24gbnVtYmVyLgorCisgICAgICAgIFRoaXMgY2hhbmdlIGhhcyBubyBpbXBh
Y3Qgb24gYmVuY2htYXJrcyB3ZSB0cmFjay4KKworICAgICAgICBPbiBtaWNyb2JlbmNobWFya3Mg
Zm9yIHRoZXNlIGZ1bmN0aW9ucywgdGhpcyBpcyBhIHNsaWdodCByZWdyZXNzaW9uIHdoZXJlIGEg
aGlnaAorICAgICAgICBwcmVjaXNpb24gaXMgcmVxdWVzdGVkIChkdG9hIG5vdyBuZWVkIHRvIGl0
ZXJhdGUgZnVydGhlciB0byBnZW5lcmF0ZSBhIGEgZ3JlYXRlcgorICAgICAgICBudW1iZXIgb2Yg
ZGlnaXRzKSwgYnV0IHdpdGggc21hbGxlciBwcmVjaXNpb24gdmFsdWVzIChob3BlZnVsbHkgbW9y
ZSBjb21tb24pIHRoaXMKKyAgICAgICAgaW1wcm92ZXMgcGVyZm9ybWFuY2UsIHNpbmNlIGl0IHJl
ZHVjZWQgdGhlIGFjY3VyYXRlIG9mIHJlc3VsdCBkdG9hIGlzIHJlcXVpcmVkLAorICAgICAgICB0
byBwcm9kdWNlLCBhbmQgcmVtb3ZlcyB0aGUgbmVlZCB0byBwcmUtcm91bmQgdmFsdWVzIGJlZm9y
ZSBjYWxsaW5nIGR0b2EuIAorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAg
ICAgICAgZG91YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRGb3JtYXQgcmVuYW1lZCB0byBudW1iZXJU
b1N0cmluZworCisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgICAgIGRvdWJsZVRvU3RyaW5nSW5KYXZhU2Ny
aXB0Rm9ybWF0IHJlbmFtZWQgdG8gbnVtYmVyVG9TdHJpbmcKKworICAgICAgICAqIHJ1bnRpbWUv
VVN0cmluZy5jcHA6CisgICAgICAgIChKU0M6OlVTdHJpbmc6Om51bWJlcik6CisgICAgICAgICAg
ICBkb3VibGVUb1N0cmluZ0luSmF2YVNjcmlwdEZvcm1hdCByZW5hbWVkIHRvIG51bWJlclRvU3Ry
aW5nCisKKyAgICAgICAgKiB3dGYvRGVjaW1hbE51bWJlci5oOgorICAgICAgICAoV1RGOjpEZWNp
bWFsTnVtYmVyOjpEZWNpbWFsTnVtYmVyKToKKyAgICAgICAgKFdURjo6RGVjaW1hbE51bWJlcjo6
dG9TdHJpbmdEZWNpbWFsKToKKyAgICAgICAgKFdURjo6RGVjaW1hbE51bWJlcjo6dG9TdHJpbmdF
eHBvbmVudGlhbCk6CisgICAgICAgICAgICBSZW1vdmUgYWxsIHByZS1yb3VuZGluZyBvZiB2YWx1
ZXMsIGluc3RlYWQgY2FsbCBkdG9hIGNvcnJlY3RseS4KKworICAgICAgICAqIHd0Zi9kdG9hLmNw
cDoKKyAgICAgICAgKFdURjo6ZHRvYSk6CisgICAgICAgICogd3RmL2R0b2EuaDoKKyAgICAgICAg
ICAgIFJlZW5hYmxlIHN1cHBvcnQgZm9yIHJvdW5kaW5nIHRvIHNwZWNpZmljLWZpZ3VyZXMvZGVj
aW1hbC1wbGFjZXMgaW4gZHRvYS4KKyAgICAgICAgICAgIE1vZGlmeSB0byByZW1vdmUgdW5iaWFz
ZWQgcm91bmRpbmcsIHByb3ZpZGUgRUNNQSByZXF1aXJlZCBhd2F5LWZyb20temVyby4KKyAgICAg
ICAgICAgIFJld3JpdGUgZG91YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRGb3JtYXQgdG8gdXNlIERl
Y2ltYWxOdW1iZXIsIHJlbmFtZSB0bworICAgICAgICAgICAgbnVtYmVyVG9TdHJpbmcuCisKIDIw
MTAtMDgtMjYgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdpbmRvd3MgYnVpbGQgZml4LgpJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4
cAkocmV2aXNpb24gNjYxNjkpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM3Nyw2ICszNzcsNyBAQCBfX1pOM1dURjEzY3VycmVudFRocmVh
ZEV2CiBfX1pOM1dURjEzdHJ5RmFzdENhbGxvY0VtbQogX19aTjNXVEYxM3RyeUZhc3RNYWxsb2NF
bQogX19aTjNXVEYxNGZhc3RNYWxsb2NTaXplRVBLdgorX19aTjNXVEYxNG51bWJlclRvU3RyaW5n
RWRQdAogX19aTjNXVEYxNVRocmVhZENvbmRpdGlvbjR3YWl0RVJOU181TXV0ZXhFCiBfX1pOM1dU
RjE1VGhyZWFkQ29uZGl0aW9uNnNpZ25hbEV2CiBfX1pOM1dURjE1VGhyZWFkQ29uZGl0aW9uOWJy
b2FkY2FzdEV2CkBAIC00MTEsNyArNDEyLDYgQEAgX19aTjNXVEYyM2RheUluTW9udGhGcm9tRGF5
SW5ZZWFyRWliCiBfX1pOM1dURjIzd2FpdEZvclRocmVhZENvbXBsZXRpb25FalBQdgogX19aTjNX
VEYyN3JlbGVhc2VGYXN0TWFsbG9jRnJlZU1lbW9yeUV2CiBfX1pOM1dURjI4c2V0TWFpblRocmVh
ZENhbGxiYWNrc1BhdXNlZEViCi1fX1pOM1dURjMyZG91YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRG
b3JtYXRFZFBjUGoKIF9fWk4zV1RGMzZsb2NrQXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljTXV0
ZXhFdgogX19aTjNXVEYzN3BhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnNFUEtj
CiBfX1pOM1dURjM4dW5sb2NrQXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljTXV0ZXhFdgpJbmRl
eDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmRlZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCShyZXZpc2lvbiA2
NjE2OSkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYJKHdvcmtpbmcgY29weSkKQEAgLTEyNiw3ICsxMjYsNiBA
QCBFWFBPUlRTCiAgICAgP2RldGFjaEBEZWJ1Z2dlckBKU0NAQFVBRVhQQVZKU0dsb2JhbE9iamVj
dEAyQEBaCiAgICAgP2RldGFjaFRocmVhZEBXVEZAQFlBWElAWgogICAgID9kaWRUaW1lT3V0QFRp
bWVvdXRDaGVja2VyQEpTQ0BAUUFFX05QQVZFeGVjU3RhdGVAMkBAWgotICAgID9kb3VibGVUb1N0
cmluZ0luSmF2YVNjcmlwdEZvcm1hdEBXVEZAQFlBWE5RQURQQUlAWgogICAgID9kdW1wU2FtcGxl
RGF0YUBKU0dsb2JhbERhdGFASlNDQEBRQUVYUEFWRXhlY1N0YXRlQDJAQFoKICAgICA/ZW1wdHlA
U3RyaW5nSW1wbEBXVEZAQFNBUEFWMTJAWFoKICAgICA/ZW51bWVyYWJsZUBQcm9wZXJ0eURlc2Ny
aXB0b3JASlNDQEBRQkVfTlhaCkBAIC0xNDksNiArMTQ4LDcgQEAgRVhQT1JUUwogICAgID9udW1i
ZXJAVVN0cmluZ0BKU0NAQFNBP0FWMTJASEBaCiAgICAgP251bWJlckBVU3RyaW5nQEpTQ0BAU0E/
QVYxMkBJQFoKICAgICA/bnVtYmVyQFVTdHJpbmdASlNDQEBTQT9BVjEyQE5AWgorICAgID9udW1i
ZXJUb1N0cmluZ0BXVEZAQFlBSU5BQVkwR0FAX1dAWgogICAgID9mdW5jdGlvbkdldHRlckBQcm9w
ZXJ0eVNsb3RASlNDQEBBQkU/QVZKU1ZhbHVlQDJAUEFWRXhlY1N0YXRlQDJAQFoKICAgICA/ZnVu
Y3Rpb25OYW1lQERlYnVnZ2VyQ2FsbEZyYW1lQEpTQ0BAUUJFUEJWVVN0cmluZ0AyQFhaCiAgICAg
P2dldEBTdHJ1Y3R1cmVASlNDQEBRQUVJUEJWU3RyaW5nSW1wbEBXVEZAQEFBSUFBUEFWSlNDZWxs
QDJAQFoKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUvcnVudGltZS9VU3RyaW5nLmNwcAkocmV2aXNpb24gNjYxNjkp
CisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL1VTdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw3ICsyNiw2IEBACiAKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oIgog
I2luY2x1ZGUgIkNvbGxlY3Rvci5oIgotI2luY2x1ZGUgImR0b2EuaCIKICNpbmNsdWRlICJJZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgPGN0eXBlLmg+CkBA
IC0zNiw2ICszNSw3IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJ
Q1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9EZWNp
bWFsTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYv
U3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtMTk4LDkgKzE5OCw4
IEBAIFVTdHJpbmcgVVN0cmluZzo6bnVtYmVyKGxvbmcgbCkKIAogVVN0cmluZyBVU3RyaW5nOjpu
dW1iZXIoZG91YmxlIGQpCiB7Ci0gICAgRHRvYUJ1ZmZlciBidWZmZXI7Ci0gICAgdW5zaWduZWQg
bGVuZ3RoOwotICAgIGRvdWJsZVRvU3RyaW5nSW5KYXZhU2NyaXB0Rm9ybWF0KGQsIGJ1ZmZlciwg
Jmxlbmd0aCk7CisgICAgTnVtYmVyVG9TdHJpbmdCdWZmZXIgYnVmZmVyOworICAgIHVuc2lnbmVk
IGxlbmd0aCA9IG51bWJlclRvU3RyaW5nKGQsIGJ1ZmZlcik7CiAgICAgcmV0dXJuIFVTdHJpbmco
YnVmZmVyLCBsZW5ndGgpOwogfQogCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvRGVjaW1hbE51
bWJlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9EZWNpbWFsTnVtYmVyLmgJ
KHJldmlzaW9uIDY2MTY5KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL0RlY2ltYWxOdW1iZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMjMsMTkgKzIzLDE0IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwog
Ci0jaWZuZGVmIERlY2ltYWxOdW1iZXJfaAotI2RlZmluZSBEZWNpbWFsTnVtYmVyX2gKKyNpZm5k
ZWYgV1RGX0RlY2ltYWxOdW1iZXJfaAorI2RlZmluZSBXVEZfRGVjaW1hbE51bWJlcl9oCiAKLSNp
bmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8d3RmL2R0b2EuaD4KLSNpbmNsdWRlIDx3dGYvTWF0
aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
V1RGIHsKIAotLy8gU2l6ZSA9IDgwIGZvciBzaXplb2YoRHRvYUJ1ZmZlcikgKyBzb21lIHNpZ24g
Yml0cywgZGVjaW1hbCBwb2ludCwgJ2UnLCBleHBvbmVudCBkaWdpdHMuCi10eXBlZGVmIFVDaGFy
IE51bWJlclRvU3RyaW5nQnVmZmVyWzk2XTsKLQogZW51bSBSb3VuZGluZ1NpZ25pZmljYW50Rmln
dXJlc1R5cGUgeyBSb3VuZGluZ1NpZ25pZmljYW50RmlndXJlcyB9OwogZW51bSBSb3VuZGluZ0Rl
Y2ltYWxQbGFjZXNUeXBlIHsgUm91bmRpbmdEZWNpbWFsUGxhY2VzIH07CiAKQEAgLTQzLDExMSAr
MzgsNDggQEAgY2xhc3MgRGVjaW1hbE51bWJlciB7CiBwdWJsaWM6CiAgICAgRGVjaW1hbE51bWJl
cihkb3VibGUgZCkKICAgICB7Ci0gICAgICAgIGJvb2wgc2lnbiA9IGQgPCAwOyAvLyBUaGlzIChj
b3JyZWN0bHkpIGlnbm9yZXMgdGhlIHNpZ24gb24gLTAuMC4KLSAgICAgICAgaW5pdChzaWduLCBk
KTsKKyAgICAgICAgQVNTRVJUKCFpc25hbihkKSAmJiAhaXNpbmYoZCkpOworICAgICAgICBkdG9h
KG1fc2lnbmlmaWNhbmQsIGQsIG1fc2lnbiwgbV9leHBvbmVudCwgbV9wcmVjaXNpb24pOworCisg
ICAgICAgIEFTU0VSVChtX3ByZWNpc2lvbik7CisgICAgICAgIC8vIFplcm8gc2hvdWxkIGFsd2F5
cyBoYXZlIGV4cG9uZW50IDAuCisgICAgICAgIEFTU0VSVChtX3NpZ25pZmljYW5kWzBdICE9ICcw
JyB8fCAhbV9leHBvbmVudCk7CisgICAgICAgIC8vIE5vIHZhbHVlcyBvdGhlciB0aGFuIHplcm8g
c2hvdWxkIGhhdmUgYSBsZWFkaW5nIHplcm8uCisgICAgICAgIEFTU0VSVChtX3NpZ25pZmljYW5k
WzBdICE9ICcwJyB8fCBtX3ByZWNpc2lvbiA9PSAxKTsKKyAgICAgICAgLy8gTm8gdmFsdWVzIG90
aGVyIHRoYW4gemVybyBzaG91bGQgaGF2ZSB0cmFpbGluZyB6ZXJvcy4KKyAgICAgICAgQVNTRVJU
KG1fc2lnbmlmaWNhbmRbMF0gPT0gJzAnIHx8IG1fc2lnbmlmaWNhbmRbbV9wcmVjaXNpb24gLSAx
XSAhPSAnMCcpOwogICAgIH0KIAotICAgIC8vIElmIG91ciB2ZXJzaW9uIG9mIGR0b2EgY291bGQg
cm91bmQgdG8gYSBnaXZlbiBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgZmlndXJlcyB0aGVuCi0gICAg
Ly8gd2UgY291bGQgcmVtb3ZlIHRoZSBwcmUtcm91bmRpbmcgY29kZSBmcm9tIGhlcmUuICBXZSBj
b3VsZCBhbHNvIGRvIHNvIGp1c3QgYnkKLSAgICAvLyBjYWxsaW5nIGR0b2EgYW5kIHBvc3Qtcm91
bmRpbmcsIGhvd2V2ZXIgY3VycmVudGx5IHRoaXMgaXMgc2xvd2VyLCBzaW5jZSBpdCBmb3JjZXMK
LSAgICAvLyBkdG9hIHRvIGdlbmVyYXRlIGEgaGlnaGVyIHByZXNpc2lvbiByZXN1bHQuCiAgICAg
RGVjaW1hbE51bWJlcihkb3VibGUgZCwgUm91bmRpbmdTaWduaWZpY2FudEZpZ3VyZXNUeXBlLCB1
bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMpCiAgICAgewogICAgICAgICBBU1NFUlQoIWlzbmFu
KGQpICYmICFpc2luZihkKSk7Ci0gICAgICAgIEFTU0VSVChzaWduaWZpY2FudEZpZ3VyZXMgJiYg
c2lnbmlmaWNhbnRGaWd1cmVzIDw9IDIxKTsKLQotICAgICAgICBib29sIHNpZ24gPSBkIDwgMDsg
Ly8gVGhpcyAoY29ycmVjdGx5KSBpZ25vcmVzIHRoZSBzaWduIG9uIC0wLjAuCi0gICAgICAgIGQg
PSBmYWJzKGQpOyAvLyBtYWtlIGQgcG9zaXRpdmUgYmVmb3JlIGdvaW5nIGFueSBmdXJ0aGVyLgot
Ci0gICAgICAgIGludCBhZGp1c3QgPSAwOwotICAgICAgICBpZiAoZCkgewotICAgICAgICAgICAg
Ly8gVG8gcm91bmQgYSBudW1iZXIgd2UgYWxpZ24gaXQgc3VjaCB0aGF0IHRoZSBjb3JyZWN0IG51
bWJlciBvZiBkaWdpdHMgYXJlCi0gICAgICAgICAgICAvLyB0byB0aGUgbGVmdCBvZiB0aGUgZGVj
aW1hbCBwb2ludCwgdGhlbiBmbG9vci9jZWlsLiAgRm9yIGV4YW1wbGUsIHRvIHJvdW5kCi0gICAg
ICAgICAgICAvLyAxMzU3OSB0byAzIHMuZi4gd2UgZmlyc3QgYWRqdXN0IGl0IHRvIDEzNS43OSwg
dXNlIGZsb29yL2NlaWwgdG8gb2J0YWluIHRoZQotICAgICAgICAgICAgLy8gdmFsdWVzIDEzNS8x
MzYsIGFuZCB0aGVuIHNlbGVjdCAxMzYgKHNpbmNlIHRoaXMgaXMgY2xvc2VzdCB0byAxMzUuNzkp
LgotICAgICAgICAgICAgLy8gVGhlcmUgYXJlIGN1cnJlbnRseSAoZXhwICsgMSkgZGlnaXRzIHRv
IHRoZSBsZWZ0IG9mIHRoZSBkZWNpbWFsIHBvaW50LAotICAgICAgICAgICAgLy8gYW5kIHdlIHdh
bnQgdGhzaSB0byBiZSBzaWduaWZpY2FudEZpZ3VyZXMsIHNvIHdlJ3JlIGdvaW5nIHRvIGFkanVz
dCB0aGUKLSAgICAgICAgICAgIC8vIGV4cG9uZW50IGJ5ICgoZXhwICsgMSkgLSBzaWduaWZpY2Fu
dEZpZ3VyZXMpLiAgQWRqdXN0IGlzIGVmZmVjdGl2ZWx5Ci0gICAgICAgICAgICAvLyBhIGNvdW50
IG9mIGhvdyBtYW55IGRlY2ltYWwgZGlnaXRzIHRvIHJpZ2h0LXNoaWZ0IHRoZSBudW1iZXIgYnku
Ci0gICAgICAgICAgICBpbnQgZXhwID0gc3RhdGljX2Nhc3Q8aW50PihmbG9vcihsb2cxMChkKSkp
OwotICAgICAgICAgICAgYWRqdXN0ID0gKGV4cCArIDEpIC0gc2lnbmlmaWNhbnRGaWd1cmVzOwot
Ci0gICAgICAgICAgICAvLyBJZiB0aGUgYWRqdXN0IHZhbHVlIG1pZ2h0IGJlIHBvc2l0aXZlIG9y
IG5lZ2F0aXZlIC0gb3IgemVyby4gIElmIHplcm8sIHRoZW4KLSAgICAgICAgICAgIC8vIG5vdGhp
bmcgdG8gZG8hIC0gdGhlIG51bWJlciBpcyBhbHJlYWR5IGFwcHJvcHJpYXRlbHkgYWxpZ25lZC4g
IElmIGFkanVzdAotICAgICAgICAgICAgLy8gaXMgcG9zaXRpdmUgdGhlbiBkaXZpZGUgZCBieSAx
MF5hZGp1c3QuICBJZiBhZGp1c3QgaXMgbmVnYXRpdmUgbXVsdGlwbHkgZAotICAgICAgICAgICAg
Ly8gYnkgMTBeLWFkanVzdC4gVGhpcyBpcyBtYXRoZW1hdGljYWxseSB0aGUgc2FtZSwgYnV0IGF2
b2lkcyB0d28gZnAgZGl2aWRlcwotICAgICAgICAgICAgLy8gKG9uZSBpbnNpZGUgaW50UG93MTAs
IHdoZXJlIHRoZSBwb3dlciBpcyBuZWdhdGl2ZSkuCi0gICAgICAgICAgICBpZiAoYWRqdXN0ID4g
MCkKLSAgICAgICAgICAgICAgICBkIC89IGludFBvdzEwKGFkanVzdCk7Ci0gICAgICAgICAgICBl
bHNlIGlmIChhZGp1c3QgPCAwKQotICAgICAgICAgICAgICAgIGQgKj0gaW50UG93MTAoLWFkanVz
dCk7Ci0KLSAgICAgICAgICAgIC8vIFRyeSByb3VuZGluZyB1cCAmIHJvdW5kaW5nIGRvd24sIHNl
bGVjdCB3aGljaGV2ZXIgaXMgY2xvc2VzdCAocm91bmRpbmcgdXAgaWYgZXF1YWwgZGlzdGFuY2Up
LgotICAgICAgICAgICAgZG91YmxlIGZsb29yT2ZEID0gZmxvb3IoZCk7Ci0gICAgICAgICAgICBk
b3VibGUgY2VpbE9mRCA9IGZsb29yT2ZEICsgMTsKLSAgICAgICAgICAgIGQgPSAoZmFicyhjZWls
T2ZEIC0gZCkgPD0gZmFicyhmbG9vck9mRCAtIGQpKSA/IGNlaWxPZkQgOiBmbG9vck9mRDsKLQot
ICAgICAgICAgICAgLy8gVGhlIG51bWJlcidzIGV4cG9uZW50IGhhcyBiZWVuIGFsdGVyZWQgLSBi
dXQgZG9uJ3QgY2hhbmdlIGl0IGJhY2shICBXZSBjYW4KLSAgICAgICAgICAgIC8vIGp1c3QgcnVu
IGR0b2Egb24gdGhlIG1vZGlmaWVkIHZhbHVlLCBhbmQgYWRqdXN0IHRoZSBleHBvbmVudCBhZnRl
cndhcmQgdG8KLSAgICAgICAgICAgIC8vIGFjY291bnQgZm9yIHRoaXMuCi0gICAgICAgIH0KLQot
ICAgICAgICBpbml0KHNpZ24sIGQpOworICAgICAgICBkdG9hUm91bmRTRihtX3NpZ25pZmljYW5k
LCBkLCBzaWduaWZpY2FudEZpZ3VyZXMsIG1fc2lnbiwgbV9leHBvbmVudCwgbV9wcmVjaXNpb24p
OwogCi0gICAgICAgIC8vIFdlIGFsdGVyZXJlZCB0aGUgdmFsdWUgd2hlbiByb3VuZGluZyBpdCAt
IG1vZGlmeSB0aGUgZXhwb25lbnQgdG8gYWRqdXN0IGZvciB0aGlzLAotICAgICAgICAvLyBidXQg
ZG9uJ3QgbWVzcyB3aXRoIHRoZSBleHBvbmVudCBvZiB6ZXJvLgotICAgICAgICBpZiAoIWlzWmVy
bygpKQotICAgICAgICAgICAgbV9leHBvbmVudCArPSBhZGp1c3Q7CisgICAgICAgIEFTU0VSVChz
aWduaWZpY2FudEZpZ3VyZXMgJiYgc2lnbmlmaWNhbnRGaWd1cmVzIDw9IHNpemVvZihEdG9hQnVm
ZmVyKSk7CisgICAgICAgIHdoaWxlIChtX3ByZWNpc2lvbiA8IHNpZ25pZmljYW50RmlndXJlcykK
KyAgICAgICAgICAgIG1fc2lnbmlmaWNhbmRbbV9wcmVjaXNpb24rK10gPSAnMCc7CiAKLSAgICAg
ICAgLy8gTWFrZSBzdXJlIHRoZSBzaWduaWZpY2FuZCBkb2VzIG5vdCBjb250YWluIG1vcmUgZGln
aXRzIHRoYW4gcmVxdWVzdGVkLgotICAgICAgICByb3VuZFRvUHJlY2lzaW9uKHNpZ25pZmljYW50
RmlndXJlcyk7CisgICAgICAgIEFTU0VSVChtX3ByZWNpc2lvbik7CisgICAgICAgIC8vIFplcm8g
c2hvdWxkIGFsd2F5cyBoYXZlIGV4cG9uZW50IDAuCisgICAgICAgIEFTU0VSVChtX3NpZ25pZmlj
YW5kWzBdICE9ICcwJyB8fCAhbV9leHBvbmVudCk7CiAgICAgfQogCi0gICAgLy8gSWYgb3VyIHZl
cnNpb24gb2YgZHRvYSBjb3VsZCByb3VuZCB0byBhIGdpdmVuIG51bWJlciBvZiBkZWNpbWFsIHBs
YWNlcyB0aGVuIHdlCi0gICAgLy8gY291bGQgcmVtb3ZlIHRoZSBwcmUtcm91bmRpbmcgY29kZSBm
cm9tIGhlcmUuICBXZSBjb3VsZCBhbHNvIGRvIHNvIGp1c3QgYnkgY2FsbGluZwotICAgIC8vIGR0
b2EgYW5kIHBvc3Qtcm91bmRpbmcsIGhvd2V2ZXIgY3VycmVudGx5IHRoaXMgaXMgc2xvd2VyLCBz
aW5jZSBpdCBmb3JjZXMgZHRvYSB0bwotICAgIC8vIGdlbmVyYXRlIGEgaGlnaGVyIHByZXNpc2lv
biByZXN1bHQuCiAgICAgRGVjaW1hbE51bWJlcihkb3VibGUgZCwgUm91bmRpbmdEZWNpbWFsUGxh
Y2VzVHlwZSwgdW5zaWduZWQgZGVjaW1hbFBsYWNlcykKICAgICB7CiAgICAgICAgIEFTU0VSVCgh
aXNuYW4oZCkgJiYgIWlzaW5mKGQpKTsKLSAgICAgICAgQVNTRVJUKGRlY2ltYWxQbGFjZXMgPD0g
MjApOwotCi0gICAgICAgIGJvb2wgc2lnbiA9IGQgPCAwOyAvLyBUaGlzIChjb3JyZWN0bHkpIGln
bm9yZXMgdGhlIHNpZ24gb24gLTAuMC4KLSAgICAgICAgZCA9IGZhYnMoZCk7IC8vIE1ha2UgZCBw
b3NpdGl2ZSBiZWZvcmUgZ29pbmcgYW55IGZ1cnRoZXIuCi0KLSAgICAgICAgQVNTRVJUKGQgPCAx
ZSsyMSk7IC8vIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHJvdW5kaW5nIHRvIGRlY2ltYWwg
cGxhY2VzIGZvciB2YWx1ZXMgPj0gMWUrMjEuCi0KLSAgICAgICAgLy8gQWRqdXN0IHRoZSBudW1i
ZXIgYnkgaW5jcmVhc2luZyB0aGUgZXhwb25lbnQgYnkgZGVjaW1hbFBsYWNlcywgc3VjaAotICAg
ICAgICAvLyB0aGF0IHdlIGNhbiByb3VuZCB0byB0aGlzIG51bWJlciBvZiBkZWNpbWFsIHBsYWNl
cyBqc2luZyBmbG9vci4KLSAgICAgICAgaWYgKGRlY2ltYWxQbGFjZXMpCi0gICAgICAgICAgICBk
ICo9IGludFBvdzEwKGRlY2ltYWxQbGFjZXMpOwotICAgICAgICAvLyBUcnkgcm91bmRpbmcgdXAg
JiByb3VuZGluZyBkb3duLCBzZWxlY3Qgd2hpY2hldmVyIGlzIGNsb3Nlc3QgKHJvdW5kaW5nIHVw
IGlmIGVxdWFsIGRpc3RhbmNlKS4KLSAgICAgICAgZG91YmxlIGZsb29yT2ZEID0gZmxvb3IoZCk7
Ci0gICAgICAgIGRvdWJsZSBjZWlsT2ZEID0gZmxvb3JPZkQgKyAxOwotICAgICAgICBkID0gKGZh
YnMoY2VpbE9mRCAtIGQpIDw9IGZhYnMoZmxvb3JPZkQgLSBkKSkgPyBjZWlsT2ZEIDogZmxvb3JP
ZkQ7Ci0gICAgICAgIC8vIFRoZSBudW1iZXIncyBleHBvbmVudCBoYXMgYmVlbiBhbHRlcmVkIC0g
YnV0IGRvbid0IGNoYW5nZSBpdCBiYWNrISAgV2UgY2FuCi0gICAgICAgIC8vIGp1c3QgcnVuIGR0
b2Egb24gdGhlIG1vZGlmaWVkIHZhbHVlLCBhbmQgYWRqdXN0IHRoZSBleHBvbmVudCBhZnRlcndh
cmQgdG8KLSAgICAgICAgLy8gYWNjb3VudCBmb3IgdGhpcy4KLQotICAgICAgICBpbml0KHNpZ24s
IGQpOwotCi0gICAgICAgIC8vIFdlIHJvdW5lZCB0aGUgdmFsdWUgYmVmb3JlIGNhbGxpbmcgZHRv
YSwgc28gdGhlIHJlc3VsdCBzaG91bGQgbm90IGJlIGZyYWN0aW9uYWwuCi0gICAgICAgIEFTU0VS
VChtX2V4cG9uZW50ID49IDApOwotCi0gICAgICAgIC8vIFdlIGFsdGVyZXJlZCB0aGUgdmFsdWUg
d2hlbiByb3VuZGluZyBpdCAtIG1vZGlmeSB0aGUgZXhwb25lbnQgdG8gYWRqdXN0IGZvciB0aGlz
LAotICAgICAgICAvLyBidXQgZG9uJ3QgbWVzcyB3aXRoIHRoZSBleHBvbmVudCBvZiB6ZXJvLgot
ICAgICAgICBpZiAoIWlzWmVybygpKQotICAgICAgICAgICAgbV9leHBvbmVudCAtPSBkZWNpbWFs
UGxhY2VzOwotCi0gICAgICAgIC8vIFRoZSB2YWx1ZSB3YXMgPCAxZSsyMSBiZWZvcmUgd2Ugc3Rh
cnRlZCwgc2hvdWxkIHN0aWxsIGJlLgotICAgICAgICBBU1NFUlQobV9leHBvbmVudCA8IDIxKTsK
KyAgICAgICAgZHRvYVJvdW5kRFAobV9zaWduaWZpY2FuZCwgZCwgZGVjaW1hbFBsYWNlcywgbV9z
aWduLCBtX2V4cG9uZW50LCBtX3ByZWNpc2lvbik7CiAKICAgICAgICAgdW5zaWduZWQgc2lnbmlm
aWNhbnRGaWd1cmVzID0gMSArIG1fZXhwb25lbnQgKyBkZWNpbWFsUGxhY2VzOwotICAgICAgICBB
U1NFUlQoc2lnbmlmaWNhbnRGaWd1cmVzICYmIHNpZ25pZmljYW50RmlndXJlcyA8PSA0MSk7Ci0g
ICAgICAgIHJvdW5kVG9QcmVjaXNpb24oc2lnbmlmaWNhbnRGaWd1cmVzKTsKKyAgICAgICAgQVNT
RVJUKHNpZ25pZmljYW50RmlndXJlcyAmJiBzaWduaWZpY2FudEZpZ3VyZXMgPD0gc2l6ZW9mKER0
b2FCdWZmZXIpKTsKKyAgICAgICAgd2hpbGUgKG1fcHJlY2lzaW9uIDwgc2lnbmlmaWNhbnRGaWd1
cmVzKQorICAgICAgICAgICAgbV9zaWduaWZpY2FuZFttX3ByZWNpc2lvbisrXSA9ICcwJzsKKwor
ICAgICAgICBBU1NFUlQobV9wcmVjaXNpb24pOworICAgICAgICAvLyBaZXJvIHNob3VsZCBhbHdh
eXMgaGF2ZSBleHBvbmVudCAwLgorICAgICAgICBBU1NFUlQobV9zaWduaWZpY2FuZFswXSAhPSAn
MCcgfHwgIW1fZXhwb25lbnQpOwogICAgIH0KIAotICAgIHVuc2lnbmVkIHRvU3RyaW5nRGVjaW1h
bChOdW1iZXJUb1N0cmluZ0J1ZmZlciYgYnVmZmVyKQorICAgIHVuc2lnbmVkIHRvU3RyaW5nRGVj
aW1hbChOdW1iZXJUb1N0cmluZ0J1ZmZlciBidWZmZXIpCiAgICAgewogICAgICAgICAvLyBTaG91
bGQgYWx3YXlzIGJlIGF0IGxlYXN0IG9uZSBkaWdpdCB0byBhZGQgdG8gdGhlIHN0cmluZyEKICAg
ICAgICAgQVNTRVJUKG1fcHJlY2lzaW9uKTsKQEAgLTIwMSw3ICsxMzMsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBuZXh0IC0gYnVmZmVyOwogICAgIH0KIAotICAgIHVuc2lnbmVkIHRvU3Ry
aW5nRXhwb25lbnRpYWwoTnVtYmVyVG9TdHJpbmdCdWZmZXIgJmJ1ZmZlcikKKyAgICB1bnNpZ25l
ZCB0b1N0cmluZ0V4cG9uZW50aWFsKE51bWJlclRvU3RyaW5nQnVmZmVyIGJ1ZmZlcikKICAgICB7
CiAgICAgICAgIC8vIFNob3VsZCBhbHdheXMgYmUgYXQgbGVhc3Qgb25lIGRpZ2l0IHRvIGFkZCB0
byB0aGUgc3RyaW5nIQogICAgICAgICBBU1NFUlQobV9wcmVjaXNpb24pOwpAQCAtMjQ3LDc1ICsx
NzksNiBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgcHJlY2lzaW9uKCkgeyByZXR1cm4gbV9wcmVj
aXNpb247IH0KIAogcHJpdmF0ZToKLSAgICB2b2lkIGluaXQoYm9vbCBzaWduLCBkb3VibGUgZCkK
LSAgICB7Ci0gICAgICAgIEFTU0VSVCghaXNuYW4oZCkgJiYgIWlzaW5mKGQpKTsKLQotICAgICAg
ICBpbnQgZGVjaW1hbFBvaW50OwotICAgICAgICBpbnQgc2lnblVudXNlZDsKLSAgICAgICAgY2hh
ciogcmVzdWx0RW5kID0gMDsKLSAgICAgICAgV1RGOjpkdG9hKG1fc2lnbmlmaWNhbmQsIGQsIDAs
ICZkZWNpbWFsUG9pbnQsICZzaWduVW51c2VkLCAmcmVzdWx0RW5kKTsKLQotICAgICAgICBtX3Np
Z24gPSBzaWduOwotICAgICAgICBtX3ByZWNpc2lvbiA9IHJlc3VsdEVuZCAtIG1fc2lnbmlmaWNh
bmQ7Ci0gICAgICAgIG1fZXhwb25lbnQgPSBkZWNpbWFsUG9pbnQgLSAxOwotCi0gICAgICAgIC8v
IE5vIHZhbHVlcyBvdGhlciB0aGFuIHplcm8gc2hvdWxkIGhhdmUgYSBsZWFkaW5nIHplcm8uCi0g
ICAgICAgIEFTU0VSVChtX3NpZ25pZmljYW5kWzBdICE9ICcwJyB8fCBtX3ByZWNpc2lvbiA9PSAx
KTsKLSAgICAgICAgLy8gWmVybyBzaG91bGQgYWx3YXlzIGhhdmUgZXhwb25lbnQgMC4KLSAgICAg
ICAgQVNTRVJUKG1fc2lnbmlmaWNhbmRbMF0gIT0gJzAnIHx8ICFtX2V4cG9uZW50KTsKLSAgICB9
Ci0KLSAgICBib29sIGlzWmVybygpCi0gICAgewotICAgICAgICByZXR1cm4gbV9zaWduaWZpY2Fu
ZFswXSA9PSAnMCc7Ci0gICAgfQotCi0gICAgLy8gV2UgcHJlLXJvdW5kIHRoZSB2YWx1ZXMgdG8g
ZHRvYSAtIHdoaWNoIGxlYWRzIHRvIGl0IGdlbmVyYXRpbmcgZmFzdGVyIHJlc3VsdHMuCi0gICAg
Ly8gQnV0IGR0b2Egd29uJ3QgaGF2ZSB6ZXJvIHBhZGRlZCB0aGUgc2lnbmlmaWNhbmQgdG8gdGhl
IHByZWNpc2lvbiB3ZSByZXF1aXJlLAotICAgIC8vIGFuZCBhbHNvIG1pZ2h0IGhhdmUgcHJvZHVj
ZWQgdG9vIG1hbnkgZGlnaXRzIGlmIHJvdW5kaW5nIHdlbnQgd3Jvbmcgc29tZWhvdy4KLSAgICAv
LyBBZGp1c3QgZm9yIHRoaXMuCi0gICAgdm9pZCByb3VuZFRvUHJlY2lzaW9uKHVuc2lnbmVkIHNp
Z25pZmljYW50RmlndXJlcykKLSAgICB7Ci0gICAgICAgIEFTU0VSVChzaWduaWZpY2FudEZpZ3Vy
ZXMgJiYgc2lnbmlmaWNhbnRGaWd1cmVzIDw9IHNpemVvZihEdG9hQnVmZmVyKSk7Ci0KLSAgICAg
ICAgLy8gSWYgdGhlcmUgYXJlIHRvbyBmZXcgb2YgdG9vIG1hbnkgZGlnaXRzIGluIHRoZSBzaWdu
aWZpY2FuZCB0aGVuIGFkZCBtb3JlLCBvciByZW1vdmUgc29tZSEKLSAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gbV9wcmVjaXNpb247IGkgPCBzaWduaWZpY2FudEZpZ3VyZXM7ICsraSkKLSAgICAg
ICAgICAgIG1fc2lnbmlmaWNhbmRbaV0gPSAnMCc7Ci0gICAgICAgIG1fcHJlY2lzaW9uID0gc2ln
bmlmaWNhbnRGaWd1cmVzOwotICAgIH0KLQotICAgIGRvdWJsZSBpbnRQb3cxMChpbnQgZSkKLSAg
ICB7Ci0gICAgICAgIC8vIFRoaXMgZnVuY3Rpb24gdXNlcyB0aGUgImV4cG9uZW50aWF0aW9uIGJ5
IHNxdWFyaW5nIiBhbGdvcml0aG0gYW5kCi0gICAgICAgIC8vIGxvbmcgZG91YmxlIHRvIHF1aWNr
bHkgYW5kIHByZWNpc2VseSBjYWxjdWxhdGUgaW50ZWdlciBwb3dlcnMgb2YgMTAuMC4KLQotICAg
ICAgICAvLyBUaGlzIGlzIGEgaGFuZHkgd29ya2Fyb3VuZCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzQ0
OTQ3NTY+Ci0KLSAgICAgICAgaWYgKCFlKQotICAgICAgICAgICAgcmV0dXJuIDEuMDsKLQotICAg
ICAgICBib29sIG5lZ2F0aXZlID0gZSA8IDA7Ci0gICAgICAgIHVuc2lnbmVkIGV4cCA9IG5lZ2F0
aXZlID8gLWUgOiBlOwotCi0gICAgICAgIGxvbmcgZG91YmxlIHJlc3VsdCA9IDEwLjA7Ci0gICAg
ICAgIGJvb2wgZm91bmRPbmUgPSBmYWxzZTsKLSAgICAgICAgZm9yIChpbnQgYml0ID0gMzE7IGJp
dCA+PSAwOyBiaXQtLSkgewotICAgICAgICAgICAgaWYgKCFmb3VuZE9uZSkgewotICAgICAgICAg
ICAgICAgIGlmICgoZXhwID4+IGJpdCkgJiAxKQotICAgICAgICAgICAgICAgICAgICBmb3VuZE9u
ZSA9IHRydWU7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHJlc3VsdCA9
IHJlc3VsdCAqIHJlc3VsdDsKLSAgICAgICAgICAgICAgICBpZiAoKGV4cCA+PiBiaXQpICYgMSkK
LSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICogMTAuMDsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotCi0gICAgICAgIGlmIChuZWdhdGl2ZSkKLSAgICAgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxkb3VibGU+KDEuMCAvIHJlc3VsdCk7Ci0gICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxkb3VibGU+KHJlc3VsdCk7Ci0gICAgfQotCiAgICAgYm9vbCBtX3NpZ247CiAgICAg
aW50IG1fZXhwb25lbnQ7CiAgICAgRHRvYUJ1ZmZlciBtX3NpZ25pZmljYW5kOwpAQCAtMzI0LDkg
KzE4Nyw4IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi11c2luZyBXVEY6Ok51
bWJlclRvU3RyaW5nQnVmZmVyOwogdXNpbmcgV1RGOjpEZWNpbWFsTnVtYmVyOwogdXNpbmcgV1RG
OjpSb3VuZGluZ1NpZ25pZmljYW50RmlndXJlczsKIHVzaW5nIFdURjo6Um91bmRpbmdEZWNpbWFs
UGxhY2VzOwogCi0jZW5kaWYgLy8gRGVjaW1hbE51bWJlcl9oCisjZW5kaWYgLy8gV1RGX0RlY2lt
YWxOdW1iZXJfaApJbmRleDogSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAkocmV2aXNpb24gNjYxNjkpCisrKyBKYXZh
U2NyaXB0Q29yZS93dGYvZHRvYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDcgQEAK
ICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvQWx3YXlzSW5saW5lLmg+CiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvRGVjaW1hbE51bWJlci5oPgog
I2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
ICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0xMzAyLDIxICsxMzAzLDIxIEBAIHN0YXRp
YyBBTFdBWVNfSU5MSU5FIGludCBxdW9yZW0oQmlnSW50JiAKICAqICAgICAgICJ1bmlmb3JtbHki
IGRpc3RyaWJ1dGVkIGlucHV0LCB0aGUgcHJvYmFiaWxpdHkgaXMKICAqICAgICAgIHNvbWV0aGlu
ZyBsaWtlIDEwXihrLTE1KSB0aGF0IHdlIG11c3QgcmVzb3J0IHRvIHRoZSBpbnQzMl90CiAgKiAg
ICAgICBjYWxjdWxhdGlvbi4KKyAqCisgKiBOb3RlOiAnbGVmdHJpZ2h0JyB0cmFuc2xhdGVzIHRv
ICdnZW5lcmF0ZSBzaG9ydGVzdCBwb3NzaWJsZSBzdHJpbmcnLgogICovCi12b2lkIGR0b2EoRHRv
YUJ1ZmZlciByZXN1bHQsIGRvdWJsZSBkZCwgaW50IG5kaWdpdHMsIGludCogZGVjcHQsIGludCog
c2lnbiwgY2hhcioqIHJ2ZSkKK3RlbXBsYXRlPGJvb2wgcm91bmRpbmdOb25lLCBib29sIHJvdW5k
aW5nU2lnbmlmaWNhbnRGaWd1cmVzLCBib29sIHJvdW5kaW5nRGVjaW1hbFBsYWNlcywgYm9vbCBs
ZWZ0cmlnaHQ+Cit2b2lkIGR0b2EoRHRvYUJ1ZmZlciByZXN1bHQsIGRvdWJsZSBkZCwgaW50IG5k
aWdpdHMsIGJvb2wmIHNpZ25PdXQsIGludCYgZXhwb25lbnRPdXQsIHVuc2lnbmVkJiBwcmVjaXNp
b25PdXQpCiB7Ci0gICAgQVNTRVJUKCFpc25hbihkZCkgJiYgIWlzaW5mKGRkKSk7CisgICAgLy8g
RXhhY3RseSBvbmUgcm91bmRpbmcgbW9kZSBtdXN0IGJlIHNwZWNpZmllZC4KKyAgICBBU1NFUlQo
cm91bmRpbmdOb25lICsgcm91bmRpbmdTaWduaWZpY2FudEZpZ3VyZXMgKyByb3VuZGluZ0RlY2lt
YWxQbGFjZXMgPT0gMSk7CisgICAgLy8gcm91bmRpbmdOb25lIG9ubHkgYWxsb3dlZCAob25seSBz
ZW5zaWJsZT8pIHdpdGggbGVmdHJpZ2h0IHNldC4KKyAgICBBU1NFUlQoIXJvdW5kaW5nTm9uZSB8
fCBsZWZ0cmlnaHQpOwogCi0gICAgLyoKLSAgICAgICAgQXJndW1lbnRzIG5kaWdpdHMsIGRlY3B0
LCBzaWduIGFyZSBzaW1pbGFyIHRvIHRob3NlCi0gICAgICAgIG9mIGVjdnQgYW5kIGZjdnQ7IHRy
YWlsaW5nIHplcm9zIGFyZSBzdXBwcmVzc2VkIGZyb20KLSAgICAgICAgdGhlIHJldHVybmVkIHN0
cmluZy4gIElmIG5vdCBudWxsLCAqcnZlIGlzIHNldCB0byBwb2ludAotICAgICAgICB0byB0aGUg
ZW5kIG9mIHRoZSByZXR1cm4gdmFsdWUuICBJZiBkIGlzICstSW5maW5pdHkgb3IgTmFOLAotICAg
ICAgICB0aGVuICpkZWNwdCBpcyBzZXQgdG8gOTk5OS4KLSAgICAqLworICAgIEFTU0VSVCghaXNu
YW4oZGQpICYmICFpc2luZihkZCkpOwogCiAgICAgaW50IGJiaXRzLCBiMiwgYjUsIGJlLCBkaWcs
IGksIGllcHMsIGlsaW0gPSAwLCBpbGltMCwgaWxpbTEgPSAwLAotICAgICAgICBqLCBqMSwgaywg
azAsIGtfY2hlY2ssIGxlZnRyaWdodCwgbTIsIG01LCBzMiwgczUsCisgICAgICAgIGosIGoxLCBr
LCBrMCwga19jaGVjaywgbTIsIG01LCBzMiwgczUsCiAgICAgICAgIHNwZWNfY2FzZTsKICAgICBp
bnQzMl90IEw7CiAgICAgaW50IGRlbm9ybTsKQEAgLTEzMjgsMjUgKzEzMjksMjYgQEAgdm9pZCBk
dG9hKER0b2FCdWZmZXIgcmVzdWx0LCBkb3VibGUgZGQsIAogICAgIGNoYXIqIHMwOwogCiAgICAg
dS5kID0gZGQ7Ci0gICAgaWYgKHdvcmQwKCZ1KSAmIFNpZ25fYml0KSB7Ci0gICAgICAgIC8qIHNl
dCBzaWduIGZvciBldmVyeXRoaW5nLCBpbmNsdWRpbmcgMCdzIGFuZCBOYU5zICovCi0gICAgICAg
ICpzaWduID0gMTsKLSAgICAgICAgd29yZDAoJnUpICY9IH5TaWduX2JpdDsgICAgLyogY2xlYXIg
c2lnbiBiaXQgKi8KLSAgICB9IGVsc2UKLSAgICAgICAgKnNpZ24gPSAwOwogCiAgICAgLyogSW5m
aW5pdHkgb3IgTmFOICovCiAgICAgQVNTRVJUKCh3b3JkMCgmdSkgJiBFeHBfbWFzaykgIT0gRXhw
X21hc2spOwogCisgICAgLy8gSmF2YVNjcmlwdCB0b1N0cmluZyBjb252ZXJzaW9uIHRyZWF0cyAt
MCBhcyAwLgogICAgIGlmICghZHZhbCgmdSkpIHsKLSAgICAgICAgKmRlY3B0ID0gMTsKKyAgICAg
ICAgc2lnbk91dCA9IGZhbHNlOworICAgICAgICBleHBvbmVudE91dCA9IDA7CisgICAgICAgIHBy
ZWNpc2lvbk91dCA9IDE7CiAgICAgICAgIHJlc3VsdFswXSA9ICcwJzsKICAgICAgICAgcmVzdWx0
WzFdID0gJ1wwJzsKLSAgICAgICAgaWYgKHJ2ZSkKLSAgICAgICAgICAgICpydmUgPSByZXN1bHQg
KyAxOwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKHdvcmQwKCZ1KSAmIFNpZ25f
Yml0KSB7CisgICAgICAgIHNpZ25PdXQgPSB0cnVlOworICAgICAgICB3b3JkMCgmdSkgJj0gflNp
Z25fYml0OyAvLyBjbGVhciBzaWduIGJpdAorICAgIH0gZWxzZQorICAgICAgICBzaWduT3V0ID0g
ZmFsc2U7CisKICAgICBkMmIoYiwgJnUsICZiZSwgJmJiaXRzKTsKICAgICBpZiAoKGkgPSAoaW50
KSh3b3JkMCgmdSkgPj4gRXhwX3NoaWZ0MSAmIChFeHBfbWFzayA+PiBFeHBfc2hpZnQxKSkpKSB7
CiAgICAgICAgIGR2YWwoJmQyKSA9IGR2YWwoJnUpOwpAQCAtMTQxNiwxMCArMTQxOCwyNCBAQCB2
b2lkIGR0b2EoRHRvYUJ1ZmZlciByZXN1bHQsIGRvdWJsZSBkZCwgCiAgICAgICAgIHM1ID0gMDsK
ICAgICB9CiAKLSAgICBsZWZ0cmlnaHQgPSAxOwotICAgIGlsaW0gPSBpbGltMSA9IC0xOwotICAg
IGkgPSAxODsKLSAgICBuZGlnaXRzID0gMDsKKyAgICBpZiAocm91bmRpbmdOb25lKSB7CisgICAg
ICAgIGlsaW0gPSBpbGltMSA9IC0xOworICAgICAgICBpID0gMTg7CisgICAgICAgIG5kaWdpdHMg
PSAwOworICAgIH0KKyAgICBpZiAocm91bmRpbmdTaWduaWZpY2FudEZpZ3VyZXMpIHsKKyAgICAg
ICAgaWYgKG5kaWdpdHMgPD0gMCkKKyAgICAgICAgICAgIG5kaWdpdHMgPSAxOworICAgICAgICBp
bGltID0gaWxpbTEgPSBpID0gbmRpZ2l0czsKKyAgICB9CisgICAgaWYgKHJvdW5kaW5nRGVjaW1h
bFBsYWNlcykgeworICAgICAgICBpID0gbmRpZ2l0cyArIGsgKyAxOworICAgICAgICBpbGltID0g
aTsKKyAgICAgICAgaWxpbTEgPSBpIC0gMTsKKyAgICAgICAgaWYgKGkgPD0gMCkKKyAgICAgICAg
ICAgIGkgPSAxOworICAgIH0KKwogICAgIHMgPSBzMCA9IHJlc3VsdDsKIAogICAgIGlmIChpbGlt
ID49IDAgJiYgaWxpbSA8PSBRdWlja19tYXgpIHsKQEAgLTE1OTEsNyArMTYwNyw3IEBAIGJ1bXBV
cDoKICAgICAvKiBDaGVjayBmb3Igc3BlY2lhbCBjYXNlIHRoYXQgZCBpcyBhIG5vcm1hbGl6ZWQg
cG93ZXIgb2YgMi4gKi8KIAogICAgIHNwZWNfY2FzZSA9IDA7Ci0gICAgaWYgKCF3b3JkMSgmdSkg
JiYgISh3b3JkMCgmdSkgJiBCbmRyeV9tYXNrKSAmJiB3b3JkMCgmdSkgJiAoRXhwX21hc2sgJiB+
RXhwX21zazEpKSB7CisgICAgaWYgKChyb3VuZGluZ05vbmUgfHwgbGVmdHJpZ2h0KSAmJiAoIXdv
cmQxKCZ1KSAmJiAhKHdvcmQwKCZ1KSAmIEJuZHJ5X21hc2spICYmIHdvcmQwKCZ1KSAmIChFeHBf
bWFzayAmIH5FeHBfbXNrMSkpKSB7CiAgICAgICAgIC8qIFRoZSBzcGVjaWFsIGNhc2UgKi8KICAg
ICAgICAgYjIgKz0gTG9nMlA7CiAgICAgICAgIHMyICs9IExvZzJQOwpAQCAtMTYzMSw3ICsxNjQ3
LDE1IEBAIGJ1bXBVcDoKICAgICAgICAgICAgIGlsaW0gPSBpbGltMTsKICAgICAgICAgfQogICAg
IH0KLQorICAgIGlmIChpbGltIDw9IDAgJiYgcm91bmRpbmdEZWNpbWFsUGxhY2VzKSB7CisgICAg
ICAgIGlmIChpbGltIDwgMCkKKyAgICAgICAgICAgIGdvdG8gbm9EaWdpdHM7CisgICAgICAgIG11
bHRhZGQoUywgNSwgMCk7CisgICAgICAgIGlmIChjbXAoYiwgUykgPCAwKSB7CisgICAgICAgICAg
ICBnb3RvIG5vRGlnaXRzOworICAgICAgICB9CisgICAgICAgIGdvdG8gb25lRGlnaXQ7CisgICAg
fQogICAgIGlmIChsZWZ0cmlnaHQpIHsKICAgICAgICAgaWYgKG0yID4gMCkKICAgICAgICAgICAg
IGxzaGlmdChtaGksIG0yKTsKQEAgLTE2NTIsNiArMTY3NiwyMSBAQCBidW1wVXA6CiAgICAgICAg
ICAgICBqID0gY21wKGIsIG1sbyk7CiAgICAgICAgICAgICBkaWZmKGRlbHRhLCBTLCBtaGkpOwog
ICAgICAgICAgICAgajEgPSBkZWx0YS5zaWduID8gMSA6IGNtcChiLCBkZWx0YSk7CisjaWZkZWYg
RFRPQV9ST1VORF9CSUFTRUQKKyAgICAgICAgICAgIGlmIChqIDwgMCB8fCAhaikgeworI2Vsc2UK
KyAgICAgICAgICAgIC8vIEZJWE1FOiBFQ01BLTI2MiBzcGVjaWZpZXMgdGhhdCBlcXVpZGlzdGFu
dCByZXN1bHRzIHJvdW5kIGF3YXkgZnJvbQorICAgICAgICAgICAgLy8gemVybywgd2hpY2ggcHJv
YmFibHkgbWVhbnMgd2Ugc2hvdWxkbid0IGJlIG9uIHRoZSB1bmJpYXNlZCBjb2RlIHBhdGgKKyAg
ICAgICAgICAgIC8vICh0aGUgKHdvcmQxKCZ1KSAmIDEpIGNsYXVzZSBpcyBsb29raW5nIGhpZ2hs
eSBzdXNwaWNpb3VzKS4gSSBoYXZlbid0CisgICAgICAgICAgICAvLyB5ZXQgdW5kZXJzdG9vZCB0
aGlzIGNvZGUgd2VsbCBlbm91Z2ggdG8gbWFrZSB0aGUgY2FsbCwgYnV0IHdlIHNob3VsZAorICAg
ICAgICAgICAgLy8gcHJvYmFibHkgYmUgZW5hYmxpbmcgRFRPQV9ST1VORF9CSUFTRUQuIEkgdGhp
bmsgdGhlIGludGVyZXN0aW5nIGNvcm5lcgorICAgICAgICAgICAgLy8gY2FzZSB0byB1bmRlcnN0
YW5kIGlzIHByb2JhYmx5ICJNYXRoLnBvdygwLjUsIDI0KS50b1N0cmluZygpIi4KKyAgICAgICAg
ICAgIC8vIEkgYmVsaWV2ZSB0aGlzIHZhbHVlIGlzIGludGVyZXN0aW5nIGJlY2F1c2UgSSB0aGlu
ayBpdCBpcyBwcmVjaXNlbHkKKyAgICAgICAgICAgIC8vIHJlcHJlc2VudGFibGUgaW4gYmluYXJ5
IGZsb2F0aW5nIHBvaW50LCBhbmQgaXRzIGRlY2ltYWwgcmVwcmVzZW50YXRpb24KKyAgICAgICAg
ICAgIC8vIGhhcyBhIHNpbmdsZSBkaWdpdCB0aGF0IFN0ZWVsZSAmIFdoaXRlIHJlZHVjdGlvbiBj
YW4gcmVtb3ZlLCB3aXRoIHRoZQorICAgICAgICAgICAgLy8gdmFsdWUgNSAodGh1cyBlcXVpZGlz
dGFudCBmcm9tIHRoZSBuZXh0IG51bWJlcnMgYWJvdmUgYW5kIGJlbG93KS4KKyAgICAgICAgICAg
IC8vIFdlIHByb2R1Y2UgdGhlIGNvcnJlY3QgYW5zd2VyIHVzaW5nIGVpdGhlciBjb2RlcGF0aCwg
YW5kIEkgZG9uJ3QgYXMKKyAgICAgICAgICAgIC8vIHlldCB1bmRlcnN0YW5kIHdoeS4gOi0pCiAg
ICAgICAgICAgICBpZiAoIWoxICYmICEod29yZDEoJnUpICYgMSkpIHsKICAgICAgICAgICAgICAg
ICBpZiAoZGlnID09ICc5JykKICAgICAgICAgICAgICAgICAgICAgZ290byByb3VuZDl1cDsKQEAg
LTE2NjEsMTAgKzE3MDAsMTQgQEAgYnVtcFVwOgogICAgICAgICAgICAgICAgIGdvdG8gcmV0Owog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGogPCAwIHx8ICghaiAmJiAhKHdvcmQxKCZ1
KSAmIDEpKSkgeworI2VuZGlmCiAgICAgICAgICAgICAgICAgaWYgKChiLndvcmRzKClbMF0gfHwg
Yi5zaXplKCkgPiAxKSAmJiAoajEgPiAwKSkgewogICAgICAgICAgICAgICAgICAgICBsc2hpZnQo
YiwgMSk7CiAgICAgICAgICAgICAgICAgICAgIGoxID0gY21wKGIsIFMpOwotICAgICAgICAgICAg
ICAgICAgICBpZiAoajEgPiAwIHx8ICghajEgJiYgKGRpZyAmIDEpKSkgeworICAgICAgICAgICAg
ICAgICAgICAvLyBGb3IgSUVFRS03NTQgcm91bmQtdG8tZXZlbiwgdGhpcyBjaGVjayBzaG91bGQg
YmUgKGoxID4gMCB8fCAoIWoxICYmIChkaWcgJiAxKSkpLAorICAgICAgICAgICAgICAgICAgICAv
LyBidXQgRUNNQS0yNjIgc3BlY2lmaWVzIHRoYXQgZXF1aWRpc3RhbnQgdmFsdWVzIChlLmcuICgu
NSkudG9GaXhlZCgpKSBzaG91bGQKKyAgICAgICAgICAgICAgICAgICAgLy8gYmUgcm91bmRlZCBh
d2F5IGZyb20gemVyby4KKyAgICAgICAgICAgICAgICAgICAgaWYgKGoxID49IDApIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChkaWcgPT0gJzknKQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdvdG8gcm91bmQ5dXA7CiAgICAgICAgICAgICAgICAgICAgICAgICBkaWcrKzsKQEAg
LTE2ODksMjIgKzE3MzIsMjUgQEAgcm91bmQ5dXA6CiAgICAgICAgICAgICBtdWx0YWRkKG1sbywg
MTAsIDApOwogICAgICAgICAgICAgbXVsdGFkZChtaGksIDEwLCAwKTsKICAgICAgICAgfQotICAg
IH0gZWxzZQorICAgIH0gZWxzZSB7CiAgICAgICAgIGZvciAoaSA9IDE7OyBpKyspIHsKICAgICAg
ICAgICAgICpzKysgPSBkaWcgPSBxdW9yZW0oYiwgUykgKyAnMCc7Ci0gICAgICAgICAgICBpZiAo
IWIud29yZHMoKVswXSAmJiBiLnNpemUoKSA8PSAxKSB7CisgICAgICAgICAgICBpZiAoIWIud29y
ZHMoKVswXSAmJiBiLnNpemUoKSA8PSAxKQogICAgICAgICAgICAgICAgIGdvdG8gcmV0OwotICAg
ICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGkgPj0gaWxpbSkKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIG11bHRhZGQoYiwgMTAsIDApOwogICAgICAgICB9CisgICAgfQog
CiAgICAgLyogUm91bmQgb2ZmIGxhc3QgZGlnaXQgKi8KIAogICAgIGxzaGlmdChiLCAxKTsKICAg
ICBqID0gY21wKGIsIFMpOwotICAgIGlmIChqID4gMCB8fCAoIWogJiYgKGRpZyAmIDEpKSkgewor
ICAgIC8vIEZvciBJRUVFLTc1NCByb3VuZC10by1ldmVuLCB0aGlzIGNoZWNrIHNob3VsZCBiZSAo
aiA+IDAgfHwgKCFqICYmIChkaWcgJiAxKSkpLAorICAgIC8vIGJ1dCBFQ01BLTI2MiBzcGVjaWZp
ZXMgdGhhdCBlcXVpZGlzdGFudCB2YWx1ZXMgKGUuZy4gKC41KS50b0ZpeGVkKCkpIHNob3VsZAor
ICAgIC8vIGJlIHJvdW5kZWQgYXdheSBmcm9tIHplcm8uCisgICAgaWYgKGogPj0gMCkgewogcm91
bmRvZmY6CiAgICAgICAgIHdoaWxlICgqLS1zID09ICc5JykKICAgICAgICAgICAgIGlmIChzID09
IHMwKSB7CkBAIC0xNzE5LDEwNyArMTc2NSw2NyBAQCByb3VuZG9mZjoKICAgICB9CiAgICAgZ290
byByZXQ7CiBub0RpZ2l0czoKLSAgICBrID0gLTEgLSBuZGlnaXRzOwotICAgIGdvdG8gcmV0Owor
ICAgIGV4cG9uZW50T3V0ID0gMDsKKyAgICBwcmVjaXNpb25PdXQgPSAxOworICAgIHJlc3VsdFsw
XSA9ICcwJzsKKyAgICByZXN1bHRbMV0gPSAnXDAnOworICAgIHJldHVybjsKIG9uZURpZ2l0Ogog
ICAgICpzKysgPSAnMSc7CiAgICAgaysrOwogICAgIGdvdG8gcmV0OwogcmV0OgorICAgIEFTU0VS
VChzID4gcmVzdWx0KTsKICAgICAqcyA9IDA7Ci0gICAgKmRlY3B0ID0gayArIDE7Ci0gICAgaWYg
KHJ2ZSkKLSAgICAgICAgKnJ2ZSA9IHM7CisgICAgZXhwb25lbnRPdXQgPSBrOworICAgIHByZWNp
c2lvbk91dCA9IHMgLSByZXN1bHQ7CiB9CiAKLXN0YXRpYyBBTFdBWVNfSU5MSU5FIHZvaWQgYXBw
ZW5kKGNoYXIqJiBuZXh0LCBjb25zdCBjaGFyKiBzcmMsIHVuc2lnbmVkIHNpemUpCit2b2lkIGR0
b2EoRHRvYUJ1ZmZlciByZXN1bHQsIGRvdWJsZSBkZCwgYm9vbCYgc2lnbiwgaW50JiBleHBvbmVu
dCwgdW5zaWduZWQmIHByZWNpc2lvbikKK3sKKyAgICAvLyBmbGFncyBhcmUgcm91bmRpbmdOb25l
LCBsZWZ0cmlnaHQuCisgICAgZHRvYTx0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWU+KHJlc3VsdCwg
ZGQsIDAsIHNpZ24sIGV4cG9uZW50LCBwcmVjaXNpb24pOworfQorCit2b2lkIGR0b2FSb3VuZFNG
KER0b2FCdWZmZXIgcmVzdWx0LCBkb3VibGUgZGQsIGludCBuZGlnaXRzLCBib29sJiBzaWduLCBp
bnQmIGV4cG9uZW50LCB1bnNpZ25lZCYgcHJlY2lzaW9uKQoreworICAgIC8vIGZsYWcgaXMgcm91
bmRpbmdTaWduaWZpY2FudEZpZ3VyZXMuCisgICAgZHRvYTxmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZh
bHNlPihyZXN1bHQsIGRkLCBuZGlnaXRzLCBzaWduLCBleHBvbmVudCwgcHJlY2lzaW9uKTsKK30K
Kwordm9pZCBkdG9hUm91bmREUChEdG9hQnVmZmVyIHJlc3VsdCwgZG91YmxlIGRkLCBpbnQgbmRp
Z2l0cywgYm9vbCYgc2lnbiwgaW50JiBleHBvbmVudCwgdW5zaWduZWQmIHByZWNpc2lvbikKK3sK
KyAgICAvLyBmbGFnIGlzIHJvdW5kaW5nRGVjaW1hbFBsYWNlcy4KKyAgICBkdG9hPGZhbHNlLCBm
YWxzZSwgdHJ1ZSwgZmFsc2U+KHJlc3VsdCwgZGQsIG5kaWdpdHMsIHNpZ24sIGV4cG9uZW50LCBw
cmVjaXNpb24pOworfQorCitzdGF0aWMgQUxXQVlTX0lOTElORSB2b2lkIGNvcHlBc2NpaVRvVVRG
MTYoVUNoYXIqIG5leHQsIGNvbnN0IGNoYXIqIHNyYywgdW5zaWduZWQgc2l6ZSkKIHsKICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQogICAgICAgICAqbmV4dCsrID0gKnNy
YysrOwogfQogCi12b2lkIGRvdWJsZVRvU3RyaW5nSW5KYXZhU2NyaXB0Rm9ybWF0KGRvdWJsZSBk
LCBEdG9hQnVmZmVyIGJ1ZmZlciwgdW5zaWduZWQqIHJlc3VsdExlbmd0aCkKK3Vuc2lnbmVkIG51
bWJlclRvU3RyaW5nKGRvdWJsZSBkLCBOdW1iZXJUb1N0cmluZ0J1ZmZlciBidWZmZXIpCiB7Ci0g
ICAgQVNTRVJUKGJ1ZmZlcik7Ci0KICAgICAvLyBIYW5kbGUgTmFOIGFuZCBJbmZpbml0eS4KICAg
ICBpZiAoaXNuYW4oZCkgfHwgaXNpbmYoZCkpIHsKICAgICAgICAgaWYgKGlzbmFuKGQpKSB7Ci0g
ICAgICAgICAgICBhcHBlbmQoYnVmZmVyLCAiTmFOIiwgMyk7Ci0gICAgICAgICAgICBpZiAocmVz
dWx0TGVuZ3RoKQotICAgICAgICAgICAgICAgICpyZXN1bHRMZW5ndGggPSAzOwotICAgICAgICB9
IGVsc2UgaWYgKGQgPiAwKSB7Ci0gICAgICAgICAgICBhcHBlbmQoYnVmZmVyLCAiSW5maW5pdHki
LCA4KTsKLSAgICAgICAgICAgIGlmIChyZXN1bHRMZW5ndGgpCi0gICAgICAgICAgICAgICAgKnJl
c3VsdExlbmd0aCA9IDg7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBhcHBlbmQoYnVm
ZmVyLCAiLUluZmluaXR5IiwgOSk7Ci0gICAgICAgICAgICBpZiAocmVzdWx0TGVuZ3RoKQotICAg
ICAgICAgICAgICAgICpyZXN1bHRMZW5ndGggPSA5OwotICAgICAgICB9Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICAvLyAtMCAtPiAiMCIKLSAgICBpZiAoIWQpIHsKLSAgICAgICAgYnVm
ZmVyWzBdID0gJzAnOwotICAgICAgICBpZiAocmVzdWx0TGVuZ3RoKQotICAgICAgICAgICAgKnJl
c3VsdExlbmd0aCA9IDE7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpbnQgZGVjaW1h
bFBvaW50OwotICAgIGludCBzaWduOwotCi0gICAgRHRvYUJ1ZmZlciByZXN1bHQ7Ci0gICAgY2hh
ciogcmVzdWx0RW5kID0gMDsKLSAgICBXVEY6OmR0b2EocmVzdWx0LCBkLCAwLCAmZGVjaW1hbFBv
aW50LCAmc2lnbiwgJnJlc3VsdEVuZCk7Ci0gICAgaW50IGxlbmd0aCA9IHJlc3VsdEVuZCAtIHJl
c3VsdDsKLQotICAgIGNoYXIqIG5leHQgPSBidWZmZXI7Ci0gICAgaWYgKHNpZ24pCi0gICAgICAg
ICpuZXh0KysgPSAnLSc7Ci0KLSAgICBpZiAoZGVjaW1hbFBvaW50IDw9IDAgJiYgZGVjaW1hbFBv
aW50ID4gLTYpIHsKLSAgICAgICAgKm5leHQrKyA9ICcwJzsKLSAgICAgICAgKm5leHQrKyA9ICcu
JzsKLSAgICAgICAgZm9yIChpbnQgaiA9IGRlY2ltYWxQb2ludDsgaiA8IDA7IGorKykKLSAgICAg
ICAgICAgICpuZXh0KysgPSAnMCc7Ci0gICAgICAgIGFwcGVuZChuZXh0LCByZXN1bHQsIGxlbmd0
aCk7Ci0gICAgfSBlbHNlIGlmIChkZWNpbWFsUG9pbnQgPD0gMjEgJiYgZGVjaW1hbFBvaW50ID4g
MCkgewotICAgICAgICBpZiAobGVuZ3RoIDw9IGRlY2ltYWxQb2ludCkgewotICAgICAgICAgICAg
YXBwZW5kKG5leHQsIHJlc3VsdCwgbGVuZ3RoKTsKLSAgICAgICAgICAgIGZvciAoaW50IGogPSAw
OyBqIDwgZGVjaW1hbFBvaW50IC0gbGVuZ3RoOyBqKyspCi0gICAgICAgICAgICAgICAgKm5leHQr
KyA9ICcwJzsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGFwcGVuZChuZXh0LCByZXN1
bHQsIGRlY2ltYWxQb2ludCk7Ci0gICAgICAgICAgICAqbmV4dCsrID0gJy4nOwotICAgICAgICAg
ICAgYXBwZW5kKG5leHQsIHJlc3VsdCArIGRlY2ltYWxQb2ludCwgbGVuZ3RoIC0gZGVjaW1hbFBv
aW50KTsKKyAgICAgICAgICAgIGNvcHlBc2NpaVRvVVRGMTYoYnVmZmVyLCAiTmFOIiwgMyk7Cisg
ICAgICAgICAgICByZXR1cm4gMzsKICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAocmVzdWx0WzBd
IDwgJzAnIHx8IHJlc3VsdFswXSA+ICc5JykKLSAgICAgICAgYXBwZW5kKG5leHQsIHJlc3VsdCwg
bGVuZ3RoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgKm5leHQrKyA9IHJlc3VsdFswXTsKLSAgICAg
ICAgaWYgKGxlbmd0aCA+IDEpIHsKLSAgICAgICAgICAgICpuZXh0KysgPSAnLic7Ci0gICAgICAg
ICAgICBhcHBlbmQobmV4dCwgcmVzdWx0ICsgMSwgbGVuZ3RoIC0gMSk7Ci0gICAgICAgIH0KLQot
ICAgICAgICAqbmV4dCsrID0gJ2UnOwotICAgICAgICAqbmV4dCsrID0gKGRlY2ltYWxQb2ludCA+
PSAwKSA/ICcrJyA6ICctJzsKLSAgICAgICAgLy8gZGVjaW1hbFBvaW50IGNhbid0IGJlIG1vcmUg
dGhhbiAzIGRpZ2l0cyBkZWNpbWFsIGdpdmVuIHRoZQotICAgICAgICAvLyBuYXR1cmUgb2YgZmxv
YXQgcmVwcmVzZW50YXRpb24KLSAgICAgICAgaW50IGV4cG9uZW50aWFsID0gZGVjaW1hbFBvaW50
IC0gMTsKLSAgICAgICAgaWYgKGV4cG9uZW50aWFsIDwgMCkKLSAgICAgICAgICAgIGV4cG9uZW50
aWFsID0gLWV4cG9uZW50aWFsOwotICAgICAgICBpZiAoZXhwb25lbnRpYWwgPj0gMTAwKQotICAg
ICAgICAgICAgKm5leHQrKyA9IHN0YXRpY19jYXN0PGNoYXI+KCcwJyArIGV4cG9uZW50aWFsIC8g
MTAwKTsKLSAgICAgICAgaWYgKGV4cG9uZW50aWFsID49IDEwKQotICAgICAgICAgICAgKm5leHQr
KyA9IHN0YXRpY19jYXN0PGNoYXI+KCcwJyArIChleHBvbmVudGlhbCAlIDEwMCkgLyAxMCk7Ci0g
ICAgICAgICpuZXh0KysgPSBzdGF0aWNfY2FzdDxjaGFyPignMCcgKyBleHBvbmVudGlhbCAlIDEw
KTsKLSAgICB9Ci0gICAgaWYgKHJlc3VsdExlbmd0aCkKLSAgICAgICAgKnJlc3VsdExlbmd0aCA9
IG5leHQgLSBidWZmZXI7CisgICAgICAgIGlmIChkID4gMCkgeworICAgICAgICAgICAgY29weUFz
Y2lpVG9VVEYxNihidWZmZXIsICJJbmZpbml0eSIsIDgpOworICAgICAgICAgICAgcmV0dXJuIDg7
CisgICAgICAgIH0KKyAgICAgICAgY29weUFzY2lpVG9VVEYxNihidWZmZXIsICItSW5maW5pdHki
LCA5KTsKKyAgICAgICAgcmV0dXJuIDk7CisgICAgfQorCisgICAgLy8gQ29udmVydCB0byBkZWNp
bWFsIHdpdGggcm91bmRpbmcuCisgICAgRGVjaW1hbE51bWJlciBudW1iZXIoZCk7CisgICAgcmV0
dXJuIG51bWJlci5leHBvbmVudCgpID49IC02ICYmIG51bWJlci5leHBvbmVudCgpIDwgMjEKKyAg
ICAgICAgPyBudW1iZXIudG9TdHJpbmdEZWNpbWFsKGJ1ZmZlcikKKyAgICAgICAgOiBudW1iZXIu
dG9TdHJpbmdFeHBvbmVudGlhbChidWZmZXIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVEYKSW5k
ZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUvd3RmL2R0b2EuaAkocmV2aXNpb24gNjYxNjkpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvZHRv
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwxMSArMjEsMTAgQEAKICNpZm5kZWYgV1RGX2R0b2Ff
aAogI2RlZmluZSBXVEZfZHRvYV9oCiAKLW5hbWVzcGFjZSBXVEYgewotY2xhc3MgTXV0ZXg7Ci19
CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKK2Ns
YXNzIE11dGV4OwogCiBleHRlcm4gV1RGOjpNdXRleCogc19kdG9hUDVNdXRleDsKIApAQCAtMzQs
MTYgKzMzLDE4IEBAIGV4dGVybiBXVEY6Ok11dGV4KiBzX2R0b2FQNU11dGV4OwogZG91YmxlIHN0
cnRvZChjb25zdCBjaGFyKiBzMDAsIGNoYXIqKiBzZSk7CiAKIHR5cGVkZWYgY2hhciBEdG9hQnVm
ZmVyWzgwXTsKLXZvaWQgZHRvYShEdG9hQnVmZmVyIHJlc3VsdCwgZG91YmxlIGQsIGludCBuZGln
aXRzLCBpbnQqIGRlY3B0LCBpbnQqIHNpZ24sIGNoYXIqKiBydmUpOwogCi0vLyBkdG9hKCkgZm9y
IEVDTUEtMjYyICdUb1N0cmluZyBBcHBsaWVkIHRvIHRoZSBOdW1iZXIgVHlwZS4nCi0vLyBUaGUg
KnJlc3VsdExlbmd0aCB3aWxsIGhhdmUgdGhlIGxlbmd0aCBvZiB0aGUgcmVzdWx0YW50IHN0cmlu
ZyBpbiBidWZlci4KLS8vIFRoZSByZXN1bHRhbnQgc3RyaW5nIGlzbid0IHRlcm1pbmF0ZWQgYnkg
MC4KLXZvaWQgZG91YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRGb3JtYXQoZG91YmxlLCBEdG9hQnVm
ZmVyLCB1bnNpZ25lZCogcmVzdWx0TGVuZ3RoKTsKK3ZvaWQgZHRvYShEdG9hQnVmZmVyIHJlc3Vs
dCwgZG91YmxlIGRkLCBib29sJiBzaWduLCBpbnQmIGV4cG9uZW50LCB1bnNpZ25lZCYgcHJlY2lz
aW9uKTsKK3ZvaWQgZHRvYVJvdW5kU0YoRHRvYUJ1ZmZlciByZXN1bHQsIGRvdWJsZSBkZCwgaW50
IG5kaWdpdHMsIGJvb2wmIHNpZ24sIGludCYgZXhwb25lbnQsIHVuc2lnbmVkJiBwcmVjaXNpb24p
Owordm9pZCBkdG9hUm91bmREUChEdG9hQnVmZmVyIHJlc3VsdCwgZG91YmxlIGRkLCBpbnQgbmRp
Z2l0cywgYm9vbCYgc2lnbiwgaW50JiBleHBvbmVudCwgdW5zaWduZWQmIHByZWNpc2lvbik7CisK
Ky8vIFNpemUgPSA4MCBmb3Igc2l6ZW9mKER0b2FCdWZmZXIpICsgc29tZSBzaWduIGJpdHMsIGRl
Y2ltYWwgcG9pbnQsICdlJywgZXhwb25lbnQgZGlnaXRzLgordHlwZWRlZiBVQ2hhciBOdW1iZXJU
b1N0cmluZ0J1ZmZlcls5Nl07Cit1bnNpZ25lZCBudW1iZXJUb1N0cmluZyhkb3VibGUsIE51bWJl
clRvU3RyaW5nQnVmZmVyKTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKLXVzaW5nIFdURjo6RHRv
YUJ1ZmZlcjsKLXVzaW5nIFdURjo6ZG91YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRGb3JtYXQ7Cit1
c2luZyBXVEY6Ok51bWJlclRvU3RyaW5nQnVmZmVyOwordXNpbmcgV1RGOjpudW1iZXJUb1N0cmlu
ZzsKIAogI2VuZGlmIC8vIFdURl9kdG9hX2gKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NjE4NikKKysrIFdlYkNvcmUv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDgtMjcgIEdh
dmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA0NDc0NSAtIE51bWJlci50b0Zp
eGVkL3RvRXhwb25lbnRpYWwvdG9QcmVjaXNpb24gYXJlIGluYWNjdXJhdGUuCisKKyAgICAgICAg
VGhlc2UgbWV0aG9kcyBzaG91bGQgYmUgdXNpbmcgYSB2ZXJzaW9uIG9mIGR0b2EgdGhhdCBjYW4g
Z2VuZXJhdGUgcmVzdWx0cyBhY2N1cmF0ZQorICAgICAgICB0byB0aGUgcmVxdWVzdGVkIHByZWNp
c2lvbiwgd2hlcmVhcyBvdXIgdmVyc2lvbiBvZiBkdG9hIGlzIG9ubHkgY3VycmVudGx5IGFibGUg
dG8KKyAgICAgICAgc3VwcG9ydCBwcm9kdWNpbmcgcmVzdWx0cyBzdWZmaWNpZW50bHkgYWNjdXJh
dGUgdG8gZGlzdGluZ3Vpc2ggdGhlIHZhbHVlIGZyb20gYW55CisgICAgICAgIG90aGVyIElFRUUt
NzU0IGRvdWJsZSBwcmVjaXNpb24gbnVtYmVyLgorCisgICAgICAgICogaHRtbC9IVE1MVHJlZUJ1
aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXplRm9yTnVtYmVyVHlwZSk6Cisg
ICAgICAgICAgICBkb3VibGVUb1N0cmluZ0luSmF2YVNjcmlwdEZvcm1hdCByZW5hbWVkIHRvIG51
bWJlclRvU3RyaW5nLgorCiAyMDEwLTA4LTI1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9o
dG1sL0hUTUxUcmVlQnVpbGRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxU
cmVlQnVpbGRlci5jcHAJKHJldmlzaW9uIDY2MTY5KQorKysgV2ViQ29yZS9odG1sL0hUTUxUcmVl
QnVpbGRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4NTAsOSArMjg1MCw4IEBAIFN0cmluZyBz
ZXJpYWxpemVGb3JOdW1iZXJUeXBlKGRvdWJsZSBudW0KIHsKICAgICAvLyBBY2NvcmRpbmcgdG8g
SFRNTDUsICJ0aGUgYmVzdCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyIG4gYXMgYSBmbG9h
dGluZwogICAgIC8vIHBvaW50IG51bWJlciIgaXMgYSBzdHJpbmcgcHJvZHVjZWQgYnkgYXBwbHlp
bmcgVG9TdHJpbmcoKSB0byBuLgotICAgIER0b2FCdWZmZXIgYnVmZmVyOwotICAgIHVuc2lnbmVk
IGxlbmd0aDsKLSAgICBkb3VibGVUb1N0cmluZ0luSmF2YVNjcmlwdEZvcm1hdChudW1iZXIsIGJ1
ZmZlciwgJmxlbmd0aCk7CisgICAgTnVtYmVyVG9TdHJpbmdCdWZmZXIgYnVmZmVyOworICAgIHVu
c2lnbmVkIGxlbmd0aCA9IG51bWJlclRvU3RyaW5nKG51bWJlciwgYnVmZmVyKTsKICAgICByZXR1
cm4gU3RyaW5nKGJ1ZmZlciwgbGVuZ3RoKTsKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjYxODYp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBA
QAorMjAxMC0wOC0yNyAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDQ0
NzQ1IC0gTnVtYmVyLnRvRml4ZWQvdG9FeHBvbmVudGlhbC90b1ByZWNpc2lvbiBhcmUgaW5hY2N1
cmF0ZS4KKworICAgICAgICBUaGVzZSBtZXRob2RzIHNob3VsZCBiZSB1c2luZyBhIHZlcnNpb24g
b2YgZHRvYSB0aGF0IGNhbiBnZW5lcmF0ZSByZXN1bHRzIGFjY3VyYXRlCisgICAgICAgIHRvIHRo
ZSByZXF1ZXN0ZWQgcHJlY2lzaW9uLCB3aGVyZWFzIG91ciB2ZXJzaW9uIG9mIGR0b2EgaXMgb25s
eSBjdXJyZW50bHkgYWJsZSB0bworICAgICAgICBzdXBwb3J0IHByb2R1Y2luZyByZXN1bHRzIHN1
ZmZpY2llbnRseSBhY2N1cmF0ZSB0byBkaXN0aW5ndWlzaCB0aGUgdmFsdWUgZnJvbSBhbnkKKyAg
ICAgICAgb3RoZXIgSUVFRS03NTQgZG91YmxlIHByZWNpc2lvbiBudW1iZXIuCisKKyAgICAgICAg
VXBkYXRpbmcgZXhwZWN0ZWQgcmVzdWx0cywgY29ycmVjdGVkIGVycm9ycyBpbiBmYXN0L2pzL2tk
ZS9zY3JpcHQtdGVzdHMvTnVtYmVyLmpzCisgICAgICAgIChjb3JyZWN0ZWQgcmVzdWx0cyBjb25m
aXJtZWQgd2l0aCBGaXJlRm94KS4KKworICAgICAgICAqIGZhc3QvanMva2RlL051bWJlci1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9qcy9rZGUvc2NyaXB0LXRlc3RzL051bWJlci5qczoK
KyAgICAgICAgKiBmYXN0L2pzL251bWJlci10b0V4cG9uZW50aWFsLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2pzL251bWJlci10b2ZpeGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2pzL251bWJlci10b3ByZWNpc2lvbi1leHBlY3RlZC50eHQ6CisKIDIwMTAtMDgtMjYgIFBo
aWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE1hcnRpbiBSb2JpbnNvbi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRv
RXhwb25lbnRpYWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
anMvbnVtYmVyLXRvRXhwb25lbnRpYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2NjE2OSkKKysr
IExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRvRXhwb25lbnRpYWwtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBAIFBBU1MgKDEyMy40NTYpLnRvRXhwb25lbnRp
YWwoMi45KSBpcyAiMS4KIFBBU1MgKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoMykgaXMgIjEuMjM1
ZSsyIgogUEFTUyAoMTIzLjQ1NikudG9FeHBvbmVudGlhbCg1KSBpcyAiMS4yMzQ1NmUrMiIKIFBB
U1MgKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoNikgaXMgIjEuMjM0NTYwZSsyIgotRkFJTCAoMTIz
LjQ1NikudG9FeHBvbmVudGlhbCgyMCkgc2hvdWxkIGJlIDEuMjM0NTYwMDAwMDAwMDAwMDMwNzBl
KzIuIFdhcyAxLjIzNDU2MDAwMDAwMDAwMDAwMDAwZSsyLgorUEFTUyAoMTIzLjQ1NikudG9FeHBv
bmVudGlhbCgyMCkgaXMgIjEuMjM0NTYwMDAwMDAwMDAwMDMwNzBlKzIiCiBQQVNTICgxMjMuNDU2
KS50b0V4cG9uZW50aWFsKDIxKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogdG9FeHBvbmVu
dGlhbCgpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyMC4KIFBBU1MgKDEyMy40NTYp
LnRvRXhwb25lbnRpYWwoMTAwKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogdG9FeHBvbmVu
dGlhbCgpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyMC4KIFBBU1MgKDEyMy40NTYp
LnRvRXhwb25lbnRpYWwoMTAxKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogdG9FeHBvbmVu
dGlhbCgpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyMC4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvanMvbnVtYmVyLXRvZml4ZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRvZml4ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2
NjE2OSkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRvZml4ZWQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIFBBU1MgKDEyMzQuNTY3KS50b0ZpeGVk
KCcxJykgaXMgIjEyMzQuNiIKIFBBU1MgKDEyMzQuNTY3KS50b0ZpeGVkKDIpIGlzICIxMjM0LjU3
IgogUEFTUyAoMTIzNC41NjcpLnRvRml4ZWQoMi45KSBpcyAiMTIzNC41NyIKIFBBU1MgKDEyMzQu
NTY3KS50b0ZpeGVkKDUpIGlzICIxMjM0LjU2NzAwIgotRkFJTCAoMTIzNC41NjcpLnRvRml4ZWQo
MjApIHNob3VsZCBiZSAxMjM0LjU2NzAwMDAwMDAwMDAwNzI3NTk2LiBXYXMgMTIzNC41NjcwMDAw
MDAwMDAwMDAwMDAwMC4KK1BBU1MgKDEyMzQuNTY3KS50b0ZpeGVkKDIwKSBpcyAiMTIzNC41Njcw
MDAwMDAwMDAwMDcyNzU5NiIKIFBBU1MgKDEyMzQuNTY3KS50b0ZpeGVkKDIxKSB0aHJldyBleGNl
cHRpb24gUmFuZ2VFcnJvcjogdG9GaXhlZCgpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAwIGFu
ZCAyMC4KIFBBU1MgKDEyMzQuNTY3KS50b0ZpeGVkKDEwMCkgdGhyZXcgZXhjZXB0aW9uIFJhbmdl
RXJyb3I6IHRvRml4ZWQoKSBhcmd1bWVudCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjAuCiBQQVNT
ICgxMjM0LjU2NykudG9GaXhlZCgxMDEpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiB0b0Zp
eGVkKCkgYXJndW1lbnQgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDIwLgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9qcy9udW1iZXItdG9wcmVjaXNpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRvcHJlY2lzaW9uLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNjYxNjkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL251bWJlci10b3ByZWNpc2lvbi1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAgUEFTUyAoMTIzNC41
NjcpLnRvUHJlY2lzaW9uKCcxJykgaXMgIjFlKwogUEFTUyAoMTIzNC41NjcpLnRvUHJlY2lzaW9u
KDIpIGlzICIxLjJlKzMiCiBQQVNTICgxMjM0LjU2NykudG9QcmVjaXNpb24oMi45KSBpcyAiMS4y
ZSszIgogUEFTUyAoMTIzNC41NjcpLnRvUHJlY2lzaW9uKDUpIGlzICIxMjM0LjYiCi1GQUlMICgx
MjM0LjU2NykudG9QcmVjaXNpb24oMjEpIHNob3VsZCBiZSAxMjM0LjU2NzAwMDAwMDAwMDAwNzI4
LiBXYXMgMTIzNC41NjcwMDAwMDAwMDAwMDAwMC4KK1BBU1MgKDEyMzQuNTY3KS50b1ByZWNpc2lv
bigyMSkgaXMgIjEyMzQuNTY3MDAwMDAwMDAwMDA3MjgiCiBQQVNTICgxMjM0LjU2NykudG9QcmVj
aXNpb24oMjIpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiB0b1ByZWNpc2lvbigpIGFyZ3Vt
ZW50IG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyMS4KIFBBU1MgKDEyMzQuNTY3KS50b1ByZWNpc2lv
bigxMDApIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiB0b1ByZWNpc2lvbigpIGFyZ3VtZW50
IG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyMS4KIFBBU1MgKDEyMzQuNTY3KS50b1ByZWNpc2lvbigx
MDEpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiB0b1ByZWNpc2lvbigpIGFyZ3VtZW50IG11
c3QgYmUgYmV0d2VlbiAxIGFuZCAyMS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMva2RlL051
bWJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9rZGUv
TnVtYmVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjYxNjkpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2pzL2tkZS9OdW1iZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05MywxMCArOTMs
MTAgQEAgUEFTUyBOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxMykgaQogUEFTUyBOdW1i
ZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxNCkgaXMgIjEuMjM0NTYwMDAwMDAwMDBlKzIiCiBQ
QVNTIE51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDE1KSBpcyAiMS4yMzQ1NjAwMDAwMDAw
MDBlKzIiCiBQQVNTIE51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDE2KSBpcyAiMS4yMzQ1
NjAwMDAwMDAwMDAwZSsyIgotUEFTUyBOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxNykg
aXMgIjEuMjM0NTYwMDAwMDAwMDAwMDBlKzIiCi1QQVNTIE51bWJlcigxMjMuNDU2KS50b0V4cG9u
ZW50aWFsKDE4KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwMDBlKzIiCi1QQVNTIE51bWJlcigxMjMu
NDU2KS50b0V4cG9uZW50aWFsKDE5KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwMDAwZSsyIgotUEFT
UyBOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgyMCkgaXMgIjEuMjM0NTYwMDAwMDAwMDAw
MDAwMDBlKzIiCitQQVNTIE51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDE3KSBpcyAiMS4y
MzQ1NjAwMDAwMDAwMDAwM2UrMiIKK1BBU1MgTnVtYmVyKDEyMy40NTYpLnRvRXhwb25lbnRpYWwo
MTgpIGlzICIxLjIzNDU2MDAwMDAwMDAwMDAzMWUrMiIKK1BBU1MgTnVtYmVyKDEyMy40NTYpLnRv
RXhwb25lbnRpYWwoMTkpIGlzICIxLjIzNDU2MDAwMDAwMDAwMDAzMDdlKzIiCitQQVNTIE51bWJl
cigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDIwKSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwMzA3MGUr
MiIKIFBBU1MgdHJ5IHsgTnVtYmVyKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoMjEpIH0gY2F0Y2gg
KGUpIHsgU3RyaW5nKGUpLmluZGV4T2YoJ1JhbmdlJykgPj0gMDsgfSBpcyB0cnVlCiBQQVNTIE51
bWJlcigtMTIzLjQ1NikudG9FeHBvbmVudGlhbCgpIGlzICItMS4yMzQ1NmUrMiIKIFBBU1MgdHJ5
IHsgTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKC0xKSB9IGNhdGNoIChlKSB7IFN0cmlu
ZyhlKS5pbmRleE9mKCdSYW5nZScpID49IDA7IH0gaXMgdHJ1ZQpAQCAtMTE3LDEwICsxMTcsMTAg
QEAgUEFTUyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTMpIAogUEFTUyBOdW1iZXIo
LTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTQpIGlzICItMS4yMzQ1NjAwMDAwMDAwMGUrMiIKIFBB
U1MgTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE1KSBpcyAiLTEuMjM0NTYwMDAwMDAw
MDAwZSsyIgogUEFTUyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTYpIGlzICItMS4y
MzQ1NjAwMDAwMDAwMDAwZSsyIgotUEFTUyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwo
MTcpIGlzICItMS4yMzQ1NjAwMDAwMDAwMDAwMGUrMiIKLVBBU1MgTnVtYmVyKC0xMjMuNDU2KS50
b0V4cG9uZW50aWFsKDE4KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAwMDAwZSsyIgotUEFTUyBOdW1i
ZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTkpIGlzICItMS4yMzQ1NjAwMDAwMDAwMDAwMDAw
ZSsyIgotUEFTUyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMjApIGlzICItMS4yMzQ1
NjAwMDAwMDAwMDAwMDAwMGUrMiIKK1BBU1MgTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFs
KDE3KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAwMDNlKzIiCitQQVNTIE51bWJlcigtMTIzLjQ1Niku
dG9FeHBvbmVudGlhbCgxOCkgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMDAzMWUrMiIKK1BBU1MgTnVt
YmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE5KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAwMDMw
N2UrMiIKK1BBU1MgTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDIwKSBpcyAiLTEuMjM0
NTYwMDAwMDAwMDAwMDMwNzBlKzIiCiBQQVNTIHRyeSB7IE51bWJlcigtMTIzLjQ1NikudG9FeHBv
bmVudGlhbCgyMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAw
OyB9IGlzIHRydWUKIFBBU1MgTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoKSBpcyAi
MS4yMzQ1NmUtNCIKIFBBU1MgdHJ5IHsgTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwo
LTEpIH0gY2F0Y2ggKGUpIHsgU3RyaW5nKGUpLmluZGV4T2YoJ1JhbmdlJykgPj0gMDsgfSBpcyB0
cnVlCkBAIC0xNDAsMTEgKzE0MCwxMSBAQCBQQVNTIE51bWJlciguMDAwMTIzNDU2KS50b0V4cG9u
ZW50aWFsKDEyCiBQQVNTIE51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDEzKSBpcyAi
MS4yMzQ1NjAwMDAwMDAwZS00IgogUEFTUyBOdW1iZXIoLjAwMDEyMzQ1NikudG9FeHBvbmVudGlh
bCgxNCkgaXMgIjEuMjM0NTYwMDAwMDAwMDBlLTQiCiBQQVNTIE51bWJlciguMDAwMTIzNDU2KS50
b0V4cG9uZW50aWFsKDE1KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDBlLTQiCi1QQVNTIE51bWJlcigu
MDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE2KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwZS00Igot
UEFTUyBOdW1iZXIoLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgxNykgaXMgIjEuMjM0NTYwMDAw
MDAwMDAwMDBlLTQiCi1QQVNTIE51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE4KSBp
cyAiMS4yMzQ1NjAwMDAwMDAwMDAwMDBlLTQiCi1QQVNTIE51bWJlciguMDAwMTIzNDU2KS50b0V4
cG9uZW50aWFsKDE5KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwMDAwZS00IgotUEFTUyBOdW1iZXIo
LjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgyMCkgaXMgIjEuMjM0NTYwMDAwMDAwMDAwMDAwMDBl
LTQiCitQQVNTIE51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE2KSBpcyAiMS4yMzQ1
NjAwMDAwMDAwMDAxZS00IgorUEFTUyBOdW1iZXIoLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgx
NykgaXMgIjEuMjM0NTYwMDAwMDAwMDAwMDVlLTQiCitQQVNTIE51bWJlciguMDAwMTIzNDU2KS50
b0V4cG9uZW50aWFsKDE4KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwNTJlLTQiCitQQVNTIE51bWJl
ciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE5KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwNTE5
ZS00IgorUEFTUyBOdW1iZXIoLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgyMCkgaXMgIjEuMjM0
NTYwMDAwMDAwMDAwMDUxODhlLTQiCiBQQVNTIHRyeSB7IE51bWJlciguMDAwMTIzNDU2KS50b0V4
cG9uZW50aWFsKDIxKSB9IGNhdGNoIChlKSB7IFN0cmluZyhlKS5pbmRleE9mKCdSYW5nZScpID49
IDA7IH0gaXMgdHJ1ZQogUEFTUyBOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoKSBp
cyAiLTEuMjM0NTZlLTQiCiBQQVNTIHRyeSB7IE51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVu
dGlhbCgtMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9
IGlzIHRydWUKQEAgLTE2NCwxMSArMTY0LDExIEBAIFBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50
b0V4cG9uZW50aWFsKDEKIFBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDEz
KSBpcyAiLTEuMjM0NTYwMDAwMDAwMGUtNCIKIFBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50b0V4
cG9uZW50aWFsKDE0KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDBlLTQiCiBQQVNTIE51bWJlcigtLjAw
MDEyMzQ1NikudG9FeHBvbmVudGlhbCgxNSkgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMGUtNCIKLVBB
U1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE2KSBpcyAiLTEuMjM0NTYwMDAw
MDAwMDAwMGUtNCIKLVBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE3KSBp
cyAiLTEuMjM0NTYwMDAwMDAwMDAwMDBlLTQiCi1QQVNTIE51bWJlcigtLjAwMDEyMzQ1NikudG9F
eHBvbmVudGlhbCgxOCkgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMDAwMGUtNCIKLVBBU1MgTnVtYmVy
KC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE5KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAwMDAw
MGUtNCIKLVBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDIwKSBpcyAiLTEu
MjM0NTYwMDAwMDAwMDAwMDAwMDBlLTQiCitQQVNTIE51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBv
bmVudGlhbCgxNikgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMDFlLTQiCitQQVNTIE51bWJlcigtLjAw
MDEyMzQ1NikudG9FeHBvbmVudGlhbCgxNykgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMDA1ZS00Igor
UEFTUyBOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTgpIGlzICItMS4yMzQ1NjAw
MDAwMDAwMDAwNTJlLTQiCitQQVNTIE51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgx
OSkgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMDA1MTllLTQiCitQQVNTIE51bWJlcigtLjAwMDEyMzQ1
NikudG9FeHBvbmVudGlhbCgyMCkgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMDA1MTg4ZS00IgogUEFT
UyB0cnkgeyBOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMjEpIH0gY2F0Y2ggKGUp
IHsgU3RyaW5nKGUpLmluZGV4T2YoJ1JhbmdlJykgPj0gMDsgfSBpcyB0cnVlCiBQQVNTIE51bWJl
cigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgpIGlzICIxLjIzNDU2Nzg5
MDEyMzQ1NjhlKzIiCiBQQVNTIHRyeSB7IE51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMiku
dG9FeHBvbmVudGlhbCgtMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhPZignUmFuZ2Un
KSA+PSAwOyB9IGlzIHRydWUKQEAgLTE4OSwxMCArMTg5LDEwIEBAIFBBU1MgTnVtYmVyKDEyMy40
NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0UKIFBBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5
MDEyKS50b0V4cG9uZW50aWFsKDE0KSBpcyAiMS4yMzQ1Njc4OTAxMjM0NmUrMiIKIFBBU1MgTnVt
YmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE1KSBpcyAiMS4yMzQ1
Njc4OTAxMjM0NTdlKzIiCiBQQVNTIE51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9F
eHBvbmVudGlhbCgxNikgaXMgIjEuMjM0NTY3ODkwMTIzNDU2OGUrMiIKLVBBU1MgTnVtYmVyKDEy
My40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE3KSBpcyAiMS4yMzQ1Njc4OTAx
MjM0NTY4MGUrMiIKLVBBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9u
ZW50aWFsKDE4KSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MDBlKzIiCi1QQVNTIE51bWJlcigxMjMu
NDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxOSkgaXMgIjEuMjM0NTY3ODkwMTIz
NDU2NzAwMGUrMiIKLVBBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9u
ZW50aWFsKDIwKSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MDAwMGUrMiIKK1BBU1MgTnVtYmVyKDEy
My40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE3KSBpcyAiMS4yMzQ1Njc4OTAx
MjM0NTY4MWUrMiIKK1BBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9u
ZW50aWFsKDE4KSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MDZlKzIiCitQQVNTIE51bWJlcigxMjMu
NDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxOSkgaXMgIjEuMjM0NTY3ODkwMTIz
NDU2ODA1OWUrMiIKK1BBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9u
ZW50aWFsKDIwKSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MDU5MGUrMiIKIFBBU1MgdHJ5IHsgTnVt
YmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDIxKSB9IGNhdGNoIChl
KSB7IFN0cmluZyhlKS5pbmRleE9mKCdSYW5nZScpID49IDA7IH0gaXMgdHJ1ZQogUEFTUyBOdW1i
ZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKCkgaXMgIi0xLjIzNDU2
Nzg5MDEyMzQ1NjhlKzIiCiBQQVNTIHRyeSB7IE51bWJlcigtMTIzLjQ1Njc4OTAxMjM0NTY3ODkw
MTIpLnRvRXhwb25lbnRpYWwoLTEpIH0gY2F0Y2ggKGUpIHsgU3RyaW5nKGUpLmluZGV4T2YoJ1Jh
bmdlJykgPj0gMDsgfSBpcyB0cnVlCkBAIC0yMTMsMTAgKzIxMywxMCBAQCBQQVNTIE51bWJlcigt
MTIzLjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRvCiBQQVNTIE51bWJlcigtMTIzLjQ1Njc4OTAxMjM0
NTY3ODkwMTIpLnRvRXhwb25lbnRpYWwoMTQpIGlzICItMS4yMzQ1Njc4OTAxMjM0NmUrMiIKIFBB
U1MgTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxNSkgaXMg
Ii0xLjIzNDU2Nzg5MDEyMzQ1N2UrMiIKIFBBU1MgTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4
OTAxMikudG9FeHBvbmVudGlhbCgxNikgaXMgIi0xLjIzNDU2Nzg5MDEyMzQ1NjhlKzIiCi1QQVNT
IE51bWJlcigtMTIzLjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRvRXhwb25lbnRpYWwoMTcpIGlzICIt
MS4yMzQ1Njc4OTAxMjM0NTY4MGUrMiIKLVBBU1MgTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4
OTAxMikudG9FeHBvbmVudGlhbCgxOCkgaXMgIi0xLjIzNDU2Nzg5MDEyMzQ1NjgwMGUrMiIKLVBB
U1MgTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxOSkgaXMg
Ii0xLjIzNDU2Nzg5MDEyMzQ1NjcwMDBlKzIiCi1QQVNTIE51bWJlcigtMTIzLjQ1Njc4OTAxMjM0
NTY3ODkwMTIpLnRvRXhwb25lbnRpYWwoMjApIGlzICItMS4yMzQ1Njc4OTAxMjM0NTY4MDAwMGUr
MiIKK1BBU1MgTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgx
NykgaXMgIi0xLjIzNDU2Nzg5MDEyMzQ1NjgxZSsyIgorUEFTUyBOdW1iZXIoLTEyMy40NTY3ODkw
MTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE4KSBpcyAiLTEuMjM0NTY3ODkwMTIzNDU2ODA2
ZSsyIgorUEFTUyBOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFs
KDE5KSBpcyAiLTEuMjM0NTY3ODkwMTIzNDU2ODA1OWUrMiIKK1BBU1MgTnVtYmVyKC0xMjMuNDU2
Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgyMCkgaXMgIi0xLjIzNDU2Nzg5MDEyMzQ1
NjgwNTkwZSsyIgogUEFTUyB0cnkgeyBOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50
b0V4cG9uZW50aWFsKDIxKSB9IGNhdGNoIChlKSB7IFN0cmluZyhlKS5pbmRleE9mKCdSYW5nZScp
ID49IDA7IH0gaXMgdHJ1ZQogUEFTUyBOdW1iZXIoLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDEpLnRv
RXhwb25lbnRpYWwoKSBpcyAiMWUtMjIiCiBQQVNTIE51bWJlciguMDAwMDAwMDAwMDAwMDAwMDAw
MDAxMikudG9FeHBvbmVudGlhbCgpIGlzICIxLjJlLTIxIgpAQCAtMzQ4LDExICszNDgsMTEgQEAg
UEFTUyBOdW1iZXIoMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMwogUEFTUyBOdW1iZXIoMC4w
MDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNCkgaXMgIjAuMDAwMTIz
NDU2Nzg5MDEyMzUiCiBQQVNTIE51bWJlcigwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUp
LnRvUHJlY2lzaW9uKDE1KSBpcyAiMC4wMDAxMjM0NTY3ODkwMTIzNDYiCiBQQVNTIE51bWJlcigw
LjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE2KSBpcyAiMC4wMDAx
MjM0NTY3ODkwMTIzNDU3IgotRkFJTCBOdW1iZXIoMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEy
MzQ1KS50b1ByZWNpc2lvbigxNykgc2hvdWxkIGJlIDAuMDAwMTIzNDU2Nzg5MDEyMzQ1NjcuIFdh
cyAwLjAwMDEyMzQ1Njc4OTAxMjM0NTY4LgotRkFJTCBOdW1iZXIoMC4wMDAxMjM0NTY3ODkwMTIz
NDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOCkgc2hvdWxkIGJlIDAuMDAwMTIzNDU2Nzg5MDEy
MzQ1NjcxLiBXYXMgMC4wMDAxMjM0NTY3ODkwMTIzNDU2NjAuCi1GQUlMIE51bWJlcigwLjAwMDEy
MzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE5KSBzaG91bGQgYmUgMC4wMDAx
MjM0NTY3ODkwMTIzNDU2NzEzLiBXYXMgMC4wMDAxMjM0NTY3ODkwMTIzNDU2ODAwLgotRkFJTCBO
dW1iZXIoMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigyMCkgc2hv
dWxkIGJlIDAuMDAwMTIzNDU2Nzg5MDEyMzQ1NjcxMzAuIFdhcyAwLjAwMDEyMzQ1Njc4OTAxMjM0
NTY1MDAwLgotRkFJTCBOdW1iZXIoMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1By
ZWNpc2lvbigyMSkgc2hvdWxkIGJlIDAuMDAwMTIzNDU2Nzg5MDEyMzQ1NjcxMjk3LiBXYXMgMC4w
MDAxMjM0NTY3ODkwMTIzNDU2NzAwMDAuCitQQVNTIE51bWJlcigwLjAwMDEyMzQ1Njc4OTAxMjM0
NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE3KSBpcyAiMC4wMDAxMjM0NTY3ODkwMTIzNDU2NyIK
K1BBU1MgTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24o
MTgpIGlzICIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MSIKK1BBU1MgTnVtYmVyKDAuMDAwMTIzNDU2
Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTkpIGlzICIwLjAwMDEyMzQ1Njc4OTAx
MjM0NTY3MTMiCitQQVNTIE51bWJlcigwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRv
UHJlY2lzaW9uKDIwKSBpcyAiMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEzMCIKK1BBU1MgTnVtYmVy
KDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIGlzICIwLjAw
MDEyMzQ1Njc4OTAxMjM0NTY3MTI5OCIKIFBBU1MgTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5
MDEyMzQ1KS50b1ByZWNpc2lvbigpIGlzICIxMjM0NS42Nzg5MDEyMzQ1NjciCiBQQVNTIE51bWJl
cigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMSkgaXMgIjFlKzQiCiBQ
QVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMikgaXMg
IjEuMmUrNCIKQEAgLTM3MCwxMSArMzcwLDExIEBAIFBBU1MgTnVtYmVyKDEyMzQ1LjY3ODkwMTIz
NDU2Nzg5MDEyMzQ1KS4KIFBBU1MgTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50
b1ByZWNpc2lvbigxNCkgaXMgIjEyMzQ1LjY3ODkwMTIzNSIKIFBBU1MgTnVtYmVyKDEyMzQ1LjY3
ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNSkgaXMgIjEyMzQ1LjY3ODkwMTIzNDYi
CiBQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTYp
IGlzICIxMjM0NS42Nzg5MDEyMzQ1NyIKLVBBU1MgTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5
MDEyMzQ1KS50b1ByZWNpc2lvbigxNykgaXMgIjEyMzQ1LjY3ODkwMTIzNDU2OCIKLVBBU1MgTnVt
YmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOCkgaXMgIjEyMzQ1
LjY3ODkwMTIzNDU2NjAiCi1QQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSku
dG9QcmVjaXNpb24oMTkpIGlzICIxMjM0NS42Nzg5MDEyMzQ1NjgwMCIKLVBBU1MgTnVtYmVyKDEy
MzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigyMCkgaXMgIjEyMzQ1LjY3ODkw
MTIzNDU2NzAwMCIKLVBBU1MgTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1By
ZWNpc2lvbigyMSkgaXMgIjEyMzQ1LjY3ODkwMTIzNDU2NzAwMDAiCitQQVNTIE51bWJlcigxMjM0
NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTcpIGlzICIxMjM0NS42Nzg5MDEy
MzQ1NjciCitQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNp
b24oMTgpIGlzICIxMjM0NS42Nzg5MDEyMzQ1NjcxIgorUEFTUyBOdW1iZXIoMTIzNDUuNjc4OTAx
MjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE5KSBpcyAiMTIzNDUuNjc4OTAxMjM0NTY3MDki
CitQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjAp
IGlzICIxMjM0NS42Nzg5MDEyMzQ1NjcwOTMiCitQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1
Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIGlzICIxMjM0NS42Nzg5MDEyMzQ1NjcwOTI2Igog
UEFTUyBOdW1iZXIoLS4wMDAwMDAwMDEyMzQ1KS50b1ByZWNpc2lvbigyKSBpcyAiLTEuMmUtOSIK
IFBBU1MgTnVtYmVyKC0uMDAwMDAwMDEyMzQ1KS50b1ByZWNpc2lvbigyKSBpcyAiLTEuMmUtOCIK
IFBBU1MgTnVtYmVyKC0uMDAwMDAwMTIzNDUpLnRvUHJlY2lzaW9uKDIpIGlzICItMS4yZS03IgpA
QCAtNDA4LDExICs0MDgsMTEgQEAgUEFTUyBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4
OTAxMgogUEFTUyBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVj
aXNpb24oMTQpIGlzICItMC4wMDAxMjM0NTY3ODkwMTIzNSIKIFBBU1MgTnVtYmVyKC0wLjAwMDEy
MzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE1KSBpcyAiLTAuMDAwMTIzNDU2
Nzg5MDEyMzQ2IgogUEFTUyBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSku
dG9QcmVjaXNpb24oMTYpIGlzICItMC4wMDAxMjM0NTY3ODkwMTIzNDU3IgotRkFJTCBOdW1iZXIo
LTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTcpIHNob3VsZCBi
ZSAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2Ny4gV2FzIC0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY4Lgot
RkFJTCBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24o
MTgpIHNob3VsZCBiZSAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEuIFdhcyAtMC4wMDAxMjM0NTY3
ODkwMTIzNDU2NjAuCi1GQUlMIE51bWJlcigtMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1
KS50b1ByZWNpc2lvbigxOSkgc2hvdWxkIGJlIC0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTMuIFdh
cyAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2ODAwLgotRkFJTCBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5
MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjApIHNob3VsZCBiZSAtMC4wMDAxMjM0NTY3
ODkwMTIzNDU2NzEzMC4gV2FzIC0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY1MDAwLgotRkFJTCBOdW1i
ZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIHNob3Vs
ZCBiZSAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEyOTcuIFdhcyAtMC4wMDAxMjM0NTY3ODkwMTIz
NDU2NzAwMDAuCitQQVNTIE51bWJlcigtMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50
b1ByZWNpc2lvbigxNykgaXMgIi0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY3IgorUEFTUyBOdW1iZXIo
LTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTgpIGlzICItMC4w
MDAxMjM0NTY3ODkwMTIzNDU2NzEiCitQQVNTIE51bWJlcigtMC4wMDAxMjM0NTY3ODkwMTIzNDU2
Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOSkgaXMgIi0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTMi
CitQQVNTIE51bWJlcigtMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lv
bigyMCkgaXMgIi0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTMwIgorUEFTUyBOdW1iZXIoLTAuMDAw
MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIGlzICItMC4wMDAxMjM0
NTY3ODkwMTIzNDU2NzEyOTgiCiBQQVNTIE51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIz
NDUpLnRvUHJlY2lzaW9uKCkgaXMgIi0xMjM0NS42Nzg5MDEyMzQ1NjciCiBQQVNTIE51bWJlcigt
MTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDEpIGlzICItMWUrNCIKIFBB
U1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMikgaXMg
Ii0xLjJlKzQiCkBAIC00MzAsMTEgKzQzMCwxMSBAQCBQQVNTIE51bWJlcigtMTIzNDUuNjc4OTAx
MjM0NTY3ODkwMTIzNDUpCiBQQVNTIE51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUp
LnRvUHJlY2lzaW9uKDE0KSBpcyAiLTEyMzQ1LjY3ODkwMTIzNSIKIFBBU1MgTnVtYmVyKC0xMjM0
NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTUpIGlzICItMTIzNDUuNjc4OTAx
MjM0NiIKIFBBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNp
b24oMTYpIGlzICItMTIzNDUuNjc4OTAxMjM0NTciCi1QQVNTIE51bWJlcigtMTIzNDUuNjc4OTAx
MjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE3KSBpcyAiLTEyMzQ1LjY3ODkwMTIzNDU2OCIK
LVBBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTgp
IGlzICItMTIzNDUuNjc4OTAxMjM0NTY2MCIKLVBBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1
Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTkpIGlzICItMTIzNDUuNjc4OTAxMjM0NTY4MDAiCi1Q
QVNTIE51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDIwKSBp
cyAiLTEyMzQ1LjY3ODkwMTIzNDU2NzAwMCIKLVBBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1
Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIGlzICItMTIzNDUuNjc4OTAxMjM0NTY3MDAwMCIK
K1BBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTcp
IGlzICItMTIzNDUuNjc4OTAxMjM0NTY3IgorUEFTUyBOdW1iZXIoLTEyMzQ1LjY3ODkwMTIzNDU2
Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOCkgaXMgIi0xMjM0NS42Nzg5MDEyMzQ1NjcxIgorUEFT
UyBOdW1iZXIoLTEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOSkgaXMg
Ii0xMjM0NS42Nzg5MDEyMzQ1NjcwOSIKK1BBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4
OTAxMjM0NSkudG9QcmVjaXNpb24oMjApIGlzICItMTIzNDUuNjc4OTAxMjM0NTY3MDkzIgorUEFT
UyBOdW1iZXIoLTEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigyMSkgaXMg
Ii0xMjM0NS42Nzg5MDEyMzQ1NjcwOTI2IgogUEFTUyBOdW1iZXIoMCkudG9QcmVjaXNpb24oKSBp
cyAiMCIKIFBBU1MgTnVtYmVyKDApLnRvUHJlY2lzaW9uKDEpIGlzICIwIgogUEFTUyBOdW1iZXIo
MCkudG9QcmVjaXNpb24oMikgaXMgIjAuMCIKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMva2Rl
L3NjcmlwdC10ZXN0cy9OdW1iZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9q
cy9rZGUvc2NyaXB0LXRlc3RzL051bWJlci5qcwkocmV2aXNpb24gNjYxNjkpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2pzL2tkZS9zY3JpcHQtdGVzdHMvTnVtYmVyLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDgsMTAgKzEwOCwxMCBAQCBzaG91bGRCZSgiTnVtYmVyKDEyMy40NTYpLnRvRXhwb25lbnRp
YWwoCiBzaG91bGRCZSgiTnVtYmVyKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTQpIiwiXCIxLjIz
NDU2MDAwMDAwMDAwZSsyXCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVu
dGlhbCgxNSkiLCJcIjEuMjM0NTYwMDAwMDAwMDAwZSsyXCIiKTsKIHNob3VsZEJlKCJOdW1iZXIo
MTIzLjQ1NikudG9FeHBvbmVudGlhbCgxNikiLCJcIjEuMjM0NTYwMDAwMDAwMDAwMGUrMlwiIik7
Ci1zaG91bGRCZSgiTnVtYmVyKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTcpIiwiXCIxLjIzNDU2
MDAwMDAwMDAwMDAwZSsyXCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVu
dGlhbCgxOCkiLCJcIjEuMjM0NTYwMDAwMDAwMDAwMDAwZSsyXCIiKTsKLXNob3VsZEJlKCJOdW1i
ZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxOSkiLCJcIjEuMjM0NTYwMDAwMDAwMDAwMDAwMGUr
MlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoMjApIiwiXCIx
LjIzNDU2MDAwMDAwMDAwMDAwMDAwZSsyXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoMTIzLjQ1Niku
dG9FeHBvbmVudGlhbCgxNykiLCJcIjEuMjM0NTYwMDAwMDAwMDAwMDNlKzJcIiIpOworc2hvdWxk
QmUoIk51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDE4KSIsIlwiMS4yMzQ1NjAwMDAwMDAw
MDAwMzFlKzJcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDE5
KSIsIlwiMS4yMzQ1NjAwMDAwMDAwMDAwMzA3ZSsyXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoMTIz
LjQ1NikudG9FeHBvbmVudGlhbCgyMCkiLCJcIjEuMjM0NTYwMDAwMDAwMDAwMDMwNzBlKzJcIiIp
Owogc2hvdWxkQmVUcnVlKCJ0cnkgeyBOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgyMSkg
fSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9Iik7CiBzaG91
bGRCZSgiTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKCkiLCJcIi0xLjIzNDU2ZSsyXCIi
KTsKIHNob3VsZEJlVHJ1ZSgidHJ5IHsgTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKC0x
KSB9IGNhdGNoIChlKSB7IFN0cmluZyhlKS5pbmRleE9mKCdSYW5nZScpID49IDA7IH0iKTsKQEAg
LTEzMiwxMCArMTMyLDEwIEBAIHNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRp
YWwKIHNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTQpIiwiXCItMS4y
MzQ1NjAwMDAwMDAwMGUrMlwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9u
ZW50aWFsKDE1KSIsIlwiLTEuMjM0NTYwMDAwMDAwMDAwZSsyXCIiKTsKIHNob3VsZEJlKCJOdW1i
ZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTYpIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAwZSsy
XCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTcpIiwiXCIt
MS4yMzQ1NjAwMDAwMDAwMDAwMGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2KS50
b0V4cG9uZW50aWFsKDE4KSIsIlwiLTEuMjM0NTYwMDAwMDAwMDAwMDAwZSsyXCIiKTsKLXNob3Vs
ZEJlKCJOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTkpIiwiXCItMS4yMzQ1NjAwMDAw
MDAwMDAwMDAwZSsyXCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRp
YWwoMjApIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAwMDAwMGUrMlwiIik7CitzaG91bGRCZSgiTnVt
YmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE3KSIsIlwiLTEuMjM0NTYwMDAwMDAwMDAwMDNl
KzJcIiIpOworc2hvdWxkQmUoIk51bWJlcigtMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxOCkiLCJc
Ii0xLjIzNDU2MDAwMDAwMDAwMDAzMWUrMlwiIik7CitzaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2
KS50b0V4cG9uZW50aWFsKDE5KSIsIlwiLTEuMjM0NTYwMDAwMDAwMDAwMDMwN2UrMlwiIik7Citz
aG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDIwKSIsIlwiLTEuMjM0NTYw
MDAwMDAwMDAwMDMwNzBlKzJcIiIpOwogc2hvdWxkQmVUcnVlKCJ0cnkgeyBOdW1iZXIoLTEyMy40
NTYpLnRvRXhwb25lbnRpYWwoMjEpIH0gY2F0Y2ggKGUpIHsgU3RyaW5nKGUpLmluZGV4T2YoJ1Jh
bmdlJykgPj0gMDsgfSIpOwogc2hvdWxkQmUoIk51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50
aWFsKCkiLCJcIjEuMjM0NTZlLTRcIiIpOwogc2hvdWxkQmVUcnVlKCJ0cnkgeyBOdW1iZXIoLjAw
MDEyMzQ1NikudG9FeHBvbmVudGlhbCgtMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhP
ZignUmFuZ2UnKSA+PSAwOyB9Iik7CkBAIC0xNTUsMTEgKzE1NSwxMSBAQCBzaG91bGRCZSgiTnVt
YmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpCiBzaG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0NTYp
LnRvRXhwb25lbnRpYWwoMTMpIiwiXCIxLjIzNDU2MDAwMDAwMDBlLTRcIiIpOwogc2hvdWxkQmUo
Ik51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE0KSIsIlwiMS4yMzQ1NjAwMDAwMDAw
MGUtNFwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTUp
IiwiXCIxLjIzNDU2MDAwMDAwMDAwMGUtNFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0
NTYpLnRvRXhwb25lbnRpYWwoMTYpIiwiXCIxLjIzNDU2MDAwMDAwMDAwMDBlLTRcIiIpOwotc2hv
dWxkQmUoIk51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE3KSIsIlwiMS4yMzQ1NjAw
MDAwMDAwMDAwMGUtNFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25l
bnRpYWwoMTgpIiwiXCIxLjIzNDU2MDAwMDAwMDAwMDAwMGUtNFwiIik7Ci1zaG91bGRCZSgiTnVt
YmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTkpIiwiXCIxLjIzNDU2MDAwMDAwMDAwMDAw
MDBlLTRcIiIpOwotc2hvdWxkQmUoIk51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDIw
KSIsIlwiMS4yMzQ1NjAwMDAwMDAwMDAwMDAwMGUtNFwiIik7CitzaG91bGRCZSgiTnVtYmVyKC4w
MDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTYpIiwiXCIxLjIzNDU2MDAwMDAwMDAwMDFlLTRcIiIp
Oworc2hvdWxkQmUoIk51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE3KSIsIlwiMS4y
MzQ1NjAwMDAwMDAwMDAwNWUtNFwiIik7CitzaG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0NTYpLnRv
RXhwb25lbnRpYWwoMTgpIiwiXCIxLjIzNDU2MDAwMDAwMDAwMDA1MmUtNFwiIik7CitzaG91bGRC
ZSgiTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTkpIiwiXCIxLjIzNDU2MDAwMDAw
MDAwMDA1MTllLTRcIiIpOworc2hvdWxkQmUoIk51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50
aWFsKDIwKSIsIlwiMS4yMzQ1NjAwMDAwMDAwMDAwNTE4OGUtNFwiIik7CiBzaG91bGRCZVRydWUo
InRyeSB7IE51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDIxKSB9IGNhdGNoIChlKSB7
IFN0cmluZyhlKS5pbmRleE9mKCdSYW5nZScpID49IDA7IH0iKTsKIHNob3VsZEJlKCJOdW1iZXIo
LS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoKSIsIlwiLTEuMjM0NTZlLTRcIiIpOwogc2hvdWxk
QmVUcnVlKCJ0cnkgeyBOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoLTEpIH0gY2F0
Y2ggKGUpIHsgU3RyaW5nKGUpLmluZGV4T2YoJ1JhbmdlJykgPj0gMDsgfSIpOwpAQCAtMTc5LDEx
ICsxNzksMTEgQEAgc2hvdWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudAogc2hv
dWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgxMykiLCJcIi0xLjIzNDU2
MDAwMDAwMDBlLTRcIiIpOwogc2hvdWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVu
dGlhbCgxNCkiLCJcIi0xLjIzNDU2MDAwMDAwMDAwZS00XCIiKTsKIHNob3VsZEJlKCJOdW1iZXIo
LS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTUpIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDBlLTRc
IiIpOwotc2hvdWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgxNikiLCJc
Ii0xLjIzNDU2MDAwMDAwMDAwMDBlLTRcIiIpOwotc2hvdWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1
NikudG9FeHBvbmVudGlhbCgxNykiLCJcIi0xLjIzNDU2MDAwMDAwMDAwMDAwZS00XCIiKTsKLXNo
b3VsZEJlKCJOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTgpIiwiXCItMS4yMzQ1
NjAwMDAwMDAwMDAwMDBlLTRcIiIpOwotc2hvdWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1NikudG9F
eHBvbmVudGlhbCgxOSkiLCJcIi0xLjIzNDU2MDAwMDAwMDAwMDAwMDBlLTRcIiIpOwotc2hvdWxk
QmUoIk51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgyMCkiLCJcIi0xLjIzNDU2MDAw
MDAwMDAwMDAwMDAwZS00XCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhw
b25lbnRpYWwoMTYpIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAxZS00XCIiKTsKK3Nob3VsZEJlKCJO
dW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTcpIiwiXCItMS4yMzQ1NjAwMDAwMDAw
MDAwNWUtNFwiIik7CitzaG91bGRCZSgiTnVtYmVyKC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFs
KDE4KSIsIlwiLTEuMjM0NTYwMDAwMDAwMDAwMDUyZS00XCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIo
LS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTkpIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAwNTE5
ZS00XCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMjAp
IiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAwNTE4OGUtNFwiIik7CiBzaG91bGRCZVRydWUoInRyeSB7
IE51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgyMSkgfSBjYXRjaCAoZSkgeyBTdHJp
bmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9Iik7CiBzaG91bGRCZSgiTnVtYmVyKDEyMy40
NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKCkiLCJcIjEuMjM0NTY3ODkwMTIzNDU2
OGUrMlwiIik7CiBzaG91bGRCZVRydWUoInRyeSB7IE51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4
OTAxMikudG9FeHBvbmVudGlhbCgtMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhPZign
UmFuZ2UnKSA+PSAwOyB9Iik7CkBAIC0yMDQsMTAgKzIwNCwxMCBAQCBzaG91bGRCZSgiTnVtYmVy
KDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyCiBzaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIz
NDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE0KSIsIlwiMS4yMzQ1Njc4OTAxMjM0NmUrMlwiIik7
CiBzaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFs
KDE1KSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTdlKzJcIiIpOwogc2hvdWxkQmUoIk51bWJlcigxMjMu
NDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxNikiLCJcIjEuMjM0NTY3ODkwMTIz
NDU2OGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50
b0V4cG9uZW50aWFsKDE3KSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTY4MGUrMlwiIik7Ci1zaG91bGRC
ZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE4KSIsIlwi
MS4yMzQ1Njc4OTAxMjM0NTY4MDBlKzJcIiIpOwotc2hvdWxkQmUoIk51bWJlcigxMjMuNDU2Nzg5
MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxOSkiLCJcIjEuMjM0NTY3ODkwMTIzNDU2NzAw
MGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4
cG9uZW50aWFsKDIwKSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTY4MDAwMGUrMlwiIik7CitzaG91bGRC
ZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE3KSIsIlwi
MS4yMzQ1Njc4OTAxMjM0NTY4MWUrMlwiIik7CitzaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkw
MTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE4KSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTY4MDZl
KzJcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBv
bmVudGlhbCgxOSkiLCJcIjEuMjM0NTY3ODkwMTIzNDU2ODA1OWUrMlwiIik7CitzaG91bGRCZSgi
TnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDIwKSIsIlwiMS4y
MzQ1Njc4OTAxMjM0NTY4MDU5MGUrMlwiIik7CiBzaG91bGRCZVRydWUoInRyeSB7IE51bWJlcigx
MjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgyMSkgfSBjYXRjaCAoZSkgeyBT
dHJpbmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9Iik7CiBzaG91bGRCZSgiTnVtYmVyKC0x
MjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgpIiwiXCItMS4yMzQ1Njc4OTAx
MjM0NTY4ZSsyXCIiKTsKIHNob3VsZEJlVHJ1ZSgidHJ5IHsgTnVtYmVyKC0xMjMuNDU2Nzg5MDEy
MzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgtMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5k
ZXhPZignUmFuZ2UnKSA+PSAwOyB9Iik7CkBAIC0yMjgsMTAgKzIyOCwxMCBAQCBzaG91bGRCZSgi
TnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxCiBzaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2
Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxNCkiLCJcIi0xLjIzNDU2Nzg5MDEyMzQ2
ZSsyXCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4
cG9uZW50aWFsKDE1KSIsIlwiLTEuMjM0NTY3ODkwMTIzNDU3ZSsyXCIiKTsKIHNob3VsZEJlKCJO
dW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE2KSIsIlwiLTEu
MjM0NTY3ODkwMTIzNDU2OGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2Nzg5MDEy
MzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxNykiLCJcIi0xLjIzNDU2Nzg5MDEyMzQ1NjgwZSsy
XCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9u
ZW50aWFsKDE4KSIsIlwiLTEuMjM0NTY3ODkwMTIzNDU2ODAwZSsyXCIiKTsKLXNob3VsZEJlKCJO
dW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE5KSIsIlwiLTEu
MjM0NTY3ODkwMTIzNDU2NzAwMGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2Nzg5
MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgyMCkiLCJcIi0xLjIzNDU2Nzg5MDEyMzQ1Njgw
MDAwZSsyXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50
b0V4cG9uZW50aWFsKDE3KSIsIlwiLTEuMjM0NTY3ODkwMTIzNDU2ODFlKzJcIiIpOworc2hvdWxk
QmUoIk51bWJlcigtMTIzLjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRvRXhwb25lbnRpYWwoMTgpIiwi
XCItMS4yMzQ1Njc4OTAxMjM0NTY4MDZlKzJcIiIpOworc2hvdWxkQmUoIk51bWJlcigtMTIzLjQ1
Njc4OTAxMjM0NTY3ODkwMTIpLnRvRXhwb25lbnRpYWwoMTkpIiwiXCItMS4yMzQ1Njc4OTAxMjM0
NTY4MDU5ZSsyXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEy
KS50b0V4cG9uZW50aWFsKDIwKSIsIlwiLTEuMjM0NTY3ODkwMTIzNDU2ODA1OTBlKzJcIiIpOwog
c2hvdWxkQmVUcnVlKCJ0cnkgeyBOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4
cG9uZW50aWFsKDIxKSB9IGNhdGNoIChlKSB7IFN0cmluZyhlKS5pbmRleE9mKCdSYW5nZScpID49
IDA7IH0iKTsKIHNob3VsZEJlKCJOdW1iZXIoLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDEpLnRvRXhw
b25lbnRpYWwoKSIsIlwiMWUtMjJcIiIpOwogc2hvdWxkQmUoIk51bWJlciguMDAwMDAwMDAwMDAw
MDAwMDAwMDAxMikudG9FeHBvbmVudGlhbCgpIiwiXCIxLjJlLTIxXCIiKTsKQEAgLTM2OCw3ICsz
NjgsNyBAQCBzaG91bGRCZSgiTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4CiBzaG91bGRC
ZSgiTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTgp
IiwiXCIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MVwiIik7CiBzaG91bGRCZSgiTnVtYmVyKDAuMDAw
MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTkpIiwiXCIwLjAwMDEyMzQ1
Njc4OTAxMjM0NTY3MTNcIiIpOwogc2hvdWxkQmUoIk51bWJlcigwLjAwMDEyMzQ1Njc4OTAxMjM0
NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDIwKSIsIlwiMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEz
MFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSku
dG9QcmVjaXNpb24oMjEpIiwiXCIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTI5N1wiIik7CitzaG91
bGRCZSgiTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24o
MjEpIiwiXCIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTI5OFwiIik7CiBzaG91bGRCZSgiTnVtYmVy
KDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigpIiwiXCIxMjM0NS42Nzg5
MDEyMzQ1NjdcIiIpOwogc2hvdWxkQmUoIk51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0
NSkudG9QcmVjaXNpb24oMSkiLCJcIjFlKzRcIiIpOwogc2hvdWxkQmUoIk51bWJlcigxMjM0NS42
Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMikiLCJcIjEuMmUrNFwiIik7CkBAIC0z
ODYsMTEgKzM4NiwxMSBAQCBzaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEy
CiBzaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lv
bigxNCkiLCJcIjEyMzQ1LjY3ODkwMTIzNVwiIik7CiBzaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3
ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNSkiLCJcIjEyMzQ1LjY3ODkwMTIzNDZc
IiIpOwogc2hvdWxkQmUoIk51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVj
aXNpb24oMTYpIiwiXCIxMjM0NS42Nzg5MDEyMzQ1N1wiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEy
MzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNykiLCJcIjEyMzQ1LjY3ODkw
MTIzNDU2OFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1
KS50b1ByZWNpc2lvbigxOCkiLCJcIjEyMzQ1LjY3ODkwMTIzNDU2NjBcIiIpOwotc2hvdWxkQmUo
Ik51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTkpIiwiXCIx
MjM0NS42Nzg5MDEyMzQ1NjgwMFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIz
NDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigyMCkiLCJcIjEyMzQ1LjY3ODkwMTIzNDU2NzAwMFwi
Iik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNp
c2lvbigyMSkiLCJcIjEyMzQ1LjY3ODkwMTIzNDU2NzAwMDBcIiIpOworc2hvdWxkQmUoIk51bWJl
cigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTcpIiwiXCIxMjM0NS42
Nzg5MDEyMzQ1NjdcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAx
MjM0NSkudG9QcmVjaXNpb24oMTgpIiwiXCIxMjM0NS42Nzg5MDEyMzQ1NjcxXCIiKTsKK3Nob3Vs
ZEJlKCJOdW1iZXIoMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE5KSIs
IlwiMTIzNDUuNjc4OTAxMjM0NTY3MDlcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjM0NS42Nzg5
MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjApIiwiXCIxMjM0NS42Nzg5MDEyMzQ1Njcw
OTNcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9Q
cmVjaXNpb24oMjEpIiwiXCIxMjM0NS42Nzg5MDEyMzQ1NjcwOTI2XCIiKTsKIHNob3VsZEJlKCJO
dW1iZXIoLS4wMDAwMDAwMDEyMzQ1KS50b1ByZWNpc2lvbigyKSIsIlwiLTEuMmUtOVwiIik7CiBz
aG91bGRCZSgiTnVtYmVyKC0uMDAwMDAwMDEyMzQ1KS50b1ByZWNpc2lvbigyKSIsIlwiLTEuMmUt
OFwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC0uMDAwMDAwMTIzNDUpLnRvUHJlY2lzaW9uKDIpIiwi
XCItMS4yZS03XCIiKTsKQEAgLTQyOCw3ICs0MjgsNyBAQCBzaG91bGRCZSgiTnVtYmVyKC0wLjAw
MDEyMzQ1Njc4OTAxMjM0NTY3CiBzaG91bGRCZSgiTnVtYmVyKC0wLjAwMDEyMzQ1Njc4OTAxMjM0
NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE4KSIsIlwiLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njcx
XCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSku
dG9QcmVjaXNpb24oMTkpIiwiXCItMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEzXCIiKTsKIHNob3Vs
ZEJlKCJOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24o
MjApIiwiXCItMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEzMFwiIik7Ci1zaG91bGRCZSgiTnVtYmVy
KC0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDIxKSIsIlwiLTAu
MDAwMTIzNDU2Nzg5MDEyMzQ1NjcxMjk3XCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLTAuMDAwMTIz
NDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIiwiXCItMC4wMDAxMjM0NTY3
ODkwMTIzNDU2NzEyOThcIiIpOwogc2hvdWxkQmUoIk51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3
ODkwMTIzNDUpLnRvUHJlY2lzaW9uKCkiLCJcIi0xMjM0NS42Nzg5MDEyMzQ1NjdcIiIpOwogc2hv
dWxkQmUoIk51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDEp
IiwiXCItMWUrNFwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAx
MjM0NSkudG9QcmVjaXNpb24oMikiLCJcIi0xLjJlKzRcIiIpOwpAQCAtNDQ2LDExICs0NDYsMTEg
QEAgc2hvdWxkQmUoIk51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMQogc2hvdWxkQmUoIk51
bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE0KSIsIlwiLTEy
MzQ1LjY3ODkwMTIzNVwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4
OTAxMjM0NSkudG9QcmVjaXNpb24oMTUpIiwiXCItMTIzNDUuNjc4OTAxMjM0NlwiIik7CiBzaG91
bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTYp
IiwiXCItMTIzNDUuNjc4OTAxMjM0NTdcIiIpOwotc2hvdWxkQmUoIk51bWJlcigtMTIzNDUuNjc4
OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE3KSIsIlwiLTEyMzQ1LjY3ODkwMTIzNDU2
OFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9Q
cmVjaXNpb24oMTgpIiwiXCItMTIzNDUuNjc4OTAxMjM0NTY2MFwiIik7Ci1zaG91bGRCZSgiTnVt
YmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTkpIiwiXCItMTIz
NDUuNjc4OTAxMjM0NTY4MDBcIiIpOwotc2hvdWxkQmUoIk51bWJlcigtMTIzNDUuNjc4OTAxMjM0
NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDIwKSIsIlwiLTEyMzQ1LjY3ODkwMTIzNDU2NzAwMFwi
Iik7Ci1zaG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVj
aXNpb24oMjEpIiwiXCItMTIzNDUuNjc4OTAxMjM0NTY3MDAwMFwiIik7CitzaG91bGRCZSgiTnVt
YmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTcpIiwiXCItMTIz
NDUuNjc4OTAxMjM0NTY3XCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLTEyMzQ1LjY3ODkwMTIzNDU2
Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOCkiLCJcIi0xMjM0NS42Nzg5MDEyMzQ1NjcxXCIiKTsK
K3Nob3VsZEJlKCJOdW1iZXIoLTEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lv
bigxOSkiLCJcIi0xMjM0NS42Nzg5MDEyMzQ1NjcwOVwiIik7CitzaG91bGRCZSgiTnVtYmVyKC0x
MjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjApIiwiXCItMTIzNDUuNjc4
OTAxMjM0NTY3MDkzXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLTEyMzQ1LjY3ODkwMTIzNDU2Nzg5
MDEyMzQ1KS50b1ByZWNpc2lvbigyMSkiLCJcIi0xMjM0NS42Nzg5MDEyMzQ1NjcwOTI2XCIiKTsK
IHNob3VsZEJlKCJOdW1iZXIoMCkudG9QcmVjaXNpb24oKSIsIlwiMFwiIik7CiBzaG91bGRCZSgi
TnVtYmVyKDApLnRvUHJlY2lzaW9uKDEpIiwiXCIwXCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoMCku
dG9QcmVjaXNpb24oMikiLCJcIjAuMFwiIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65688</attachid>
            <date>2010-08-27 01:02:45 -0700</date>
            <delta_ts>2010-08-27 01:48:46 -0700</delta_ts>
            <desc>Style fixes</desc>
            <filename>dtoafix.4.patch</filename>
            <type>text/plain</type>
            <size>60751</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2MTg2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTAtMDgtMjcgIEdhdmluIEJh
cnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA0NDc0NSAtIE51bWJlci50b0ZpeGVkL3Rv
RXhwb25lbnRpYWwvdG9QcmVjaXNpb24gYXJlIGluYWNjdXJhdGUuCisKKyAgICAgICAgVGhlc2Ug
bWV0aG9kcyBzaG91bGQgYmUgdXNpbmcgYSB2ZXJzaW9uIG9mIGR0b2EgdGhhdCBjYW4gZ2VuZXJh
dGUgcmVzdWx0cyBhY2N1cmF0ZQorICAgICAgICB0byB0aGUgcmVxdWVzdGVkIHByZWNpc2lvbiwg
d2hlcmVhcyBvdXIgdmVyc2lvbiBvZiBkdG9hIGlzIG9ubHkgY3VycmVudGx5IGFibGUgdG8KKyAg
ICAgICAgc3VwcG9ydCBwcm9kdWNpbmcgcmVzdWx0cyBzdWZmaWNpZW50bHkgYWNjdXJhdGUgdG8g
ZGlzdGluZ3Vpc2ggdGhlIHZhbHVlIGZyb20gYW55CisgICAgICAgIG90aGVyIElFRUUtNzU0IGRv
dWJsZSBwcmVjaXNpb24gbnVtYmVyLgorCisgICAgICAgIFRoaXMgY2hhbmdlIGhhcyBubyBpbXBh
Y3Qgb24gYmVuY2htYXJrcyB3ZSB0cmFjay4KKworICAgICAgICBPbiBtaWNyb2JlbmNobWFya3Mg
Zm9yIHRoZXNlIGZ1bmN0aW9ucywgdGhpcyBpcyBhIHNsaWdodCByZWdyZXNzaW9uIHdoZXJlIGEg
aGlnaAorICAgICAgICBwcmVjaXNpb24gaXMgcmVxdWVzdGVkIChkdG9hIG5vdyBuZWVkIHRvIGl0
ZXJhdGUgZnVydGhlciB0byBnZW5lcmF0ZSBhIGEgZ3JlYXRlcgorICAgICAgICBudW1iZXIgb2Yg
ZGlnaXRzKSwgYnV0IHdpdGggc21hbGxlciBwcmVjaXNpb24gdmFsdWVzIChob3BlZnVsbHkgbW9y
ZSBjb21tb24pIHRoaXMKKyAgICAgICAgaW1wcm92ZXMgcGVyZm9ybWFuY2UsIHNpbmNlIGl0IHJl
ZHVjZWQgdGhlIGFjY3VyYXRlIG9mIHJlc3VsdCBkdG9hIGlzIHJlcXVpcmVkLAorICAgICAgICB0
byBwcm9kdWNlLCBhbmQgcmVtb3ZlcyB0aGUgbmVlZCB0byBwcmUtcm91bmQgdmFsdWVzIGJlZm9y
ZSBjYWxsaW5nIGR0b2EuIAorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAg
ICAgICAgZG91YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRGb3JtYXQgcmVuYW1lZCB0byBudW1iZXJU
b1N0cmluZworCisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgICAgIGRvdWJsZVRvU3RyaW5nSW5KYXZhU2Ny
aXB0Rm9ybWF0IHJlbmFtZWQgdG8gbnVtYmVyVG9TdHJpbmcKKworICAgICAgICAqIHJ1bnRpbWUv
VVN0cmluZy5jcHA6CisgICAgICAgIChKU0M6OlVTdHJpbmc6Om51bWJlcik6CisgICAgICAgICAg
ICBkb3VibGVUb1N0cmluZ0luSmF2YVNjcmlwdEZvcm1hdCByZW5hbWVkIHRvIG51bWJlclRvU3Ry
aW5nCisKKyAgICAgICAgKiB3dGYvRGVjaW1hbE51bWJlci5oOgorICAgICAgICAoV1RGOjpEZWNp
bWFsTnVtYmVyOjpEZWNpbWFsTnVtYmVyKToKKyAgICAgICAgKFdURjo6RGVjaW1hbE51bWJlcjo6
dG9TdHJpbmdEZWNpbWFsKToKKyAgICAgICAgKFdURjo6RGVjaW1hbE51bWJlcjo6dG9TdHJpbmdF
eHBvbmVudGlhbCk6CisgICAgICAgICAgICBSZW1vdmUgYWxsIHByZS1yb3VuZGluZyBvZiB2YWx1
ZXMsIGluc3RlYWQgY2FsbCBkdG9hIGNvcnJlY3RseS4KKworICAgICAgICAqIHd0Zi9kdG9hLmNw
cDoKKyAgICAgICAgKFdURjo6ZHRvYSk6CisgICAgICAgICogd3RmL2R0b2EuaDoKKyAgICAgICAg
ICAgIFJlZW5hYmxlIHN1cHBvcnQgZm9yIHJvdW5kaW5nIHRvIHNwZWNpZmljLWZpZ3VyZXMvZGVj
aW1hbC1wbGFjZXMgaW4gZHRvYS4KKyAgICAgICAgICAgIE1vZGlmeSB0byByZW1vdmUgdW5iaWFz
ZWQgcm91bmRpbmcsIHByb3ZpZGUgRUNNQSByZXF1aXJlZCBhd2F5LWZyb20temVyby4KKyAgICAg
ICAgICAgIFJld3JpdGUgZG91YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRGb3JtYXQgdG8gdXNlIERl
Y2ltYWxOdW1iZXIsIHJlbmFtZSB0bworICAgICAgICAgICAgbnVtYmVyVG9TdHJpbmcuCisKIDIw
MTAtMDgtMjYgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdpbmRvd3MgYnVpbGQgZml4LgpJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4
cAkocmV2aXNpb24gNjYxNjkpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM3Nyw2ICszNzcsNyBAQCBfX1pOM1dURjEzY3VycmVudFRocmVh
ZEV2CiBfX1pOM1dURjEzdHJ5RmFzdENhbGxvY0VtbQogX19aTjNXVEYxM3RyeUZhc3RNYWxsb2NF
bQogX19aTjNXVEYxNGZhc3RNYWxsb2NTaXplRVBLdgorX19aTjNXVEYxNG51bWJlclRvU3RyaW5n
RWRQdAogX19aTjNXVEYxNVRocmVhZENvbmRpdGlvbjR3YWl0RVJOU181TXV0ZXhFCiBfX1pOM1dU
RjE1VGhyZWFkQ29uZGl0aW9uNnNpZ25hbEV2CiBfX1pOM1dURjE1VGhyZWFkQ29uZGl0aW9uOWJy
b2FkY2FzdEV2CkBAIC00MTEsNyArNDEyLDYgQEAgX19aTjNXVEYyM2RheUluTW9udGhGcm9tRGF5
SW5ZZWFyRWliCiBfX1pOM1dURjIzd2FpdEZvclRocmVhZENvbXBsZXRpb25FalBQdgogX19aTjNX
VEYyN3JlbGVhc2VGYXN0TWFsbG9jRnJlZU1lbW9yeUV2CiBfX1pOM1dURjI4c2V0TWFpblRocmVh
ZENhbGxiYWNrc1BhdXNlZEViCi1fX1pOM1dURjMyZG91YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRG
b3JtYXRFZFBjUGoKIF9fWk4zV1RGMzZsb2NrQXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljTXV0
ZXhFdgogX19aTjNXVEYzN3BhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnNFUEtj
CiBfX1pOM1dURjM4dW5sb2NrQXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljTXV0ZXhFdgpJbmRl
eDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmRlZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCShyZXZpc2lvbiA2
NjE2OSkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYJKHdvcmtpbmcgY29weSkKQEAgLTEyNiw3ICsxMjYsNiBA
QCBFWFBPUlRTCiAgICAgP2RldGFjaEBEZWJ1Z2dlckBKU0NAQFVBRVhQQVZKU0dsb2JhbE9iamVj
dEAyQEBaCiAgICAgP2RldGFjaFRocmVhZEBXVEZAQFlBWElAWgogICAgID9kaWRUaW1lT3V0QFRp
bWVvdXRDaGVja2VyQEpTQ0BAUUFFX05QQVZFeGVjU3RhdGVAMkBAWgotICAgID9kb3VibGVUb1N0
cmluZ0luSmF2YVNjcmlwdEZvcm1hdEBXVEZAQFlBWE5RQURQQUlAWgogICAgID9kdW1wU2FtcGxl
RGF0YUBKU0dsb2JhbERhdGFASlNDQEBRQUVYUEFWRXhlY1N0YXRlQDJAQFoKICAgICA/ZW1wdHlA
U3RyaW5nSW1wbEBXVEZAQFNBUEFWMTJAWFoKICAgICA/ZW51bWVyYWJsZUBQcm9wZXJ0eURlc2Ny
aXB0b3JASlNDQEBRQkVfTlhaCkBAIC0xNDksNiArMTQ4LDcgQEAgRVhQT1JUUwogICAgID9udW1i
ZXJAVVN0cmluZ0BKU0NAQFNBP0FWMTJASEBaCiAgICAgP251bWJlckBVU3RyaW5nQEpTQ0BAU0E/
QVYxMkBJQFoKICAgICA/bnVtYmVyQFVTdHJpbmdASlNDQEBTQT9BVjEyQE5AWgorICAgID9udW1i
ZXJUb1N0cmluZ0BXVEZAQFlBSU5BQVkwR0FAX1dAWgogICAgID9mdW5jdGlvbkdldHRlckBQcm9w
ZXJ0eVNsb3RASlNDQEBBQkU/QVZKU1ZhbHVlQDJAUEFWRXhlY1N0YXRlQDJAQFoKICAgICA/ZnVu
Y3Rpb25OYW1lQERlYnVnZ2VyQ2FsbEZyYW1lQEpTQ0BAUUJFUEJWVVN0cmluZ0AyQFhaCiAgICAg
P2dldEBTdHJ1Y3R1cmVASlNDQEBRQUVJUEJWU3RyaW5nSW1wbEBXVEZAQEFBSUFBUEFWSlNDZWxs
QDJAQFoKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUvcnVudGltZS9VU3RyaW5nLmNwcAkocmV2aXNpb24gNjYxNjkp
CisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL1VTdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw3ICsyNiw2IEBACiAKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oIgog
I2luY2x1ZGUgIkNvbGxlY3Rvci5oIgotI2luY2x1ZGUgImR0b2EuaCIKICNpbmNsdWRlICJJZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgPGN0eXBlLmg+CkBA
IC0zNiw2ICszNSw3IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJ
Q1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9EZWNp
bWFsTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYv
U3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtMTk4LDkgKzE5OCw4
IEBAIFVTdHJpbmcgVVN0cmluZzo6bnVtYmVyKGxvbmcgbCkKIAogVVN0cmluZyBVU3RyaW5nOjpu
dW1iZXIoZG91YmxlIGQpCiB7Ci0gICAgRHRvYUJ1ZmZlciBidWZmZXI7Ci0gICAgdW5zaWduZWQg
bGVuZ3RoOwotICAgIGRvdWJsZVRvU3RyaW5nSW5KYXZhU2NyaXB0Rm9ybWF0KGQsIGJ1ZmZlciwg
Jmxlbmd0aCk7CisgICAgTnVtYmVyVG9TdHJpbmdCdWZmZXIgYnVmZmVyOworICAgIHVuc2lnbmVk
IGxlbmd0aCA9IG51bWJlclRvU3RyaW5nKGQsIGJ1ZmZlcik7CiAgICAgcmV0dXJuIFVTdHJpbmco
YnVmZmVyLCBsZW5ndGgpOwogfQogCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvRGVjaW1hbE51
bWJlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9EZWNpbWFsTnVtYmVyLmgJ
KHJldmlzaW9uIDY2MTY5KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL0RlY2ltYWxOdW1iZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMzMsOSArMzMsNiBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotLy8g
U2l6ZSA9IDgwIGZvciBzaXplb2YoRHRvYUJ1ZmZlcikgKyBzb21lIHNpZ24gYml0cywgZGVjaW1h
bCBwb2ludCwgJ2UnLCBleHBvbmVudCBkaWdpdHMuCi10eXBlZGVmIFVDaGFyIE51bWJlclRvU3Ry
aW5nQnVmZmVyWzk2XTsKLQogZW51bSBSb3VuZGluZ1NpZ25pZmljYW50RmlndXJlc1R5cGUgeyBS
b3VuZGluZ1NpZ25pZmljYW50RmlndXJlcyB9OwogZW51bSBSb3VuZGluZ0RlY2ltYWxQbGFjZXNU
eXBlIHsgUm91bmRpbmdEZWNpbWFsUGxhY2VzIH07CiAKQEAgLTQzLDExMSArNDAsNDggQEAgY2xh
c3MgRGVjaW1hbE51bWJlciB7CiBwdWJsaWM6CiAgICAgRGVjaW1hbE51bWJlcihkb3VibGUgZCkK
ICAgICB7Ci0gICAgICAgIGJvb2wgc2lnbiA9IGQgPCAwOyAvLyBUaGlzIChjb3JyZWN0bHkpIGln
bm9yZXMgdGhlIHNpZ24gb24gLTAuMC4KLSAgICAgICAgaW5pdChzaWduLCBkKTsKKyAgICAgICAg
QVNTRVJUKCFpc25hbihkKSAmJiAhaXNpbmYoZCkpOworICAgICAgICBkdG9hKG1fc2lnbmlmaWNh
bmQsIGQsIG1fc2lnbiwgbV9leHBvbmVudCwgbV9wcmVjaXNpb24pOworCisgICAgICAgIEFTU0VS
VChtX3ByZWNpc2lvbik7CisgICAgICAgIC8vIFplcm8gc2hvdWxkIGFsd2F5cyBoYXZlIGV4cG9u
ZW50IDAuCisgICAgICAgIEFTU0VSVChtX3NpZ25pZmljYW5kWzBdICE9ICcwJyB8fCAhbV9leHBv
bmVudCk7CisgICAgICAgIC8vIE5vIHZhbHVlcyBvdGhlciB0aGFuIHplcm8gc2hvdWxkIGhhdmUg
YSBsZWFkaW5nIHplcm8uCisgICAgICAgIEFTU0VSVChtX3NpZ25pZmljYW5kWzBdICE9ICcwJyB8
fCBtX3ByZWNpc2lvbiA9PSAxKTsKKyAgICAgICAgLy8gTm8gdmFsdWVzIG90aGVyIHRoYW4gemVy
byBzaG91bGQgaGF2ZSB0cmFpbGluZyB6ZXJvcy4KKyAgICAgICAgQVNTRVJUKG1fc2lnbmlmaWNh
bmRbMF0gPT0gJzAnIHx8IG1fc2lnbmlmaWNhbmRbbV9wcmVjaXNpb24gLSAxXSAhPSAnMCcpOwog
ICAgIH0KIAotICAgIC8vIElmIG91ciB2ZXJzaW9uIG9mIGR0b2EgY291bGQgcm91bmQgdG8gYSBn
aXZlbiBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgZmlndXJlcyB0aGVuCi0gICAgLy8gd2UgY291bGQg
cmVtb3ZlIHRoZSBwcmUtcm91bmRpbmcgY29kZSBmcm9tIGhlcmUuICBXZSBjb3VsZCBhbHNvIGRv
IHNvIGp1c3QgYnkKLSAgICAvLyBjYWxsaW5nIGR0b2EgYW5kIHBvc3Qtcm91bmRpbmcsIGhvd2V2
ZXIgY3VycmVudGx5IHRoaXMgaXMgc2xvd2VyLCBzaW5jZSBpdCBmb3JjZXMKLSAgICAvLyBkdG9h
IHRvIGdlbmVyYXRlIGEgaGlnaGVyIHByZXNpc2lvbiByZXN1bHQuCiAgICAgRGVjaW1hbE51bWJl
cihkb3VibGUgZCwgUm91bmRpbmdTaWduaWZpY2FudEZpZ3VyZXNUeXBlLCB1bnNpZ25lZCBzaWdu
aWZpY2FudEZpZ3VyZXMpCiAgICAgewogICAgICAgICBBU1NFUlQoIWlzbmFuKGQpICYmICFpc2lu
ZihkKSk7Ci0gICAgICAgIEFTU0VSVChzaWduaWZpY2FudEZpZ3VyZXMgJiYgc2lnbmlmaWNhbnRG
aWd1cmVzIDw9IDIxKTsKLQotICAgICAgICBib29sIHNpZ24gPSBkIDwgMDsgLy8gVGhpcyAoY29y
cmVjdGx5KSBpZ25vcmVzIHRoZSBzaWduIG9uIC0wLjAuCi0gICAgICAgIGQgPSBmYWJzKGQpOyAv
LyBtYWtlIGQgcG9zaXRpdmUgYmVmb3JlIGdvaW5nIGFueSBmdXJ0aGVyLgotCi0gICAgICAgIGlu
dCBhZGp1c3QgPSAwOwotICAgICAgICBpZiAoZCkgewotICAgICAgICAgICAgLy8gVG8gcm91bmQg
YSBudW1iZXIgd2UgYWxpZ24gaXQgc3VjaCB0aGF0IHRoZSBjb3JyZWN0IG51bWJlciBvZiBkaWdp
dHMgYXJlCi0gICAgICAgICAgICAvLyB0byB0aGUgbGVmdCBvZiB0aGUgZGVjaW1hbCBwb2ludCwg
dGhlbiBmbG9vci9jZWlsLiAgRm9yIGV4YW1wbGUsIHRvIHJvdW5kCi0gICAgICAgICAgICAvLyAx
MzU3OSB0byAzIHMuZi4gd2UgZmlyc3QgYWRqdXN0IGl0IHRvIDEzNS43OSwgdXNlIGZsb29yL2Nl
aWwgdG8gb2J0YWluIHRoZQotICAgICAgICAgICAgLy8gdmFsdWVzIDEzNS8xMzYsIGFuZCB0aGVu
IHNlbGVjdCAxMzYgKHNpbmNlIHRoaXMgaXMgY2xvc2VzdCB0byAxMzUuNzkpLgotICAgICAgICAg
ICAgLy8gVGhlcmUgYXJlIGN1cnJlbnRseSAoZXhwICsgMSkgZGlnaXRzIHRvIHRoZSBsZWZ0IG9m
IHRoZSBkZWNpbWFsIHBvaW50LAotICAgICAgICAgICAgLy8gYW5kIHdlIHdhbnQgdGhzaSB0byBi
ZSBzaWduaWZpY2FudEZpZ3VyZXMsIHNvIHdlJ3JlIGdvaW5nIHRvIGFkanVzdCB0aGUKLSAgICAg
ICAgICAgIC8vIGV4cG9uZW50IGJ5ICgoZXhwICsgMSkgLSBzaWduaWZpY2FudEZpZ3VyZXMpLiAg
QWRqdXN0IGlzIGVmZmVjdGl2ZWx5Ci0gICAgICAgICAgICAvLyBhIGNvdW50IG9mIGhvdyBtYW55
IGRlY2ltYWwgZGlnaXRzIHRvIHJpZ2h0LXNoaWZ0IHRoZSBudW1iZXIgYnkuCi0gICAgICAgICAg
ICBpbnQgZXhwID0gc3RhdGljX2Nhc3Q8aW50PihmbG9vcihsb2cxMChkKSkpOwotICAgICAgICAg
ICAgYWRqdXN0ID0gKGV4cCArIDEpIC0gc2lnbmlmaWNhbnRGaWd1cmVzOwotCi0gICAgICAgICAg
ICAvLyBJZiB0aGUgYWRqdXN0IHZhbHVlIG1pZ2h0IGJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIC0g
b3IgemVyby4gIElmIHplcm8sIHRoZW4KLSAgICAgICAgICAgIC8vIG5vdGhpbmcgdG8gZG8hIC0g
dGhlIG51bWJlciBpcyBhbHJlYWR5IGFwcHJvcHJpYXRlbHkgYWxpZ25lZC4gIElmIGFkanVzdAot
ICAgICAgICAgICAgLy8gaXMgcG9zaXRpdmUgdGhlbiBkaXZpZGUgZCBieSAxMF5hZGp1c3QuICBJ
ZiBhZGp1c3QgaXMgbmVnYXRpdmUgbXVsdGlwbHkgZAotICAgICAgICAgICAgLy8gYnkgMTBeLWFk
anVzdC4gVGhpcyBpcyBtYXRoZW1hdGljYWxseSB0aGUgc2FtZSwgYnV0IGF2b2lkcyB0d28gZnAg
ZGl2aWRlcwotICAgICAgICAgICAgLy8gKG9uZSBpbnNpZGUgaW50UG93MTAsIHdoZXJlIHRoZSBw
b3dlciBpcyBuZWdhdGl2ZSkuCi0gICAgICAgICAgICBpZiAoYWRqdXN0ID4gMCkKLSAgICAgICAg
ICAgICAgICBkIC89IGludFBvdzEwKGFkanVzdCk7Ci0gICAgICAgICAgICBlbHNlIGlmIChhZGp1
c3QgPCAwKQotICAgICAgICAgICAgICAgIGQgKj0gaW50UG93MTAoLWFkanVzdCk7Ci0KLSAgICAg
ICAgICAgIC8vIFRyeSByb3VuZGluZyB1cCAmIHJvdW5kaW5nIGRvd24sIHNlbGVjdCB3aGljaGV2
ZXIgaXMgY2xvc2VzdCAocm91bmRpbmcgdXAgaWYgZXF1YWwgZGlzdGFuY2UpLgotICAgICAgICAg
ICAgZG91YmxlIGZsb29yT2ZEID0gZmxvb3IoZCk7Ci0gICAgICAgICAgICBkb3VibGUgY2VpbE9m
RCA9IGZsb29yT2ZEICsgMTsKLSAgICAgICAgICAgIGQgPSAoZmFicyhjZWlsT2ZEIC0gZCkgPD0g
ZmFicyhmbG9vck9mRCAtIGQpKSA/IGNlaWxPZkQgOiBmbG9vck9mRDsKLQotICAgICAgICAgICAg
Ly8gVGhlIG51bWJlcidzIGV4cG9uZW50IGhhcyBiZWVuIGFsdGVyZWQgLSBidXQgZG9uJ3QgY2hh
bmdlIGl0IGJhY2shICBXZSBjYW4KLSAgICAgICAgICAgIC8vIGp1c3QgcnVuIGR0b2Egb24gdGhl
IG1vZGlmaWVkIHZhbHVlLCBhbmQgYWRqdXN0IHRoZSBleHBvbmVudCBhZnRlcndhcmQgdG8KLSAg
ICAgICAgICAgIC8vIGFjY291bnQgZm9yIHRoaXMuCi0gICAgICAgIH0KLQotICAgICAgICBpbml0
KHNpZ24sIGQpOworICAgICAgICBkdG9hUm91bmRTRihtX3NpZ25pZmljYW5kLCBkLCBzaWduaWZp
Y2FudEZpZ3VyZXMsIG1fc2lnbiwgbV9leHBvbmVudCwgbV9wcmVjaXNpb24pOwogCi0gICAgICAg
IC8vIFdlIGFsdGVyZXJlZCB0aGUgdmFsdWUgd2hlbiByb3VuZGluZyBpdCAtIG1vZGlmeSB0aGUg
ZXhwb25lbnQgdG8gYWRqdXN0IGZvciB0aGlzLAotICAgICAgICAvLyBidXQgZG9uJ3QgbWVzcyB3
aXRoIHRoZSBleHBvbmVudCBvZiB6ZXJvLgotICAgICAgICBpZiAoIWlzWmVybygpKQotICAgICAg
ICAgICAgbV9leHBvbmVudCArPSBhZGp1c3Q7CisgICAgICAgIEFTU0VSVChzaWduaWZpY2FudEZp
Z3VyZXMgJiYgc2lnbmlmaWNhbnRGaWd1cmVzIDw9IHNpemVvZihEdG9hQnVmZmVyKSk7CisgICAg
ICAgIHdoaWxlIChtX3ByZWNpc2lvbiA8IHNpZ25pZmljYW50RmlndXJlcykKKyAgICAgICAgICAg
IG1fc2lnbmlmaWNhbmRbbV9wcmVjaXNpb24rK10gPSAnMCc7CiAKLSAgICAgICAgLy8gTWFrZSBz
dXJlIHRoZSBzaWduaWZpY2FuZCBkb2VzIG5vdCBjb250YWluIG1vcmUgZGlnaXRzIHRoYW4gcmVx
dWVzdGVkLgotICAgICAgICByb3VuZFRvUHJlY2lzaW9uKHNpZ25pZmljYW50RmlndXJlcyk7Cisg
ICAgICAgIEFTU0VSVChtX3ByZWNpc2lvbik7CisgICAgICAgIC8vIFplcm8gc2hvdWxkIGFsd2F5
cyBoYXZlIGV4cG9uZW50IDAuCisgICAgICAgIEFTU0VSVChtX3NpZ25pZmljYW5kWzBdICE9ICcw
JyB8fCAhbV9leHBvbmVudCk7CiAgICAgfQogCi0gICAgLy8gSWYgb3VyIHZlcnNpb24gb2YgZHRv
YSBjb3VsZCByb3VuZCB0byBhIGdpdmVuIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyB0aGVuIHdl
Ci0gICAgLy8gY291bGQgcmVtb3ZlIHRoZSBwcmUtcm91bmRpbmcgY29kZSBmcm9tIGhlcmUuICBX
ZSBjb3VsZCBhbHNvIGRvIHNvIGp1c3QgYnkgY2FsbGluZwotICAgIC8vIGR0b2EgYW5kIHBvc3Qt
cm91bmRpbmcsIGhvd2V2ZXIgY3VycmVudGx5IHRoaXMgaXMgc2xvd2VyLCBzaW5jZSBpdCBmb3Jj
ZXMgZHRvYSB0bwotICAgIC8vIGdlbmVyYXRlIGEgaGlnaGVyIHByZXNpc2lvbiByZXN1bHQuCiAg
ICAgRGVjaW1hbE51bWJlcihkb3VibGUgZCwgUm91bmRpbmdEZWNpbWFsUGxhY2VzVHlwZSwgdW5z
aWduZWQgZGVjaW1hbFBsYWNlcykKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNuYW4oZCkgJiYg
IWlzaW5mKGQpKTsKLSAgICAgICAgQVNTRVJUKGRlY2ltYWxQbGFjZXMgPD0gMjApOwotCi0gICAg
ICAgIGJvb2wgc2lnbiA9IGQgPCAwOyAvLyBUaGlzIChjb3JyZWN0bHkpIGlnbm9yZXMgdGhlIHNp
Z24gb24gLTAuMC4KLSAgICAgICAgZCA9IGZhYnMoZCk7IC8vIE1ha2UgZCBwb3NpdGl2ZSBiZWZv
cmUgZ29pbmcgYW55IGZ1cnRoZXIuCi0KLSAgICAgICAgQVNTRVJUKGQgPCAxZSsyMSk7IC8vIFdl
IGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHJvdW5kaW5nIHRvIGRlY2ltYWwgcGxhY2VzIGZvciB2
YWx1ZXMgPj0gMWUrMjEuCi0KLSAgICAgICAgLy8gQWRqdXN0IHRoZSBudW1iZXIgYnkgaW5jcmVh
c2luZyB0aGUgZXhwb25lbnQgYnkgZGVjaW1hbFBsYWNlcywgc3VjaAotICAgICAgICAvLyB0aGF0
IHdlIGNhbiByb3VuZCB0byB0aGlzIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyBqc2luZyBmbG9v
ci4KLSAgICAgICAgaWYgKGRlY2ltYWxQbGFjZXMpCi0gICAgICAgICAgICBkICo9IGludFBvdzEw
KGRlY2ltYWxQbGFjZXMpOwotICAgICAgICAvLyBUcnkgcm91bmRpbmcgdXAgJiByb3VuZGluZyBk
b3duLCBzZWxlY3Qgd2hpY2hldmVyIGlzIGNsb3Nlc3QgKHJvdW5kaW5nIHVwIGlmIGVxdWFsIGRp
c3RhbmNlKS4KLSAgICAgICAgZG91YmxlIGZsb29yT2ZEID0gZmxvb3IoZCk7Ci0gICAgICAgIGRv
dWJsZSBjZWlsT2ZEID0gZmxvb3JPZkQgKyAxOwotICAgICAgICBkID0gKGZhYnMoY2VpbE9mRCAt
IGQpIDw9IGZhYnMoZmxvb3JPZkQgLSBkKSkgPyBjZWlsT2ZEIDogZmxvb3JPZkQ7Ci0gICAgICAg
IC8vIFRoZSBudW1iZXIncyBleHBvbmVudCBoYXMgYmVlbiBhbHRlcmVkIC0gYnV0IGRvbid0IGNo
YW5nZSBpdCBiYWNrISAgV2UgY2FuCi0gICAgICAgIC8vIGp1c3QgcnVuIGR0b2Egb24gdGhlIG1v
ZGlmaWVkIHZhbHVlLCBhbmQgYWRqdXN0IHRoZSBleHBvbmVudCBhZnRlcndhcmQgdG8KLSAgICAg
ICAgLy8gYWNjb3VudCBmb3IgdGhpcy4KLQotICAgICAgICBpbml0KHNpZ24sIGQpOwotCi0gICAg
ICAgIC8vIFdlIHJvdW5lZCB0aGUgdmFsdWUgYmVmb3JlIGNhbGxpbmcgZHRvYSwgc28gdGhlIHJl
c3VsdCBzaG91bGQgbm90IGJlIGZyYWN0aW9uYWwuCi0gICAgICAgIEFTU0VSVChtX2V4cG9uZW50
ID49IDApOwotCi0gICAgICAgIC8vIFdlIGFsdGVyZXJlZCB0aGUgdmFsdWUgd2hlbiByb3VuZGlu
ZyBpdCAtIG1vZGlmeSB0aGUgZXhwb25lbnQgdG8gYWRqdXN0IGZvciB0aGlzLAotICAgICAgICAv
LyBidXQgZG9uJ3QgbWVzcyB3aXRoIHRoZSBleHBvbmVudCBvZiB6ZXJvLgotICAgICAgICBpZiAo
IWlzWmVybygpKQotICAgICAgICAgICAgbV9leHBvbmVudCAtPSBkZWNpbWFsUGxhY2VzOwotCi0g
ICAgICAgIC8vIFRoZSB2YWx1ZSB3YXMgPCAxZSsyMSBiZWZvcmUgd2Ugc3RhcnRlZCwgc2hvdWxk
IHN0aWxsIGJlLgotICAgICAgICBBU1NFUlQobV9leHBvbmVudCA8IDIxKTsKKyAgICAgICAgZHRv
YVJvdW5kRFAobV9zaWduaWZpY2FuZCwgZCwgZGVjaW1hbFBsYWNlcywgbV9zaWduLCBtX2V4cG9u
ZW50LCBtX3ByZWNpc2lvbik7CiAKICAgICAgICAgdW5zaWduZWQgc2lnbmlmaWNhbnRGaWd1cmVz
ID0gMSArIG1fZXhwb25lbnQgKyBkZWNpbWFsUGxhY2VzOwotICAgICAgICBBU1NFUlQoc2lnbmlm
aWNhbnRGaWd1cmVzICYmIHNpZ25pZmljYW50RmlndXJlcyA8PSA0MSk7Ci0gICAgICAgIHJvdW5k
VG9QcmVjaXNpb24oc2lnbmlmaWNhbnRGaWd1cmVzKTsKKyAgICAgICAgQVNTRVJUKHNpZ25pZmlj
YW50RmlndXJlcyAmJiBzaWduaWZpY2FudEZpZ3VyZXMgPD0gc2l6ZW9mKER0b2FCdWZmZXIpKTsK
KyAgICAgICAgd2hpbGUgKG1fcHJlY2lzaW9uIDwgc2lnbmlmaWNhbnRGaWd1cmVzKQorICAgICAg
ICAgICAgbV9zaWduaWZpY2FuZFttX3ByZWNpc2lvbisrXSA9ICcwJzsKKworICAgICAgICBBU1NF
UlQobV9wcmVjaXNpb24pOworICAgICAgICAvLyBaZXJvIHNob3VsZCBhbHdheXMgaGF2ZSBleHBv
bmVudCAwLgorICAgICAgICBBU1NFUlQobV9zaWduaWZpY2FuZFswXSAhPSAnMCcgfHwgIW1fZXhw
b25lbnQpOwogICAgIH0KIAotICAgIHVuc2lnbmVkIHRvU3RyaW5nRGVjaW1hbChOdW1iZXJUb1N0
cmluZ0J1ZmZlciYgYnVmZmVyKQorICAgIHVuc2lnbmVkIHRvU3RyaW5nRGVjaW1hbChOdW1iZXJU
b1N0cmluZ0J1ZmZlciBidWZmZXIpCiAgICAgewogICAgICAgICAvLyBTaG91bGQgYWx3YXlzIGJl
IGF0IGxlYXN0IG9uZSBkaWdpdCB0byBhZGQgdG8gdGhlIHN0cmluZyEKICAgICAgICAgQVNTRVJU
KG1fcHJlY2lzaW9uKTsKQEAgLTIwMSw3ICsxMzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBuZXh0IC0gYnVmZmVyOwogICAgIH0KIAotICAgIHVuc2lnbmVkIHRvU3RyaW5nRXhwb25lbnRp
YWwoTnVtYmVyVG9TdHJpbmdCdWZmZXIgJmJ1ZmZlcikKKyAgICB1bnNpZ25lZCB0b1N0cmluZ0V4
cG9uZW50aWFsKE51bWJlclRvU3RyaW5nQnVmZmVyIGJ1ZmZlcikKICAgICB7CiAgICAgICAgIC8v
IFNob3VsZCBhbHdheXMgYmUgYXQgbGVhc3Qgb25lIGRpZ2l0IHRvIGFkZCB0byB0aGUgc3RyaW5n
IQogICAgICAgICBBU1NFUlQobV9wcmVjaXNpb24pOwpAQCAtMjQ3LDc1ICsxODEsNiBAQCBwdWJs
aWM6CiAgICAgdW5zaWduZWQgcHJlY2lzaW9uKCkgeyByZXR1cm4gbV9wcmVjaXNpb247IH0KIAog
cHJpdmF0ZToKLSAgICB2b2lkIGluaXQoYm9vbCBzaWduLCBkb3VibGUgZCkKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVCghaXNuYW4oZCkgJiYgIWlzaW5mKGQpKTsKLQotICAgICAgICBpbnQgZGVjaW1h
bFBvaW50OwotICAgICAgICBpbnQgc2lnblVudXNlZDsKLSAgICAgICAgY2hhciogcmVzdWx0RW5k
ID0gMDsKLSAgICAgICAgV1RGOjpkdG9hKG1fc2lnbmlmaWNhbmQsIGQsIDAsICZkZWNpbWFsUG9p
bnQsICZzaWduVW51c2VkLCAmcmVzdWx0RW5kKTsKLQotICAgICAgICBtX3NpZ24gPSBzaWduOwot
ICAgICAgICBtX3ByZWNpc2lvbiA9IHJlc3VsdEVuZCAtIG1fc2lnbmlmaWNhbmQ7Ci0gICAgICAg
IG1fZXhwb25lbnQgPSBkZWNpbWFsUG9pbnQgLSAxOwotCi0gICAgICAgIC8vIE5vIHZhbHVlcyBv
dGhlciB0aGFuIHplcm8gc2hvdWxkIGhhdmUgYSBsZWFkaW5nIHplcm8uCi0gICAgICAgIEFTU0VS
VChtX3NpZ25pZmljYW5kWzBdICE9ICcwJyB8fCBtX3ByZWNpc2lvbiA9PSAxKTsKLSAgICAgICAg
Ly8gWmVybyBzaG91bGQgYWx3YXlzIGhhdmUgZXhwb25lbnQgMC4KLSAgICAgICAgQVNTRVJUKG1f
c2lnbmlmaWNhbmRbMF0gIT0gJzAnIHx8ICFtX2V4cG9uZW50KTsKLSAgICB9Ci0KLSAgICBib29s
IGlzWmVybygpCi0gICAgewotICAgICAgICByZXR1cm4gbV9zaWduaWZpY2FuZFswXSA9PSAnMCc7
Ci0gICAgfQotCi0gICAgLy8gV2UgcHJlLXJvdW5kIHRoZSB2YWx1ZXMgdG8gZHRvYSAtIHdoaWNo
IGxlYWRzIHRvIGl0IGdlbmVyYXRpbmcgZmFzdGVyIHJlc3VsdHMuCi0gICAgLy8gQnV0IGR0b2Eg
d29uJ3QgaGF2ZSB6ZXJvIHBhZGRlZCB0aGUgc2lnbmlmaWNhbmQgdG8gdGhlIHByZWNpc2lvbiB3
ZSByZXF1aXJlLAotICAgIC8vIGFuZCBhbHNvIG1pZ2h0IGhhdmUgcHJvZHVjZWQgdG9vIG1hbnkg
ZGlnaXRzIGlmIHJvdW5kaW5nIHdlbnQgd3Jvbmcgc29tZWhvdy4KLSAgICAvLyBBZGp1c3QgZm9y
IHRoaXMuCi0gICAgdm9pZCByb3VuZFRvUHJlY2lzaW9uKHVuc2lnbmVkIHNpZ25pZmljYW50Rmln
dXJlcykKLSAgICB7Ci0gICAgICAgIEFTU0VSVChzaWduaWZpY2FudEZpZ3VyZXMgJiYgc2lnbmlm
aWNhbnRGaWd1cmVzIDw9IHNpemVvZihEdG9hQnVmZmVyKSk7Ci0KLSAgICAgICAgLy8gSWYgdGhl
cmUgYXJlIHRvbyBmZXcgb2YgdG9vIG1hbnkgZGlnaXRzIGluIHRoZSBzaWduaWZpY2FuZCB0aGVu
IGFkZCBtb3JlLCBvciByZW1vdmUgc29tZSEKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9w
cmVjaXNpb247IGkgPCBzaWduaWZpY2FudEZpZ3VyZXM7ICsraSkKLSAgICAgICAgICAgIG1fc2ln
bmlmaWNhbmRbaV0gPSAnMCc7Ci0gICAgICAgIG1fcHJlY2lzaW9uID0gc2lnbmlmaWNhbnRGaWd1
cmVzOwotICAgIH0KLQotICAgIGRvdWJsZSBpbnRQb3cxMChpbnQgZSkKLSAgICB7Ci0gICAgICAg
IC8vIFRoaXMgZnVuY3Rpb24gdXNlcyB0aGUgImV4cG9uZW50aWF0aW9uIGJ5IHNxdWFyaW5nIiBh
bGdvcml0aG0gYW5kCi0gICAgICAgIC8vIGxvbmcgZG91YmxlIHRvIHF1aWNrbHkgYW5kIHByZWNp
c2VseSBjYWxjdWxhdGUgaW50ZWdlciBwb3dlcnMgb2YgMTAuMC4KLQotICAgICAgICAvLyBUaGlz
IGlzIGEgaGFuZHkgd29ya2Fyb3VuZCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzQ0OTQ3NTY+Ci0KLSAg
ICAgICAgaWYgKCFlKQotICAgICAgICAgICAgcmV0dXJuIDEuMDsKLQotICAgICAgICBib29sIG5l
Z2F0aXZlID0gZSA8IDA7Ci0gICAgICAgIHVuc2lnbmVkIGV4cCA9IG5lZ2F0aXZlID8gLWUgOiBl
OwotCi0gICAgICAgIGxvbmcgZG91YmxlIHJlc3VsdCA9IDEwLjA7Ci0gICAgICAgIGJvb2wgZm91
bmRPbmUgPSBmYWxzZTsKLSAgICAgICAgZm9yIChpbnQgYml0ID0gMzE7IGJpdCA+PSAwOyBiaXQt
LSkgewotICAgICAgICAgICAgaWYgKCFmb3VuZE9uZSkgewotICAgICAgICAgICAgICAgIGlmICgo
ZXhwID4+IGJpdCkgJiAxKQotICAgICAgICAgICAgICAgICAgICBmb3VuZE9uZSA9IHRydWU7Ci0g
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCAqIHJl
c3VsdDsKLSAgICAgICAgICAgICAgICBpZiAoKGV4cCA+PiBiaXQpICYgMSkKLSAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICogMTAuMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQotCi0gICAgICAgIGlmIChuZWdhdGl2ZSkKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxkb3VibGU+KDEuMCAvIHJlc3VsdCk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxkb3Vi
bGU+KHJlc3VsdCk7Ci0gICAgfQotCiAgICAgYm9vbCBtX3NpZ247CiAgICAgaW50IG1fZXhwb25l
bnQ7CiAgICAgRHRvYUJ1ZmZlciBtX3NpZ25pZmljYW5kOwpAQCAtMzI0LDcgKzE4OSw2IEBAIHBy
aXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi11c2luZyBXVEY6Ok51bWJlclRvU3RyaW5n
QnVmZmVyOwogdXNpbmcgV1RGOjpEZWNpbWFsTnVtYmVyOwogdXNpbmcgV1RGOjpSb3VuZGluZ1Np
Z25pZmljYW50RmlndXJlczsKIHVzaW5nIFdURjo6Um91bmRpbmdEZWNpbWFsUGxhY2VzOwpJbmRl
eDogSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRD
b3JlL3d0Zi9kdG9hLmNwcAkocmV2aXNpb24gNjYxNjkpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYv
ZHRvYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDcgQEAKICNpbmNsdWRlIDxzdHJp
bmcuaD4KICNpbmNsdWRlIDx3dGYvQWx3YXlzSW5saW5lLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvRGVjaW1hbE51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9G
YXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nLmg+CkBAIC0xMzAyLDIxICsxMzAzLDIxIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5F
IGludCBxdW9yZW0oQmlnSW50JiAKICAqICAgICAgICJ1bmlmb3JtbHkiIGRpc3RyaWJ1dGVkIGlu
cHV0LCB0aGUgcHJvYmFiaWxpdHkgaXMKICAqICAgICAgIHNvbWV0aGluZyBsaWtlIDEwXihrLTE1
KSB0aGF0IHdlIG11c3QgcmVzb3J0IHRvIHRoZSBpbnQzMl90CiAgKiAgICAgICBjYWxjdWxhdGlv
bi4KKyAqCisgKiBOb3RlOiAnbGVmdHJpZ2h0JyB0cmFuc2xhdGVzIHRvICdnZW5lcmF0ZSBzaG9y
dGVzdCBwb3NzaWJsZSBzdHJpbmcnLgogICovCi12b2lkIGR0b2EoRHRvYUJ1ZmZlciByZXN1bHQs
IGRvdWJsZSBkZCwgaW50IG5kaWdpdHMsIGludCogZGVjcHQsIGludCogc2lnbiwgY2hhcioqIHJ2
ZSkKK3RlbXBsYXRlPGJvb2wgcm91bmRpbmdOb25lLCBib29sIHJvdW5kaW5nU2lnbmlmaWNhbnRG
aWd1cmVzLCBib29sIHJvdW5kaW5nRGVjaW1hbFBsYWNlcywgYm9vbCBsZWZ0cmlnaHQ+Cit2b2lk
IGR0b2EoRHRvYUJ1ZmZlciByZXN1bHQsIGRvdWJsZSBkZCwgaW50IG5kaWdpdHMsIGJvb2wmIHNp
Z25PdXQsIGludCYgZXhwb25lbnRPdXQsIHVuc2lnbmVkJiBwcmVjaXNpb25PdXQpCiB7Ci0gICAg
QVNTRVJUKCFpc25hbihkZCkgJiYgIWlzaW5mKGRkKSk7CisgICAgLy8gRXhhY3RseSBvbmUgcm91
bmRpbmcgbW9kZSBtdXN0IGJlIHNwZWNpZmllZC4KKyAgICBBU1NFUlQocm91bmRpbmdOb25lICsg
cm91bmRpbmdTaWduaWZpY2FudEZpZ3VyZXMgKyByb3VuZGluZ0RlY2ltYWxQbGFjZXMgPT0gMSk7
CisgICAgLy8gcm91bmRpbmdOb25lIG9ubHkgYWxsb3dlZCAob25seSBzZW5zaWJsZT8pIHdpdGgg
bGVmdHJpZ2h0IHNldC4KKyAgICBBU1NFUlQoIXJvdW5kaW5nTm9uZSB8fCBsZWZ0cmlnaHQpOwog
Ci0gICAgLyoKLSAgICAgICAgQXJndW1lbnRzIG5kaWdpdHMsIGRlY3B0LCBzaWduIGFyZSBzaW1p
bGFyIHRvIHRob3NlCi0gICAgICAgIG9mIGVjdnQgYW5kIGZjdnQ7IHRyYWlsaW5nIHplcm9zIGFy
ZSBzdXBwcmVzc2VkIGZyb20KLSAgICAgICAgdGhlIHJldHVybmVkIHN0cmluZy4gIElmIG5vdCBu
dWxsLCAqcnZlIGlzIHNldCB0byBwb2ludAotICAgICAgICB0byB0aGUgZW5kIG9mIHRoZSByZXR1
cm4gdmFsdWUuICBJZiBkIGlzICstSW5maW5pdHkgb3IgTmFOLAotICAgICAgICB0aGVuICpkZWNw
dCBpcyBzZXQgdG8gOTk5OS4KLSAgICAqLworICAgIEFTU0VSVCghaXNuYW4oZGQpICYmICFpc2lu
ZihkZCkpOwogCiAgICAgaW50IGJiaXRzLCBiMiwgYjUsIGJlLCBkaWcsIGksIGllcHMsIGlsaW0g
PSAwLCBpbGltMCwgaWxpbTEgPSAwLAotICAgICAgICBqLCBqMSwgaywgazAsIGtfY2hlY2ssIGxl
ZnRyaWdodCwgbTIsIG01LCBzMiwgczUsCisgICAgICAgIGosIGoxLCBrLCBrMCwga19jaGVjaywg
bTIsIG01LCBzMiwgczUsCiAgICAgICAgIHNwZWNfY2FzZTsKICAgICBpbnQzMl90IEw7CiAgICAg
aW50IGRlbm9ybTsKQEAgLTEzMjgsMjUgKzEzMjksMjYgQEAgdm9pZCBkdG9hKER0b2FCdWZmZXIg
cmVzdWx0LCBkb3VibGUgZGQsIAogICAgIGNoYXIqIHMwOwogCiAgICAgdS5kID0gZGQ7Ci0gICAg
aWYgKHdvcmQwKCZ1KSAmIFNpZ25fYml0KSB7Ci0gICAgICAgIC8qIHNldCBzaWduIGZvciBldmVy
eXRoaW5nLCBpbmNsdWRpbmcgMCdzIGFuZCBOYU5zICovCi0gICAgICAgICpzaWduID0gMTsKLSAg
ICAgICAgd29yZDAoJnUpICY9IH5TaWduX2JpdDsgICAgLyogY2xlYXIgc2lnbiBiaXQgKi8KLSAg
ICB9IGVsc2UKLSAgICAgICAgKnNpZ24gPSAwOwogCiAgICAgLyogSW5maW5pdHkgb3IgTmFOICov
CiAgICAgQVNTRVJUKCh3b3JkMCgmdSkgJiBFeHBfbWFzaykgIT0gRXhwX21hc2spOwogCisgICAg
Ly8gSmF2YVNjcmlwdCB0b1N0cmluZyBjb252ZXJzaW9uIHRyZWF0cyAtMCBhcyAwLgogICAgIGlm
ICghZHZhbCgmdSkpIHsKLSAgICAgICAgKmRlY3B0ID0gMTsKKyAgICAgICAgc2lnbk91dCA9IGZh
bHNlOworICAgICAgICBleHBvbmVudE91dCA9IDA7CisgICAgICAgIHByZWNpc2lvbk91dCA9IDE7
CiAgICAgICAgIHJlc3VsdFswXSA9ICcwJzsKICAgICAgICAgcmVzdWx0WzFdID0gJ1wwJzsKLSAg
ICAgICAgaWYgKHJ2ZSkKLSAgICAgICAgICAgICpydmUgPSByZXN1bHQgKyAxOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCisgICAgaWYgKHdvcmQwKCZ1KSAmIFNpZ25fYml0KSB7CisgICAgICAg
IHNpZ25PdXQgPSB0cnVlOworICAgICAgICB3b3JkMCgmdSkgJj0gflNpZ25fYml0OyAvLyBjbGVh
ciBzaWduIGJpdAorICAgIH0gZWxzZQorICAgICAgICBzaWduT3V0ID0gZmFsc2U7CisKICAgICBk
MmIoYiwgJnUsICZiZSwgJmJiaXRzKTsKICAgICBpZiAoKGkgPSAoaW50KSh3b3JkMCgmdSkgPj4g
RXhwX3NoaWZ0MSAmIChFeHBfbWFzayA+PiBFeHBfc2hpZnQxKSkpKSB7CiAgICAgICAgIGR2YWwo
JmQyKSA9IGR2YWwoJnUpOwpAQCAtMTQxNiwxMCArMTQxOCwyNCBAQCB2b2lkIGR0b2EoRHRvYUJ1
ZmZlciByZXN1bHQsIGRvdWJsZSBkZCwgCiAgICAgICAgIHM1ID0gMDsKICAgICB9CiAKLSAgICBs
ZWZ0cmlnaHQgPSAxOwotICAgIGlsaW0gPSBpbGltMSA9IC0xOwotICAgIGkgPSAxODsKLSAgICBu
ZGlnaXRzID0gMDsKKyAgICBpZiAocm91bmRpbmdOb25lKSB7CisgICAgICAgIGlsaW0gPSBpbGlt
MSA9IC0xOworICAgICAgICBpID0gMTg7CisgICAgICAgIG5kaWdpdHMgPSAwOworICAgIH0KKyAg
ICBpZiAocm91bmRpbmdTaWduaWZpY2FudEZpZ3VyZXMpIHsKKyAgICAgICAgaWYgKG5kaWdpdHMg
PD0gMCkKKyAgICAgICAgICAgIG5kaWdpdHMgPSAxOworICAgICAgICBpbGltID0gaWxpbTEgPSBp
ID0gbmRpZ2l0czsKKyAgICB9CisgICAgaWYgKHJvdW5kaW5nRGVjaW1hbFBsYWNlcykgeworICAg
ICAgICBpID0gbmRpZ2l0cyArIGsgKyAxOworICAgICAgICBpbGltID0gaTsKKyAgICAgICAgaWxp
bTEgPSBpIC0gMTsKKyAgICAgICAgaWYgKGkgPD0gMCkKKyAgICAgICAgICAgIGkgPSAxOworICAg
IH0KKwogICAgIHMgPSBzMCA9IHJlc3VsdDsKIAogICAgIGlmIChpbGltID49IDAgJiYgaWxpbSA8
PSBRdWlja19tYXgpIHsKQEAgLTE1OTEsNyArMTYwNyw3IEBAIGJ1bXBVcDoKICAgICAvKiBDaGVj
ayBmb3Igc3BlY2lhbCBjYXNlIHRoYXQgZCBpcyBhIG5vcm1hbGl6ZWQgcG93ZXIgb2YgMi4gKi8K
IAogICAgIHNwZWNfY2FzZSA9IDA7Ci0gICAgaWYgKCF3b3JkMSgmdSkgJiYgISh3b3JkMCgmdSkg
JiBCbmRyeV9tYXNrKSAmJiB3b3JkMCgmdSkgJiAoRXhwX21hc2sgJiB+RXhwX21zazEpKSB7Cisg
ICAgaWYgKChyb3VuZGluZ05vbmUgfHwgbGVmdHJpZ2h0KSAmJiAoIXdvcmQxKCZ1KSAmJiAhKHdv
cmQwKCZ1KSAmIEJuZHJ5X21hc2spICYmIHdvcmQwKCZ1KSAmIChFeHBfbWFzayAmIH5FeHBfbXNr
MSkpKSB7CiAgICAgICAgIC8qIFRoZSBzcGVjaWFsIGNhc2UgKi8KICAgICAgICAgYjIgKz0gTG9n
MlA7CiAgICAgICAgIHMyICs9IExvZzJQOwpAQCAtMTYzMSw3ICsxNjQ3LDE1IEBAIGJ1bXBVcDoK
ICAgICAgICAgICAgIGlsaW0gPSBpbGltMTsKICAgICAgICAgfQogICAgIH0KLQorICAgIGlmIChp
bGltIDw9IDAgJiYgcm91bmRpbmdEZWNpbWFsUGxhY2VzKSB7CisgICAgICAgIGlmIChpbGltIDwg
MCkKKyAgICAgICAgICAgIGdvdG8gbm9EaWdpdHM7CisgICAgICAgIG11bHRhZGQoUywgNSwgMCk7
CisgICAgICAgIC8vIEZvciBJRUVFLTc1NCB1bmJpYXNlZCByb3VuZGluZyB0aGlzIGNoZWNrIHNo
b3VsZCBiZSA8PSwgc3VjaCB0aGF0IDAuNSB3b3VsZCBmbHVzaCB0byB6ZXJvLgorICAgICAgICBp
ZiAoY21wKGIsIFMpIDwgMCkKKyAgICAgICAgICAgIGdvdG8gbm9EaWdpdHM7CisgICAgICAgIGdv
dG8gb25lRGlnaXQ7CisgICAgfQogICAgIGlmIChsZWZ0cmlnaHQpIHsKICAgICAgICAgaWYgKG0y
ID4gMCkKICAgICAgICAgICAgIGxzaGlmdChtaGksIG0yKTsKQEAgLTE2NTIsNiArMTY3NiwyMSBA
QCBidW1wVXA6CiAgICAgICAgICAgICBqID0gY21wKGIsIG1sbyk7CiAgICAgICAgICAgICBkaWZm
KGRlbHRhLCBTLCBtaGkpOwogICAgICAgICAgICAgajEgPSBkZWx0YS5zaWduID8gMSA6IGNtcChi
LCBkZWx0YSk7CisjaWZkZWYgRFRPQV9ST1VORF9CSUFTRUQKKyAgICAgICAgICAgIGlmIChqIDwg
MCB8fCAhaikgeworI2Vsc2UKKyAgICAgICAgICAgIC8vIEZJWE1FOiBFQ01BLTI2MiBzcGVjaWZp
ZXMgdGhhdCBlcXVpZGlzdGFudCByZXN1bHRzIHJvdW5kIGF3YXkgZnJvbQorICAgICAgICAgICAg
Ly8gemVybywgd2hpY2ggcHJvYmFibHkgbWVhbnMgd2Ugc2hvdWxkbid0IGJlIG9uIHRoZSB1bmJp
YXNlZCBjb2RlIHBhdGgKKyAgICAgICAgICAgIC8vICh0aGUgKHdvcmQxKCZ1KSAmIDEpIGNsYXVz
ZSBpcyBsb29raW5nIGhpZ2hseSBzdXNwaWNpb3VzKS4gSSBoYXZlbid0CisgICAgICAgICAgICAv
LyB5ZXQgdW5kZXJzdG9vZCB0aGlzIGNvZGUgd2VsbCBlbm91Z2ggdG8gbWFrZSB0aGUgY2FsbCwg
YnV0IHdlIHNob3VsZAorICAgICAgICAgICAgLy8gcHJvYmFibHkgYmUgZW5hYmxpbmcgRFRPQV9S
T1VORF9CSUFTRUQuIEkgdGhpbmsgdGhlIGludGVyZXN0aW5nIGNvcm5lcgorICAgICAgICAgICAg
Ly8gY2FzZSB0byB1bmRlcnN0YW5kIGlzIHByb2JhYmx5ICJNYXRoLnBvdygwLjUsIDI0KS50b1N0
cmluZygpIi4KKyAgICAgICAgICAgIC8vIEkgYmVsaWV2ZSB0aGlzIHZhbHVlIGlzIGludGVyZXN0
aW5nIGJlY2F1c2UgSSB0aGluayBpdCBpcyBwcmVjaXNlbHkKKyAgICAgICAgICAgIC8vIHJlcHJl
c2VudGFibGUgaW4gYmluYXJ5IGZsb2F0aW5nIHBvaW50LCBhbmQgaXRzIGRlY2ltYWwgcmVwcmVz
ZW50YXRpb24KKyAgICAgICAgICAgIC8vIGhhcyBhIHNpbmdsZSBkaWdpdCB0aGF0IFN0ZWVsZSAm
IFdoaXRlIHJlZHVjdGlvbiBjYW4gcmVtb3ZlLCB3aXRoIHRoZQorICAgICAgICAgICAgLy8gdmFs
dWUgNSAodGh1cyBlcXVpZGlzdGFudCBmcm9tIHRoZSBuZXh0IG51bWJlcnMgYWJvdmUgYW5kIGJl
bG93KS4KKyAgICAgICAgICAgIC8vIFdlIHByb2R1Y2UgdGhlIGNvcnJlY3QgYW5zd2VyIHVzaW5n
IGVpdGhlciBjb2RlcGF0aCwgYW5kIEkgZG9uJ3QgYXMKKyAgICAgICAgICAgIC8vIHlldCB1bmRl
cnN0YW5kIHdoeS4gOi0pCiAgICAgICAgICAgICBpZiAoIWoxICYmICEod29yZDEoJnUpICYgMSkp
IHsKICAgICAgICAgICAgICAgICBpZiAoZGlnID09ICc5JykKICAgICAgICAgICAgICAgICAgICAg
Z290byByb3VuZDl1cDsKQEAgLTE2NjEsMTAgKzE3MDAsMTQgQEAgYnVtcFVwOgogICAgICAgICAg
ICAgICAgIGdvdG8gcmV0OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGogPCAwIHx8
ICghaiAmJiAhKHdvcmQxKCZ1KSAmIDEpKSkgeworI2VuZGlmCiAgICAgICAgICAgICAgICAgaWYg
KChiLndvcmRzKClbMF0gfHwgYi5zaXplKCkgPiAxKSAmJiAoajEgPiAwKSkgewogICAgICAgICAg
ICAgICAgICAgICBsc2hpZnQoYiwgMSk7CiAgICAgICAgICAgICAgICAgICAgIGoxID0gY21wKGIs
IFMpOwotICAgICAgICAgICAgICAgICAgICBpZiAoajEgPiAwIHx8ICghajEgJiYgKGRpZyAmIDEp
KSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGb3IgSUVFRS03NTQgcm91bmQtdG8tZXZlbiwg
dGhpcyBjaGVjayBzaG91bGQgYmUgKGoxID4gMCB8fCAoIWoxICYmIChkaWcgJiAxKSkpLAorICAg
ICAgICAgICAgICAgICAgICAvLyBidXQgRUNNQS0yNjIgc3BlY2lmaWVzIHRoYXQgZXF1aWRpc3Rh
bnQgdmFsdWVzIChlLmcuICguNSkudG9GaXhlZCgpKSBzaG91bGQKKyAgICAgICAgICAgICAgICAg
ICAgLy8gYmUgcm91bmRlZCBhd2F5IGZyb20gemVyby4KKyAgICAgICAgICAgICAgICAgICAgaWYg
KGoxID49IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaWcgPT0gJzknKQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcm91bmQ5dXA7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBkaWcrKzsKQEAgLTE2ODksMjIgKzE3MzIsMjUgQEAgcm91bmQ5dXA6CiAgICAgICAg
ICAgICBtdWx0YWRkKG1sbywgMTAsIDApOwogICAgICAgICAgICAgbXVsdGFkZChtaGksIDEwLCAw
KTsKICAgICAgICAgfQotICAgIH0gZWxzZQorICAgIH0gZWxzZSB7CiAgICAgICAgIGZvciAoaSA9
IDE7OyBpKyspIHsKICAgICAgICAgICAgICpzKysgPSBkaWcgPSBxdW9yZW0oYiwgUykgKyAnMCc7
Ci0gICAgICAgICAgICBpZiAoIWIud29yZHMoKVswXSAmJiBiLnNpemUoKSA8PSAxKSB7CisgICAg
ICAgICAgICBpZiAoIWIud29yZHMoKVswXSAmJiBiLnNpemUoKSA8PSAxKQogICAgICAgICAgICAg
ICAgIGdvdG8gcmV0OwotICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGkgPj0gaWxpbSkK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIG11bHRhZGQoYiwgMTAsIDApOwog
ICAgICAgICB9CisgICAgfQogCiAgICAgLyogUm91bmQgb2ZmIGxhc3QgZGlnaXQgKi8KIAogICAg
IGxzaGlmdChiLCAxKTsKICAgICBqID0gY21wKGIsIFMpOwotICAgIGlmIChqID4gMCB8fCAoIWog
JiYgKGRpZyAmIDEpKSkgeworICAgIC8vIEZvciBJRUVFLTc1NCByb3VuZC10by1ldmVuLCB0aGlz
IGNoZWNrIHNob3VsZCBiZSAoaiA+IDAgfHwgKCFqICYmIChkaWcgJiAxKSkpLAorICAgIC8vIGJ1
dCBFQ01BLTI2MiBzcGVjaWZpZXMgdGhhdCBlcXVpZGlzdGFudCB2YWx1ZXMgKGUuZy4gKC41KS50
b0ZpeGVkKCkpIHNob3VsZAorICAgIC8vIGJlIHJvdW5kZWQgYXdheSBmcm9tIHplcm8uCisgICAg
aWYgKGogPj0gMCkgewogcm91bmRvZmY6CiAgICAgICAgIHdoaWxlICgqLS1zID09ICc5JykKICAg
ICAgICAgICAgIGlmIChzID09IHMwKSB7CkBAIC0xNzE5LDEwNyArMTc2NSw2NyBAQCByb3VuZG9m
ZjoKICAgICB9CiAgICAgZ290byByZXQ7CiBub0RpZ2l0czoKLSAgICBrID0gLTEgLSBuZGlnaXRz
OwotICAgIGdvdG8gcmV0OworICAgIGV4cG9uZW50T3V0ID0gMDsKKyAgICBwcmVjaXNpb25PdXQg
PSAxOworICAgIHJlc3VsdFswXSA9ICcwJzsKKyAgICByZXN1bHRbMV0gPSAnXDAnOworICAgIHJl
dHVybjsKIG9uZURpZ2l0OgogICAgICpzKysgPSAnMSc7CiAgICAgaysrOwogICAgIGdvdG8gcmV0
OwogcmV0OgorICAgIEFTU0VSVChzID4gcmVzdWx0KTsKICAgICAqcyA9IDA7Ci0gICAgKmRlY3B0
ID0gayArIDE7Ci0gICAgaWYgKHJ2ZSkKLSAgICAgICAgKnJ2ZSA9IHM7CisgICAgZXhwb25lbnRP
dXQgPSBrOworICAgIHByZWNpc2lvbk91dCA9IHMgLSByZXN1bHQ7CiB9CiAKLXN0YXRpYyBBTFdB
WVNfSU5MSU5FIHZvaWQgYXBwZW5kKGNoYXIqJiBuZXh0LCBjb25zdCBjaGFyKiBzcmMsIHVuc2ln
bmVkIHNpemUpCit2b2lkIGR0b2EoRHRvYUJ1ZmZlciByZXN1bHQsIGRvdWJsZSBkZCwgYm9vbCYg
c2lnbiwgaW50JiBleHBvbmVudCwgdW5zaWduZWQmIHByZWNpc2lvbikKK3sKKyAgICAvLyBmbGFn
cyBhcmUgcm91bmRpbmdOb25lLCBsZWZ0cmlnaHQuCisgICAgZHRvYTx0cnVlLCBmYWxzZSwgZmFs
c2UsIHRydWU+KHJlc3VsdCwgZGQsIDAsIHNpZ24sIGV4cG9uZW50LCBwcmVjaXNpb24pOworfQor
Cit2b2lkIGR0b2FSb3VuZFNGKER0b2FCdWZmZXIgcmVzdWx0LCBkb3VibGUgZGQsIGludCBuZGln
aXRzLCBib29sJiBzaWduLCBpbnQmIGV4cG9uZW50LCB1bnNpZ25lZCYgcHJlY2lzaW9uKQorewor
ICAgIC8vIGZsYWcgaXMgcm91bmRpbmdTaWduaWZpY2FudEZpZ3VyZXMuCisgICAgZHRvYTxmYWxz
ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlPihyZXN1bHQsIGRkLCBuZGlnaXRzLCBzaWduLCBleHBvbmVu
dCwgcHJlY2lzaW9uKTsKK30KKwordm9pZCBkdG9hUm91bmREUChEdG9hQnVmZmVyIHJlc3VsdCwg
ZG91YmxlIGRkLCBpbnQgbmRpZ2l0cywgYm9vbCYgc2lnbiwgaW50JiBleHBvbmVudCwgdW5zaWdu
ZWQmIHByZWNpc2lvbikKK3sKKyAgICAvLyBmbGFnIGlzIHJvdW5kaW5nRGVjaW1hbFBsYWNlcy4K
KyAgICBkdG9hPGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2U+KHJlc3VsdCwgZGQsIG5kaWdpdHMs
IHNpZ24sIGV4cG9uZW50LCBwcmVjaXNpb24pOworfQorCitzdGF0aWMgQUxXQVlTX0lOTElORSB2
b2lkIGNvcHlBc2NpaVRvVVRGMTYoVUNoYXIqIG5leHQsIGNvbnN0IGNoYXIqIHNyYywgdW5zaWdu
ZWQgc2l6ZSkKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQogICAg
ICAgICAqbmV4dCsrID0gKnNyYysrOwogfQogCi12b2lkIGRvdWJsZVRvU3RyaW5nSW5KYXZhU2Ny
aXB0Rm9ybWF0KGRvdWJsZSBkLCBEdG9hQnVmZmVyIGJ1ZmZlciwgdW5zaWduZWQqIHJlc3VsdExl
bmd0aCkKK3Vuc2lnbmVkIG51bWJlclRvU3RyaW5nKGRvdWJsZSBkLCBOdW1iZXJUb1N0cmluZ0J1
ZmZlciBidWZmZXIpCiB7Ci0gICAgQVNTRVJUKGJ1ZmZlcik7Ci0KICAgICAvLyBIYW5kbGUgTmFO
IGFuZCBJbmZpbml0eS4KICAgICBpZiAoaXNuYW4oZCkgfHwgaXNpbmYoZCkpIHsKICAgICAgICAg
aWYgKGlzbmFuKGQpKSB7Ci0gICAgICAgICAgICBhcHBlbmQoYnVmZmVyLCAiTmFOIiwgMyk7Ci0g
ICAgICAgICAgICBpZiAocmVzdWx0TGVuZ3RoKQotICAgICAgICAgICAgICAgICpyZXN1bHRMZW5n
dGggPSAzOwotICAgICAgICB9IGVsc2UgaWYgKGQgPiAwKSB7Ci0gICAgICAgICAgICBhcHBlbmQo
YnVmZmVyLCAiSW5maW5pdHkiLCA4KTsKLSAgICAgICAgICAgIGlmIChyZXN1bHRMZW5ndGgpCi0g
ICAgICAgICAgICAgICAgKnJlc3VsdExlbmd0aCA9IDg7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICBhcHBlbmQoYnVmZmVyLCAiLUluZmluaXR5IiwgOSk7Ci0gICAgICAgICAgICBpZiAo
cmVzdWx0TGVuZ3RoKQotICAgICAgICAgICAgICAgICpyZXN1bHRMZW5ndGggPSA5OworICAgICAg
ICAgICAgY29weUFzY2lpVG9VVEYxNihidWZmZXIsICJOYU4iLCAzKTsKKyAgICAgICAgICAgIHJl
dHVybiAzOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyAtMCAt
PiAiMCIKLSAgICBpZiAoIWQpIHsKLSAgICAgICAgYnVmZmVyWzBdID0gJzAnOwotICAgICAgICBp
ZiAocmVzdWx0TGVuZ3RoKQotICAgICAgICAgICAgKnJlc3VsdExlbmd0aCA9IDE7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBpbnQgZGVjaW1hbFBvaW50OwotICAgIGludCBzaWduOwot
Ci0gICAgRHRvYUJ1ZmZlciByZXN1bHQ7Ci0gICAgY2hhciogcmVzdWx0RW5kID0gMDsKLSAgICBX
VEY6OmR0b2EocmVzdWx0LCBkLCAwLCAmZGVjaW1hbFBvaW50LCAmc2lnbiwgJnJlc3VsdEVuZCk7
Ci0gICAgaW50IGxlbmd0aCA9IHJlc3VsdEVuZCAtIHJlc3VsdDsKLQotICAgIGNoYXIqIG5leHQg
PSBidWZmZXI7Ci0gICAgaWYgKHNpZ24pCi0gICAgICAgICpuZXh0KysgPSAnLSc7Ci0KLSAgICBp
ZiAoZGVjaW1hbFBvaW50IDw9IDAgJiYgZGVjaW1hbFBvaW50ID4gLTYpIHsKLSAgICAgICAgKm5l
eHQrKyA9ICcwJzsKLSAgICAgICAgKm5leHQrKyA9ICcuJzsKLSAgICAgICAgZm9yIChpbnQgaiA9
IGRlY2ltYWxQb2ludDsgaiA8IDA7IGorKykKLSAgICAgICAgICAgICpuZXh0KysgPSAnMCc7Ci0g
ICAgICAgIGFwcGVuZChuZXh0LCByZXN1bHQsIGxlbmd0aCk7Ci0gICAgfSBlbHNlIGlmIChkZWNp
bWFsUG9pbnQgPD0gMjEgJiYgZGVjaW1hbFBvaW50ID4gMCkgewotICAgICAgICBpZiAobGVuZ3Ro
IDw9IGRlY2ltYWxQb2ludCkgewotICAgICAgICAgICAgYXBwZW5kKG5leHQsIHJlc3VsdCwgbGVu
Z3RoKTsKLSAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgZGVjaW1hbFBvaW50IC0gbGVu
Z3RoOyBqKyspCi0gICAgICAgICAgICAgICAgKm5leHQrKyA9ICcwJzsKLSAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIGFwcGVuZChuZXh0LCByZXN1bHQsIGRlY2ltYWxQb2ludCk7Ci0gICAg
ICAgICAgICAqbmV4dCsrID0gJy4nOwotICAgICAgICAgICAgYXBwZW5kKG5leHQsIHJlc3VsdCAr
IGRlY2ltYWxQb2ludCwgbGVuZ3RoIC0gZGVjaW1hbFBvaW50KTsKLSAgICAgICAgfQotICAgIH0g
ZWxzZSBpZiAocmVzdWx0WzBdIDwgJzAnIHx8IHJlc3VsdFswXSA+ICc5JykKLSAgICAgICAgYXBw
ZW5kKG5leHQsIHJlc3VsdCwgbGVuZ3RoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgKm5leHQrKyA9
IHJlc3VsdFswXTsKLSAgICAgICAgaWYgKGxlbmd0aCA+IDEpIHsKLSAgICAgICAgICAgICpuZXh0
KysgPSAnLic7Ci0gICAgICAgICAgICBhcHBlbmQobmV4dCwgcmVzdWx0ICsgMSwgbGVuZ3RoIC0g
MSk7Ci0gICAgICAgIH0KLQotICAgICAgICAqbmV4dCsrID0gJ2UnOwotICAgICAgICAqbmV4dCsr
ID0gKGRlY2ltYWxQb2ludCA+PSAwKSA/ICcrJyA6ICctJzsKLSAgICAgICAgLy8gZGVjaW1hbFBv
aW50IGNhbid0IGJlIG1vcmUgdGhhbiAzIGRpZ2l0cyBkZWNpbWFsIGdpdmVuIHRoZQotICAgICAg
ICAvLyBuYXR1cmUgb2YgZmxvYXQgcmVwcmVzZW50YXRpb24KLSAgICAgICAgaW50IGV4cG9uZW50
aWFsID0gZGVjaW1hbFBvaW50IC0gMTsKLSAgICAgICAgaWYgKGV4cG9uZW50aWFsIDwgMCkKLSAg
ICAgICAgICAgIGV4cG9uZW50aWFsID0gLWV4cG9uZW50aWFsOwotICAgICAgICBpZiAoZXhwb25l
bnRpYWwgPj0gMTAwKQotICAgICAgICAgICAgKm5leHQrKyA9IHN0YXRpY19jYXN0PGNoYXI+KCcw
JyArIGV4cG9uZW50aWFsIC8gMTAwKTsKLSAgICAgICAgaWYgKGV4cG9uZW50aWFsID49IDEwKQot
ICAgICAgICAgICAgKm5leHQrKyA9IHN0YXRpY19jYXN0PGNoYXI+KCcwJyArIChleHBvbmVudGlh
bCAlIDEwMCkgLyAxMCk7Ci0gICAgICAgICpuZXh0KysgPSBzdGF0aWNfY2FzdDxjaGFyPignMCcg
KyBleHBvbmVudGlhbCAlIDEwKTsKLSAgICB9Ci0gICAgaWYgKHJlc3VsdExlbmd0aCkKLSAgICAg
ICAgKnJlc3VsdExlbmd0aCA9IG5leHQgLSBidWZmZXI7CisgICAgICAgIGlmIChkID4gMCkgewor
ICAgICAgICAgICAgY29weUFzY2lpVG9VVEYxNihidWZmZXIsICJJbmZpbml0eSIsIDgpOworICAg
ICAgICAgICAgcmV0dXJuIDg7CisgICAgICAgIH0KKyAgICAgICAgY29weUFzY2lpVG9VVEYxNihi
dWZmZXIsICItSW5maW5pdHkiLCA5KTsKKyAgICAgICAgcmV0dXJuIDk7CisgICAgfQorCisgICAg
Ly8gQ29udmVydCB0byBkZWNpbWFsIHdpdGggcm91bmRpbmcuCisgICAgRGVjaW1hbE51bWJlciBu
dW1iZXIoZCk7CisgICAgcmV0dXJuIG51bWJlci5leHBvbmVudCgpID49IC02ICYmIG51bWJlci5l
eHBvbmVudCgpIDwgMjEKKyAgICAgICAgPyBudW1iZXIudG9TdHJpbmdEZWNpbWFsKGJ1ZmZlcikK
KyAgICAgICAgOiBudW1iZXIudG9TdHJpbmdFeHBvbmVudGlhbChidWZmZXIpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXVEYKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuaAkocmV2aXNpb24gNjYxNjkpCisrKyBKYXZh
U2NyaXB0Q29yZS93dGYvZHRvYS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwxMSArMjEsMTAgQEAK
ICNpZm5kZWYgV1RGX2R0b2FfaAogI2RlZmluZSBXVEZfZHRvYV9oCiAKLW5hbWVzcGFjZSBXVEYg
ewotY2xhc3MgTXV0ZXg7Ci19CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBu
YW1lc3BhY2UgV1RGIHsKK2NsYXNzIE11dGV4OwogCiBleHRlcm4gV1RGOjpNdXRleCogc19kdG9h
UDVNdXRleDsKIApAQCAtMzQsMTYgKzMzLDE4IEBAIGV4dGVybiBXVEY6Ok11dGV4KiBzX2R0b2FQ
NU11dGV4OwogZG91YmxlIHN0cnRvZChjb25zdCBjaGFyKiBzMDAsIGNoYXIqKiBzZSk7CiAKIHR5
cGVkZWYgY2hhciBEdG9hQnVmZmVyWzgwXTsKLXZvaWQgZHRvYShEdG9hQnVmZmVyIHJlc3VsdCwg
ZG91YmxlIGQsIGludCBuZGlnaXRzLCBpbnQqIGRlY3B0LCBpbnQqIHNpZ24sIGNoYXIqKiBydmUp
OwogCi0vLyBkdG9hKCkgZm9yIEVDTUEtMjYyICdUb1N0cmluZyBBcHBsaWVkIHRvIHRoZSBOdW1i
ZXIgVHlwZS4nCi0vLyBUaGUgKnJlc3VsdExlbmd0aCB3aWxsIGhhdmUgdGhlIGxlbmd0aCBvZiB0
aGUgcmVzdWx0YW50IHN0cmluZyBpbiBidWZlci4KLS8vIFRoZSByZXN1bHRhbnQgc3RyaW5nIGlz
bid0IHRlcm1pbmF0ZWQgYnkgMC4KLXZvaWQgZG91YmxlVG9TdHJpbmdJbkphdmFTY3JpcHRGb3Jt
YXQoZG91YmxlLCBEdG9hQnVmZmVyLCB1bnNpZ25lZCogcmVzdWx0TGVuZ3RoKTsKK3ZvaWQgZHRv
YShEdG9hQnVmZmVyIHJlc3VsdCwgZG91YmxlIGRkLCBib29sJiBzaWduLCBpbnQmIGV4cG9uZW50
LCB1bnNpZ25lZCYgcHJlY2lzaW9uKTsKK3ZvaWQgZHRvYVJvdW5kU0YoRHRvYUJ1ZmZlciByZXN1
bHQsIGRvdWJsZSBkZCwgaW50IG5kaWdpdHMsIGJvb2wmIHNpZ24sIGludCYgZXhwb25lbnQsIHVu
c2lnbmVkJiBwcmVjaXNpb24pOwordm9pZCBkdG9hUm91bmREUChEdG9hQnVmZmVyIHJlc3VsdCwg
ZG91YmxlIGRkLCBpbnQgbmRpZ2l0cywgYm9vbCYgc2lnbiwgaW50JiBleHBvbmVudCwgdW5zaWdu
ZWQmIHByZWNpc2lvbik7CisKKy8vIFNpemUgPSA4MCBmb3Igc2l6ZW9mKER0b2FCdWZmZXIpICsg
c29tZSBzaWduIGJpdHMsIGRlY2ltYWwgcG9pbnQsICdlJywgZXhwb25lbnQgZGlnaXRzLgordHlw
ZWRlZiBVQ2hhciBOdW1iZXJUb1N0cmluZ0J1ZmZlcls5Nl07Cit1bnNpZ25lZCBudW1iZXJUb1N0
cmluZyhkb3VibGUsIE51bWJlclRvU3RyaW5nQnVmZmVyKTsKIAogfSAvLyBuYW1lc3BhY2UgV1RG
CiAKLXVzaW5nIFdURjo6RHRvYUJ1ZmZlcjsKLXVzaW5nIFdURjo6ZG91YmxlVG9TdHJpbmdJbkph
dmFTY3JpcHRGb3JtYXQ7Cit1c2luZyBXVEY6Ok51bWJlclRvU3RyaW5nQnVmZmVyOwordXNpbmcg
V1RGOjpudW1iZXJUb1N0cmluZzsKIAogI2VuZGlmIC8vIFdURl9kdG9hX2gKSW5kZXg6IFdlYkNv
cmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA2
NjE4NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTAtMDgtMjcgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA0
NDc0NSAtIE51bWJlci50b0ZpeGVkL3RvRXhwb25lbnRpYWwvdG9QcmVjaXNpb24gYXJlIGluYWNj
dXJhdGUuCisKKyAgICAgICAgVGhlc2UgbWV0aG9kcyBzaG91bGQgYmUgdXNpbmcgYSB2ZXJzaW9u
IG9mIGR0b2EgdGhhdCBjYW4gZ2VuZXJhdGUgcmVzdWx0cyBhY2N1cmF0ZQorICAgICAgICB0byB0
aGUgcmVxdWVzdGVkIHByZWNpc2lvbiwgd2hlcmVhcyBvdXIgdmVyc2lvbiBvZiBkdG9hIGlzIG9u
bHkgY3VycmVudGx5IGFibGUgdG8KKyAgICAgICAgc3VwcG9ydCBwcm9kdWNpbmcgcmVzdWx0cyBz
dWZmaWNpZW50bHkgYWNjdXJhdGUgdG8gZGlzdGluZ3Vpc2ggdGhlIHZhbHVlIGZyb20gYW55Cisg
ICAgICAgIG90aGVyIElFRUUtNzU0IGRvdWJsZSBwcmVjaXNpb24gbnVtYmVyLgorCisgICAgICAg
ICogaHRtbC9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXpl
Rm9yTnVtYmVyVHlwZSk6CisgICAgICAgICAgICBkb3VibGVUb1N0cmluZ0luSmF2YVNjcmlwdEZv
cm1hdCByZW5hbWVkIHRvIG51bWJlclRvU3RyaW5nLgorCiAyMDEwLTA4LTI1ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAJKHJldmlzaW9uIDY2MTY5KQorKysgV2Vi
Q29yZS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4NTAsOSAr
Mjg1MCw4IEBAIFN0cmluZyBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKGRvdWJsZSBudW0KIHsKICAg
ICAvLyBBY2NvcmRpbmcgdG8gSFRNTDUsICJ0aGUgYmVzdCByZXByZXNlbnRhdGlvbiBvZiB0aGUg
bnVtYmVyIG4gYXMgYSBmbG9hdGluZwogICAgIC8vIHBvaW50IG51bWJlciIgaXMgYSBzdHJpbmcg
cHJvZHVjZWQgYnkgYXBwbHlpbmcgVG9TdHJpbmcoKSB0byBuLgotICAgIER0b2FCdWZmZXIgYnVm
ZmVyOwotICAgIHVuc2lnbmVkIGxlbmd0aDsKLSAgICBkb3VibGVUb1N0cmluZ0luSmF2YVNjcmlw
dEZvcm1hdChudW1iZXIsIGJ1ZmZlciwgJmxlbmd0aCk7CisgICAgTnVtYmVyVG9TdHJpbmdCdWZm
ZXIgYnVmZmVyOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IG51bWJlclRvU3RyaW5nKG51bWJlciwg
YnVmZmVyKTsKICAgICByZXR1cm4gU3RyaW5nKGJ1ZmZlciwgbGVuZ3RoKTsKIH0KIApJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNjYxODYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wOC0yNyAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJy
YWNsb3VnaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQnVnIDQ0NzQ1IC0gTnVtYmVyLnRvRml4ZWQvdG9FeHBvbmVudGlhbC90b1By
ZWNpc2lvbiBhcmUgaW5hY2N1cmF0ZS4KKworICAgICAgICBUaGVzZSBtZXRob2RzIHNob3VsZCBi
ZSB1c2luZyBhIHZlcnNpb24gb2YgZHRvYSB0aGF0IGNhbiBnZW5lcmF0ZSByZXN1bHRzIGFjY3Vy
YXRlCisgICAgICAgIHRvIHRoZSByZXF1ZXN0ZWQgcHJlY2lzaW9uLCB3aGVyZWFzIG91ciB2ZXJz
aW9uIG9mIGR0b2EgaXMgb25seSBjdXJyZW50bHkgYWJsZSB0bworICAgICAgICBzdXBwb3J0IHBy
b2R1Y2luZyByZXN1bHRzIHN1ZmZpY2llbnRseSBhY2N1cmF0ZSB0byBkaXN0aW5ndWlzaCB0aGUg
dmFsdWUgZnJvbSBhbnkKKyAgICAgICAgb3RoZXIgSUVFRS03NTQgZG91YmxlIHByZWNpc2lvbiBu
dW1iZXIuCisKKyAgICAgICAgVXBkYXRpbmcgZXhwZWN0ZWQgcmVzdWx0cywgY29ycmVjdGVkIGVy
cm9ycyBpbiBmYXN0L2pzL2tkZS9zY3JpcHQtdGVzdHMvTnVtYmVyLmpzCisgICAgICAgIChjb3Jy
ZWN0ZWQgcmVzdWx0cyBjb25maXJtZWQgd2l0aCBGaXJlRm94KS4KKworICAgICAgICAqIGZhc3Qv
anMva2RlL051bWJlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9qcy9rZGUvc2NyaXB0
LXRlc3RzL051bWJlci5qczoKKyAgICAgICAgKiBmYXN0L2pzL251bWJlci10b0V4cG9uZW50aWFs
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL251bWJlci10b2ZpeGVkLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL251bWJlci10b3ByZWNpc2lvbi1leHBlY3RlZC50eHQ6
CisKIDIwMTAtMDgtMjYgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvanMvbnVtYmVyLXRvRXhwb25lbnRpYWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRvRXhwb25lbnRpYWwtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA2NjE2OSkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRvRXhwb25lbnRp
YWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBAIFBBU1MgKDEy
My40NTYpLnRvRXhwb25lbnRpYWwoMi45KSBpcyAiMS4KIFBBU1MgKDEyMy40NTYpLnRvRXhwb25l
bnRpYWwoMykgaXMgIjEuMjM1ZSsyIgogUEFTUyAoMTIzLjQ1NikudG9FeHBvbmVudGlhbCg1KSBp
cyAiMS4yMzQ1NmUrMiIKIFBBU1MgKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoNikgaXMgIjEuMjM0
NTYwZSsyIgotRkFJTCAoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgyMCkgc2hvdWxkIGJlIDEuMjM0
NTYwMDAwMDAwMDAwMDMwNzBlKzIuIFdhcyAxLjIzNDU2MDAwMDAwMDAwMDAwMDAwZSsyLgorUEFT
UyAoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgyMCkgaXMgIjEuMjM0NTYwMDAwMDAwMDAwMDMwNzBl
KzIiCiBQQVNTICgxMjMuNDU2KS50b0V4cG9uZW50aWFsKDIxKSB0aHJldyBleGNlcHRpb24gUmFu
Z2VFcnJvcjogdG9FeHBvbmVudGlhbCgpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAwIGFuZCAy
MC4KIFBBU1MgKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTAwKSB0aHJldyBleGNlcHRpb24gUmFu
Z2VFcnJvcjogdG9FeHBvbmVudGlhbCgpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAwIGFuZCAy
MC4KIFBBU1MgKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTAxKSB0aHJldyBleGNlcHRpb24gUmFu
Z2VFcnJvcjogdG9FeHBvbmVudGlhbCgpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAwIGFuZCAy
MC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRvZml4ZWQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRvZml4ZWQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA2NjE2OSkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRv
Zml4ZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIFBBU1Mg
KDEyMzQuNTY3KS50b0ZpeGVkKCcxJykgaXMgIjEyMzQuNiIKIFBBU1MgKDEyMzQuNTY3KS50b0Zp
eGVkKDIpIGlzICIxMjM0LjU3IgogUEFTUyAoMTIzNC41NjcpLnRvRml4ZWQoMi45KSBpcyAiMTIz
NC41NyIKIFBBU1MgKDEyMzQuNTY3KS50b0ZpeGVkKDUpIGlzICIxMjM0LjU2NzAwIgotRkFJTCAo
MTIzNC41NjcpLnRvRml4ZWQoMjApIHNob3VsZCBiZSAxMjM0LjU2NzAwMDAwMDAwMDAwNzI3NTk2
LiBXYXMgMTIzNC41NjcwMDAwMDAwMDAwMDAwMDAwMC4KK1BBU1MgKDEyMzQuNTY3KS50b0ZpeGVk
KDIwKSBpcyAiMTIzNC41NjcwMDAwMDAwMDAwMDcyNzU5NiIKIFBBU1MgKDEyMzQuNTY3KS50b0Zp
eGVkKDIxKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogdG9GaXhlZCgpIGFyZ3VtZW50IG11
c3QgYmUgYmV0d2VlbiAwIGFuZCAyMC4KIFBBU1MgKDEyMzQuNTY3KS50b0ZpeGVkKDEwMCkgdGhy
ZXcgZXhjZXB0aW9uIFJhbmdlRXJyb3I6IHRvRml4ZWQoKSBhcmd1bWVudCBtdXN0IGJlIGJldHdl
ZW4gMCBhbmQgMjAuCiBQQVNTICgxMjM0LjU2NykudG9GaXhlZCgxMDEpIHRocmV3IGV4Y2VwdGlv
biBSYW5nZUVycm9yOiB0b0ZpeGVkKCkgYXJndW1lbnQgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDIw
LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9udW1iZXItdG9wcmVjaXNpb24tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvbnVtYmVyLXRvcHJlY2lzaW9u
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjYxNjkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL251
bWJlci10b3ByZWNpc2lvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIy
LDcgQEAgUEFTUyAoMTIzNC41NjcpLnRvUHJlY2lzaW9uKCcxJykgaXMgIjFlKwogUEFTUyAoMTIz
NC41NjcpLnRvUHJlY2lzaW9uKDIpIGlzICIxLjJlKzMiCiBQQVNTICgxMjM0LjU2NykudG9QcmVj
aXNpb24oMi45KSBpcyAiMS4yZSszIgogUEFTUyAoMTIzNC41NjcpLnRvUHJlY2lzaW9uKDUpIGlz
ICIxMjM0LjYiCi1GQUlMICgxMjM0LjU2NykudG9QcmVjaXNpb24oMjEpIHNob3VsZCBiZSAxMjM0
LjU2NzAwMDAwMDAwMDAwNzI4LiBXYXMgMTIzNC41NjcwMDAwMDAwMDAwMDAwMC4KK1BBU1MgKDEy
MzQuNTY3KS50b1ByZWNpc2lvbigyMSkgaXMgIjEyMzQuNTY3MDAwMDAwMDAwMDA3MjgiCiBQQVNT
ICgxMjM0LjU2NykudG9QcmVjaXNpb24oMjIpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiB0
b1ByZWNpc2lvbigpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyMS4KIFBBU1MgKDEy
MzQuNTY3KS50b1ByZWNpc2lvbigxMDApIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiB0b1By
ZWNpc2lvbigpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyMS4KIFBBU1MgKDEyMzQu
NTY3KS50b1ByZWNpc2lvbigxMDEpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiB0b1ByZWNp
c2lvbigpIGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyMS4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvanMva2RlL051bWJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9rZGUvTnVtYmVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjYxNjkpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2pzL2tkZS9OdW1iZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC05MywxMCArOTMsMTAgQEAgUEFTUyBOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlh
bCgxMykgaQogUEFTUyBOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxNCkgaXMgIjEuMjM0
NTYwMDAwMDAwMDBlKzIiCiBQQVNTIE51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDE1KSBp
cyAiMS4yMzQ1NjAwMDAwMDAwMDBlKzIiCiBQQVNTIE51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50
aWFsKDE2KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwZSsyIgotUEFTUyBOdW1iZXIoMTIzLjQ1Niku
dG9FeHBvbmVudGlhbCgxNykgaXMgIjEuMjM0NTYwMDAwMDAwMDAwMDBlKzIiCi1QQVNTIE51bWJl
cigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDE4KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwMDBlKzIi
Ci1QQVNTIE51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDE5KSBpcyAiMS4yMzQ1NjAwMDAw
MDAwMDAwMDAwZSsyIgotUEFTUyBOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgyMCkgaXMg
IjEuMjM0NTYwMDAwMDAwMDAwMDAwMDBlKzIiCitQQVNTIE51bWJlcigxMjMuNDU2KS50b0V4cG9u
ZW50aWFsKDE3KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwM2UrMiIKK1BBU1MgTnVtYmVyKDEyMy40
NTYpLnRvRXhwb25lbnRpYWwoMTgpIGlzICIxLjIzNDU2MDAwMDAwMDAwMDAzMWUrMiIKK1BBU1Mg
TnVtYmVyKDEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTkpIGlzICIxLjIzNDU2MDAwMDAwMDAwMDAz
MDdlKzIiCitQQVNTIE51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDIwKSBpcyAiMS4yMzQ1
NjAwMDAwMDAwMDAwMzA3MGUrMiIKIFBBU1MgdHJ5IHsgTnVtYmVyKDEyMy40NTYpLnRvRXhwb25l
bnRpYWwoMjEpIH0gY2F0Y2ggKGUpIHsgU3RyaW5nKGUpLmluZGV4T2YoJ1JhbmdlJykgPj0gMDsg
fSBpcyB0cnVlCiBQQVNTIE51bWJlcigtMTIzLjQ1NikudG9FeHBvbmVudGlhbCgpIGlzICItMS4y
MzQ1NmUrMiIKIFBBU1MgdHJ5IHsgTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKC0xKSB9
IGNhdGNoIChlKSB7IFN0cmluZyhlKS5pbmRleE9mKCdSYW5nZScpID49IDA7IH0gaXMgdHJ1ZQpA
QCAtMTE3LDEwICsxMTcsMTAgQEAgUEFTUyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwo
MTMpIAogUEFTUyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTQpIGlzICItMS4yMzQ1
NjAwMDAwMDAwMGUrMiIKIFBBU1MgTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE1KSBp
cyAiLTEuMjM0NTYwMDAwMDAwMDAwZSsyIgogUEFTUyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25l
bnRpYWwoMTYpIGlzICItMS4yMzQ1NjAwMDAwMDAwMDAwZSsyIgotUEFTUyBOdW1iZXIoLTEyMy40
NTYpLnRvRXhwb25lbnRpYWwoMTcpIGlzICItMS4yMzQ1NjAwMDAwMDAwMDAwMGUrMiIKLVBBU1Mg
TnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE4KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAw
MDAwZSsyIgotUEFTUyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTkpIGlzICItMS4y
MzQ1NjAwMDAwMDAwMDAwMDAwZSsyIgotUEFTUyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRp
YWwoMjApIGlzICItMS4yMzQ1NjAwMDAwMDAwMDAwMDAwMGUrMiIKK1BBU1MgTnVtYmVyKC0xMjMu
NDU2KS50b0V4cG9uZW50aWFsKDE3KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAwMDNlKzIiCitQQVNT
IE51bWJlcigtMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxOCkgaXMgIi0xLjIzNDU2MDAwMDAwMDAw
MDAzMWUrMiIKK1BBU1MgTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE5KSBpcyAiLTEu
MjM0NTYwMDAwMDAwMDAwMDMwN2UrMiIKK1BBU1MgTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50
aWFsKDIwKSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAwMDMwNzBlKzIiCiBQQVNTIHRyeSB7IE51bWJl
cigtMTIzLjQ1NikudG9FeHBvbmVudGlhbCgyMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5k
ZXhPZignUmFuZ2UnKSA+PSAwOyB9IGlzIHRydWUKIFBBU1MgTnVtYmVyKC4wMDAxMjM0NTYpLnRv
RXhwb25lbnRpYWwoKSBpcyAiMS4yMzQ1NmUtNCIKIFBBU1MgdHJ5IHsgTnVtYmVyKC4wMDAxMjM0
NTYpLnRvRXhwb25lbnRpYWwoLTEpIH0gY2F0Y2ggKGUpIHsgU3RyaW5nKGUpLmluZGV4T2YoJ1Jh
bmdlJykgPj0gMDsgfSBpcyB0cnVlCkBAIC0xNDAsMTEgKzE0MCwxMSBAQCBQQVNTIE51bWJlcigu
MDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDEyCiBQQVNTIE51bWJlciguMDAwMTIzNDU2KS50b0V4
cG9uZW50aWFsKDEzKSBpcyAiMS4yMzQ1NjAwMDAwMDAwZS00IgogUEFTUyBOdW1iZXIoLjAwMDEy
MzQ1NikudG9FeHBvbmVudGlhbCgxNCkgaXMgIjEuMjM0NTYwMDAwMDAwMDBlLTQiCiBQQVNTIE51
bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE1KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDBl
LTQiCi1QQVNTIE51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE2KSBpcyAiMS4yMzQ1
NjAwMDAwMDAwMDAwZS00IgotUEFTUyBOdW1iZXIoLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgx
NykgaXMgIjEuMjM0NTYwMDAwMDAwMDAwMDBlLTQiCi1QQVNTIE51bWJlciguMDAwMTIzNDU2KS50
b0V4cG9uZW50aWFsKDE4KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwMDBlLTQiCi1QQVNTIE51bWJl
ciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE5KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAwMDAw
ZS00IgotUEFTUyBOdW1iZXIoLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgyMCkgaXMgIjEuMjM0
NTYwMDAwMDAwMDAwMDAwMDBlLTQiCitQQVNTIE51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50
aWFsKDE2KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAxZS00IgorUEFTUyBOdW1iZXIoLjAwMDEyMzQ1
NikudG9FeHBvbmVudGlhbCgxNykgaXMgIjEuMjM0NTYwMDAwMDAwMDAwMDVlLTQiCitQQVNTIE51
bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE4KSBpcyAiMS4yMzQ1NjAwMDAwMDAwMDAw
NTJlLTQiCitQQVNTIE51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE5KSBpcyAiMS4y
MzQ1NjAwMDAwMDAwMDAwNTE5ZS00IgorUEFTUyBOdW1iZXIoLjAwMDEyMzQ1NikudG9FeHBvbmVu
dGlhbCgyMCkgaXMgIjEuMjM0NTYwMDAwMDAwMDAwMDUxODhlLTQiCiBQQVNTIHRyeSB7IE51bWJl
ciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDIxKSB9IGNhdGNoIChlKSB7IFN0cmluZyhlKS5p
bmRleE9mKCdSYW5nZScpID49IDA7IH0gaXMgdHJ1ZQogUEFTUyBOdW1iZXIoLS4wMDAxMjM0NTYp
LnRvRXhwb25lbnRpYWwoKSBpcyAiLTEuMjM0NTZlLTQiCiBQQVNTIHRyeSB7IE51bWJlcigtLjAw
MDEyMzQ1NikudG9FeHBvbmVudGlhbCgtMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhP
ZignUmFuZ2UnKSA+PSAwOyB9IGlzIHRydWUKQEAgLTE2NCwxMSArMTY0LDExIEBAIFBBU1MgTnVt
YmVyKC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDEKIFBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2
KS50b0V4cG9uZW50aWFsKDEzKSBpcyAiLTEuMjM0NTYwMDAwMDAwMGUtNCIKIFBBU1MgTnVtYmVy
KC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE0KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDBlLTQi
CiBQQVNTIE51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgxNSkgaXMgIi0xLjIzNDU2
MDAwMDAwMDAwMGUtNCIKLVBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE2
KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAwMGUtNCIKLVBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50
b0V4cG9uZW50aWFsKDE3KSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAwMDBlLTQiCi1QQVNTIE51bWJl
cigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgxOCkgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMDAw
MGUtNCIKLVBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE5KSBpcyAiLTEu
MjM0NTYwMDAwMDAwMDAwMDAwMGUtNCIKLVBBU1MgTnVtYmVyKC0uMDAwMTIzNDU2KS50b0V4cG9u
ZW50aWFsKDIwKSBpcyAiLTEuMjM0NTYwMDAwMDAwMDAwMDAwMDBlLTQiCitQQVNTIE51bWJlcigt
LjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgxNikgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMDFlLTQi
CitQQVNTIE51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgxNykgaXMgIi0xLjIzNDU2
MDAwMDAwMDAwMDA1ZS00IgorUEFTUyBOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwo
MTgpIGlzICItMS4yMzQ1NjAwMDAwMDAwMDAwNTJlLTQiCitQQVNTIE51bWJlcigtLjAwMDEyMzQ1
NikudG9FeHBvbmVudGlhbCgxOSkgaXMgIi0xLjIzNDU2MDAwMDAwMDAwMDA1MTllLTQiCitQQVNT
IE51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgyMCkgaXMgIi0xLjIzNDU2MDAwMDAw
MDAwMDA1MTg4ZS00IgogUEFTUyB0cnkgeyBOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRp
YWwoMjEpIH0gY2F0Y2ggKGUpIHsgU3RyaW5nKGUpLmluZGV4T2YoJ1JhbmdlJykgPj0gMDsgfSBp
cyB0cnVlCiBQQVNTIE51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlh
bCgpIGlzICIxLjIzNDU2Nzg5MDEyMzQ1NjhlKzIiCiBQQVNTIHRyeSB7IE51bWJlcigxMjMuNDU2
Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgtMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmco
ZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9IGlzIHRydWUKQEAgLTE4OSwxMCArMTg5LDEwIEBA
IFBBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0UKIFBBU1MgTnVtYmVyKDEy
My40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE0KSBpcyAiMS4yMzQ1Njc4OTAx
MjM0NmUrMiIKIFBBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50
aWFsKDE1KSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTdlKzIiCiBQQVNTIE51bWJlcigxMjMuNDU2Nzg5
MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxNikgaXMgIjEuMjM0NTY3ODkwMTIzNDU2OGUr
MiIKLVBBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE3
KSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MGUrMiIKLVBBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIz
NDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE4KSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MDBlKzIi
Ci1QQVNTIE51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxOSkg
aXMgIjEuMjM0NTY3ODkwMTIzNDU2NzAwMGUrMiIKLVBBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIz
NDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDIwKSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MDAwMGUr
MiIKK1BBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE3
KSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MWUrMiIKK1BBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIz
NDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE4KSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MDZlKzIi
CitQQVNTIE51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxOSkg
aXMgIjEuMjM0NTY3ODkwMTIzNDU2ODA1OWUrMiIKK1BBU1MgTnVtYmVyKDEyMy40NTY3ODkwMTIz
NDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDIwKSBpcyAiMS4yMzQ1Njc4OTAxMjM0NTY4MDU5MGUr
MiIKIFBBU1MgdHJ5IHsgTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50
aWFsKDIxKSB9IGNhdGNoIChlKSB7IFN0cmluZyhlKS5pbmRleE9mKCdSYW5nZScpID49IDA7IH0g
aXMgdHJ1ZQogUEFTUyBOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50
aWFsKCkgaXMgIi0xLjIzNDU2Nzg5MDEyMzQ1NjhlKzIiCiBQQVNTIHRyeSB7IE51bWJlcigtMTIz
LjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRvRXhwb25lbnRpYWwoLTEpIH0gY2F0Y2ggKGUpIHsgU3Ry
aW5nKGUpLmluZGV4T2YoJ1JhbmdlJykgPj0gMDsgfSBpcyB0cnVlCkBAIC0yMTMsMTAgKzIxMywx
MCBAQCBQQVNTIE51bWJlcigtMTIzLjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRvCiBQQVNTIE51bWJl
cigtMTIzLjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRvRXhwb25lbnRpYWwoMTQpIGlzICItMS4yMzQ1
Njc4OTAxMjM0NmUrMiIKIFBBU1MgTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9F
eHBvbmVudGlhbCgxNSkgaXMgIi0xLjIzNDU2Nzg5MDEyMzQ1N2UrMiIKIFBBU1MgTnVtYmVyKC0x
MjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxNikgaXMgIi0xLjIzNDU2Nzg5
MDEyMzQ1NjhlKzIiCi1QQVNTIE51bWJlcigtMTIzLjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRvRXhw
b25lbnRpYWwoMTcpIGlzICItMS4yMzQ1Njc4OTAxMjM0NTY4MGUrMiIKLVBBU1MgTnVtYmVyKC0x
MjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxOCkgaXMgIi0xLjIzNDU2Nzg5
MDEyMzQ1NjgwMGUrMiIKLVBBU1MgTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9F
eHBvbmVudGlhbCgxOSkgaXMgIi0xLjIzNDU2Nzg5MDEyMzQ1NjcwMDBlKzIiCi1QQVNTIE51bWJl
cigtMTIzLjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRvRXhwb25lbnRpYWwoMjApIGlzICItMS4yMzQ1
Njc4OTAxMjM0NTY4MDAwMGUrMiIKK1BBU1MgTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAx
MikudG9FeHBvbmVudGlhbCgxNykgaXMgIi0xLjIzNDU2Nzg5MDEyMzQ1NjgxZSsyIgorUEFTUyBO
dW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE4KSBpcyAiLTEu
MjM0NTY3ODkwMTIzNDU2ODA2ZSsyIgorUEFTUyBOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5
MDEyKS50b0V4cG9uZW50aWFsKDE5KSBpcyAiLTEuMjM0NTY3ODkwMTIzNDU2ODA1OWUrMiIKK1BB
U1MgTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgyMCkgaXMg
Ii0xLjIzNDU2Nzg5MDEyMzQ1NjgwNTkwZSsyIgogUEFTUyB0cnkgeyBOdW1iZXIoLTEyMy40NTY3
ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDIxKSB9IGNhdGNoIChlKSB7IFN0cmluZyhl
KS5pbmRleE9mKCdSYW5nZScpID49IDA7IH0gaXMgdHJ1ZQogUEFTUyBOdW1iZXIoLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDEpLnRvRXhwb25lbnRpYWwoKSBpcyAiMWUtMjIiCiBQQVNTIE51bWJlcigu
MDAwMDAwMDAwMDAwMDAwMDAwMDAxMikudG9FeHBvbmVudGlhbCgpIGlzICIxLjJlLTIxIgpAQCAt
MzQ4LDExICszNDgsMTEgQEAgUEFTUyBOdW1iZXIoMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEy
MwogUEFTUyBOdW1iZXIoMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lv
bigxNCkgaXMgIjAuMDAwMTIzNDU2Nzg5MDEyMzUiCiBQQVNTIE51bWJlcigwLjAwMDEyMzQ1Njc4
OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE1KSBpcyAiMC4wMDAxMjM0NTY3ODkwMTIz
NDYiCiBQQVNTIE51bWJlcigwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lz
aW9uKDE2KSBpcyAiMC4wMDAxMjM0NTY3ODkwMTIzNDU3IgotRkFJTCBOdW1iZXIoMC4wMDAxMjM0
NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNykgc2hvdWxkIGJlIDAuMDAwMTIz
NDU2Nzg5MDEyMzQ1NjcuIFdhcyAwLjAwMDEyMzQ1Njc4OTAxMjM0NTY4LgotRkFJTCBOdW1iZXIo
MC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOCkgc2hvdWxkIGJl
IDAuMDAwMTIzNDU2Nzg5MDEyMzQ1NjcxLiBXYXMgMC4wMDAxMjM0NTY3ODkwMTIzNDU2NjAuCi1G
QUlMIE51bWJlcigwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE5
KSBzaG91bGQgYmUgMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEzLiBXYXMgMC4wMDAxMjM0NTY3ODkw
MTIzNDU2ODAwLgotRkFJTCBOdW1iZXIoMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50
b1ByZWNpc2lvbigyMCkgc2hvdWxkIGJlIDAuMDAwMTIzNDU2Nzg5MDEyMzQ1NjcxMzAuIFdhcyAw
LjAwMDEyMzQ1Njc4OTAxMjM0NTY1MDAwLgotRkFJTCBOdW1iZXIoMC4wMDAxMjM0NTY3ODkwMTIz
NDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigyMSkgc2hvdWxkIGJlIDAuMDAwMTIzNDU2Nzg5MDEy
MzQ1NjcxMjk3LiBXYXMgMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzAwMDAuCitQQVNTIE51bWJlcigw
LjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE3KSBpcyAiMC4wMDAx
MjM0NTY3ODkwMTIzNDU2NyIKK1BBU1MgTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAx
MjM0NSkudG9QcmVjaXNpb24oMTgpIGlzICIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MSIKK1BBU1Mg
TnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTkpIGlz
ICIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTMiCitQQVNTIE51bWJlcigwLjAwMDEyMzQ1Njc4OTAx
MjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDIwKSBpcyAiMC4wMDAxMjM0NTY3ODkwMTIzNDU2
NzEzMCIKK1BBU1MgTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVj
aXNpb24oMjEpIGlzICIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTI5OCIKIFBBU1MgTnVtYmVyKDEy
MzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigpIGlzICIxMjM0NS42Nzg5MDEy
MzQ1NjciCiBQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNp
b24oMSkgaXMgIjFlKzQiCiBQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSku
dG9QcmVjaXNpb24oMikgaXMgIjEuMmUrNCIKQEAgLTM3MCwxMSArMzcwLDExIEBAIFBBU1MgTnVt
YmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS4KIFBBU1MgTnVtYmVyKDEyMzQ1LjY3ODkw
MTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNCkgaXMgIjEyMzQ1LjY3ODkwMTIzNSIKIFBB
U1MgTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNSkgaXMg
IjEyMzQ1LjY3ODkwMTIzNDYiCiBQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0
NSkudG9QcmVjaXNpb24oMTYpIGlzICIxMjM0NS42Nzg5MDEyMzQ1NyIKLVBBU1MgTnVtYmVyKDEy
MzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNykgaXMgIjEyMzQ1LjY3ODkw
MTIzNDU2OCIKLVBBU1MgTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNp
c2lvbigxOCkgaXMgIjEyMzQ1LjY3ODkwMTIzNDU2NjAiCi1QQVNTIE51bWJlcigxMjM0NS42Nzg5
MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTkpIGlzICIxMjM0NS42Nzg5MDEyMzQ1Njgw
MCIKLVBBU1MgTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigy
MCkgaXMgIjEyMzQ1LjY3ODkwMTIzNDU2NzAwMCIKLVBBU1MgTnVtYmVyKDEyMzQ1LjY3ODkwMTIz
NDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigyMSkgaXMgIjEyMzQ1LjY3ODkwMTIzNDU2NzAwMDAi
CitQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTcp
IGlzICIxMjM0NS42Nzg5MDEyMzQ1NjciCitQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4
OTAxMjM0NSkudG9QcmVjaXNpb24oMTgpIGlzICIxMjM0NS42Nzg5MDEyMzQ1NjcxIgorUEFTUyBO
dW1iZXIoMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE5KSBpcyAiMTIz
NDUuNjc4OTAxMjM0NTY3MDkiCitQQVNTIE51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0
NSkudG9QcmVjaXNpb24oMjApIGlzICIxMjM0NS42Nzg5MDEyMzQ1NjcwOTMiCitQQVNTIE51bWJl
cigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIGlzICIxMjM0NS42
Nzg5MDEyMzQ1NjcwOTI2IgogUEFTUyBOdW1iZXIoLS4wMDAwMDAwMDEyMzQ1KS50b1ByZWNpc2lv
bigyKSBpcyAiLTEuMmUtOSIKIFBBU1MgTnVtYmVyKC0uMDAwMDAwMDEyMzQ1KS50b1ByZWNpc2lv
bigyKSBpcyAiLTEuMmUtOCIKIFBBU1MgTnVtYmVyKC0uMDAwMDAwMTIzNDUpLnRvUHJlY2lzaW9u
KDIpIGlzICItMS4yZS03IgpAQCAtNDA4LDExICs0MDgsMTEgQEAgUEFTUyBOdW1iZXIoLTAuMDAw
MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMgogUEFTUyBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1
Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTQpIGlzICItMC4wMDAxMjM0NTY3ODkwMTIzNSIKIFBB
U1MgTnVtYmVyKC0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE1
KSBpcyAiLTAuMDAwMTIzNDU2Nzg5MDEyMzQ2IgogUEFTUyBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5
MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTYpIGlzICItMC4wMDAxMjM0NTY3ODkwMTIz
NDU3IgotRkFJTCBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVj
aXNpb24oMTcpIHNob3VsZCBiZSAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2Ny4gV2FzIC0wLjAwMDEy
MzQ1Njc4OTAxMjM0NTY4LgotRkFJTCBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAx
MjM0NSkudG9QcmVjaXNpb24oMTgpIHNob3VsZCBiZSAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEu
IFdhcyAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2NjAuCi1GQUlMIE51bWJlcigtMC4wMDAxMjM0NTY3
ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOSkgc2hvdWxkIGJlIC0wLjAwMDEyMzQ1
Njc4OTAxMjM0NTY3MTMuIFdhcyAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2ODAwLgotRkFJTCBOdW1i
ZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjApIHNob3Vs
ZCBiZSAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEzMC4gV2FzIC0wLjAwMDEyMzQ1Njc4OTAxMjM0
NTY1MDAwLgotRkFJTCBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9Q
cmVjaXNpb24oMjEpIHNob3VsZCBiZSAtMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEyOTcuIFdhcyAt
MC4wMDAxMjM0NTY3ODkwMTIzNDU2NzAwMDAuCitQQVNTIE51bWJlcigtMC4wMDAxMjM0NTY3ODkw
MTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNykgaXMgIi0wLjAwMDEyMzQ1Njc4OTAxMjM0
NTY3IgorUEFTUyBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVj
aXNpb24oMTgpIGlzICItMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEiCitQQVNTIE51bWJlcigtMC4w
MDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOSkgaXMgIi0wLjAwMDEy
MzQ1Njc4OTAxMjM0NTY3MTMiCitQQVNTIE51bWJlcigtMC4wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5
MDEyMzQ1KS50b1ByZWNpc2lvbigyMCkgaXMgIi0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTMwIgor
UEFTUyBOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24o
MjEpIGlzICItMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEyOTgiCiBQQVNTIE51bWJlcigtMTIzNDUu
Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKCkgaXMgIi0xMjM0NS42Nzg5MDEyMzQ1
NjciCiBQQVNTIE51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9u
KDEpIGlzICItMWUrNCIKIFBBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSku
dG9QcmVjaXNpb24oMikgaXMgIi0xLjJlKzQiCkBAIC00MzAsMTEgKzQzMCwxMSBAQCBQQVNTIE51
bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpCiBQQVNTIE51bWJlcigtMTIzNDUuNjc4
OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE0KSBpcyAiLTEyMzQ1LjY3ODkwMTIzNSIK
IFBBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTUp
IGlzICItMTIzNDUuNjc4OTAxMjM0NiIKIFBBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4
OTAxMjM0NSkudG9QcmVjaXNpb24oMTYpIGlzICItMTIzNDUuNjc4OTAxMjM0NTciCi1QQVNTIE51
bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE3KSBpcyAiLTEy
MzQ1LjY3ODkwMTIzNDU2OCIKLVBBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0
NSkudG9QcmVjaXNpb24oMTgpIGlzICItMTIzNDUuNjc4OTAxMjM0NTY2MCIKLVBBU1MgTnVtYmVy
KC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTkpIGlzICItMTIzNDUu
Njc4OTAxMjM0NTY4MDAiCi1QQVNTIE51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUp
LnRvUHJlY2lzaW9uKDIwKSBpcyAiLTEyMzQ1LjY3ODkwMTIzNDU2NzAwMCIKLVBBU1MgTnVtYmVy
KC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIGlzICItMTIzNDUu
Njc4OTAxMjM0NTY3MDAwMCIKK1BBU1MgTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0
NSkudG9QcmVjaXNpb24oMTcpIGlzICItMTIzNDUuNjc4OTAxMjM0NTY3IgorUEFTUyBOdW1iZXIo
LTEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOCkgaXMgIi0xMjM0NS42
Nzg5MDEyMzQ1NjcxIgorUEFTUyBOdW1iZXIoLTEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50
b1ByZWNpc2lvbigxOSkgaXMgIi0xMjM0NS42Nzg5MDEyMzQ1NjcwOSIKK1BBU1MgTnVtYmVyKC0x
MjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjApIGlzICItMTIzNDUuNjc4
OTAxMjM0NTY3MDkzIgorUEFTUyBOdW1iZXIoLTEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50
b1ByZWNpc2lvbigyMSkgaXMgIi0xMjM0NS42Nzg5MDEyMzQ1NjcwOTI2IgogUEFTUyBOdW1iZXIo
MCkudG9QcmVjaXNpb24oKSBpcyAiMCIKIFBBU1MgTnVtYmVyKDApLnRvUHJlY2lzaW9uKDEpIGlz
ICIwIgogUEFTUyBOdW1iZXIoMCkudG9QcmVjaXNpb24oMikgaXMgIjAuMCIKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvanMva2RlL3NjcmlwdC10ZXN0cy9OdW1iZXIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9qcy9rZGUvc2NyaXB0LXRlc3RzL051bWJlci5qcwkocmV2aXNpb24g
NjYxNjkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2tkZS9zY3JpcHQtdGVzdHMvTnVtYmVyLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsMTAgKzEwOCwxMCBAQCBzaG91bGRCZSgiTnVtYmVyKDEy
My40NTYpLnRvRXhwb25lbnRpYWwoCiBzaG91bGRCZSgiTnVtYmVyKDEyMy40NTYpLnRvRXhwb25l
bnRpYWwoMTQpIiwiXCIxLjIzNDU2MDAwMDAwMDAwZSsyXCIiKTsKIHNob3VsZEJlKCJOdW1iZXIo
MTIzLjQ1NikudG9FeHBvbmVudGlhbCgxNSkiLCJcIjEuMjM0NTYwMDAwMDAwMDAwZSsyXCIiKTsK
IHNob3VsZEJlKCJOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxNikiLCJcIjEuMjM0NTYw
MDAwMDAwMDAwMGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMy40NTYpLnRvRXhwb25lbnRp
YWwoMTcpIiwiXCIxLjIzNDU2MDAwMDAwMDAwMDAwZSsyXCIiKTsKLXNob3VsZEJlKCJOdW1iZXIo
MTIzLjQ1NikudG9FeHBvbmVudGlhbCgxOCkiLCJcIjEuMjM0NTYwMDAwMDAwMDAwMDAwZSsyXCIi
KTsKLXNob3VsZEJlKCJOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxOSkiLCJcIjEuMjM0
NTYwMDAwMDAwMDAwMDAwMGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMy40NTYpLnRvRXhw
b25lbnRpYWwoMjApIiwiXCIxLjIzNDU2MDAwMDAwMDAwMDAwMDAwZSsyXCIiKTsKK3Nob3VsZEJl
KCJOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgxNykiLCJcIjEuMjM0NTYwMDAwMDAwMDAw
MDNlKzJcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjMuNDU2KS50b0V4cG9uZW50aWFsKDE4KSIs
IlwiMS4yMzQ1NjAwMDAwMDAwMDAwMzFlKzJcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjMuNDU2
KS50b0V4cG9uZW50aWFsKDE5KSIsIlwiMS4yMzQ1NjAwMDAwMDAwMDAwMzA3ZSsyXCIiKTsKK3No
b3VsZEJlKCJOdW1iZXIoMTIzLjQ1NikudG9FeHBvbmVudGlhbCgyMCkiLCJcIjEuMjM0NTYwMDAw
MDAwMDAwMDMwNzBlKzJcIiIpOwogc2hvdWxkQmVUcnVlKCJ0cnkgeyBOdW1iZXIoMTIzLjQ1Niku
dG9FeHBvbmVudGlhbCgyMSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhPZignUmFuZ2Un
KSA+PSAwOyB9Iik7CiBzaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKCki
LCJcIi0xLjIzNDU2ZSsyXCIiKTsKIHNob3VsZEJlVHJ1ZSgidHJ5IHsgTnVtYmVyKC0xMjMuNDU2
KS50b0V4cG9uZW50aWFsKC0xKSB9IGNhdGNoIChlKSB7IFN0cmluZyhlKS5pbmRleE9mKCdSYW5n
ZScpID49IDA7IH0iKTsKQEAgLTEzMiwxMCArMTMyLDEwIEBAIHNob3VsZEJlKCJOdW1iZXIoLTEy
My40NTYpLnRvRXhwb25lbnRpYWwKIHNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25l
bnRpYWwoMTQpIiwiXCItMS4yMzQ1NjAwMDAwMDAwMGUrMlwiIik7CiBzaG91bGRCZSgiTnVtYmVy
KC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE1KSIsIlwiLTEuMjM0NTYwMDAwMDAwMDAwZSsyXCIi
KTsKIHNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTYpIiwiXCItMS4y
MzQ1NjAwMDAwMDAwMDAwZSsyXCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTYpLnRvRXhw
b25lbnRpYWwoMTcpIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAwMGUrMlwiIik7Ci1zaG91bGRCZSgi
TnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE4KSIsIlwiLTEuMjM0NTYwMDAwMDAwMDAw
MDAwZSsyXCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMTkp
IiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAwMDAwZSsyXCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoLTEy
My40NTYpLnRvRXhwb25lbnRpYWwoMjApIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAwMDAwMGUrMlwi
Iik7CitzaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE3KSIsIlwiLTEu
MjM0NTYwMDAwMDAwMDAwMDNlKzJcIiIpOworc2hvdWxkQmUoIk51bWJlcigtMTIzLjQ1NikudG9F
eHBvbmVudGlhbCgxOCkiLCJcIi0xLjIzNDU2MDAwMDAwMDAwMDAzMWUrMlwiIik7CitzaG91bGRC
ZSgiTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFsKDE5KSIsIlwiLTEuMjM0NTYwMDAwMDAw
MDAwMDMwN2UrMlwiIik7CitzaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2KS50b0V4cG9uZW50aWFs
KDIwKSIsIlwiLTEuMjM0NTYwMDAwMDAwMDAwMDMwNzBlKzJcIiIpOwogc2hvdWxkQmVUcnVlKCJ0
cnkgeyBOdW1iZXIoLTEyMy40NTYpLnRvRXhwb25lbnRpYWwoMjEpIH0gY2F0Y2ggKGUpIHsgU3Ry
aW5nKGUpLmluZGV4T2YoJ1JhbmdlJykgPj0gMDsgfSIpOwogc2hvdWxkQmUoIk51bWJlciguMDAw
MTIzNDU2KS50b0V4cG9uZW50aWFsKCkiLCJcIjEuMjM0NTZlLTRcIiIpOwogc2hvdWxkQmVUcnVl
KCJ0cnkgeyBOdW1iZXIoLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgtMSkgfSBjYXRjaCAoZSkg
eyBTdHJpbmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9Iik7CkBAIC0xNTUsMTEgKzE1NSwx
MSBAQCBzaG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpCiBzaG91bGRCZSgi
TnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTMpIiwiXCIxLjIzNDU2MDAwMDAwMDBl
LTRcIiIpOwogc2hvdWxkQmUoIk51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFsKDE0KSIs
IlwiMS4yMzQ1NjAwMDAwMDAwMGUtNFwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0NTYp
LnRvRXhwb25lbnRpYWwoMTUpIiwiXCIxLjIzNDU2MDAwMDAwMDAwMGUtNFwiIik7Ci1zaG91bGRC
ZSgiTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTYpIiwiXCIxLjIzNDU2MDAwMDAw
MDAwMDBlLTRcIiIpOwotc2hvdWxkQmUoIk51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFs
KDE3KSIsIlwiMS4yMzQ1NjAwMDAwMDAwMDAwMGUtNFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKC4w
MDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTgpIiwiXCIxLjIzNDU2MDAwMDAwMDAwMDAwMGUtNFwi
Iik7Ci1zaG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTkpIiwiXCIx
LjIzNDU2MDAwMDAwMDAwMDAwMDBlLTRcIiIpOwotc2hvdWxkQmUoIk51bWJlciguMDAwMTIzNDU2
KS50b0V4cG9uZW50aWFsKDIwKSIsIlwiMS4yMzQ1NjAwMDAwMDAwMDAwMDAwMGUtNFwiIik7Citz
aG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTYpIiwiXCIxLjIzNDU2
MDAwMDAwMDAwMDFlLTRcIiIpOworc2hvdWxkQmUoIk51bWJlciguMDAwMTIzNDU2KS50b0V4cG9u
ZW50aWFsKDE3KSIsIlwiMS4yMzQ1NjAwMDAwMDAwMDAwNWUtNFwiIik7CitzaG91bGRCZSgiTnVt
YmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTgpIiwiXCIxLjIzNDU2MDAwMDAwMDAwMDA1
MmUtNFwiIik7CitzaG91bGRCZSgiTnVtYmVyKC4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTkp
IiwiXCIxLjIzNDU2MDAwMDAwMDAwMDA1MTllLTRcIiIpOworc2hvdWxkQmUoIk51bWJlciguMDAw
MTIzNDU2KS50b0V4cG9uZW50aWFsKDIwKSIsIlwiMS4yMzQ1NjAwMDAwMDAwMDAwNTE4OGUtNFwi
Iik7CiBzaG91bGRCZVRydWUoInRyeSB7IE51bWJlciguMDAwMTIzNDU2KS50b0V4cG9uZW50aWFs
KDIxKSB9IGNhdGNoIChlKSB7IFN0cmluZyhlKS5pbmRleE9mKCdSYW5nZScpID49IDA7IH0iKTsK
IHNob3VsZEJlKCJOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoKSIsIlwiLTEuMjM0
NTZlLTRcIiIpOwogc2hvdWxkQmVUcnVlKCJ0cnkgeyBOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhw
b25lbnRpYWwoLTEpIH0gY2F0Y2ggKGUpIHsgU3RyaW5nKGUpLmluZGV4T2YoJ1JhbmdlJykgPj0g
MDsgfSIpOwpAQCAtMTc5LDExICsxNzksMTEgQEAgc2hvdWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1
NikudG9FeHBvbmVudAogc2hvdWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlh
bCgxMykiLCJcIi0xLjIzNDU2MDAwMDAwMDBlLTRcIiIpOwogc2hvdWxkQmUoIk51bWJlcigtLjAw
MDEyMzQ1NikudG9FeHBvbmVudGlhbCgxNCkiLCJcIi0xLjIzNDU2MDAwMDAwMDAwZS00XCIiKTsK
IHNob3VsZEJlKCJOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTUpIiwiXCItMS4y
MzQ1NjAwMDAwMDAwMDBlLTRcIiIpOwotc2hvdWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1NikudG9F
eHBvbmVudGlhbCgxNikiLCJcIi0xLjIzNDU2MDAwMDAwMDAwMDBlLTRcIiIpOwotc2hvdWxkQmUo
Ik51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgxNykiLCJcIi0xLjIzNDU2MDAwMDAw
MDAwMDAwZS00XCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRp
YWwoMTgpIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAwMDBlLTRcIiIpOwotc2hvdWxkQmUoIk51bWJl
cigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgxOSkiLCJcIi0xLjIzNDU2MDAwMDAwMDAwMDAw
MDBlLTRcIiIpOwotc2hvdWxkQmUoIk51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgy
MCkiLCJcIi0xLjIzNDU2MDAwMDAwMDAwMDAwMDAwZS00XCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIo
LS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTYpIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAxZS00
XCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTcpIiwi
XCItMS4yMzQ1NjAwMDAwMDAwMDAwNWUtNFwiIik7CitzaG91bGRCZSgiTnVtYmVyKC0uMDAwMTIz
NDU2KS50b0V4cG9uZW50aWFsKDE4KSIsIlwiLTEuMjM0NTYwMDAwMDAwMDAwMDUyZS00XCIiKTsK
K3Nob3VsZEJlKCJOdW1iZXIoLS4wMDAxMjM0NTYpLnRvRXhwb25lbnRpYWwoMTkpIiwiXCItMS4y
MzQ1NjAwMDAwMDAwMDAwNTE5ZS00XCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLS4wMDAxMjM0NTYp
LnRvRXhwb25lbnRpYWwoMjApIiwiXCItMS4yMzQ1NjAwMDAwMDAwMDAwNTE4OGUtNFwiIik7CiBz
aG91bGRCZVRydWUoInRyeSB7IE51bWJlcigtLjAwMDEyMzQ1NikudG9FeHBvbmVudGlhbCgyMSkg
fSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9Iik7CiBzaG91
bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKCkiLCJc
IjEuMjM0NTY3ODkwMTIzNDU2OGUrMlwiIik7CiBzaG91bGRCZVRydWUoInRyeSB7IE51bWJlcigx
MjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgtMSkgfSBjYXRjaCAoZSkgeyBT
dHJpbmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9Iik7CkBAIC0yMDQsMTAgKzIwNCwxMCBA
QCBzaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyCiBzaG91bGRCZSgiTnVt
YmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE0KSIsIlwiMS4yMzQ1
Njc4OTAxMjM0NmUrMlwiIik7CiBzaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5
MDEyKS50b0V4cG9uZW50aWFsKDE1KSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTdlKzJcIiIpOwogc2hv
dWxkQmUoIk51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxNiki
LCJcIjEuMjM0NTY3ODkwMTIzNDU2OGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3
ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE3KSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTY4
MGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4
cG9uZW50aWFsKDE4KSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTY4MDBlKzJcIiIpOwotc2hvdWxkQmUo
Ik51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxOSkiLCJcIjEu
MjM0NTY3ODkwMTIzNDU2NzAwMGUrMlwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkw
MTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDIwKSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTY4MDAw
MGUrMlwiIik7CitzaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4
cG9uZW50aWFsKDE3KSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTY4MWUrMlwiIik7CitzaG91bGRCZSgi
TnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE4KSIsIlwiMS4y
MzQ1Njc4OTAxMjM0NTY4MDZlKzJcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjMuNDU2Nzg5MDEy
MzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxOSkiLCJcIjEuMjM0NTY3ODkwMTIzNDU2ODA1OWUr
MlwiIik7CitzaG91bGRCZSgiTnVtYmVyKDEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9u
ZW50aWFsKDIwKSIsIlwiMS4yMzQ1Njc4OTAxMjM0NTY4MDU5MGUrMlwiIik7CiBzaG91bGRCZVRy
dWUoInRyeSB7IE51bWJlcigxMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgy
MSkgfSBjYXRjaCAoZSkgeyBTdHJpbmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9Iik7CiBz
aG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgp
IiwiXCItMS4yMzQ1Njc4OTAxMjM0NTY4ZSsyXCIiKTsKIHNob3VsZEJlVHJ1ZSgidHJ5IHsgTnVt
YmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgtMSkgfSBjYXRjaCAo
ZSkgeyBTdHJpbmcoZSkuaW5kZXhPZignUmFuZ2UnKSA+PSAwOyB9Iik7CkBAIC0yMjgsMTAgKzIy
OCwxMCBAQCBzaG91bGRCZSgiTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxCiBzaG91bGRC
ZSgiTnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxNCkiLCJc
Ii0xLjIzNDU2Nzg5MDEyMzQ2ZSsyXCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTY3ODkw
MTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE1KSIsIlwiLTEuMjM0NTY3ODkwMTIzNDU3ZSsy
XCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9u
ZW50aWFsKDE2KSIsIlwiLTEuMjM0NTY3ODkwMTIzNDU2OGUrMlwiIik7Ci1zaG91bGRCZSgiTnVt
YmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgxNykiLCJcIi0xLjIz
NDU2Nzg5MDEyMzQ1NjgwZSsyXCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTY3ODkwMTIz
NDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE4KSIsIlwiLTEuMjM0NTY3ODkwMTIzNDU2ODAwZSsy
XCIiKTsKLXNob3VsZEJlKCJOdW1iZXIoLTEyMy40NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9u
ZW50aWFsKDE5KSIsIlwiLTEuMjM0NTY3ODkwMTIzNDU2NzAwMGUrMlwiIik7Ci1zaG91bGRCZSgi
TnVtYmVyKC0xMjMuNDU2Nzg5MDEyMzQ1Njc4OTAxMikudG9FeHBvbmVudGlhbCgyMCkiLCJcIi0x
LjIzNDU2Nzg5MDEyMzQ1NjgwMDAwZSsyXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLTEyMy40NTY3
ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDE3KSIsIlwiLTEuMjM0NTY3ODkwMTIzNDU2
ODFlKzJcIiIpOworc2hvdWxkQmUoIk51bWJlcigtMTIzLjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRv
RXhwb25lbnRpYWwoMTgpIiwiXCItMS4yMzQ1Njc4OTAxMjM0NTY4MDZlKzJcIiIpOworc2hvdWxk
QmUoIk51bWJlcigtMTIzLjQ1Njc4OTAxMjM0NTY3ODkwMTIpLnRvRXhwb25lbnRpYWwoMTkpIiwi
XCItMS4yMzQ1Njc4OTAxMjM0NTY4MDU5ZSsyXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLTEyMy40
NTY3ODkwMTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDIwKSIsIlwiLTEuMjM0NTY3ODkwMTIz
NDU2ODA1OTBlKzJcIiIpOwogc2hvdWxkQmVUcnVlKCJ0cnkgeyBOdW1iZXIoLTEyMy40NTY3ODkw
MTIzNDU2Nzg5MDEyKS50b0V4cG9uZW50aWFsKDIxKSB9IGNhdGNoIChlKSB7IFN0cmluZyhlKS5p
bmRleE9mKCdSYW5nZScpID49IDA7IH0iKTsKIHNob3VsZEJlKCJOdW1iZXIoLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEpLnRvRXhwb25lbnRpYWwoKSIsIlwiMWUtMjJcIiIpOwogc2hvdWxkQmUoIk51
bWJlciguMDAwMDAwMDAwMDAwMDAwMDAwMDAxMikudG9FeHBvbmVudGlhbCgpIiwiXCIxLjJlLTIx
XCIiKTsKQEAgLTM2OCw3ICszNjgsNyBAQCBzaG91bGRCZSgiTnVtYmVyKDAuMDAwMTIzNDU2Nzg5
MDEyMzQ1Njc4CiBzaG91bGRCZSgiTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0
NSkudG9QcmVjaXNpb24oMTgpIiwiXCIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MVwiIik7CiBzaG91
bGRCZSgiTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24o
MTkpIiwiXCIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTNcIiIpOwogc2hvdWxkQmUoIk51bWJlcigw
LjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDIwKSIsIlwiMC4wMDAx
MjM0NTY3ODkwMTIzNDU2NzEzMFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDAuMDAwMTIzNDU2Nzg5
MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIiwiXCIwLjAwMDEyMzQ1Njc4OTAxMjM0
NTY3MTI5N1wiIik7CitzaG91bGRCZSgiTnVtYmVyKDAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAx
MjM0NSkudG9QcmVjaXNpb24oMjEpIiwiXCIwLjAwMDEyMzQ1Njc4OTAxMjM0NTY3MTI5OFwiIik7
CiBzaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lv
bigpIiwiXCIxMjM0NS42Nzg5MDEyMzQ1NjdcIiIpOwogc2hvdWxkQmUoIk51bWJlcigxMjM0NS42
Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMSkiLCJcIjFlKzRcIiIpOwogc2hvdWxk
QmUoIk51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMikiLCJc
IjEuMmUrNFwiIik7CkBAIC0zODYsMTEgKzM4NiwxMSBAQCBzaG91bGRCZSgiTnVtYmVyKDEyMzQ1
LjY3ODkwMTIzNDU2Nzg5MDEyCiBzaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5
MDEyMzQ1KS50b1ByZWNpc2lvbigxNCkiLCJcIjEyMzQ1LjY3ODkwMTIzNVwiIik7CiBzaG91bGRC
ZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxNSkiLCJc
IjEyMzQ1LjY3ODkwMTIzNDZcIiIpOwogc2hvdWxkQmUoIk51bWJlcigxMjM0NS42Nzg5MDEyMzQ1
Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTYpIiwiXCIxMjM0NS42Nzg5MDEyMzQ1N1wiIik7Ci1z
aG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigx
NykiLCJcIjEyMzQ1LjY3ODkwMTIzNDU2OFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3
ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOCkiLCJcIjEyMzQ1LjY3ODkwMTIzNDU2
NjBcIiIpOwotc2hvdWxkQmUoIk51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9Q
cmVjaXNpb24oMTkpIiwiXCIxMjM0NS42Nzg5MDEyMzQ1NjgwMFwiIik7Ci1zaG91bGRCZSgiTnVt
YmVyKDEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigyMCkiLCJcIjEyMzQ1
LjY3ODkwMTIzNDU2NzAwMFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKDEyMzQ1LjY3ODkwMTIzNDU2
Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigyMSkiLCJcIjEyMzQ1LjY3ODkwMTIzNDU2NzAwMDBcIiIp
Oworc2hvdWxkQmUoIk51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNp
b24oMTcpIiwiXCIxMjM0NS42Nzg5MDEyMzQ1NjdcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjM0
NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTgpIiwiXCIxMjM0NS42Nzg5MDEy
MzQ1NjcxXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUp
LnRvUHJlY2lzaW9uKDE5KSIsIlwiMTIzNDUuNjc4OTAxMjM0NTY3MDlcIiIpOworc2hvdWxkQmUo
Ik51bWJlcigxMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjApIiwiXCIx
MjM0NS42Nzg5MDEyMzQ1NjcwOTNcIiIpOworc2hvdWxkQmUoIk51bWJlcigxMjM0NS42Nzg5MDEy
MzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIiwiXCIxMjM0NS42Nzg5MDEyMzQ1NjcwOTI2
XCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoLS4wMDAwMDAwMDEyMzQ1KS50b1ByZWNpc2lvbigyKSIs
IlwiLTEuMmUtOVwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC0uMDAwMDAwMDEyMzQ1KS50b1ByZWNp
c2lvbigyKSIsIlwiLTEuMmUtOFwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC0uMDAwMDAwMTIzNDUp
LnRvUHJlY2lzaW9uKDIpIiwiXCItMS4yZS03XCIiKTsKQEAgLTQyOCw3ICs0MjgsNyBAQCBzaG91
bGRCZSgiTnVtYmVyKC0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY3CiBzaG91bGRCZSgiTnVtYmVyKC0w
LjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE4KSIsIlwiLTAuMDAw
MTIzNDU2Nzg5MDEyMzQ1NjcxXCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5
MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTkpIiwiXCItMC4wMDAxMjM0NTY3ODkwMTIz
NDU2NzEzXCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAx
MjM0NSkudG9QcmVjaXNpb24oMjApIiwiXCItMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEzMFwiIik7
Ci1zaG91bGRCZSgiTnVtYmVyKC0wLjAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJl
Y2lzaW9uKDIxKSIsIlwiLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1NjcxMjk3XCIiKTsKK3Nob3VsZEJl
KCJOdW1iZXIoLTAuMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEp
IiwiXCItMC4wMDAxMjM0NTY3ODkwMTIzNDU2NzEyOThcIiIpOwogc2hvdWxkQmUoIk51bWJlcigt
MTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKCkiLCJcIi0xMjM0NS42Nzg5
MDEyMzQ1NjdcIiIpOwogc2hvdWxkQmUoIk51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIz
NDUpLnRvUHJlY2lzaW9uKDEpIiwiXCItMWUrNFwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC0xMjM0
NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMikiLCJcIi0xLjJlKzRcIiIpOwpA
QCAtNDQ2LDExICs0NDYsMTEgQEAgc2hvdWxkQmUoIk51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3
ODkwMQogc2hvdWxkQmUoIk51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJl
Y2lzaW9uKDE0KSIsIlwiLTEyMzQ1LjY3ODkwMTIzNVwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC0x
MjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTUpIiwiXCItMTIzNDUuNjc4
OTAxMjM0NlwiIik7CiBzaG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0
NSkudG9QcmVjaXNpb24oMTYpIiwiXCItMTIzNDUuNjc4OTAxMjM0NTdcIiIpOwotc2hvdWxkQmUo
Ik51bWJlcigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDE3KSIsIlwi
LTEyMzQ1LjY3ODkwMTIzNDU2OFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEy
MzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMTgpIiwiXCItMTIzNDUuNjc4OTAxMjM0NTY2MFwi
Iik7Ci1zaG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVj
aXNpb24oMTkpIiwiXCItMTIzNDUuNjc4OTAxMjM0NTY4MDBcIiIpOwotc2hvdWxkQmUoIk51bWJl
cigtMTIzNDUuNjc4OTAxMjM0NTY3ODkwMTIzNDUpLnRvUHJlY2lzaW9uKDIwKSIsIlwiLTEyMzQ1
LjY3ODkwMTIzNDU2NzAwMFwiIik7Ci1zaG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1
Njc4OTAxMjM0NSkudG9QcmVjaXNpb24oMjEpIiwiXCItMTIzNDUuNjc4OTAxMjM0NTY3MDAwMFwi
Iik7CitzaG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVj
aXNpb24oMTcpIiwiXCItMTIzNDUuNjc4OTAxMjM0NTY3XCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIo
LTEyMzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigxOCkiLCJcIi0xMjM0NS42
Nzg5MDEyMzQ1NjcxXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLTEyMzQ1LjY3ODkwMTIzNDU2Nzg5
MDEyMzQ1KS50b1ByZWNpc2lvbigxOSkiLCJcIi0xMjM0NS42Nzg5MDEyMzQ1NjcwOVwiIik7Citz
aG91bGRCZSgiTnVtYmVyKC0xMjM0NS42Nzg5MDEyMzQ1Njc4OTAxMjM0NSkudG9QcmVjaXNpb24o
MjApIiwiXCItMTIzNDUuNjc4OTAxMjM0NTY3MDkzXCIiKTsKK3Nob3VsZEJlKCJOdW1iZXIoLTEy
MzQ1LjY3ODkwMTIzNDU2Nzg5MDEyMzQ1KS50b1ByZWNpc2lvbigyMSkiLCJcIi0xMjM0NS42Nzg5
MDEyMzQ1NjcwOTI2XCIiKTsKIHNob3VsZEJlKCJOdW1iZXIoMCkudG9QcmVjaXNpb24oKSIsIlwi
MFwiIik7CiBzaG91bGRCZSgiTnVtYmVyKDApLnRvUHJlY2lzaW9uKDEpIiwiXCIwXCIiKTsKIHNo
b3VsZEJlKCJOdW1iZXIoMCkudG9QcmVjaXNpb24oMikiLCJcIjAuMFwiIik7Cg==
</data>
<flag name="review"
          id="54523"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>