<?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>238153</bug_id>
          
          <creation_ts>2022-03-21 14:02:50 -0700</creation_ts>
          <short_desc>Implement CSSNumericValue.mul, div, add, sub, max, and min</short_desc>
          <delta_ts>2022-03-21 20:24:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1853333</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-03-21 14:02:50 -0700</bug_when>
    <thetext>Implement CSSNumericValue.mul, div, add, sub, max, and min</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853334</commentid>
    <comment_count>1</comment_count>
      <attachid>455275</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-03-21 14:06:55 -0700</bug_when>
    <thetext>Created attachment 455275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853354</commentid>
    <comment_count>2</comment_count>
      <attachid>455278</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-03-21 14:57:39 -0700</bug_when>
    <thetext>Created attachment 455278
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853360</commentid>
    <comment_count>3</comment_count>
      <attachid>455279</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-03-21 15:16:15 -0700</bug_when>
    <thetext>Created attachment 455279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853436</commentid>
    <comment_count>4</comment_count>
      <attachid>455279</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-03-21 17:42:34 -0700</bug_when>
    <thetext>Comment on attachment 455279
Patch

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

&gt; Source/WebCore/css/typedom/CSSNumericValue.cpp:56
&gt; +        return static_cast&lt;CSSMathNegate&amp;&gt;(value.get()).value();

Shouldn&apos;t we be using is&lt;&gt; and downcast&lt;&gt; here and everywhere?

&gt; Source/WebCore/css/typedom/CSSNumericValue.cpp:72
&gt; +        if (thisValue.unit() == &quot;number&quot;) {

Maybe units should be AtomStrings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853458</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-03-21 18:15:38 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #4)
&gt; Comment on attachment 455279 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=455279&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/typedom/CSSNumericValue.cpp:56
&gt; &gt; +        return static_cast&lt;CSSMathNegate&amp;&gt;(value.get()).value();
&gt; 
&gt; Shouldn&apos;t we be using is&lt;&gt; and downcast&lt;&gt; here and everywhere?

Yes.  That makes the code much nicer.

&gt; &gt; Source/WebCore/css/typedom/CSSNumericValue.cpp:72
&gt; &gt; +        if (thisValue.unit() == &quot;number&quot;) {
&gt; 
&gt; Maybe units should be AtomStrings.

Or just CSSUnitType.  I added a fixme comment because that&apos;s more involved and less related to the other changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853479</commentid>
    <comment_count>6</comment_count>
      <attachid>455316</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-03-21 19:15:54 -0700</bug_when>
    <thetext>Created attachment 455316
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853492</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-21 20:23:54 -0700</bug_when>
    <thetext>Committed r291597 (248690@main): &lt;https://commits.webkit.org/248690@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455316.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853493</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-21 20:24:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/90609949&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455275</attachid>
            <date>2022-03-21 14:06:55 -0700</date>
            <delta_ts>2022-03-21 14:57:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238153-20220321140654.patch</filename>
            <type>text/plain</type>
            <size>43689</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgwOTYzNDY1YjQzZGFi
MWFlNjkyYjg2YWRmODMzYjliN2FhMmZhZi4uYTBhMDZhYzdmMDc2M2E4YTExNjM3MGJhM2M1OTMz
MzI3MGQ3YjQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDIyLTAzLTIxICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVt
ZW50IENTU051bWVyaWNWYWx1ZS5tdWwsIGRpdiwgYWRkLCBzdWIsIG1heCwgYW5kIG1pbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MTUzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbXBsZW1l
bnRzIGFsbCBleGNlcHQgdGhlIGRlcml2ZWQgdW5pdHMgb2YgbXVsdGlwbGljYXRpb24gYW5kIHRo
ZSB1bml0IGNoZWNraW5nIG9mIHRoZSBvdGhlcnMuCisgICAgICAgIFRoZXkgYXJlIGFuIG9mZi1i
eS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIHJpZ2h0IG5vdywgcGFydCBvZiBjc3MtdHlw
ZWQtb20gd2hpY2ggaXMgYmVpbmcgaW1wbGVtZW50ZWQuCisgICAgICAgIFRoZXkgYXJlIGNvdmVy
ZWQgYnkgd3B0IHRlc3RzLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NTdHlsZVZhbHVl
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAg
ICAqIGNzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpu
ZWdhdGUpOgorICAgICAgICAoV2ViQ29yZTo6aW52ZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6Om9w
ZXJhdGlvbk9uVmFsdWVzT2ZTYW1lVW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmlj
VmFsdWU6OnByZXBlbmRJdGVtc09mVHlwZU9yVGhpcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NO
dW1lcmljVmFsdWU6OmFkZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNW
YWx1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZTo6c3ViKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZTo6bXVsdGlwbHlJbnRlcm5hbCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6Om11bCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NOdW1lcmljVmFsdWU6OmRpdik6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6
Om1pbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6Om1heCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6OnJlY3RpZnlOdW1iZXJpc2gpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTTnVtZXJpY1ZhbHVlOjp0b1N1bSk6CisgICAgICAgICogY3NzL3R5cGVkb20v
Q1NTTnVtZXJpY1ZhbHVlLmg6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5o
OgorICAgICAgICAqIGNzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aEludmVydC5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTTWF0aEludmVydDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TWF0aEludmVydDo6dmFsdWUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGNzcy90eXBlZG9t
L251bWVyaWMvQ1NTTWF0aE1heC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoTWF4OjpD
U1NNYXRoTWF4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhNYXg6OmNyZWF0ZSk6IERlbGV0
ZWQuCisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4Lmg6CisgICAgICAg
IChXZWJDb3JlOjpDU1NNYXRoTWF4OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0
aE1heDo6dmFsdWVUeXBlKToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhN
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aE1pbjo6Q1NTTWF0aE1pbik6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NNYXRoTWluOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1pbi5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0
aE1pbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhNaW46OnZhbHVlVHlwZSk6
CisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTmVnYXRlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTTWF0aE5lZ2F0ZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvdHlw
ZWRvbS9udW1lcmljL0NTU01hdGhOZWdhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhO
ZWdhdGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoTmVnYXRlOjp2YWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoTmVnYXRlOjp2YWx1ZSBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NNYXRoUHJvZHVjdDo6Q1NTTWF0aFByb2R1Y3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTTWF0aFByb2R1Y3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogY3Nz
L3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TWF0aFByb2R1Y3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoUHJvZHVjdDo6
dmFsdWVUeXBlKToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhTdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aFN1bTo6Q1NTTWF0aFN1bSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NNYXRoU3VtOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTTWF0aFN1bTo6dmFsdWVzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvdHlwZWRv
bS9udW1lcmljL0NTU01hdGhTdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhTdW06OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoU3VtOjp2YWx1ZXMgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTTWF0aFN1bTo6dmFsdWVUeXBlKToKKyAgICAgICAgKiBjc3MvdHlw
ZWRvbS9udW1lcmljL0NTU01hdGhWYWx1ZS5oOgorICAgICAgICAqIGNzcy90eXBlZG9tL251bWVy
aWMvQ1NTTnVtZXJpY0FycmF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNBcnJh
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNBcnJheTo6Q1NTTnVtZXJp
Y0FycmF5KToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNBcnJheS5o
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTTnVtZXJpY0FycmF5OjphcnJheSBjb25zdCk6CisgICAg
ICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljVHlwZS5oOgorCiAyMDIyLTAzLTIx
ICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW3NlbGVjdGlvbl0gSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnN1YnRyZWVIYXNDaGFuZ2VkKCkgc2hvdWxkbid0IGJl
IGNhbGxlZCBpbiBzZXRSYW5nZVRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwCmluZGV4IDBhYTY4ODQxZGVhNjJmNDEyNTM4
NTIxN2UwNGMyYmQxOWRkZDFmZGQuLjA3MzE3NTc4NTJjYmQ5ZGNiZjg4ZWQzOWYyMTlkNDJkYTUx
MTEyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVW
YWx1ZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHls
ZVZhbHVlQ3VzdG9tLmNwcApAQCAtMjksOSArMjksMTYgQEAKICNpZiBFTkFCTEUoQ1NTX1RZUEVE
X09NKQogCiAjaW5jbHVkZSAiSlNDU1NLZXl3b3JkVmFsdWUuaCIKKyNpbmNsdWRlICJKU0NTU01h
dGhJbnZlcnQuaCIKKyNpbmNsdWRlICJKU0NTU01hdGhNYXguaCIKKyNpbmNsdWRlICJKU0NTU01h
dGhNaW4uaCIKKyNpbmNsdWRlICJKU0NTU01hdGhOZWdhdGUuaCIKKyNpbmNsdWRlICJKU0NTU01h
dGhQcm9kdWN0LmgiCisjaW5jbHVkZSAiSlNDU1NNYXRoU3VtLmgiCiAjaW5jbHVkZSAiSlNDU1NN
YXRoVmFsdWUuaCIKICNpbmNsdWRlICJKU0NTU051bWVyaWNWYWx1ZS5oIgogI2luY2x1ZGUgIkpT
Q1NTU3R5bGVJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiSlNDU1NUcmFuc2Zvcm1WYWx1ZS5oIgog
I2luY2x1ZGUgIkpTQ1NTVW5pdFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNDU1NVbnBhcnNlZFZhbHVl
LmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTQ2LDggKzUzLDIwIEBAIEpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFJlZjxDCiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1N0
eWxlSW1hZ2VWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7CiAgICAgY2FzZSBD
U1NTdHlsZVZhbHVlVHlwZTo6Q1NTTnVtZXJpY1ZhbHVlOgogICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxDU1NOdW1lcmljVmFsdWU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwor
ICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhJbnZlcnQ6CisgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPENTU01hdGhJbnZlcnQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1
ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhNaW46CisgICAgICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhNaW4+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1
ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhNYXg6CisgICAgICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhNYXg+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1
ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhOZWdhdGU6CisgICAgICAg
IHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhOZWdhdGU+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhQcm9kdWN0Ogor
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNYXRoUHJvZHVjdD4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKHZhbHVlKSk7CiAgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFZh
bHVlOgogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNYXRoVmFsdWU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01h
dGhTdW06CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhTdW0+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1Vu
aXRWYWx1ZToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVW5pdFZhbHVlPihnbG9i
YWxPYmplY3QsIFdURk1vdmUodmFsdWUpKTsKICAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpD
U1NVbnBhcnNlZFZhbHVlOgpAQCAtNTUsNiArNzQsNyBAQCBKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8
QwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU0tleXdvcmRWYWx1ZToKICAgICAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTS2V5d29yZFZhbHVlPihnbG9iYWxPYmplY3QsIFdURk1v
dmUodmFsdWUpKTsKICAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NUcmFuc2Zvcm1WYWx1
ZToKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVHJhbnNmb3JtVmFsdWU+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNT
U1N0eWxlVmFsdWU6CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1N0eWxlVmFsdWU+
KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuY3BwCmluZGV4IDU2NDM3NzEzNzU5ZmE3MDI4
NGQ3Mzc1NTNhZTNhM2MzYmRlY2MxZWYuLjBmMThmYmIyMGE3NDM4ODlkNGY2MGJhZmYwOWE1YmRm
OGY3NzI5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVy
aWNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1Zh
bHVlLmNwcApAQCAtMzAsNjggKzMwLDE5NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkNTU051bWVyaWNWYWx1ZS5oIgogCisjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKKworI2lu
Y2x1ZGUgIkNTU01hdGhJbnZlcnQuaCIKKyNpbmNsdWRlICJDU1NNYXRoTWF4LmgiCisjaW5jbHVk
ZSAiQ1NTTWF0aE1pbi5oIgorI2luY2x1ZGUgIkNTU01hdGhOZWdhdGUuaCIKKyNpbmNsdWRlICJD
U1NNYXRoUHJvZHVjdC5oIgogI2luY2x1ZGUgIkNTU01hdGhTdW0uaCIKKyNpbmNsdWRlICJDU1NO
dW1lcmljQXJyYXkuaCIKICNpbmNsdWRlICJDU1NOdW1lcmljRmFjdG9yeS5oIgogI2luY2x1ZGUg
IkNTU051bWVyaWNUeXBlLmgiCiAjaW5jbHVkZSAiQ1NTVW5pdFZhbHVlLmgiCiAjaW5jbHVkZSAi
RXhjZXB0aW9uT3IuaCIKLQotI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCi0KICNpbmNsdWRlIDx3
dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtF
X0lTT19BTExPQ0FURURfSU1QTChDU1NOdW1lcmljVmFsdWUpOwogCi1SZWY8Q1NTTnVtZXJpY1Zh
bHVlPiBDU1NOdW1lcmljVmFsdWU6OmFkZChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFs
dWVzKQorc3RhdGljIFJlZjxDU1NOdW1lcmljVmFsdWU+IG5lZ2F0ZShSZWY8Q1NTTnVtZXJpY1Zh
bHVlPiYmIHZhbHVlKQogewotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIC8vIEZJWE1F
OiBhZGQgaW1wbC4KKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXR5
cGVkLW9tLyNjc3NtYXRoLW5lZ2F0ZS1hLWNzc251bWVyaWN2YWx1ZQorICAgIGlmICh2YWx1ZS0+
Z2V0VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTmVnYXRlKQorICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTTWF0aE5lZ2F0ZSY+KHZhbHVlLmdldCgpKS52YWx1ZSgpOwor
ICAgIGlmICh2YWx1ZS0+Z2V0VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NVbml0VmFs
dWUpIHsKKyAgICAgICAgYXV0byYgdGhpc1ZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTVW5pdFZhbHVl
Jj4odmFsdWUuZ2V0KCkpOworICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUoLXRo
aXNWYWx1ZS52YWx1ZSgpLCB0aGlzVmFsdWUudW5pdCgpKTsKKyAgICB9CisgICAgcmV0dXJuIENT
U01hdGhOZWdhdGU6OmNyZWF0ZShXVEZNb3ZlKHZhbHVlKSk7Cit9CisKK3N0YXRpYyBFeGNlcHRp
b25PcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4gaW52ZXJ0KFJlZjxDU1NOdW1lcmljVmFsdWU+JiYg
dmFsdWUpCit7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy10eXBl
ZC1vbS8jY3NzbWF0aC1pbnZlcnQtYS1jc3NudW1lcmljdmFsdWUKKyAgICBpZiAodmFsdWUtPmdl
dFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aEludmVydCkKKyAgICAgICAgcmV0
dXJuIFJlZiB7IHN0YXRpY19jYXN0PENTU01hdGhJbnZlcnQmPih2YWx1ZS5nZXQoKSkudmFsdWUo
KSB9OworCisgICAgaWYgKHZhbHVlLT5nZXRUeXBlKCkgPT0gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNT
U1VuaXRWYWx1ZSkgeworICAgICAgICBhdXRvJiB0aGlzVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NV
bml0VmFsdWUmPih2YWx1ZS5nZXQoKSk7CisgICAgICAgIGlmICh0aGlzVmFsdWUudW5pdCgpID09
ICJudW1iZXIiKSB7CisgICAgICAgICAgICBpZiAodGhpc1ZhbHVlLnZhbHVlKCkgPT0gMC4wIHx8
IHRoaXNWYWx1ZS52YWx1ZSgpID09IC0wLjApCisgICAgICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IFJhbmdlRXJyb3IgfTsKKyAgICAgICAgICAgIHJldHVybiBSZWY8Q1NTTnVtZXJpY1Zh
bHVlPiB7IENTU1VuaXRWYWx1ZTo6Y3JlYXRlKDEuMCAvIHRoaXNWYWx1ZS52YWx1ZSgpLCB0aGlz
VmFsdWUudW5pdCgpKSB9OworICAgICAgICB9CisgICAgfQogCi0gICAgcmV0dXJuICp0aGlzOwor
ICAgIHJldHVybiBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiB7IENTU01hdGhJbnZlcnQ6OmNyZWF0ZShX
VEZNb3ZlKHZhbHVlKSkgfTsKIH0KIAotUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1Zh
bHVlOjpzdWIoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+CitzdGF0aWMgUmVmUHRyPENTU051bWVyaWNWYWx1ZT4gb3BlcmF0aW9uT25WYWx1
ZXNPZlNhbWVVbml0KFQmJiBvcGVyYXRpb24sIGNvbnN0IFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1Zh
bHVlPj4mIHZhbHVlcykKIHsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVzKTsKLSAgICAvLyBGSVhN
RTogYWRkIGltcGwuCisgICAgYm9vbCBhbGxWYWx1ZXNIYXZlU2FtZVVuaXQgPSB2YWx1ZXMuc2l6
ZSgpICYmIFdURjo6YWxsT2YodmFsdWVzLCBbJl0gKGNvbnN0IFJlZjxDU1NOdW1lcmljVmFsdWU+
JiB2YWx1ZSkgeworICAgICAgICByZXR1cm4gdmFsdWUtPmdldFR5cGUoKSA9PSBDU1NTdHlsZVZh
bHVlVHlwZTo6Q1NTVW5pdFZhbHVlCisgICAgICAgICAgICAmJiBzdGF0aWNfY2FzdDxjb25zdCBD
U1NVbml0VmFsdWUmPih2YWx1ZS5nZXQoKSkudW5pdCgpID09IHN0YXRpY19jYXN0PGNvbnN0IENT
U1VuaXRWYWx1ZSY+KHZhbHVlc1swXS5nZXQoKSkudW5pdCgpOworICAgIH0pOworICAgIGlmIChh
bGxWYWx1ZXNIYXZlU2FtZVVuaXQpIHsKKyAgICAgICAgU3RyaW5nIHVuaXQgPSBzdGF0aWNfY2Fz
dDxDU1NVbml0VmFsdWUmPih2YWx1ZXNbMF0uZ2V0KCkpLnVuaXQoKTsKKyAgICAgICAgZG91Ymxl
IHJlc3VsdCA9IHN0YXRpY19jYXN0PGNvbnN0IENTU1VuaXRWYWx1ZSY+KHZhbHVlc1swXS5nZXQo
KSkudmFsdWUoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCB2YWx1ZXMuc2l6ZSgp
OyBpKyspCisgICAgICAgICAgICByZXN1bHQgPSBvcGVyYXRpb24ocmVzdWx0LCBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NVbml0VmFsdWUmPih2YWx1ZXNbaV0uZ2V0KCkpLnZhbHVlKCkpOworICAgICAg
ICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUocmVzdWx0LCB1bml0KTsKKyAgICB9CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CiAKLSAgICByZXR1cm4gKnRoaXM7Cit0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IENTU051bWVyaWNWYWx1ZTo6cHJlcGVu
ZEl0ZW1zT2ZUeXBlT3JUaGlzKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiBudW1lcmlj
VmFsdWVzKQoreworICAgIFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4gdmFsdWVzOworICAg
IGlmIChnZXRUeXBlKCkgPT0gVDo6dmFsdWVUeXBlKCkpCisgICAgICAgIHZhbHVlcy5hcHBlbmRW
ZWN0b3Ioc3RhdGljX2Nhc3Q8VCo+KHRoaXMpLT52YWx1ZXMoKS5hcnJheSgpKTsKKyAgICBlbHNl
CisgICAgICAgIHZhbHVlcy5hcHBlbmQoKnRoaXMpOworICAgIHZhbHVlcy5hcHBlbmRWZWN0b3Io
bnVtZXJpY1ZhbHVlcyk7CisgICAgcmV0dXJuIHZhbHVlczsKIH0KIAotUmVmPENTU051bWVyaWNW
YWx1ZT4gQ1NTTnVtZXJpY1ZhbHVlOjptdWwoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZh
bHVlcykKK1JlZjxDU1NOdW1lcmljVmFsdWU+IENTU051bWVyaWNWYWx1ZTo6YWRkSW50ZXJuYWwo
VmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIG51bWVyaWNWYWx1ZXMpCiB7Ci0gICAgVU5V
U0VEX1BBUkFNKHZhbHVlcyk7Ci0gICAgLy8gRklYTUU6IGFkZCBpbXBsLgorICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtdHlwZWQtb20vI2RvbS1jc3NudW1lcmljdmFs
dWUtYWRkCisgICAgYXV0byB2YWx1ZXMgPSBwcmVwZW5kSXRlbXNPZlR5cGVPclRoaXM8Q1NTTWF0
aFN1bT4oV1RGTW92ZShudW1lcmljVmFsdWVzKSk7CiAKLSAgICByZXR1cm4gKnRoaXM7CisgICAg
aWYgKGF1dG8gcmVzdWx0ID0gb3BlcmF0aW9uT25WYWx1ZXNPZlNhbWVVbml0KHN0ZDo6cGx1czxk
b3VibGU+KCksIHZhbHVlcykpCisgICAgICAgIHJldHVybiAqcmVzdWx0OworCisgICAgLy8gRklY
TUU6IEltcGxlbWVudCBzdGVwIDQgdG8gY2hlY2sgdGhhdCB0aGUgdHlwZXMgY2FuIGJlIGFkZGVk
LgorCisgICAgcmV0dXJuIENTU01hdGhTdW06OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykpOwogfQog
Ci1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6OmRpdihGaXhlZFZlY3RvcjxD
U1NOdW1iZXJpc2g+JiYgdmFsdWVzKQorUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1Zh
bHVlOjphZGQoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKIHsKLSAgICBVTlVT
RURfUEFSQU0odmFsdWVzKTsKLSAgICAvLyBGSVhNRTogYWRkIGltcGwuCisgICAgcmV0dXJuIGFk
ZEludGVybmFsKFdURjo6bWFwKFdURk1vdmUodmFsdWVzKSwgW10gKENTU051bWJlcmlzaCYmIG51
bWJlcmlzaCkgeworICAgICAgICByZXR1cm4gcmVjdGlmeU51bWJlcmlzaChXVEZNb3ZlKG51bWJl
cmlzaCkpOworICAgIH0pKTsKK30KIAotICAgIHJldHVybiAqdGhpczsKK1JlZjxDU1NOdW1lcmlj
VmFsdWU+IENTU051bWVyaWNWYWx1ZTo6c3ViKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiB2
YWx1ZXMpCit7CisgICAgcmV0dXJuIGFkZEludGVybmFsKFdURjo6bWFwKFdURk1vdmUodmFsdWVz
KSwgW10gKENTU051bWJlcmlzaCYmIG51bWJlcmlzaCkgeworICAgICAgICByZXR1cm4gbmVnYXRl
KHJlY3RpZnlOdW1iZXJpc2goV1RGTW92ZShudW1iZXJpc2gpKSk7CisgICAgfSkpOwogfQotUmVm
PENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1ZhbHVlOjptaW4oRml4ZWRWZWN0b3I8Q1NTTnVt
YmVyaXNoPiYmIHZhbHVlcykKKworUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1ZhbHVl
OjptdWx0aXBseUludGVybmFsKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiBudW1lcmlj
VmFsdWVzKQogewotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIC8vIEZJWE1FOiBhZGQg
aW1wbC4KKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXR5cGVkLW9t
LyNkb20tY3NzbnVtZXJpY3ZhbHVlLW11bAorICAgIGF1dG8gdmFsdWVzID0gcHJlcGVuZEl0ZW1z
T2ZUeXBlT3JUaGlzPENTU01hdGhQcm9kdWN0PihXVEZNb3ZlKG51bWVyaWNWYWx1ZXMpKTsKKwor
ICAgIGJvb2wgYWxsVW5pdFZhbHVlcyA9IFdURjo6YWxsT2YodmFsdWVzLCBbJl0gKGNvbnN0IFJl
ZjxDU1NOdW1lcmljVmFsdWU+JiB2YWx1ZSkgeworICAgICAgICByZXR1cm4gdmFsdWUtPmdldFR5
cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5pdFZhbHVlOworICAgIH0pOworICAgIGlm
IChhbGxVbml0VmFsdWVzKSB7CisgICAgICAgIGJvb2wgbXVsdGlwbGVVbml0c0ZvdW5kIHsgZmFs
c2UgfTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG5vbk51bWJlclVuaXRJbmRleDsK
KyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB2YWx1ZXMuc2l6ZSgpOyBpKyspIHsKKyAg
ICAgICAgICAgIGF1dG8mIHVuaXQgPSBzdGF0aWNfY2FzdDxjb25zdCBDU1NVbml0VmFsdWUmPih2
YWx1ZXNbaV0uZ2V0KCkpLnVuaXQoKTsKKyAgICAgICAgICAgIGlmICh1bml0ID09ICJudW1iZXIi
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgaWYgKG5vbk51bWJlclVu
aXRJbmRleCkKKyAgICAgICAgICAgICAgICBtdWx0aXBsZVVuaXRzRm91bmQgPSB0cnVlOworICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG5vbk51bWJlclVuaXRJbmRleCA9IGk7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKCFtdWx0aXBsZVVuaXRzRm91bmQpIHsKKyAgICAgICAgICAg
IGRvdWJsZSBwcm9kdWN0ID0gMTsKKyAgICAgICAgICAgIGZvciAoY29uc3QgUmVmPENTU051bWVy
aWNWYWx1ZT4mIHZhbHVlIDogdmFsdWVzKQorICAgICAgICAgICAgICAgIHByb2R1Y3QgKj0gc3Rh
dGljX2Nhc3Q8Y29uc3QgQ1NTVW5pdFZhbHVlJj4odmFsdWUuZ2V0KCkpLnZhbHVlKCk7CisgICAg
ICAgICAgICBTdHJpbmcgdW5pdCA9IG5vbk51bWJlclVuaXRJbmRleCA/IHN0YXRpY19jYXN0PGNv
bnN0IENTU1VuaXRWYWx1ZSY+KHZhbHVlc1sqbm9uTnVtYmVyVW5pdEluZGV4XS5nZXQoKSkudW5p
dCgpIDogIm51bWJlciI7CisgICAgICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUo
cHJvZHVjdCwgdW5pdCk7CisgICAgICAgIH0KKyAgICB9CiAKLSAgICByZXR1cm4gKnRoaXM7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCBzdGVwIDUgdG8gcHJvZHVjZSBhIHVuaXQgb2YgdGhlIGNv
cnJlY3QgdHlwZS4KKworICAgIHJldHVybiBDU1NNYXRoUHJvZHVjdDo6Y3JlYXRlKFdURk1vdmUo
dmFsdWVzKSk7CiB9Ci1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6Om1heChG
aXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVzKQorCitSZWY8Q1NTTnVtZXJpY1ZhbHVl
PiBDU1NOdW1lcmljVmFsdWU6Om11bChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVz
KQogewotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIC8vIEZJWE1FOiBhZGQgaW1wbC4K
KyAgICByZXR1cm4gbXVsdGlwbHlJbnRlcm5hbChXVEY6Om1hcChXVEZNb3ZlKHZhbHVlcyksIFtd
IChDU1NOdW1iZXJpc2gmJiBudW1iZXJpc2gpIHsKKyAgICAgICAgcmV0dXJuIHJlY3RpZnlOdW1i
ZXJpc2goV1RGTW92ZShudW1iZXJpc2gpKTsKKyAgICB9KSk7Cit9CisKK0V4Y2VwdGlvbk9yPFJl
ZjxDU1NOdW1lcmljVmFsdWU+PiBDU1NOdW1lcmljVmFsdWU6OmRpdihGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYgdmFsdWVzKQoreworICAgIFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4g
aW52ZXJ0ZWRWYWx1ZXM7CisgICAgaW52ZXJ0ZWRWYWx1ZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eSh2YWx1ZXMuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mJiB2YWx1ZSA6IFdURk1vdmUodmFsdWVz
KSkgeworICAgICAgICBhdXRvIGludmVydGVkID0gaW52ZXJ0KHJlY3RpZnlOdW1iZXJpc2goV1RG
TW92ZSh2YWx1ZSkpKTsKKyAgICAgICAgaWYgKGludmVydGVkLmhhc0V4Y2VwdGlvbigpKQorICAg
ICAgICAgICAgcmV0dXJuIGludmVydGVkLnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICAgICAgaW52
ZXJ0ZWRWYWx1ZXMudW5jaGVja2VkQXBwZW5kKGludmVydGVkLnJlbGVhc2VSZXR1cm5WYWx1ZSgp
KTsKKyAgICB9CisgICAgcmV0dXJuIG11bHRpcGx5SW50ZXJuYWwoV1RGTW92ZShpbnZlcnRlZFZh
bHVlcykpOworfQorCitSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6Om1pbihG
aXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCit7CisgICAgLy8gaHR0cHM6
Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy10eXBlZC1vbS8jZG9tLWNzc251bWVyaWN2YWx1
ZS1taW4KKyAgICBhdXRvIHZhbHVlcyA9IHByZXBlbmRJdGVtc09mVHlwZU9yVGhpczxDU1NNYXRo
TWluPihXVEY6Om1hcChXVEZNb3ZlKG51bWJlcmlzaGVzKSwgW10gKENTU051bWJlcmlzaCYmIG51
bWJlcmlzaCkgeworICAgICAgICByZXR1cm4gcmVjdGlmeU51bWJlcmlzaChXVEZNb3ZlKG51bWJl
cmlzaCkpOworICAgIH0pKTsKKyAgICAKKyAgICBpZiAoYXV0byByZXN1bHQgPSBvcGVyYXRpb25P
blZhbHVlc09mU2FtZVVuaXQ8Y29uc3QgZG91YmxlJigqKShjb25zdCBkb3VibGUmLCBjb25zdCBk
b3VibGUmKT4oc3RkOjptaW48ZG91YmxlPiwgdmFsdWVzKSkKKyAgICAgICAgcmV0dXJuICpyZXN1
bHQ7CisKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHN0ZXAgNCB0byBjaGVjayB0aGF0IHRoZSB0
eXBlcyBjYW4gYmUgYWRkZWQuCisKKyAgICByZXR1cm4gQ1NTTWF0aE1pbjo6Y3JlYXRlKFdURk1v
dmUodmFsdWVzKSk7Cit9CisKK1JlZjxDU1NOdW1lcmljVmFsdWU+IENTU051bWVyaWNWYWx1ZTo6
bWF4KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKK3sKKyAgICAvLyBo
dHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXR5cGVkLW9tLyNkb20tY3NzbnVtZXJp
Y3ZhbHVlLW1heAorICAgIGF1dG8gdmFsdWVzID0gcHJlcGVuZEl0ZW1zT2ZUeXBlT3JUaGlzPENT
U01hdGhNYXg+KFdURjo6bWFwKFdURk1vdmUobnVtYmVyaXNoZXMpLCBbXSAoQ1NTTnVtYmVyaXNo
JiYgbnVtYmVyaXNoKSB7CisgICAgICAgIHJldHVybiByZWN0aWZ5TnVtYmVyaXNoKFdURk1vdmUo
bnVtYmVyaXNoKSk7CisgICAgfSkpOworICAgIAorICAgIGlmIChhdXRvIHJlc3VsdCA9IG9wZXJh
dGlvbk9uVmFsdWVzT2ZTYW1lVW5pdDxjb25zdCBkb3VibGUmKCopKGNvbnN0IGRvdWJsZSYsIGNv
bnN0IGRvdWJsZSYpPihzdGQ6Om1heDxkb3VibGU+LCB2YWx1ZXMpKQorICAgICAgICByZXR1cm4g
KnJlc3VsdDsKKworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgc3RlcCA0IHRvIGNoZWNrIHRoYXQg
dGhlIHR5cGVzIGNhbiBiZSBhZGRlZC4KIAotICAgIHJldHVybiAqdGhpczsKKyAgICByZXR1cm4g
Q1NTTWF0aE1heDo6Y3JlYXRlKFdURk1vdmUodmFsdWVzKSk7CiB9CiAKIFJlZjxDU1NOdW1lcmlj
VmFsdWU+IENTU051bWVyaWNWYWx1ZTo6cmVjdGlmeU51bWJlcmlzaChDU1NOdW1iZXJpc2gmJiBu
dW1iZXJpc2gpCiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy10
eXBlZC1vbS8jcmVjdGlmeS1hLW51bWJlcmlzaC12YWx1ZQogICAgIHJldHVybiBXVEY6OnN3aXRj
aE9uKG51bWJlcmlzaCwgW10oUmVmUHRyPENTU051bWVyaWNWYWx1ZT4mIHZhbHVlKSB7CiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKCEhdmFsdWUpOwogICAgICAgICByZXR1cm4gUmVmPENTU051bWVy
aWNWYWx1ZT4geyAqdmFsdWUgfTsKQEAgLTEyMSw3ICsyNTAsNyBAQCBSZWY8Q1NTTWF0aFN1bT4g
Q1NTTnVtZXJpY1ZhbHVlOjp0b1N1bShGaXhlZFZlY3RvcjxTdHJpbmc+JiYgdW5pdHMpCiAgICAg
VU5VU0VEX1BBUkFNKHVuaXRzKTsKICAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5v
cmcvY3NzLXR5cGVkLW9tLyNkb20tY3NzbnVtZXJpY3ZhbHVlLXRvc3VtCiAgICAgLy8gRklYTUU6
IGFkZCBpbXBsLgotICAgIHJldHVybiBDU1NNYXRoU3VtOjpjcmVhdGUoeyAxLjAgfSk7CisgICAg
cmV0dXJuIENTU01hdGhTdW06OmNyZWF0ZShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+IHsgMS4w
IH0pOwogfQogCiBDU1NOdW1lcmljVHlwZSBDU1NOdW1lcmljVmFsdWU6OnR5cGUoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuaAppbmRleCAwNDJkOTVmMjk2
Mjc2ZTViMzhjOGY3NWUwNzQxNGYzNGE2MzJhZjIzLi4yODk5OTRiNzVhYjAwNGRlYjQyMDgyOWY2
ODUyZDJmZDAxMmQ5MjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9D
U1NOdW1lcmljVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1l
cmljVmFsdWUuaApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgUmVmPENTU051bWVyaWNW
YWx1ZT4gYWRkKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CiAgICAgUmVmPENTU051bWVy
aWNWYWx1ZT4gc3ViKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CiAgICAgUmVmPENTU051
bWVyaWNWYWx1ZT4gbXVsKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7Ci0gICAgUmVmPENT
U051bWVyaWNWYWx1ZT4gZGl2KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CisgICAgRXhj
ZXB0aW9uT3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IGRpdihGaXhlZFZlY3RvcjxDU1NOdW1iZXJp
c2g+JiYpOwogICAgIFJlZjxDU1NOdW1lcmljVmFsdWU+IG1pbihGaXhlZFZlY3RvcjxDU1NOdW1i
ZXJpc2g+JiYpOwogICAgIFJlZjxDU1NOdW1lcmljVmFsdWU+IG1heChGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOwogICAgIApAQCAtNjAsMTAgKzYwLDE0IEBAIHB1YmxpYzoKICAgICAKICAg
ICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IHBhcnNlKFN0cmluZyYm
KTsKICAgICBzdGF0aWMgUmVmPENTU051bWVyaWNWYWx1ZT4gcmVjdGlmeU51bWJlcmlzaChDU1NO
dW1iZXJpc2gmJik7Ci0gICAgCisKICAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU051bWVyaWNWYWx1ZTsg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmPENTU051bWVyaWNWYWx1ZT4gYWRkSW50ZXJuYWwoVmVj
dG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKKyAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBt
dWx0aXBseUludGVybmFsKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBwcmVwZW5kSXRl
bXNPZlR5cGVPclRoaXMoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKKwogICAgIENT
U051bWVyaWNWYWx1ZSgpID0gZGVmYXVsdDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1N0eWxlVmFsdWUuaAppbmRleCAyZGFkNGE5MjRjMGVmNzQzNmMwNWQ5MGI5NGRjNDU0
ZDBiNjFkMDk2Li42ODU5OWVlMWJjNzM1MzFhNTdiMzVjM2Q4MDkyNGYyYTNiNWMwYzJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oCkBAIC00NCw2ICs0NCwx
MiBAQCBlbnVtIGNsYXNzIENTU1N0eWxlVmFsdWVUeXBlIDogdWludDhfdCB7CiAgICAgQ1NTU3R5
bGVJbWFnZVZhbHVlLAogICAgIENTU1RyYW5zZm9ybVZhbHVlLAogICAgIENTU051bWVyaWNWYWx1
ZSwKKyAgICBDU1NNYXRoSW52ZXJ0LAorICAgIENTU01hdGhNaW4sCisgICAgQ1NTTWF0aE1heCwK
KyAgICBDU1NNYXRoTmVnYXRlLAorICAgIENTU01hdGhQcm9kdWN0LAorICAgIENTU01hdGhTdW0s
CiAgICAgQ1NTTWF0aFZhbHVlLAogICAgIENTU1VuaXRWYWx1ZSwKICAgICBDU1NVbnBhcnNlZFZh
bHVlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoSW52ZXJ0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJ
bnZlcnQuaAppbmRleCBlMDlhODA2Y2IxNTI3YzkyZDk3NDhlOTQxOGYxYzQ4NDNiMTU0N2I2Li5j
ZGNkYzZkNDlkYWI2NTUwZTdhOWVmMDY1MjE2NjBmZmY0YzIwMGZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJbnZlcnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJbnZlcnQuaApAQCAtMzUsOSAr
MzUsMTEgQEAgY2xhc3MgQ1NTTWF0aEludmVydCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aEludmVydCk7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxDU1NNYXRoSW52ZXJ0PiBjcmVhdGUoQ1NTTnVtYmVyaXNoJiYpOwotICAgIGNvbnN0
IENTU051bWVyaWNWYWx1ZSYgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9
CisgICAgQ1NTTnVtZXJpY1ZhbHVlJiB2YWx1ZSgpIHsgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7IH0K
ICAgICAKIHByaXZhdGU6CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0VHlwZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoSW52ZXJ0OyB9CisKICAgICBD
U1NNYXRoSW52ZXJ0KENTU051bWJlcmlzaCYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBt
X3ZhbHVlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aE1heC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NT
U01hdGhNYXguY3BwCmluZGV4IDk2MDUzNzJhOTA3OTQ3NzEyNzZjZWQyNzQwYzQzNGI5OWZiM2U0
ZmUuLjlkNTdhZTg3MmMxMmRmMWI1YTdjMTk5MTEzYzYwNDM0MzMxMjU1NDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4LmNwcApAQCAtMzYs
MTQgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKENTU01hdGhNYXgpOwogCi1SZWY8Q1NTTWF0aE1heD4gQ1NTTWF0aE1heDo6Y3JlYXRl
KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKK0NTU01hdGhNYXg6OkNT
U01hdGhNYXgoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIG51bWJlcmlzaGVzKQorICAgIDog
Q1NTTWF0aFZhbHVlKENTU01hdGhPcGVyYXRvcjo6TWF4KQorICAgICwgbV92YWx1ZXMoQ1NTTnVt
ZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZShudW1iZXJpc2hlcykpKQogewotICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IENTU01hdGhNYXgoV1RGTW92ZShudW1iZXJpc2hlcykpKTsKIH0KIAotQ1NT
TWF0aE1heDo6Q1NTTWF0aE1heChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNo
ZXMpCitDU1NNYXRoTWF4OjpDU1NNYXRoTWF4KFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4m
JiB2YWx1ZXMpCiAgICAgOiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpNYXgpCi0gICAg
LCBtX3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkp
CisgICAgLCBtX3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykp
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmlj
L0NTU01hdGhNYXguaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0
aE1heC5oCmluZGV4IDBjMGZmZjhmM2QzMTQ2NmIxODk0ODgwYjY4YTBmYWRjZjZhYjhlMDkuLjA5
N2U3MDk3NWQxMjExMjNhZmM1OWM5OTM5OTExZjY4N2ExMmMzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5oCkBAIC0zNywxMSArMzcsMTUg
QEAgY2xhc3MgQ1NTTnVtZXJpY0FycmF5OwogY2xhc3MgQ1NTTWF0aE1heCA6IHB1YmxpYyBDU1NN
YXRoVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aE1heCk7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoTWF4PiBjcmVhdGUoRml4ZWRWZWN0b3I8Q1NTTnVt
YmVyaXNoPiYmKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmdzPiBzdGF0aWMgUmVmPENT
U01hdGhNYXg+IGNyZWF0ZShBcmdzJiYuLi4gYXJncykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBD
U1NNYXRoTWF4KHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOyB9CiAgICAgY29uc3QgQ1NT
TnVtZXJpY0FycmF5JiB2YWx1ZXMoKSBjb25zdDsKICAgICAKKyAgICBzdGF0aWMgQ1NTU3R5bGVW
YWx1ZVR5cGUgdmFsdWVUeXBlKCkgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhN
YXg7IH0KIHByaXZhdGU6CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0VHlwZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTWF4OyB9CisKICAgICBDU1NN
YXRoTWF4KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CisgICAgQ1NTTWF0aE1heChWZWN0
b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYpOwogICAgIFJlZjxDU1NOdW1lcmljQXJyYXk+IG1f
dmFsdWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVt
ZXJpYy9DU1NNYXRoTWluLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMv
Q1NTTWF0aE1pbi5jcHAKaW5kZXggZDBkMTJiMzA0OTU4M2E0NWU5NWJiMDUzZTgyZjg3NjZkZjdk
MTJmOC4uNWVhMmRlZDE2ZDAwOGNlYzgwMDJkMDc0YzlhZWVmNzgyNGExYTE0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhNaW4uY3BwCkBAIC0z
NiwxNCArMzYsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoQ1NTTWF0aE1pbik7CiAKLVJlZjxDU1NNYXRoTWluPiBDU1NNYXRoTWluOjpjcmVh
dGUoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIG51bWJlcmlzaGVzKQorQ1NTTWF0aE1pbjo6
Q1NTTWF0aE1pbihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCisgICAg
OiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpNaW4pCisgICAgLCBtX3ZhbHVlcyhDU1NO
dW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ1NTTWF0aE1pbihXVEZNb3ZlKG51bWJlcmlzaGVzKSkpOwogfQogCi1D
U1NNYXRoTWluOjpDU1NNYXRoTWluKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJp
c2hlcykKK0NTU01hdGhNaW46OkNTU01hdGhNaW4oVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+
PiYmIHZhbHVlcykKICAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6Ok1pbikKLSAg
ICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUobnVtYmVyaXNoZXMp
KSkKKyAgICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUodmFsdWVz
KSkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aE1pbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoTWluLmgKaW5kZXggMzY2OGE5NzQ0MDllZjc1NGJhMTkzMGRhNWY4ZDk0NzU4NTA4OTg5YS4u
MGY5NDcyYWUwM2ZjOTlhZmIwMjYwMDc4M2RiMzFlYmJhZTU1MWE1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmgKQEAgLTM3LDExICszNywx
NiBAQCBjbGFzcyBDU1NOdW1lcmljQXJyYXk7CiBjbGFzcyBDU1NNYXRoTWluIDogcHVibGljIENT
U01hdGhWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NNYXRoTWluKTsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU01hdGhNaW4+IGNyZWF0ZShGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8
Q1NTTWF0aE1pbj4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IENTU01hdGhNaW4oc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7IH0KICAgICBjb25zdCBD
U1NOdW1lcmljQXJyYXkmIHZhbHVlcygpIGNvbnN0OwogICAgIAorICAgIHN0YXRpYyBDU1NTdHls
ZVZhbHVlVHlwZSB2YWx1ZVR5cGUoKSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0
aE1pbjsgfQorCiBwcml2YXRlOgorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aE1pbjsgfQorCiAgICAg
Q1NTTWF0aE1pbihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAgIENTU01hdGhNaW4o
VmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY0FycmF5
PiBtX3ZhbHVlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9u
dW1lcmljL0NTU01hdGhOZWdhdGUuY3BwCmluZGV4IDgzNDAxNTA2ZDBjOTI1ZjdkM2I0NzIyNzE1
ODIyYjdkYmZkODg3MWEuLmI5MWRhOThmMzgzNzg3YjQzZTFjM2JkYjRjMTIyZjZjNjM3YzU0NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5l
Z2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRo
TmVnYXRlLmNwcApAQCAtMzYsMTQgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RG
X01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENTU01hdGhOZWdhdGUpOwogCi1SZWY8Q1NTTWF0aE5l
Z2F0ZT4gQ1NTTWF0aE5lZ2F0ZTo6Y3JlYXRlKENTU051bWJlcmlzaCYmIG51bWJlcmlzaCkKK0NT
U01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUoQ1NTTnVtYmVyaXNoJiYgbnVtYmVyaXNoKQorICAg
IDogQ1NTTWF0aFZhbHVlKENTU01hdGhPcGVyYXRvcjo6TmVnYXRlKQorICAgICwgbV92YWx1ZShD
U1NOdW1lcmljVmFsdWU6OnJlY3RpZnlOdW1iZXJpc2goV1RGTW92ZShudW1iZXJpc2gpKSkKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NNYXRoTmVnYXRlKFdURk1vdmUobnVtYmVyaXNo
KSkpOwogfQogCi1DU1NNYXRoTmVnYXRlOjpDU1NNYXRoTmVnYXRlKENTU051bWJlcmlzaCYmIG51
bWJlcmlzaCkKK0NTU01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUoUmVmPENTU051bWVyaWNWYWx1
ZT4mJiB2YWx1ZSkKICAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6Ok5lZ2F0ZSkK
LSAgICAsIG1fdmFsdWUoQ1NTTnVtZXJpY1ZhbHVlOjpyZWN0aWZ5TnVtYmVyaXNoKFdURk1vdmUo
bnVtYmVyaXNoKSkpCisgICAgLCBtX3ZhbHVlKFdURk1vdmUodmFsdWUpKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhOZWdhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCmlu
ZGV4IDg4Y2NkOWE5MjAyZjA4Y2JmNmU1ZGRmOGI3NWU4ODQ1Yjk4MTFlMDAuLjQyM2UzYzI1ZGM1
NmE5NjFkNzdiNjEwMTRjZjc0YjhmYjU2OThlMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCkBAIC0zNywxMSArMzcsMTQgQEAg
Y2xhc3MgQ1NTTnVtZXJpY1ZhbHVlOwogY2xhc3MgQ1NTTWF0aE5lZ2F0ZSA6IHB1YmxpYyBDU1NN
YXRoVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aE5lZ2F0ZSk7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoTmVnYXRlPiBjcmVhdGUoQ1NTTnVtYmVyaXNo
JiYpOwotICAgIGNvbnN0IENTU051bWVyaWNWYWx1ZSYgdmFsdWUoKSBjb25zdCB7IHJldHVybiBt
X3ZhbHVlLmdldCgpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJl
ZjxDU1NNYXRoTmVnYXRlPiBjcmVhdGUoQXJncyYmLi4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQ1NTTWF0aE5lZ2F0ZShzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsgfQorICAg
IENTU051bWVyaWNWYWx1ZSYgdmFsdWUoKSB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CiAgICAg
CiBwcml2YXRlOgorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aE5lZ2F0ZTsgfQorCiAgICAgQ1NTTWF0
aE5lZ2F0ZShDU1NOdW1iZXJpc2gmJik7CisgICAgQ1NTTWF0aE5lZ2F0ZShSZWY8Q1NTTnVtZXJp
Y1ZhbHVlPiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBtX3ZhbHVlOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0
LmNwcAppbmRleCBhMmIzMWRkMmY5YmY2NWQ0NmMwZmI2YTA1MWQxMmViNGMxMmZlZjkxLi5mMGVm
Yzk5NDUzNTdlNWM2Yjk1NWM2NmRkMGVkOWFkNmU2OTRiMmE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0LmNwcApAQCAtMzYs
MTQgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKENTU01hdGhQcm9kdWN0KTsKIAotUmVmPENTU01hdGhQcm9kdWN0PiBDU1NNYXRoUHJv
ZHVjdDo6Y3JlYXRlKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKK0NT
U01hdGhQcm9kdWN0OjpDU1NNYXRoUHJvZHVjdChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYg
bnVtYmVyaXNoZXMpCisgICAgOiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpQcm9kdWN0
KQorICAgICwgbV92YWx1ZXMoQ1NTTnVtZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZShudW1iZXJp
c2hlcykpKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU01hdGhQcm9kdWN0KFdURk1v
dmUobnVtYmVyaXNoZXMpKSk7CiB9CiAKLUNTU01hdGhQcm9kdWN0OjpDU1NNYXRoUHJvZHVjdChG
aXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCitDU1NNYXRoUHJvZHVjdDo6
Q1NTTWF0aFByb2R1Y3QoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIHZhbHVlcykKICAg
ICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6OlByb2R1Y3QpCi0gICAgLCBtX3ZhbHVl
cyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkpCisgICAgLCBt
X3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykpKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQ
cm9kdWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9k
dWN0LmgKaW5kZXggNTM0MDUxYjcyMDNhYTdiOTNkMmVjMjUwNzMxYmU5YzRjYzc4YTkwZi4uMzBj
YzNlYTk3MjE4ZWRiNTIzMjk2MjY2ZDA1Zjc5MDFmODBkNmMwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFByb2R1Y3QuaApAQCAtMzcsMTMg
KzM3LDE4IEBAIGNsYXNzIENTU051bWVyaWNBcnJheTsKIGNsYXNzIENTU01hdGhQcm9kdWN0IDog
cHVibGljIENTU01hdGhWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NNYXRo
UHJvZHVjdCk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoUHJvZHVjdD4gY3JlYXRl
KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4g
QXJncz4gc3RhdGljIFJlZjxDU1NNYXRoUHJvZHVjdD4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IENTU01hdGhQcm9kdWN0KHN0ZDo6Zm9yd2FyZDxBcmdzPihh
cmdzKS4uLikpOyB9CiAgICAgY29uc3QgQ1NTTnVtZXJpY0FycmF5JiB2YWx1ZXMoKSBjb25zdDsK
ICAgICAKICAgICBDU1NNYXRoT3BlcmF0b3IgZ2V0T3BlcmF0b3IoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBDU1NNYXRoT3BlcmF0b3I6OlByb2R1Y3Q7IH0KIAorICAgIHN0YXRpYyBDU1NTdHlsZVZh
bHVlVHlwZSB2YWx1ZVR5cGUoKSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFBy
b2R1Y3Q7IH0KKwogcHJpdmF0ZToKKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhQcm9kdWN0OyB9CisK
ICAgICBDU1NNYXRoUHJvZHVjdChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAgIENT
U01hdGhQcm9kdWN0KFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7CiAgICAgUmVmPENT
U051bWVyaWNBcnJheT4gbV92YWx1ZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhTdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmNwcAppbmRleCA1NGJiMzA0YWU1MmYzN2E2YWU3
YTMzNzc2OWM3ODliMjczYzMzYTdiLi42ZGUyN2MzNGE0MjEwMjk1OWRmYzVlMTkwZmJlYTUwZWNh
YjI1MjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NT
U01hdGhTdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NT
TWF0aFN1bS5jcHAKQEAgLTM2LDIwICszNiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDU1NNYXRoU3VtKTsKIAotUmVmPENTU01hdGhTdW0+
IENTU01hdGhTdW06OmNyZWF0ZShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNo
ZXMpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWF0aFN1bShXVEZNb3ZlKG51bWJl
cmlzaGVzKSkpOwotfQotCiBDU1NNYXRoU3VtOjpDU1NNYXRoU3VtKEZpeGVkVmVjdG9yPENTU051
bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKICAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0
b3I6OlN1bSkKICAgICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUo
bnVtYmVyaXNoZXMpKSkKIHsKIH0KIAotY29uc3QgQ1NTTnVtZXJpY0FycmF5JiBDU1NNYXRoU3Vt
Ojp2YWx1ZXMoKSBjb25zdAorQ1NTTWF0aFN1bTo6Q1NTTWF0aFN1bShWZWN0b3I8UmVmPENTU051
bWVyaWNWYWx1ZT4+JiYgdmFsdWVzKQorICAgIDogQ1NTTWF0aFZhbHVlKENTU01hdGhPcGVyYXRv
cjo6U3VtKQorICAgICwgbV92YWx1ZXMoQ1NTTnVtZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZSh2
YWx1ZXMpKSkKIHsKLSAgICByZXR1cm4gbV92YWx1ZXMuZ2V0KCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aFN1bS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoU3VtLmgKaW5kZXggMzljYWVlMGYyZmM2MjFhY2IzNGIzODRkZTg3NjYzODZlZTM0MzlhZC4u
N2VmZjllY2QyYmM1ZGVmMTBlZmIxOTQ3Y2RjNzk5ZjIzYjljOGYyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmgKQEAgLTM4LDExICszOCwx
NiBAQCBjbGFzcyBDU1NOdW1lcmljQXJyYXk7CiBjbGFzcyBDU1NNYXRoU3VtIDogcHVibGljIENT
U01hdGhWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NNYXRoU3VtKTsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU01hdGhTdW0+IGNyZWF0ZShGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOwotICAgIGNvbnN0IENTU051bWVyaWNBcnJheSYgdmFsdWVzKCkgY29uc3Q7
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJlZjxDU1NNYXRoU3VtPiBj
cmVhdGUoQXJncyYmLi4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWF0aFN1bShz
dGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsgfQorICAgIGNvbnN0IENTU051bWVyaWNBcnJh
eSYgdmFsdWVzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZXMuZ2V0KCk7IH0KKworICAgIHN0YXRp
YyBDU1NTdHlsZVZhbHVlVHlwZSB2YWx1ZVR5cGUoKSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlw
ZTo6Q1NTTWF0aFN1bTsgfQogCiBwcml2YXRlOgorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5
cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFN1
bTsgfQorCiAgICAgQ1NTTWF0aFN1bShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAg
IENTU01hdGhTdW0oVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKICAgICBSZWY8Q1NT
TnVtZXJpY0FycmF5PiBtX3ZhbHVlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9udW1lcmljL0NTU01hdGhWYWx1ZS5oCmluZGV4IDUwNDYzZTM3ZGEyYzJjMWE1OGUx
NjIwM2U2YTRkYzNkOWVjZjI2NjEuLjM5M2U5NjFiNTYwMTc0MzlkMWU1M2ZhMzNjZDBmZjI3NDg4
YjVlODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NT
TWF0aFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoVmFsdWUuaApAQCAtMzcsMTAgKzM3LDEwIEBAIGNsYXNzIENTU01hdGhWYWx1ZSA6IHB1Ymxp
YyBDU1NOdW1lcmljVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aFZh
bHVlKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIENTU01hdGhPcGVyYXRvciBnZXRPcGVyYXRvcigp
IGNvbnN0IHsgcmV0dXJuIG1fb3BlcmF0b3I7IH0KLSAgICAKLSAgICBDU1NTdHlsZVZhbHVlVHlw
ZSBnZXRUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01h
dGhWYWx1ZTsgfQotICAgIAorCiBwcm90ZWN0ZWQ6CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0
VHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRo
VmFsdWU7IH0KKwogICAgIENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3IpOwogICAgIENTU01h
dGhPcGVyYXRvciBtX29wZXJhdG9yOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmNwcAppbmRleCAwYjdkMTQ4NDI5NDQx
ZDg1ZTQ0NjE4MmM3NTQxZmU1OTAxOWY3OTUzLi45ZGU1MTkwMDk2YjliNDE3ZDY4ZjBmYjVkNTli
Y2EyMmRkMGFkNjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1l
cmljL0NTU051bWVyaWNBcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20v
bnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuY3BwCkBAIC00NSwxMSArNDUsMTYgQEAgUmVmPENTU051
bWVyaWNBcnJheT4gQ1NTTnVtZXJpY0FycmF5OjpjcmVhdGUoY29uc3QgRml4ZWRWZWN0b3I8Q1NT
TnVtYmVyaXNoPiYgbnUKICAgICB9KSkpOwogfQogCi1SZWY8Q1NTTnVtZXJpY0FycmF5PiBDU1NO
dW1lcmljQXJyYXk6OmNyZWF0ZShGaXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiB2
YWx1ZXMpCitSZWY8Q1NTTnVtZXJpY0FycmF5PiBDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShWZWN0
b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYgdmFsdWVzKQogewogICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IENTU051bWVyaWNBcnJheShXVEZNb3ZlKHZhbHVlcykpKTsKIH0KIAorQ1NTTnVtZXJp
Y0FycmF5OjpDU1NOdW1lcmljQXJyYXkoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIHZh
bHVlcykKKyAgICA6IG1fYXJyYXkoV1RGTW92ZSh2YWx1ZXMpKQoreworfQorCiBDU1NOdW1lcmlj
QXJyYXk6OkNTU051bWVyaWNBcnJheShGaXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4m
JiB2YWx1ZXMpCiAgICAgOiBtX2FycmF5KFdURk1vdmUodmFsdWVzKSkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNBcnJheS5oCmluZGV4
IDUxNmY5MWYzNGRlNGY1OGIzZGQzZTdjMGM2NjYxZDJiM2M5OWI1MjkuLjc0NDVlZmJkMTIwYmMz
Yjc2OTcwMzk0ODMxYTNhNGE5MjA5NzUzNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuaApAQCAtNDEsMTIgKzQxLDE0IEBA
IGNsYXNzIENTU051bWVyaWNBcnJheSA6IHB1YmxpYyBSZWZDb3VudGVkPENTU051bWVyaWNBcnJh
eT4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTnVtZXJpY0FycmF5KTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPENTU051bWVyaWNBcnJheT4gY3JlYXRlKGNvbnN0IEZpeGVkVmVj
dG9yPENTU051bWJlcmlzaD4mKTsKLSAgICBzdGF0aWMgUmVmPENTU051bWVyaWNBcnJheT4gY3Jl
YXRlKEZpeGVkVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKKyAgICBzdGF0aWMgUmVm
PENTU051bWVyaWNBcnJheT4gY3JlYXRlKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7
CiAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXkuc2l6ZSgpOyB9Owog
ICAgIEV4Y2VwdGlvbk9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBpdGVtKHNpemVfdCBpbmRleCk7
CisgICAgY29uc3QgVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYgYXJyYXkoKSBjb25zdCB7
IHJldHVybiBtX2FycmF5OyB9CiAKIHByaXZhdGU6Ci0gICAgRml4ZWRWZWN0b3I8UmVmPENTU051
bWVyaWNWYWx1ZT4+IG1fYXJyYXk7CisgICAgVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBt
X2FycmF5OworICAgIENTU051bWVyaWNBcnJheShWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+
JiYpOwogICAgIENTU051bWVyaWNBcnJheShGaXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVl
Pj4mJik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1l
cmljL0NTU051bWVyaWNUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmlj
L0NTU051bWVyaWNUeXBlLmgKaW5kZXggYzI5N2M1YTc3MWQ1Mjk2OWQ2ZDFjZmJkMzNkMDZmOTZh
NzM4NjIzZi4uMjNlMmQ5MGIxYjU4YTY4NDA4ODY5ZmNlZDI3Yzk5M2MxMTZkZTU0NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljVHlwZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY1R5cGUu
aApAQCAtMzIsMTMgKzMyLDEzIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBDU1NO
dW1lcmljVHlwZSB7Ci0gICAgbG9uZyBsZW5ndGg7Ci0gICAgbG9uZyBhbmdsZTsKLSAgICBsb25n
IHRpbWU7Ci0gICAgbG9uZyBmcmVxdWVuY3k7Ci0gICAgbG9uZyByZXNvbHV0aW9uOwotICAgIGxv
bmcgZmxleDsKLSAgICBsb25nIHBlcmNlbnQ7CisgICAgbG9uZyBsZW5ndGggeyAwIH07CisgICAg
bG9uZyBhbmdsZSB7IDAgfTsKKyAgICBsb25nIHRpbWUgeyAwIH07CisgICAgbG9uZyBmcmVxdWVu
Y3kgeyAwIH07CisgICAgbG9uZyByZXNvbHV0aW9uIHsgMCB9OworICAgIGxvbmcgZmxleCB7IDAg
fTsKKyAgICBsb25nIHBlcmNlbnQgeyAwIH07CiAgICAgQ1NTTnVtZXJpY0Jhc2VUeXBlIHBlcmNl
bnRIaW50OwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMzhkNjczNTVk
NDc4OWMxYTNlYmUxMTYwMmU1ZDg1NWFkODQ0NTA4ZC4uNjYzNmE1NjYzNTM2Y2VjMTkxNDc2NTQ1
OGJiZDBiMzkzNDdkYzRjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMjItMDMtMjEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQ1NTTnVtZXJpY1ZhbHVlLm11bCwgZGl2LCBh
ZGQsIHN1YiwgbWF4LCBhbmQgbWluCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzgxNTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXR5cGVkLW9tL3N0eWxl
dmFsdWUtc3ViY2xhc3Nlcy9udW1lcmljLW9iamVjdHMvYXJpdGhtZXRpYy50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0OgorCiAyMDIyLTAzLTIxICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW3NlbGVjdGlvbl0gSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnN1YnRyZWVI
YXNDaGFuZ2VkKCkgc2hvdWxkbid0IGJlIGNhbGxlZCBpbiBzZXRSYW5nZVRleHQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10
eXBlZC1vbS9zdHlsZXZhbHVlLXN1YmNsYXNzZXMvbnVtZXJpYy1vYmplY3RzL2FyaXRobWV0aWMu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy10eXBlZC1vbS9zdHlsZXZhbHVlLXN1YmNsYXNzZXMvbnVtZXJp
Yy1vYmplY3RzL2FyaXRobWV0aWMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCAxZmZkMGUw
YzYwMTRjNmFmNDBjYWEzZmJmZWJjZjBhZWE5OWMxNzYzLi41MzZlYTUyZTUzYjBjY2I4Y2UyNzgw
NjcwMzA2YTM0N2FmMTczOTNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHlwZWQtb20vc3R5bGV2YWx1ZS1zdWJjbGFzc2Vz
L251bWVyaWMtb2JqZWN0cy9hcml0aG1ldGljLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXR5cGVk
LW9tL3N0eWxldmFsdWUtc3ViY2xhc3Nlcy9udW1lcmljLW9iamVjdHMvYXJpdGhtZXRpYy50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDY1ICsxLDY1IEBACiAKIFBBU1MgQ2FsbGluZyBDU1NV
bml0VmFsdWUuYWRkIHdpdGggbm8gYXJndW1lbnRzIHJldHVybnMgaXRzZWxmCiBQQVNTIENhbGxp
bmcgQ1NTTWF0aFZhbHVlLmFkZCB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgotRkFJ
TCBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5hZGQgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFs
dWUgcmV0dXJucyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01hdGhT
dW0iIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUu
YWRkIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlCiBQ
QVNTIENhbGxpbmcgQ1NTTWF0aFZhbHVlLmFkZCB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1
ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQotRkFJTCBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5hZGQg
d2l0aCBtb3JlIHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVj
dCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoU3VtIiBidXQgZ290ICJDU1NV
bml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmFkZCB3aXRoIG1vcmUgdGhh
biBvbmUgbnVtYmVyIENTU051bWVyaWNWYWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5cGUKIFBBU1Mg
Q2FsbGluZyBDU1NOdW1lcmljVmFsdWUuYWRkIGNhbiB0YWtlIG51bWJlcmlzaCB2YWx1ZXMKLUZB
SUwgQ2FsbGluZyBDU1NNYXRoU3VtLmFkZCB3aXRoIG51bWJlciBDU1NVbml0VmFsdWVzIHNpbXBs
aWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU1VuaXRW
YWx1ZSIgYnV0IGdvdCAiQ1NTTWF0aFN1bSIKK1BBU1MgQ2FsbGluZyBDU1NNYXRoU3VtLmFkZCB3
aXRoIG51bWJlciBDU1NVbml0VmFsdWVzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKIFBB
U1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuYWRkIHdpdGggaW5jb21wYXRpYmxlIHR5cGVzIHRo
cm93cyBUeXBlRXJyb3IKIFBBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUuc3ViIHdpdGggbm8gYXJn
dW1lbnRzIHJldHVybnMgaXRzZWxmCiBQQVNTIENhbGxpbmcgQ1NTTWF0aFZhbHVlLnN1YiB3aXRo
IG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgotRkFJTCBDYWxsaW5nIENTU051bWVyaWNWYWx1
ZS5zdWIgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01hdGhTdW0iIGJ1dCBnb3QgIkNTU1VuaXRWYWx1
ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuc3ViIHdpdGggYSBzaW5nbGUgQ1NTTnVt
ZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlCiBQQVNTIENhbGxpbmcgQ1NTTWF0aFZhbHVl
LnN1YiB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQot
RkFJTCBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5zdWIgd2l0aCBtb3JlIHRoYW4gb25lIG51bWJl
ciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVjdCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJDU1NNYXRoU3VtIiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcg
Q1NTTnVtZXJpY1ZhbHVlLnN1YiB3aXRoIG1vcmUgdGhhbiBvbmUgbnVtYmVyIENTU051bWVyaWNW
YWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5cGUKIFBBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUu
c3ViIGNhbiB0YWtlIG51bWJlcmlzaCB2YWx1ZXMKLUZBSUwgQ2FsbGluZyBDU1NNYXRoU3VtLnN1
YiB3aXRoIG51bWJlciBDU1NVbml0VmFsdWVzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU1VuaXRWYWx1ZSIgYnV0IGdvdCAiQ1NTTWF0aFN1
bSIKK1BBU1MgQ2FsbGluZyBDU1NNYXRoU3VtLnN1YiB3aXRoIG51bWJlciBDU1NVbml0VmFsdWVz
IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKIFBBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFs
dWUuc3ViIHdpdGggaW5jb21wYXRpYmxlIHR5cGVzIHRocm93cyBUeXBlRXJyb3IKIFBBU1MgQ2Fs
bGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGggbm8gYXJndW1lbnRzIHJldHVybnMgaXRzZWxmCiBQ
QVNTIENhbGxpbmcgQ1NTTWF0aFZhbHVlLm11bCB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0
c2VsZgotRkFJTCBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5tdWwgd2l0aCBhIHNpbmdsZSBDU1NO
dW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
IkNTU01hdGhQcm9kdWN0IiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NT
TnVtZXJpY1ZhbHVlLm11bCB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNv
cnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5tdWwgd2l0aCBhIHNpbmdsZSBD
U1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKLUZBSUwgQ2FsbGluZyBDU1NOdW1l
cmljVmFsdWUubXVsIHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyBy
ZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFByb2R1
Y3QiIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUu
bXVsIHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNv
cnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5tdWwgY2FuIHRha2UgbnVt
YmVyaXNoIHZhbHVlcwotRkFJTCBDYWxsaW5nIENTU01hdGhQcm9kdWN0Lm11bCB3aXRoIG51bWJl
ciBDU1NVbml0VmFsdWVzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIkNTU1VuaXRWYWx1ZSIgYnV0IGdvdCAiQ1NTTWF0aFByb2R1Y3QiCitQQVNT
IENhbGxpbmcgQ1NTTWF0aFByb2R1Y3QubXVsIHdpdGggbnVtYmVyIENTU1VuaXRWYWx1ZXMgc2lt
cGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5t
dWwgd2l0aCBpbmNvbXBhdGlibGUgdHlwZXMgdGhyb3dzIFR5cGVFcnJvcgogUEFTUyBDYWxsaW5n
IENTU1VuaXRWYWx1ZS5kaXYgd2l0aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKIFBBU1Mg
Q2FsbGluZyBDU1NNYXRoVmFsdWUuZGl2IHdpdGggbm8gYXJndW1lbnRzIHJldHVybnMgaXRzZWxm
Ci1GQUlMIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmRpdiB3aXRoIGEgc2luZ2xlIENTU051bWVy
aWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NT
TWF0aFByb2R1Y3QiIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1l
cmljVmFsdWUuZGl2IHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVj
dCB0eXBlCiBQQVNTIENhbGxpbmcgQ1NTTWF0aFZhbHVlLmRpdiB3aXRoIGEgc2luZ2xlIENTU051
bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQotRkFJTCBDYWxsaW5nIENTU051bWVyaWNW
YWx1ZS5kaXYgd2l0aCBtb3JlIHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVy
bnMgY29ycmVjdCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoUHJvZHVjdCIg
YnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5kaXYg
d2l0aCBtb3JlIHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVj
dCB0eXBlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmRpdiBjYW4gdGFrZSBudW1iZXJp
c2ggdmFsdWVzCi1GQUlMIENhbGxpbmcgQ1NTTWF0aFByb2R1Y3QuZGl2IHdpdGggbnVtYmVyIENT
U1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiQ1NTVW5pdFZhbHVlIiBidXQgZ290ICJDU1NNYXRoUHJvZHVjdCIKK1BBU1MgQ2Fs
bGluZyBDU1NNYXRoUHJvZHVjdC5kaXYgd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlm
aWVzIHRvIGEgQ1NTVW5pdFZhbHVlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmRpdiB3
aXRoIGluY29tcGF0aWJsZSB0eXBlcyB0aHJvd3MgVHlwZUVycm9yCiBQQVNTIENhbGxpbmcgQ1NT
VW5pdFZhbHVlLm1pbiB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgogUEFTUyBDYWxs
aW5nIENTU01hdGhWYWx1ZS5taW4gd2l0aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKLUZB
SUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubWluIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1Zh
bHVlIHJldHVybnMgY29ycmVjdCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRo
TWluIiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVl
Lm1pbiB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQog
UEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5taW4gd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFs
dWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubWlu
IHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJl
Y3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aE1pbiIgYnV0IGdvdCAiQ1NT
VW5pdFZhbHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5taW4gd2l0aCBtb3JlIHRo
YW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVjdCB0eXBlCiBQQVNT
IENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1pbiBjYW4gdGFrZSBudW1iZXJpc2ggdmFsdWVzCi1G
QUlMIENhbGxpbmcgQ1NTTWF0aE1pbi5taW4gd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1w
bGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NVbml0
VmFsdWUiIGJ1dCBnb3QgIkNTU01hdGhNaW4iCitQQVNTIENhbGxpbmcgQ1NTTWF0aE1pbi5taW4g
d2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCiBQ
QVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1pbiB3aXRoIGluY29tcGF0aWJsZSB0eXBlcyB0
aHJvd3MgVHlwZUVycm9yCiBQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm1heCB3aXRoIG5vIGFy
Z3VtZW50cyByZXR1cm5zIGl0c2VsZgogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5tYXggd2l0
aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFs
dWUubWF4IHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBl
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoTWF4IiBidXQgZ290ICJDU1NVbml0VmFs
dWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1heCB3aXRoIGEgc2luZ2xlIENTU051
bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1
ZS5tYXggd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUK
LUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubWF4IHdpdGggbW9yZSB0aGFuIG9uZSBudW1i
ZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiQ1NTTWF0aE1heCIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBDYWxsaW5n
IENTU051bWVyaWNWYWx1ZS5tYXggd2l0aCBtb3JlIHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmlj
VmFsdWVzIHJldHVybnMgY29ycmVjdCB0eXBlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVl
Lm1heCBjYW4gdGFrZSBudW1iZXJpc2ggdmFsdWVzCi1GQUlMIENhbGxpbmcgQ1NTTWF0aE1heC5t
YXggd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVl
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NVbml0VmFsdWUiIGJ1dCBnb3QgIkNTU01hdGhN
YXgiCitQQVNTIENhbGxpbmcgQ1NTTWF0aE1heC5tYXggd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVl
cyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1Zh
bHVlLm1heCB3aXRoIGluY29tcGF0aWJsZSB0eXBlcyB0aHJvd3MgVHlwZUVycm9yCi1GQUlMIENh
bGxpbmcgQ1NTVW5pdFZhbHVlLmFkZCB3aXRoIENTU1VuaXRWYWx1ZXMgd2l0aCBzYW1lIHVuaXQg
c2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxNyBi
dXQgZ290IDEwCi1GQUlMIENhbGxpbmcgQ1NTVW5pdFZhbHVlLnN1YiB3aXRoIENTU1VuaXRWYWx1
ZXMgd2l0aCBzYW1lIHVuaXQgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAzIGJ1dCBnb3QgMTAKLUZBSUwgQ2FsbGluZyBDU1NVbml0VmFsdWUubXVs
IHdpdGggYWxsIG51bWJlcnMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdvdCAxMAotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5t
dWwgd2l0aCBvbmx5IG9uZSBub24tbnVtYmVyIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMTAKLUZBSUwgQ2FsbGluZyBDU1NV
bml0VmFsdWUubXVsIHdpdGggbW9yZSB0aGFuIG9uZSBub24tbnVtYmVyIGRvZXMgbm90IHNpbXBs
aWZ5IHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoUHJv
ZHVjdCIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5k
aXYgd2l0aCBhbGwgbnVtYmVycyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDEgYnV0IGdvdCAxMAotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5k
aXYgb24gYSBub24tbnVtYmVyIHZhbHVlIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDEwCi1GQUlMIENhbGxpbmcgQ1NTVW5pdFZh
bHVlLmRpdiB3aXRoIGEgbm9uLW51bWJlciB2YWx1ZSBpbiB0aGUgYXJndW1lbnRzIGRvZXMgbm90
IHNpbXBsaWZ5IHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NN
YXRoUHJvZHVjdCIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgotRkFJTCBDYWxsaW5nIENTU1VuaXRW
YWx1ZS5taW4gd2l0aCBDU1NVbml0VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZpZXMgdG8g
YSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDEwCitQQVNT
IENhbGxpbmcgQ1NTVW5pdFZhbHVlLmFkZCB3aXRoIENTU1VuaXRWYWx1ZXMgd2l0aCBzYW1lIHVu
aXQgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZQorUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1
ZS5zdWIgd2l0aCBDU1NVbml0VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZpZXMgdG8gYSBD
U1NVbml0VmFsdWUKK1BBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGggYWxsIG51bWJl
cnMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZQorUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1
ZS5tdWwgd2l0aCBvbmx5IG9uZSBub24tbnVtYmVyIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFs
dWUKK1BBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGggbW9yZSB0aGFuIG9uZSBub24t
bnVtYmVyIGRvZXMgbm90IHNpbXBsaWZ5IHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNTIENhbGxpbmcg
Q1NTVW5pdFZhbHVlLmRpdiB3aXRoIGFsbCBudW1iZXJzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0
VmFsdWUKK1BBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUuZGl2IG9uIGEgbm9uLW51bWJlciB2YWx1
ZSBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVl
LmRpdiB3aXRoIGEgbm9uLW51bWJlciB2YWx1ZSBpbiB0aGUgYXJndW1lbnRzIGRvZXMgbm90IHNp
bXBsaWZ5IHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm1pbiB3
aXRoIENTU1VuaXRWYWx1ZXMgd2l0aCBzYW1lIHVuaXQgc2ltcGxpZmllcyB0byBhIENTU1VuaXRW
YWx1ZQogUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5tYXggd2l0aCBDU1NVbml0VmFsdWVzIHdp
dGggc2FtZSB1bml0IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKLUZBSUwgQ2FsbGluZyBD
U1NOdW1lcmljVmFsdWUuc3ViIG5lZ2F0ZXMgYWxsIGFyZ3VtZW50IHZhbHVlcyBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFN1bSIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgotRkFJTCBD
YWxsaW5nIENTU051bWVyaWNWYWx1ZS5kaXYgaW52ZXJ0cyBhbGwgYXJndW1lbnQgdmFsdWVzIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoUHJvZHVjdCIgYnV0IGdvdCAiQ1NTVW5pdFZh
bHVlIgotRkFJTCBDYW4gbm90IGRpdmlkZSB3aXRoIENTU1VuaXRWYWx1ZSB3aGljaCBoYXMgemVy
byB2YWx1ZSBhbmQgbnVtYmVyIHR5cGUgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gIigpID0+
IENTUy5udW1iZXIoMikuZGl2KENTUy5udW1iZXIoMCkpIiBkaWQgbm90IHRocm93CitQQVNTIENh
bGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLnN1YiBuZWdhdGVzIGFsbCBhcmd1bWVudCB2YWx1ZXMKK1BB
U1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuZGl2IGludmVydHMgYWxsIGFyZ3VtZW50IHZhbHVl
cworUEFTUyBDYW4gbm90IGRpdmlkZSB3aXRoIENTU1VuaXRWYWx1ZSB3aGljaCBoYXMgemVybyB2
YWx1ZSBhbmQgbnVtYmVyIHR5cGUKIEZBSUwgQ1NTTnVtZXJpY1ZhbHVlLmFkZCBzaG91bGQgdGhy
b3cgVHlwZUVycm9yIHdoZW4gdGhlIHR5cGVzIGFyZSBkaWZmZXJlbnQuIGFzc2VydF90aHJvd3Nf
anM6IGZ1bmN0aW9uICIoKSA9PiBDU1MubnVtYmVyKDMpLmFkZChDU1MucHgoMTApICxDU1MubnVt
YmVyKDApKSIgZGlkIG5vdCB0aHJvdwogRkFJTCBDU1NOdW1lcmljVmFsdWUuc3ViIHNob3VsZCB0
aHJvdyBUeXBlRXJyb3Igd2hlbiB0aGUgdHlwZXMgYXJlIGRpZmZlcmVudC4gYXNzZXJ0X3Rocm93
c19qczogZnVuY3Rpb24gIigpID0+IENTUy5udW1iZXIoMykuc3ViKENTUy5weCgxMCkgLENTUy5u
dW1iZXIoMCkpIiBkaWQgbm90IHRocm93CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455278</attachid>
            <date>2022-03-21 14:57:39 -0700</date>
            <delta_ts>2022-03-21 15:28:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238153-20220321145738.patch</filename>
            <type>text/plain</type>
            <size>43480</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgwOTYzNDY1YjQzZGFi
MWFlNjkyYjg2YWRmODMzYjliN2FhMmZhZi4uYTBhMDZhYzdmMDc2M2E4YTExNjM3MGJhM2M1OTMz
MzI3MGQ3YjQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDIyLTAzLTIxICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVt
ZW50IENTU051bWVyaWNWYWx1ZS5tdWwsIGRpdiwgYWRkLCBzdWIsIG1heCwgYW5kIG1pbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MTUzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbXBsZW1l
bnRzIGFsbCBleGNlcHQgdGhlIGRlcml2ZWQgdW5pdHMgb2YgbXVsdGlwbGljYXRpb24gYW5kIHRo
ZSB1bml0IGNoZWNraW5nIG9mIHRoZSBvdGhlcnMuCisgICAgICAgIFRoZXkgYXJlIGFuIG9mZi1i
eS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIHJpZ2h0IG5vdywgcGFydCBvZiBjc3MtdHlw
ZWQtb20gd2hpY2ggaXMgYmVpbmcgaW1wbGVtZW50ZWQuCisgICAgICAgIFRoZXkgYXJlIGNvdmVy
ZWQgYnkgd3B0IHRlc3RzLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NTdHlsZVZhbHVl
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAg
ICAqIGNzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpu
ZWdhdGUpOgorICAgICAgICAoV2ViQ29yZTo6aW52ZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6Om9w
ZXJhdGlvbk9uVmFsdWVzT2ZTYW1lVW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmlj
VmFsdWU6OnByZXBlbmRJdGVtc09mVHlwZU9yVGhpcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NO
dW1lcmljVmFsdWU6OmFkZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNW
YWx1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZTo6c3ViKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZTo6bXVsdGlwbHlJbnRlcm5hbCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6Om11bCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NOdW1lcmljVmFsdWU6OmRpdik6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6
Om1pbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6Om1heCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6OnJlY3RpZnlOdW1iZXJpc2gpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTTnVtZXJpY1ZhbHVlOjp0b1N1bSk6CisgICAgICAgICogY3NzL3R5cGVkb20v
Q1NTTnVtZXJpY1ZhbHVlLmg6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5o
OgorICAgICAgICAqIGNzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aEludmVydC5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTTWF0aEludmVydDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TWF0aEludmVydDo6dmFsdWUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGNzcy90eXBlZG9t
L251bWVyaWMvQ1NTTWF0aE1heC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoTWF4OjpD
U1NNYXRoTWF4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhNYXg6OmNyZWF0ZSk6IERlbGV0
ZWQuCisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4Lmg6CisgICAgICAg
IChXZWJDb3JlOjpDU1NNYXRoTWF4OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0
aE1heDo6dmFsdWVUeXBlKToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhN
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aE1pbjo6Q1NTTWF0aE1pbik6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NNYXRoTWluOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1pbi5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0
aE1pbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhNaW46OnZhbHVlVHlwZSk6
CisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTmVnYXRlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTTWF0aE5lZ2F0ZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvdHlw
ZWRvbS9udW1lcmljL0NTU01hdGhOZWdhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhO
ZWdhdGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoTmVnYXRlOjp2YWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoTmVnYXRlOjp2YWx1ZSBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NNYXRoUHJvZHVjdDo6Q1NTTWF0aFByb2R1Y3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTTWF0aFByb2R1Y3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogY3Nz
L3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TWF0aFByb2R1Y3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoUHJvZHVjdDo6
dmFsdWVUeXBlKToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhTdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aFN1bTo6Q1NTTWF0aFN1bSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NNYXRoU3VtOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTTWF0aFN1bTo6dmFsdWVzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvdHlwZWRv
bS9udW1lcmljL0NTU01hdGhTdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhTdW06OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoU3VtOjp2YWx1ZXMgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTTWF0aFN1bTo6dmFsdWVUeXBlKToKKyAgICAgICAgKiBjc3MvdHlw
ZWRvbS9udW1lcmljL0NTU01hdGhWYWx1ZS5oOgorICAgICAgICAqIGNzcy90eXBlZG9tL251bWVy
aWMvQ1NTTnVtZXJpY0FycmF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNBcnJh
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNBcnJheTo6Q1NTTnVtZXJp
Y0FycmF5KToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNBcnJheS5o
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTTnVtZXJpY0FycmF5OjphcnJheSBjb25zdCk6CisgICAg
ICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljVHlwZS5oOgorCiAyMDIyLTAzLTIx
ICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW3NlbGVjdGlvbl0gSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnN1YnRyZWVIYXNDaGFuZ2VkKCkgc2hvdWxkbid0IGJl
IGNhbGxlZCBpbiBzZXRSYW5nZVRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwCmluZGV4IDBhYTY4ODQxZGVhNjJmNDEyNTM4
NTIxN2UwNGMyYmQxOWRkZDFmZGQuLjA3MzE3NTc4NTJjYmQ5ZGNiZjg4ZWQzOWYyMTlkNDJkYTUx
MTEyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVW
YWx1ZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHls
ZVZhbHVlQ3VzdG9tLmNwcApAQCAtMjksOSArMjksMTYgQEAKICNpZiBFTkFCTEUoQ1NTX1RZUEVE
X09NKQogCiAjaW5jbHVkZSAiSlNDU1NLZXl3b3JkVmFsdWUuaCIKKyNpbmNsdWRlICJKU0NTU01h
dGhJbnZlcnQuaCIKKyNpbmNsdWRlICJKU0NTU01hdGhNYXguaCIKKyNpbmNsdWRlICJKU0NTU01h
dGhNaW4uaCIKKyNpbmNsdWRlICJKU0NTU01hdGhOZWdhdGUuaCIKKyNpbmNsdWRlICJKU0NTU01h
dGhQcm9kdWN0LmgiCisjaW5jbHVkZSAiSlNDU1NNYXRoU3VtLmgiCiAjaW5jbHVkZSAiSlNDU1NN
YXRoVmFsdWUuaCIKICNpbmNsdWRlICJKU0NTU051bWVyaWNWYWx1ZS5oIgogI2luY2x1ZGUgIkpT
Q1NTU3R5bGVJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiSlNDU1NUcmFuc2Zvcm1WYWx1ZS5oIgog
I2luY2x1ZGUgIkpTQ1NTVW5pdFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNDU1NVbnBhcnNlZFZhbHVl
LmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTQ2LDggKzUzLDIwIEBAIEpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFJlZjxDCiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1N0
eWxlSW1hZ2VWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7CiAgICAgY2FzZSBD
U1NTdHlsZVZhbHVlVHlwZTo6Q1NTTnVtZXJpY1ZhbHVlOgogICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxDU1NOdW1lcmljVmFsdWU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwor
ICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhJbnZlcnQ6CisgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPENTU01hdGhJbnZlcnQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1
ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhNaW46CisgICAgICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhNaW4+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1
ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhNYXg6CisgICAgICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhNYXg+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1
ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhOZWdhdGU6CisgICAgICAg
IHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhOZWdhdGU+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhQcm9kdWN0Ogor
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNYXRoUHJvZHVjdD4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKHZhbHVlKSk7CiAgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFZh
bHVlOgogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNYXRoVmFsdWU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01h
dGhTdW06CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhTdW0+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1Vu
aXRWYWx1ZToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVW5pdFZhbHVlPihnbG9i
YWxPYmplY3QsIFdURk1vdmUodmFsdWUpKTsKICAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpD
U1NVbnBhcnNlZFZhbHVlOgpAQCAtNTUsNiArNzQsNyBAQCBKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8
QwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU0tleXdvcmRWYWx1ZToKICAgICAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTS2V5d29yZFZhbHVlPihnbG9iYWxPYmplY3QsIFdURk1v
dmUodmFsdWUpKTsKICAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NUcmFuc2Zvcm1WYWx1
ZToKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVHJhbnNmb3JtVmFsdWU+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNT
U1N0eWxlVmFsdWU6CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1N0eWxlVmFsdWU+
KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuY3BwCmluZGV4IDU2NDM3NzEzNzU5ZmE3MDI4
NGQ3Mzc1NTNhZTNhM2MzYmRlY2MxZWYuLjFhODFiMGJkODM4MDM0MjJlZGFiMjkxY2Y2MjI5NDQw
NzQ4NTNiNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVy
aWNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1Zh
bHVlLmNwcApAQCAtMzAsNjggKzMwLDE5MCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkNTU051bWVyaWNWYWx1ZS5oIgogCisjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKKworI2lu
Y2x1ZGUgIkNTU01hdGhJbnZlcnQuaCIKKyNpbmNsdWRlICJDU1NNYXRoTWF4LmgiCisjaW5jbHVk
ZSAiQ1NTTWF0aE1pbi5oIgorI2luY2x1ZGUgIkNTU01hdGhOZWdhdGUuaCIKKyNpbmNsdWRlICJD
U1NNYXRoUHJvZHVjdC5oIgogI2luY2x1ZGUgIkNTU01hdGhTdW0uaCIKKyNpbmNsdWRlICJDU1NO
dW1lcmljQXJyYXkuaCIKICNpbmNsdWRlICJDU1NOdW1lcmljRmFjdG9yeS5oIgogI2luY2x1ZGUg
IkNTU051bWVyaWNUeXBlLmgiCiAjaW5jbHVkZSAiQ1NTVW5pdFZhbHVlLmgiCiAjaW5jbHVkZSAi
RXhjZXB0aW9uT3IuaCIKLQotI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCi0KICNpbmNsdWRlIDx3
dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtF
X0lTT19BTExPQ0FURURfSU1QTChDU1NOdW1lcmljVmFsdWUpOwogCi1SZWY8Q1NTTnVtZXJpY1Zh
bHVlPiBDU1NOdW1lcmljVmFsdWU6OmFkZChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFs
dWVzKQorc3RhdGljIFJlZjxDU1NOdW1lcmljVmFsdWU+IG5lZ2F0ZShSZWY8Q1NTTnVtZXJpY1Zh
bHVlPiYmIHZhbHVlKQogewotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIC8vIEZJWE1F
OiBhZGQgaW1wbC4KKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXR5
cGVkLW9tLyNjc3NtYXRoLW5lZ2F0ZS1hLWNzc251bWVyaWN2YWx1ZQorICAgIGlmICh2YWx1ZS0+
Z2V0VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTmVnYXRlKQorICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTTWF0aE5lZ2F0ZSY+KHZhbHVlLmdldCgpKS52YWx1ZSgpOwor
ICAgIGlmICh2YWx1ZS0+Z2V0VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NVbml0VmFs
dWUpIHsKKyAgICAgICAgYXV0byYgdGhpc1ZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTVW5pdFZhbHVl
Jj4odmFsdWUuZ2V0KCkpOworICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUoLXRo
aXNWYWx1ZS52YWx1ZSgpLCB0aGlzVmFsdWUudW5pdCgpKTsKKyAgICB9CisgICAgcmV0dXJuIENT
U01hdGhOZWdhdGU6OmNyZWF0ZShXVEZNb3ZlKHZhbHVlKSk7Cit9CisKK3N0YXRpYyBFeGNlcHRp
b25PcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4gaW52ZXJ0KFJlZjxDU1NOdW1lcmljVmFsdWU+JiYg
dmFsdWUpCit7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy10eXBl
ZC1vbS8jY3NzbWF0aC1pbnZlcnQtYS1jc3NudW1lcmljdmFsdWUKKyAgICBpZiAodmFsdWUtPmdl
dFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aEludmVydCkKKyAgICAgICAgcmV0
dXJuIFJlZiB7IHN0YXRpY19jYXN0PENTU01hdGhJbnZlcnQmPih2YWx1ZS5nZXQoKSkudmFsdWUo
KSB9OworCisgICAgaWYgKHZhbHVlLT5nZXRUeXBlKCkgPT0gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNT
U1VuaXRWYWx1ZSkgeworICAgICAgICBhdXRvJiB0aGlzVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NV
bml0VmFsdWUmPih2YWx1ZS5nZXQoKSk7CisgICAgICAgIGlmICh0aGlzVmFsdWUudW5pdCgpID09
ICJudW1iZXIiKSB7CisgICAgICAgICAgICBpZiAodGhpc1ZhbHVlLnZhbHVlKCkgPT0gMC4wIHx8
IHRoaXNWYWx1ZS52YWx1ZSgpID09IC0wLjApCisgICAgICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IFJhbmdlRXJyb3IgfTsKKyAgICAgICAgICAgIHJldHVybiBSZWY8Q1NTTnVtZXJpY1Zh
bHVlPiB7IENTU1VuaXRWYWx1ZTo6Y3JlYXRlKDEuMCAvIHRoaXNWYWx1ZS52YWx1ZSgpLCB0aGlz
VmFsdWUudW5pdCgpKSB9OworICAgICAgICB9CisgICAgfQogCi0gICAgcmV0dXJuICp0aGlzOwor
ICAgIHJldHVybiBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiB7IENTU01hdGhJbnZlcnQ6OmNyZWF0ZShX
VEZNb3ZlKHZhbHVlKSkgfTsKIH0KIAotUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1Zh
bHVlOjpzdWIoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+CitzdGF0aWMgUmVmUHRyPENTU051bWVyaWNWYWx1ZT4gb3BlcmF0aW9uT25WYWx1
ZXNPZlNhbWVVbml0KFQmJiBvcGVyYXRpb24sIGNvbnN0IFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1Zh
bHVlPj4mIHZhbHVlcykKIHsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVzKTsKLSAgICAvLyBGSVhN
RTogYWRkIGltcGwuCisgICAgYm9vbCBhbGxWYWx1ZXNIYXZlU2FtZVVuaXQgPSB2YWx1ZXMuc2l6
ZSgpICYmIFdURjo6YWxsT2YodmFsdWVzLCBbJl0gKGNvbnN0IFJlZjxDU1NOdW1lcmljVmFsdWU+
JiB2YWx1ZSkgeworICAgICAgICByZXR1cm4gdmFsdWUtPmdldFR5cGUoKSA9PSBDU1NTdHlsZVZh
bHVlVHlwZTo6Q1NTVW5pdFZhbHVlCisgICAgICAgICAgICAmJiBzdGF0aWNfY2FzdDxjb25zdCBD
U1NVbml0VmFsdWUmPih2YWx1ZS5nZXQoKSkudW5pdCgpID09IHN0YXRpY19jYXN0PGNvbnN0IENT
U1VuaXRWYWx1ZSY+KHZhbHVlc1swXS5nZXQoKSkudW5pdCgpOworICAgIH0pOworICAgIGlmIChh
bGxWYWx1ZXNIYXZlU2FtZVVuaXQpIHsKKyAgICAgICAgU3RyaW5nIHVuaXQgPSBzdGF0aWNfY2Fz
dDxDU1NVbml0VmFsdWUmPih2YWx1ZXNbMF0uZ2V0KCkpLnVuaXQoKTsKKyAgICAgICAgZG91Ymxl
IHJlc3VsdCA9IHN0YXRpY19jYXN0PGNvbnN0IENTU1VuaXRWYWx1ZSY+KHZhbHVlc1swXS5nZXQo
KSkudmFsdWUoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCB2YWx1ZXMuc2l6ZSgp
OyBpKyspCisgICAgICAgICAgICByZXN1bHQgPSBvcGVyYXRpb24ocmVzdWx0LCBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NVbml0VmFsdWUmPih2YWx1ZXNbaV0uZ2V0KCkpLnZhbHVlKCkpOworICAgICAg
ICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUocmVzdWx0LCB1bml0KTsKKyAgICB9CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CiAKLSAgICByZXR1cm4gKnRoaXM7Cit0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IENTU051bWVyaWNWYWx1ZTo6cHJlcGVu
ZEl0ZW1zT2ZUeXBlT3JUaGlzKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiBudW1lcmlj
VmFsdWVzKQoreworICAgIFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4gdmFsdWVzOworICAg
IGlmIChnZXRUeXBlKCkgPT0gVDo6dmFsdWVUeXBlKCkpCisgICAgICAgIHZhbHVlcy5hcHBlbmRW
ZWN0b3Ioc3RhdGljX2Nhc3Q8VCo+KHRoaXMpLT52YWx1ZXMoKS5hcnJheSgpKTsKKyAgICBlbHNl
CisgICAgICAgIHZhbHVlcy5hcHBlbmQoKnRoaXMpOworICAgIHZhbHVlcy5hcHBlbmRWZWN0b3Io
bnVtZXJpY1ZhbHVlcyk7CisgICAgcmV0dXJuIHZhbHVlczsKIH0KIAotUmVmPENTU051bWVyaWNW
YWx1ZT4gQ1NTTnVtZXJpY1ZhbHVlOjptdWwoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZh
bHVlcykKK1JlZjxDU1NOdW1lcmljVmFsdWU+IENTU051bWVyaWNWYWx1ZTo6YWRkSW50ZXJuYWwo
VmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIG51bWVyaWNWYWx1ZXMpCiB7Ci0gICAgVU5V
U0VEX1BBUkFNKHZhbHVlcyk7Ci0gICAgLy8gRklYTUU6IGFkZCBpbXBsLgorICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtdHlwZWQtb20vI2RvbS1jc3NudW1lcmljdmFs
dWUtYWRkCisgICAgYXV0byB2YWx1ZXMgPSBwcmVwZW5kSXRlbXNPZlR5cGVPclRoaXM8Q1NTTWF0
aFN1bT4oV1RGTW92ZShudW1lcmljVmFsdWVzKSk7CiAKLSAgICByZXR1cm4gKnRoaXM7CisgICAg
aWYgKGF1dG8gcmVzdWx0ID0gb3BlcmF0aW9uT25WYWx1ZXNPZlNhbWVVbml0KHN0ZDo6cGx1czxk
b3VibGU+KCksIHZhbHVlcykpCisgICAgICAgIHJldHVybiAqcmVzdWx0OworCisgICAgLy8gRklY
TUU6IEltcGxlbWVudCBzdGVwIDQgdG8gY2hlY2sgdGhhdCB0aGUgdHlwZXMgY2FuIGJlIGFkZGVk
LgorCisgICAgcmV0dXJuIENTU01hdGhTdW06OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykpOwogfQog
Ci1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6OmRpdihGaXhlZFZlY3RvcjxD
U1NOdW1iZXJpc2g+JiYgdmFsdWVzKQorUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1Zh
bHVlOjphZGQoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKIHsKLSAgICBVTlVT
RURfUEFSQU0odmFsdWVzKTsKLSAgICAvLyBGSVhNRTogYWRkIGltcGwuCisgICAgcmV0dXJuIGFk
ZEludGVybmFsKFdURjo6bWFwKFdURk1vdmUodmFsdWVzKSwgcmVjdGlmeU51bWJlcmlzaCkpOwor
fQogCi0gICAgcmV0dXJuICp0aGlzOworUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1Zh
bHVlOjpzdWIoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKK3sKKyAgICByZXR1
cm4gYWRkSW50ZXJuYWwoV1RGOjptYXAoV1RGTW92ZSh2YWx1ZXMpLCBbXSAoQ1NTTnVtYmVyaXNo
JiYgbnVtYmVyaXNoKSB7CisgICAgICAgIHJldHVybiBuZWdhdGUocmVjdGlmeU51bWJlcmlzaChX
VEZNb3ZlKG51bWJlcmlzaCkpKTsKKyAgICB9KSk7CiB9Ci1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBD
U1NOdW1lcmljVmFsdWU6Om1pbihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVzKQor
CitSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6Om11bHRpcGx5SW50ZXJuYWwo
VmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIG51bWVyaWNWYWx1ZXMpCiB7Ci0gICAgVU5V
U0VEX1BBUkFNKHZhbHVlcyk7Ci0gICAgLy8gRklYTUU6IGFkZCBpbXBsLgorICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtdHlwZWQtb20vI2RvbS1jc3NudW1lcmljdmFs
dWUtbXVsCisgICAgYXV0byB2YWx1ZXMgPSBwcmVwZW5kSXRlbXNPZlR5cGVPclRoaXM8Q1NTTWF0
aFByb2R1Y3Q+KFdURk1vdmUobnVtZXJpY1ZhbHVlcykpOworCisgICAgYm9vbCBhbGxVbml0VmFs
dWVzID0gV1RGOjphbGxPZih2YWx1ZXMsIFsmXSAoY29uc3QgUmVmPENTU051bWVyaWNWYWx1ZT4m
IHZhbHVlKSB7CisgICAgICAgIHJldHVybiB2YWx1ZS0+Z2V0VHlwZSgpID09IENTU1N0eWxlVmFs
dWVUeXBlOjpDU1NVbml0VmFsdWU7CisgICAgfSk7CisgICAgaWYgKGFsbFVuaXRWYWx1ZXMpIHsK
KyAgICAgICAgYm9vbCBtdWx0aXBsZVVuaXRzRm91bmQgeyBmYWxzZSB9OworICAgICAgICBzdGQ6
Om9wdGlvbmFsPHNpemVfdD4gbm9uTnVtYmVyVW5pdEluZGV4OworICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHZhbHVlcy5zaXplKCk7IGkrKykgeworICAgICAgICAgICAgYXV0byYgdW5p
dCA9IHN0YXRpY19jYXN0PGNvbnN0IENTU1VuaXRWYWx1ZSY+KHZhbHVlc1tpXS5nZXQoKSkudW5p
dCgpOworICAgICAgICAgICAgaWYgKHVuaXQgPT0gIm51bWJlciIpCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICBpZiAobm9uTnVtYmVyVW5pdEluZGV4KSB7CisgICAgICAg
ICAgICAgICAgbXVsdGlwbGVVbml0c0ZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG5vbk51bWJlclVuaXRJbmRleCA9IGk7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKCFtdWx0aXBsZVVuaXRzRm91bmQpIHsKKyAgICAgICAgICAg
IGRvdWJsZSBwcm9kdWN0ID0gMTsKKyAgICAgICAgICAgIGZvciAoY29uc3QgUmVmPENTU051bWVy
aWNWYWx1ZT4mIHZhbHVlIDogdmFsdWVzKQorICAgICAgICAgICAgICAgIHByb2R1Y3QgKj0gc3Rh
dGljX2Nhc3Q8Y29uc3QgQ1NTVW5pdFZhbHVlJj4odmFsdWUuZ2V0KCkpLnZhbHVlKCk7CisgICAg
ICAgICAgICBTdHJpbmcgdW5pdCA9IG5vbk51bWJlclVuaXRJbmRleCA/IHN0YXRpY19jYXN0PGNv
bnN0IENTU1VuaXRWYWx1ZSY+KHZhbHVlc1sqbm9uTnVtYmVyVW5pdEluZGV4XS5nZXQoKSkudW5p
dCgpIDogIm51bWJlciI7CisgICAgICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUo
cHJvZHVjdCwgdW5pdCk7CisgICAgICAgIH0KKyAgICB9CiAKLSAgICByZXR1cm4gKnRoaXM7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCBzdGVwIDUgdG8gcHJvZHVjZSBhIHVuaXQgb2YgdGhlIGNv
cnJlY3QgdHlwZS4KKworICAgIHJldHVybiBDU1NNYXRoUHJvZHVjdDo6Y3JlYXRlKFdURk1vdmUo
dmFsdWVzKSk7CiB9Ci1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6Om1heChG
aXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVzKQorCitSZWY8Q1NTTnVtZXJpY1ZhbHVl
PiBDU1NOdW1lcmljVmFsdWU6Om11bChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVz
KQogewotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIC8vIEZJWE1FOiBhZGQgaW1wbC4K
KyAgICByZXR1cm4gbXVsdGlwbHlJbnRlcm5hbChXVEY6Om1hcChXVEZNb3ZlKHZhbHVlcyksIHJl
Y3RpZnlOdW1iZXJpc2gpKTsKK30KKworRXhjZXB0aW9uT3I8UmVmPENTU051bWVyaWNWYWx1ZT4+
IENTU051bWVyaWNWYWx1ZTo6ZGl2KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiB2YWx1ZXMp
Cit7CisgICAgVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBpbnZlcnRlZFZhbHVlczsKKyAg
ICBpbnZlcnRlZFZhbHVlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHZhbHVlcy5zaXplKCkpOwor
ICAgIGZvciAoYXV0byYmIHZhbHVlIDogV1RGTW92ZSh2YWx1ZXMpKSB7CisgICAgICAgIGF1dG8g
aW52ZXJ0ZWQgPSBpbnZlcnQocmVjdGlmeU51bWJlcmlzaChXVEZNb3ZlKHZhbHVlKSkpOworICAg
ICAgICBpZiAoaW52ZXJ0ZWQuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gaW52
ZXJ0ZWQucmVsZWFzZUV4Y2VwdGlvbigpOworICAgICAgICBpbnZlcnRlZFZhbHVlcy51bmNoZWNr
ZWRBcHBlbmQoaW52ZXJ0ZWQucmVsZWFzZVJldHVyblZhbHVlKCkpOworICAgIH0KKyAgICByZXR1
cm4gbXVsdGlwbHlJbnRlcm5hbChXVEZNb3ZlKGludmVydGVkVmFsdWVzKSk7Cit9CisKK1JlZjxD
U1NOdW1lcmljVmFsdWU+IENTU051bWVyaWNWYWx1ZTo6bWluKEZpeGVkVmVjdG9yPENTU051bWJl
cmlzaD4mJiBudW1iZXJpc2hlcykKK3sKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGlu
aS5vcmcvY3NzLXR5cGVkLW9tLyNkb20tY3NzbnVtZXJpY3ZhbHVlLW1pbgorICAgIGF1dG8gdmFs
dWVzID0gcHJlcGVuZEl0ZW1zT2ZUeXBlT3JUaGlzPENTU01hdGhNaW4+KFdURjo6bWFwKFdURk1v
dmUobnVtYmVyaXNoZXMpLCByZWN0aWZ5TnVtYmVyaXNoKSk7CisgICAgCisgICAgaWYgKGF1dG8g
cmVzdWx0ID0gb3BlcmF0aW9uT25WYWx1ZXNPZlNhbWVVbml0PGNvbnN0IGRvdWJsZSYoKikoY29u
c3QgZG91YmxlJiwgY29uc3QgZG91YmxlJik+KHN0ZDo6bWluPGRvdWJsZT4sIHZhbHVlcykpCisg
ICAgICAgIHJldHVybiAqcmVzdWx0OworCisgICAgLy8gRklYTUU6IEltcGxlbWVudCBzdGVwIDQg
dG8gY2hlY2sgdGhhdCB0aGUgdHlwZXMgY2FuIGJlIGFkZGVkLgorCisgICAgcmV0dXJuIENTU01h
dGhNaW46OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykpOworfQorCitSZWY8Q1NTTnVtZXJpY1ZhbHVl
PiBDU1NOdW1lcmljVmFsdWU6Om1heChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVy
aXNoZXMpCit7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy10eXBl
ZC1vbS8jZG9tLWNzc251bWVyaWN2YWx1ZS1tYXgKKyAgICBhdXRvIHZhbHVlcyA9IHByZXBlbmRJ
dGVtc09mVHlwZU9yVGhpczxDU1NNYXRoTWF4PihXVEY6Om1hcChXVEZNb3ZlKG51bWJlcmlzaGVz
KSwgcmVjdGlmeU51bWJlcmlzaCkpOworICAgIAorICAgIGlmIChhdXRvIHJlc3VsdCA9IG9wZXJh
dGlvbk9uVmFsdWVzT2ZTYW1lVW5pdDxjb25zdCBkb3VibGUmKCopKGNvbnN0IGRvdWJsZSYsIGNv
bnN0IGRvdWJsZSYpPihzdGQ6Om1heDxkb3VibGU+LCB2YWx1ZXMpKQorICAgICAgICByZXR1cm4g
KnJlc3VsdDsKKworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgc3RlcCA0IHRvIGNoZWNrIHRoYXQg
dGhlIHR5cGVzIGNhbiBiZSBhZGRlZC4KIAotICAgIHJldHVybiAqdGhpczsKKyAgICByZXR1cm4g
Q1NTTWF0aE1heDo6Y3JlYXRlKFdURk1vdmUodmFsdWVzKSk7CiB9CiAKIFJlZjxDU1NOdW1lcmlj
VmFsdWU+IENTU051bWVyaWNWYWx1ZTo6cmVjdGlmeU51bWJlcmlzaChDU1NOdW1iZXJpc2gmJiBu
dW1iZXJpc2gpCiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy10
eXBlZC1vbS8jcmVjdGlmeS1hLW51bWJlcmlzaC12YWx1ZQogICAgIHJldHVybiBXVEY6OnN3aXRj
aE9uKG51bWJlcmlzaCwgW10oUmVmUHRyPENTU051bWVyaWNWYWx1ZT4mIHZhbHVlKSB7CiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKCEhdmFsdWUpOwogICAgICAgICByZXR1cm4gUmVmPENTU051bWVy
aWNWYWx1ZT4geyAqdmFsdWUgfTsKQEAgLTEyMSw3ICsyNDMsNyBAQCBSZWY8Q1NTTWF0aFN1bT4g
Q1NTTnVtZXJpY1ZhbHVlOjp0b1N1bShGaXhlZFZlY3RvcjxTdHJpbmc+JiYgdW5pdHMpCiAgICAg
VU5VU0VEX1BBUkFNKHVuaXRzKTsKICAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5v
cmcvY3NzLXR5cGVkLW9tLyNkb20tY3NzbnVtZXJpY3ZhbHVlLXRvc3VtCiAgICAgLy8gRklYTUU6
IGFkZCBpbXBsLgotICAgIHJldHVybiBDU1NNYXRoU3VtOjpjcmVhdGUoeyAxLjAgfSk7CisgICAg
cmV0dXJuIENTU01hdGhTdW06OmNyZWF0ZShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+IHsgMS4w
IH0pOwogfQogCiBDU1NOdW1lcmljVHlwZSBDU1NOdW1lcmljVmFsdWU6OnR5cGUoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuaAppbmRleCAwNDJkOTVmMjk2
Mjc2ZTViMzhjOGY3NWUwNzQxNGYzNGE2MzJhZjIzLi4yODk5OTRiNzVhYjAwNGRlYjQyMDgyOWY2
ODUyZDJmZDAxMmQ5MjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9D
U1NOdW1lcmljVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1l
cmljVmFsdWUuaApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgUmVmPENTU051bWVyaWNW
YWx1ZT4gYWRkKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CiAgICAgUmVmPENTU051bWVy
aWNWYWx1ZT4gc3ViKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CiAgICAgUmVmPENTU051
bWVyaWNWYWx1ZT4gbXVsKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7Ci0gICAgUmVmPENT
U051bWVyaWNWYWx1ZT4gZGl2KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CisgICAgRXhj
ZXB0aW9uT3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IGRpdihGaXhlZFZlY3RvcjxDU1NOdW1iZXJp
c2g+JiYpOwogICAgIFJlZjxDU1NOdW1lcmljVmFsdWU+IG1pbihGaXhlZFZlY3RvcjxDU1NOdW1i
ZXJpc2g+JiYpOwogICAgIFJlZjxDU1NOdW1lcmljVmFsdWU+IG1heChGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOwogICAgIApAQCAtNjAsMTAgKzYwLDE0IEBAIHB1YmxpYzoKICAgICAKICAg
ICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IHBhcnNlKFN0cmluZyYm
KTsKICAgICBzdGF0aWMgUmVmPENTU051bWVyaWNWYWx1ZT4gcmVjdGlmeU51bWJlcmlzaChDU1NO
dW1iZXJpc2gmJik7Ci0gICAgCisKICAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU051bWVyaWNWYWx1ZTsg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmPENTU051bWVyaWNWYWx1ZT4gYWRkSW50ZXJuYWwoVmVj
dG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKKyAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBt
dWx0aXBseUludGVybmFsKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBwcmVwZW5kSXRl
bXNPZlR5cGVPclRoaXMoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKKwogICAgIENT
U051bWVyaWNWYWx1ZSgpID0gZGVmYXVsdDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1N0eWxlVmFsdWUuaAppbmRleCAyZGFkNGE5MjRjMGVmNzQzNmMwNWQ5MGI5NGRjNDU0
ZDBiNjFkMDk2Li42ODU5OWVlMWJjNzM1MzFhNTdiMzVjM2Q4MDkyNGYyYTNiNWMwYzJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oCkBAIC00NCw2ICs0NCwx
MiBAQCBlbnVtIGNsYXNzIENTU1N0eWxlVmFsdWVUeXBlIDogdWludDhfdCB7CiAgICAgQ1NTU3R5
bGVJbWFnZVZhbHVlLAogICAgIENTU1RyYW5zZm9ybVZhbHVlLAogICAgIENTU051bWVyaWNWYWx1
ZSwKKyAgICBDU1NNYXRoSW52ZXJ0LAorICAgIENTU01hdGhNaW4sCisgICAgQ1NTTWF0aE1heCwK
KyAgICBDU1NNYXRoTmVnYXRlLAorICAgIENTU01hdGhQcm9kdWN0LAorICAgIENTU01hdGhTdW0s
CiAgICAgQ1NTTWF0aFZhbHVlLAogICAgIENTU1VuaXRWYWx1ZSwKICAgICBDU1NVbnBhcnNlZFZh
bHVlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoSW52ZXJ0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJ
bnZlcnQuaAppbmRleCBlMDlhODA2Y2IxNTI3YzkyZDk3NDhlOTQxOGYxYzQ4NDNiMTU0N2I2Li5j
ZGNkYzZkNDlkYWI2NTUwZTdhOWVmMDY1MjE2NjBmZmY0YzIwMGZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJbnZlcnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJbnZlcnQuaApAQCAtMzUsOSAr
MzUsMTEgQEAgY2xhc3MgQ1NTTWF0aEludmVydCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aEludmVydCk7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxDU1NNYXRoSW52ZXJ0PiBjcmVhdGUoQ1NTTnVtYmVyaXNoJiYpOwotICAgIGNvbnN0
IENTU051bWVyaWNWYWx1ZSYgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9
CisgICAgQ1NTTnVtZXJpY1ZhbHVlJiB2YWx1ZSgpIHsgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7IH0K
ICAgICAKIHByaXZhdGU6CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0VHlwZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoSW52ZXJ0OyB9CisKICAgICBD
U1NNYXRoSW52ZXJ0KENTU051bWJlcmlzaCYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBt
X3ZhbHVlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aE1heC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NT
U01hdGhNYXguY3BwCmluZGV4IDk2MDUzNzJhOTA3OTQ3NzEyNzZjZWQyNzQwYzQzNGI5OWZiM2U0
ZmUuLjlkNTdhZTg3MmMxMmRmMWI1YTdjMTk5MTEzYzYwNDM0MzMxMjU1NDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4LmNwcApAQCAtMzYs
MTQgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKENTU01hdGhNYXgpOwogCi1SZWY8Q1NTTWF0aE1heD4gQ1NTTWF0aE1heDo6Y3JlYXRl
KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKK0NTU01hdGhNYXg6OkNT
U01hdGhNYXgoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIG51bWJlcmlzaGVzKQorICAgIDog
Q1NTTWF0aFZhbHVlKENTU01hdGhPcGVyYXRvcjo6TWF4KQorICAgICwgbV92YWx1ZXMoQ1NTTnVt
ZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZShudW1iZXJpc2hlcykpKQogewotICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IENTU01hdGhNYXgoV1RGTW92ZShudW1iZXJpc2hlcykpKTsKIH0KIAotQ1NT
TWF0aE1heDo6Q1NTTWF0aE1heChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNo
ZXMpCitDU1NNYXRoTWF4OjpDU1NNYXRoTWF4KFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4m
JiB2YWx1ZXMpCiAgICAgOiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpNYXgpCi0gICAg
LCBtX3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkp
CisgICAgLCBtX3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykp
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmlj
L0NTU01hdGhNYXguaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0
aE1heC5oCmluZGV4IDBjMGZmZjhmM2QzMTQ2NmIxODk0ODgwYjY4YTBmYWRjZjZhYjhlMDkuLjA5
N2U3MDk3NWQxMjExMjNhZmM1OWM5OTM5OTExZjY4N2ExMmMzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5oCkBAIC0zNywxMSArMzcsMTUg
QEAgY2xhc3MgQ1NTTnVtZXJpY0FycmF5OwogY2xhc3MgQ1NTTWF0aE1heCA6IHB1YmxpYyBDU1NN
YXRoVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aE1heCk7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoTWF4PiBjcmVhdGUoRml4ZWRWZWN0b3I8Q1NTTnVt
YmVyaXNoPiYmKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmdzPiBzdGF0aWMgUmVmPENT
U01hdGhNYXg+IGNyZWF0ZShBcmdzJiYuLi4gYXJncykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBD
U1NNYXRoTWF4KHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOyB9CiAgICAgY29uc3QgQ1NT
TnVtZXJpY0FycmF5JiB2YWx1ZXMoKSBjb25zdDsKICAgICAKKyAgICBzdGF0aWMgQ1NTU3R5bGVW
YWx1ZVR5cGUgdmFsdWVUeXBlKCkgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhN
YXg7IH0KIHByaXZhdGU6CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0VHlwZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTWF4OyB9CisKICAgICBDU1NN
YXRoTWF4KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CisgICAgQ1NTTWF0aE1heChWZWN0
b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYpOwogICAgIFJlZjxDU1NOdW1lcmljQXJyYXk+IG1f
dmFsdWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVt
ZXJpYy9DU1NNYXRoTWluLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMv
Q1NTTWF0aE1pbi5jcHAKaW5kZXggZDBkMTJiMzA0OTU4M2E0NWU5NWJiMDUzZTgyZjg3NjZkZjdk
MTJmOC4uNWVhMmRlZDE2ZDAwOGNlYzgwMDJkMDc0YzlhZWVmNzgyNGExYTE0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhNaW4uY3BwCkBAIC0z
NiwxNCArMzYsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoQ1NTTWF0aE1pbik7CiAKLVJlZjxDU1NNYXRoTWluPiBDU1NNYXRoTWluOjpjcmVh
dGUoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIG51bWJlcmlzaGVzKQorQ1NTTWF0aE1pbjo6
Q1NTTWF0aE1pbihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCisgICAg
OiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpNaW4pCisgICAgLCBtX3ZhbHVlcyhDU1NO
dW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ1NTTWF0aE1pbihXVEZNb3ZlKG51bWJlcmlzaGVzKSkpOwogfQogCi1D
U1NNYXRoTWluOjpDU1NNYXRoTWluKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJp
c2hlcykKK0NTU01hdGhNaW46OkNTU01hdGhNaW4oVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+
PiYmIHZhbHVlcykKICAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6Ok1pbikKLSAg
ICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUobnVtYmVyaXNoZXMp
KSkKKyAgICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUodmFsdWVz
KSkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aE1pbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoTWluLmgKaW5kZXggMzY2OGE5NzQ0MDllZjc1NGJhMTkzMGRhNWY4ZDk0NzU4NTA4OTg5YS4u
MGY5NDcyYWUwM2ZjOTlhZmIwMjYwMDc4M2RiMzFlYmJhZTU1MWE1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmgKQEAgLTM3LDExICszNywx
NiBAQCBjbGFzcyBDU1NOdW1lcmljQXJyYXk7CiBjbGFzcyBDU1NNYXRoTWluIDogcHVibGljIENT
U01hdGhWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NNYXRoTWluKTsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU01hdGhNaW4+IGNyZWF0ZShGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8
Q1NTTWF0aE1pbj4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IENTU01hdGhNaW4oc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7IH0KICAgICBjb25zdCBD
U1NOdW1lcmljQXJyYXkmIHZhbHVlcygpIGNvbnN0OwogICAgIAorICAgIHN0YXRpYyBDU1NTdHls
ZVZhbHVlVHlwZSB2YWx1ZVR5cGUoKSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0
aE1pbjsgfQorCiBwcml2YXRlOgorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aE1pbjsgfQorCiAgICAg
Q1NTTWF0aE1pbihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAgIENTU01hdGhNaW4o
VmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY0FycmF5
PiBtX3ZhbHVlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9u
dW1lcmljL0NTU01hdGhOZWdhdGUuY3BwCmluZGV4IDgzNDAxNTA2ZDBjOTI1ZjdkM2I0NzIyNzE1
ODIyYjdkYmZkODg3MWEuLmI5MWRhOThmMzgzNzg3YjQzZTFjM2JkYjRjMTIyZjZjNjM3YzU0NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5l
Z2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRo
TmVnYXRlLmNwcApAQCAtMzYsMTQgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RG
X01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENTU01hdGhOZWdhdGUpOwogCi1SZWY8Q1NTTWF0aE5l
Z2F0ZT4gQ1NTTWF0aE5lZ2F0ZTo6Y3JlYXRlKENTU051bWJlcmlzaCYmIG51bWJlcmlzaCkKK0NT
U01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUoQ1NTTnVtYmVyaXNoJiYgbnVtYmVyaXNoKQorICAg
IDogQ1NTTWF0aFZhbHVlKENTU01hdGhPcGVyYXRvcjo6TmVnYXRlKQorICAgICwgbV92YWx1ZShD
U1NOdW1lcmljVmFsdWU6OnJlY3RpZnlOdW1iZXJpc2goV1RGTW92ZShudW1iZXJpc2gpKSkKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NNYXRoTmVnYXRlKFdURk1vdmUobnVtYmVyaXNo
KSkpOwogfQogCi1DU1NNYXRoTmVnYXRlOjpDU1NNYXRoTmVnYXRlKENTU051bWJlcmlzaCYmIG51
bWJlcmlzaCkKK0NTU01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUoUmVmPENTU051bWVyaWNWYWx1
ZT4mJiB2YWx1ZSkKICAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6Ok5lZ2F0ZSkK
LSAgICAsIG1fdmFsdWUoQ1NTTnVtZXJpY1ZhbHVlOjpyZWN0aWZ5TnVtYmVyaXNoKFdURk1vdmUo
bnVtYmVyaXNoKSkpCisgICAgLCBtX3ZhbHVlKFdURk1vdmUodmFsdWUpKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhOZWdhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCmlu
ZGV4IDg4Y2NkOWE5MjAyZjA4Y2JmNmU1ZGRmOGI3NWU4ODQ1Yjk4MTFlMDAuLjQyM2UzYzI1ZGM1
NmE5NjFkNzdiNjEwMTRjZjc0YjhmYjU2OThlMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCkBAIC0zNywxMSArMzcsMTQgQEAg
Y2xhc3MgQ1NTTnVtZXJpY1ZhbHVlOwogY2xhc3MgQ1NTTWF0aE5lZ2F0ZSA6IHB1YmxpYyBDU1NN
YXRoVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aE5lZ2F0ZSk7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoTmVnYXRlPiBjcmVhdGUoQ1NTTnVtYmVyaXNo
JiYpOwotICAgIGNvbnN0IENTU051bWVyaWNWYWx1ZSYgdmFsdWUoKSBjb25zdCB7IHJldHVybiBt
X3ZhbHVlLmdldCgpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJl
ZjxDU1NNYXRoTmVnYXRlPiBjcmVhdGUoQXJncyYmLi4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQ1NTTWF0aE5lZ2F0ZShzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsgfQorICAg
IENTU051bWVyaWNWYWx1ZSYgdmFsdWUoKSB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CiAgICAg
CiBwcml2YXRlOgorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aE5lZ2F0ZTsgfQorCiAgICAgQ1NTTWF0
aE5lZ2F0ZShDU1NOdW1iZXJpc2gmJik7CisgICAgQ1NTTWF0aE5lZ2F0ZShSZWY8Q1NTTnVtZXJp
Y1ZhbHVlPiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBtX3ZhbHVlOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0
LmNwcAppbmRleCBhMmIzMWRkMmY5YmY2NWQ0NmMwZmI2YTA1MWQxMmViNGMxMmZlZjkxLi5mMGVm
Yzk5NDUzNTdlNWM2Yjk1NWM2NmRkMGVkOWFkNmU2OTRiMmE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0LmNwcApAQCAtMzYs
MTQgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKENTU01hdGhQcm9kdWN0KTsKIAotUmVmPENTU01hdGhQcm9kdWN0PiBDU1NNYXRoUHJv
ZHVjdDo6Y3JlYXRlKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKK0NT
U01hdGhQcm9kdWN0OjpDU1NNYXRoUHJvZHVjdChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYg
bnVtYmVyaXNoZXMpCisgICAgOiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpQcm9kdWN0
KQorICAgICwgbV92YWx1ZXMoQ1NTTnVtZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZShudW1iZXJp
c2hlcykpKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU01hdGhQcm9kdWN0KFdURk1v
dmUobnVtYmVyaXNoZXMpKSk7CiB9CiAKLUNTU01hdGhQcm9kdWN0OjpDU1NNYXRoUHJvZHVjdChG
aXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCitDU1NNYXRoUHJvZHVjdDo6
Q1NTTWF0aFByb2R1Y3QoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIHZhbHVlcykKICAg
ICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6OlByb2R1Y3QpCi0gICAgLCBtX3ZhbHVl
cyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkpCisgICAgLCBt
X3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykpKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQ
cm9kdWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9k
dWN0LmgKaW5kZXggNTM0MDUxYjcyMDNhYTdiOTNkMmVjMjUwNzMxYmU5YzRjYzc4YTkwZi4uMzBj
YzNlYTk3MjE4ZWRiNTIzMjk2MjY2ZDA1Zjc5MDFmODBkNmMwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFByb2R1Y3QuaApAQCAtMzcsMTMg
KzM3LDE4IEBAIGNsYXNzIENTU051bWVyaWNBcnJheTsKIGNsYXNzIENTU01hdGhQcm9kdWN0IDog
cHVibGljIENTU01hdGhWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NNYXRo
UHJvZHVjdCk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoUHJvZHVjdD4gY3JlYXRl
KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4g
QXJncz4gc3RhdGljIFJlZjxDU1NNYXRoUHJvZHVjdD4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IENTU01hdGhQcm9kdWN0KHN0ZDo6Zm9yd2FyZDxBcmdzPihh
cmdzKS4uLikpOyB9CiAgICAgY29uc3QgQ1NTTnVtZXJpY0FycmF5JiB2YWx1ZXMoKSBjb25zdDsK
ICAgICAKICAgICBDU1NNYXRoT3BlcmF0b3IgZ2V0T3BlcmF0b3IoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBDU1NNYXRoT3BlcmF0b3I6OlByb2R1Y3Q7IH0KIAorICAgIHN0YXRpYyBDU1NTdHlsZVZh
bHVlVHlwZSB2YWx1ZVR5cGUoKSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFBy
b2R1Y3Q7IH0KKwogcHJpdmF0ZToKKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhQcm9kdWN0OyB9CisK
ICAgICBDU1NNYXRoUHJvZHVjdChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAgIENT
U01hdGhQcm9kdWN0KFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7CiAgICAgUmVmPENT
U051bWVyaWNBcnJheT4gbV92YWx1ZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhTdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmNwcAppbmRleCA1NGJiMzA0YWU1MmYzN2E2YWU3
YTMzNzc2OWM3ODliMjczYzMzYTdiLi42ZGUyN2MzNGE0MjEwMjk1OWRmYzVlMTkwZmJlYTUwZWNh
YjI1MjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NT
U01hdGhTdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NT
TWF0aFN1bS5jcHAKQEAgLTM2LDIwICszNiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDU1NNYXRoU3VtKTsKIAotUmVmPENTU01hdGhTdW0+
IENTU01hdGhTdW06OmNyZWF0ZShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNo
ZXMpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWF0aFN1bShXVEZNb3ZlKG51bWJl
cmlzaGVzKSkpOwotfQotCiBDU1NNYXRoU3VtOjpDU1NNYXRoU3VtKEZpeGVkVmVjdG9yPENTU051
bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKICAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0
b3I6OlN1bSkKICAgICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUo
bnVtYmVyaXNoZXMpKSkKIHsKIH0KIAotY29uc3QgQ1NTTnVtZXJpY0FycmF5JiBDU1NNYXRoU3Vt
Ojp2YWx1ZXMoKSBjb25zdAorQ1NTTWF0aFN1bTo6Q1NTTWF0aFN1bShWZWN0b3I8UmVmPENTU051
bWVyaWNWYWx1ZT4+JiYgdmFsdWVzKQorICAgIDogQ1NTTWF0aFZhbHVlKENTU01hdGhPcGVyYXRv
cjo6U3VtKQorICAgICwgbV92YWx1ZXMoQ1NTTnVtZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZSh2
YWx1ZXMpKSkKIHsKLSAgICByZXR1cm4gbV92YWx1ZXMuZ2V0KCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aFN1bS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoU3VtLmgKaW5kZXggMzljYWVlMGYyZmM2MjFhY2IzNGIzODRkZTg3NjYzODZlZTM0MzlhZC4u
N2VmZjllY2QyYmM1ZGVmMTBlZmIxOTQ3Y2RjNzk5ZjIzYjljOGYyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmgKQEAgLTM4LDExICszOCwx
NiBAQCBjbGFzcyBDU1NOdW1lcmljQXJyYXk7CiBjbGFzcyBDU1NNYXRoU3VtIDogcHVibGljIENT
U01hdGhWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NNYXRoU3VtKTsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU01hdGhTdW0+IGNyZWF0ZShGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOwotICAgIGNvbnN0IENTU051bWVyaWNBcnJheSYgdmFsdWVzKCkgY29uc3Q7
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJlZjxDU1NNYXRoU3VtPiBj
cmVhdGUoQXJncyYmLi4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWF0aFN1bShz
dGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsgfQorICAgIGNvbnN0IENTU051bWVyaWNBcnJh
eSYgdmFsdWVzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZXMuZ2V0KCk7IH0KKworICAgIHN0YXRp
YyBDU1NTdHlsZVZhbHVlVHlwZSB2YWx1ZVR5cGUoKSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlw
ZTo6Q1NTTWF0aFN1bTsgfQogCiBwcml2YXRlOgorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5
cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFN1
bTsgfQorCiAgICAgQ1NTTWF0aFN1bShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAg
IENTU01hdGhTdW0oVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKICAgICBSZWY8Q1NT
TnVtZXJpY0FycmF5PiBtX3ZhbHVlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9udW1lcmljL0NTU01hdGhWYWx1ZS5oCmluZGV4IDUwNDYzZTM3ZGEyYzJjMWE1OGUx
NjIwM2U2YTRkYzNkOWVjZjI2NjEuLjM5M2U5NjFiNTYwMTc0MzlkMWU1M2ZhMzNjZDBmZjI3NDg4
YjVlODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NT
TWF0aFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoVmFsdWUuaApAQCAtMzcsMTAgKzM3LDEwIEBAIGNsYXNzIENTU01hdGhWYWx1ZSA6IHB1Ymxp
YyBDU1NOdW1lcmljVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aFZh
bHVlKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIENTU01hdGhPcGVyYXRvciBnZXRPcGVyYXRvcigp
IGNvbnN0IHsgcmV0dXJuIG1fb3BlcmF0b3I7IH0KLSAgICAKLSAgICBDU1NTdHlsZVZhbHVlVHlw
ZSBnZXRUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01h
dGhWYWx1ZTsgfQotICAgIAorCiBwcm90ZWN0ZWQ6CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0
VHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRo
VmFsdWU7IH0KKwogICAgIENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3IpOwogICAgIENTU01h
dGhPcGVyYXRvciBtX29wZXJhdG9yOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmNwcAppbmRleCAwYjdkMTQ4NDI5NDQx
ZDg1ZTQ0NjE4MmM3NTQxZmU1OTAxOWY3OTUzLi45ZGU1MTkwMDk2YjliNDE3ZDY4ZjBmYjVkNTli
Y2EyMmRkMGFkNjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1l
cmljL0NTU051bWVyaWNBcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20v
bnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuY3BwCkBAIC00NSwxMSArNDUsMTYgQEAgUmVmPENTU051
bWVyaWNBcnJheT4gQ1NTTnVtZXJpY0FycmF5OjpjcmVhdGUoY29uc3QgRml4ZWRWZWN0b3I8Q1NT
TnVtYmVyaXNoPiYgbnUKICAgICB9KSkpOwogfQogCi1SZWY8Q1NTTnVtZXJpY0FycmF5PiBDU1NO
dW1lcmljQXJyYXk6OmNyZWF0ZShGaXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiB2
YWx1ZXMpCitSZWY8Q1NTTnVtZXJpY0FycmF5PiBDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShWZWN0
b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYgdmFsdWVzKQogewogICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IENTU051bWVyaWNBcnJheShXVEZNb3ZlKHZhbHVlcykpKTsKIH0KIAorQ1NTTnVtZXJp
Y0FycmF5OjpDU1NOdW1lcmljQXJyYXkoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIHZh
bHVlcykKKyAgICA6IG1fYXJyYXkoV1RGTW92ZSh2YWx1ZXMpKQoreworfQorCiBDU1NOdW1lcmlj
QXJyYXk6OkNTU051bWVyaWNBcnJheShGaXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4m
JiB2YWx1ZXMpCiAgICAgOiBtX2FycmF5KFdURk1vdmUodmFsdWVzKSkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNBcnJheS5oCmluZGV4
IDUxNmY5MWYzNGRlNGY1OGIzZGQzZTdjMGM2NjYxZDJiM2M5OWI1MjkuLjc0NDVlZmJkMTIwYmMz
Yjc2OTcwMzk0ODMxYTNhNGE5MjA5NzUzNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuaApAQCAtNDEsMTIgKzQxLDE0IEBA
IGNsYXNzIENTU051bWVyaWNBcnJheSA6IHB1YmxpYyBSZWZDb3VudGVkPENTU051bWVyaWNBcnJh
eT4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTnVtZXJpY0FycmF5KTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPENTU051bWVyaWNBcnJheT4gY3JlYXRlKGNvbnN0IEZpeGVkVmVj
dG9yPENTU051bWJlcmlzaD4mKTsKLSAgICBzdGF0aWMgUmVmPENTU051bWVyaWNBcnJheT4gY3Jl
YXRlKEZpeGVkVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKKyAgICBzdGF0aWMgUmVm
PENTU051bWVyaWNBcnJheT4gY3JlYXRlKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7
CiAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXkuc2l6ZSgpOyB9Owog
ICAgIEV4Y2VwdGlvbk9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBpdGVtKHNpemVfdCBpbmRleCk7
CisgICAgY29uc3QgVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYgYXJyYXkoKSBjb25zdCB7
IHJldHVybiBtX2FycmF5OyB9CiAKIHByaXZhdGU6Ci0gICAgRml4ZWRWZWN0b3I8UmVmPENTU051
bWVyaWNWYWx1ZT4+IG1fYXJyYXk7CisgICAgVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBt
X2FycmF5OworICAgIENTU051bWVyaWNBcnJheShWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+
JiYpOwogICAgIENTU051bWVyaWNBcnJheShGaXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVl
Pj4mJik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1l
cmljL0NTU051bWVyaWNUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmlj
L0NTU051bWVyaWNUeXBlLmgKaW5kZXggYzI5N2M1YTc3MWQ1Mjk2OWQ2ZDFjZmJkMzNkMDZmOTZh
NzM4NjIzZi4uNWRiNjQ2MjAyYTFhYjRiYWUxMDMyNTc0NTJjNGMwMGQyNGZkNDBiNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljVHlwZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY1R5cGUu
aApAQCAtMzIsMTQgKzMyLDE0IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBDU1NO
dW1lcmljVHlwZSB7Ci0gICAgbG9uZyBsZW5ndGg7Ci0gICAgbG9uZyBhbmdsZTsKLSAgICBsb25n
IHRpbWU7Ci0gICAgbG9uZyBmcmVxdWVuY3k7Ci0gICAgbG9uZyByZXNvbHV0aW9uOwotICAgIGxv
bmcgZmxleDsKLSAgICBsb25nIHBlcmNlbnQ7Ci0gICAgQ1NTTnVtZXJpY0Jhc2VUeXBlIHBlcmNl
bnRIaW50OworICAgIGxvbmcgbGVuZ3RoIHsgMCB9OworICAgIGxvbmcgYW5nbGUgeyAwIH07Cisg
ICAgbG9uZyB0aW1lIHsgMCB9OworICAgIGxvbmcgZnJlcXVlbmN5IHsgMCB9OworICAgIGxvbmcg
cmVzb2x1dGlvbiB7IDAgfTsKKyAgICBsb25nIGZsZXggeyAwIH07CisgICAgbG9uZyBwZXJjZW50
IHsgMCB9OworICAgIHN0ZDo6b3B0aW9uYWw8Q1NTTnVtZXJpY0Jhc2VUeXBlPiBwZXJjZW50SGlu
dDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDM4ZDY3MzU1ZDQ3ODljMWEzZWJlMTE2MDJlNWQ4NTVhZDg0NDUwOGQuLjY2MzZh
NTY2MzUzNmNlYzE5MTQ3NjU0NThiYmQwYjM5MzQ3ZGM0Y2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAzLTIxICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IENTU051bWVy
aWNWYWx1ZS5tdWwsIGRpdiwgYWRkLCBzdWIsIG1heCwgYW5kIG1pbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MTUzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy10eXBlZC1vbS9zdHlsZXZhbHVlLXN1YmNsYXNzZXMvbnVtZXJpYy1vYmplY3RzL2FyaXRo
bWV0aWMudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMy0yMSAgWmlyYW4gU3VuICA8
enN1bkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtzZWxlY3Rpb25dIEhUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50OjpzdWJ0cmVlSGFzQ2hhbmdlZCgpIHNob3VsZG4ndCBiZSBjYWxsZWQgaW4gc2V0
UmFuZ2VUZXh0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtdHlwZWQtb20vc3R5bGV2YWx1ZS1zdWJjbGFzc2VzL251bWVyaWMt
b2JqZWN0cy9hcml0aG1ldGljLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHlwZWQtb20vc3R5bGV2YWx1
ZS1zdWJjbGFzc2VzL251bWVyaWMtb2JqZWN0cy9hcml0aG1ldGljLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKaW5kZXggMWZmZDBlMGM2MDE0YzZhZjQwY2FhM2ZiZmViY2YwYWVhOTljMTc2My4uNTM2
ZWE1MmU1M2IwY2NiOGNlMjc4MDY3MDMwNmEzNDdhZjE3MzkzZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXR5cGVkLW9tL3N0
eWxldmFsdWUtc3ViY2xhc3Nlcy9udW1lcmljLW9iamVjdHMvYXJpdGhtZXRpYy50ZW50YXRpdmUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy10eXBlZC1vbS9zdHlsZXZhbHVlLXN1YmNsYXNzZXMvbnVtZXJpYy1vYmpl
Y3RzL2FyaXRobWV0aWMudGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtMSw2NSArMSw2NSBAQAog
CiBQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLmFkZCB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5z
IGl0c2VsZgogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5hZGQgd2l0aCBubyBhcmd1bWVudHMg
cmV0dXJucyBpdHNlbGYKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuYWRkIHdpdGggYSBz
aW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJDU1NNYXRoU3VtIiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxp
bmcgQ1NTTnVtZXJpY1ZhbHVlLmFkZCB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1
cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5hZGQgd2l0aCBhIHNp
bmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKLUZBSUwgQ2FsbGluZyBD
U1NOdW1lcmljVmFsdWUuYWRkIHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1Zh
bHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0
aFN1bSIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1
ZS5hZGQgd2l0aCBtb3JlIHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMg
Y29ycmVjdCB0eXBlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmFkZCBjYW4gdGFrZSBu
dW1iZXJpc2ggdmFsdWVzCi1GQUlMIENhbGxpbmcgQ1NTTWF0aFN1bS5hZGQgd2l0aCBudW1iZXIg
Q1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJDU1NVbml0VmFsdWUiIGJ1dCBnb3QgIkNTU01hdGhTdW0iCitQQVNTIENhbGxp
bmcgQ1NTTWF0aFN1bS5hZGQgd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRv
IGEgQ1NTVW5pdFZhbHVlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmFkZCB3aXRoIGlu
Y29tcGF0aWJsZSB0eXBlcyB0aHJvd3MgVHlwZUVycm9yCiBQQVNTIENhbGxpbmcgQ1NTVW5pdFZh
bHVlLnN1YiB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgogUEFTUyBDYWxsaW5nIENT
U01hdGhWYWx1ZS5zdWIgd2l0aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKLUZBSUwgQ2Fs
bGluZyBDU1NOdW1lcmljVmFsdWUuc3ViIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJl
dHVybnMgY29ycmVjdCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoU3VtIiBi
dXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLnN1YiB3
aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBD
YWxsaW5nIENTU01hdGhWYWx1ZS5zdWIgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0
dXJucyBjb3JyZWN0IHR5cGUKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuc3ViIHdpdGgg
bW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlw
ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFN1bSIgYnV0IGdvdCAiQ1NTVW5pdFZh
bHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5zdWIgd2l0aCBtb3JlIHRoYW4gb25l
IG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVjdCB0eXBlCiBQQVNTIENhbGxp
bmcgQ1NTTnVtZXJpY1ZhbHVlLnN1YiBjYW4gdGFrZSBudW1iZXJpc2ggdmFsdWVzCi1GQUlMIENh
bGxpbmcgQ1NTTWF0aFN1bS5zdWIgd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVz
IHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NVbml0VmFsdWUi
IGJ1dCBnb3QgIkNTU01hdGhTdW0iCitQQVNTIENhbGxpbmcgQ1NTTWF0aFN1bS5zdWIgd2l0aCBu
dW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCiBQQVNTIENh
bGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLnN1YiB3aXRoIGluY29tcGF0aWJsZSB0eXBlcyB0aHJvd3Mg
VHlwZUVycm9yCiBQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm11bCB3aXRoIG5vIGFyZ3VtZW50
cyByZXR1cm5zIGl0c2VsZgogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5tdWwgd2l0aCBubyBh
cmd1bWVudHMgcmV0dXJucyBpdHNlbGYKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubXVs
IHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoUHJvZHVjdCIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVl
IgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5tdWwgd2l0aCBhIHNpbmdsZSBDU1NOdW1l
cmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKIFBBU1MgQ2FsbGluZyBDU1NNYXRoVmFsdWUu
bXVsIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlCi1G
QUlMIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm11bCB3aXRoIG1vcmUgdGhhbiBvbmUgbnVtYmVy
IENTU051bWVyaWNWYWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIkNTU01hdGhQcm9kdWN0IiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxp
bmcgQ1NTTnVtZXJpY1ZhbHVlLm11bCB3aXRoIG1vcmUgdGhhbiBvbmUgbnVtYmVyIENTU051bWVy
aWNWYWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5cGUKIFBBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFs
dWUubXVsIGNhbiB0YWtlIG51bWJlcmlzaCB2YWx1ZXMKLUZBSUwgQ2FsbGluZyBDU1NNYXRoUHJv
ZHVjdC5tdWwgd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5p
dFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NVbml0VmFsdWUiIGJ1dCBnb3QgIkNT
U01hdGhQcm9kdWN0IgorUEFTUyBDYWxsaW5nIENTU01hdGhQcm9kdWN0Lm11bCB3aXRoIG51bWJl
ciBDU1NVbml0VmFsdWVzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKIFBBU1MgQ2FsbGlu
ZyBDU1NOdW1lcmljVmFsdWUubXVsIHdpdGggaW5jb21wYXRpYmxlIHR5cGVzIHRocm93cyBUeXBl
RXJyb3IKIFBBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUuZGl2IHdpdGggbm8gYXJndW1lbnRzIHJl
dHVybnMgaXRzZWxmCiBQQVNTIENhbGxpbmcgQ1NTTWF0aFZhbHVlLmRpdiB3aXRoIG5vIGFyZ3Vt
ZW50cyByZXR1cm5zIGl0c2VsZgotRkFJTCBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5kaXYgd2l0
aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIkNTU01hdGhQcm9kdWN0IiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQ
QVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmRpdiB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNW
YWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5kaXYg
d2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKLUZBSUwg
Q2FsbGluZyBDU1NOdW1lcmljVmFsdWUuZGl2IHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NT
TnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiQ1NTTWF0aFByb2R1Y3QiIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBD
U1NOdW1lcmljVmFsdWUuZGl2IHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1Zh
bHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5k
aXYgY2FuIHRha2UgbnVtYmVyaXNoIHZhbHVlcwotRkFJTCBDYWxsaW5nIENTU01hdGhQcm9kdWN0
LmRpdiB3aXRoIG51bWJlciBDU1NVbml0VmFsdWVzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFs
dWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU1VuaXRWYWx1ZSIgYnV0IGdvdCAiQ1NTTWF0
aFByb2R1Y3QiCitQQVNTIENhbGxpbmcgQ1NTTWF0aFByb2R1Y3QuZGl2IHdpdGggbnVtYmVyIENT
U1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZQogUEFTUyBDYWxsaW5nIENT
U051bWVyaWNWYWx1ZS5kaXYgd2l0aCBpbmNvbXBhdGlibGUgdHlwZXMgdGhyb3dzIFR5cGVFcnJv
cgogUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5taW4gd2l0aCBubyBhcmd1bWVudHMgcmV0dXJu
cyBpdHNlbGYKIFBBU1MgQ2FsbGluZyBDU1NNYXRoVmFsdWUubWluIHdpdGggbm8gYXJndW1lbnRz
IHJldHVybnMgaXRzZWxmCi1GQUlMIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1pbiB3aXRoIGEg
c2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiQ1NTTWF0aE1pbiIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBDYWxs
aW5nIENTU051bWVyaWNWYWx1ZS5taW4gd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0
dXJucyBjb3JyZWN0IHR5cGUKIFBBU1MgQ2FsbGluZyBDU1NNYXRoVmFsdWUubWluIHdpdGggYSBz
aW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlCi1GQUlMIENhbGxpbmcg
Q1NTTnVtZXJpY1ZhbHVlLm1pbiB3aXRoIG1vcmUgdGhhbiBvbmUgbnVtYmVyIENTU051bWVyaWNW
YWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01h
dGhNaW4iIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFs
dWUubWluIHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5z
IGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5taW4gY2FuIHRha2Ug
bnVtYmVyaXNoIHZhbHVlcwotRkFJTCBDYWxsaW5nIENTU01hdGhNaW4ubWluIHdpdGggbnVtYmVy
IENTU1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiQ1NTVW5pdFZhbHVlIiBidXQgZ290ICJDU1NNYXRoTWluIgorUEFTUyBDYWxs
aW5nIENTU01hdGhNaW4ubWluIHdpdGggbnVtYmVyIENTU1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0
byBhIENTU1VuaXRWYWx1ZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5taW4gd2l0aCBp
bmNvbXBhdGlibGUgdHlwZXMgdGhyb3dzIFR5cGVFcnJvcgogUEFTUyBDYWxsaW5nIENTU1VuaXRW
YWx1ZS5tYXggd2l0aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKIFBBU1MgQ2FsbGluZyBD
U1NNYXRoVmFsdWUubWF4IHdpdGggbm8gYXJndW1lbnRzIHJldHVybnMgaXRzZWxmCi1GQUlMIENh
bGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1heCB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSBy
ZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aE1heCIg
YnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5tYXgg
d2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKIFBBU1Mg
Q2FsbGluZyBDU1NNYXRoVmFsdWUubWF4IHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJl
dHVybnMgY29ycmVjdCB0eXBlCi1GQUlMIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1heCB3aXRo
IG1vcmUgdGhhbiBvbmUgbnVtYmVyIENTU051bWVyaWNWYWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5
cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01hdGhNYXgiIGJ1dCBnb3QgIkNTU1VuaXRW
YWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubWF4IHdpdGggbW9yZSB0aGFuIG9u
ZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxs
aW5nIENTU051bWVyaWNWYWx1ZS5tYXggY2FuIHRha2UgbnVtYmVyaXNoIHZhbHVlcwotRkFJTCBD
YWxsaW5nIENTU01hdGhNYXgubWF4IHdpdGggbnVtYmVyIENTU1VuaXRWYWx1ZXMgc2ltcGxpZmll
cyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTVW5pdFZhbHVl
IiBidXQgZ290ICJDU1NNYXRoTWF4IgorUEFTUyBDYWxsaW5nIENTU01hdGhNYXgubWF4IHdpdGgg
bnVtYmVyIENTU1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZQogUEFTUyBD
YWxsaW5nIENTU051bWVyaWNWYWx1ZS5tYXggd2l0aCBpbmNvbXBhdGlibGUgdHlwZXMgdGhyb3dz
IFR5cGVFcnJvcgotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5hZGQgd2l0aCBDU1NVbml0VmFs
dWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMTcgYnV0IGdvdCAxMAotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5z
dWIgd2l0aCBDU1NVbml0VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZpZXMgdG8gYSBDU1NV
bml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMyBidXQgZ290IDEwCi1GQUlMIENhbGxp
bmcgQ1NTVW5pdFZhbHVlLm11bCB3aXRoIGFsbCBudW1iZXJzIHNpbXBsaWZpZXMgdG8gYSBDU1NV
bml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMTAKLUZBSUwgQ2Fs
bGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGggb25seSBvbmUgbm9uLW51bWJlciBzaW1wbGlmaWVz
IHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDEw
Ci1GQUlMIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm11bCB3aXRoIG1vcmUgdGhhbiBvbmUgbm9uLW51
bWJlciBkb2VzIG5vdCBzaW1wbGlmeSB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiQ1NTTWF0aFByb2R1Y3QiIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKLUZBSUwgQ2Fs
bGluZyBDU1NVbml0VmFsdWUuZGl2IHdpdGggYWxsIG51bWJlcnMgc2ltcGxpZmllcyB0byBhIENT
U1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMTAKLUZBSUwgQ2Fs
bGluZyBDU1NVbml0VmFsdWUuZGl2IG9uIGEgbm9uLW51bWJlciB2YWx1ZSBzaW1wbGlmaWVzIHRv
IGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0IGdvdCAxMAotRkFJ
TCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5kaXYgd2l0aCBhIG5vbi1udW1iZXIgdmFsdWUgaW4gdGhl
IGFyZ3VtZW50cyBkb2VzIG5vdCBzaW1wbGlmeSB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFByb2R1Y3QiIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKLUZB
SUwgQ2FsbGluZyBDU1NVbml0VmFsdWUubWluIHdpdGggQ1NTVW5pdFZhbHVlcyB3aXRoIHNhbWUg
dW5pdCBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDIgYnV0IGdvdCAxMAorUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5hZGQgd2l0aCBDU1NVbml0
VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKK1BBU1Mg
Q2FsbGluZyBDU1NVbml0VmFsdWUuc3ViIHdpdGggQ1NTVW5pdFZhbHVlcyB3aXRoIHNhbWUgdW5p
dCBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVl
Lm11bCB3aXRoIGFsbCBudW1iZXJzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKK1BBU1Mg
Q2FsbGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGggb25seSBvbmUgbm9uLW51bWJlciBzaW1wbGlm
aWVzIHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm11bCB3aXRo
IG1vcmUgdGhhbiBvbmUgbm9uLW51bWJlciBkb2VzIG5vdCBzaW1wbGlmeSB0byBhIENTU1VuaXRW
YWx1ZQorUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5kaXYgd2l0aCBhbGwgbnVtYmVycyBzaW1w
bGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLmRpdiBv
biBhIG5vbi1udW1iZXIgdmFsdWUgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZQorUEFTUyBD
YWxsaW5nIENTU1VuaXRWYWx1ZS5kaXYgd2l0aCBhIG5vbi1udW1iZXIgdmFsdWUgaW4gdGhlIGFy
Z3VtZW50cyBkb2VzIG5vdCBzaW1wbGlmeSB0byBhIENTU1VuaXRWYWx1ZQorUEFTUyBDYWxsaW5n
IENTU1VuaXRWYWx1ZS5taW4gd2l0aCBDU1NVbml0VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBs
aWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKIFBBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUubWF4IHdp
dGggQ1NTVW5pdFZhbHVlcyB3aXRoIHNhbWUgdW5pdCBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZh
bHVlCi1GQUlMIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLnN1YiBuZWdhdGVzIGFsbCBhcmd1bWVu
dCB2YWx1ZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01hdGhTdW0iIGJ1dCBnb3QgIkNT
U1VuaXRWYWx1ZSIKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuZGl2IGludmVydHMgYWxs
IGFyZ3VtZW50IHZhbHVlcyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFByb2R1Y3Qi
IGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKLUZBSUwgQ2FuIG5vdCBkaXZpZGUgd2l0aCBDU1NVbml0
VmFsdWUgd2hpY2ggaGFzIHplcm8gdmFsdWUgYW5kIG51bWJlciB0eXBlIGFzc2VydF90aHJvd3Nf
anM6IGZ1bmN0aW9uICIoKSA9PiBDU1MubnVtYmVyKDIpLmRpdihDU1MubnVtYmVyKDApKSIgZGlk
IG5vdCB0aHJvdworUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5zdWIgbmVnYXRlcyBhbGwg
YXJndW1lbnQgdmFsdWVzCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmRpdiBpbnZlcnRz
IGFsbCBhcmd1bWVudCB2YWx1ZXMKK1BBU1MgQ2FuIG5vdCBkaXZpZGUgd2l0aCBDU1NVbml0VmFs
dWUgd2hpY2ggaGFzIHplcm8gdmFsdWUgYW5kIG51bWJlciB0eXBlCiBGQUlMIENTU051bWVyaWNW
YWx1ZS5hZGQgc2hvdWxkIHRocm93IFR5cGVFcnJvciB3aGVuIHRoZSB0eXBlcyBhcmUgZGlmZmVy
ZW50LiBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlvbiAiKCkgPT4gQ1NTLm51bWJlcigzKS5hZGQo
Q1NTLnB4KDEwKSAsQ1NTLm51bWJlcigwKSkiIGRpZCBub3QgdGhyb3cKIEZBSUwgQ1NTTnVtZXJp
Y1ZhbHVlLnN1YiBzaG91bGQgdGhyb3cgVHlwZUVycm9yIHdoZW4gdGhlIHR5cGVzIGFyZSBkaWZm
ZXJlbnQuIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICIoKSA9PiBDU1MubnVtYmVyKDMpLnN1
YihDU1MucHgoMTApICxDU1MubnVtYmVyKDApKSIgZGlkIG5vdCB0aHJvdwogCg==
</data>
<flag name="commit-queue"
          id="483236"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455279</attachid>
            <date>2022-03-21 15:16:15 -0700</date>
            <delta_ts>2022-03-21 19:15:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238153-20220321151614.patch</filename>
            <type>text/plain</type>
            <size>43564</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgwOTYzNDY1YjQzZGFi
MWFlNjkyYjg2YWRmODMzYjliN2FhMmZhZi4uYTBhMDZhYzdmMDc2M2E4YTExNjM3MGJhM2M1OTMz
MzI3MGQ3YjQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDIyLTAzLTIxICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVt
ZW50IENTU051bWVyaWNWYWx1ZS5tdWwsIGRpdiwgYWRkLCBzdWIsIG1heCwgYW5kIG1pbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MTUzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbXBsZW1l
bnRzIGFsbCBleGNlcHQgdGhlIGRlcml2ZWQgdW5pdHMgb2YgbXVsdGlwbGljYXRpb24gYW5kIHRo
ZSB1bml0IGNoZWNraW5nIG9mIHRoZSBvdGhlcnMuCisgICAgICAgIFRoZXkgYXJlIGFuIG9mZi1i
eS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIHJpZ2h0IG5vdywgcGFydCBvZiBjc3MtdHlw
ZWQtb20gd2hpY2ggaXMgYmVpbmcgaW1wbGVtZW50ZWQuCisgICAgICAgIFRoZXkgYXJlIGNvdmVy
ZWQgYnkgd3B0IHRlc3RzLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NTdHlsZVZhbHVl
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAg
ICAqIGNzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpu
ZWdhdGUpOgorICAgICAgICAoV2ViQ29yZTo6aW52ZXJ0KToKKyAgICAgICAgKFdlYkNvcmU6Om9w
ZXJhdGlvbk9uVmFsdWVzT2ZTYW1lVW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmlj
VmFsdWU6OnByZXBlbmRJdGVtc09mVHlwZU9yVGhpcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NO
dW1lcmljVmFsdWU6OmFkZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNW
YWx1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZTo6c3ViKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZTo6bXVsdGlwbHlJbnRlcm5hbCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6Om11bCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NOdW1lcmljVmFsdWU6OmRpdik6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6
Om1pbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6Om1heCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6OnJlY3RpZnlOdW1iZXJpc2gpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTTnVtZXJpY1ZhbHVlOjp0b1N1bSk6CisgICAgICAgICogY3NzL3R5cGVkb20v
Q1NTTnVtZXJpY1ZhbHVlLmg6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5o
OgorICAgICAgICAqIGNzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aEludmVydC5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTTWF0aEludmVydDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TWF0aEludmVydDo6dmFsdWUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGNzcy90eXBlZG9t
L251bWVyaWMvQ1NTTWF0aE1heC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoTWF4OjpD
U1NNYXRoTWF4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhNYXg6OmNyZWF0ZSk6IERlbGV0
ZWQuCisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4Lmg6CisgICAgICAg
IChXZWJDb3JlOjpDU1NNYXRoTWF4OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0
aE1heDo6dmFsdWVUeXBlKToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhN
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aE1pbjo6Q1NTTWF0aE1pbik6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NNYXRoTWluOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1pbi5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0
aE1pbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhNaW46OnZhbHVlVHlwZSk6
CisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTmVnYXRlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTTWF0aE5lZ2F0ZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvdHlw
ZWRvbS9udW1lcmljL0NTU01hdGhOZWdhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhO
ZWdhdGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoTmVnYXRlOjp2YWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoTmVnYXRlOjp2YWx1ZSBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NNYXRoUHJvZHVjdDo6Q1NTTWF0aFByb2R1Y3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTTWF0aFByb2R1Y3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogY3Nz
L3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TWF0aFByb2R1Y3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoUHJvZHVjdDo6
dmFsdWVUeXBlKToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhTdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aFN1bTo6Q1NTTWF0aFN1bSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NNYXRoU3VtOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTTWF0aFN1bTo6dmFsdWVzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvdHlwZWRv
bS9udW1lcmljL0NTU01hdGhTdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhTdW06OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoU3VtOjp2YWx1ZXMgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTTWF0aFN1bTo6dmFsdWVUeXBlKToKKyAgICAgICAgKiBjc3MvdHlw
ZWRvbS9udW1lcmljL0NTU01hdGhWYWx1ZS5oOgorICAgICAgICAqIGNzcy90eXBlZG9tL251bWVy
aWMvQ1NTTnVtZXJpY0FycmF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNBcnJh
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU051bWVyaWNBcnJheTo6Q1NTTnVtZXJp
Y0FycmF5KToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNBcnJheS5o
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTTnVtZXJpY0FycmF5OjphcnJheSBjb25zdCk6CisgICAg
ICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljVHlwZS5oOgorCiAyMDIyLTAzLTIx
ICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW3NlbGVjdGlvbl0gSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnN1YnRyZWVIYXNDaGFuZ2VkKCkgc2hvdWxkbid0IGJl
IGNhbGxlZCBpbiBzZXRSYW5nZVRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwCmluZGV4IDBhYTY4ODQxZGVhNjJmNDEyNTM4
NTIxN2UwNGMyYmQxOWRkZDFmZGQuLjA3MzE3NTc4NTJjYmQ5ZGNiZjg4ZWQzOWYyMTlkNDJkYTUx
MTEyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVW
YWx1ZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHls
ZVZhbHVlQ3VzdG9tLmNwcApAQCAtMjksOSArMjksMTYgQEAKICNpZiBFTkFCTEUoQ1NTX1RZUEVE
X09NKQogCiAjaW5jbHVkZSAiSlNDU1NLZXl3b3JkVmFsdWUuaCIKKyNpbmNsdWRlICJKU0NTU01h
dGhJbnZlcnQuaCIKKyNpbmNsdWRlICJKU0NTU01hdGhNYXguaCIKKyNpbmNsdWRlICJKU0NTU01h
dGhNaW4uaCIKKyNpbmNsdWRlICJKU0NTU01hdGhOZWdhdGUuaCIKKyNpbmNsdWRlICJKU0NTU01h
dGhQcm9kdWN0LmgiCisjaW5jbHVkZSAiSlNDU1NNYXRoU3VtLmgiCiAjaW5jbHVkZSAiSlNDU1NN
YXRoVmFsdWUuaCIKICNpbmNsdWRlICJKU0NTU051bWVyaWNWYWx1ZS5oIgogI2luY2x1ZGUgIkpT
Q1NTU3R5bGVJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiSlNDU1NUcmFuc2Zvcm1WYWx1ZS5oIgog
I2luY2x1ZGUgIkpTQ1NTVW5pdFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNDU1NVbnBhcnNlZFZhbHVl
LmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTQ2LDggKzUzLDIwIEBAIEpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFJlZjxDCiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1N0
eWxlSW1hZ2VWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7CiAgICAgY2FzZSBD
U1NTdHlsZVZhbHVlVHlwZTo6Q1NTTnVtZXJpY1ZhbHVlOgogICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxDU1NOdW1lcmljVmFsdWU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwor
ICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhJbnZlcnQ6CisgICAgICAgIHJldHVy
biBjcmVhdGVXcmFwcGVyPENTU01hdGhJbnZlcnQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1
ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhNaW46CisgICAgICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhNaW4+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1
ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhNYXg6CisgICAgICAgIHJl
dHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhNYXg+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1
ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhOZWdhdGU6CisgICAgICAg
IHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhOZWdhdGU+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhQcm9kdWN0Ogor
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNYXRoUHJvZHVjdD4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKHZhbHVlKSk7CiAgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFZh
bHVlOgogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNYXRoVmFsdWU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01h
dGhTdW06CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01hdGhTdW0+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1Vu
aXRWYWx1ZToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVW5pdFZhbHVlPihnbG9i
YWxPYmplY3QsIFdURk1vdmUodmFsdWUpKTsKICAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpD
U1NVbnBhcnNlZFZhbHVlOgpAQCAtNTUsNiArNzQsNyBAQCBKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8
QwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU0tleXdvcmRWYWx1ZToKICAgICAgICAg
cmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTS2V5d29yZFZhbHVlPihnbG9iYWxPYmplY3QsIFdURk1v
dmUodmFsdWUpKTsKICAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NUcmFuc2Zvcm1WYWx1
ZToKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTVHJhbnNmb3JtVmFsdWU+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNT
U1N0eWxlVmFsdWU6CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1N0eWxlVmFsdWU+
KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuY3BwCmluZGV4IDU2NDM3NzEzNzU5ZmE3MDI4
NGQ3Mzc1NTNhZTNhM2MzYmRlY2MxZWYuLjFhODFiMGJkODM4MDM0MjJlZGFiMjkxY2Y2MjI5NDQw
NzQ4NTNiNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVy
aWNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1Zh
bHVlLmNwcApAQCAtMzAsNjggKzMwLDE5MCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkNTU051bWVyaWNWYWx1ZS5oIgogCisjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKKworI2lu
Y2x1ZGUgIkNTU01hdGhJbnZlcnQuaCIKKyNpbmNsdWRlICJDU1NNYXRoTWF4LmgiCisjaW5jbHVk
ZSAiQ1NTTWF0aE1pbi5oIgorI2luY2x1ZGUgIkNTU01hdGhOZWdhdGUuaCIKKyNpbmNsdWRlICJD
U1NNYXRoUHJvZHVjdC5oIgogI2luY2x1ZGUgIkNTU01hdGhTdW0uaCIKKyNpbmNsdWRlICJDU1NO
dW1lcmljQXJyYXkuaCIKICNpbmNsdWRlICJDU1NOdW1lcmljRmFjdG9yeS5oIgogI2luY2x1ZGUg
IkNTU051bWVyaWNUeXBlLmgiCiAjaW5jbHVkZSAiQ1NTVW5pdFZhbHVlLmgiCiAjaW5jbHVkZSAi
RXhjZXB0aW9uT3IuaCIKLQotI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCi0KICNpbmNsdWRlIDx3
dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtF
X0lTT19BTExPQ0FURURfSU1QTChDU1NOdW1lcmljVmFsdWUpOwogCi1SZWY8Q1NTTnVtZXJpY1Zh
bHVlPiBDU1NOdW1lcmljVmFsdWU6OmFkZChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFs
dWVzKQorc3RhdGljIFJlZjxDU1NOdW1lcmljVmFsdWU+IG5lZ2F0ZShSZWY8Q1NTTnVtZXJpY1Zh
bHVlPiYmIHZhbHVlKQogewotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIC8vIEZJWE1F
OiBhZGQgaW1wbC4KKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXR5
cGVkLW9tLyNjc3NtYXRoLW5lZ2F0ZS1hLWNzc251bWVyaWN2YWx1ZQorICAgIGlmICh2YWx1ZS0+
Z2V0VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTmVnYXRlKQorICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTTWF0aE5lZ2F0ZSY+KHZhbHVlLmdldCgpKS52YWx1ZSgpOwor
ICAgIGlmICh2YWx1ZS0+Z2V0VHlwZSgpID09IENTU1N0eWxlVmFsdWVUeXBlOjpDU1NVbml0VmFs
dWUpIHsKKyAgICAgICAgYXV0byYgdGhpc1ZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTVW5pdFZhbHVl
Jj4odmFsdWUuZ2V0KCkpOworICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUoLXRo
aXNWYWx1ZS52YWx1ZSgpLCB0aGlzVmFsdWUudW5pdCgpKTsKKyAgICB9CisgICAgcmV0dXJuIENT
U01hdGhOZWdhdGU6OmNyZWF0ZShXVEZNb3ZlKHZhbHVlKSk7Cit9CisKK3N0YXRpYyBFeGNlcHRp
b25PcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4gaW52ZXJ0KFJlZjxDU1NOdW1lcmljVmFsdWU+JiYg
dmFsdWUpCit7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy10eXBl
ZC1vbS8jY3NzbWF0aC1pbnZlcnQtYS1jc3NudW1lcmljdmFsdWUKKyAgICBpZiAodmFsdWUtPmdl
dFR5cGUoKSA9PSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aEludmVydCkKKyAgICAgICAgcmV0
dXJuIFJlZiB7IHN0YXRpY19jYXN0PENTU01hdGhJbnZlcnQmPih2YWx1ZS5nZXQoKSkudmFsdWUo
KSB9OworCisgICAgaWYgKHZhbHVlLT5nZXRUeXBlKCkgPT0gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNT
U1VuaXRWYWx1ZSkgeworICAgICAgICBhdXRvJiB0aGlzVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NV
bml0VmFsdWUmPih2YWx1ZS5nZXQoKSk7CisgICAgICAgIGlmICh0aGlzVmFsdWUudW5pdCgpID09
ICJudW1iZXIiKSB7CisgICAgICAgICAgICBpZiAodGhpc1ZhbHVlLnZhbHVlKCkgPT0gMC4wIHx8
IHRoaXNWYWx1ZS52YWx1ZSgpID09IC0wLjApCisgICAgICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IFJhbmdlRXJyb3IgfTsKKyAgICAgICAgICAgIHJldHVybiBSZWY8Q1NTTnVtZXJpY1Zh
bHVlPiB7IENTU1VuaXRWYWx1ZTo6Y3JlYXRlKDEuMCAvIHRoaXNWYWx1ZS52YWx1ZSgpLCB0aGlz
VmFsdWUudW5pdCgpKSB9OworICAgICAgICB9CisgICAgfQogCi0gICAgcmV0dXJuICp0aGlzOwor
ICAgIHJldHVybiBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiB7IENTU01hdGhJbnZlcnQ6OmNyZWF0ZShX
VEZNb3ZlKHZhbHVlKSkgfTsKIH0KIAotUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1Zh
bHVlOjpzdWIoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+CitzdGF0aWMgUmVmUHRyPENTU051bWVyaWNWYWx1ZT4gb3BlcmF0aW9uT25WYWx1
ZXNPZlNhbWVVbml0KFQmJiBvcGVyYXRpb24sIGNvbnN0IFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1Zh
bHVlPj4mIHZhbHVlcykKIHsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVzKTsKLSAgICAvLyBGSVhN
RTogYWRkIGltcGwuCisgICAgYm9vbCBhbGxWYWx1ZXNIYXZlU2FtZVVuaXQgPSB2YWx1ZXMuc2l6
ZSgpICYmIFdURjo6YWxsT2YodmFsdWVzLCBbJl0gKGNvbnN0IFJlZjxDU1NOdW1lcmljVmFsdWU+
JiB2YWx1ZSkgeworICAgICAgICByZXR1cm4gdmFsdWUtPmdldFR5cGUoKSA9PSBDU1NTdHlsZVZh
bHVlVHlwZTo6Q1NTVW5pdFZhbHVlCisgICAgICAgICAgICAmJiBzdGF0aWNfY2FzdDxjb25zdCBD
U1NVbml0VmFsdWUmPih2YWx1ZS5nZXQoKSkudW5pdCgpID09IHN0YXRpY19jYXN0PGNvbnN0IENT
U1VuaXRWYWx1ZSY+KHZhbHVlc1swXS5nZXQoKSkudW5pdCgpOworICAgIH0pOworICAgIGlmIChh
bGxWYWx1ZXNIYXZlU2FtZVVuaXQpIHsKKyAgICAgICAgU3RyaW5nIHVuaXQgPSBzdGF0aWNfY2Fz
dDxDU1NVbml0VmFsdWUmPih2YWx1ZXNbMF0uZ2V0KCkpLnVuaXQoKTsKKyAgICAgICAgZG91Ymxl
IHJlc3VsdCA9IHN0YXRpY19jYXN0PGNvbnN0IENTU1VuaXRWYWx1ZSY+KHZhbHVlc1swXS5nZXQo
KSkudmFsdWUoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCB2YWx1ZXMuc2l6ZSgp
OyBpKyspCisgICAgICAgICAgICByZXN1bHQgPSBvcGVyYXRpb24ocmVzdWx0LCBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NVbml0VmFsdWUmPih2YWx1ZXNbaV0uZ2V0KCkpLnZhbHVlKCkpOworICAgICAg
ICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUocmVzdWx0LCB1bml0KTsKKyAgICB9CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CiAKLSAgICByZXR1cm4gKnRoaXM7Cit0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IENTU051bWVyaWNWYWx1ZTo6cHJlcGVu
ZEl0ZW1zT2ZUeXBlT3JUaGlzKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiBudW1lcmlj
VmFsdWVzKQoreworICAgIFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4gdmFsdWVzOworICAg
IGlmIChnZXRUeXBlKCkgPT0gVDo6dmFsdWVUeXBlKCkpCisgICAgICAgIHZhbHVlcy5hcHBlbmRW
ZWN0b3Ioc3RhdGljX2Nhc3Q8VCo+KHRoaXMpLT52YWx1ZXMoKS5hcnJheSgpKTsKKyAgICBlbHNl
CisgICAgICAgIHZhbHVlcy5hcHBlbmQoKnRoaXMpOworICAgIHZhbHVlcy5hcHBlbmRWZWN0b3Io
bnVtZXJpY1ZhbHVlcyk7CisgICAgcmV0dXJuIHZhbHVlczsKIH0KIAotUmVmPENTU051bWVyaWNW
YWx1ZT4gQ1NTTnVtZXJpY1ZhbHVlOjptdWwoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZh
bHVlcykKK1JlZjxDU1NOdW1lcmljVmFsdWU+IENTU051bWVyaWNWYWx1ZTo6YWRkSW50ZXJuYWwo
VmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIG51bWVyaWNWYWx1ZXMpCiB7Ci0gICAgVU5V
U0VEX1BBUkFNKHZhbHVlcyk7Ci0gICAgLy8gRklYTUU6IGFkZCBpbXBsLgorICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtdHlwZWQtb20vI2RvbS1jc3NudW1lcmljdmFs
dWUtYWRkCisgICAgYXV0byB2YWx1ZXMgPSBwcmVwZW5kSXRlbXNPZlR5cGVPclRoaXM8Q1NTTWF0
aFN1bT4oV1RGTW92ZShudW1lcmljVmFsdWVzKSk7CiAKLSAgICByZXR1cm4gKnRoaXM7CisgICAg
aWYgKGF1dG8gcmVzdWx0ID0gb3BlcmF0aW9uT25WYWx1ZXNPZlNhbWVVbml0KHN0ZDo6cGx1czxk
b3VibGU+KCksIHZhbHVlcykpCisgICAgICAgIHJldHVybiAqcmVzdWx0OworCisgICAgLy8gRklY
TUU6IEltcGxlbWVudCBzdGVwIDQgdG8gY2hlY2sgdGhhdCB0aGUgdHlwZXMgY2FuIGJlIGFkZGVk
LgorCisgICAgcmV0dXJuIENTU01hdGhTdW06OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykpOwogfQog
Ci1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6OmRpdihGaXhlZFZlY3RvcjxD
U1NOdW1iZXJpc2g+JiYgdmFsdWVzKQorUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1Zh
bHVlOjphZGQoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKIHsKLSAgICBVTlVT
RURfUEFSQU0odmFsdWVzKTsKLSAgICAvLyBGSVhNRTogYWRkIGltcGwuCisgICAgcmV0dXJuIGFk
ZEludGVybmFsKFdURjo6bWFwKFdURk1vdmUodmFsdWVzKSwgcmVjdGlmeU51bWJlcmlzaCkpOwor
fQogCi0gICAgcmV0dXJuICp0aGlzOworUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1Zh
bHVlOjpzdWIoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKK3sKKyAgICByZXR1
cm4gYWRkSW50ZXJuYWwoV1RGOjptYXAoV1RGTW92ZSh2YWx1ZXMpLCBbXSAoQ1NTTnVtYmVyaXNo
JiYgbnVtYmVyaXNoKSB7CisgICAgICAgIHJldHVybiBuZWdhdGUocmVjdGlmeU51bWJlcmlzaChX
VEZNb3ZlKG51bWJlcmlzaCkpKTsKKyAgICB9KSk7CiB9Ci1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBD
U1NOdW1lcmljVmFsdWU6Om1pbihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVzKQor
CitSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6Om11bHRpcGx5SW50ZXJuYWwo
VmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIG51bWVyaWNWYWx1ZXMpCiB7Ci0gICAgVU5V
U0VEX1BBUkFNKHZhbHVlcyk7Ci0gICAgLy8gRklYTUU6IGFkZCBpbXBsLgorICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtdHlwZWQtb20vI2RvbS1jc3NudW1lcmljdmFs
dWUtbXVsCisgICAgYXV0byB2YWx1ZXMgPSBwcmVwZW5kSXRlbXNPZlR5cGVPclRoaXM8Q1NTTWF0
aFByb2R1Y3Q+KFdURk1vdmUobnVtZXJpY1ZhbHVlcykpOworCisgICAgYm9vbCBhbGxVbml0VmFs
dWVzID0gV1RGOjphbGxPZih2YWx1ZXMsIFsmXSAoY29uc3QgUmVmPENTU051bWVyaWNWYWx1ZT4m
IHZhbHVlKSB7CisgICAgICAgIHJldHVybiB2YWx1ZS0+Z2V0VHlwZSgpID09IENTU1N0eWxlVmFs
dWVUeXBlOjpDU1NVbml0VmFsdWU7CisgICAgfSk7CisgICAgaWYgKGFsbFVuaXRWYWx1ZXMpIHsK
KyAgICAgICAgYm9vbCBtdWx0aXBsZVVuaXRzRm91bmQgeyBmYWxzZSB9OworICAgICAgICBzdGQ6
Om9wdGlvbmFsPHNpemVfdD4gbm9uTnVtYmVyVW5pdEluZGV4OworICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHZhbHVlcy5zaXplKCk7IGkrKykgeworICAgICAgICAgICAgYXV0byYgdW5p
dCA9IHN0YXRpY19jYXN0PGNvbnN0IENTU1VuaXRWYWx1ZSY+KHZhbHVlc1tpXS5nZXQoKSkudW5p
dCgpOworICAgICAgICAgICAgaWYgKHVuaXQgPT0gIm51bWJlciIpCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICBpZiAobm9uTnVtYmVyVW5pdEluZGV4KSB7CisgICAgICAg
ICAgICAgICAgbXVsdGlwbGVVbml0c0ZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG5vbk51bWJlclVuaXRJbmRleCA9IGk7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKCFtdWx0aXBsZVVuaXRzRm91bmQpIHsKKyAgICAgICAgICAg
IGRvdWJsZSBwcm9kdWN0ID0gMTsKKyAgICAgICAgICAgIGZvciAoY29uc3QgUmVmPENTU051bWVy
aWNWYWx1ZT4mIHZhbHVlIDogdmFsdWVzKQorICAgICAgICAgICAgICAgIHByb2R1Y3QgKj0gc3Rh
dGljX2Nhc3Q8Y29uc3QgQ1NTVW5pdFZhbHVlJj4odmFsdWUuZ2V0KCkpLnZhbHVlKCk7CisgICAg
ICAgICAgICBTdHJpbmcgdW5pdCA9IG5vbk51bWJlclVuaXRJbmRleCA/IHN0YXRpY19jYXN0PGNv
bnN0IENTU1VuaXRWYWx1ZSY+KHZhbHVlc1sqbm9uTnVtYmVyVW5pdEluZGV4XS5nZXQoKSkudW5p
dCgpIDogIm51bWJlciI7CisgICAgICAgICAgICByZXR1cm4gQ1NTVW5pdFZhbHVlOjpjcmVhdGUo
cHJvZHVjdCwgdW5pdCk7CisgICAgICAgIH0KKyAgICB9CiAKLSAgICByZXR1cm4gKnRoaXM7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCBzdGVwIDUgdG8gcHJvZHVjZSBhIHVuaXQgb2YgdGhlIGNv
cnJlY3QgdHlwZS4KKworICAgIHJldHVybiBDU1NNYXRoUHJvZHVjdDo6Y3JlYXRlKFdURk1vdmUo
dmFsdWVzKSk7CiB9Ci1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6Om1heChG
aXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVzKQorCitSZWY8Q1NTTnVtZXJpY1ZhbHVl
PiBDU1NOdW1lcmljVmFsdWU6Om11bChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVz
KQogewotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIC8vIEZJWE1FOiBhZGQgaW1wbC4K
KyAgICByZXR1cm4gbXVsdGlwbHlJbnRlcm5hbChXVEY6Om1hcChXVEZNb3ZlKHZhbHVlcyksIHJl
Y3RpZnlOdW1iZXJpc2gpKTsKK30KKworRXhjZXB0aW9uT3I8UmVmPENTU051bWVyaWNWYWx1ZT4+
IENTU051bWVyaWNWYWx1ZTo6ZGl2KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiB2YWx1ZXMp
Cit7CisgICAgVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBpbnZlcnRlZFZhbHVlczsKKyAg
ICBpbnZlcnRlZFZhbHVlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHZhbHVlcy5zaXplKCkpOwor
ICAgIGZvciAoYXV0byYmIHZhbHVlIDogV1RGTW92ZSh2YWx1ZXMpKSB7CisgICAgICAgIGF1dG8g
aW52ZXJ0ZWQgPSBpbnZlcnQocmVjdGlmeU51bWJlcmlzaChXVEZNb3ZlKHZhbHVlKSkpOworICAg
ICAgICBpZiAoaW52ZXJ0ZWQuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gaW52
ZXJ0ZWQucmVsZWFzZUV4Y2VwdGlvbigpOworICAgICAgICBpbnZlcnRlZFZhbHVlcy51bmNoZWNr
ZWRBcHBlbmQoaW52ZXJ0ZWQucmVsZWFzZVJldHVyblZhbHVlKCkpOworICAgIH0KKyAgICByZXR1
cm4gbXVsdGlwbHlJbnRlcm5hbChXVEZNb3ZlKGludmVydGVkVmFsdWVzKSk7Cit9CisKK1JlZjxD
U1NOdW1lcmljVmFsdWU+IENTU051bWVyaWNWYWx1ZTo6bWluKEZpeGVkVmVjdG9yPENTU051bWJl
cmlzaD4mJiBudW1iZXJpc2hlcykKK3sKKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGlu
aS5vcmcvY3NzLXR5cGVkLW9tLyNkb20tY3NzbnVtZXJpY3ZhbHVlLW1pbgorICAgIGF1dG8gdmFs
dWVzID0gcHJlcGVuZEl0ZW1zT2ZUeXBlT3JUaGlzPENTU01hdGhNaW4+KFdURjo6bWFwKFdURk1v
dmUobnVtYmVyaXNoZXMpLCByZWN0aWZ5TnVtYmVyaXNoKSk7CisgICAgCisgICAgaWYgKGF1dG8g
cmVzdWx0ID0gb3BlcmF0aW9uT25WYWx1ZXNPZlNhbWVVbml0PGNvbnN0IGRvdWJsZSYoKikoY29u
c3QgZG91YmxlJiwgY29uc3QgZG91YmxlJik+KHN0ZDo6bWluPGRvdWJsZT4sIHZhbHVlcykpCisg
ICAgICAgIHJldHVybiAqcmVzdWx0OworCisgICAgLy8gRklYTUU6IEltcGxlbWVudCBzdGVwIDQg
dG8gY2hlY2sgdGhhdCB0aGUgdHlwZXMgY2FuIGJlIGFkZGVkLgorCisgICAgcmV0dXJuIENTU01h
dGhNaW46OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykpOworfQorCitSZWY8Q1NTTnVtZXJpY1ZhbHVl
PiBDU1NOdW1lcmljVmFsdWU6Om1heChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVy
aXNoZXMpCit7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy10eXBl
ZC1vbS8jZG9tLWNzc251bWVyaWN2YWx1ZS1tYXgKKyAgICBhdXRvIHZhbHVlcyA9IHByZXBlbmRJ
dGVtc09mVHlwZU9yVGhpczxDU1NNYXRoTWF4PihXVEY6Om1hcChXVEZNb3ZlKG51bWJlcmlzaGVz
KSwgcmVjdGlmeU51bWJlcmlzaCkpOworICAgIAorICAgIGlmIChhdXRvIHJlc3VsdCA9IG9wZXJh
dGlvbk9uVmFsdWVzT2ZTYW1lVW5pdDxjb25zdCBkb3VibGUmKCopKGNvbnN0IGRvdWJsZSYsIGNv
bnN0IGRvdWJsZSYpPihzdGQ6Om1heDxkb3VibGU+LCB2YWx1ZXMpKQorICAgICAgICByZXR1cm4g
KnJlc3VsdDsKKworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgc3RlcCA0IHRvIGNoZWNrIHRoYXQg
dGhlIHR5cGVzIGNhbiBiZSBhZGRlZC4KIAotICAgIHJldHVybiAqdGhpczsKKyAgICByZXR1cm4g
Q1NTTWF0aE1heDo6Y3JlYXRlKFdURk1vdmUodmFsdWVzKSk7CiB9CiAKIFJlZjxDU1NOdW1lcmlj
VmFsdWU+IENTU051bWVyaWNWYWx1ZTo6cmVjdGlmeU51bWJlcmlzaChDU1NOdW1iZXJpc2gmJiBu
dW1iZXJpc2gpCiB7CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy10
eXBlZC1vbS8jcmVjdGlmeS1hLW51bWJlcmlzaC12YWx1ZQogICAgIHJldHVybiBXVEY6OnN3aXRj
aE9uKG51bWJlcmlzaCwgW10oUmVmUHRyPENTU051bWVyaWNWYWx1ZT4mIHZhbHVlKSB7CiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKCEhdmFsdWUpOwogICAgICAgICByZXR1cm4gUmVmPENTU051bWVy
aWNWYWx1ZT4geyAqdmFsdWUgfTsKQEAgLTEyMSw3ICsyNDMsNyBAQCBSZWY8Q1NTTWF0aFN1bT4g
Q1NTTnVtZXJpY1ZhbHVlOjp0b1N1bShGaXhlZFZlY3RvcjxTdHJpbmc+JiYgdW5pdHMpCiAgICAg
VU5VU0VEX1BBUkFNKHVuaXRzKTsKICAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5v
cmcvY3NzLXR5cGVkLW9tLyNkb20tY3NzbnVtZXJpY3ZhbHVlLXRvc3VtCiAgICAgLy8gRklYTUU6
IGFkZCBpbXBsLgotICAgIHJldHVybiBDU1NNYXRoU3VtOjpjcmVhdGUoeyAxLjAgfSk7CisgICAg
cmV0dXJuIENTU01hdGhTdW06OmNyZWF0ZShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+IHsgMS4w
IH0pOwogfQogCiBDU1NOdW1lcmljVHlwZSBDU1NOdW1lcmljVmFsdWU6OnR5cGUoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTTnVtZXJpY1ZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuaAppbmRleCAwNDJkOTVmMjk2
Mjc2ZTViMzhjOGY3NWUwNzQxNGYzNGE2MzJhZjIzLi4yODk5OTRiNzVhYjAwNGRlYjQyMDgyOWY2
ODUyZDJmZDAxMmQ5MjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9D
U1NOdW1lcmljVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1l
cmljVmFsdWUuaApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgUmVmPENTU051bWVyaWNW
YWx1ZT4gYWRkKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CiAgICAgUmVmPENTU051bWVy
aWNWYWx1ZT4gc3ViKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CiAgICAgUmVmPENTU051
bWVyaWNWYWx1ZT4gbXVsKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7Ci0gICAgUmVmPENT
U051bWVyaWNWYWx1ZT4gZGl2KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CisgICAgRXhj
ZXB0aW9uT3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IGRpdihGaXhlZFZlY3RvcjxDU1NOdW1iZXJp
c2g+JiYpOwogICAgIFJlZjxDU1NOdW1lcmljVmFsdWU+IG1pbihGaXhlZFZlY3RvcjxDU1NOdW1i
ZXJpc2g+JiYpOwogICAgIFJlZjxDU1NOdW1lcmljVmFsdWU+IG1heChGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOwogICAgIApAQCAtNjAsMTAgKzYwLDE0IEBAIHB1YmxpYzoKICAgICAKICAg
ICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IHBhcnNlKFN0cmluZyYm
KTsKICAgICBzdGF0aWMgUmVmPENTU051bWVyaWNWYWx1ZT4gcmVjdGlmeU51bWJlcmlzaChDU1NO
dW1iZXJpc2gmJik7Ci0gICAgCisKICAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU051bWVyaWNWYWx1ZTsg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmPENTU051bWVyaWNWYWx1ZT4gYWRkSW50ZXJuYWwoVmVj
dG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKKyAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBt
dWx0aXBseUludGVybmFsKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBwcmVwZW5kSXRl
bXNPZlR5cGVPclRoaXMoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKKwogICAgIENT
U051bWVyaWNWYWx1ZSgpID0gZGVmYXVsdDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1N0eWxlVmFsdWUuaAppbmRleCAyZGFkNGE5MjRjMGVmNzQzNmMwNWQ5MGI5NGRjNDU0
ZDBiNjFkMDk2Li42ODU5OWVlMWJjNzM1MzFhNTdiMzVjM2Q4MDkyNGYyYTNiNWMwYzJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NTdHlsZVZhbHVlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oCkBAIC00NCw2ICs0NCwx
MiBAQCBlbnVtIGNsYXNzIENTU1N0eWxlVmFsdWVUeXBlIDogdWludDhfdCB7CiAgICAgQ1NTU3R5
bGVJbWFnZVZhbHVlLAogICAgIENTU1RyYW5zZm9ybVZhbHVlLAogICAgIENTU051bWVyaWNWYWx1
ZSwKKyAgICBDU1NNYXRoSW52ZXJ0LAorICAgIENTU01hdGhNaW4sCisgICAgQ1NTTWF0aE1heCwK
KyAgICBDU1NNYXRoTmVnYXRlLAorICAgIENTU01hdGhQcm9kdWN0LAorICAgIENTU01hdGhTdW0s
CiAgICAgQ1NTTWF0aFZhbHVlLAogICAgIENTU1VuaXRWYWx1ZSwKICAgICBDU1NVbnBhcnNlZFZh
bHVlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoSW52ZXJ0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJ
bnZlcnQuaAppbmRleCBlMDlhODA2Y2IxNTI3YzkyZDk3NDhlOTQxOGYxYzQ4NDNiMTU0N2I2Li5j
ZGNkYzZkNDlkYWI2NTUwZTdhOWVmMDY1MjE2NjBmZmY0YzIwMGZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJbnZlcnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJbnZlcnQuaApAQCAtMzUsOSAr
MzUsMTEgQEAgY2xhc3MgQ1NTTWF0aEludmVydCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aEludmVydCk7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxDU1NNYXRoSW52ZXJ0PiBjcmVhdGUoQ1NTTnVtYmVyaXNoJiYpOwotICAgIGNvbnN0
IENTU051bWVyaWNWYWx1ZSYgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9
CisgICAgQ1NTTnVtZXJpY1ZhbHVlJiB2YWx1ZSgpIHsgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7IH0K
ICAgICAKIHByaXZhdGU6CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0VHlwZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoSW52ZXJ0OyB9CisKICAgICBD
U1NNYXRoSW52ZXJ0KENTU051bWJlcmlzaCYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBt
X3ZhbHVlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aE1heC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NT
U01hdGhNYXguY3BwCmluZGV4IDk2MDUzNzJhOTA3OTQ3NzEyNzZjZWQyNzQwYzQzNGI5OWZiM2U0
ZmUuLjlkNTdhZTg3MmMxMmRmMWI1YTdjMTk5MTEzYzYwNDM0MzMxMjU1NDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4LmNwcApAQCAtMzYs
MTQgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKENTU01hdGhNYXgpOwogCi1SZWY8Q1NTTWF0aE1heD4gQ1NTTWF0aE1heDo6Y3JlYXRl
KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKK0NTU01hdGhNYXg6OkNT
U01hdGhNYXgoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIG51bWJlcmlzaGVzKQorICAgIDog
Q1NTTWF0aFZhbHVlKENTU01hdGhPcGVyYXRvcjo6TWF4KQorICAgICwgbV92YWx1ZXMoQ1NTTnVt
ZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZShudW1iZXJpc2hlcykpKQogewotICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IENTU01hdGhNYXgoV1RGTW92ZShudW1iZXJpc2hlcykpKTsKIH0KIAotQ1NT
TWF0aE1heDo6Q1NTTWF0aE1heChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNo
ZXMpCitDU1NNYXRoTWF4OjpDU1NNYXRoTWF4KFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4m
JiB2YWx1ZXMpCiAgICAgOiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpNYXgpCi0gICAg
LCBtX3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkp
CisgICAgLCBtX3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykp
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmlj
L0NTU01hdGhNYXguaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0
aE1heC5oCmluZGV4IDBjMGZmZjhmM2QzMTQ2NmIxODk0ODgwYjY4YTBmYWRjZjZhYjhlMDkuLjA5
N2U3MDk3NWQxMjExMjNhZmM1OWM5OTM5OTExZjY4N2ExMmMzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5oCkBAIC0zNywxMSArMzcsMTUg
QEAgY2xhc3MgQ1NTTnVtZXJpY0FycmF5OwogY2xhc3MgQ1NTTWF0aE1heCA6IHB1YmxpYyBDU1NN
YXRoVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aE1heCk7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoTWF4PiBjcmVhdGUoRml4ZWRWZWN0b3I8Q1NTTnVt
YmVyaXNoPiYmKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmdzPiBzdGF0aWMgUmVmPENT
U01hdGhNYXg+IGNyZWF0ZShBcmdzJiYuLi4gYXJncykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBD
U1NNYXRoTWF4KHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOyB9CiAgICAgY29uc3QgQ1NT
TnVtZXJpY0FycmF5JiB2YWx1ZXMoKSBjb25zdDsKICAgICAKKyAgICBzdGF0aWMgQ1NTU3R5bGVW
YWx1ZVR5cGUgdmFsdWVUeXBlKCkgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhN
YXg7IH0KIHByaXZhdGU6CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0VHlwZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTWF4OyB9CisKICAgICBDU1NN
YXRoTWF4KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CisgICAgQ1NTTWF0aE1heChWZWN0
b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYpOwogICAgIFJlZjxDU1NOdW1lcmljQXJyYXk+IG1f
dmFsdWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVt
ZXJpYy9DU1NNYXRoTWluLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMv
Q1NTTWF0aE1pbi5jcHAKaW5kZXggZDBkMTJiMzA0OTU4M2E0NWU5NWJiMDUzZTgyZjg3NjZkZjdk
MTJmOC4uNWVhMmRlZDE2ZDAwOGNlYzgwMDJkMDc0YzlhZWVmNzgyNGExYTE0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhNaW4uY3BwCkBAIC0z
NiwxNCArMzYsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoQ1NTTWF0aE1pbik7CiAKLVJlZjxDU1NNYXRoTWluPiBDU1NNYXRoTWluOjpjcmVh
dGUoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIG51bWJlcmlzaGVzKQorQ1NTTWF0aE1pbjo6
Q1NTTWF0aE1pbihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCisgICAg
OiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpNaW4pCisgICAgLCBtX3ZhbHVlcyhDU1NO
dW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ1NTTWF0aE1pbihXVEZNb3ZlKG51bWJlcmlzaGVzKSkpOwogfQogCi1D
U1NNYXRoTWluOjpDU1NNYXRoTWluKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJp
c2hlcykKK0NTU01hdGhNaW46OkNTU01hdGhNaW4oVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+
PiYmIHZhbHVlcykKICAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6Ok1pbikKLSAg
ICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUobnVtYmVyaXNoZXMp
KSkKKyAgICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUodmFsdWVz
KSkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aE1pbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoTWluLmgKaW5kZXggMzY2OGE5NzQ0MDllZjc1NGJhMTkzMGRhNWY4ZDk0NzU4NTA4OTg5YS4u
MGY5NDcyYWUwM2ZjOTlhZmIwMjYwMDc4M2RiMzFlYmJhZTU1MWE1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmgKQEAgLTM3LDExICszNywx
NiBAQCBjbGFzcyBDU1NOdW1lcmljQXJyYXk7CiBjbGFzcyBDU1NNYXRoTWluIDogcHVibGljIENT
U01hdGhWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NNYXRoTWluKTsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU01hdGhNaW4+IGNyZWF0ZShGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8
Q1NTTWF0aE1pbj4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IENTU01hdGhNaW4oc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7IH0KICAgICBjb25zdCBD
U1NOdW1lcmljQXJyYXkmIHZhbHVlcygpIGNvbnN0OwogICAgIAorICAgIHN0YXRpYyBDU1NTdHls
ZVZhbHVlVHlwZSB2YWx1ZVR5cGUoKSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0
aE1pbjsgfQorCiBwcml2YXRlOgorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aE1pbjsgfQorCiAgICAg
Q1NTTWF0aE1pbihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAgIENTU01hdGhNaW4o
VmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY0FycmF5
PiBtX3ZhbHVlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9u
dW1lcmljL0NTU01hdGhOZWdhdGUuY3BwCmluZGV4IDgzNDAxNTA2ZDBjOTI1ZjdkM2I0NzIyNzE1
ODIyYjdkYmZkODg3MWEuLmI5MWRhOThmMzgzNzg3YjQzZTFjM2JkYjRjMTIyZjZjNjM3YzU0NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5l
Z2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRo
TmVnYXRlLmNwcApAQCAtMzYsMTQgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RG
X01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENTU01hdGhOZWdhdGUpOwogCi1SZWY8Q1NTTWF0aE5l
Z2F0ZT4gQ1NTTWF0aE5lZ2F0ZTo6Y3JlYXRlKENTU051bWJlcmlzaCYmIG51bWJlcmlzaCkKK0NT
U01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUoQ1NTTnVtYmVyaXNoJiYgbnVtYmVyaXNoKQorICAg
IDogQ1NTTWF0aFZhbHVlKENTU01hdGhPcGVyYXRvcjo6TmVnYXRlKQorICAgICwgbV92YWx1ZShD
U1NOdW1lcmljVmFsdWU6OnJlY3RpZnlOdW1iZXJpc2goV1RGTW92ZShudW1iZXJpc2gpKSkKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NNYXRoTmVnYXRlKFdURk1vdmUobnVtYmVyaXNo
KSkpOwogfQogCi1DU1NNYXRoTmVnYXRlOjpDU1NNYXRoTmVnYXRlKENTU051bWJlcmlzaCYmIG51
bWJlcmlzaCkKK0NTU01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUoUmVmPENTU051bWVyaWNWYWx1
ZT4mJiB2YWx1ZSkKICAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6Ok5lZ2F0ZSkK
LSAgICAsIG1fdmFsdWUoQ1NTTnVtZXJpY1ZhbHVlOjpyZWN0aWZ5TnVtYmVyaXNoKFdURk1vdmUo
bnVtYmVyaXNoKSkpCisgICAgLCBtX3ZhbHVlKFdURk1vdmUodmFsdWUpKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhOZWdhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCmlu
ZGV4IDg4Y2NkOWE5MjAyZjA4Y2JmNmU1ZGRmOGI3NWU4ODQ1Yjk4MTFlMDAuLjQyM2UzYzI1ZGM1
NmE5NjFkNzdiNjEwMTRjZjc0YjhmYjU2OThlMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCkBAIC0zNywxMSArMzcsMTQgQEAg
Y2xhc3MgQ1NTTnVtZXJpY1ZhbHVlOwogY2xhc3MgQ1NTTWF0aE5lZ2F0ZSA6IHB1YmxpYyBDU1NN
YXRoVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aE5lZ2F0ZSk7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoTmVnYXRlPiBjcmVhdGUoQ1NTTnVtYmVyaXNo
JiYpOwotICAgIGNvbnN0IENTU051bWVyaWNWYWx1ZSYgdmFsdWUoKSBjb25zdCB7IHJldHVybiBt
X3ZhbHVlLmdldCgpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJl
ZjxDU1NNYXRoTmVnYXRlPiBjcmVhdGUoQXJncyYmLi4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQ1NTTWF0aE5lZ2F0ZShzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsgfQorICAg
IENTU051bWVyaWNWYWx1ZSYgdmFsdWUoKSB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CiAgICAg
CiBwcml2YXRlOgorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aE5lZ2F0ZTsgfQorCiAgICAgQ1NTTWF0
aE5lZ2F0ZShDU1NOdW1iZXJpc2gmJik7CisgICAgQ1NTTWF0aE5lZ2F0ZShSZWY8Q1NTTnVtZXJp
Y1ZhbHVlPiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBtX3ZhbHVlOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0
LmNwcAppbmRleCBhMmIzMWRkMmY5YmY2NWQ0NmMwZmI2YTA1MWQxMmViNGMxMmZlZjkxLi5mMGVm
Yzk5NDUzNTdlNWM2Yjk1NWM2NmRkMGVkOWFkNmU2OTRiMmE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0LmNwcApAQCAtMzYs
MTQgKzM2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKENTU01hdGhQcm9kdWN0KTsKIAotUmVmPENTU01hdGhQcm9kdWN0PiBDU1NNYXRoUHJv
ZHVjdDo6Y3JlYXRlKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKK0NT
U01hdGhQcm9kdWN0OjpDU1NNYXRoUHJvZHVjdChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYg
bnVtYmVyaXNoZXMpCisgICAgOiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpQcm9kdWN0
KQorICAgICwgbV92YWx1ZXMoQ1NTTnVtZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZShudW1iZXJp
c2hlcykpKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU01hdGhQcm9kdWN0KFdURk1v
dmUobnVtYmVyaXNoZXMpKSk7CiB9CiAKLUNTU01hdGhQcm9kdWN0OjpDU1NNYXRoUHJvZHVjdChG
aXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCitDU1NNYXRoUHJvZHVjdDo6
Q1NTTWF0aFByb2R1Y3QoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIHZhbHVlcykKICAg
ICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6OlByb2R1Y3QpCi0gICAgLCBtX3ZhbHVl
cyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkpCisgICAgLCBt
X3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKHZhbHVlcykpKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQ
cm9kdWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9k
dWN0LmgKaW5kZXggNTM0MDUxYjcyMDNhYTdiOTNkMmVjMjUwNzMxYmU5YzRjYzc4YTkwZi4uMzBj
YzNlYTk3MjE4ZWRiNTIzMjk2MjY2ZDA1Zjc5MDFmODBkNmMwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFByb2R1Y3QuaApAQCAtMzcsMTMg
KzM3LDE4IEBAIGNsYXNzIENTU051bWVyaWNBcnJheTsKIGNsYXNzIENTU01hdGhQcm9kdWN0IDog
cHVibGljIENTU01hdGhWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NNYXRo
UHJvZHVjdCk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoUHJvZHVjdD4gY3JlYXRl
KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4g
QXJncz4gc3RhdGljIFJlZjxDU1NNYXRoUHJvZHVjdD4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IENTU01hdGhQcm9kdWN0KHN0ZDo6Zm9yd2FyZDxBcmdzPihh
cmdzKS4uLikpOyB9CiAgICAgY29uc3QgQ1NTTnVtZXJpY0FycmF5JiB2YWx1ZXMoKSBjb25zdDsK
ICAgICAKICAgICBDU1NNYXRoT3BlcmF0b3IgZ2V0T3BlcmF0b3IoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBDU1NNYXRoT3BlcmF0b3I6OlByb2R1Y3Q7IH0KIAorICAgIHN0YXRpYyBDU1NTdHlsZVZh
bHVlVHlwZSB2YWx1ZVR5cGUoKSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFBy
b2R1Y3Q7IH0KKwogcHJpdmF0ZToKKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhQcm9kdWN0OyB9CisK
ICAgICBDU1NNYXRoUHJvZHVjdChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAgIENT
U01hdGhQcm9kdWN0KFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7CiAgICAgUmVmPENT
U051bWVyaWNBcnJheT4gbV92YWx1ZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhTdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmNwcAppbmRleCA1NGJiMzA0YWU1MmYzN2E2YWU3
YTMzNzc2OWM3ODliMjczYzMzYTdiLi42ZGUyN2MzNGE0MjEwMjk1OWRmYzVlMTkwZmJlYTUwZWNh
YjI1MjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NT
U01hdGhTdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NT
TWF0aFN1bS5jcHAKQEAgLTM2LDIwICszNiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDU1NNYXRoU3VtKTsKIAotUmVmPENTU01hdGhTdW0+
IENTU01hdGhTdW06OmNyZWF0ZShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNo
ZXMpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWF0aFN1bShXVEZNb3ZlKG51bWJl
cmlzaGVzKSkpOwotfQotCiBDU1NNYXRoU3VtOjpDU1NNYXRoU3VtKEZpeGVkVmVjdG9yPENTU051
bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKICAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0
b3I6OlN1bSkKICAgICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUo
bnVtYmVyaXNoZXMpKSkKIHsKIH0KIAotY29uc3QgQ1NTTnVtZXJpY0FycmF5JiBDU1NNYXRoU3Vt
Ojp2YWx1ZXMoKSBjb25zdAorQ1NTTWF0aFN1bTo6Q1NTTWF0aFN1bShWZWN0b3I8UmVmPENTU051
bWVyaWNWYWx1ZT4+JiYgdmFsdWVzKQorICAgIDogQ1NTTWF0aFZhbHVlKENTU01hdGhPcGVyYXRv
cjo6U3VtKQorICAgICwgbV92YWx1ZXMoQ1NTTnVtZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZSh2
YWx1ZXMpKSkKIHsKLSAgICByZXR1cm4gbV92YWx1ZXMuZ2V0KCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aFN1bS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoU3VtLmgKaW5kZXggMzljYWVlMGYyZmM2MjFhY2IzNGIzODRkZTg3NjYzODZlZTM0MzlhZC4u
N2VmZjllY2QyYmM1ZGVmMTBlZmIxOTQ3Y2RjNzk5ZjIzYjljOGYyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmgKQEAgLTM4LDExICszOCwx
NiBAQCBjbGFzcyBDU1NOdW1lcmljQXJyYXk7CiBjbGFzcyBDU1NNYXRoU3VtIDogcHVibGljIENT
U01hdGhWYWx1ZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDU1NNYXRoU3VtKTsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU01hdGhTdW0+IGNyZWF0ZShGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOwotICAgIGNvbnN0IENTU051bWVyaWNBcnJheSYgdmFsdWVzKCkgY29uc3Q7
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJlZjxDU1NNYXRoU3VtPiBj
cmVhdGUoQXJncyYmLi4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWF0aFN1bShz
dGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsgfQorICAgIGNvbnN0IENTU051bWVyaWNBcnJh
eSYgdmFsdWVzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZXMuZ2V0KCk7IH0KKworICAgIHN0YXRp
YyBDU1NTdHlsZVZhbHVlVHlwZSB2YWx1ZVR5cGUoKSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlw
ZTo6Q1NTTWF0aFN1bTsgfQogCiBwcml2YXRlOgorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5
cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFN1
bTsgfQorCiAgICAgQ1NTTWF0aFN1bShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAg
IENTU01hdGhTdW0oVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKICAgICBSZWY8Q1NT
TnVtZXJpY0FycmF5PiBtX3ZhbHVlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9udW1lcmljL0NTU01hdGhWYWx1ZS5oCmluZGV4IDUwNDYzZTM3ZGEyYzJjMWE1OGUx
NjIwM2U2YTRkYzNkOWVjZjI2NjEuLjM5M2U5NjFiNTYwMTc0MzlkMWU1M2ZhMzNjZDBmZjI3NDg4
YjVlODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NT
TWF0aFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoVmFsdWUuaApAQCAtMzcsMTAgKzM3LDEwIEBAIGNsYXNzIENTU01hdGhWYWx1ZSA6IHB1Ymxp
YyBDU1NOdW1lcmljVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aFZh
bHVlKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIENTU01hdGhPcGVyYXRvciBnZXRPcGVyYXRvcigp
IGNvbnN0IHsgcmV0dXJuIG1fb3BlcmF0b3I7IH0KLSAgICAKLSAgICBDU1NTdHlsZVZhbHVlVHlw
ZSBnZXRUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01h
dGhWYWx1ZTsgfQotICAgIAorCiBwcm90ZWN0ZWQ6CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0
VHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRo
VmFsdWU7IH0KKwogICAgIENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3IpOwogICAgIENTU01h
dGhPcGVyYXRvciBtX29wZXJhdG9yOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmNwcAppbmRleCAwYjdkMTQ4NDI5NDQx
ZDg1ZTQ0NjE4MmM3NTQxZmU1OTAxOWY3OTUzLi45ZGU1MTkwMDk2YjliNDE3ZDY4ZjBmYjVkNTli
Y2EyMmRkMGFkNjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1l
cmljL0NTU051bWVyaWNBcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20v
bnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuY3BwCkBAIC00NSwxMSArNDUsMTYgQEAgUmVmPENTU051
bWVyaWNBcnJheT4gQ1NTTnVtZXJpY0FycmF5OjpjcmVhdGUoY29uc3QgRml4ZWRWZWN0b3I8Q1NT
TnVtYmVyaXNoPiYgbnUKICAgICB9KSkpOwogfQogCi1SZWY8Q1NTTnVtZXJpY0FycmF5PiBDU1NO
dW1lcmljQXJyYXk6OmNyZWF0ZShGaXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiB2
YWx1ZXMpCitSZWY8Q1NTTnVtZXJpY0FycmF5PiBDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShWZWN0
b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYgdmFsdWVzKQogewogICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IENTU051bWVyaWNBcnJheShXVEZNb3ZlKHZhbHVlcykpKTsKIH0KIAorQ1NTTnVtZXJp
Y0FycmF5OjpDU1NOdW1lcmljQXJyYXkoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIHZh
bHVlcykKKyAgICA6IG1fYXJyYXkoV1RGTW92ZSh2YWx1ZXMpKQoreworfQorCiBDU1NOdW1lcmlj
QXJyYXk6OkNTU051bWVyaWNBcnJheShGaXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4m
JiB2YWx1ZXMpCiAgICAgOiBtX2FycmF5KFdURk1vdmUodmFsdWVzKSkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNBcnJheS5oCmluZGV4
IDUxNmY5MWYzNGRlNGY1OGIzZGQzZTdjMGM2NjYxZDJiM2M5OWI1MjkuLjc0NDVlZmJkMTIwYmMz
Yjc2OTcwMzk0ODMxYTNhNGE5MjA5NzUzNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuaApAQCAtNDEsMTIgKzQxLDE0IEBA
IGNsYXNzIENTU051bWVyaWNBcnJheSA6IHB1YmxpYyBSZWZDb3VudGVkPENTU051bWVyaWNBcnJh
eT4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTnVtZXJpY0FycmF5KTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPENTU051bWVyaWNBcnJheT4gY3JlYXRlKGNvbnN0IEZpeGVkVmVj
dG9yPENTU051bWJlcmlzaD4mKTsKLSAgICBzdGF0aWMgUmVmPENTU051bWVyaWNBcnJheT4gY3Jl
YXRlKEZpeGVkVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKKyAgICBzdGF0aWMgUmVm
PENTU051bWVyaWNBcnJheT4gY3JlYXRlKFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7
CiAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXkuc2l6ZSgpOyB9Owog
ICAgIEV4Y2VwdGlvbk9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBpdGVtKHNpemVfdCBpbmRleCk7
CisgICAgY29uc3QgVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYgYXJyYXkoKSBjb25zdCB7
IHJldHVybiBtX2FycmF5OyB9CiAKIHByaXZhdGU6Ci0gICAgRml4ZWRWZWN0b3I8UmVmPENTU051
bWVyaWNWYWx1ZT4+IG1fYXJyYXk7CisgICAgVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBt
X2FycmF5OworICAgIENTU051bWVyaWNBcnJheShWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+
JiYpOwogICAgIENTU051bWVyaWNBcnJheShGaXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVl
Pj4mJik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1l
cmljL0NTU051bWVyaWNUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmlj
L0NTU051bWVyaWNUeXBlLmgKaW5kZXggYzI5N2M1YTc3MWQ1Mjk2OWQ2ZDFjZmJkMzNkMDZmOTZh
NzM4NjIzZi4uY2Y3ZWE2ZGFhM2Y0ZDU0ZjExNDU5YjIyNGQwMjc4MzA4OTNjOTE3YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljVHlwZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY1R5cGUu
aApAQCAtMjgsMTggKzI4LDE5IEBACiAjaWYgRU5BQkxFKENTU19UWVBFRF9PTSkKIAogI2luY2x1
ZGUgIkNTU051bWVyaWNCYXNlVHlwZS5oIgorI2luY2x1ZGUgPG9wdGlvbmFsPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBDU1NOdW1lcmljVHlwZSB7Ci0gICAgbG9uZyBsZW5ndGg7
Ci0gICAgbG9uZyBhbmdsZTsKLSAgICBsb25nIHRpbWU7Ci0gICAgbG9uZyBmcmVxdWVuY3k7Ci0g
ICAgbG9uZyByZXNvbHV0aW9uOwotICAgIGxvbmcgZmxleDsKLSAgICBsb25nIHBlcmNlbnQ7Ci0g
ICAgQ1NTTnVtZXJpY0Jhc2VUeXBlIHBlcmNlbnRIaW50OworICAgIGxvbmcgbGVuZ3RoIHsgMCB9
OworICAgIGxvbmcgYW5nbGUgeyAwIH07CisgICAgbG9uZyB0aW1lIHsgMCB9OworICAgIGxvbmcg
ZnJlcXVlbmN5IHsgMCB9OworICAgIGxvbmcgcmVzb2x1dGlvbiB7IDAgfTsKKyAgICBsb25nIGZs
ZXggeyAwIH07CisgICAgbG9uZyBwZXJjZW50IHsgMCB9OworICAgIHN0ZDo6b3B0aW9uYWw8Q1NT
TnVtZXJpY0Jhc2VUeXBlPiBwZXJjZW50SGludDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDM4ZDY3MzU1ZDQ3ODljMWEzZWJl
MTE2MDJlNWQ4NTVhZDg0NDUwOGQuLjY2MzZhNTY2MzUzNmNlYzE5MTQ3NjU0NThiYmQwYjM5MzQ3
ZGM0Y2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisy
MDIyLTAzLTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgSW1wbGVtZW50IENTU051bWVyaWNWYWx1ZS5tdWwsIGRpdiwgYWRkLCBzdWIsIG1h
eCwgYW5kIG1pbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4MTUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10eXBlZC1vbS9zdHlsZXZhbHVlLXN1YmNs
YXNzZXMvbnVtZXJpYy1vYmplY3RzL2FyaXRobWV0aWMudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoK
KwogMjAyMi0wMy0yMSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtz
ZWxlY3Rpb25dIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzdWJ0cmVlSGFzQ2hhbmdlZCgp
IHNob3VsZG4ndCBiZSBjYWxsZWQgaW4gc2V0UmFuZ2VUZXh0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHlwZWQtb20vc3R5
bGV2YWx1ZS1zdWJjbGFzc2VzL251bWVyaWMtb2JqZWN0cy9hcml0aG1ldGljLnRlbnRhdGl2ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtdHlwZWQtb20vc3R5bGV2YWx1ZS1zdWJjbGFzc2VzL251bWVyaWMtb2JqZWN0cy9h
cml0aG1ldGljLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggMWZmZDBlMGM2MDE0YzZhZjQw
Y2FhM2ZiZmViY2YwYWVhOTljMTc2My4uNTM2ZWE1MmU1M2IwY2NiOGNlMjc4MDY3MDMwNmEzNDdh
ZjE3MzkzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXR5cGVkLW9tL3N0eWxldmFsdWUtc3ViY2xhc3Nlcy9udW1lcmljLW9i
amVjdHMvYXJpdGhtZXRpYy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10eXBlZC1vbS9zdHlsZXZh
bHVlLXN1YmNsYXNzZXMvbnVtZXJpYy1vYmplY3RzL2FyaXRobWV0aWMudGVudGF0aXZlLWV4cGVj
dGVkLnR4dApAQCAtMSw2NSArMSw2NSBAQAogCiBQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLmFk
ZCB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgogUEFTUyBDYWxsaW5nIENTU01hdGhW
YWx1ZS5hZGQgd2l0aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKLUZBSUwgQ2FsbGluZyBD
U1NOdW1lcmljVmFsdWUuYWRkIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMg
Y29ycmVjdCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoU3VtIiBidXQgZ290
ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmFkZCB3aXRoIGEg
c2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5n
IENTU01hdGhWYWx1ZS5hZGQgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBj
b3JyZWN0IHR5cGUKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuYWRkIHdpdGggbW9yZSB0
aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFN1bSIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgor
UEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5hZGQgd2l0aCBtb3JlIHRoYW4gb25lIG51bWJl
ciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVjdCB0eXBlCiBQQVNTIENhbGxpbmcgQ1NT
TnVtZXJpY1ZhbHVlLmFkZCBjYW4gdGFrZSBudW1iZXJpc2ggdmFsdWVzCi1GQUlMIENhbGxpbmcg
Q1NTTWF0aFN1bS5hZGQgd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEg
Q1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NVbml0VmFsdWUiIGJ1dCBn
b3QgIkNTU01hdGhTdW0iCitQQVNTIENhbGxpbmcgQ1NTTWF0aFN1bS5hZGQgd2l0aCBudW1iZXIg
Q1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCiBQQVNTIENhbGxpbmcg
Q1NTTnVtZXJpY1ZhbHVlLmFkZCB3aXRoIGluY29tcGF0aWJsZSB0eXBlcyB0aHJvd3MgVHlwZUVy
cm9yCiBQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLnN1YiB3aXRoIG5vIGFyZ3VtZW50cyByZXR1
cm5zIGl0c2VsZgogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5zdWIgd2l0aCBubyBhcmd1bWVu
dHMgcmV0dXJucyBpdHNlbGYKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuc3ViIHdpdGgg
YSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJDU1NNYXRoU3VtIiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENh
bGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLnN1YiB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSBy
ZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5zdWIgd2l0aCBh
IHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKLUZBSUwgQ2FsbGlu
ZyBDU1NOdW1lcmljVmFsdWUuc3ViIHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJp
Y1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NT
TWF0aFN1bSIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNW
YWx1ZS5zdWIgd2l0aCBtb3JlIHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVy
bnMgY29ycmVjdCB0eXBlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLnN1YiBjYW4gdGFr
ZSBudW1iZXJpc2ggdmFsdWVzCi1GQUlMIENhbGxpbmcgQ1NTTWF0aFN1bS5zdWIgd2l0aCBudW1i
ZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJDU1NVbml0VmFsdWUiIGJ1dCBnb3QgIkNTU01hdGhTdW0iCitQQVNTIENh
bGxpbmcgQ1NTTWF0aFN1bS5zdWIgd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVz
IHRvIGEgQ1NTVW5pdFZhbHVlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLnN1YiB3aXRo
IGluY29tcGF0aWJsZSB0eXBlcyB0aHJvd3MgVHlwZUVycm9yCiBQQVNTIENhbGxpbmcgQ1NTVW5p
dFZhbHVlLm11bCB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgogUEFTUyBDYWxsaW5n
IENTU01hdGhWYWx1ZS5tdWwgd2l0aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKLUZBSUwg
Q2FsbGluZyBDU1NOdW1lcmljVmFsdWUubXVsIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVl
IHJldHVybnMgY29ycmVjdCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoUHJv
ZHVjdCIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1
ZS5tdWwgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUK
IFBBU1MgQ2FsbGluZyBDU1NNYXRoVmFsdWUubXVsIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1Zh
bHVlIHJldHVybnMgY29ycmVjdCB0eXBlCi1GQUlMIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm11
bCB3aXRoIG1vcmUgdGhhbiBvbmUgbnVtYmVyIENTU051bWVyaWNWYWx1ZXMgcmV0dXJucyBjb3Jy
ZWN0IHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01hdGhQcm9kdWN0IiBidXQgZ290
ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm11bCB3aXRoIG1v
cmUgdGhhbiBvbmUgbnVtYmVyIENTU051bWVyaWNWYWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5cGUK
IFBBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubXVsIGNhbiB0YWtlIG51bWJlcmlzaCB2YWx1
ZXMKLUZBSUwgQ2FsbGluZyBDU1NNYXRoUHJvZHVjdC5tdWwgd2l0aCBudW1iZXIgQ1NTVW5pdFZh
bHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJDU1NVbml0VmFsdWUiIGJ1dCBnb3QgIkNTU01hdGhQcm9kdWN0IgorUEFTUyBDYWxsaW5nIENT
U01hdGhQcm9kdWN0Lm11bCB3aXRoIG51bWJlciBDU1NVbml0VmFsdWVzIHNpbXBsaWZpZXMgdG8g
YSBDU1NVbml0VmFsdWUKIFBBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubXVsIHdpdGggaW5j
b21wYXRpYmxlIHR5cGVzIHRocm93cyBUeXBlRXJyb3IKIFBBU1MgQ2FsbGluZyBDU1NVbml0VmFs
dWUuZGl2IHdpdGggbm8gYXJndW1lbnRzIHJldHVybnMgaXRzZWxmCiBQQVNTIENhbGxpbmcgQ1NT
TWF0aFZhbHVlLmRpdiB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgotRkFJTCBDYWxs
aW5nIENTU051bWVyaWNWYWx1ZS5kaXYgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0
dXJucyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01hdGhQcm9kdWN0
IiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmRp
diB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFT
UyBDYWxsaW5nIENTU01hdGhWYWx1ZS5kaXYgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUg
cmV0dXJucyBjb3JyZWN0IHR5cGUKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuZGl2IHdp
dGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3Qg
dHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFByb2R1Y3QiIGJ1dCBnb3QgIkNT
U1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuZGl2IHdpdGggbW9yZSB0
aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFT
UyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5kaXYgY2FuIHRha2UgbnVtYmVyaXNoIHZhbHVlcwot
RkFJTCBDYWxsaW5nIENTU01hdGhQcm9kdWN0LmRpdiB3aXRoIG51bWJlciBDU1NVbml0VmFsdWVz
IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNT
U1VuaXRWYWx1ZSIgYnV0IGdvdCAiQ1NTTWF0aFByb2R1Y3QiCitQQVNTIENhbGxpbmcgQ1NTTWF0
aFByb2R1Y3QuZGl2IHdpdGggbnVtYmVyIENTU1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0byBhIENT
U1VuaXRWYWx1ZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5kaXYgd2l0aCBpbmNvbXBh
dGlibGUgdHlwZXMgdGhyb3dzIFR5cGVFcnJvcgogUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5t
aW4gd2l0aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKIFBBU1MgQ2FsbGluZyBDU1NNYXRo
VmFsdWUubWluIHdpdGggbm8gYXJndW1lbnRzIHJldHVybnMgaXRzZWxmCi1GQUlMIENhbGxpbmcg
Q1NTTnVtZXJpY1ZhbHVlLm1pbiB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5z
IGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aE1pbiIgYnV0IGdv
dCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5taW4gd2l0aCBh
IHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKIFBBU1MgQ2FsbGlu
ZyBDU1NNYXRoVmFsdWUubWluIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMg
Y29ycmVjdCB0eXBlCi1GQUlMIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1pbiB3aXRoIG1vcmUg
dGhhbiBvbmUgbnVtYmVyIENTU051bWVyaWNWYWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5cGUgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01hdGhNaW4iIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIK
K1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubWluIHdpdGggbW9yZSB0aGFuIG9uZSBudW1i
ZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENT
U051bWVyaWNWYWx1ZS5taW4gY2FuIHRha2UgbnVtYmVyaXNoIHZhbHVlcwotRkFJTCBDYWxsaW5n
IENTU01hdGhNaW4ubWluIHdpdGggbnVtYmVyIENTU1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0byBh
IENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTVW5pdFZhbHVlIiBidXQg
Z290ICJDU1NNYXRoTWluIgorUEFTUyBDYWxsaW5nIENTU01hdGhNaW4ubWluIHdpdGggbnVtYmVy
IENTU1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZQogUEFTUyBDYWxsaW5n
IENTU051bWVyaWNWYWx1ZS5taW4gd2l0aCBpbmNvbXBhdGlibGUgdHlwZXMgdGhyb3dzIFR5cGVF
cnJvcgogUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5tYXggd2l0aCBubyBhcmd1bWVudHMgcmV0
dXJucyBpdHNlbGYKIFBBU1MgQ2FsbGluZyBDU1NNYXRoVmFsdWUubWF4IHdpdGggbm8gYXJndW1l
bnRzIHJldHVybnMgaXRzZWxmCi1GQUlMIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1heCB3aXRo
IGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiQ1NTTWF0aE1heCIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBD
YWxsaW5nIENTU051bWVyaWNWYWx1ZS5tYXggd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUg
cmV0dXJucyBjb3JyZWN0IHR5cGUKIFBBU1MgQ2FsbGluZyBDU1NNYXRoVmFsdWUubWF4IHdpdGgg
YSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlCi1GQUlMIENhbGxp
bmcgQ1NTTnVtZXJpY1ZhbHVlLm1heCB3aXRoIG1vcmUgdGhhbiBvbmUgbnVtYmVyIENTU051bWVy
aWNWYWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNT
U01hdGhNYXgiIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmlj
VmFsdWUubWF4IHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1
cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5tYXggY2FuIHRh
a2UgbnVtYmVyaXNoIHZhbHVlcwotRkFJTCBDYWxsaW5nIENTU01hdGhNYXgubWF4IHdpdGggbnVt
YmVyIENTU1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiQ1NTVW5pdFZhbHVlIiBidXQgZ290ICJDU1NNYXRoTWF4IgorUEFTUyBD
YWxsaW5nIENTU01hdGhNYXgubWF4IHdpdGggbnVtYmVyIENTU1VuaXRWYWx1ZXMgc2ltcGxpZmll
cyB0byBhIENTU1VuaXRWYWx1ZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5tYXggd2l0
aCBpbmNvbXBhdGlibGUgdHlwZXMgdGhyb3dzIFR5cGVFcnJvcgotRkFJTCBDYWxsaW5nIENTU1Vu
aXRWYWx1ZS5hZGQgd2l0aCBDU1NVbml0VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZpZXMg
dG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTcgYnV0IGdvdCAxMAot
RkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5zdWIgd2l0aCBDU1NVbml0VmFsdWVzIHdpdGggc2Ft
ZSB1bml0IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMyBidXQgZ290IDEwCi1GQUlMIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm11bCB3aXRoIGFsbCBu
dW1iZXJzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTAwIGJ1dCBnb3QgMTAKLUZBSUwgQ2FsbGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGggb25s
eSBvbmUgbm9uLW51bWJlciBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDEwCi1GQUlMIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm11
bCB3aXRoIG1vcmUgdGhhbiBvbmUgbm9uLW51bWJlciBkb2VzIG5vdCBzaW1wbGlmeSB0byBhIENT
U1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFByb2R1Y3QiIGJ1dCBn
b3QgIkNTU1VuaXRWYWx1ZSIKLUZBSUwgQ2FsbGluZyBDU1NVbml0VmFsdWUuZGl2IHdpdGggYWxs
IG51bWJlcnMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxIGJ1dCBnb3QgMTAKLUZBSUwgQ2FsbGluZyBDU1NVbml0VmFsdWUuZGl2IG9uIGEgbm9u
LW51bWJlciB2YWx1ZSBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEgYnV0IGdvdCAxMAotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5kaXYgd2l0
aCBhIG5vbi1udW1iZXIgdmFsdWUgaW4gdGhlIGFyZ3VtZW50cyBkb2VzIG5vdCBzaW1wbGlmeSB0
byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFByb2R1Y3Qi
IGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKLUZBSUwgQ2FsbGluZyBDU1NVbml0VmFsdWUubWluIHdp
dGggQ1NTVW5pdFZhbHVlcyB3aXRoIHNhbWUgdW5pdCBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZh
bHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAxMAorUEFTUyBDYWxsaW5nIENT
U1VuaXRWYWx1ZS5hZGQgd2l0aCBDU1NVbml0VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZp
ZXMgdG8gYSBDU1NVbml0VmFsdWUKK1BBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUuc3ViIHdpdGgg
Q1NTVW5pdFZhbHVlcyB3aXRoIHNhbWUgdW5pdCBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVl
CitQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm11bCB3aXRoIGFsbCBudW1iZXJzIHNpbXBsaWZp
ZXMgdG8gYSBDU1NVbml0VmFsdWUKK1BBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGgg
b25seSBvbmUgbm9uLW51bWJlciBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNTIENh
bGxpbmcgQ1NTVW5pdFZhbHVlLm11bCB3aXRoIG1vcmUgdGhhbiBvbmUgbm9uLW51bWJlciBkb2Vz
IG5vdCBzaW1wbGlmeSB0byBhIENTU1VuaXRWYWx1ZQorUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1
ZS5kaXYgd2l0aCBhbGwgbnVtYmVycyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNT
IENhbGxpbmcgQ1NTVW5pdFZhbHVlLmRpdiBvbiBhIG5vbi1udW1iZXIgdmFsdWUgc2ltcGxpZmll
cyB0byBhIENTU1VuaXRWYWx1ZQorUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5kaXYgd2l0aCBh
IG5vbi1udW1iZXIgdmFsdWUgaW4gdGhlIGFyZ3VtZW50cyBkb2VzIG5vdCBzaW1wbGlmeSB0byBh
IENTU1VuaXRWYWx1ZQorUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5taW4gd2l0aCBDU1NVbml0
VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKIFBBU1Mg
Q2FsbGluZyBDU1NVbml0VmFsdWUubWF4IHdpdGggQ1NTVW5pdFZhbHVlcyB3aXRoIHNhbWUgdW5p
dCBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCi1GQUlMIENhbGxpbmcgQ1NTTnVtZXJpY1Zh
bHVlLnN1YiBuZWdhdGVzIGFsbCBhcmd1bWVudCB2YWx1ZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIkNTU01hdGhTdW0iIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKLUZBSUwgQ2FsbGluZyBDU1NO
dW1lcmljVmFsdWUuZGl2IGludmVydHMgYWxsIGFyZ3VtZW50IHZhbHVlcyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiQ1NTTWF0aFByb2R1Y3QiIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKLUZBSUwg
Q2FuIG5vdCBkaXZpZGUgd2l0aCBDU1NVbml0VmFsdWUgd2hpY2ggaGFzIHplcm8gdmFsdWUgYW5k
IG51bWJlciB0eXBlIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0aW9uICIoKSA9PiBDU1MubnVtYmVy
KDIpLmRpdihDU1MubnVtYmVyKDApKSIgZGlkIG5vdCB0aHJvdworUEFTUyBDYWxsaW5nIENTU051
bWVyaWNWYWx1ZS5zdWIgbmVnYXRlcyBhbGwgYXJndW1lbnQgdmFsdWVzCitQQVNTIENhbGxpbmcg
Q1NTTnVtZXJpY1ZhbHVlLmRpdiBpbnZlcnRzIGFsbCBhcmd1bWVudCB2YWx1ZXMKK1BBU1MgQ2Fu
IG5vdCBkaXZpZGUgd2l0aCBDU1NVbml0VmFsdWUgd2hpY2ggaGFzIHplcm8gdmFsdWUgYW5kIG51
bWJlciB0eXBlCiBGQUlMIENTU051bWVyaWNWYWx1ZS5hZGQgc2hvdWxkIHRocm93IFR5cGVFcnJv
ciB3aGVuIHRoZSB0eXBlcyBhcmUgZGlmZmVyZW50LiBhc3NlcnRfdGhyb3dzX2pzOiBmdW5jdGlv
biAiKCkgPT4gQ1NTLm51bWJlcigzKS5hZGQoQ1NTLnB4KDEwKSAsQ1NTLm51bWJlcigwKSkiIGRp
ZCBub3QgdGhyb3cKIEZBSUwgQ1NTTnVtZXJpY1ZhbHVlLnN1YiBzaG91bGQgdGhyb3cgVHlwZUVy
cm9yIHdoZW4gdGhlIHR5cGVzIGFyZSBkaWZmZXJlbnQuIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0
aW9uICIoKSA9PiBDU1MubnVtYmVyKDMpLnN1YihDU1MucHgoMTApICxDU1MubnVtYmVyKDApKSIg
ZGlkIG5vdCB0aHJvdwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455316</attachid>
            <date>2022-03-21 19:15:54 -0700</date>
            <delta_ts>2022-03-21 20:23:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238153-20220321191554.patch</filename>
            <type>text/plain</type>
            <size>60153</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgwOTYzNDY1YjQzZGFi
MWFlNjkyYjg2YWRmODMzYjliN2FhMmZhZi4uMTNmOGZmN2IwMDIwY2U0OTYyNDgwMWM3MWI2NDI5
NjhjNWViMTVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg5IEBACisyMDIyLTAzLTIxICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVt
ZW50IENTU051bWVyaWNWYWx1ZS5tdWwsIGRpdiwgYWRkLCBzdWIsIG1heCwgYW5kIG1pbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MTUzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRoaXMgaW1wbGVtZW50
cyBhbGwgZXhjZXB0IHRoZSBkZXJpdmVkIHVuaXRzIG9mIG11bHRpcGxpY2F0aW9uIGFuZCB0aGUg
dW5pdCBjaGVja2luZyBvZiB0aGUgb3RoZXJzLgorICAgICAgICBUaGV5IGFyZSBhbiBvZmYtYnkt
ZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSByaWdodCBub3csIHBhcnQgb2YgY3NzLXR5cGVk
LW9tIHdoaWNoIGlzIGJlaW5nIGltcGxlbWVudGVkLgorICAgICAgICBUaGV5IGFyZSBjb3ZlcmVk
IGJ5IHdwdCB0ZXN0cy4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NT
U1N0eWxlVmFsdWVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRl
ZCk6CisgICAgICAgICogY3NzL3R5cGVkb20vQ1NTS2V5d29yZFZhbHVlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NLZXl3b3JkVmFsdWU6OnZhbHVlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU0tleXdvcmRWYWx1ZTo6Q1NTS2V5d29yZFZhbHVlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBjc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6bmVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OmludmVydCk6CisgICAgICAgIChXZWJDb3Jl
OjpvcGVyYXRpb25PblZhbHVlc09mU2FtZVVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTnVt
ZXJpY1ZhbHVlOjpwcmVwZW5kSXRlbXNPZlR5cGVPclRoaXMpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTTnVtZXJpY1ZhbHVlOjphZGRJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1l
cmljVmFsdWU6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6OnN1Yik6
CisgICAgICAgIChXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU6Om11bHRpcGx5SW50ZXJuYWwpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTTnVtZXJpY1ZhbHVlOjptdWwpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTTnVtZXJpY1ZhbHVlOjpkaXYpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTnVtZXJpY1Zh
bHVlOjptaW4pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTnVtZXJpY1ZhbHVlOjptYXgpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTTnVtZXJpY1ZhbHVlOjpyZWN0aWZ5TnVtYmVyaXNoKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZTo6dG9TdW0pOgorICAgICAgICAqIGNzcy90eXBl
ZG9tL0NTU051bWVyaWNWYWx1ZS5oOgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAgKiBjc3Mv
dHlwZWRvbS9DU1NTdHlsZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjppc0NTU051bWVyaWNW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjppc0NTU01hdGhWYWx1ZSk6CisgICAgICAgICogY3Nz
L3R5cGVkb20vQ1NTVW5pdFZhbHVlLmg6CisgICAgICAgIChpc1R5cGUpOgorICAgICAgICAqIGNz
cy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aEludmVydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NNYXRoSW52ZXJ0OjpDU1NNYXRoSW52ZXJ0KToKKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1l
cmljL0NTU01hdGhJbnZlcnQuaDoKKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NNYXRoSW52ZXJ0Ojp2YWx1ZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogY3NzL3R5
cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhN
YXg6OkNTU01hdGhNYXgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aE1heDo6Y3JlYXRlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhNYXguaDoKKyAg
ICAgICAgKGlzVHlwZSk6CisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWlu
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01hdGhNaW46OkNTU01hdGhNaW4pOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTTWF0aE1pbjo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3Mv
dHlwZWRvbS9udW1lcmljL0NTU01hdGhNaW4uaDoKKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAg
ICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTmVnYXRlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TWF0aE5lZ2F0ZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1l
cmljL0NTU01hdGhOZWdhdGUuaDoKKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NNYXRoTmVnYXRlOjp2YWx1ZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogY3NzL3R5
cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NN
YXRoUHJvZHVjdDo6Q1NTTWF0aFByb2R1Y3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aFBy
b2R1Y3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9D
U1NNYXRoUHJvZHVjdC5oOgorICAgICAgICAoaXNUeXBlKToKKyAgICAgICAgKiBjc3MvdHlwZWRv
bS9udW1lcmljL0NTU01hdGhTdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aFN1bTo6
Q1NTTWF0aFN1bSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoU3VtOjpjcmVhdGUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWF0aFN1bTo6dmFsdWVzIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhTdW0uaDoKKyAgICAgICAg
KGlzVHlwZSk6CisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoVmFsdWUuY3Bw
OiBSZW1vdmVkLgorICAgICAgICAqIGNzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFZhbHVlLmg6
CisgICAgICAgIChXZWJDb3JlOjpDU1NNYXRoVmFsdWU6OmdldE9wZXJhdG9yIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgIChpc1R5cGUpOiBEZWxldGVkLgor
ICAgICAgICAqIGNzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU051bWVyaWNBcnJheTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU051bWVyaWNBcnJheTo6Q1NTTnVtZXJpY0FycmF5KToKKyAgICAgICAgKiBjc3MvdHlwZWRv
bS9udW1lcmljL0NTU051bWVyaWNBcnJheS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTnVtZXJp
Y0FycmF5OjphcnJheSBjb25zdCk6CisgICAgICAgICogY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NO
dW1lcmljVHlwZS5oOgorICAgICAgICAqIGNzcy90eXBlZG9tL3RyYW5zZm9ybS9DU1NUcmFuc2Zv
cm1WYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVHJhbnNmb3JtVmFsdWU6Omxlbmd0aCBj
b25zdCk6IERlbGV0ZWQuCisKIDIwMjItMDMtMjEgIFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbc2VsZWN0aW9uXSBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6c3Vi
dHJlZUhhc0NoYW5nZWQoKSBzaG91bGRuJ3QgYmUgY2FsbGVkIGluIHNldFJhbmdlVGV4dApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA0M2NjMTJmN2MyNTlhNTA2NmZiMzMzOWZmOGYyMjRlZjZhODZjZmI5Li4z
NjBiMGY2N2EzMzliNTJhZmFkMTg3OWQzYjRhZjRiNzAwZGNiODY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtODY4LDcgKzg2OCw2IEBAIGNzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1pbi5jcHAKIGNz
cy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5jcHAKIGNzcy90eXBlZG9tL251bWVyaWMv
Q1NTTWF0aFByb2R1Y3QuY3BwCiBjc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhTdW0uY3BwCi1j
c3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhWYWx1ZS5jcHAKIGNzcy90eXBlZG9tL251bWVyaWMv
Q1NTTnVtZXJpY0FycmF5LmNwcAogY3NzL3R5cGVkb20vdHJhbnNmb3JtL0NTU01hdHJpeENvbXBv
bmVudC5jcHAKIGNzcy90eXBlZG9tL3RyYW5zZm9ybS9DU1NQZXJzcGVjdGl2ZS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAz
NDE5OTcxYjk0Y2NiODY5MjIxYmNlNmIwMjVjN2Y1MjkzZTJiYzNmLi41NzVkMDA3NzBiYzBlNDc2
ZmEyY2VhZmI5MGYxZDJiMGM3ODQ1NWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MDMyLDcgKzgwMzIsNiBAQAogCQkyQUVG
NkZFMzI2RTgwMkYwMDAzMjZEMDIgLyogQ1NTTWF0aE5lZ2F0ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDU1NNYXRoTmVnYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkFF
RjZGRTQyNkU4MDJGMDAwMzI2RDAyIC8qIENTU01hdGhQcm9kdWN0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENTU01hdGhQcm9kdWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkFFRjZGRTUyNkU4MDJGMTAwMzI2RDAyIC8qIENTU01hdGhTdW0uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQ1NTTWF0aFN1bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTJBRUY2
RkU2MjZFODAyRjEwMDMyNkQwMiAvKiBDU1NNYXRoVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ1NTTWF0aFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkI0MjM1
OUYxNTI1MEY2MDAwREJCQ0Q4IC8qIFJlbmRlclNWR0VsbGlwc2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHRWxsaXBzZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJCNDIzNUEwMTUyNTBGNjAwMERCQkNEOCAvKiBSZW5kZXJTVkdF
bGxpcHNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0VsbGlw
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkJFOEUyQzYxMkE1ODlFQzAwRkFE
NTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBIVE1MTWV0YUNoYXJzZXRQYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTIwNzgzLDcgKzIwNzgyLDYgQEAKIAkJCQkyQUVGNkZFNTI2RTgwMkYxMDAzMjZEMDIg
LyogQ1NTTWF0aFN1bS5jcHAgKi8sCiAJCQkJMkFFRjZGQzEyNkU3MTZFRTAwMzI2RDAyIC8qIENT
U01hdGhTdW0uaCAqLywKIAkJCQkyQUVGNkZDMzI2RTcxNkVFMDAzMjZEMDIgLyogQ1NTTWF0aFN1
bS5pZGwgKi8sCi0JCQkJMkFFRjZGRTYyNkU4MDJGMTAwMzI2RDAyIC8qIENTU01hdGhWYWx1ZS5j
cHAgKi8sCiAJCQkJMkFFRjZGQzcyNkU3MTZFRTAwMzI2RDAyIC8qIENTU01hdGhWYWx1ZS5oICov
LAogCQkJCTJBRUY2RkJFMjZFNzE2RUUwMDMyNkQwMiAvKiBDU1NNYXRoVmFsdWUuaWRsICovLAog
CQkJCTJBRUY2RkUwMjZFODAyRUYwMDMyNkQwMiAvKiBDU1NOdW1lcmljQXJyYXkuY3BwICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHlsZVZhbHVlQ3Vz
dG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVWYWx1ZUN1c3Rv
bS5jcHAKaW5kZXggMGFhNjg4NDFkZWE2MmY0MTI1Mzg1MjE3ZTA0YzJiZDE5ZGRkMWZkZC4uNGI3
MjFmZmIyODcwNjNhOWM1NDlhODEwNmM1MjI0ODJiNjY3ZjgyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHlsZVZhbHVlQ3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxlVmFsdWVDdXN0b20uY3BwCkBAIC0yOSw5
ICsyOSwxNiBAQAogI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCiAKICNpbmNsdWRlICJKU0NTU0tl
eXdvcmRWYWx1ZS5oIgorI2luY2x1ZGUgIkpTQ1NTTWF0aEludmVydC5oIgorI2luY2x1ZGUgIkpT
Q1NTTWF0aE1heC5oIgorI2luY2x1ZGUgIkpTQ1NTTWF0aE1pbi5oIgorI2luY2x1ZGUgIkpTQ1NT
TWF0aE5lZ2F0ZS5oIgorI2luY2x1ZGUgIkpTQ1NTTWF0aFByb2R1Y3QuaCIKKyNpbmNsdWRlICJK
U0NTU01hdGhTdW0uaCIKICNpbmNsdWRlICJKU0NTU01hdGhWYWx1ZS5oIgogI2luY2x1ZGUgIkpT
Q1NTTnVtZXJpY1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNDU1NTdHlsZUltYWdlVmFsdWUuaCIKKyNp
bmNsdWRlICJKU0NTU1RyYW5zZm9ybVZhbHVlLmgiCiAjaW5jbHVkZSAiSlNDU1NVbml0VmFsdWUu
aCIKICNpbmNsdWRlICJKU0NTU1VucGFyc2VkVmFsdWUuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBw
ZXJDYWNoZS5oIgpAQCAtNDYsOCArNTMsMTggQEAgSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
R2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPEMKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTU3R5bGVJbWFnZVZhbHVlPihnbG9iYWxPYmpl
Y3QsIFdURk1vdmUodmFsdWUpKTsKICAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NOdW1l
cmljVmFsdWU6CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU051bWVyaWNWYWx1ZT4o
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7Ci0gICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlw
ZTo6Q1NTTWF0aFZhbHVlOgotICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNYXRoVmFs
dWU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5bGVWYWx1
ZVR5cGU6OkNTU01hdGhJbnZlcnQ6CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01h
dGhJbnZlcnQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5
bGVWYWx1ZVR5cGU6OkNTU01hdGhNaW46CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENT
U01hdGhNaW4+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5
bGVWYWx1ZVR5cGU6OkNTU01hdGhNYXg6CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENT
U01hdGhNYXg+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOworICAgIGNhc2UgQ1NTU3R5
bGVWYWx1ZVR5cGU6OkNTU01hdGhOZWdhdGU6CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVy
PENTU01hdGhOZWdhdGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOworICAgIGNhc2Ug
Q1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhQcm9kdWN0OgorICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxDU1NNYXRoUHJvZHVjdD4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7Cisg
ICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFN1bToKKyAgICAgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8Q1NTTWF0aFN1bT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7CiAg
ICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5pdFZhbHVlOgogICAgICAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxDU1NVbml0VmFsdWU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkp
OwogICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1VucGFyc2VkVmFsdWU6CkBAIC01NSw2
ICs3Miw3IEBAIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxDCiAgICAgY2FzZSBDU1NTdHlsZVZhbHVl
VHlwZTo6Q1NTS2V5d29yZFZhbHVlOgogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NL
ZXl3b3JkVmFsdWU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwogICAgIGNhc2UgQ1NT
U3R5bGVWYWx1ZVR5cGU6OkNTU1RyYW5zZm9ybVZhbHVlOgorICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxDU1NUcmFuc2Zvcm1WYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7
CiAgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTU3R5bGVWYWx1ZToKICAgICAgICAgcmV0
dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTU3R5bGVWYWx1ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZh
bHVlKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NT
S2V5d29yZFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NLZXl3b3JkVmFs
dWUuaAppbmRleCBkY2E0MDljNjFjMzMxMzVkZDRhNzcwY2U3MTY5YWIwZmY0ZmUwY2RhLi43MjJi
N2Q1NzNjYWYzZmJmZjhhZTkzYzRkNTMxOTI2Yzk3NjRiMjUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NLZXl3b3JkVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9DU1NLZXl3b3JkVmFsdWUuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lPiBjbGFzcyBFeGNlcHRpb25PcjsKIAot
Y2xhc3MgQ1NTS2V5d29yZFZhbHVlIDogcHVibGljIENTU1N0eWxlVmFsdWUgeworY2xhc3MgQ1NT
S2V5d29yZFZhbHVlIGZpbmFsIDogcHVibGljIENTU1N0eWxlVmFsdWUgewogICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoQ1NTS2V5d29yZFZhbHVlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgRXhj
ZXB0aW9uT3I8UmVmPENTU0tleXdvcmRWYWx1ZT4+IGNyZWF0ZShjb25zdCBTdHJpbmcmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NOdW1lcmljVmFsdWUuY3BwCmluZGV4IDU2
NDM3NzEzNzU5ZmE3MDI4NGQ3Mzc1NTNhZTNhM2MzYmRlY2MxZWYuLjI5MTAwZmNkOGI2OTk2MTc0
YmE4NmJjYzEwNGY2MWQwMTliNTEzNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90
eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVk
b20vQ1NTTnVtZXJpY1ZhbHVlLmNwcApAQCAtMzAsNjggKzMwLDE4OSBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkNTU051bWVyaWNWYWx1ZS5oIgogCisjaWYgRU5BQkxFKENTU19U
WVBFRF9PTSkKKworI2luY2x1ZGUgIkNTU01hdGhJbnZlcnQuaCIKKyNpbmNsdWRlICJDU1NNYXRo
TWF4LmgiCisjaW5jbHVkZSAiQ1NTTWF0aE1pbi5oIgorI2luY2x1ZGUgIkNTU01hdGhOZWdhdGUu
aCIKKyNpbmNsdWRlICJDU1NNYXRoUHJvZHVjdC5oIgogI2luY2x1ZGUgIkNTU01hdGhTdW0uaCIK
KyNpbmNsdWRlICJDU1NOdW1lcmljQXJyYXkuaCIKICNpbmNsdWRlICJDU1NOdW1lcmljRmFjdG9y
eS5oIgogI2luY2x1ZGUgIkNTU051bWVyaWNUeXBlLmgiCiAjaW5jbHVkZSAiQ1NTVW5pdFZhbHVl
LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLQotI2lmIEVOQUJMRShDU1NfVFlQRURfT00p
Ci0KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDU1NOdW1lcmljVmFsdWUpOwogCi1S
ZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6OmFkZChGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYgdmFsdWVzKQorc3RhdGljIFJlZjxDU1NOdW1lcmljVmFsdWU+IG5lZ2F0ZShS
ZWY8Q1NTTnVtZXJpY1ZhbHVlPiYmIHZhbHVlKQogewotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMp
OwotICAgIC8vIEZJWE1FOiBhZGQgaW1wbC4KKyAgICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91
ZGluaS5vcmcvY3NzLXR5cGVkLW9tLyNjc3NtYXRoLW5lZ2F0ZS1hLWNzc251bWVyaWN2YWx1ZQor
ICAgIGlmIChhdXRvKiBtYXRoTmVnYXRlID0gZHluYW1pY0Rvd25jYXN0PENTU01hdGhOZWdhdGU+
KHZhbHVlLmdldCgpKSkKKyAgICAgICAgcmV0dXJuIG1hdGhOZWdhdGUtPnZhbHVlKCk7CisgICAg
aWYgKGF1dG8qIHVuaXRWYWx1ZSA9IGR5bmFtaWNEb3duY2FzdDxDU1NVbml0VmFsdWU+KHZhbHVl
LmdldCgpKSkKKyAgICAgICAgcmV0dXJuIENTU1VuaXRWYWx1ZTo6Y3JlYXRlKC11bml0VmFsdWUt
PnZhbHVlKCksIHVuaXRWYWx1ZS0+dW5pdCgpKTsKKyAgICByZXR1cm4gQ1NTTWF0aE5lZ2F0ZTo6
Y3JlYXRlKFdURk1vdmUodmFsdWUpKTsKK30KKworc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxDU1NO
dW1lcmljVmFsdWU+PiBpbnZlcnQoUmVmPENTU051bWVyaWNWYWx1ZT4mJiB2YWx1ZSkKK3sKKyAg
ICAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXR5cGVkLW9tLyNjc3NtYXRo
LWludmVydC1hLWNzc251bWVyaWN2YWx1ZQorICAgIGlmIChhdXRvKiBtYXRoSW52ZXJ0ID0gZHlu
YW1pY0Rvd25jYXN0PENTU01hdGhJbnZlcnQ+KHZhbHVlLmdldCgpKSkKKyAgICAgICAgcmV0dXJu
IFJlZiB7IG1hdGhJbnZlcnQtPnZhbHVlKCkgfTsKKworICAgIGlmIChhdXRvKiB1bml0VmFsdWUg
PSBkeW5hbWljRG93bmNhc3Q8Q1NTVW5pdFZhbHVlPih2YWx1ZS5nZXQoKSkpIHsKKyAgICAgICAg
Ly8gRklYTUU6IHVuaXRzIHNob3VsZCBiZSBlaXRoZXIgQXRvbWljU3RyaW5ncyBvciBDU1NVbml0
VHlwZSBlbnVtZXJhdGlvbiB2YWx1ZXMuCisgICAgICAgIGlmICh1bml0VmFsdWUtPnVuaXQoKSA9
PSAibnVtYmVyIikgeworICAgICAgICAgICAgaWYgKHVuaXRWYWx1ZS0+dmFsdWUoKSA9PSAwLjAg
fHwgdW5pdFZhbHVlLT52YWx1ZSgpID09IC0wLjApCisgICAgICAgICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IFJhbmdlRXJyb3IgfTsKKyAgICAgICAgICAgIHJldHVybiBSZWY8Q1NTTnVtZXJp
Y1ZhbHVlPiB7IENTU1VuaXRWYWx1ZTo6Y3JlYXRlKDEuMCAvIHVuaXRWYWx1ZS0+dmFsdWUoKSwg
dW5pdFZhbHVlLT51bml0KCkpIH07CisgICAgICAgIH0KKyAgICB9CiAKLSAgICByZXR1cm4gKnRo
aXM7CisgICAgcmV0dXJuIFJlZjxDU1NOdW1lcmljVmFsdWU+IHsgQ1NTTWF0aEludmVydDo6Y3Jl
YXRlKFdURk1vdmUodmFsdWUpKSB9OwogfQogCi1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1l
cmljVmFsdWU6OnN1YihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVzKQordGVtcGxh
dGU8dHlwZW5hbWUgVD4KK3N0YXRpYyBSZWZQdHI8Q1NTTnVtZXJpY1ZhbHVlPiBvcGVyYXRpb25P
blZhbHVlc09mU2FtZVVuaXQoVCYmIG9wZXJhdGlvbiwgY29uc3QgVmVjdG9yPFJlZjxDU1NOdW1l
cmljVmFsdWU+PiYgdmFsdWVzKQogewotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIC8v
IEZJWE1FOiBhZGQgaW1wbC4KKyAgICBib29sIGFsbFZhbHVlc0hhdmVTYW1lVW5pdCA9IHZhbHVl
cy5zaXplKCkgJiYgV1RGOjphbGxPZih2YWx1ZXMsIFsmXSAoY29uc3QgUmVmPENTU051bWVyaWNW
YWx1ZT4mIHZhbHVlKSB7CisgICAgICAgIGF1dG8qIHVuaXRWYWx1ZSA9IGR5bmFtaWNEb3duY2Fz
dDxDU1NVbml0VmFsdWU+KHZhbHVlLmdldCgpKTsKKyAgICAgICAgcmV0dXJuIHVuaXRWYWx1ZSA/
IHVuaXRWYWx1ZS0+dW5pdCgpID09IGRvd25jYXN0PENTU1VuaXRWYWx1ZT4odmFsdWVzWzBdLmdl
dCgpKS51bml0KCkgOiBmYWxzZTsKKyAgICB9KTsKKyAgICBpZiAoYWxsVmFsdWVzSGF2ZVNhbWVV
bml0KSB7CisgICAgICAgIGF1dG8mIGZpcnN0VW5pdFZhbHVlID0gZG93bmNhc3Q8Q1NTVW5pdFZh
bHVlPih2YWx1ZXNbMF0uZ2V0KCkpOworICAgICAgICBTdHJpbmcgdW5pdCA9IGZpcnN0VW5pdFZh
bHVlLnVuaXQoKTsKKyAgICAgICAgZG91YmxlIHJlc3VsdCA9IGZpcnN0VW5pdFZhbHVlLnZhbHVl
KCk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAxOyBpIDwgdmFsdWVzLnNpemUoKTsgaSsrKQor
ICAgICAgICAgICAgcmVzdWx0ID0gb3BlcmF0aW9uKHJlc3VsdCwgZG93bmNhc3Q8Q1NTVW5pdFZh
bHVlPih2YWx1ZXNbaV0uZ2V0KCkpLnZhbHVlKCkpOworICAgICAgICByZXR1cm4gQ1NTVW5pdFZh
bHVlOjpjcmVhdGUocmVzdWx0LCB1bml0KTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CiAKLSAgICByZXR1cm4gKnRoaXM7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBWZWN0b3I8UmVmPENT
U051bWVyaWNWYWx1ZT4+IENTU051bWVyaWNWYWx1ZTo6cHJlcGVuZEl0ZW1zT2ZUeXBlT3JUaGlz
KFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiBudW1lcmljVmFsdWVzKQoreworICAgIFZl
Y3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4gdmFsdWVzOworICAgIGlmIChUKiB0ID0gZHluYW1p
Y0Rvd25jYXN0PFQ+KCp0aGlzKSkKKyAgICAgICAgdmFsdWVzLmFwcGVuZFZlY3Rvcih0LT52YWx1
ZXMoKS5hcnJheSgpKTsKKyAgICBlbHNlCisgICAgICAgIHZhbHVlcy5hcHBlbmQoKnRoaXMpOwor
ICAgIHZhbHVlcy5hcHBlbmRWZWN0b3IobnVtZXJpY1ZhbHVlcyk7CisgICAgcmV0dXJuIHZhbHVl
czsKIH0KIAotUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1ZhbHVlOjptdWwoRml4ZWRW
ZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKK1JlZjxDU1NOdW1lcmljVmFsdWU+IENTU051
bWVyaWNWYWx1ZTo6YWRkSW50ZXJuYWwoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIG51
bWVyaWNWYWx1ZXMpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVlcyk7Ci0gICAgLy8gRklYTUU6
IGFkZCBpbXBsLgorICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtdHlw
ZWQtb20vI2RvbS1jc3NudW1lcmljdmFsdWUtYWRkCisgICAgYXV0byB2YWx1ZXMgPSBwcmVwZW5k
SXRlbXNPZlR5cGVPclRoaXM8Q1NTTWF0aFN1bT4oV1RGTW92ZShudW1lcmljVmFsdWVzKSk7CiAK
LSAgICByZXR1cm4gKnRoaXM7CisgICAgaWYgKGF1dG8gcmVzdWx0ID0gb3BlcmF0aW9uT25WYWx1
ZXNPZlNhbWVVbml0KHN0ZDo6cGx1czxkb3VibGU+KCksIHZhbHVlcykpCisgICAgICAgIHJldHVy
biAqcmVzdWx0OworCisgICAgLy8gRklYTUU6IEltcGxlbWVudCBzdGVwIDQgdG8gY2hlY2sgdGhh
dCB0aGUgdHlwZXMgY2FuIGJlIGFkZGVkLgorCisgICAgcmV0dXJuIENTU01hdGhTdW06OmNyZWF0
ZShXVEZNb3ZlKHZhbHVlcykpOwogfQogCi1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmlj
VmFsdWU6OmRpdihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgdmFsdWVzKQorUmVmPENTU051
bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1ZhbHVlOjphZGQoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNo
PiYmIHZhbHVlcykKIHsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVzKTsKLSAgICAvLyBGSVhNRTog
YWRkIGltcGwuCisgICAgcmV0dXJuIGFkZEludGVybmFsKFdURjo6bWFwKFdURk1vdmUodmFsdWVz
KSwgcmVjdGlmeU51bWJlcmlzaCkpOworfQogCi0gICAgcmV0dXJuICp0aGlzOworUmVmPENTU051
bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1ZhbHVlOjpzdWIoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNo
PiYmIHZhbHVlcykKK3sKKyAgICByZXR1cm4gYWRkSW50ZXJuYWwoV1RGOjptYXAoV1RGTW92ZSh2
YWx1ZXMpLCBbXSAoQ1NTTnVtYmVyaXNoJiYgbnVtYmVyaXNoKSB7CisgICAgICAgIHJldHVybiBu
ZWdhdGUocmVjdGlmeU51bWJlcmlzaChXVEZNb3ZlKG51bWJlcmlzaCkpKTsKKyAgICB9KSk7CiB9
Ci1SZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmljVmFsdWU6Om1pbihGaXhlZFZlY3RvcjxD
U1NOdW1iZXJpc2g+JiYgdmFsdWVzKQorCitSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBDU1NOdW1lcmlj
VmFsdWU6Om11bHRpcGx5SW50ZXJuYWwoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIG51
bWVyaWNWYWx1ZXMpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVlcyk7Ci0gICAgLy8gRklYTUU6
IGFkZCBpbXBsLgorICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtdHlw
ZWQtb20vI2RvbS1jc3NudW1lcmljdmFsdWUtbXVsCisgICAgYXV0byB2YWx1ZXMgPSBwcmVwZW5k
SXRlbXNPZlR5cGVPclRoaXM8Q1NTTWF0aFByb2R1Y3Q+KFdURk1vdmUobnVtZXJpY1ZhbHVlcykp
OworCisgICAgYm9vbCBhbGxVbml0VmFsdWVzID0gV1RGOjphbGxPZih2YWx1ZXMsIFsmXSAoY29u
c3QgUmVmPENTU051bWVyaWNWYWx1ZT4mIHZhbHVlKSB7CisgICAgICAgIHJldHVybiBpczxDU1NV
bml0VmFsdWU+KHZhbHVlLmdldCgpKTsKKyAgICB9KTsKKyAgICBpZiAoYWxsVW5pdFZhbHVlcykg
eworICAgICAgICBib29sIG11bHRpcGxlVW5pdHNGb3VuZCB7IGZhbHNlIH07CisgICAgICAgIHN0
ZDo6b3B0aW9uYWw8c2l6ZV90PiBub25OdW1iZXJVbml0SW5kZXg7CisgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgdmFsdWVzLnNpemUoKTsgaSsrKSB7CisgICAgICAgICAgICBhdXRvJiB1
bml0ID0gZG93bmNhc3Q8Q1NTVW5pdFZhbHVlPih2YWx1ZXNbaV0uZ2V0KCkpLnVuaXQoKTsKKyAg
ICAgICAgICAgIGlmICh1bml0ID09ICJudW1iZXIiKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgaWYgKG5vbk51bWJlclVuaXRJbmRleCkgeworICAgICAgICAgICAgICAg
IG11bHRpcGxlVW5pdHNGb3VuZCA9IHRydWU7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBub25OdW1iZXJVbml0SW5kZXggPSBpOworICAgICAgICB9
CisgICAgICAgIGlmICghbXVsdGlwbGVVbml0c0ZvdW5kKSB7CisgICAgICAgICAgICBkb3VibGUg
cHJvZHVjdCA9IDE7CisgICAgICAgICAgICBmb3IgKGNvbnN0IFJlZjxDU1NOdW1lcmljVmFsdWU+
JiB2YWx1ZSA6IHZhbHVlcykKKyAgICAgICAgICAgICAgICBwcm9kdWN0ICo9IGRvd25jYXN0PENT
U1VuaXRWYWx1ZT4odmFsdWUuZ2V0KCkpLnZhbHVlKCk7CisgICAgICAgICAgICBTdHJpbmcgdW5p
dCA9IG5vbk51bWJlclVuaXRJbmRleCA/IGRvd25jYXN0PENTU1VuaXRWYWx1ZT4odmFsdWVzWypu
b25OdW1iZXJVbml0SW5kZXhdLmdldCgpKS51bml0KCkgOiAibnVtYmVyIjsKKyAgICAgICAgICAg
IHJldHVybiBDU1NVbml0VmFsdWU6OmNyZWF0ZShwcm9kdWN0LCB1bml0KTsKKyAgICAgICAgfQor
ICAgIH0KIAotICAgIHJldHVybiAqdGhpczsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHN0ZXAg
NSB0byBwcm9kdWNlIGEgdW5pdCBvZiB0aGUgY29ycmVjdCB0eXBlLgorCisgICAgcmV0dXJuIENT
U01hdGhQcm9kdWN0OjpjcmVhdGUoV1RGTW92ZSh2YWx1ZXMpKTsKIH0KLVJlZjxDU1NOdW1lcmlj
VmFsdWU+IENTU051bWVyaWNWYWx1ZTo6bWF4KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiB2
YWx1ZXMpCisKK1JlZjxDU1NOdW1lcmljVmFsdWU+IENTU051bWVyaWNWYWx1ZTo6bXVsKEZpeGVk
VmVjdG9yPENTU051bWJlcmlzaD4mJiB2YWx1ZXMpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVl
cyk7Ci0gICAgLy8gRklYTUU6IGFkZCBpbXBsLgorICAgIHJldHVybiBtdWx0aXBseUludGVybmFs
KFdURjo6bWFwKFdURk1vdmUodmFsdWVzKSwgcmVjdGlmeU51bWJlcmlzaCkpOworfQorCitFeGNl
cHRpb25PcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4gQ1NTTnVtZXJpY1ZhbHVlOjpkaXYoRml4ZWRW
ZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIHZhbHVlcykKK3sKKyAgICBWZWN0b3I8UmVmPENTU051bWVy
aWNWYWx1ZT4+IGludmVydGVkVmFsdWVzOworICAgIGludmVydGVkVmFsdWVzLnJlc2VydmVJbml0
aWFsQ2FwYWNpdHkodmFsdWVzLnNpemUoKSk7CisgICAgZm9yIChhdXRvJiYgdmFsdWUgOiBXVEZN
b3ZlKHZhbHVlcykpIHsKKyAgICAgICAgYXV0byBpbnZlcnRlZCA9IGludmVydChyZWN0aWZ5TnVt
YmVyaXNoKFdURk1vdmUodmFsdWUpKSk7CisgICAgICAgIGlmIChpbnZlcnRlZC5oYXNFeGNlcHRp
b24oKSkKKyAgICAgICAgICAgIHJldHVybiBpbnZlcnRlZC5yZWxlYXNlRXhjZXB0aW9uKCk7Cisg
ICAgICAgIGludmVydGVkVmFsdWVzLnVuY2hlY2tlZEFwcGVuZChpbnZlcnRlZC5yZWxlYXNlUmV0
dXJuVmFsdWUoKSk7CisgICAgfQorICAgIHJldHVybiBtdWx0aXBseUludGVybmFsKFdURk1vdmUo
aW52ZXJ0ZWRWYWx1ZXMpKTsKK30KKworUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1Zh
bHVlOjptaW4oRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIG51bWJlcmlzaGVzKQoreworICAg
IC8vIGh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtdHlwZWQtb20vI2RvbS1jc3Nu
dW1lcmljdmFsdWUtbWluCisgICAgYXV0byB2YWx1ZXMgPSBwcmVwZW5kSXRlbXNPZlR5cGVPclRo
aXM8Q1NTTWF0aE1pbj4oV1RGOjptYXAoV1RGTW92ZShudW1iZXJpc2hlcyksIHJlY3RpZnlOdW1i
ZXJpc2gpKTsKKyAgICAKKyAgICBpZiAoYXV0byByZXN1bHQgPSBvcGVyYXRpb25PblZhbHVlc09m
U2FtZVVuaXQ8Y29uc3QgZG91YmxlJigqKShjb25zdCBkb3VibGUmLCBjb25zdCBkb3VibGUmKT4o
c3RkOjptaW48ZG91YmxlPiwgdmFsdWVzKSkKKyAgICAgICAgcmV0dXJuICpyZXN1bHQ7CisKKyAg
ICAvLyBGSVhNRTogSW1wbGVtZW50IHN0ZXAgNCB0byBjaGVjayB0aGF0IHRoZSB0eXBlcyBjYW4g
YmUgYWRkZWQuCisKKyAgICByZXR1cm4gQ1NTTWF0aE1pbjo6Y3JlYXRlKFdURk1vdmUodmFsdWVz
KSk7Cit9CisKK1JlZjxDU1NOdW1lcmljVmFsdWU+IENTU051bWVyaWNWYWx1ZTo6bWF4KEZpeGVk
VmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKK3sKKyAgICAvLyBodHRwczovL2Ry
YWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXR5cGVkLW9tLyNkb20tY3NzbnVtZXJpY3ZhbHVlLW1h
eAorICAgIGF1dG8gdmFsdWVzID0gcHJlcGVuZEl0ZW1zT2ZUeXBlT3JUaGlzPENTU01hdGhNYXg+
KFdURjo6bWFwKFdURk1vdmUobnVtYmVyaXNoZXMpLCByZWN0aWZ5TnVtYmVyaXNoKSk7CisgICAg
CisgICAgaWYgKGF1dG8gcmVzdWx0ID0gb3BlcmF0aW9uT25WYWx1ZXNPZlNhbWVVbml0PGNvbnN0
IGRvdWJsZSYoKikoY29uc3QgZG91YmxlJiwgY29uc3QgZG91YmxlJik+KHN0ZDo6bWF4PGRvdWJs
ZT4sIHZhbHVlcykpCisgICAgICAgIHJldHVybiAqcmVzdWx0OworCisgICAgLy8gRklYTUU6IElt
cGxlbWVudCBzdGVwIDQgdG8gY2hlY2sgdGhhdCB0aGUgdHlwZXMgY2FuIGJlIGFkZGVkLgogCi0g
ICAgcmV0dXJuICp0aGlzOworICAgIHJldHVybiBDU1NNYXRoTWF4OjpjcmVhdGUoV1RGTW92ZSh2
YWx1ZXMpKTsKIH0KIAogUmVmPENTU051bWVyaWNWYWx1ZT4gQ1NTTnVtZXJpY1ZhbHVlOjpyZWN0
aWZ5TnVtYmVyaXNoKENTU051bWJlcmlzaCYmIG51bWJlcmlzaCkKIHsKKyAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXR5cGVkLW9tLyNyZWN0aWZ5LWEtbnVtYmVyaXNo
LXZhbHVlCiAgICAgcmV0dXJuIFdURjo6c3dpdGNoT24obnVtYmVyaXNoLCBbXShSZWZQdHI8Q1NT
TnVtZXJpY1ZhbHVlPiYgdmFsdWUpIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoISF2YWx1ZSk7
CiAgICAgICAgIHJldHVybiBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiB7ICp2YWx1ZSB9OwpAQCAtMTIx
LDcgKzI0Miw3IEBAIFJlZjxDU1NNYXRoU3VtPiBDU1NOdW1lcmljVmFsdWU6OnRvU3VtKEZpeGVk
VmVjdG9yPFN0cmluZz4mJiB1bml0cykKICAgICBVTlVTRURfUEFSQU0odW5pdHMpOwogICAgIC8v
IGh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtdHlwZWQtb20vI2RvbS1jc3NudW1l
cmljdmFsdWUtdG9zdW0KICAgICAvLyBGSVhNRTogYWRkIGltcGwuCi0gICAgcmV0dXJuIENTU01h
dGhTdW06OmNyZWF0ZSh7IDEuMCB9KTsKKyAgICByZXR1cm4gQ1NTTWF0aFN1bTo6Y3JlYXRlKEZp
eGVkVmVjdG9yPENTU051bWJlcmlzaD4geyAxLjAgfSk7CiB9CiAKIENTU051bWVyaWNUeXBlIENT
U051bWVyaWNWYWx1ZTo6dHlwZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlw
ZWRvbS9DU1NOdW1lcmljVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051
bWVyaWNWYWx1ZS5oCmluZGV4IDA0MmQ5NWYyOTYyNzZlNWIzOGM4Zjc1ZTA3NDE0ZjM0YTYzMmFm
MjMuLmFjMWNjYzc5YWQzMDE3Mzc4MjIxYzQ4MTEyOWIyNzYyYzBhZTQ4ODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU051bWVyaWNWYWx1ZS5oCkBAIC00OCw3ICs0OCw3IEBA
IHB1YmxpYzoKICAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBhZGQoRml4ZWRWZWN0b3I8Q1NTTnVt
YmVyaXNoPiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBzdWIoRml4ZWRWZWN0b3I8Q1NT
TnVtYmVyaXNoPiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBtdWwoRml4ZWRWZWN0b3I8
Q1NTTnVtYmVyaXNoPiYmKTsKLSAgICBSZWY8Q1NTTnVtZXJpY1ZhbHVlPiBkaXYoRml4ZWRWZWN0
b3I8Q1NTTnVtYmVyaXNoPiYmKTsKKyAgICBFeGNlcHRpb25PcjxSZWY8Q1NTTnVtZXJpY1ZhbHVl
Pj4gZGl2KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CiAgICAgUmVmPENTU051bWVyaWNW
YWx1ZT4gbWluKEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CiAgICAgUmVmPENTU051bWVy
aWNWYWx1ZT4gbWF4KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJik7CiAgICAgCkBAIC02MCwx
MCArNjAsMTQgQEAgcHVibGljOgogICAgIAogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8Q1NT
TnVtZXJpY1ZhbHVlPj4gcGFyc2UoU3RyaW5nJiYpOwogICAgIHN0YXRpYyBSZWY8Q1NTTnVtZXJp
Y1ZhbHVlPiByZWN0aWZ5TnVtYmVyaXNoKENTU051bWJlcmlzaCYmKTsKLSAgICAKKwogICAgIENT
U1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBDU1NTdHls
ZVZhbHVlVHlwZTo6Q1NTTnVtZXJpY1ZhbHVlOyB9CiAKIHByb3RlY3RlZDoKKyAgICBSZWY8Q1NT
TnVtZXJpY1ZhbHVlPiBhZGRJbnRlcm5hbChWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYp
OworICAgIFJlZjxDU1NOdW1lcmljVmFsdWU+IG11bHRpcGx5SW50ZXJuYWwoVmVjdG9yPFJlZjxD
U1NOdW1lcmljVmFsdWU+PiYmKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBWZWN0b3I8UmVm
PENTU051bWVyaWNWYWx1ZT4+IHByZXBlbmRJdGVtc09mVHlwZU9yVGhpcyhWZWN0b3I8UmVmPENT
U051bWVyaWNWYWx1ZT4+JiYpOworCiAgICAgQ1NTTnVtZXJpY1ZhbHVlKCkgPSBkZWZhdWx0Owog
fTsKIApAQCAtNzIsNyArNzYsNyBAQCB1c2luZyBDU1NOdW1iZXJpc2ggPSBDU1NOdW1lcmljVmFs
dWU6OkNTU051bWJlcmlzaDsKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWUpCi0gICAgc3RhdGljIGJv
b2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNTU1N0eWxlVmFsdWUmIHN0eWxlVmFsdWUpIHsgcmV0
dXJuIHN0eWxlVmFsdWUuZ2V0VHlwZSgpID09IFdlYkNvcmU6OkNTU1N0eWxlVmFsdWVUeXBlOjpD
U1NOdW1lcmljVmFsdWU7IH0KKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6
Q1NTU3R5bGVWYWx1ZSYgc3R5bGVWYWx1ZSkgeyByZXR1cm4gaXNDU1NOdW1lcmljVmFsdWUoc3R5
bGVWYWx1ZS5nZXRUeXBlKCkpOyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTU3R5bGVWYWx1ZS5oCmluZGV4IDJk
YWQ0YTkyNGMwZWY3NDM2YzA1ZDkwYjk0ZGM0NTRkMGI2MWQwOTYuLjEzYmJjN2Q2NWExZmRiZTUz
NjAyMTFhODYxZTM0YTVlMDM3ODg3ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90
eXBlZG9tL0NTU1N0eWxlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9D
U1NTdHlsZVZhbHVlLmgKQEAgLTQ0LDEyICs0NCw2MSBAQCBlbnVtIGNsYXNzIENTU1N0eWxlVmFs
dWVUeXBlIDogdWludDhfdCB7CiAgICAgQ1NTU3R5bGVJbWFnZVZhbHVlLAogICAgIENTU1RyYW5z
Zm9ybVZhbHVlLAogICAgIENTU051bWVyaWNWYWx1ZSwKLSAgICBDU1NNYXRoVmFsdWUsCisgICAg
Q1NTTWF0aEludmVydCwKKyAgICBDU1NNYXRoTWluLAorICAgIENTU01hdGhNYXgsCisgICAgQ1NT
TWF0aE5lZ2F0ZSwKKyAgICBDU1NNYXRoUHJvZHVjdCwKKyAgICBDU1NNYXRoU3VtLAogICAgIENT
U1VuaXRWYWx1ZSwKICAgICBDU1NVbnBhcnNlZFZhbHVlLAogICAgIENTU0tleXdvcmRWYWx1ZQog
fTsKIAoraW5saW5lIGJvb2wgaXNDU1NOdW1lcmljVmFsdWUoQ1NTU3R5bGVWYWx1ZVR5cGUgdHlw
ZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpD
U1NOdW1lcmljVmFsdWU6CisgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aEludmVy
dDoKKyAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTWluOgorICAgIGNhc2UgQ1NT
U3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhNYXg6CisgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6
Q1NTTWF0aE5lZ2F0ZToKKyAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoUHJvZHVj
dDoKKyAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoU3VtOgorICAgIGNhc2UgQ1NT
U3R5bGVWYWx1ZVR5cGU6OkNTU1VuaXRWYWx1ZToKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
Y2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTU3R5bGVWYWx1ZToKKyAgICBjYXNlIENTU1N0eWxl
VmFsdWVUeXBlOjpDU1NTdHlsZUltYWdlVmFsdWU6CisgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlw
ZTo6Q1NTVHJhbnNmb3JtVmFsdWU6CisgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5w
YXJzZWRWYWx1ZToKKyAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NLZXl3b3JkVmFsdWU6
CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2lubGluZSBi
b29sIGlzQ1NTTWF0aFZhbHVlKENTU1N0eWxlVmFsdWVUeXBlIHR5cGUpCit7CisgICAgc3dpdGNo
ICh0eXBlKSB7CisgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aEludmVydDoKKyAg
ICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTWluOgorICAgIGNhc2UgQ1NTU3R5bGVW
YWx1ZVR5cGU6OkNTU01hdGhNYXg6CisgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0
aE5lZ2F0ZToKKyAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoUHJvZHVjdDoKKyAg
ICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoU3VtOgorICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICBjYXNlIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NOdW1lcmljVmFsdWU6CisgICAgY2Fz
ZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTVW5pdFZhbHVlOgorICAgIGNhc2UgQ1NTU3R5bGVWYWx1
ZVR5cGU6OkNTU1N0eWxlVmFsdWU6CisgICAgY2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTU3R5
bGVJbWFnZVZhbHVlOgorICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1RyYW5zZm9ybVZh
bHVlOgorICAgIGNhc2UgQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1VucGFyc2VkVmFsdWU6CisgICAg
Y2FzZSBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTS2V5d29yZFZhbHVlOgorICAgICAgICBicmVhazsK
KyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBjbGFzcyBDU1NTdHlsZVZhbHVlIDogcHVi
bGljIFJlZkNvdW50ZWQ8Q1NTU3R5bGVWYWx1ZT4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTU3R5bGVWYWx1ZSk7CiBwdWJsaWM6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9DU1NVbml0VmFsdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5oCmluZGV4IGI0MzA1NjM3YmMwZTk0
NDAzMzg2NGE4NDBlYmFlMDI1Zjg4YjI5NWQuLjJjMmU5ZTM0ZGZlNmUzNTYzNzQyMzc5NTYzOGRj
NmJlNzE5YzVjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1Vu
aXRWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VuaXRWYWx1ZS5o
CkBAIC02Niw3ICs2Niw3IEBAIHByaXZhdGU6CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFNQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6Q1NTVW5pdFZhbHVlKQotICAgIHN0
YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlJiBzdHlsZVZhbHVl
KSB7IHJldHVybiBzdHlsZVZhbHVlLmdldFR5cGUoKSA9PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVl
VHlwZTo6Q1NTVW5pdFZhbHVlOyB9CitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6
Q1NTU3R5bGVWYWx1ZSYgc3R5bGVWYWx1ZSkgeyByZXR1cm4gc3R5bGVWYWx1ZS5nZXRUeXBlKCkg
PT0gV2ViQ29yZTo6Q1NTU3R5bGVWYWx1ZVR5cGU6OkNTU1VuaXRWYWx1ZTsgfQogU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19FTkQoKQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aEludmVydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJbnZlcnQuY3BwCmluZGV4IDViZDE2MjEyZGJjNzZm
MDYzMjU4ZDc3YTVjNTVlZDgyYThiMjRiMDguLjVkOTEyZDgyNjI4ZjhiYTM0MjJiYzQ5OTgyYWM0
ZTFiMTczNGZkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aEludmVydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVt
ZXJpYy9DU1NNYXRoSW52ZXJ0LmNwcApAQCAtNDIsOCArNDIsNyBAQCBSZWY8Q1NTTWF0aEludmVy
dD4gQ1NTTWF0aEludmVydDo6Y3JlYXRlKENTU051bWJlcmlzaCYmIG51bWJlcmlzaCkKIH0KIAog
Q1NTTWF0aEludmVydDo6Q1NTTWF0aEludmVydChDU1NOdW1iZXJpc2gmJiBudW1iZXJpc2gpCi0g
ICAgOiBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9wZXJhdG9yOjpJbnZlcnQpCi0gICAgLCBtX3ZhbHVl
KENTU051bWVyaWNWYWx1ZTo6cmVjdGlmeU51bWJlcmlzaChXVEZNb3ZlKG51bWJlcmlzaCkpKQor
ICAgIDogbV92YWx1ZShDU1NOdW1lcmljVmFsdWU6OnJlY3RpZnlOdW1iZXJpc2goV1RGTW92ZShu
dW1iZXJpc2gpKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVk
b20vbnVtZXJpYy9DU1NNYXRoSW52ZXJ0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9u
dW1lcmljL0NTU01hdGhJbnZlcnQuaAppbmRleCBlMDlhODA2Y2IxNTI3YzkyZDk3NDhlOTQxOGYx
YzQ4NDNiMTU0N2I2Li5jY2UwYWQxMDFkMGU4MmI0MWI2YzQ0OWViZDVmZTEyOTY3ODhkNjlkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJbnZl
cnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhJbnZl
cnQuaApAQCAtMzEsMTMgKzMxLDE2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
Q1NTTWF0aEludmVydCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgeworY2xhc3MgQ1NTTWF0aEludmVy
dCBmaW5hbCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoQ1NTTWF0aEludmVydCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxDU1NNYXRoSW52ZXJ0
PiBjcmVhdGUoQ1NTTnVtYmVyaXNoJiYpOwotICAgIGNvbnN0IENTU051bWVyaWNWYWx1ZSYgdmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CisgICAgQ1NTTnVtZXJpY1ZhbHVl
JiB2YWx1ZSgpIHsgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7IH0KICAgICAKIHByaXZhdGU6CisgICAg
Q1NTTWF0aE9wZXJhdG9yIGdldE9wZXJhdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ1NTTWF0
aE9wZXJhdG9yOjpJbnZlcnQ7IH0KKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhJbnZlcnQ7IH0KKwog
ICAgIENTU01hdGhJbnZlcnQoQ1NTTnVtYmVyaXNoJiYpOwogICAgIFJlZjxDU1NOdW1lcmljVmFs
dWU+IG1fdmFsdWU7CiB9OwpAQCAtNDUsOSArNDgsOSBAQCBwcml2YXRlOgogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkNTU01h
dGhJbnZlcnQpCi0gICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNTU1N0eWxl
VmFsdWUmIHN0eWxlVmFsdWUpIHsgcmV0dXJuIGlzPFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZT4o
c3R5bGVWYWx1ZSkgJiYgaXNUeXBlKGRvd25jYXN0PFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZT4o
c3R5bGVWYWx1ZSkpOyB9Ci0gICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNT
U051bWVyaWNWYWx1ZSYgbnVtZXJpY1ZhbHVlKSB7IHJldHVybiBpczxXZWJDb3JlOjpDU1NNYXRo
VmFsdWU+KG51bWVyaWNWYWx1ZSkgJiYgaXNUeXBlKGRvd25jYXN0PFdlYkNvcmU6OkNTU01hdGhW
YWx1ZT4obnVtZXJpY1ZhbHVlKSk7IH0KLSAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2Vi
Q29yZTo6Q1NTTWF0aFZhbHVlJiBtYXRoVmFsdWUpIHsgcmV0dXJuIG1hdGhWYWx1ZS5nZXRPcGVy
YXRvcigpID09IFdlYkNvcmU6OkNTU01hdGhPcGVyYXRvcjo6SW52ZXJ0OyB9CitzdGF0aWMgYm9v
bCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NTU3R5bGVWYWx1ZSYgc3R5bGVWYWx1ZSkgeyByZXR1
cm4gc3R5bGVWYWx1ZS5nZXRUeXBlKCkgPT0gV2ViQ29yZTo6Q1NTU3R5bGVWYWx1ZVR5cGU6OkNT
U01hdGhJbnZlcnQ7IH0KK3N0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NOdW1l
cmljVmFsdWUmIG51bWVyaWNWYWx1ZSkgeyByZXR1cm4gbnVtZXJpY1ZhbHVlLmdldFR5cGUoKSA9
PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aEludmVydDsgfQorc3RhdGljIGJv
b2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNTU01hdGhWYWx1ZSYgbWF0aFZhbHVlKSB7IHJldHVy
biBtYXRoVmFsdWUuZ2V0VHlwZSgpID09IFdlYkNvcmU6OkNTU1N0eWxlVmFsdWVUeXBlOjpDU1NN
YXRoSW52ZXJ0OyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1heC5jcHAKaW5k
ZXggOTYwNTM3MmE5MDc5NDc3MTI3NmNlZDI3NDBjNDM0Yjk5ZmIzZTRmZS4uM2YzNGM1YTliNmJl
NmYxZTYxNzc4ZWM4YmY5NTU5NGEzZThmMzcwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhNYXguY3BwCkBAIC0zNiwxNCArMzYsMTMgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ1NTTWF0aE1h
eCk7CiAKLVJlZjxDU1NNYXRoTWF4PiBDU1NNYXRoTWF4OjpjcmVhdGUoRml4ZWRWZWN0b3I8Q1NT
TnVtYmVyaXNoPiYmIG51bWJlcmlzaGVzKQorQ1NTTWF0aE1heDo6Q1NTTWF0aE1heChGaXhlZFZl
Y3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCisgICAgOiBtX3ZhbHVlcyhDU1NOdW1l
cmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQ1NTTWF0aE1heChXVEZNb3ZlKG51bWJlcmlzaGVzKSkpOwogfQogCi1DU1NN
YXRoTWF4OjpDU1NNYXRoTWF4KEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hl
cykKLSAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6Ok1heCkKLSAgICAsIG1fdmFs
dWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUobnVtYmVyaXNoZXMpKSkKK0NTU01h
dGhNYXg6OkNTU01hdGhNYXgoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIHZhbHVlcykK
KyAgICA6IG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUodmFsdWVzKSkp
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMv
Q1NTTWF0aE1heC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRo
TWF4LmgKaW5kZXggMGMwZmZmOGYzZDMxNDY2YjE4OTQ4ODBiNjhhMGZhZGNmNmFiOGUwOS4uODk4
N2RmY2Q4Y2QyMDgxN2U1MTVhNjgwYTY5YzgwNzM1MDk4YmRlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWF4LmgKQEAgLTM0LDIzICszNCwyNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTU051bWVyaWNBcnJheTsKIAotY2xhc3Mg
Q1NTTWF0aE1heCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgeworY2xhc3MgQ1NTTWF0aE1heCBmaW5h
bCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NT
TWF0aE1heCk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NNYXRoTWF4PiBjcmVhdGUoRml4
ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmdz
PiBzdGF0aWMgUmVmPENTU01hdGhNYXg+IGNyZWF0ZShBcmdzJiYuLi4gYXJncykgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBDU1NNYXRoTWF4KHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOyB9
CiAgICAgY29uc3QgQ1NTTnVtZXJpY0FycmF5JiB2YWx1ZXMoKSBjb25zdDsKLSAgICAKKwogcHJp
dmF0ZToKKyAgICBDU1NNYXRoT3BlcmF0b3IgZ2V0T3BlcmF0b3IoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBDU1NNYXRoT3BlcmF0b3I6Ok1heDsgfQorICAgIENTU1N0eWxlVmFsdWVUeXBlIGdldFR5
cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aE1heDsg
fQorCiAgICAgQ1NTTWF0aE1heChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAgIENT
U01hdGhNYXgoVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmKTsKICAgICBSZWY8Q1NTTnVt
ZXJpY0FycmF5PiBtX3ZhbHVlczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpDU1NNYXRoTWF4KQotICAgIHN0YXRp
YyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlJiBzdHlsZVZhbHVlKSB7
IHJldHVybiBpczxXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU+KHN0eWxlVmFsdWUpICYmIGlzVHlw
ZShkb3duY2FzdDxXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU+KHN0eWxlVmFsdWUpKTsgfQotICAg
IHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWUmIG51bWVy
aWNWYWx1ZSkgeyByZXR1cm4gaXM8V2ViQ29yZTo6Q1NTTWF0aFZhbHVlPihudW1lcmljVmFsdWUp
ICYmIGlzVHlwZShkb3duY2FzdDxXZWJDb3JlOjpDU1NNYXRoVmFsdWU+KG51bWVyaWNWYWx1ZSkp
OyB9Ci1zdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NTTWF0aFZhbHVlJiBtYXRo
VmFsdWUpIHsgcmV0dXJuIG1hdGhWYWx1ZS5nZXRPcGVyYXRvcigpID09IFdlYkNvcmU6OkNTU01h
dGhPcGVyYXRvcjo6TWF4OyB9CitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NT
U3R5bGVWYWx1ZSYgc3R5bGVWYWx1ZSkgeyByZXR1cm4gc3R5bGVWYWx1ZS5nZXRUeXBlKCkgPT0g
V2ViQ29yZTo6Q1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhNYXg7IH0KK3N0YXRpYyBib29sIGlz
VHlwZShjb25zdCBXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWUmIG51bWVyaWNWYWx1ZSkgeyByZXR1
cm4gbnVtZXJpY1ZhbHVlLmdldFR5cGUoKSA9PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlVHlwZTo6
Q1NTTWF0aE1heDsgfQorc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNTU01hdGhW
YWx1ZSYgbWF0aFZhbHVlKSB7IHJldHVybiBtYXRoVmFsdWUuZ2V0VHlwZSgpID09IFdlYkNvcmU6
OkNTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTWF4OyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0VORCgpCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20v
bnVtZXJpYy9DU1NNYXRoTWluLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVy
aWMvQ1NTTWF0aE1pbi5jcHAKaW5kZXggZDBkMTJiMzA0OTU4M2E0NWU5NWJiMDUzZTgyZjg3NjZk
ZjdkMTJmOC4uYmYzMWM5MDYwZmVhZGUyNjU4NTg2YmM1ZDhjNWEzOGIxZmZkNzVjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhNaW4uY3BwCkBA
IC0zNiwxNCArMzYsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoQ1NTTWF0aE1pbik7CiAKLVJlZjxDU1NNYXRoTWluPiBDU1NNYXRoTWluOjpj
cmVhdGUoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmIG51bWJlcmlzaGVzKQorQ1NTTWF0aE1p
bjo6Q1NTTWF0aE1pbihGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCisg
ICAgOiBtX3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVz
KSkpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWF0aE1pbihXVEZNb3ZlKG51bWJl
cmlzaGVzKSkpOwogfQogCi1DU1NNYXRoTWluOjpDU1NNYXRoTWluKEZpeGVkVmVjdG9yPENTU051
bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKLSAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0
b3I6Ok1pbikKLSAgICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUo
bnVtYmVyaXNoZXMpKSkKK0NTU01hdGhNaW46OkNTU01hdGhNaW4oVmVjdG9yPFJlZjxDU1NOdW1l
cmljVmFsdWU+PiYmIHZhbHVlcykKKyAgICA6IG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3Jl
YXRlKFdURk1vdmUodmFsdWVzKSkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE1pbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5
cGVkb20vbnVtZXJpYy9DU1NNYXRoTWluLmgKaW5kZXggMzY2OGE5NzQ0MDllZjc1NGJhMTkzMGRh
NWY4ZDk0NzU4NTA4OTg5YS4uYmRkNjQ0MmYyMmZlMmRmZDc5YzczYWYzODNmNTg2N2Y5ZmE4MWU2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRo
TWluLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTWlu
LmgKQEAgLTM0LDIzICszNCwyNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTU051
bWVyaWNBcnJheTsKIAotY2xhc3MgQ1NTTWF0aE1pbiA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgewor
Y2xhc3MgQ1NTTWF0aE1pbiBmaW5hbCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aE1pbik7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxD
U1NNYXRoTWluPiBjcmVhdGUoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmKTsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZS4uLiBBcmdzPiBzdGF0aWMgUmVmPENTU01hdGhNaW4+IGNyZWF0ZShBcmdz
JiYuLi4gYXJncykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NNYXRoTWluKHN0ZDo6Zm9yd2Fy
ZDxBcmdzPihhcmdzKS4uLikpOyB9CiAgICAgY29uc3QgQ1NTTnVtZXJpY0FycmF5JiB2YWx1ZXMo
KSBjb25zdDsKLSAgICAKKwogcHJpdmF0ZToKKyAgICBDU1NNYXRoT3BlcmF0b3IgZ2V0T3BlcmF0
b3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDU1NNYXRoT3BlcmF0b3I6Ok1pbjsgfQorICAgIENT
U1N0eWxlVmFsdWVUeXBlIGdldFR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDU1NTdHlsZVZh
bHVlVHlwZTo6Q1NTTWF0aE1pbjsgfQorCiAgICAgQ1NTTWF0aE1pbihGaXhlZFZlY3RvcjxDU1NO
dW1iZXJpc2g+JiYpOworICAgIENTU01hdGhNaW4oVmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+
PiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY0FycmF5PiBtX3ZhbHVlczsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpD
U1NNYXRoTWluKQotICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NTdHls
ZVZhbHVlJiBzdHlsZVZhbHVlKSB7IHJldHVybiBpczxXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU+
KHN0eWxlVmFsdWUpICYmIGlzVHlwZShkb3duY2FzdDxXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU+
KHN0eWxlVmFsdWUpKTsgfQotICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpD
U1NOdW1lcmljVmFsdWUmIG51bWVyaWNWYWx1ZSkgeyByZXR1cm4gaXM8V2ViQ29yZTo6Q1NTTWF0
aFZhbHVlPihudW1lcmljVmFsdWUpICYmIGlzVHlwZShkb3duY2FzdDxXZWJDb3JlOjpDU1NNYXRo
VmFsdWU+KG51bWVyaWNWYWx1ZSkpOyB9Ci0gICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdl
YkNvcmU6OkNTU01hdGhWYWx1ZSYgbWF0aFZhbHVlKSB7IHJldHVybiBtYXRoVmFsdWUuZ2V0T3Bl
cmF0b3IoKSA9PSBXZWJDb3JlOjpDU1NNYXRoT3BlcmF0b3I6Ok1pbjsgfQorc3RhdGljIGJvb2wg
aXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNTU1N0eWxlVmFsdWUmIHN0eWxlVmFsdWUpIHsgcmV0dXJu
IHN0eWxlVmFsdWUuZ2V0VHlwZSgpID09IFdlYkNvcmU6OkNTU1N0eWxlVmFsdWVUeXBlOjpDU1NN
YXRoTWluOyB9CitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NTTnVtZXJpY1Zh
bHVlJiBudW1lcmljVmFsdWUpIHsgcmV0dXJuIG51bWVyaWNWYWx1ZS5nZXRUeXBlKCkgPT0gV2Vi
Q29yZTo6Q1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhNaW47IH0KK3N0YXRpYyBib29sIGlzVHlw
ZShjb25zdCBXZWJDb3JlOjpDU1NNYXRoVmFsdWUmIG1hdGhWYWx1ZSkgeyByZXR1cm4gbWF0aFZh
bHVlLmdldFR5cGUoKSA9PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aE1pbjsg
fQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhOZWdhdGUuY3BwCmluZGV4IDgz
NDAxNTA2ZDBjOTI1ZjdkM2I0NzIyNzE1ODIyYjdkYmZkODg3MWEuLjRkYTQzY2Q5MDcyNmQ0ODE2
YWQ2ZmM2MTVmMjEyZmZmYmJmNTA2ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90
eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoTmVnYXRlLmNwcApAQCAtMzYsMTQgKzM2LDEzIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENTU01hdGhO
ZWdhdGUpOwogCi1SZWY8Q1NTTWF0aE5lZ2F0ZT4gQ1NTTWF0aE5lZ2F0ZTo6Y3JlYXRlKENTU051
bWJlcmlzaCYmIG51bWJlcmlzaCkKK0NTU01hdGhOZWdhdGU6OkNTU01hdGhOZWdhdGUoQ1NTTnVt
YmVyaXNoJiYgbnVtYmVyaXNoKQorICAgIDogbV92YWx1ZShDU1NOdW1lcmljVmFsdWU6OnJlY3Rp
ZnlOdW1iZXJpc2goV1RGTW92ZShudW1iZXJpc2gpKSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBDU1NNYXRoTmVnYXRlKFdURk1vdmUobnVtYmVyaXNoKSkpOwogfQogCi1DU1NNYXRoTmVn
YXRlOjpDU1NNYXRoTmVnYXRlKENTU051bWJlcmlzaCYmIG51bWJlcmlzaCkKLSAgICA6IENTU01h
dGhWYWx1ZShDU1NNYXRoT3BlcmF0b3I6Ok5lZ2F0ZSkKLSAgICAsIG1fdmFsdWUoQ1NTTnVtZXJp
Y1ZhbHVlOjpyZWN0aWZ5TnVtYmVyaXNoKFdURk1vdmUobnVtYmVyaXNoKSkpCitDU1NNYXRoTmVn
YXRlOjpDU1NNYXRoTmVnYXRlKFJlZjxDU1NOdW1lcmljVmFsdWU+JiYgdmFsdWUpCisgICAgOiBt
X3ZhbHVlKFdURk1vdmUodmFsdWUpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhOZWdhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aE5lZ2F0ZS5oCmluZGV4IDg4Y2NkOWE5MjAyZjA4Y2Jm
NmU1ZGRmOGI3NWU4ODQ1Yjk4MTFlMDAuLjk5ZjNjZGNlM2U4ZmIxOGI5N2MzN2Y0ZTM3NWZiNjBh
OGNiMTdhODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMv
Q1NTTWF0aE5lZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMv
Q1NTTWF0aE5lZ2F0ZS5oCkBAIC0zNCwyMyArMzQsMjcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDU1NOdW1lcmljVmFsdWU7CiAKLWNsYXNzIENTU01hdGhOZWdhdGUgOiBwdWJsaWMg
Q1NTTWF0aFZhbHVlIHsKK2NsYXNzIENTU01hdGhOZWdhdGUgZmluYWwgOiBwdWJsaWMgQ1NTTWF0
aFZhbHVlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKENTU01hdGhOZWdhdGUpOwogcHVi
bGljOgotICAgIHN0YXRpYyBSZWY8Q1NTTWF0aE5lZ2F0ZT4gY3JlYXRlKENTU051bWJlcmlzaCYm
KTsKLSAgICBjb25zdCBDU1NOdW1lcmljVmFsdWUmIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92
YWx1ZS5nZXQoKTsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8
Q1NTTWF0aE5lZ2F0ZT4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IENTU01hdGhOZWdhdGUoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7IH0KKyAgICBD
U1NOdW1lcmljVmFsdWUmIHZhbHVlKCkgeyByZXR1cm4gbV92YWx1ZS5nZXQoKTsgfQogICAgIAog
cHJpdmF0ZToKKyAgICBDU1NNYXRoT3BlcmF0b3IgZ2V0T3BlcmF0b3IoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBDU1NNYXRoT3BlcmF0b3I6Ok5lZ2F0ZTsgfQorICAgIENTU1N0eWxlVmFsdWVUeXBl
IGdldFR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0
aE5lZ2F0ZTsgfQorCiAgICAgQ1NTTWF0aE5lZ2F0ZShDU1NOdW1iZXJpc2gmJik7CisgICAgQ1NT
TWF0aE5lZ2F0ZShSZWY8Q1NTTnVtZXJpY1ZhbHVlPiYmKTsKICAgICBSZWY8Q1NTTnVtZXJpY1Zh
bHVlPiBtX3ZhbHVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiBTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkNTU01hdGhOZWdhdGUpCi0gICAgc3RhdGljIGJv
b2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNTU1N0eWxlVmFsdWUmIHN0eWxlVmFsdWUpIHsgcmV0
dXJuIGlzPFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZT4oc3R5bGVWYWx1ZSkgJiYgaXNUeXBlKGRv
d25jYXN0PFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZT4oc3R5bGVWYWx1ZSkpOyB9Ci0gICAgc3Rh
dGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZSYgbnVtZXJpY1Zh
bHVlKSB7IHJldHVybiBpczxXZWJDb3JlOjpDU1NNYXRoVmFsdWU+KG51bWVyaWNWYWx1ZSkgJiYg
aXNUeXBlKGRvd25jYXN0PFdlYkNvcmU6OkNTU01hdGhWYWx1ZT4obnVtZXJpY1ZhbHVlKSk7IH0K
LSAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NTTWF0aFZhbHVlJiBtYXRo
VmFsdWUpIHsgcmV0dXJuIG1hdGhWYWx1ZS5nZXRPcGVyYXRvcigpID09IFdlYkNvcmU6OkNTU01h
dGhPcGVyYXRvcjo6TmVnYXRlOyB9CitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6
Q1NTU3R5bGVWYWx1ZSYgc3R5bGVWYWx1ZSkgeyByZXR1cm4gc3R5bGVWYWx1ZS5nZXRUeXBlKCkg
PT0gV2ViQ29yZTo6Q1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhOZWdhdGU7IH0KK3N0YXRpYyBi
b29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWUmIG51bWVyaWNWYWx1ZSkg
eyByZXR1cm4gbnVtZXJpY1ZhbHVlLmdldFR5cGUoKSA9PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVl
VHlwZTo6Q1NTTWF0aE5lZ2F0ZTsgfQorc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6
OkNTU01hdGhWYWx1ZSYgbWF0aFZhbHVlKSB7IHJldHVybiBtYXRoVmFsdWUuZ2V0VHlwZSgpID09
IFdlYkNvcmU6OkNTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoTmVnYXRlOyB9CiBTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0VORCgpCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0LmNwcAppbmRleCBhMmIzMWRkMmY5YmY2
NWQ0NmMwZmI2YTA1MWQxMmViNGMxMmZlZjkxLi5kNzAwZTg5Zjg1NWU2ZDg0NWZmYzIyYzkyNmFi
MzZiZTQ4MzEzNDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1l
cmljL0NTU01hdGhQcm9kdWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9u
dW1lcmljL0NTU01hdGhQcm9kdWN0LmNwcApAQCAtMzYsMTQgKzM2LDEzIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENTU01hdGhQcm9kdWN0KTsK
IAotUmVmPENTU01hdGhQcm9kdWN0PiBDU1NNYXRoUHJvZHVjdDo6Y3JlYXRlKEZpeGVkVmVjdG9y
PENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKK0NTU01hdGhQcm9kdWN0OjpDU1NNYXRoUHJv
ZHVjdChGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYgbnVtYmVyaXNoZXMpCisgICAgOiBtX3Zh
bHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShXVEZNb3ZlKG51bWJlcmlzaGVzKSkpCiB7Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWF0aFByb2R1Y3QoV1RGTW92ZShudW1iZXJpc2hl
cykpKTsKIH0KIAotQ1NTTWF0aFByb2R1Y3Q6OkNTU01hdGhQcm9kdWN0KEZpeGVkVmVjdG9yPENT
U051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKLSAgICA6IENTU01hdGhWYWx1ZShDU1NNYXRoT3Bl
cmF0b3I6OlByb2R1Y3QpCi0gICAgLCBtX3ZhbHVlcyhDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShX
VEZNb3ZlKG51bWJlcmlzaGVzKSkpCitDU1NNYXRoUHJvZHVjdDo6Q1NTTWF0aFByb2R1Y3QoVmVj
dG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIHZhbHVlcykKKyAgICA6IG1fdmFsdWVzKENTU051
bWVyaWNBcnJheTo6Y3JlYXRlKFdURk1vdmUodmFsdWVzKSkpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFByb2R1Y3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFByb2R1Y3QuaAppbmRleCA1
MzQwNTFiNzIwM2FhN2I5M2QyZWMyNTA3MzFiZTljNGNjNzhhOTBmLi42MGFmMGI3NzUzYzk2M2U1
ZmE4MTg4OWFjNDc5MmFiNWI5NWVjNWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
dHlwZWRvbS9udW1lcmljL0NTU01hdGhQcm9kdWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoUHJvZHVjdC5oCkBAIC0zNCwyNSArMzQsMjcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NOdW1lcmljQXJyYXk7CiAKLWNsYXNzIENTU01h
dGhQcm9kdWN0IDogcHVibGljIENTU01hdGhWYWx1ZSB7CitjbGFzcyBDU1NNYXRoUHJvZHVjdCBm
aW5hbCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
Q1NTTWF0aFByb2R1Y3QpOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q1NTTWF0aFByb2R1Y3Q+
IGNyZWF0ZShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYpOworICAgIHRlbXBsYXRlPHR5cGVu
YW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8Q1NTTWF0aFByb2R1Y3Q+IGNyZWF0ZShBcmdzJiYuLi4g
YXJncykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NNYXRoUHJvZHVjdChzdGQ6OmZvcndhcmQ8
QXJncz4oYXJncykuLi4pKTsgfQogICAgIGNvbnN0IENTU051bWVyaWNBcnJheSYgdmFsdWVzKCkg
Y29uc3Q7Ci0gICAgCi0gICAgQ1NTTWF0aE9wZXJhdG9yIGdldE9wZXJhdG9yKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gQ1NTTWF0aE9wZXJhdG9yOjpQcm9kdWN0OyB9CiAKIHByaXZhdGU6CisgICAg
Q1NTTWF0aE9wZXJhdG9yIGdldE9wZXJhdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ1NTTWF0
aE9wZXJhdG9yOjpQcm9kdWN0OyB9CisgICAgQ1NTU3R5bGVWYWx1ZVR5cGUgZ2V0VHlwZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoUHJvZHVjdDsgfQor
CiAgICAgQ1NTTWF0aFByb2R1Y3QoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmKTsKKyAgICBD
U1NNYXRoUHJvZHVjdChWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYpOwogICAgIFJlZjxD
U1NOdW1lcmljQXJyYXk+IG1fdmFsdWVzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkNTU01hdGhQcm9kdWN0KQot
ICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlJiBzdHls
ZVZhbHVlKSB7IHJldHVybiBpczxXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU+KHN0eWxlVmFsdWUp
ICYmIGlzVHlwZShkb3duY2FzdDxXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWU+KHN0eWxlVmFsdWUp
KTsgfQotICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NOdW1lcmljVmFs
dWUmIG51bWVyaWNWYWx1ZSkgeyByZXR1cm4gaXM8V2ViQ29yZTo6Q1NTTWF0aFZhbHVlPihudW1l
cmljVmFsdWUpICYmIGlzVHlwZShkb3duY2FzdDxXZWJDb3JlOjpDU1NNYXRoVmFsdWU+KG51bWVy
aWNWYWx1ZSkpOyB9Ci0gICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNTU01h
dGhWYWx1ZSYgbWF0aFZhbHVlKSB7IHJldHVybiBtYXRoVmFsdWUuZ2V0T3BlcmF0b3IoKSA9PSBX
ZWJDb3JlOjpDU1NNYXRoT3BlcmF0b3I6OlByb2R1Y3Q7IH0KK3N0YXRpYyBib29sIGlzVHlwZShj
b25zdCBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlJiBzdHlsZVZhbHVlKSB7IHJldHVybiBzdHlsZVZh
bHVlLmdldFR5cGUoKSA9PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFByb2R1
Y3Q7IH0KK3N0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NOdW1lcmljVmFsdWUm
IG51bWVyaWNWYWx1ZSkgeyByZXR1cm4gbnVtZXJpY1ZhbHVlLmdldFR5cGUoKSA9PSBXZWJDb3Jl
OjpDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFByb2R1Y3Q7IH0KK3N0YXRpYyBib29sIGlzVHlw
ZShjb25zdCBXZWJDb3JlOjpDU1NNYXRoVmFsdWUmIG1hdGhWYWx1ZSkgeyByZXR1cm4gbWF0aFZh
bHVlLmdldFR5cGUoKSA9PSBXZWJDb3JlOjpDU1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFByb2R1
Y3Q7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKIAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhTdW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmNwcAppbmRleCA1NGJiMzA0YWU1
MmYzN2E2YWU3YTMzNzc2OWM3ODliMjczYzMzYTdiLi5hNmQ5ZWQ5MWYyODllMmFhNDg3YTQ5OGM5
N2I4ZjgwMmE3ZWJhYjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9u
dW1lcmljL0NTU01hdGhTdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251
bWVyaWMvQ1NTTWF0aFN1bS5jcHAKQEAgLTM2LDIwICszNiwxNCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDU1NNYXRoU3VtKTsKIAotUmVmPENT
U01hdGhTdW0+IENTU01hdGhTdW06OmNyZWF0ZShGaXhlZFZlY3RvcjxDU1NOdW1iZXJpc2g+JiYg
bnVtYmVyaXNoZXMpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWF0aFN1bShXVEZN
b3ZlKG51bWJlcmlzaGVzKSkpOwotfQotCiBDU1NNYXRoU3VtOjpDU1NNYXRoU3VtKEZpeGVkVmVj
dG9yPENTU051bWJlcmlzaD4mJiBudW1iZXJpc2hlcykKLSAgICA6IENTU01hdGhWYWx1ZShDU1NN
YXRoT3BlcmF0b3I6OlN1bSkKLSAgICAsIG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6Y3JlYXRl
KFdURk1vdmUobnVtYmVyaXNoZXMpKSkKKyAgICA6IG1fdmFsdWVzKENTU051bWVyaWNBcnJheTo6
Y3JlYXRlKFdURk1vdmUobnVtYmVyaXNoZXMpKSkKIHsKIH0KIAotY29uc3QgQ1NTTnVtZXJpY0Fy
cmF5JiBDU1NNYXRoU3VtOjp2YWx1ZXMoKSBjb25zdAorQ1NTTWF0aFN1bTo6Q1NTTWF0aFN1bShW
ZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYgdmFsdWVzKQorICAgIDogbV92YWx1ZXMoQ1NT
TnVtZXJpY0FycmF5OjpjcmVhdGUoV1RGTW92ZSh2YWx1ZXMpKSkKIHsKLSAgICByZXR1cm4gbV92
YWx1ZXMuZ2V0KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFN1bS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRoU3VtLmgKaW5kZXggMzljYWVlMGYyZmM2
MjFhY2IzNGIzODRkZTg3NjYzODZlZTM0MzlhZC4uZjkyYTYxNDE3YWJlMWM0ZDllODFmOTQ4YmJm
YTE5OTdiNjJlNzAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVt
ZXJpYy9DU1NNYXRoU3VtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJp
Yy9DU1NNYXRoU3VtLmgKQEAgLTM1LDIzICszNSwyNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIENTU051bWVyaWNBcnJheTsKIAotY2xhc3MgQ1NTTWF0aFN1bSA6IHB1YmxpYyBDU1NN
YXRoVmFsdWUgeworY2xhc3MgQ1NTTWF0aFN1bSBmaW5hbCA6IHB1YmxpYyBDU1NNYXRoVmFsdWUg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NTTWF0aFN1bSk7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFJlZjxDU1NNYXRoU3VtPiBjcmVhdGUoRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYm
KTsKLSAgICBjb25zdCBDU1NOdW1lcmljQXJyYXkmIHZhbHVlcygpIGNvbnN0OworICAgIHRlbXBs
YXRlPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8Q1NTTWF0aFN1bT4gY3JlYXRlKEFyZ3Mm
Ji4uLiBhcmdzKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENTU01hdGhTdW0oc3RkOjpmb3J3YXJk
PEFyZ3M+KGFyZ3MpLi4uKSk7IH0KKyAgICBjb25zdCBDU1NOdW1lcmljQXJyYXkmIHZhbHVlcygp
IGNvbnN0IHsgcmV0dXJuIG1fdmFsdWVzLmdldCgpOyB9CiAKIHByaXZhdGU6CisgICAgQ1NTTWF0
aE9wZXJhdG9yIGdldE9wZXJhdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ1NTTWF0aE9wZXJh
dG9yOjpTdW07IH0KKyAgICBDU1NTdHlsZVZhbHVlVHlwZSBnZXRUeXBlKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gQ1NTU3R5bGVWYWx1ZVR5cGU6OkNTU01hdGhTdW07IH0KKwogICAgIENTU01h
dGhTdW0oRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYmKTsKKyAgICBDU1NNYXRoU3VtKFZlY3Rv
cjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7CiAgICAgUmVmPENTU051bWVyaWNBcnJheT4gbV92
YWx1ZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFNQRUNJQUxJWkVfVFlQRV9U
UkFJVFNfQkVHSU4oV2ViQ29yZTo6Q1NTTWF0aFN1bSkKLSAgICBzdGF0aWMgYm9vbCBpc1R5cGUo
Y29uc3QgV2ViQ29yZTo6Q1NTU3R5bGVWYWx1ZSYgc3R5bGVWYWx1ZSkgeyByZXR1cm4gaXM8V2Vi
Q29yZTo6Q1NTTnVtZXJpY1ZhbHVlPihzdHlsZVZhbHVlKSAmJiBpc1R5cGUoZG93bmNhc3Q8V2Vi
Q29yZTo6Q1NTTnVtZXJpY1ZhbHVlPihzdHlsZVZhbHVlKSk7IH0KLSAgICBzdGF0aWMgYm9vbCBp
c1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NTTnVtZXJpY1ZhbHVlJiBudW1lcmljVmFsdWUpIHsgcmV0
dXJuIGlzPFdlYkNvcmU6OkNTU01hdGhWYWx1ZT4obnVtZXJpY1ZhbHVlKSAmJiBpc1R5cGUoZG93
bmNhc3Q8V2ViQ29yZTo6Q1NTTWF0aFZhbHVlPihudW1lcmljVmFsdWUpKTsgfQotICAgIHN0YXRp
YyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NNYXRoVmFsdWUmIG1hdGhWYWx1ZSkgeyBy
ZXR1cm4gbWF0aFZhbHVlLmdldE9wZXJhdG9yKCkgPT0gV2ViQ29yZTo6Q1NTTWF0aE9wZXJhdG9y
OjpTdW07IH0KK3N0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NTdHlsZVZhbHVl
JiBzdHlsZVZhbHVlKSB7IHJldHVybiBzdHlsZVZhbHVlLmdldFR5cGUoKSA9PSBXZWJDb3JlOjpD
U1NTdHlsZVZhbHVlVHlwZTo6Q1NTTWF0aFN1bTsgfQorc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0
IFdlYkNvcmU6OkNTU051bWVyaWNWYWx1ZSYgbnVtZXJpY1ZhbHVlKSB7IHJldHVybiBudW1lcmlj
VmFsdWUuZ2V0VHlwZSgpID09IFdlYkNvcmU6OkNTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoU3Vt
OyB9CitzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NTTWF0aFZhbHVlJiBtYXRo
VmFsdWUpIHsgcmV0dXJuIG1hdGhWYWx1ZS5nZXRUeXBlKCkgPT0gV2ViQ29yZTo6Q1NTU3R5bGVW
YWx1ZVR5cGU6OkNTU01hdGhTdW07IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NT
U01hdGhWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01h
dGhWYWx1ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxMGUxM2U0YzQ5NWNi
OTcyYzhhMzM5ZDYxZjI3YTA4MzViZjJlNTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NN
YXRoVmFsdWUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJDU1NNYXRoVmFsdWUuaCIKLQotI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCi0KLSNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDU1NNYXRoVmFsdWUpOwotCi1DU1NNYXRoVmFs
dWU6OkNTU01hdGhWYWx1ZShDU1NNYXRoT3BlcmF0b3IgbWF0aE9wZXJhdG9yKQotICAgIDogbV9v
cGVyYXRvcihtYXRoT3BlcmF0b3IpCi17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NT
U01hdGhWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NNYXRo
VmFsdWUuaAppbmRleCA1MDQ2M2UzN2RhMmMyYzFhNThlMTYyMDNlNmE0ZGMzZDllY2YyNjYxLi5k
MjlhZWEzMjFjZmZkYWEyYmE0YWUxYWY1NzYzMjk3ODdjYmIzODliIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU01hdGhWYWx1ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTWF0aFZhbHVlLmgKQEAgLTM0LDIyICsz
NCwxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NNYXRoVmFsdWUgOiBwdWJs
aWMgQ1NTTnVtZXJpY1ZhbHVlIHsKLSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKENTU01hdGhW
YWx1ZSk7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCBDU1NNYXRoT3BlcmF0b3IgZ2V0T3BlcmF0b3Io
KSBjb25zdCB7IHJldHVybiBtX29wZXJhdG9yOyB9Ci0gICAgCi0gICAgQ1NTU3R5bGVWYWx1ZVR5
cGUgZ2V0VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENTU1N0eWxlVmFsdWVUeXBlOjpDU1NN
YXRoVmFsdWU7IH0KLSAgICAKLXByb3RlY3RlZDoKLSAgICBDU1NNYXRoVmFsdWUoQ1NTTWF0aE9w
ZXJhdG9yKTsKLSAgICBDU1NNYXRoT3BlcmF0b3IgbV9vcGVyYXRvcjsKKyAgICB2aXJ0dWFsIENT
U01hdGhPcGVyYXRvciBnZXRPcGVyYXRvcigpIGNvbnN0ID0gMDsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpDU1NN
YXRoVmFsdWUpCi0gICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNTU1N0eWxl
VmFsdWUmIHN0eWxlVmFsdWUpIHsgcmV0dXJuIHN0eWxlVmFsdWUuZ2V0VHlwZSgpID09IFdlYkNv
cmU6OkNTU1N0eWxlVmFsdWVUeXBlOjpDU1NNYXRoVmFsdWU7IH0KLSAgICBzdGF0aWMgYm9vbCBp
c1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NTTnVtZXJpY1ZhbHVlJiBudW1lcmljVmFsdWUpIHsgcmV0
dXJuIG51bWVyaWNWYWx1ZS5nZXRUeXBlKCkgPT0gV2ViQ29yZTo6Q1NTU3R5bGVWYWx1ZVR5cGU6
OkNTU01hdGhWYWx1ZTsgfQotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQotCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJp
Y0FycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJp
Y0FycmF5LmNwcAppbmRleCAwYjdkMTQ4NDI5NDQxZDg1ZTQ0NjE4MmM3NTQxZmU1OTAxOWY3OTUz
Li45ZGU1MTkwMDk2YjliNDE3ZDY4ZjBmYjVkNTliY2EyMmRkMGFkNjQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNBcnJheS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljQXJyYXkuY3Bw
CkBAIC00NSwxMSArNDUsMTYgQEAgUmVmPENTU051bWVyaWNBcnJheT4gQ1NTTnVtZXJpY0FycmF5
OjpjcmVhdGUoY29uc3QgRml4ZWRWZWN0b3I8Q1NTTnVtYmVyaXNoPiYgbnUKICAgICB9KSkpOwog
fQogCi1SZWY8Q1NTTnVtZXJpY0FycmF5PiBDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShGaXhlZFZl
Y3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiB2YWx1ZXMpCitSZWY8Q1NTTnVtZXJpY0FycmF5
PiBDU1NOdW1lcmljQXJyYXk6OmNyZWF0ZShWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYg
dmFsdWVzKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU051bWVyaWNBcnJheShXVEZN
b3ZlKHZhbHVlcykpKTsKIH0KIAorQ1NTTnVtZXJpY0FycmF5OjpDU1NOdW1lcmljQXJyYXkoVmVj
dG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiYmIHZhbHVlcykKKyAgICA6IG1fYXJyYXkoV1RGTW92
ZSh2YWx1ZXMpKQoreworfQorCiBDU1NOdW1lcmljQXJyYXk6OkNTU051bWVyaWNBcnJheShGaXhl
ZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJiB2YWx1ZXMpCiAgICAgOiBtX2FycmF5KFdU
Rk1vdmUodmFsdWVzKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L251bWVyaWMvQ1NTTnVtZXJpY0FycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9u
dW1lcmljL0NTU051bWVyaWNBcnJheS5oCmluZGV4IDUxNmY5MWYzNGRlNGY1OGIzZGQzZTdjMGM2
NjYxZDJiM2M5OWI1MjkuLjc0NDVlZmJkMTIwYmMzYjc2OTcwMzk0ODMxYTNhNGE5MjA5NzUzNmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJp
Y0FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vbnVtZXJpYy9DU1NOdW1l
cmljQXJyYXkuaApAQCAtNDEsMTIgKzQxLDE0IEBAIGNsYXNzIENTU051bWVyaWNBcnJheSA6IHB1
YmxpYyBSZWZDb3VudGVkPENTU051bWVyaWNBcnJheT4gewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoQ1NTTnVtZXJpY0FycmF5KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENTU051bWVy
aWNBcnJheT4gY3JlYXRlKGNvbnN0IEZpeGVkVmVjdG9yPENTU051bWJlcmlzaD4mKTsKLSAgICBz
dGF0aWMgUmVmPENTU051bWVyaWNBcnJheT4gY3JlYXRlKEZpeGVkVmVjdG9yPFJlZjxDU1NOdW1l
cmljVmFsdWU+PiYmKTsKKyAgICBzdGF0aWMgUmVmPENTU051bWVyaWNBcnJheT4gY3JlYXRlKFZl
Y3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7CiAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0
IHsgcmV0dXJuIG1fYXJyYXkuc2l6ZSgpOyB9OwogICAgIEV4Y2VwdGlvbk9yPFJlZjxDU1NOdW1l
cmljVmFsdWU+PiBpdGVtKHNpemVfdCBpbmRleCk7CisgICAgY29uc3QgVmVjdG9yPFJlZjxDU1NO
dW1lcmljVmFsdWU+PiYgYXJyYXkoKSBjb25zdCB7IHJldHVybiBtX2FycmF5OyB9CiAKIHByaXZh
dGU6Ci0gICAgRml4ZWRWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+IG1fYXJyYXk7CisgICAg
VmVjdG9yPFJlZjxDU1NOdW1lcmljVmFsdWU+PiBtX2FycmF5OworICAgIENTU051bWVyaWNBcnJh
eShWZWN0b3I8UmVmPENTU051bWVyaWNWYWx1ZT4+JiYpOwogICAgIENTU051bWVyaWNBcnJheShG
aXhlZFZlY3RvcjxSZWY8Q1NTTnVtZXJpY1ZhbHVlPj4mJik7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9udW1lcmljL0NTU051bWVyaWNUeXBlLmgKaW5kZXggYzI5
N2M1YTc3MWQ1Mjk2OWQ2ZDFjZmJkMzNkMDZmOTZhNzM4NjIzZi4uY2Y3ZWE2ZGFhM2Y0ZDU0ZjEx
NDU5YjIyNGQwMjc4MzA4OTNjOTE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5
cGVkb20vbnVtZXJpYy9DU1NOdW1lcmljVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90
eXBlZG9tL251bWVyaWMvQ1NTTnVtZXJpY1R5cGUuaApAQCAtMjgsMTggKzI4LDE5IEBACiAjaWYg
RU5BQkxFKENTU19UWVBFRF9PTSkKIAogI2luY2x1ZGUgIkNTU051bWVyaWNCYXNlVHlwZS5oIgor
I2luY2x1ZGUgPG9wdGlvbmFsPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBDU1NO
dW1lcmljVHlwZSB7Ci0gICAgbG9uZyBsZW5ndGg7Ci0gICAgbG9uZyBhbmdsZTsKLSAgICBsb25n
IHRpbWU7Ci0gICAgbG9uZyBmcmVxdWVuY3k7Ci0gICAgbG9uZyByZXNvbHV0aW9uOwotICAgIGxv
bmcgZmxleDsKLSAgICBsb25nIHBlcmNlbnQ7Ci0gICAgQ1NTTnVtZXJpY0Jhc2VUeXBlIHBlcmNl
bnRIaW50OworICAgIGxvbmcgbGVuZ3RoIHsgMCB9OworICAgIGxvbmcgYW5nbGUgeyAwIH07Cisg
ICAgbG9uZyB0aW1lIHsgMCB9OworICAgIGxvbmcgZnJlcXVlbmN5IHsgMCB9OworICAgIGxvbmcg
cmVzb2x1dGlvbiB7IDAgfTsKKyAgICBsb25nIGZsZXggeyAwIH07CisgICAgbG9uZyBwZXJjZW50
IHsgMCB9OworICAgIHN0ZDo6b3B0aW9uYWw8Q1NTTnVtZXJpY0Jhc2VUeXBlPiBwZXJjZW50SGlu
dDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL3RyYW5zZm9ybS9DU1NUcmFuc2Zvcm1WYWx1ZS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vdHJhbnNmb3JtL0NTU1RyYW5zZm9ybVZhbHVlLmgKaW5kZXggNjFk
NDE4NWIwM2MxOTI4YzI4NjAwZGExNmM3YjY5ZDRlY2E5OWQ2ZC4uYTVhMGU3OGIwYjlkOTQyNDc1
M2YxNDZhN2M3MDhlY2JiYzliMjNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5
cGVkb20vdHJhbnNmb3JtL0NTU1RyYW5zZm9ybVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3R5cGVkb20vdHJhbnNmb3JtL0NTU1RyYW5zZm9ybVZhbHVlLmgKQEAgLTM3LDcgKzM3LDcg
QEAgY2xhc3MgQ1NTVHJhbnNmb3JtQ29tcG9uZW50OwogY2xhc3MgRE9NTWF0cml4OwogdGVtcGxh
dGU8dHlwZW5hbWU+IGNsYXNzIEV4Y2VwdGlvbk9yOwogCi1jbGFzcyBDU1NUcmFuc2Zvcm1WYWx1
ZSA6IHB1YmxpYyBDU1NTdHlsZVZhbHVlIHsKK2NsYXNzIENTU1RyYW5zZm9ybVZhbHVlIGZpbmFs
IDogcHVibGljIENTU1N0eWxlVmFsdWUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ1NT
VHJhbnNmb3JtVmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8Q1NTVHJhbnNmb3JtVmFs
dWU+IGNyZWF0ZShWZWN0b3I8UmVmUHRyPENTU1RyYW5zZm9ybUNvbXBvbmVudD4+JiYgdHJhbnNm
b3Jtcyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzOGQ2NzM1NWQ0Nzg5YzFh
M2ViZTExNjAyZTVkODU1YWQ4NDQ1MDhkLi5iYjRhMjQ2MzE3ZDJkODVkNDg5ZTAzMGY0YWYxMDRl
MDA4ODk3MTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAyMi0wMy0yMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIEltcGxlbWVudCBDU1NOdW1lcmljVmFsdWUubXVsLCBkaXYsIGFkZCwgc3Vi
LCBtYXgsIGFuZCBtaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzODE1MworCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXR5cGVkLW9tL3N0eWxldmFsdWUtc3Vi
Y2xhc3Nlcy9udW1lcmljLW9iamVjdHMvYXJpdGhtZXRpYy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0
OgorCiAyMDIyLTAzLTIxICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W3NlbGVjdGlvbl0gSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnN1YnRyZWVIYXNDaGFuZ2Vk
KCkgc2hvdWxkbid0IGJlIGNhbGxlZCBpbiBzZXRSYW5nZVRleHQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10eXBlZC1vbS9z
dHlsZXZhbHVlLXN1YmNsYXNzZXMvbnVtZXJpYy1vYmplY3RzL2FyaXRobWV0aWMudGVudGF0aXZl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy10eXBlZC1vbS9zdHlsZXZhbHVlLXN1YmNsYXNzZXMvbnVtZXJpYy1vYmplY3Rz
L2FyaXRobWV0aWMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCAxZmZkMGUwYzYwMTRjNmFm
NDBjYWEzZmJmZWJjZjBhZWE5OWMxNzYzLi41MzZlYTUyZTUzYjBjY2I4Y2UyNzgwNjcwMzA2YTM0
N2FmMTczOTNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtdHlwZWQtb20vc3R5bGV2YWx1ZS1zdWJjbGFzc2VzL251bWVyaWMt
b2JqZWN0cy9hcml0aG1ldGljLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXR5cGVkLW9tL3N0eWxl
dmFsdWUtc3ViY2xhc3Nlcy9udW1lcmljLW9iamVjdHMvYXJpdGhtZXRpYy50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDY1ICsxLDY1IEBACiAKIFBBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUu
YWRkIHdpdGggbm8gYXJndW1lbnRzIHJldHVybnMgaXRzZWxmCiBQQVNTIENhbGxpbmcgQ1NTTWF0
aFZhbHVlLmFkZCB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgotRkFJTCBDYWxsaW5n
IENTU051bWVyaWNWYWx1ZS5hZGQgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJu
cyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01hdGhTdW0iIGJ1dCBn
b3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuYWRkIHdpdGgg
YSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlCiBQQVNTIENhbGxp
bmcgQ1NTTWF0aFZhbHVlLmFkZCB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5z
IGNvcnJlY3QgdHlwZQotRkFJTCBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5hZGQgd2l0aCBtb3Jl
IHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVjdCB0eXBlIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoU3VtIiBidXQgZ290ICJDU1NVbml0VmFsdWUi
CitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmFkZCB3aXRoIG1vcmUgdGhhbiBvbmUgbnVt
YmVyIENTU051bWVyaWNWYWx1ZXMgcmV0dXJucyBjb3JyZWN0IHR5cGUKIFBBU1MgQ2FsbGluZyBD
U1NOdW1lcmljVmFsdWUuYWRkIGNhbiB0YWtlIG51bWJlcmlzaCB2YWx1ZXMKLUZBSUwgQ2FsbGlu
ZyBDU1NNYXRoU3VtLmFkZCB3aXRoIG51bWJlciBDU1NVbml0VmFsdWVzIHNpbXBsaWZpZXMgdG8g
YSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU1VuaXRWYWx1ZSIgYnV0
IGdvdCAiQ1NTTWF0aFN1bSIKK1BBU1MgQ2FsbGluZyBDU1NNYXRoU3VtLmFkZCB3aXRoIG51bWJl
ciBDU1NVbml0VmFsdWVzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKIFBBU1MgQ2FsbGlu
ZyBDU1NOdW1lcmljVmFsdWUuYWRkIHdpdGggaW5jb21wYXRpYmxlIHR5cGVzIHRocm93cyBUeXBl
RXJyb3IKIFBBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUuc3ViIHdpdGggbm8gYXJndW1lbnRzIHJl
dHVybnMgaXRzZWxmCiBQQVNTIENhbGxpbmcgQ1NTTWF0aFZhbHVlLnN1YiB3aXRoIG5vIGFyZ3Vt
ZW50cyByZXR1cm5zIGl0c2VsZgotRkFJTCBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5zdWIgd2l0
aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIkNTU01hdGhTdW0iIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1Mg
Q2FsbGluZyBDU1NOdW1lcmljVmFsdWUuc3ViIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVl
IHJldHVybnMgY29ycmVjdCB0eXBlCiBQQVNTIENhbGxpbmcgQ1NTTWF0aFZhbHVlLnN1YiB3aXRo
IGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQotRkFJTCBDYWxs
aW5nIENTU051bWVyaWNWYWx1ZS5zdWIgd2l0aCBtb3JlIHRoYW4gb25lIG51bWJlciBDU1NOdW1l
cmljVmFsdWVzIHJldHVybnMgY29ycmVjdCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJD
U1NNYXRoU3VtIiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJp
Y1ZhbHVlLnN1YiB3aXRoIG1vcmUgdGhhbiBvbmUgbnVtYmVyIENTU051bWVyaWNWYWx1ZXMgcmV0
dXJucyBjb3JyZWN0IHR5cGUKIFBBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuc3ViIGNhbiB0
YWtlIG51bWJlcmlzaCB2YWx1ZXMKLUZBSUwgQ2FsbGluZyBDU1NNYXRoU3VtLnN1YiB3aXRoIG51
bWJlciBDU1NVbml0VmFsdWVzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIkNTU1VuaXRWYWx1ZSIgYnV0IGdvdCAiQ1NTTWF0aFN1bSIKK1BBU1Mg
Q2FsbGluZyBDU1NNYXRoU3VtLnN1YiB3aXRoIG51bWJlciBDU1NVbml0VmFsdWVzIHNpbXBsaWZp
ZXMgdG8gYSBDU1NVbml0VmFsdWUKIFBBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUuc3ViIHdp
dGggaW5jb21wYXRpYmxlIHR5cGVzIHRocm93cyBUeXBlRXJyb3IKIFBBU1MgQ2FsbGluZyBDU1NV
bml0VmFsdWUubXVsIHdpdGggbm8gYXJndW1lbnRzIHJldHVybnMgaXRzZWxmCiBQQVNTIENhbGxp
bmcgQ1NTTWF0aFZhbHVlLm11bCB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgotRkFJ
TCBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5tdWwgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFs
dWUgcmV0dXJucyBjb3JyZWN0IHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkNTU01hdGhQ
cm9kdWN0IiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1Zh
bHVlLm11bCB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlw
ZQogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5tdWwgd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmlj
VmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUu
bXVsIHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNv
cnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFByb2R1Y3QiIGJ1dCBn
b3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubXVsIHdpdGgg
bW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlw
ZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5tdWwgY2FuIHRha2UgbnVtYmVyaXNoIHZh
bHVlcwotRkFJTCBDYWxsaW5nIENTU01hdGhQcm9kdWN0Lm11bCB3aXRoIG51bWJlciBDU1NVbml0
VmFsdWVzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIkNTU1VuaXRWYWx1ZSIgYnV0IGdvdCAiQ1NTTWF0aFByb2R1Y3QiCitQQVNTIENhbGxpbmcg
Q1NTTWF0aFByb2R1Y3QubXVsIHdpdGggbnVtYmVyIENTU1VuaXRWYWx1ZXMgc2ltcGxpZmllcyB0
byBhIENTU1VuaXRWYWx1ZQogUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5tdWwgd2l0aCBp
bmNvbXBhdGlibGUgdHlwZXMgdGhyb3dzIFR5cGVFcnJvcgogUEFTUyBDYWxsaW5nIENTU1VuaXRW
YWx1ZS5kaXYgd2l0aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKIFBBU1MgQ2FsbGluZyBD
U1NNYXRoVmFsdWUuZGl2IHdpdGggbm8gYXJndW1lbnRzIHJldHVybnMgaXRzZWxmCi1GQUlMIENh
bGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmRpdiB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSBy
ZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aFByb2R1
Y3QiIGJ1dCBnb3QgIkNTU1VuaXRWYWx1ZSIKK1BBU1MgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUu
ZGl2IHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlCiBQ
QVNTIENhbGxpbmcgQ1NTTWF0aFZhbHVlLmRpdiB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1
ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQotRkFJTCBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5kaXYg
d2l0aCBtb3JlIHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVj
dCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoUHJvZHVjdCIgYnV0IGdvdCAi
Q1NTVW5pdFZhbHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5kaXYgd2l0aCBtb3Jl
IHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVjdCB0eXBlCiBQ
QVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmRpdiBjYW4gdGFrZSBudW1iZXJpc2ggdmFsdWVz
Ci1GQUlMIENhbGxpbmcgQ1NTTWF0aFByb2R1Y3QuZGl2IHdpdGggbnVtYmVyIENTU1VuaXRWYWx1
ZXMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
Q1NTVW5pdFZhbHVlIiBidXQgZ290ICJDU1NNYXRoUHJvZHVjdCIKK1BBU1MgQ2FsbGluZyBDU1NN
YXRoUHJvZHVjdC5kaXYgd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEg
Q1NTVW5pdFZhbHVlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLmRpdiB3aXRoIGluY29t
cGF0aWJsZSB0eXBlcyB0aHJvd3MgVHlwZUVycm9yCiBQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVl
Lm1pbiB3aXRoIG5vIGFyZ3VtZW50cyByZXR1cm5zIGl0c2VsZgogUEFTUyBDYWxsaW5nIENTU01h
dGhWYWx1ZS5taW4gd2l0aCBubyBhcmd1bWVudHMgcmV0dXJucyBpdHNlbGYKLUZBSUwgQ2FsbGlu
ZyBDU1NOdW1lcmljVmFsdWUubWluIHdpdGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVy
bnMgY29ycmVjdCB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoTWluIiBidXQg
Z290ICJDU1NVbml0VmFsdWUiCitQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1pbiB3aXRo
IGEgc2luZ2xlIENTU051bWVyaWNWYWx1ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxs
aW5nIENTU01hdGhWYWx1ZS5taW4gd2l0aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJu
cyBjb3JyZWN0IHR5cGUKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubWluIHdpdGggbW9y
ZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVtZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQ1NTTWF0aE1pbiIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVl
IgorUEFTUyBDYWxsaW5nIENTU051bWVyaWNWYWx1ZS5taW4gd2l0aCBtb3JlIHRoYW4gb25lIG51
bWJlciBDU1NOdW1lcmljVmFsdWVzIHJldHVybnMgY29ycmVjdCB0eXBlCiBQQVNTIENhbGxpbmcg
Q1NTTnVtZXJpY1ZhbHVlLm1pbiBjYW4gdGFrZSBudW1iZXJpc2ggdmFsdWVzCi1GQUlMIENhbGxp
bmcgQ1NTTWF0aE1pbi5taW4gd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRv
IGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NVbml0VmFsdWUiIGJ1
dCBnb3QgIkNTU01hdGhNaW4iCitQQVNTIENhbGxpbmcgQ1NTTWF0aE1pbi5taW4gd2l0aCBudW1i
ZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlCiBQQVNTIENhbGxp
bmcgQ1NTTnVtZXJpY1ZhbHVlLm1pbiB3aXRoIGluY29tcGF0aWJsZSB0eXBlcyB0aHJvd3MgVHlw
ZUVycm9yCiBQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm1heCB3aXRoIG5vIGFyZ3VtZW50cyBy
ZXR1cm5zIGl0c2VsZgogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5tYXggd2l0aCBubyBhcmd1
bWVudHMgcmV0dXJucyBpdHNlbGYKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmljVmFsdWUubWF4IHdp
dGggYSBzaW5nbGUgQ1NTTnVtZXJpY1ZhbHVlIHJldHVybnMgY29ycmVjdCB0eXBlIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoTWF4IiBidXQgZ290ICJDU1NVbml0VmFsdWUiCitQQVNT
IENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1heCB3aXRoIGEgc2luZ2xlIENTU051bWVyaWNWYWx1
ZSByZXR1cm5zIGNvcnJlY3QgdHlwZQogUEFTUyBDYWxsaW5nIENTU01hdGhWYWx1ZS5tYXggd2l0
aCBhIHNpbmdsZSBDU1NOdW1lcmljVmFsdWUgcmV0dXJucyBjb3JyZWN0IHR5cGUKLUZBSUwgQ2Fs
bGluZyBDU1NOdW1lcmljVmFsdWUubWF4IHdpdGggbW9yZSB0aGFuIG9uZSBudW1iZXIgQ1NTTnVt
ZXJpY1ZhbHVlcyByZXR1cm5zIGNvcnJlY3QgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
Q1NTTWF0aE1heCIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgorUEFTUyBDYWxsaW5nIENTU051bWVy
aWNWYWx1ZS5tYXggd2l0aCBtb3JlIHRoYW4gb25lIG51bWJlciBDU1NOdW1lcmljVmFsdWVzIHJl
dHVybnMgY29ycmVjdCB0eXBlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1heCBjYW4g
dGFrZSBudW1iZXJpc2ggdmFsdWVzCi1GQUlMIENhbGxpbmcgQ1NTTWF0aE1heC5tYXggd2l0aCBu
dW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJDU1NVbml0VmFsdWUiIGJ1dCBnb3QgIkNTU01hdGhNYXgiCitQQVNT
IENhbGxpbmcgQ1NTTWF0aE1heC5tYXggd2l0aCBudW1iZXIgQ1NTVW5pdFZhbHVlcyBzaW1wbGlm
aWVzIHRvIGEgQ1NTVW5pdFZhbHVlCiBQQVNTIENhbGxpbmcgQ1NTTnVtZXJpY1ZhbHVlLm1heCB3
aXRoIGluY29tcGF0aWJsZSB0eXBlcyB0aHJvd3MgVHlwZUVycm9yCi1GQUlMIENhbGxpbmcgQ1NT
VW5pdFZhbHVlLmFkZCB3aXRoIENTU1VuaXRWYWx1ZXMgd2l0aCBzYW1lIHVuaXQgc2ltcGxpZmll
cyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxNyBidXQgZ290IDEw
Ci1GQUlMIENhbGxpbmcgQ1NTVW5pdFZhbHVlLnN1YiB3aXRoIENTU1VuaXRWYWx1ZXMgd2l0aCBz
YW1lIHVuaXQgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAzIGJ1dCBnb3QgMTAKLUZBSUwgQ2FsbGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGggYWxs
IG51bWJlcnMgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAxMDAgYnV0IGdvdCAxMAotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5tdWwgd2l0aCBv
bmx5IG9uZSBub24tbnVtYmVyIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMTAKLUZBSUwgQ2FsbGluZyBDU1NVbml0VmFsdWUu
bXVsIHdpdGggbW9yZSB0aGFuIG9uZSBub24tbnVtYmVyIGRvZXMgbm90IHNpbXBsaWZ5IHRvIGEg
Q1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoUHJvZHVjdCIgYnV0
IGdvdCAiQ1NTVW5pdFZhbHVlIgotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5kaXYgd2l0aCBh
bGwgbnVtYmVycyBzaW1wbGlmaWVzIHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEgYnV0IGdvdCAxMAotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5kaXYgb24gYSBu
b24tbnVtYmVyIHZhbHVlIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMSBidXQgZ290IDEwCi1GQUlMIENhbGxpbmcgQ1NTVW5pdFZhbHVlLmRpdiB3
aXRoIGEgbm9uLW51bWJlciB2YWx1ZSBpbiB0aGUgYXJndW1lbnRzIGRvZXMgbm90IHNpbXBsaWZ5
IHRvIGEgQ1NTVW5pdFZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJDU1NNYXRoUHJvZHVj
dCIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgotRkFJTCBDYWxsaW5nIENTU1VuaXRWYWx1ZS5taW4g
d2l0aCBDU1NVbml0VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0
VmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDEwCitQQVNTIENhbGxpbmcg
Q1NTVW5pdFZhbHVlLmFkZCB3aXRoIENTU1VuaXRWYWx1ZXMgd2l0aCBzYW1lIHVuaXQgc2ltcGxp
ZmllcyB0byBhIENTU1VuaXRWYWx1ZQorUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5zdWIgd2l0
aCBDU1NVbml0VmFsdWVzIHdpdGggc2FtZSB1bml0IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFs
dWUKK1BBU1MgQ2FsbGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGggYWxsIG51bWJlcnMgc2ltcGxp
ZmllcyB0byBhIENTU1VuaXRWYWx1ZQorUEFTUyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5tdWwgd2l0
aCBvbmx5IG9uZSBub24tbnVtYmVyIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKK1BBU1Mg
Q2FsbGluZyBDU1NVbml0VmFsdWUubXVsIHdpdGggbW9yZSB0aGFuIG9uZSBub24tbnVtYmVyIGRv
ZXMgbm90IHNpbXBsaWZ5IHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNTIENhbGxpbmcgQ1NTVW5pdFZh
bHVlLmRpdiB3aXRoIGFsbCBudW1iZXJzIHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKK1BB
U1MgQ2FsbGluZyBDU1NVbml0VmFsdWUuZGl2IG9uIGEgbm9uLW51bWJlciB2YWx1ZSBzaW1wbGlm
aWVzIHRvIGEgQ1NTVW5pdFZhbHVlCitQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLmRpdiB3aXRo
IGEgbm9uLW51bWJlciB2YWx1ZSBpbiB0aGUgYXJndW1lbnRzIGRvZXMgbm90IHNpbXBsaWZ5IHRv
IGEgQ1NTVW5pdFZhbHVlCitQQVNTIENhbGxpbmcgQ1NTVW5pdFZhbHVlLm1pbiB3aXRoIENTU1Vu
aXRWYWx1ZXMgd2l0aCBzYW1lIHVuaXQgc2ltcGxpZmllcyB0byBhIENTU1VuaXRWYWx1ZQogUEFT
UyBDYWxsaW5nIENTU1VuaXRWYWx1ZS5tYXggd2l0aCBDU1NVbml0VmFsdWVzIHdpdGggc2FtZSB1
bml0IHNpbXBsaWZpZXMgdG8gYSBDU1NVbml0VmFsdWUKLUZBSUwgQ2FsbGluZyBDU1NOdW1lcmlj
VmFsdWUuc3ViIG5lZ2F0ZXMgYWxsIGFyZ3VtZW50IHZhbHVlcyBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiQ1NTTWF0aFN1bSIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgotRkFJTCBDYWxsaW5nIENT
U051bWVyaWNWYWx1ZS5kaXYgaW52ZXJ0cyBhbGwgYXJndW1lbnQgdmFsdWVzIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJDU1NNYXRoUHJvZHVjdCIgYnV0IGdvdCAiQ1NTVW5pdFZhbHVlIgotRkFJ
TCBDYW4gbm90IGRpdmlkZSB3aXRoIENTU1VuaXRWYWx1ZSB3aGljaCBoYXMgemVybyB2YWx1ZSBh
bmQgbnVtYmVyIHR5cGUgYXNzZXJ0X3Rocm93c19qczogZnVuY3Rpb24gIigpID0+IENTUy5udW1i
ZXIoMikuZGl2KENTUy5udW1iZXIoMCkpIiBkaWQgbm90IHRocm93CitQQVNTIENhbGxpbmcgQ1NT
TnVtZXJpY1ZhbHVlLnN1YiBuZWdhdGVzIGFsbCBhcmd1bWVudCB2YWx1ZXMKK1BBU1MgQ2FsbGlu
ZyBDU1NOdW1lcmljVmFsdWUuZGl2IGludmVydHMgYWxsIGFyZ3VtZW50IHZhbHVlcworUEFTUyBD
YW4gbm90IGRpdmlkZSB3aXRoIENTU1VuaXRWYWx1ZSB3aGljaCBoYXMgemVybyB2YWx1ZSBhbmQg
bnVtYmVyIHR5cGUKIEZBSUwgQ1NTTnVtZXJpY1ZhbHVlLmFkZCBzaG91bGQgdGhyb3cgVHlwZUVy
cm9yIHdoZW4gdGhlIHR5cGVzIGFyZSBkaWZmZXJlbnQuIGFzc2VydF90aHJvd3NfanM6IGZ1bmN0
aW9uICIoKSA9PiBDU1MubnVtYmVyKDMpLmFkZChDU1MucHgoMTApICxDU1MubnVtYmVyKDApKSIg
ZGlkIG5vdCB0aHJvdwogRkFJTCBDU1NOdW1lcmljVmFsdWUuc3ViIHNob3VsZCB0aHJvdyBUeXBl
RXJyb3Igd2hlbiB0aGUgdHlwZXMgYXJlIGRpZmZlcmVudC4gYXNzZXJ0X3Rocm93c19qczogZnVu
Y3Rpb24gIigpID0+IENTUy5udW1iZXIoMykuc3ViKENTUy5weCgxMCkgLENTUy5udW1iZXIoMCkp
IiBkaWQgbm90IHRocm93CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>