<?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>223665</bug_id>
          
          <creation_ts>2021-03-23 17:47:58 -0700</creation_ts>
          <short_desc>Update CSS Color 5 color-mix() implementation to match the latest draft spec</short_desc>
          <delta_ts>2021-03-24 10:35: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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <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>1743097</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-23 17:47:58 -0700</bug_when>
    <thetext>Update CSS Color 5 color-mix() implementation to match the latest draft spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743098</commentid>
    <comment_count>1</comment_count>
      <attachid>424083</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-23 17:55:11 -0700</bug_when>
    <thetext>Created attachment 424083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743124</commentid>
    <comment_count>2</comment_count>
      <attachid>424093</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-23 19:38:10 -0700</bug_when>
    <thetext>Created attachment 424093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743127</commentid>
    <comment_count>3</comment_count>
      <attachid>424093</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-23 19:57:14 -0700</bug_when>
    <thetext>Comment on attachment 424093
Patch

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

&gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1562
&gt; +    Srgb,
&gt; +    Hsl,
&gt; +    Hwb,
&gt; +    Xyz,
&gt; +    Lab,
&gt; +    Lch

These capitalizations are a bit odd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743393</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-24 10:34:55 -0700</bug_when>
    <thetext>Committed r274947: &lt;https://commits.webkit.org/r274947&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424093.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743394</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-24 10:35:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/75792077&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424083</attachid>
            <date>2021-03-23 17:55:11 -0700</date>
            <delta_ts>2021-03-23 19:38:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223665-20210323175510.patch</filename>
            <type>text/plain</type>
            <size>41311</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NDkyNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDIxLTAzLTIzICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgQ1NTIENvbG9yIDUgY29s
b3ItbWl4KCkgaW1wbGVtZW50YXRpb24gdG8gbWF0Y2ggdGhlIGxhdGVzdCBkcmFmdCBzcGVjCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM2NjUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdG8g
dGhlIGxhdGVzdCBkcmFmdCBzcGVjLCB3aGljaCBkcmFtYXRpY2FsbHkgcmVkdWNlcyB0aGUgY29t
cGxleGl0eSBvZiBjb2xvci1taXgoKQorICAgICAgICBieSByZW1vdmUgcGVyLWNvbXBvbmVudCBh
ZGp1c3RlcnMuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVz
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVD
b2xvck1peENvbG9yU3BhY2VBbmRDb21tYSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0
eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVDb2xvck1peENvbXBvbmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om5vcm1hbGl6ZWRNaXhQZXJjZW50YWdlcyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om1ha2VDb2xvclR5
cGVCeU5vcm1hbGl6aW5nQ29tcG9uZW50c0FmdGVyTWl4KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1Byb3BlcnR5UGFyc2VySGVscGVyczo6bWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25l
bnRzQWZ0ZXJNaXg8SFdCQTxmbG9hdD4+KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
UGFyc2VySGVscGVyczo6bWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0ZXJN
aXg8SFNMQTxmbG9hdD4+KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVs
cGVyczo6Zml4dXBIdWVDb21wb25lbnRzUHJpb3JUb01peCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om1peENvbG9yQ29tcG9uZW50c0luQ29sb3JTcGFjZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om1peENvbG9yQ29t
cG9uZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBh
cnNlQ29sb3JNaXhGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzOjpIdWVDb2xvckFkanVzdGVyOjpmaXh1cEFuZ2xlc0ZvckludGVy
cG9sYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJI
ZWxwZXJzOjpIdWVDb2xvckFkanVzdGVyOjpIdWVDb2xvckFkanVzdGVyKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Q29sb3JBZGp1c3Rlcjo6
Q29sb3JBZGp1c3Rlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBh
cnNlckhlbHBlcnM6OmNvbnN1bWVBZGp1c3Rlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVBbmRVcGRhdGVBZGp1c3RlckF0SW5k
ZXgpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
Ojpjb25zdW1lQW5kVXBkYXRlQWRqdXN0ZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lQWRqdXN0ZXJzKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZU1peENvbXBv
bmVudHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxw
ZXJzOjpub3JtYWxpemVBZGp1c3RlclZhbHVlcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnJlbWFpbmluZ0FkanVzdG1lbnQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjptaXhDb21wb25l
bnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
OjptaXhDb21wb25lbnRBdEluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5UGFyc2VySGVscGVyczo6bWl4KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNT
U1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvck1peEZ1bmN0aW9uUGFyYW1ldGVyc1Vz
aW5nQWRqdXN0ZXJzKTogRGVsZXRlZC4KKyAgICAgICAgVXBkYXRlIHRvIHRoZSBuZXcgc3ludGF4
IGFuZCByZW1vdmUgY29tcG9uZW50IGFkanVzdGVycy4gVGhleSBtYXkgY29tZSBiYWNrIGZvciBj
b2xvci1hZGp1c3QoKSAKKyAgICAgICAgaW4gdGhlIGZ1dHVyZS4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0NvbG9yTW9kZWxzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29sb3JUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6Y2xhbXBlZENvbXBvbmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjphc3NlcnRJblJhbmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Db2xvclV0aWxpdGllcy5oOgorICAgICAgICAoV2ViQ29yZTo6aW52ZXJ0ZWRDb2xvcldpdGhP
dmVycmlkZGVuQWxwaGEpOgorICAgICAgICBBZGQgc3VwcG9ydCBpbiB0aGUgY29sb3IgbW9kZWxz
IGZvciBhbm5vdGF0aW5nIG1vcmUgYWJvdXQgZWFjaCBjb21wb25lbnQsIG5vdyBpbmNsdWRpbmcK
KyAgICAgICAgdGhlIHR5cGUgKGFuZ2xlLCBudW1iZXIgb3IgcGVyY2VudGFnZSkuIFRoaXMgYWxs
b3dzIGFsZ29yaXRobXMgZ2VuZXJpYyBhbGdvcml0aG1zIHRvCisgICAgICAgIG9wZXJhdGUgb24g
YWJzdHJhY3QgY29sb3IgdHlwZSBjb21wb25lbnRzIHdpdGhvdXQgc3BlY2lhbGl6aW5nIGZvciBl
YWNoIGNvbG9yIHR5cGUuCisKIDIwMjEtMDMtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIEZyYW1lc1BlclNlY29uZCBpbiBtb3JlIHBsYWNl
cyBpbiBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgko
cmV2aXNpb24gMjc0OTA1KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4JKHdvcmtpbmcgY29weSkKQEAgLTE0NDMsMTUgKzE0NDMsNyBAQCB2cwogCiAvLyBjb2xvci1t
aXgoKQogY29sb3ItbWl4Ci1zaG9ydGVyCi1sb25nZXIKLWluY3JlYXNpbmcKLWRlY3JlYXNpbmcK
LXNwZWNpZmllZAotbGlnaHRuZXNzCi1jaHJvbWEKLXdoaXRlbmVzcwotYmxhY2tuZXNzCitpbgog
CiAvLyBwcmVmZXJzLWRlZmF1bHQtYXBwZWFyYW5jZQogcHJlZmVycwpJbmRleDogU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNw
cAkocmV2aXNpb24gMjc0OTA1KQorKysgU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTA0LDE3ICsxMTA0LDE5
IEBAIHRlbXBsYXRlPEhTTEZ1bmN0aW9uTW9kZSBNb2RlPiBzdGF0aWMgQ28KICAgICByZXR1cm4g
Y29udmVydENvbG9yPFNSR0JBPHVpbnQ4X3Q+PihIU0xBPGZsb2F0PiB7IHN0YXRpY19jYXN0PGZs
b2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRTYXR1cmF0
aW9uKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2Fz
dDxmbG9hdD4obm9ybWFsaXplZEFscGhhKSB9KTsKIH0KIAordGVtcGxhdGU8dHlwZW5hbWUgQ29t
cG9uZW50VHlwZT4KIHN0cnVjdCBXaGl0ZW5lc3NCbGFja25lc3MgewotICAgIGRvdWJsZSB3aGl0
ZW5lc3M7Ci0gICAgZG91YmxlIGJsYWNrbmVzczsKKyAgICBDb21wb25lbnRUeXBlIHdoaXRlbmVz
czsKKyAgICBDb21wb25lbnRUeXBlIGJsYWNrbmVzczsKIH07Ci1zdGF0aWMgV2hpdGVuZXNzQmxh
Y2tuZXNzIG5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcyhkb3VibGUgd2hpdGVuZXNzLCBkb3Vi
bGUgYmxhY2tuZXNzKQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb21wb25lbnRUeXBlPiBzdGF0aWMg
YXV0byBub3JtYWxpemVXaGl0ZW5lc3NCbGFja25lc3MoQ29tcG9uZW50VHlwZSB3aGl0ZW5lc3Ms
IENvbXBvbmVudFR5cGUgYmxhY2tuZXNzKSAtPiBXaGl0ZW5lc3NCbGFja25lc3M8Q29tcG9uZW50
VHlwZT4KIHsKICAgICAvLyAgIFZhbHVlcyBvdXRzaWRlIG9mIHRoZXNlIHJhbmdlcyBhcmUgbm90
IGludmFsaWQsIGJ1dCBhcmUgY2xhbXBlZCB0byB0aGUKICAgICAvLyAgIHJhbmdlcyBkZWZpbmVk
IGhlcmUgYXQgY29tcHV0ZWQtdmFsdWUgdGltZS4KLSAgICBXaGl0ZW5lc3NCbGFja25lc3MgcmVz
dWx0IHsKLSAgICAgICAgY2xhbXBUbyh3aGl0ZW5lc3MsIDAuMCwgMTAwLjApLAotICAgICAgICBj
bGFtcFRvKGJsYWNrbmVzcywgMC4wLCAxMDAuMCkKKyAgICBXaGl0ZW5lc3NCbGFja25lc3M8Q29t
cG9uZW50VHlwZT4gcmVzdWx0IHsKKyAgICAgICAgY2xhbXBUbzxDb21wb25lbnRUeXBlPih3aGl0
ZW5lc3MsIDAuMCwgMTAwLjApLAorICAgICAgICBjbGFtcFRvPENvbXBvbmVudFR5cGU+KGJsYWNr
bmVzcywgMC4wLCAxMDAuMCkKICAgICB9OwogCiAgICAgLy8gICBJZiB0aGUgc3VtIG9mIHRoZXNl
IHR3byBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIDEwMCUsIHRoZW4gYXQKQEAgLTE1NTEsMzI1
ICsxNTUzLDE5MCBAQCBzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckNvbnRyYXN0RnVuY3Rpb25QCiAg
ICAgcmV0dXJuIGNvbG9yc1RvQ29tcGFyZUFnYWluc3RbaW5kZXhPZkNvbG9yV2l0aEhpZ2VzdENv
bnRyYXN0UmF0aW9dOwogfQogCi1zdHJ1Y3QgSHVlQ29sb3JBZGp1c3RlciB7Ci0gICAgZW51bSBj
bGFzcyBUeXBlIHsKLSAgICAgICAgU2hvcnRlciwKLSAgICAgICAgTG9uZ2VyLAotICAgICAgICBJ
bmNyZWFzaW5nLAotICAgICAgICBEZWNyZWFzaW5nLAotICAgICAgICBTcGVjaWZpZWQKLSAgICB9
OwotCi0gICAgc3RhdGljIHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4gZml4dXBBbmdsZXNGb3JJ
bnRlcnBvbGF0aW9uKGRvdWJsZSB0aGV0YTEsIGRvdWJsZSB0aGV0YTIsIFR5cGUgdHlwZSkKLSAg
ICB7Ci0gICAgICAgIEFTU0VSVCh0aGV0YTEgPj0gMC4wKTsKLSAgICAgICAgQVNTRVJUKHRoZXRh
MSA8PSAzNjAuMCk7Ci0gICAgICAgIEFTU0VSVCh0aGV0YTIgPj0gMC4wKTsKLSAgICAgICAgQVNT
RVJUKHRoZXRhMiA8PSAzNjAuMCk7Ci0KLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAg
IGNhc2UgVHlwZTo6U2hvcnRlcjogewotICAgICAgICAgICAgYXV0byBkaWZmZXJlbmNlID0gdGhl
dGEyIC0gdGhldGExOwotICAgICAgICAgICAgaWYgKGRpZmZlcmVuY2UgPiAxODAuMCkKLSAgICAg
ICAgICAgICAgICByZXR1cm4geyB0aGV0YTEgKyAzNjAuMCwgdGhldGEyIH07Ci0gICAgICAgICAg
ICBpZiAoZGlmZmVyZW5jZSA8IC0xODAuMCkKLSAgICAgICAgICAgICAgICByZXR1cm4geyB0aGV0
YTEsIHRoZXRhMiArIDM2MC4wIH07Ci0gICAgICAgICAgICByZXR1cm4geyB0aGV0YTEsIHRoZXRh
MiB9OwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgVHlwZTo6TG9uZ2VyOiB7Ci0gICAgICAgICAg
ICBhdXRvIGRpZmZlcmVuY2UgPSB0aGV0YTIgLSB0aGV0YTE7Ci0gICAgICAgICAgICBpZiAoZGlm
ZmVyZW5jZSA+PSAwLjAgJiYgZGlmZmVyZW5jZSA8IDE4MC4wKQotICAgICAgICAgICAgICAgIHJl
dHVybiB7IHRoZXRhMSArIDM2MC4wLCB0aGV0YTIgfTsKLSAgICAgICAgICAgIGlmIChkaWZmZXJl
bmNlID49IC0xODAuMCAgJiYgZGlmZmVyZW5jZSA8IDApCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHsgdGhldGExLCB0aGV0YTIgKyAzNjAuMCB9OwotICAgICAgICAgICAgcmV0dXJuIHsgdGhldGEx
LCB0aGV0YTIgfTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFR5cGU6OkluY3JlYXNpbmc6IHsK
LSAgICAgICAgICAgIGlmICh0aGV0YTIgPCB0aGV0YTEpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHsgdGhldGExLCB0aGV0YTIgKyAzNjAuMCB9OwotICAgICAgICAgICAgcmV0dXJuIHsgdGhldGEx
LCB0aGV0YTIgfTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFR5cGU6OkRlY3JlYXNpbmc6IHsK
LSAgICAgICAgICAgIGlmICh0aGV0YTEgPCB0aGV0YTIpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHsgdGhldGExICsgMzYwLjAsIHRoZXRhMiB9OwotICAgICAgICAgICAgcmV0dXJuIHsgdGhldGEx
LCB0aGV0YTIgfTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFR5cGU6OlNwZWNpZmllZDoKLSAg
ICAgICAgICAgIHJldHVybiB7IHRoZXRhMSwgdGhldGEyIH07Ci0gICAgICAgIH0KLQotICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIEh1ZUNvbG9yQWRq
dXN0ZXIoZG91YmxlIHZhbHVlID0gMC4wLCBUeXBlIHR5cGUgPSBUeXBlOjpTaG9ydGVyKQotICAg
ICAgICA6IHR5cGUgeyB0eXBlIH0KLSAgICAgICAgLCB2YWx1ZSB7IHZhbHVlIH0KLSAgICB7Ci0g
ICAgfQotCi0gICAgVHlwZSB0eXBlOwotICAgIGRvdWJsZSB2YWx1ZTsKK2VudW0gY2xhc3MgQ29s
b3JNaXhDb2xvclNwYWNlIHsKKyAgICBTcmdiLAorICAgIEhzbCwKKyAgICBId2IsCisgICAgWHl6
LAorICAgIExhYiwKKyAgICBMY2gKIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEMsIENTU1ZhbHVl
SUQgSUQwLCB0eXBlbmFtZSBDaGFubmVsMCwgQ1NTVmFsdWVJRCBJRDEsIHR5cGVuYW1lIENoYW5u
ZWwxLCBDU1NWYWx1ZUlEIElEMiwgdHlwZW5hbWUgQ2hhbm5lbDIsIENTU1ZhbHVlSUQgSUQzLCB0
eXBlbmFtZSBDaGFubmVsMz4KLXN0cnVjdCBDb2xvckFkanVzdGVyIHsKLSAgICB1c2luZyBDb2xv
clR5cGUgPSBDOwotICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBjaGFubmVsQ1NTVmFsdWVJRHMg
PSBzdGQ6Om1ha2VfdHVwbGUoSUQwLCBJRDEsIElEMiwgSUQzKTsKLQotICAgIENvbG9yQWRqdXN0
ZXIoKSA9IGRlZmF1bHQ7Ci0gICAgZXhwbGljaXQgQ29sb3JBZGp1c3Rlcihkb3VibGUgcGVyY2Vu
dGFnZSkKLSAgICAgICAgOiBjaGFubmVscyB7IHBlcmNlbnRhZ2UsIHBlcmNlbnRhZ2UsIHBlcmNl
bnRhZ2UsIHBlcmNlbnRhZ2UgfQotICAgIHsKLSAgICB9Ci0KLSAgICBzdGQ6OnR1cGxlPE9wdGlv
bmFsPENoYW5uZWwwPiwgT3B0aW9uYWw8Q2hhbm5lbDE+LCBPcHRpb25hbDxDaGFubmVsMj4sIE9w
dGlvbmFsPENoYW5uZWwzPj4gY2hhbm5lbHM7Ci19Oworc3RhdGljIE9wdGlvbmFsPENvbG9yTWl4
Q29sb3JTcGFjZT4gY29uc3VtZUNvbG9yTWl4Q29sb3JTcGFjZUFuZENvbW1hKENTU1BhcnNlclRv
a2VuUmFuZ2UmIGFyZ3MpCit7CisgICAgYXV0byBjb25zdW1lSWRlbnRBbmRDb21tYSA9IFtdKENT
U1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbG9yTWl4Q29sb3JTcGFjZSBjb2xvclNwYWNlKSAt
PiBPcHRpb25hbDxDb2xvck1peENvbG9yU3BhY2U+IHsKKyAgICAgICAgY29uc3VtZUlkZW50UmF3
KGFyZ3MpOworICAgICAgICBpZiAoIWNvbnN1bWVDb21tYUluY2x1ZGluZ1doaXRlc3BhY2UoYXJn
cykpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICByZXR1cm4gY29s
b3JTcGFjZTsKKyAgICB9OwogCi11c2luZyBIU0xDb2xvckFkanVzdGVyID0gQ29sb3JBZGp1c3Rl
cjxIU0xBPGZsb2F0PiwgQ1NTVmFsdWVIdWUsIEh1ZUNvbG9yQWRqdXN0ZXIsIENTU1ZhbHVlU2F0
dXJhdGlvbiwgZG91YmxlLCBDU1NWYWx1ZUxpZ2h0bmVzcywgZG91YmxlLCBDU1NWYWx1ZUFscGhh
LCBkb3VibGU+OwotdXNpbmcgSFdCQ29sb3JBZGp1c3RlciA9IENvbG9yQWRqdXN0ZXI8SFdCQTxm
bG9hdD4sIENTU1ZhbHVlSHVlLCBIdWVDb2xvckFkanVzdGVyLCBDU1NWYWx1ZVdoaXRlbmVzcywg
ZG91YmxlLCBDU1NWYWx1ZUJsYWNrbmVzcywgZG91YmxlLCBDU1NWYWx1ZUFscGhhLCBkb3VibGU+
OwotdXNpbmcgTENIQ29sb3JBZGp1c3RlciA9IENvbG9yQWRqdXN0ZXI8TENIQTxmbG9hdD4sIENT
U1ZhbHVlTGlnaHRuZXNzLCBkb3VibGUsIENTU1ZhbHVlQ2hyb21hLCBIdWVDb2xvckFkanVzdGVy
LCBDU1NWYWx1ZUh1ZSwgZG91YmxlLCBDU1NWYWx1ZUFscGhhLCBkb3VibGU+OwotdXNpbmcgTGFi
Q29sb3JBZGp1c3RlciA9IENvbG9yQWRqdXN0ZXI8TGFiPGZsb2F0PiwgQ1NTVmFsdWVMaWdodG5l
c3MsIGRvdWJsZSwgQ1NTVmFsdWVBLCBkb3VibGUsIENTU1ZhbHVlQiwgZG91YmxlLCBDU1NWYWx1
ZUFscGhhLCBkb3VibGU+OwotdXNpbmcgU1JHQkNvbG9yQWRqdXN0ZXIgPSBDb2xvckFkanVzdGVy
PFNSR0JBPGZsb2F0PiwgQ1NTVmFsdWVSZWQsIGRvdWJsZSwgQ1NTVmFsdWVHcmVlbiwgZG91Ymxl
LCBDU1NWYWx1ZUJsdWUsIGRvdWJsZSwgQ1NTVmFsdWVBbHBoYSwgZG91YmxlPjsKLXVzaW5nIFhZ
WkNvbG9yQWRqdXN0ZXIgPSBDb2xvckFkanVzdGVyPFhZWkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1
MD4sIENTU1ZhbHVlWCwgZG91YmxlLCBDU1NWYWx1ZVksIGRvdWJsZSwgQ1NTVmFsdWVaLCBkb3Vi
bGUsIENTU1ZhbHVlQWxwaGEsIGRvdWJsZT47CisgICAgc3dpdGNoIChhcmdzLnBlZWsoKS5pZCgp
KSB7CisgICAgY2FzZSBDU1NWYWx1ZUhzbDoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVJZGVudEFu
ZENvbW1hKGFyZ3MsIENvbG9yTWl4Q29sb3JTcGFjZTo6SHNsKTsKKyAgICBjYXNlIENTU1ZhbHVl
SHdiOgorICAgICAgICByZXR1cm4gY29uc3VtZUlkZW50QW5kQ29tbWEoYXJncywgQ29sb3JNaXhD
b2xvclNwYWNlOjpId2IpOworICAgIGNhc2UgQ1NTVmFsdWVMY2g6CisgICAgICAgIHJldHVybiBj
b25zdW1lSWRlbnRBbmRDb21tYShhcmdzLCBDb2xvck1peENvbG9yU3BhY2U6OkxjaCk7CisgICAg
Y2FzZSBDU1NWYWx1ZUxhYjoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVJZGVudEFuZENvbW1hKGFy
Z3MsIENvbG9yTWl4Q29sb3JTcGFjZTo6TGFiKTsKKyAgICBjYXNlIENTU1ZhbHVlWHl6OgorICAg
ICAgICByZXR1cm4gY29uc3VtZUlkZW50QW5kQ29tbWEoYXJncywgQ29sb3JNaXhDb2xvclNwYWNl
OjpYeXopOworICAgIGNhc2UgQ1NTVmFsdWVTUkdCOgorICAgICAgICByZXR1cm4gY29uc3VtZUlk
ZW50QW5kQ29tbWEoYXJncywgQ29sb3JNaXhDb2xvclNwYWNlOjpTcmdiKTsKKyAgICBkZWZhdWx0
OgorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIH0KK30KIAotdGVtcGxhdGU8dHlw
ZW5hbWUgQWRqdXN0ZXI+IHN0cnVjdCBDb2xvck1peENvbXBvbmVudCB7CitzdHJ1Y3QgQ29sb3JN
aXhDb21wb25lbnQgewogICAgIENvbG9yIGNvbG9yOwotICAgIEFkanVzdGVyIGFkanVzdGVyOwor
ICAgIE9wdGlvbmFsPGRvdWJsZT4gcGVyY2VudGFnZTsKIH07CiAKLXRlbXBsYXRlPENTU1ZhbHVl
SUQgSWRlbnQsIHR5cGVuYW1lIFQ+IHN0cnVjdCBBZGp1c3RlckNvbnN1bWVyOworc3RhdGljIE9w
dGlvbmFsPENvbG9yTWl4Q29tcG9uZW50PiBjb25zdW1lQ29sb3JNaXhDb21wb25lbnQoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sK
KyAgICBDb2xvck1peENvbXBvbmVudCByZXN1bHQ7CiAKLXRlbXBsYXRlPENTU1ZhbHVlSUQgSWRl
bnQ+IHN0cnVjdCBBZGp1c3RlckNvbnN1bWVyPElkZW50LCBIdWVDb2xvckFkanVzdGVyPiB7Ci0g
ICAgc3RhdGljIE9wdGlvbmFsPEh1ZUNvbG9yQWRqdXN0ZXI+IGNvbnN1bWUoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSYgYXJncykKLSAgICB7Ci0gICAgICAgIGlmICghY29uc3VtZUlkZW50UmF3PElkZW50
PihhcmdzKSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKGF1dG8g
cGVyY2VudGFnZSA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpKQorICAgICAgICByZXN1bHQucGVy
Y2VudGFnZSA9IHBlcmNlbnRhZ2U7CiAKLSAgICAgICAgSHVlQ29sb3JBZGp1c3RlciByZXN1bHQ7
Ci0gICAgICAgIGlmIChhdXRvIGh1ZUFkanVzdG1lbnRUeXBlID0gY29uc3VtZUh1ZUFkanVzdG1l
bnRUeXBlKGFyZ3MpKQotICAgICAgICAgICAgcmVzdWx0LnR5cGUgPSAqaHVlQWRqdXN0bWVudFR5
cGU7CisgICAgcmVzdWx0LmNvbG9yID0gY29uc3VtZU9yaWdpbkNvbG9yKGFyZ3MsIGNvbnRleHQp
OworICAgIGlmICghcmVzdWx0LmNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKIAotICAgICAgICAvLyBGSVhNRTogSXMgY2xhbXBpbmcgdG8gMCBmb3IgbmVnYXRp
dmUgcGVyY2VudGFnZXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvPworICAgIGlmICghcmVzdWx0LnBl
cmNlbnRhZ2UpIHsKICAgICAgICAgaWYgKGF1dG8gcGVyY2VudGFnZSA9IGNvbnN1bWVQZXJjZW50
UmF3KGFyZ3MpKQotICAgICAgICAgICAgcmVzdWx0LnZhbHVlID0gc3RkOjptYXgoMC4wLCAqcGVy
Y2VudGFnZSk7Ci0KLSAgICAgICAgLy8gRklYTUU6IFNob3VsZCBhbiBhZGp1c3RlciB3aXRob3V0
IGEgcGVyY2V0YW5nZSBiZSBhbGxvd2VkPwotICAgICAgICAvLyAgZS5nIGNvbG9yLW1peChoc2ws
IHRlYWwgaHVlLCByZWQpOwotCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotCi0gICAg
c3RhdGljIE9wdGlvbmFsPEh1ZUNvbG9yQWRqdXN0ZXI6OlR5cGU+IGNvbnN1bWVIdWVBZGp1c3Rt
ZW50VHlwZShDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzKQotICAgIHsKLSAgICAgICAgc3dpdGNo
IChhcmdzLnBlZWsoKS5pZCgpKSB7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVTaG9ydGVyOgotICAg
ICAgICAgICAgY29uc3VtZUlkZW50UmF3KGFyZ3MpOwotICAgICAgICAgICAgcmV0dXJuIEh1ZUNv
bG9yQWRqdXN0ZXI6OlR5cGU6OlNob3J0ZXI7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVMb25nZXI6
Ci0gICAgICAgICAgICBjb25zdW1lSWRlbnRSYXcoYXJncyk7Ci0gICAgICAgICAgICByZXR1cm4g
SHVlQ29sb3JBZGp1c3Rlcjo6VHlwZTo6TG9uZ2VyOwotICAgICAgICBjYXNlIENTU1ZhbHVlSW5j
cmVhc2luZzoKLSAgICAgICAgICAgIGNvbnN1bWVJZGVudFJhdyhhcmdzKTsKLSAgICAgICAgICAg
IHJldHVybiBIdWVDb2xvckFkanVzdGVyOjpUeXBlOjpJbmNyZWFzaW5nOwotICAgICAgICBjYXNl
IENTU1ZhbHVlRGVjcmVhc2luZzoKLSAgICAgICAgICAgIGNvbnN1bWVJZGVudFJhdyhhcmdzKTsK
LSAgICAgICAgICAgIHJldHVybiBIdWVDb2xvckFkanVzdGVyOjpUeXBlOjpEZWNyZWFzaW5nOwot
ICAgICAgICBjYXNlIENTU1ZhbHVlU3BlY2lmaWVkOgotICAgICAgICAgICAgY29uc3VtZUlkZW50
UmF3KGFyZ3MpOwotICAgICAgICAgICAgcmV0dXJuIEh1ZUNvbG9yQWRqdXN0ZXI6OlR5cGU6OlNw
ZWNpZmllZDsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7Ci0gICAgICAgIH0KKyAgICAgICAgICAgIHJlc3VsdC5wZXJjZW50YWdlID0gcGVyY2VudGFn
ZTsKICAgICB9Ci19OwotCi10ZW1wbGF0ZTxDU1NWYWx1ZUlEIElkZW50PiBzdHJ1Y3QgQWRqdXN0
ZXJDb25zdW1lcjxJZGVudCwgZG91YmxlPiB7Ci0gICAgc3RhdGljIE9wdGlvbmFsPGRvdWJsZT4g
Y29uc3VtZShDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzKQotICAgIHsKLSAgICAgICAgaWYgKCFj
b25zdW1lSWRlbnRSYXc8SWRlbnQ+KGFyZ3MpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKLSAgICAgICAgCi0gICAgICAgIC8vIEZJWE1FOiBJcyBjbGFtcGluZyB0byAwIGZvciBu
ZWdhdGl2ZSBwZXJjZW50YWdlcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8/Ci0gICAgICAgIGlmIChh
dXRvIHBlcmNlbnRhZ2UgPSBjb25zdW1lUGVyY2VudFJhdyhhcmdzKSkKLSAgICAgICAgICAgIHJl
dHVybiBzdGQ6Om1heCgwLjAsICpwZXJjZW50YWdlKTsKIAotICAgICAgICAvLyBGSVhNRTogU2hv
dWxkIGFuIGFkanVzdGVyIHdpdGhvdXQgYSBwZXJjZXRhbmdlIGJlIGFsbG93ZWQ/Ci0gICAgICAg
IC8vICBlLmcgY29sb3ItbWl4KGhzbCwgdGVhbCBzYXR1cmF0aW9uLCByZWQpOworICAgIHJldHVy
biByZXN1bHQ7Cit9CiAKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorc3RydWN0IENvbG9yTWl4
UGVyY2VudGFnZXMgeworICAgIGRvdWJsZSBwMTsKKyAgICBkb3VibGUgcDI7CiB9OwogCi10ZW1w
bGF0ZTxDU1NWYWx1ZUlEIElkZW50LCB0eXBlbmFtZSBUPiBpbmxpbmUgZGVjbHR5cGUoYXV0bykg
Y29uc3VtZUFkanVzdGVyKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MpCitzdGF0aWMgQ29sb3JN
aXhQZXJjZW50YWdlcyBub3JtYWxpemVkTWl4UGVyY2VudGFnZXMoY29uc3QgQ29sb3JNaXhDb21w
b25lbnQmIG1peENvbXBvbmVudHMxLCBjb25zdCBDb2xvck1peENvbXBvbmVudCYgbWl4Q29tcG9u
ZW50czIpCiB7Ci0gICAgcmV0dXJuIEFkanVzdGVyQ29uc3VtZXI8SWRlbnQsIFQ+Ojpjb25zdW1l
KGFyZ3MpOwotfQorICAgIC8vIFRoZSBwZXJjZW50YWdlcyBhcmUgbm9ybWFsaXplZCBhcyBmb2xs
b3dzOgogCi10ZW1wbGF0ZTxzdGQ6OnNpemVfdCBJLCB0eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGlj
IGJvb2wgY29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyQXRJbmRleChDU1NQYXJzZXJUb2tlblJhbmdl
JiBhcmdzLCBBZGp1c3RlciYgYWRqdXN0ZXIpCi17Ci0gICAgdXNpbmcgQWRqdXN0ZXJUeXBlID0g
c3RkOjpkZWNheV90PGRlY2x0eXBlKHN0ZDo6Z2V0PEk+KGFkanVzdGVyLmNoYW5uZWxzKS52YWx1
ZSgpKT47Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBDU1NWYWx1ZUlEIElkZW50ID0gc3RkOjpnZXQ8
ST4oQWRqdXN0ZXI6OmNoYW5uZWxDU1NWYWx1ZUlEcyk7Ci0KLSAgICBpZiAoYXV0byBhZGp1c3Rt
ZW50ID0gY29uc3VtZUFkanVzdGVyPElkZW50LCBBZGp1c3RlclR5cGU+KGFyZ3MpKSB7Ci0gICAg
ICAgIHN0ZDo6Z2V0PEk+KGFkanVzdGVyLmNoYW5uZWxzKSA9ICphZGp1c3RtZW50OwotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi10ZW1wbGF0ZTx0
eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGljIGJvb2wgY29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyKENT
U1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIEFkanVzdGVyJiBhZGp1c3RlcikKLXsKLSAgICBpZiAo
Y29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyQXRJbmRleDwwPihhcmdzLCBhZGp1c3RlcikpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotICAgIGlmIChjb25zdW1lQW5kVXBkYXRlQWRqdXN0ZXJBdEluZGV4
PDE+KGFyZ3MsIGFkanVzdGVyKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKGNvbnN1
bWVBbmRVcGRhdGVBZGp1c3RlckF0SW5kZXg8Mj4oYXJncywgYWRqdXN0ZXIpKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICBpZiAoY29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyQXRJbmRleDwzPihh
cmdzLCBhZGp1c3RlcikpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIHJldHVybiBmYWxzZTsK
LX0KKyAgICAvLyAxLiBMZXQgcDEgYmUgdGhlIGZpcnN0IHBlcmNlbnRhZ2UgYW5kIHAyIHRoZSBz
ZWNvbmQgb25lLgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGljIEFkanVzdGVy
IGNvbnN1bWVBZGp1c3RlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncykKLXsKLSAgICBBZGp1
c3RlciBhZGp1c3RlcjsKLSAgICB3aGlsZSAoY29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyKGFyZ3Ms
IGFkanVzdGVyKSkgewotICAgICAgICAvLyBLZWVwIGNvbnN1bWluZyB1bnRpbCB0aGVyZSBhcmUg
bm8gbW9yZSBhZGp1c3RlcnMuCi0gICAgfQorICAgIC8vIDIuIElmIGJvdGggcGVyY2VudGFnZXMg
YXJlIG9taXR0ZWQsIHRoZXkgZWFjaCBkZWZhdWx0IHRvIDUwJSAoYW4gZXF1YWwgbWl4IG9mIHRo
ZSB0d28gY29sb3JzKS4KKyAgICBpZiAoIW1peENvbXBvbmVudHMxLnBlcmNlbnRhZ2UgJiYgIW1p
eENvbXBvbmVudHMyLnBlcmNlbnRhZ2UpCisgICAgICAgIHJldHVybiB7IDUwLjAsIDUwLjAgfTsK
ICAgICAKLSAgICByZXR1cm4gYWRqdXN0ZXI7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEFkanVz
dGVyPiBzdGF0aWMgT3B0aW9uYWw8Q29sb3JNaXhDb21wb25lbnQ8QWRqdXN0ZXI+PiBjb25zdW1l
TWl4Q29tcG9uZW50cyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQYXJzZXJD
b250ZXh0JiBjb250ZXh0KQotewotICAgIGF1dG8gb3JpZ2luQ29sb3IgPSBjb25zdW1lT3JpZ2lu
Q29sb3IoYXJncywgY29udGV4dCk7Ci0gICAgaWYgKCFvcmlnaW5Db2xvci5pc1ZhbGlkKCkpCi0g
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICAvLyBGSVhNRTogSXMgY2xhbXBpbmcg
dG8gMCBmb3IgbmVnYXRpdmUgcGVyY2VudGFnZXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvPwotICAg
IGlmIChhdXRvIHBlcmNlbnRhZ2UgPSBjb25zdW1lUGVyY2VudFJhdyhhcmdzKSkKLSAgICAgICAg
cmV0dXJuIHsgeyBXVEZNb3ZlKG9yaWdpbkNvbG9yKSwgQWRqdXN0ZXIgeyBzdGQ6Om1heCgwLjAs
ICpwZXJjZW50YWdlKSB9IH0gfTsKLQotICAgIHJldHVybiB7IHsgV1RGTW92ZShvcmlnaW5Db2xv
ciksIGNvbnN1bWVBZGp1c3RlcnM8QWRqdXN0ZXI+KGFyZ3MpIH0gfTsKLX0KLQotc3RhdGljIHN0
ZDo6cGFpcjxIdWVDb2xvckFkanVzdGVyLCBIdWVDb2xvckFkanVzdGVyPiBub3JtYWxpemVBZGp1
c3RlclZhbHVlcyhIdWVDb2xvckFkanVzdGVyIGFkanVzdGVyMSwgSHVlQ29sb3JBZGp1c3RlciBh
ZGp1c3RlcjIpCi17Ci0gICAgaWYgKGF1dG8gc3VtID0gYWRqdXN0ZXIxLnZhbHVlICsgYWRqdXN0
ZXIyLnZhbHVlOyBzdW0gIT0gMTAwLjApIHsKLSAgICAgICAgYWRqdXN0ZXIxLnZhbHVlICo9IDEw
MC4wIC8gc3VtOwotICAgICAgICBhZGp1c3RlcjIudmFsdWUgKj0gMTAwLjAgLyBzdW07Ci0gICAg
fQorICAgIENvbG9yTWl4UGVyY2VudGFnZXMgcmVzdWx0OwogCi0gICAgcmV0dXJuIHsgYWRqdXN0
ZXIxLCBhZGp1c3RlcjIgfTsKLX0KLQotc3RhdGljIHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4g
bm9ybWFsaXplQWRqdXN0ZXJWYWx1ZXMoZG91YmxlIGFkanVzdGVyMSwgZG91YmxlIGFkanVzdGVy
MikKLXsKLSAgICBpZiAoYXV0byBzdW0gPSBhZGp1c3RlcjEgKyBhZGp1c3RlcjI7IHN1bSAhPSAx
MDAuMCkgewotICAgICAgICBhZGp1c3RlcjEgKj0gMTAwLjAgLyBzdW07Ci0gICAgICAgIGFkanVz
dGVyMiAqPSAxMDAuMCAvIHN1bTsKKyAgICBpZiAoIW1peENvbXBvbmVudHMyLnBlcmNlbnRhZ2Up
IHsKKyAgICAgICAgLy8gMy4gT3RoZXJ3aXNlLCBpZiBwMiBpcyBvbWl0dGVkLCBpdCBiZWNvbWVz
IDEwMCUgLSBwMQorICAgICAgICByZXN1bHQucDEgPSAqbWl4Q29tcG9uZW50czEucGVyY2VudGFn
ZTsKKyAgICAgICAgcmVzdWx0LnAyID0gMTAwLjAgLSByZXN1bHQucDE7CisgICAgfSBlbHNlIGlm
ICghbWl4Q29tcG9uZW50czEucGVyY2VudGFnZSkgeworICAgICAgICAvLyA0LiBPdGhlcndpc2Us
IGlmIHAxIGlzIG9taXR0ZWQsIGl0IGJlY29tZXMgMTAwJSAtIHAyCisgICAgICAgIHJlc3VsdC5w
MiA9ICptaXhDb21wb25lbnRzMi5wZXJjZW50YWdlOworICAgICAgICByZXN1bHQucDEgPSAxMDAu
MCAtIHJlc3VsdC5wMjsKKyAgICB9IGVsc2UgeworICAgICAgICByZXN1bHQucDEgPSAqbWl4Q29t
cG9uZW50czEucGVyY2VudGFnZTsKKyAgICAgICAgcmVzdWx0LnAyID0gKm1peENvbXBvbmVudHMy
LnBlcmNlbnRhZ2U7CiAgICAgfQogCi0gICAgcmV0dXJuIHsgYWRqdXN0ZXIxLCBhZGp1c3RlcjIg
fTsKLX0KKyAgICBhdXRvIHN1bSA9IHJlc3VsdC5wMSArIHJlc3VsdC5wMjsKIAotc3RhdGljIEh1
ZUNvbG9yQWRqdXN0ZXIgcmVtYWluaW5nQWRqdXN0bWVudChIdWVDb2xvckFkanVzdGVyIGFkanVz
dGVyKQotewotICAgIHJldHVybiB7IDEwMC4wIC0gYWRqdXN0ZXIudmFsdWUsIGFkanVzdGVyLnR5
cGUgfTsKLX0KKyAgICAvLyA1LiBJZiB0aGUgcGVyY2VudGFnZXMgc3VtIHRvIHplcm8gZG8gc29t
ZXRoaW5nLCB0YmQuIChGSVhNRTogV2UganVzdCB1c2UgNTAgLyA1MCBmb3IgdGhpcyBjYXNlIGZv
ciBub3cpLgorICAgIGlmIChzdW0gPT0gMCkKKyAgICAgICAgcmV0dXJuIHsgNTAuMCwgNTAuMCB9
OwogCi1zdGF0aWMgZG91YmxlIHJlbWFpbmluZ0FkanVzdG1lbnQoZG91YmxlIGFkanVzdGVyKQot
ewotICAgIHJldHVybiAxMDAuMCAtIGFkanVzdGVyOwotfQorICAgIGlmIChzdW0gIT0gMTAwLjAp
IHsKKyAgICAgICAgLy8gNi4gT3RoZXJ3aXNlLCBpZiBib3RoIGFyZSBwcm92aWRlZCBidXQgZG8g
bm90IGFkZCB1cCB0byAxMDAlLCB0aGV5IGFyZSBzY2FsZWQgYWNjb3JkaW5nbHkgc28gdGhhdCB0
aGV5CisgICAgICAgIC8vICAgIGFkZCB1cCB0byAxMDAlLiBUaGlzIG1lYW5zIHRoYXQgcDEgYmVj
b21lcyBwMSAvIChwMSArIHAyKSBhbmQgcDIgYmVjb21lcyBwMiAvIChwMSArIHAyKS4KKyAgICAg
ICAgcmVzdWx0LnAxICo9IDEwMC4wIC8gc3VtOworICAgICAgICByZXN1bHQucDIgKj0gMTAwLjAg
LyBzdW07CisgICAgfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBBZGp1c3RlclR5cGU+IHN0YXRpYyBh
dXRvIG5vcm1hbGl6ZUFkanVzdGVyVmFsdWVzKE9wdGlvbmFsPEFkanVzdGVyVHlwZT4gYWRqdXN0
ZXIxLCBPcHRpb25hbDxBZGp1c3RlclR5cGU+IGFkanVzdGVyMikgLT4gc3RkOjpwYWlyPEFkanVz
dGVyVHlwZSwgQWRqdXN0ZXJUeXBlPgotewotICAgIGlmIChhZGp1c3RlcjEgJiYgYWRqdXN0ZXIy
KQotICAgICAgICByZXR1cm4gbm9ybWFsaXplQWRqdXN0ZXJWYWx1ZXMoKmFkanVzdGVyMSwgKmFk
anVzdGVyMik7Ci0gICAgaWYgKCFhZGp1c3RlcjEgJiYgYWRqdXN0ZXIyKQotICAgICAgICByZXR1
cm4geyByZW1haW5pbmdBZGp1c3RtZW50KCphZGp1c3RlcjIpLCAqYWRqdXN0ZXIyIH07Ci0gICAg
aWYgKGFkanVzdGVyMSAmJiAhYWRqdXN0ZXIyKQotICAgICAgICByZXR1cm4geyAqYWRqdXN0ZXIx
LCByZW1haW5pbmdBZGp1c3RtZW50KCphZGp1c3RlcjEpIH07Ci0gICAgLy8gV2hlbiBuZWlnaGVy
IG1peCBjb21wb25lbnQgcHJvdmlkZXMgYW4gYWRqdXN0ZXIsIHRoZSByZXN1bHQgaXMgdGhlIG5v
bi1tb2RpZmllZAotICAgIC8vIGNoYW5uZWwgZnJvbSBmcm9tIHRoZSBmaXJzdCBjb2xvci4KLSAg
ICBBU1NFUlQoIWFkanVzdGVyMSAmJiAhYWRqdXN0ZXIyKTsKLSAgICByZXR1cm4geyAxMDAuMCwg
MC4wIH07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGRvdWJsZSBtaXhDb21wb25l
bnQoZmxvYXQgY29tcG9uZW50MSwgSHVlQ29sb3JBZGp1c3RlciBhZGp1c3RtZW50MSwgZmxvYXQg
Y29tcG9uZW50MiwgSHVlQ29sb3JBZGp1c3RlciBhZGp1c3RtZW50MikKLXsKLSAgICAvLyBGSVhN
RTogVGhlIHNwZWMgZG9lcyBub3QgaW5kaWNhdGUgd2hhdCB0byBkbyBpZiB0d28gZGlmZmVyZW50
IGh1ZSB0eXBlcyBhcmUgc3BlY2lmaWVkLiBXZSBhbHdheXMgdXNlIHRoZSBmaXJzdCBvbmUgZm9y
IG5vdywKLSAgICAvLyB0aG91Z2ggd2UgcHJvYmFibHkgc2hvdWxkIHRha2UgaW50byBhY2NvdW50
IHdoZXRoZXIgaXQgd2FzIGFjdHVhbGx5IHNwZWNpZmllZCBvciBpcyB0aGUgZGVmYXVsdCB2YWx1
ZS4gVGhhdCBub3JtYWxpemF0aW9uCi0gICAgLy8gc2hvdWxkIGhhcHBlbiBpbiBub3JtYWxpemVB
ZGp1c3RlclZhbHVlcygpLgotCi0gICAgYXV0byBbZml4ZWRVcENvbXBvbmVudDEsIGZpeGVkVXBD
b21wb25lbnQyXSA9IEh1ZUNvbG9yQWRqdXN0ZXI6OmZpeHVwQW5nbGVzRm9ySW50ZXJwb2xhdGlv
bihjb21wb25lbnQxLCBjb21wb25lbnQyLCBhZGp1c3RtZW50MS50eXBlKTsKLSAgICBhdXRvIHJl
c3VsdCA9IChmaXhlZFVwQ29tcG9uZW50MSAqIChhZGp1c3RtZW50MS52YWx1ZSAvIDEwMC4wKSkg
KyAoZml4ZWRVcENvbXBvbmVudDIgKiAoYWRqdXN0bWVudDIudmFsdWUgLyAxMDAuMCkpOwotICAg
IC8vIEZJWE1FOiBDaGVjayBpZiB0aGlzIGZ1bGwgbm9ybWFsaXphdGlvbiBpcyBuZWVkZWQuCi0g
ICAgcmV0dXJuIG5vcm1hbGl6ZUh1ZShyZXN1bHQpOwotfQorLy8gTm9ybWFsaXphdGlvbiBpcyBz
cGVjaWFsIGNhc2VkIGZvciBIV0JBLCB3aGljaCBuZWVkcyB0byBub3JtYWxpemUgdGhlIHdoaXRl
bmVzcyBhbmQgYmxhY2tuZXNzIGNvbXBvbmVudHMgYW5kIGNvbnZlcnQgdG8gc1JHQgorLy8gYW5k
IEhTTEEsIHdoaWNoIGp1c3QgbmVlZHMgdG8gYmUgY29udmVydGVkIHRvIHNSR0IuIEFsbCBvdGhl
ciBjb2xvciB0eXBlcyBjYW4gZ28gdGhyb3VnaCB0aGlzIG5vbi1zcGVjaWFsaXplZCBjYXNlLgog
Ci1zdGF0aWMgZG91YmxlIG1peENvbXBvbmVudChmbG9hdCBjb21wb25lbnQxLCBkb3VibGUgYWRq
dXN0bWVudDEsIGZsb2F0IGNvbXBvbmVudDIsIGRvdWJsZSBhZGp1c3RtZW50MikKK3RlbXBsYXRl
PHR5cGVuYW1lIENvbG9yVHlwZT4gaW5saW5lIENvbG9yIG1ha2VDb2xvclR5cGVCeU5vcm1hbGl6
aW5nQ29tcG9uZW50c0FmdGVyTWl4KGNvbnN0IENvbG9yQ29tcG9uZW50czxmbG9hdD4mIGNvbG9y
Q29tcG9uZW50cykKIHsKLSAgICByZXR1cm4gKGNvbXBvbmVudDEgKiAoYWRqdXN0bWVudDEgLyAx
MDAuMCkpICsgKGNvbXBvbmVudDIgKiAoYWRqdXN0bWVudDIgLyAxMDAuMCkpOworICAgIHJldHVy
biBtYWtlRnJvbUNvbXBvbmVudHM8Q29sb3JUeXBlPihjb2xvckNvbXBvbmVudHMpOwogfQogCi10
ZW1wbGF0ZTxzdGQ6OnNpemVfdCBJLCB0eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGljIGRvdWJsZSBt
aXhDb21wb25lbnRBdEluZGV4KGNvbnN0IENvbG9yQ29tcG9uZW50czxmbG9hdD4mIGNvbG9yMSwg
Y29uc3QgQWRqdXN0ZXImIGFkanVzdGVyMSwgY29uc3QgQ29sb3JDb21wb25lbnRzPGZsb2F0PiYg
Y29sb3IyLCBjb25zdCBBZGp1c3RlciYgYWRqdXN0ZXIyKQordGVtcGxhdGU8PiBpbmxpbmUgQ29s
b3IgbWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0ZXJNaXg8SFdCQTxmbG9h
dD4+KGNvbnN0IENvbG9yQ29tcG9uZW50czxmbG9hdD4mIGNvbG9yQ29tcG9uZW50cykKIHsKLSAg
ICBhdXRvIFtub3JtYWxpemVkQWRqdXN0ZXIxVmFsdWUsIG5vcm1hbGl6ZWRBZGp1c3RlcjJWYWx1
ZV0gPSBub3JtYWxpemVBZGp1c3RlclZhbHVlcyhzdGQ6OmdldDxJPihhZGp1c3RlcjEuY2hhbm5l
bHMpLCBzdGQ6OmdldDxJPihhZGp1c3RlcjIuY2hhbm5lbHMpKTsKLSAgICByZXR1cm4gbWl4Q29t
cG9uZW50KGNvbG9yMVtJXSwgbm9ybWFsaXplZEFkanVzdGVyMVZhbHVlLCBjb2xvcjJbSV0sIG5v
cm1hbGl6ZWRBZGp1c3RlcjJWYWx1ZSk7Ci19CisgICAgYXV0byBbaHVlLCB3aGl0ZW5lc3MsIGJs
YWNrbmVzcywgYWxwaGFdID0gY29sb3JDb21wb25lbnRzOworICAgIGF1dG8gW25vcm1hbGl6ZWRX
aGl0bmVzcywgbm9ybWFsaXplZEJsYWNrbmVzc10gPSBub3JtYWxpemVXaGl0ZW5lc3NCbGFja25l
c3Mod2hpdGVuZXNzLCBibGFja25lc3MpOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+
IGlubGluZSBDb2xvclR5cGUgbWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0
ZXJNaXgoZG91YmxlIGNoYW5uZWwwLCBkb3VibGUgY2hhbm5lbDEsIGRvdWJsZSBjaGFubmVsMiwg
ZG91YmxlIGNoYW5uZWwzKQotewotICAgIHJldHVybiB7IHN0YXRpY19jYXN0PGZsb2F0PihjaGFu
bmVsMCksIHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsMSksIHN0YXRpY19jYXN0PGZsb2F0Pihj
aGFubmVsMiksIHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsMykgfTsKKyAgICByZXR1cm4gY29u
dmVydENvbG9yPFNSR0JBPHVpbnQ4X3Q+PihIV0JBPGZsb2F0PiB7IGh1ZSwgbm9ybWFsaXplZFdo
aXRuZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzLCBhbHBoYSB9KTsKIH0KIAotdGVtcGxhdGU8PiBp
bmxpbmUgSFdCQTxmbG9hdD4gbWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0
ZXJNaXg8SFdCQTxmbG9hdD4+KGRvdWJsZSBodWUsIGRvdWJsZSB3aGl0ZW5lc3MsIGRvdWJsZSBi
bGFja25lc3MsIGRvdWJsZSBhbHBoYSkKK3RlbXBsYXRlPD4gaW5saW5lIENvbG9yIG1ha2VDb2xv
clR5cGVCeU5vcm1hbGl6aW5nQ29tcG9uZW50c0FmdGVyTWl4PEhTTEE8ZmxvYXQ+Pihjb25zdCBD
b2xvckNvbXBvbmVudHM8ZmxvYXQ+JiBjb2xvckNvbXBvbmVudHMpCiB7Ci0gICAgYXV0byBbbm9y
bWFsaXplZFdoaXRuZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzXSA9IG5vcm1hbGl6ZVdoaXRlbmVz
c0JsYWNrbmVzcyh3aGl0ZW5lc3MsIGJsYWNrbmVzcyk7Ci0gICAgcmV0dXJuIHsgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KGh1ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBz
dGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0
PihhbHBoYSkgfTsKKyAgICByZXR1cm4gY29udmVydENvbG9yPFNSR0JBPHVpbnQ4X3Q+PihtYWtl
RnJvbUNvbXBvbmVudHM8SFNMQTxmbG9hdD4+KGNvbG9yQ29tcG9uZW50cykpOwogfQogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGljIHR5cGVuYW1lIEFkanVzdGVyOjpDb2xvclR5
cGUgbWl4KGNvbnN0IENvbG9yTWl4Q29tcG9uZW50PEFkanVzdGVyPiYgbWl4Q29tcG9uZW50czEs
IGNvbnN0IENvbG9yTWl4Q29tcG9uZW50PEFkanVzdGVyPiYgbWl4Q29tcG9uZW50czIpCit0ZW1w
bGF0ZTxzaXplX3QgSSwgdHlwZW5hbWUgQ29tcG9uZW50VHlwZT4gc3RhdGljIHZvaWQgZml4dXBI
dWVDb21wb25lbnRzUHJpb3JUb01peChDb2xvckNvbXBvbmVudHM8Q29tcG9uZW50VHlwZT4mIGNv
bG9yQ29tcG9uZW50czEsIENvbG9yQ29tcG9uZW50czxDb21wb25lbnRUeXBlPiYgY29sb3JDb21w
b25lbnRzMikKIHsKLSAgICB1c2luZyBDb2xvclR5cGUgPSB0eXBlbmFtZSBBZGp1c3Rlcjo6Q29s
b3JUeXBlOwotCi0gICAgYXV0byBjb2xvcjEgPSBhc0NvbG9yQ29tcG9uZW50cyhtaXhDb21wb25l
bnRzMS5jb2xvci50ZW1wbGF0ZSB0b0NvbG9yVHlwZUxvc3N5PENvbG9yVHlwZT4oKSk7Ci0gICAg
YXV0byBjb2xvcjIgPSBhc0NvbG9yQ29tcG9uZW50cyhtaXhDb21wb25lbnRzMi5jb2xvci50ZW1w
bGF0ZSB0b0NvbG9yVHlwZUxvc3N5PENvbG9yVHlwZT4oKSk7Ci0KLSAgICBhdXRvIGFkanVzdGVy
MSA9IG1peENvbXBvbmVudHMxLmFkanVzdGVyOwotICAgIGF1dG8gYWRqdXN0ZXIyID0gbWl4Q29t
cG9uZW50czIuYWRqdXN0ZXI7CisgICAgYXV0byBub3JtYWxpemVBbmdsZXNVc2luZ1Nob3J0ZXJB
bGdvcml0aG0gPSBbXSAoYXV0byB0aGV0YTEsIGF1dG8gdGhldGEyKSAtPiBzdGQ6OnBhaXI8Q29t
cG9uZW50VHlwZSwgQ29tcG9uZW50VHlwZT4geworICAgICAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWNvbG9yLTQvI2h1ZS1zaG9ydGVyCisgICAgICAgIGF1dG8gZGlmZmVyZW5j
ZSA9IHRoZXRhMiAtIHRoZXRhMTsKKyAgICAgICAgaWYgKGRpZmZlcmVuY2UgPiAxODAuMCkKKyAg
ICAgICAgICAgIHJldHVybiB7IHRoZXRhMSArIDM2MC4wLCB0aGV0YTIgfTsKKyAgICAgICAgaWYg
KGRpZmZlcmVuY2UgPCAtMTgwLjApCisgICAgICAgICAgICByZXR1cm4geyB0aGV0YTEsIHRoZXRh
MiArIDM2MC4wIH07CisgICAgICAgIHJldHVybiB7IHRoZXRhMSwgdGhldGEyIH07CisgICAgfTsK
IAotICAgIGlmICghc3RkOjpnZXQ8MD4oYWRqdXN0ZXIxLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8
MT4oYWRqdXN0ZXIxLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8Mj4oYWRqdXN0ZXIxLmNoYW5uZWxz
KSAmJiAhc3RkOjpnZXQ8Mz4oYWRqdXN0ZXIxLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8MD4oYWRq
dXN0ZXIyLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8MT4oYWRqdXN0ZXIyLmNoYW5uZWxzKSAmJiAh
c3RkOjpnZXQ8Mj4oYWRqdXN0ZXIyLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8Mz4oYWRqdXN0ZXIy
LmNoYW5uZWxzKSkgewotICAgICAgICAvLyBObyBhZGp1c3RlcnMgYmVpbmcgc3BlY2lmaWVkIGF0
IGFsbCBpcyBzcGVjaWFsIGNhc2VkIHRvIG1lYW4gbWl4IDUwLTUwLgotICAgICAgICBhZGp1c3Rl
cjEgPSBBZGp1c3RlciB7IDUwLjAgfTsKLSAgICAgICAgYWRqdXN0ZXIyID0gQWRqdXN0ZXIgeyA1
MC4wIH07CisgICAgLy8gQXMgbm8gb3RoZXIgaW50ZXJwb2xhdGlvbiB0eXBlIHdhcyBzcGVjaWZp
ZWQsIGFsbCBhbmdsZXMgc2hvdWxkIGJlIG5vcm1hbGl6ZWQgdG8gdXNlIHRoZSAic2hvcnRlciIg
YWxnb3JpdGhtLgorICAgIGF1dG8gW3RoZXRhMSwgdGhldGEyXSA9IG5vcm1hbGl6ZUFuZ2xlc1Vz
aW5nU2hvcnRlckFsZ29yaXRobShjb2xvckNvbXBvbmVudHMxW0ldLCBjb2xvckNvbXBvbmVudHMy
W0ldKTsKKyAgICBjb2xvckNvbXBvbmVudHMxW0ldID0gdGhldGExOworICAgIGNvbG9yQ29tcG9u
ZW50czJbSV0gPSB0aGV0YTI7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbG9yVHlwZT4gc3Rh
dGljIENvbG9yIG1peENvbG9yQ29tcG9uZW50c0luQ29sb3JTcGFjZShDb2xvck1peFBlcmNlbnRh
Z2VzIG1peFBlcmNlbnRhZ2VzLCBjb25zdCBDb2xvciYgY29sb3IxLCBjb25zdCBDb2xvciYgY29s
b3IyKQoreworICAgIGF1dG8gY29sb3JDb21wb25lbnRzMSA9IGFzQ29sb3JDb21wb25lbnRzKGNv
bG9yMS50ZW1wbGF0ZSB0b0NvbG9yVHlwZUxvc3N5PENvbG9yVHlwZT4oKSk7CisgICAgYXV0byBj
b2xvckNvbXBvbmVudHMyID0gYXNDb2xvckNvbXBvbmVudHMoY29sb3IyLnRlbXBsYXRlIHRvQ29s
b3JUeXBlTG9zc3k8Q29sb3JUeXBlPigpKTsKKworICAgIC8vIFBlcmZvcm0gZml4dXBzIG9uIGFu
eSBodWUvYW5nbGUgY29tcG9uZW50cy4KKyAgICBjb25zdGV4cHIgYXV0byBjb21wb25lbnRJbmZv
ID0gQ29sb3JUeXBlOjpNb2RlbDo6Y29tcG9uZW50SW5mbzsKKyAgICBpZiBjb25zdGV4cHIgKGNv
bXBvbmVudEluZm9bMF0udHlwZSA9PSBDb2xvckNvbXBvbmVudFR5cGU6OkFuZ2xlKQorICAgICAg
ICBmaXh1cEh1ZUNvbXBvbmVudHNQcmlvclRvTWl4PDA+KGNvbG9yQ29tcG9uZW50czEsIGNvbG9y
Q29tcG9uZW50czIpOworICAgIGlmIGNvbnN0ZXhwciAoY29tcG9uZW50SW5mb1sxXS50eXBlID09
IENvbG9yQ29tcG9uZW50VHlwZTo6QW5nbGUpCisgICAgICAgIGZpeHVwSHVlQ29tcG9uZW50c1By
aW9yVG9NaXg8MT4oY29sb3JDb21wb25lbnRzMSwgY29sb3JDb21wb25lbnRzMik7CisgICAgaWYg
Y29uc3RleHByIChjb21wb25lbnRJbmZvWzJdLnR5cGUgPT0gQ29sb3JDb21wb25lbnRUeXBlOjpB
bmdsZSkKKyAgICAgICAgZml4dXBIdWVDb21wb25lbnRzUHJpb3JUb01peDwyPihjb2xvckNvbXBv
bmVudHMxLCBjb2xvckNvbXBvbmVudHMyKTsKKworICAgIGF1dG8gY29sb3JDb21wb25lbnRzTWl4
ZWQgPSBtYXBDb2xvckNvbXBvbmVudHMoWyZdIChhdXRvIGNvbXBvbmVudEZyb21Db2xvcjEsIGF1
dG8gY29tcG9uZW50RnJvbUNvbG9yMikgLT4gZmxvYXQgeworICAgICAgICByZXR1cm4gKGNvbXBv
bmVudEZyb21Db2xvcjEgKiBtaXhQZXJjZW50YWdlcy5wMSAvIDEwMC4wKSArIChjb21wb25lbnRG
cm9tQ29sb3IyICogbWl4UGVyY2VudGFnZXMucDIgLyAxMDAuMCk7CisgICAgfSwgY29sb3JDb21w
b25lbnRzMSwgY29sb3JDb21wb25lbnRzMik7CisKKyAgICByZXR1cm4gbWFrZUNvbG9yVHlwZUJ5
Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0ZXJNaXg8Q29sb3JUeXBlPihjb2xvckNvbXBvbmVudHNN
aXhlZCk7Cit9CisKK3N0YXRpYyBDb2xvciBtaXhDb2xvckNvbXBvbmVudHMoQ29sb3JNaXhDb2xv
clNwYWNlIGNvbG9yU3BhY2UsIGNvbnN0IENvbG9yTWl4Q29tcG9uZW50JiBtaXhDb21wb25lbnRz
MSwgY29uc3QgQ29sb3JNaXhDb21wb25lbnQmIG1peENvbXBvbmVudHMyKQoreworICAgIGF1dG8g
bWl4UGVyY2VudGFnZXMgPSBub3JtYWxpemVkTWl4UGVyY2VudGFnZXMobWl4Q29tcG9uZW50czEs
IG1peENvbXBvbmVudHMyKTsKKworICAgIHN3aXRjaCAoY29sb3JTcGFjZSkgeworICAgIGNhc2Ug
Q29sb3JNaXhDb2xvclNwYWNlOjpIc2w6CisgICAgICAgIHJldHVybiBtaXhDb2xvckNvbXBvbmVu
dHNJbkNvbG9yU3BhY2U8SFNMQTxmbG9hdD4+KG1peFBlcmNlbnRhZ2VzLCBtaXhDb21wb25lbnRz
MS5jb2xvciwgbWl4Q29tcG9uZW50czIuY29sb3IpOworICAgIGNhc2UgQ29sb3JNaXhDb2xvclNw
YWNlOjpId2I6CisgICAgICAgIHJldHVybiBtaXhDb2xvckNvbXBvbmVudHNJbkNvbG9yU3BhY2U8
SFdCQTxmbG9hdD4+KG1peFBlcmNlbnRhZ2VzLCBtaXhDb21wb25lbnRzMS5jb2xvciwgbWl4Q29t
cG9uZW50czIuY29sb3IpOworICAgIGNhc2UgQ29sb3JNaXhDb2xvclNwYWNlOjpMY2g6CisgICAg
ICAgIHJldHVybiBtaXhDb2xvckNvbXBvbmVudHNJbkNvbG9yU3BhY2U8TENIQTxmbG9hdD4+KG1p
eFBlcmNlbnRhZ2VzLCBtaXhDb21wb25lbnRzMS5jb2xvciwgbWl4Q29tcG9uZW50czIuY29sb3Ip
OworICAgIGNhc2UgQ29sb3JNaXhDb2xvclNwYWNlOjpMYWI6CisgICAgICAgIHJldHVybiBtaXhD
b2xvckNvbXBvbmVudHNJbkNvbG9yU3BhY2U8TGFiPGZsb2F0Pj4obWl4UGVyY2VudGFnZXMsIG1p
eENvbXBvbmVudHMxLmNvbG9yLCBtaXhDb21wb25lbnRzMi5jb2xvcik7CisgICAgY2FzZSBDb2xv
ck1peENvbG9yU3BhY2U6Olh5ejoKKyAgICAgICAgcmV0dXJuIG1peENvbG9yQ29tcG9uZW50c0lu
Q29sb3JTcGFjZTxYWVpBPGZsb2F0LCBXaGl0ZVBvaW50OjpENTA+PihtaXhQZXJjZW50YWdlcywg
bWl4Q29tcG9uZW50czEuY29sb3IsIG1peENvbXBvbmVudHMyLmNvbG9yKTsKKyAgICBjYXNlIENv
bG9yTWl4Q29sb3JTcGFjZTo6U3JnYjoKKyAgICAgICAgcmV0dXJuIG1peENvbG9yQ29tcG9uZW50
c0luQ29sb3JTcGFjZTxTUkdCQTxmbG9hdD4+KG1peFBlcmNlbnRhZ2VzLCBtaXhDb21wb25lbnRz
MS5jb2xvciwgbWl4Q29tcG9uZW50czIuY29sb3IpOwogICAgIH0KLQotICAgIGF1dG8gY2hhbm5l
bDAgPSBtaXhDb21wb25lbnRBdEluZGV4PDA+KGNvbG9yMSwgYWRqdXN0ZXIxLCBjb2xvcjIsIGFk
anVzdGVyMik7Ci0gICAgYXV0byBjaGFubmVsMSA9IG1peENvbXBvbmVudEF0SW5kZXg8MT4oY29s
b3IxLCBhZGp1c3RlcjEsIGNvbG9yMiwgYWRqdXN0ZXIyKTsKLSAgICBhdXRvIGNoYW5uZWwyID0g
bWl4Q29tcG9uZW50QXRJbmRleDwyPihjb2xvcjEsIGFkanVzdGVyMSwgY29sb3IyLCBhZGp1c3Rl
cjIpOwotICAgIGF1dG8gY2hhbm5lbDMgPSBtaXhDb21wb25lbnRBdEluZGV4PDM+KGNvbG9yMSwg
YWRqdXN0ZXIxLCBjb2xvcjIsIGFkanVzdGVyMik7Ci0KLSAgICByZXR1cm4gbWFrZUNvbG9yVHlw
ZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0ZXJNaXg8Q29sb3JUeXBlPihjaGFubmVsMCwgY2hh
bm5lbDEsIGNoYW5uZWwyLCBjaGFubmVsMyk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEFkanVz
dGVyPiBzdGF0aWMgT3B0aW9uYWw8dHlwZW5hbWUgQWRqdXN0ZXI6OkNvbG9yVHlwZT4gcGFyc2VD
b2xvck1peEZ1bmN0aW9uUGFyYW1ldGVyc1VzaW5nQWRqdXN0ZXJzKENTU1BhcnNlclRva2VuUmFu
Z2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCi17Ci0gICAgYXV0byBt
aXhDb21wb25lbnRzMSA9IGNvbnN1bWVNaXhDb21wb25lbnRzPEFkanVzdGVyPihhcmdzLCBjb250
ZXh0KTsKLSAgICBpZiAoIW1peENvbXBvbmVudHMxKQotICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwotCi0gICAgLy8gRklYTUU6IFRoaXMgY29tbWEgaXMgbm90IGluIHRoZSBncmFtbWFyLCBi
dXQgaXMgaW4gYWxsIHRoZSBleGFtcGxlcy4KLSAgICBpZiAoIWNvbnN1bWVDb21tYUluY2x1ZGlu
Z1doaXRlc3BhY2UoYXJncykpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBh
dXRvIG1peENvbXBvbmVudHMyID0gY29uc3VtZU1peENvbXBvbmVudHM8QWRqdXN0ZXI+KGFyZ3Ms
IGNvbnRleHQpOwotICAgIGlmICghbWl4Q29tcG9uZW50czIpCi0gICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7Ci0KLSAgICByZXR1cm4gbWl4KCptaXhDb21wb25lbnRzMSwgKm1peENvbXBvbmVu
dHMyKTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlQ29sb3JNaXhGdW5jdGlvblBhcmFtZXRlcnMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRl
eHQpCkBAIC0xODgxLDUwICsxNzQ4LDI4IEBAIHN0YXRpYyBDb2xvciBwYXJzZUNvbG9yTWl4RnVu
Y3Rpb25QYXJhbWUKIAogICAgIGF1dG8gYXJncyA9IGNvbnN1bWVGdW5jdGlvbihyYW5nZSk7CiAK
LSAgICBhdXRvIGNvbnN1bWVJZGVudEFuZENvbW1hID0gW10oQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
YXJncykgewotICAgICAgICBjb25zdW1lSWRlbnRSYXcoYXJncyk7Ci0gICAgICAgIC8vIEZJWE1F
OiBUaGlzIGNvbW1hIGlzIG5vdCBpbiB0aGUgZ3JhbW1hciwgYnV0IGlzIGluIGFsbCB0aGUgZXhh
bXBsZXMuCi0gICAgICAgIHJldHVybiBjb25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKGFy
Z3MpOwotICAgIH07CisgICAgaWYgKCFjb25zdW1lSWRlbnRSYXc8Q1NTVmFsdWVJbj4oYXJncykp
CisgICAgICAgIHJldHVybiB7IH07CisgICAgCisgICAgYXV0byBjb2xvclNwYWNlID0gY29uc3Vt
ZUNvbG9yTWl4Q29sb3JTcGFjZUFuZENvbW1hKGFyZ3MpOworICAgIGlmICghY29sb3JTcGFjZSkK
KyAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHN3aXRjaCAoYXJncy5wZWVrKCkuaWQoKSkgewot
ICAgIGNhc2UgQ1NTVmFsdWVIc2w6IHsKLSAgICAgICAgaWYgKCFjb25zdW1lSWRlbnRBbmRDb21t
YShhcmdzKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIGF1dG8gaHNsID0gcGFy
c2VDb2xvck1peEZ1bmN0aW9uUGFyYW1ldGVyc1VzaW5nQWRqdXN0ZXJzPEhTTENvbG9yQWRqdXN0
ZXI+KGFyZ3MsIGNvbnRleHQpOwotICAgICAgICBpZiAoIWhzbCkKLSAgICAgICAgICAgIHJldHVy
biB7IH07Ci0gICAgICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KCpoc2wp
OwotICAgIH0KLSAgICBjYXNlIENTU1ZhbHVlSHdiOiB7Ci0gICAgICAgIGlmICghY29uc3VtZUlk
ZW50QW5kQ29tbWEoYXJncykpCi0gICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAgICBhdXRv
IGh3YiA9IHBhcnNlQ29sb3JNaXhGdW5jdGlvblBhcmFtZXRlcnNVc2luZ0FkanVzdGVyczxIV0JD
b2xvckFkanVzdGVyPihhcmdzLCBjb250ZXh0KTsKLSAgICAgICAgaWYgKCFod2IpCi0gICAgICAg
ICAgICByZXR1cm4geyB9OwotICAgICAgICByZXR1cm4gY29udmVydENvbG9yPFNSR0JBPHVpbnQ4
X3Q+PigqaHdiKTsKLSAgICB9Ci0gICAgY2FzZSBDU1NWYWx1ZUxjaDoKLSAgICAgICAgaWYgKCFj
b25zdW1lSWRlbnRBbmRDb21tYShhcmdzKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAg
ICAgIHJldHVybiBwYXJzZUNvbG9yTWl4RnVuY3Rpb25QYXJhbWV0ZXJzVXNpbmdBZGp1c3RlcnM8
TENIQ29sb3JBZGp1c3Rlcj4oYXJncywgY29udGV4dCk7Ci0gICAgY2FzZSBDU1NWYWx1ZUxhYjoK
LSAgICAgICAgaWYgKCFjb25zdW1lSWRlbnRBbmRDb21tYShhcmdzKSkKLSAgICAgICAgICAgIHJl
dHVybiB7IH07Ci0gICAgICAgIHJldHVybiBwYXJzZUNvbG9yTWl4RnVuY3Rpb25QYXJhbWV0ZXJz
VXNpbmdBZGp1c3RlcnM8TGFiQ29sb3JBZGp1c3Rlcj4oYXJncywgY29udGV4dCk7Ci0gICAgY2Fz
ZSBDU1NWYWx1ZVh5ejoKLSAgICAgICAgaWYgKCFjb25zdW1lSWRlbnRBbmRDb21tYShhcmdzKSkK
LSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIHJldHVybiBwYXJzZUNvbG9yTWl4RnVu
Y3Rpb25QYXJhbWV0ZXJzVXNpbmdBZGp1c3RlcnM8WFlaQ29sb3JBZGp1c3Rlcj4oYXJncywgY29u
dGV4dCk7Ci0gICAgY2FzZSBDU1NWYWx1ZVNSR0I6Ci0gICAgICAgIGlmICghY29uc3VtZUlkZW50
QW5kQ29tbWEoYXJncykpCi0gICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAgICByZXR1cm4g
cGFyc2VDb2xvck1peEZ1bmN0aW9uUGFyYW1ldGVyc1VzaW5nQWRqdXN0ZXJzPFNSR0JDb2xvckFk
anVzdGVyPihhcmdzLCBjb250ZXh0KTsKLSAgICBkZWZhdWx0OgotICAgICAgICAvLyBEZWZhdWx0
IHRvIHVzaW5nIExDSCBpZiBubyBjb2xvciBzcGFjZSBpcyBwcm92aWRlZCBhcyBwZXIgdGhlIHNw
ZWMuCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGJlaGF2aW9yIGlzIHVubmVjZXNzYXJpbHkgY29u
ZnVzaW5nLCB3ZSBzaG91bGQgcmVtb3ZlIHRoZSBkZWZhdWx0IGZyb20gdGhlIHNwZWMuCi0gICAg
ICAgIHJldHVybiBwYXJzZUNvbG9yTWl4RnVuY3Rpb25QYXJhbWV0ZXJzVXNpbmdBZGp1c3RlcnM8
TENIQ29sb3JBZGp1c3Rlcj4oYXJncywgY29udGV4dCk7Ci0gICAgfQorICAgIGF1dG8gbWl4Q29t
cG9uZW50MSA9IGNvbnN1bWVDb2xvck1peENvbXBvbmVudChhcmdzLCBjb250ZXh0KTsKKyAgICBp
ZiAoIW1peENvbXBvbmVudDEpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBpZiAoIWNvbnN1
bWVDb21tYUluY2x1ZGluZ1doaXRlc3BhY2UoYXJncykpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBhdXRvIG1peENvbXBvbmVudDIgPSBjb25zdW1lQ29sb3JNaXhDb21wb25lbnQoYXJncywg
Y29udGV4dCk7CisgICAgaWYgKCFtaXhDb21wb25lbnQyKQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgaWYgKCFhcmdzLmF0RW5kKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1
cm4gbWl4Q29sb3JDb21wb25lbnRzKCpjb2xvclNwYWNlLCAqbWl4Q29tcG9uZW50MSwgKm1peENv
bXBvbmVudDIpOwogfQogCiBzdGF0aWMgT3B0aW9uYWw8U1JHQkE8dWludDhfdD4+IHBhcnNlSGV4
Q29sb3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGJvb2wgYWNjZXB0UXVpcmt5Q29sb3Jz
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JNb2RlbHMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvck1vZGVs
cy5oCShyZXZpc2lvbiAyNzQ5MDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Db2xvck1vZGVscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgQWxwaGFUcmFpdHM7Ci10
ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IENvbG9yQ29tcG9uZW50UmFuZ2U7Cit0ZW1wbGF0ZTx0
eXBlbmFtZT4gc3RydWN0IENvbG9yQ29tcG9uZW50SW5mbzsKIHRlbXBsYXRlPHR5cGVuYW1lPiBz
dHJ1Y3QgRXh0ZW5kZWRSR0JNb2RlbDsKIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgSFNMTW9k
ZWw7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IEhXQk1vZGVsOwpAQCAtNTEsNzkgKzUxLDg2
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFscGhhVHJhaXRzPHVpbnQ4X3Q+IHsKICAgICBzdGF0aWMg
Y29uc3RleHByIHVpbnQ4X3Qgb3BhcXVlID0gMjU1OwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IENvbG9yQ29tcG9uZW50UmFuZ2UgeworZW51bSBjbGFzcyBDb2xvckNvbXBvbmVu
dFR5cGUgeworICAgIEFuZ2xlLAorICAgIE51bWJlciwKKyAgICBQZXJjZW50YWdlCit9OworCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ29sb3JDb21wb25lbnRJbmZvIHsKICAgICBUIG1p
bjsKICAgICBUIG1heDsKKyAgICBDb2xvckNvbXBvbmVudFR5cGUgdHlwZTsKIH07CiAKIHRlbXBs
YXRlPD4gc3RydWN0IEV4dGVuZGVkUkdCTW9kZWw8ZmxvYXQ+IHsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIHN0ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRSYW5nZTxmbG9hdD4sIDM+IHJhbmdlcyB7IHsK
LSAgICAgICAgeyAtc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCksIHN0ZDo6
bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpIH0sCi0gICAgICAgIHsgLXN0ZDo6bnVt
ZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0
Pjo6aW5maW5pdHkoKSB9LAotICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6
aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkgfQorICAg
IHN0YXRpYyBjb25zdGV4cHIgc3RkOjphcnJheTxDb2xvckNvbXBvbmVudEluZm88ZmxvYXQ+LCAz
PiBjb21wb25lbnRJbmZvIHsgeworICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0
Pjo6aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCksIENv
bG9yQ29tcG9uZW50VHlwZTo6TnVtYmVyIH0sCisgICAgICAgIHsgLXN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5p
dHkoKSwgQ29sb3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfSwKKyAgICAgICAgeyAtc3RkOjpudW1l
cmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCksIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+
OjppbmZpbml0eSgpLCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9CiAgICAgfSB9OwogICAg
IHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0ludmVydGlibGUgPSBmYWxzZTsKIH07CiAKIHRlbXBs
YXRlPD4gc3RydWN0IEhTTE1vZGVsPGZsb2F0PiB7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBzdGQ6
OmFycmF5PENvbG9yQ29tcG9uZW50UmFuZ2U8ZmxvYXQ+LCAzPiByYW5nZXMgeyB7Ci0gICAgICAg
IHsgMCwgMzYwIH0sCi0gICAgICAgIHsgMCwgMTAwIH0sCi0gICAgICAgIHsgMCwgMTAwIH0KKyAg
ICBzdGF0aWMgY29uc3RleHByIHN0ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRJbmZvPGZsb2F0Piwg
Mz4gY29tcG9uZW50SW5mbyB7IHsKKyAgICAgICAgeyAwLCAzNjAsIENvbG9yQ29tcG9uZW50VHlw
ZTo6QW5nbGUgfSwKKyAgICAgICAgeyAwLCAxMDAsIENvbG9yQ29tcG9uZW50VHlwZTo6UGVyY2Vu
dGFnZSB9LAorICAgICAgICB7IDAsIDEwMCwgQ29sb3JDb21wb25lbnRUeXBlOjpQZXJjZW50YWdl
IH0KICAgICB9IH07CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzSW52ZXJ0aWJsZSA9IGZh
bHNlOwogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSFdCTW9kZWw8ZmxvYXQ+IHsKLSAgICBzdGF0
aWMgY29uc3RleHByIHN0ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRSYW5nZTxmbG9hdD4sIDM+IHJh
bmdlcyB7IHsKLSAgICAgICAgeyAwLCAzNjAgfSwKLSAgICAgICAgeyAwLCAxMDAgfSwKLSAgICAg
ICAgeyAwLCAxMDAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgc3RkOjphcnJheTxDb2xvckNvbXBv
bmVudEluZm88ZmxvYXQ+LCAzPiBjb21wb25lbnRJbmZvIHsgeworICAgICAgICB7IDAsIDM2MCwg
Q29sb3JDb21wb25lbnRUeXBlOjpBbmdsZSB9LAorICAgICAgICB7IDAsIDEwMCwgQ29sb3JDb21w
b25lbnRUeXBlOjpQZXJjZW50YWdlIH0sCisgICAgICAgIHsgMCwgMTAwLCBDb2xvckNvbXBvbmVu
dFR5cGU6OlBlcmNlbnRhZ2UgfQogICAgIH0gfTsKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wg
aXNJbnZlcnRpYmxlID0gZmFsc2U7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBMYWJNb2RlbDxm
bG9hdD4gewotICAgIHN0YXRpYyBjb25zdGV4cHIgc3RkOjphcnJheTxDb2xvckNvbXBvbmVudFJh
bmdlPGZsb2F0PiwgMz4gcmFuZ2VzIHsgewotICAgICAgICB7IDAsIHN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpIH0sCi0gICAgICAgIHsgLXN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHko
KSB9LAotICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSwg
c3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkgfQorICAgIHN0YXRpYyBjb25z
dGV4cHIgc3RkOjphcnJheTxDb2xvckNvbXBvbmVudEluZm88ZmxvYXQ+LCAzPiBjb21wb25lbnRJ
bmZvIHsgeworICAgICAgICB7IDAsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0
eSgpLCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9LAorICAgICAgICB7IC1zdGQ6Om51bWVy
aWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46
OmluZmluaXR5KCksIENvbG9yQ29tcG9uZW50VHlwZTo6TnVtYmVyIH0sCisgICAgICAgIHsgLXN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6aW5maW5pdHkoKSwgQ29sb3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfQogICAgIH0g
fTsKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNJbnZlcnRpYmxlID0gZmFsc2U7CiB9Owog
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBMQ0hNb2RlbDxmbG9hdD4gewotICAgIHN0YXRpYyBjb25zdGV4
cHIgc3RkOjphcnJheTxDb2xvckNvbXBvbmVudFJhbmdlPGZsb2F0PiwgMz4gcmFuZ2VzIHsgewot
ICAgICAgICB7IDAsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpIH0sCi0g
ICAgICAgIHsgMCwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkgfSwKLSAg
ICAgICAgeyAwLCAzNjAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgc3RkOjphcnJheTxDb2xvckNv
bXBvbmVudEluZm88ZmxvYXQ+LCAzPiBjb21wb25lbnRJbmZvIHsgeworICAgICAgICB7IDAsIHN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBDb2xvckNvbXBvbmVudFR5cGU6
Ok51bWJlciB9LAorICAgICAgICB7IDAsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZp
bml0eSgpLCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9LAorICAgICAgICB7IDAsIDM2MCwg
Q29sb3JDb21wb25lbnRUeXBlOjpBbmdsZSB9CiAgICAgfSB9OwogICAgIHN0YXRpYyBjb25zdGV4
cHIgYm9vbCBpc0ludmVydGlibGUgPSBmYWxzZTsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IFJH
Qk1vZGVsPGZsb2F0PiB7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBzdGQ6OmFycmF5PENvbG9yQ29t
cG9uZW50UmFuZ2U8ZmxvYXQ+LCAzPiByYW5nZXMgeyB7Ci0gICAgICAgIHsgMCwgMSB9LAotICAg
ICAgICB7IDAsIDEgfSwKLSAgICAgICAgeyAwLCAxIH0KKyAgICBzdGF0aWMgY29uc3RleHByIHN0
ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRJbmZvPGZsb2F0PiwgMz4gY29tcG9uZW50SW5mbyB7IHsK
KyAgICAgICAgeyAwLCAxLCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9LAorICAgICAgICB7
IDAsIDEsIENvbG9yQ29tcG9uZW50VHlwZTo6TnVtYmVyIH0sCisgICAgICAgIHsgMCwgMSwgQ29s
b3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfQogICAgIH0gfTsKICAgICBzdGF0aWMgY29uc3RleHBy
IGJvb2wgaXNJbnZlcnRpYmxlID0gdHJ1ZTsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IFJHQk1v
ZGVsPHVpbnQ4X3Q+IHsKLSAgICBzdGF0aWMgY29uc3RleHByIHN0ZDo6YXJyYXk8Q29sb3JDb21w
b25lbnRSYW5nZTx1aW50OF90PiwgMz4gcmFuZ2VzIHsgewotICAgICAgICB7IDAsIDI1NSB9LAot
ICAgICAgICB7IDAsIDI1NSB9LAotICAgICAgICB7IDAsIDI1NSB9CisgICAgc3RhdGljIGNvbnN0
ZXhwciBzdGQ6OmFycmF5PENvbG9yQ29tcG9uZW50SW5mbzx1aW50OF90PiwgMz4gY29tcG9uZW50
SW5mbyB7IHsKKyAgICAgICAgeyAwLCAyNTUsIENvbG9yQ29tcG9uZW50VHlwZTo6TnVtYmVyIH0s
CisgICAgICAgIHsgMCwgMjU1LCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9LAorICAgICAg
ICB7IDAsIDI1NSwgQ29sb3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfQogICAgIH0gfTsKICAgICBz
dGF0aWMgY29uc3RleHByIGJvb2wgaXNJbnZlcnRpYmxlID0gdHJ1ZTsKIH07CiAKIHRlbXBsYXRl
PD4gc3RydWN0IFhZWk1vZGVsPGZsb2F0PiB7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBzdGQ6OmFy
cmF5PENvbG9yQ29tcG9uZW50UmFuZ2U8ZmxvYXQ+LCAzPiByYW5nZXMgeyB7Ci0gICAgICAgIHsg
LXN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGlt
aXRzPGZsb2F0Pjo6aW5maW5pdHkoKSB9LAotICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5
KCkgfSwKLSAgICAgICAgeyAtc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCks
IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpIH0KKyAgICBzdGF0aWMgY29u
c3RleHByIHN0ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRJbmZvPGZsb2F0PiwgMz4gY29tcG9uZW50
SW5mbyB7IHsKKyAgICAgICAgeyAtc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5
KCksIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBDb2xvckNvbXBvbmVu
dFR5cGU6Ok51bWJlciB9LAorICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6
aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCksIENvbG9y
Q29tcG9uZW50VHlwZTo6TnVtYmVyIH0sCisgICAgICAgIHsgLXN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHko
KSwgQ29sb3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfQogICAgIH0gfTsKICAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgaXNJbnZlcnRpYmxlID0gZmFsc2U7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JUeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVHlwZXMuaAkocmV2aXNpb24gMjc0OTA1KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JUeXBlcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC01NSwyNCArNTUsMjQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ29sb3JUeXBlLCB1
bnNpZ25lZCBJbgogewogICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19pbnRlZ3JhbF92PFQ+KTsK
IAotICAgIGNvbnN0ZXhwciBhdXRvIHJhbmdlID0gQ29sb3JUeXBlOjpNb2RlbDo6cmFuZ2VzW0lu
ZGV4XTsKLSAgICByZXR1cm4gc3RkOjpjbGFtcDxUPihjLCByYW5nZS5taW4sIHJhbmdlLm1heCk7
CisgICAgY29uc3RleHByIGF1dG8gY29tcG9uZW50SW5mbyA9IENvbG9yVHlwZTo6TW9kZWw6OmNv
bXBvbmVudEluZm9bSW5kZXhdOworICAgIHJldHVybiBzdGQ6OmNsYW1wPFQ+KGMsIGNvbXBvbmVu
dEluZm8ubWluLCBjb21wb25lbnRJbmZvLm1heCk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENv
bG9yVHlwZSwgdW5zaWduZWQgSW5kZXg+IGNvbnN0ZXhwciBmbG9hdCBjbGFtcGVkQ29tcG9uZW50
KGZsb2F0IGMpCiB7Ci0gICAgY29uc3RleHByIGF1dG8gcmFuZ2UgPSBDb2xvclR5cGU6Ok1vZGVs
OjpyYW5nZXNbSW5kZXhdOworICAgIGNvbnN0ZXhwciBhdXRvIGNvbXBvbmVudEluZm8gPSBDb2xv
clR5cGU6Ok1vZGVsOjpjb21wb25lbnRJbmZvW0luZGV4XTsKIAotICAgIGlmIGNvbnN0ZXhwciAo
cmFuZ2UubWluID09IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSAmJiBy
YW5nZS5tYXggPT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpCisgICAg
aWYgY29uc3RleHByIChjb21wb25lbnRJbmZvLm1pbiA9PSAtc3RkOjpudW1lcmljX2xpbWl0czxm
bG9hdD46OmluZmluaXR5KCkgJiYgY29tcG9uZW50SW5mby5tYXggPT0gc3RkOjpudW1lcmljX2xp
bWl0czxmbG9hdD46OmluZmluaXR5KCkpCiAgICAgICAgIHJldHVybiBjOwogCi0gICAgaWYgY29u
c3RleHByIChyYW5nZS5taW4gPT0gLXN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0
eSgpKQotICAgICAgICByZXR1cm4gc3RkOjptaW4oYywgcmFuZ2UubWF4KTsKKyAgICBpZiBjb25z
dGV4cHIgKGNvbXBvbmVudEluZm8ubWluID09IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6
aW5maW5pdHkoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWluKGMsIGNvbXBvbmVudEluZm8ubWF4
KTsKIAotICAgIGlmIGNvbnN0ZXhwciAocmFuZ2UubWF4ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpKQotICAgICAgICByZXR1cm4gc3RkOjptYXgoYywgcmFuZ2UubWlu
KTsKKyAgICBpZiBjb25zdGV4cHIgKGNvbXBvbmVudEluZm8ubWF4ID09IHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKQorICAgICAgICByZXR1cm4gc3RkOjptYXgoYywgY29t
cG9uZW50SW5mby5taW4pOwogCi0gICAgcmV0dXJuIHN0ZDo6Y2xhbXAoYywgcmFuZ2UubWluLCBy
YW5nZS5tYXgpOworICAgIHJldHVybiBzdGQ6OmNsYW1wKGMsIGNvbXBvbmVudEluZm8ubWluLCBj
b21wb25lbnRJbmZvLm1heCk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENvbG9yVHlwZSwgdW5z
aWduZWQgSW5kZXgsIHR5cGVuYW1lIFQ+IGNvbnN0ZXhwciBUIGNsYW1wZWRDb21wb25lbnQoY29u
c3QgQ29sb3JDb21wb25lbnRzPFQ+JiBjKQpAQCAtMTI3LDggKzEyNyw4IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNvbnN0ZXhwciB2b2lkIGFzc2UKICAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNf
c2FtZV92PHR5cGVuYW1lIFQ6OkNvbXBvbmVudFR5cGUsIGZsb2F0PikgewogICAgICAgICBhdXRv
IGNvbXBvbmVudHMgPSBhc0NvbG9yQ29tcG9uZW50cyhjb2xvcik7CiAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCAzOyArK2kpIHsKLSAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NB
R0UoY29tcG9uZW50c1tpXSA+PSBUOjpNb2RlbDo6cmFuZ2VzW2ldLm1pbiwgIkNvbXBvbmVudCBh
dCBpbmRleCAlZCBpcyAlZiBhbmQgaXMgbGVzcyB0aGFuIHRoZSBhbGxvd2VkIG1pbmltdW0gJWYi
LCBpLCAgY29tcG9uZW50c1tpXSwgVDo6TW9kZWw6OnJhbmdlc1tpXS5taW4pOwotICAgICAgICAg
ICAgQVNTRVJUX1dJVEhfTUVTU0FHRShjb21wb25lbnRzW2ldIDw9IFQ6Ok1vZGVsOjpyYW5nZXNb
aV0ubWF4LCAiQ29tcG9uZW50IGF0IGluZGV4ICVkIGlzICVmIGFuZCBpcyBncmVhdGVyIHRoYW4g
dGhlIGFsbG93ZWQgbWF4aW11bSAlZiIsIGksICBjb21wb25lbnRzW2ldLCBUOjpNb2RlbDo6cmFu
Z2VzW2ldLm1heCk7CisgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGNvbXBvbmVudHNb
aV0gPj0gVDo6TW9kZWw6OmNvbXBvbmVudEluZm9baV0ubWluLCAiQ29tcG9uZW50IGF0IGluZGV4
ICVkIGlzICVmIGFuZCBpcyBsZXNzIHRoYW4gdGhlIGFsbG93ZWQgbWluaW11bSAlZiIsIGksICBj
b21wb25lbnRzW2ldLCBUOjpNb2RlbDo6Y29tcG9uZW50SW5mb1tpXS5taW4pOworICAgICAgICAg
ICAgQVNTRVJUX1dJVEhfTUVTU0FHRShjb21wb25lbnRzW2ldIDw9IFQ6Ok1vZGVsOjpjb21wb25l
bnRJbmZvW2ldLm1heCwgIkNvbXBvbmVudCBhdCBpbmRleCAlZCBpcyAlZiBhbmQgaXMgZ3JlYXRl
ciB0aGFuIHRoZSBhbGxvd2VkIG1heGltdW0gJWYiLCBpLCAgY29tcG9uZW50c1tpXSwgVDo6TW9k
ZWw6OmNvbXBvbmVudEluZm9baV0ubWF4KTsKICAgICAgICAgfQogICAgICAgICBBU1NFUlRfV0lU
SF9NRVNTQUdFKGNvbG9yLmFscGhhID49IEFscGhhVHJhaXRzPHR5cGVuYW1lIFQ6OkNvbXBvbmVu
dFR5cGU+Ojp0cmFuc3BhcmVudCwgIkFscGhhIGlzICVmIGFuZCBpcyBsZXNzIHRoYW4gdGhlIGFs
bG93ZWQgbWluaW11bSAodHJhbnNwYXJlbnQpICVmIiwgY29sb3IuYWxwaGEsIEFscGhhVHJhaXRz
PHR5cGVuYW1lIFQ6OkNvbXBvbmVudFR5cGU+Ojp0cmFuc3BhcmVudCk7CiAgICAgICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoY29sb3IuYWxwaGEgPD0gQWxwaGFUcmFpdHM8dHlwZW5hbWUgVDo6Q29t
cG9uZW50VHlwZT46Om9wYXF1ZSwgIkFscGhhIGlzICVmIGFuZCBpcyBncmVhdGVyIHRoYW4gdGhl
IGFsbG93ZWQgbWF4aW11bSAob3BhcXVlKSAlZiIsIGNvbG9yLmFscGhhLCBBbHBoYVRyYWl0czx0
eXBlbmFtZSBUOjpDb21wb25lbnRUeXBlPjo6b3BhcXVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JVdGlsaXRpZXMuaAkocmV2aXNpb24gMjc0
OTA1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JVdGlsaXRpZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIENv
bG9yVHlwZT4gY29uc3RleHByIEMKICAgICBhdXRvIGNvcHkgPSBjb21wb25lbnRzOwogCiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IDM7ICsraSkKLSAgICAgICAgY29weVtpXSA9IENvbG9y
VHlwZTo6TW9kZWw6OnJhbmdlc1tpXS5tYXggLSBjb21wb25lbnRzW2ldOworICAgICAgICBjb3B5
W2ldID0gQ29sb3JUeXBlOjpNb2RlbDo6Y29tcG9uZW50SW5mb1tpXS5tYXggLSBjb21wb25lbnRz
W2ldOwogICAgIGNvcHlbM10gPSBjb252ZXJ0Qnl0ZUFscGhhVG88dHlwZW5hbWUgQ29sb3JUeXBl
OjpDb21wb25lbnRUeXBlPihvdmVycmlkZUFscGhhKTsKIAogICAgIHJldHVybiBtYWtlRnJvbUNv
bXBvbmVudHM8Q29sb3JUeXBlPihjb3B5KTsKQEAgLTEzOSw3ICsxMzksNyBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBDb2xvclR5cGU+IENvbG9yVHlwZSBpCiAgICAgYXV0byBjb3B5ID0gY29tcG9uZW50
czsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAzOyArK2kpCi0gICAgICAgIGNvcHlb
aV0gPSBDb2xvclR5cGU6Ok1vZGVsOjpyYW5nZXNbaV0ubWF4IC0gY29tcG9uZW50c1tpXTsKKyAg
ICAgICAgY29weVtpXSA9IENvbG9yVHlwZTo6TW9kZWw6OmNvbXBvbmVudEluZm9baV0ubWF4IC0g
Y29tcG9uZW50c1tpXTsKICAgICBjb3B5WzNdID0gY29udmVydEZsb2F0QWxwaGFUbzx0eXBlbmFt
ZSBDb2xvclR5cGU6OkNvbXBvbmVudFR5cGU+KG92ZXJyaWRlQWxwaGEpOwogCiAgICAgcmV0dXJu
IG1ha2VGcm9tQ29tcG9uZW50czxDb2xvclR5cGU+KGNvcHkpOwpAQCAtMTY0LDggKzE2NCw4IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIENvbG9yVHlwZSwgdHlwZW5hbWUgc3QKIGNvbnN0ZXhwciBib29s
IGlzQmxhY2soY29uc3QgQ29sb3JUeXBlJiBjb2xvcikKIHsKICAgICBhdXRvIFtjMSwgYzIsIGMz
LCBhbHBoYV0gPSBjb2xvcjsKLSAgICBjb25zdGV4cHIgYXV0byByYW5nZXMgPSBDb2xvclR5cGU6
Ok1vZGVsOjpyYW5nZXM7Ci0gICAgcmV0dXJuIGMxID09IHJhbmdlc1swXS5taW4gJiYgYzIgPT0g
cmFuZ2VzWzFdLm1pbiAmJiBjMyA9PSByYW5nZXNbMl0ubWluICYmIGFscGhhID09IEFscGhhVHJh
aXRzPHR5cGVuYW1lIENvbG9yVHlwZTo6Q29tcG9uZW50VHlwZT46Om9wYXF1ZTsKKyAgICBjb25z
dGV4cHIgYXV0byBjb21wb25lbnRJbmZvID0gQ29sb3JUeXBlOjpNb2RlbDo6Y29tcG9uZW50SW5m
bzsKKyAgICByZXR1cm4gYzEgPT0gY29tcG9uZW50SW5mb1swXS5taW4gJiYgYzIgPT0gY29tcG9u
ZW50SW5mb1sxXS5taW4gJiYgYzMgPT0gY29tcG9uZW50SW5mb1syXS5taW4gJiYgYWxwaGEgPT0g
QWxwaGFUcmFpdHM8dHlwZW5hbWUgQ29sb3JUeXBlOjpDb21wb25lbnRUeXBlPjo6b3BhcXVlOwog
fQogCiB0ZW1wbGF0ZTxXaGl0ZVBvaW50IFc+IGNvbnN0ZXhwciBib29sIGlzV2hpdGUoY29uc3Qg
WFlaQTxmbG9hdCwgVz4mIGNvbG9yKQpAQCAtMTg3LDggKzE4Nyw4IEBAIHRlbXBsYXRlPHR5cGVu
YW1lIENvbG9yVHlwZSwgdHlwZW5hbWUgc3QKIGNvbnN0ZXhwciBib29sIGlzV2hpdGUoY29uc3Qg
Q29sb3JUeXBlJiBjb2xvcikKIHsKICAgICBhdXRvIFtjMSwgYzIsIGMzLCBhbHBoYV0gPSBjb2xv
cjsKLSAgICBjb25zdGV4cHIgYXV0byByYW5nZXMgPSBDb2xvclR5cGU6Ok1vZGVsOjpyYW5nZXM7
Ci0gICAgcmV0dXJuIGMxID09IHJhbmdlc1swXS5tYXggJiYgYzIgPT0gcmFuZ2VzWzFdLm1heCAm
JiBjMyA9PSByYW5nZXNbMl0ubWF4ICYmIGFscGhhID09IEFscGhhVHJhaXRzPHR5cGVuYW1lIENv
bG9yVHlwZTo6Q29tcG9uZW50VHlwZT46Om9wYXF1ZTsKKyAgICBjb25zdGV4cHIgYXV0byBjb21w
b25lbnRJbmZvID0gQ29sb3JUeXBlOjpNb2RlbDo6Y29tcG9uZW50SW5mbzsKKyAgICByZXR1cm4g
YzEgPT0gY29tcG9uZW50SW5mb1swXS5tYXggJiYgYzIgPT0gY29tcG9uZW50SW5mb1sxXS5tYXgg
JiYgYzMgPT0gY29tcG9uZW50SW5mb1syXS5tYXggJiYgYWxwaGEgPT0gQWxwaGFUcmFpdHM8dHlw
ZW5hbWUgQ29sb3JUeXBlOjpDb21wb25lbnRUeXBlPjo6b3BhcXVlOwogfQogCiBjb25zdGV4cHIg
dWludDE2X3QgZmFzdE11bHRpcGx5QnkyNTUodWludDE2X3QgdmFsdWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424093</attachid>
            <date>2021-03-23 19:38:10 -0700</date>
            <delta_ts>2021-03-24 10:34:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223665-20210323193809.patch</filename>
            <type>text/plain</type>
            <size>113666</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NDkyNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDIxLTAzLTIzICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgQ1NTIENvbG9yIDUgY29s
b3ItbWl4KCkgaW1wbGVtZW50YXRpb24gdG8gbWF0Y2ggdGhlIGxhdGVzdCBkcmFmdCBzcGVjCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM2NjUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdG8g
dGhlIGxhdGVzdCBkcmFmdCBzcGVjLCB3aGljaCBkcmFtYXRpY2FsbHkgcmVkdWNlcyB0aGUgY29t
cGxleGl0eSBvZiBjb2xvci1taXgoKQorICAgICAgICBieSByZW1vdmUgcGVyLWNvbXBvbmVudCBh
ZGp1c3RlcnMuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVz
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVD
b2xvck1peENvbG9yU3BhY2VBbmRDb21tYSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0
eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVDb2xvck1peENvbXBvbmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om5vcm1hbGl6ZWRNaXhQZXJjZW50YWdlcyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om1ha2VDb2xvclR5
cGVCeU5vcm1hbGl6aW5nQ29tcG9uZW50c0FmdGVyTWl4KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1Byb3BlcnR5UGFyc2VySGVscGVyczo6bWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25l
bnRzQWZ0ZXJNaXg8SFdCQTxmbG9hdD4+KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
UGFyc2VySGVscGVyczo6bWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0ZXJN
aXg8SFNMQTxmbG9hdD4+KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVs
cGVyczo6Zml4dXBIdWVDb21wb25lbnRzUHJpb3JUb01peCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om1peENvbG9yQ29tcG9uZW50c0luQ29sb3JTcGFjZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6Om1peENvbG9yQ29t
cG9uZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBh
cnNlQ29sb3JNaXhGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzOjpIdWVDb2xvckFkanVzdGVyOjpmaXh1cEFuZ2xlc0ZvckludGVy
cG9sYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJI
ZWxwZXJzOjpIdWVDb2xvckFkanVzdGVyOjpIdWVDb2xvckFkanVzdGVyKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Q29sb3JBZGp1c3Rlcjo6
Q29sb3JBZGp1c3Rlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBh
cnNlckhlbHBlcnM6OmNvbnN1bWVBZGp1c3Rlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVBbmRVcGRhdGVBZGp1c3RlckF0SW5k
ZXgpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
Ojpjb25zdW1lQW5kVXBkYXRlQWRqdXN0ZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lQWRqdXN0ZXJzKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZU1peENvbXBv
bmVudHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxw
ZXJzOjpub3JtYWxpemVBZGp1c3RlclZhbHVlcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnJlbWFpbmluZ0FkanVzdG1lbnQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjptaXhDb21wb25l
bnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
OjptaXhDb21wb25lbnRBdEluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5UGFyc2VySGVscGVyczo6bWl4KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNT
U1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvck1peEZ1bmN0aW9uUGFyYW1ldGVyc1Vz
aW5nQWRqdXN0ZXJzKTogRGVsZXRlZC4KKyAgICAgICAgVXBkYXRlIHRvIHRoZSBuZXcgc3ludGF4
IGFuZCByZW1vdmUgY29tcG9uZW50IGFkanVzdGVycy4gVGhleSBtYXkgY29tZSBiYWNrIGZvciBj
b2xvci1hZGp1c3QoKSAKKyAgICAgICAgaW4gdGhlIGZ1dHVyZS4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0NvbG9yTW9kZWxzLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29sb3JUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6Y2xhbXBlZENvbXBvbmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjphc3NlcnRJblJhbmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Db2xvclV0aWxpdGllcy5oOgorICAgICAgICAoV2ViQ29yZTo6aW52ZXJ0ZWRDb2xvcldpdGhP
dmVycmlkZGVuQWxwaGEpOgorICAgICAgICBBZGQgc3VwcG9ydCBpbiB0aGUgY29sb3IgbW9kZWxz
IGZvciBhbm5vdGF0aW5nIG1vcmUgYWJvdXQgZWFjaCBjb21wb25lbnQsIG5vdyBpbmNsdWRpbmcK
KyAgICAgICAgdGhlIHR5cGUgKGFuZ2xlLCBudW1iZXIgb3IgcGVyY2VudGFnZSkuIFRoaXMgYWxs
b3dzIGFsZ29yaXRobXMgZ2VuZXJpYyBhbGdvcml0aG1zIHRvCisgICAgICAgIG9wZXJhdGUgb24g
YWJzdHJhY3QgY29sb3IgdHlwZSBjb21wb25lbnRzIHdpdGhvdXQgc3BlY2lhbGl6aW5nIGZvciBl
YWNoIGNvbG9yIHR5cGUuCisKIDIwMjEtMDMtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIEZyYW1lc1BlclNlY29uZCBpbiBtb3JlIHBsYWNl
cyBpbiBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgko
cmV2aXNpb24gMjc0OTA1KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4JKHdvcmtpbmcgY29weSkKQEAgLTE0NDMsMTUgKzE0NDMsNyBAQCB2cwogCiAvLyBjb2xvci1t
aXgoKQogY29sb3ItbWl4Ci1zaG9ydGVyCi1sb25nZXIKLWluY3JlYXNpbmcKLWRlY3JlYXNpbmcK
LXNwZWNpZmllZAotbGlnaHRuZXNzCi1jaHJvbWEKLXdoaXRlbmVzcwotYmxhY2tuZXNzCitpbgog
CiAvLyBwcmVmZXJzLWRlZmF1bHQtYXBwZWFyYW5jZQogcHJlZmVycwpJbmRleDogU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNw
cAkocmV2aXNpb24gMjc0OTA1KQorKysgU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTA0LDE3ICsxMTA0LDE5
IEBAIHRlbXBsYXRlPEhTTEZ1bmN0aW9uTW9kZSBNb2RlPiBzdGF0aWMgQ28KICAgICByZXR1cm4g
Y29udmVydENvbG9yPFNSR0JBPHVpbnQ4X3Q+PihIU0xBPGZsb2F0PiB7IHN0YXRpY19jYXN0PGZs
b2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRTYXR1cmF0
aW9uKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2Fz
dDxmbG9hdD4obm9ybWFsaXplZEFscGhhKSB9KTsKIH0KIAordGVtcGxhdGU8dHlwZW5hbWUgQ29t
cG9uZW50VHlwZT4KIHN0cnVjdCBXaGl0ZW5lc3NCbGFja25lc3MgewotICAgIGRvdWJsZSB3aGl0
ZW5lc3M7Ci0gICAgZG91YmxlIGJsYWNrbmVzczsKKyAgICBDb21wb25lbnRUeXBlIHdoaXRlbmVz
czsKKyAgICBDb21wb25lbnRUeXBlIGJsYWNrbmVzczsKIH07Ci1zdGF0aWMgV2hpdGVuZXNzQmxh
Y2tuZXNzIG5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcyhkb3VibGUgd2hpdGVuZXNzLCBkb3Vi
bGUgYmxhY2tuZXNzKQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb21wb25lbnRUeXBlPiBzdGF0aWMg
YXV0byBub3JtYWxpemVXaGl0ZW5lc3NCbGFja25lc3MoQ29tcG9uZW50VHlwZSB3aGl0ZW5lc3Ms
IENvbXBvbmVudFR5cGUgYmxhY2tuZXNzKSAtPiBXaGl0ZW5lc3NCbGFja25lc3M8Q29tcG9uZW50
VHlwZT4KIHsKICAgICAvLyAgIFZhbHVlcyBvdXRzaWRlIG9mIHRoZXNlIHJhbmdlcyBhcmUgbm90
IGludmFsaWQsIGJ1dCBhcmUgY2xhbXBlZCB0byB0aGUKICAgICAvLyAgIHJhbmdlcyBkZWZpbmVk
IGhlcmUgYXQgY29tcHV0ZWQtdmFsdWUgdGltZS4KLSAgICBXaGl0ZW5lc3NCbGFja25lc3MgcmVz
dWx0IHsKLSAgICAgICAgY2xhbXBUbyh3aGl0ZW5lc3MsIDAuMCwgMTAwLjApLAotICAgICAgICBj
bGFtcFRvKGJsYWNrbmVzcywgMC4wLCAxMDAuMCkKKyAgICBXaGl0ZW5lc3NCbGFja25lc3M8Q29t
cG9uZW50VHlwZT4gcmVzdWx0IHsKKyAgICAgICAgY2xhbXBUbzxDb21wb25lbnRUeXBlPih3aGl0
ZW5lc3MsIDAuMCwgMTAwLjApLAorICAgICAgICBjbGFtcFRvPENvbXBvbmVudFR5cGU+KGJsYWNr
bmVzcywgMC4wLCAxMDAuMCkKICAgICB9OwogCiAgICAgLy8gICBJZiB0aGUgc3VtIG9mIHRoZXNl
IHR3byBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIDEwMCUsIHRoZW4gYXQKQEAgLTE1NTEsMzI1
ICsxNTUzLDE5MCBAQCBzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckNvbnRyYXN0RnVuY3Rpb25QCiAg
ICAgcmV0dXJuIGNvbG9yc1RvQ29tcGFyZUFnYWluc3RbaW5kZXhPZkNvbG9yV2l0aEhpZ2VzdENv
bnRyYXN0UmF0aW9dOwogfQogCi1zdHJ1Y3QgSHVlQ29sb3JBZGp1c3RlciB7Ci0gICAgZW51bSBj
bGFzcyBUeXBlIHsKLSAgICAgICAgU2hvcnRlciwKLSAgICAgICAgTG9uZ2VyLAotICAgICAgICBJ
bmNyZWFzaW5nLAotICAgICAgICBEZWNyZWFzaW5nLAotICAgICAgICBTcGVjaWZpZWQKLSAgICB9
OwotCi0gICAgc3RhdGljIHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4gZml4dXBBbmdsZXNGb3JJ
bnRlcnBvbGF0aW9uKGRvdWJsZSB0aGV0YTEsIGRvdWJsZSB0aGV0YTIsIFR5cGUgdHlwZSkKLSAg
ICB7Ci0gICAgICAgIEFTU0VSVCh0aGV0YTEgPj0gMC4wKTsKLSAgICAgICAgQVNTRVJUKHRoZXRh
MSA8PSAzNjAuMCk7Ci0gICAgICAgIEFTU0VSVCh0aGV0YTIgPj0gMC4wKTsKLSAgICAgICAgQVNT
RVJUKHRoZXRhMiA8PSAzNjAuMCk7Ci0KLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAg
IGNhc2UgVHlwZTo6U2hvcnRlcjogewotICAgICAgICAgICAgYXV0byBkaWZmZXJlbmNlID0gdGhl
dGEyIC0gdGhldGExOwotICAgICAgICAgICAgaWYgKGRpZmZlcmVuY2UgPiAxODAuMCkKLSAgICAg
ICAgICAgICAgICByZXR1cm4geyB0aGV0YTEgKyAzNjAuMCwgdGhldGEyIH07Ci0gICAgICAgICAg
ICBpZiAoZGlmZmVyZW5jZSA8IC0xODAuMCkKLSAgICAgICAgICAgICAgICByZXR1cm4geyB0aGV0
YTEsIHRoZXRhMiArIDM2MC4wIH07Ci0gICAgICAgICAgICByZXR1cm4geyB0aGV0YTEsIHRoZXRh
MiB9OwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgVHlwZTo6TG9uZ2VyOiB7Ci0gICAgICAgICAg
ICBhdXRvIGRpZmZlcmVuY2UgPSB0aGV0YTIgLSB0aGV0YTE7Ci0gICAgICAgICAgICBpZiAoZGlm
ZmVyZW5jZSA+PSAwLjAgJiYgZGlmZmVyZW5jZSA8IDE4MC4wKQotICAgICAgICAgICAgICAgIHJl
dHVybiB7IHRoZXRhMSArIDM2MC4wLCB0aGV0YTIgfTsKLSAgICAgICAgICAgIGlmIChkaWZmZXJl
bmNlID49IC0xODAuMCAgJiYgZGlmZmVyZW5jZSA8IDApCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHsgdGhldGExLCB0aGV0YTIgKyAzNjAuMCB9OwotICAgICAgICAgICAgcmV0dXJuIHsgdGhldGEx
LCB0aGV0YTIgfTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFR5cGU6OkluY3JlYXNpbmc6IHsK
LSAgICAgICAgICAgIGlmICh0aGV0YTIgPCB0aGV0YTEpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHsgdGhldGExLCB0aGV0YTIgKyAzNjAuMCB9OwotICAgICAgICAgICAgcmV0dXJuIHsgdGhldGEx
LCB0aGV0YTIgfTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFR5cGU6OkRlY3JlYXNpbmc6IHsK
LSAgICAgICAgICAgIGlmICh0aGV0YTEgPCB0aGV0YTIpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHsgdGhldGExICsgMzYwLjAsIHRoZXRhMiB9OwotICAgICAgICAgICAgcmV0dXJuIHsgdGhldGEx
LCB0aGV0YTIgfTsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFR5cGU6OlNwZWNpZmllZDoKLSAg
ICAgICAgICAgIHJldHVybiB7IHRoZXRhMSwgdGhldGEyIH07Ci0gICAgICAgIH0KLQotICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIEh1ZUNvbG9yQWRq
dXN0ZXIoZG91YmxlIHZhbHVlID0gMC4wLCBUeXBlIHR5cGUgPSBUeXBlOjpTaG9ydGVyKQotICAg
ICAgICA6IHR5cGUgeyB0eXBlIH0KLSAgICAgICAgLCB2YWx1ZSB7IHZhbHVlIH0KLSAgICB7Ci0g
ICAgfQotCi0gICAgVHlwZSB0eXBlOwotICAgIGRvdWJsZSB2YWx1ZTsKK2VudW0gY2xhc3MgQ29s
b3JNaXhDb2xvclNwYWNlIHsKKyAgICBTcmdiLAorICAgIEhzbCwKKyAgICBId2IsCisgICAgWHl6
LAorICAgIExhYiwKKyAgICBMY2gKIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEMsIENTU1ZhbHVl
SUQgSUQwLCB0eXBlbmFtZSBDaGFubmVsMCwgQ1NTVmFsdWVJRCBJRDEsIHR5cGVuYW1lIENoYW5u
ZWwxLCBDU1NWYWx1ZUlEIElEMiwgdHlwZW5hbWUgQ2hhbm5lbDIsIENTU1ZhbHVlSUQgSUQzLCB0
eXBlbmFtZSBDaGFubmVsMz4KLXN0cnVjdCBDb2xvckFkanVzdGVyIHsKLSAgICB1c2luZyBDb2xv
clR5cGUgPSBDOwotICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBjaGFubmVsQ1NTVmFsdWVJRHMg
PSBzdGQ6Om1ha2VfdHVwbGUoSUQwLCBJRDEsIElEMiwgSUQzKTsKLQotICAgIENvbG9yQWRqdXN0
ZXIoKSA9IGRlZmF1bHQ7Ci0gICAgZXhwbGljaXQgQ29sb3JBZGp1c3Rlcihkb3VibGUgcGVyY2Vu
dGFnZSkKLSAgICAgICAgOiBjaGFubmVscyB7IHBlcmNlbnRhZ2UsIHBlcmNlbnRhZ2UsIHBlcmNl
bnRhZ2UsIHBlcmNlbnRhZ2UgfQotICAgIHsKLSAgICB9Ci0KLSAgICBzdGQ6OnR1cGxlPE9wdGlv
bmFsPENoYW5uZWwwPiwgT3B0aW9uYWw8Q2hhbm5lbDE+LCBPcHRpb25hbDxDaGFubmVsMj4sIE9w
dGlvbmFsPENoYW5uZWwzPj4gY2hhbm5lbHM7Ci19Oworc3RhdGljIE9wdGlvbmFsPENvbG9yTWl4
Q29sb3JTcGFjZT4gY29uc3VtZUNvbG9yTWl4Q29sb3JTcGFjZUFuZENvbW1hKENTU1BhcnNlclRv
a2VuUmFuZ2UmIGFyZ3MpCit7CisgICAgYXV0byBjb25zdW1lSWRlbnRBbmRDb21tYSA9IFtdKENT
U1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbG9yTWl4Q29sb3JTcGFjZSBjb2xvclNwYWNlKSAt
PiBPcHRpb25hbDxDb2xvck1peENvbG9yU3BhY2U+IHsKKyAgICAgICAgY29uc3VtZUlkZW50UmF3
KGFyZ3MpOworICAgICAgICBpZiAoIWNvbnN1bWVDb21tYUluY2x1ZGluZ1doaXRlc3BhY2UoYXJn
cykpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICByZXR1cm4gY29s
b3JTcGFjZTsKKyAgICB9OwogCi11c2luZyBIU0xDb2xvckFkanVzdGVyID0gQ29sb3JBZGp1c3Rl
cjxIU0xBPGZsb2F0PiwgQ1NTVmFsdWVIdWUsIEh1ZUNvbG9yQWRqdXN0ZXIsIENTU1ZhbHVlU2F0
dXJhdGlvbiwgZG91YmxlLCBDU1NWYWx1ZUxpZ2h0bmVzcywgZG91YmxlLCBDU1NWYWx1ZUFscGhh
LCBkb3VibGU+OwotdXNpbmcgSFdCQ29sb3JBZGp1c3RlciA9IENvbG9yQWRqdXN0ZXI8SFdCQTxm
bG9hdD4sIENTU1ZhbHVlSHVlLCBIdWVDb2xvckFkanVzdGVyLCBDU1NWYWx1ZVdoaXRlbmVzcywg
ZG91YmxlLCBDU1NWYWx1ZUJsYWNrbmVzcywgZG91YmxlLCBDU1NWYWx1ZUFscGhhLCBkb3VibGU+
OwotdXNpbmcgTENIQ29sb3JBZGp1c3RlciA9IENvbG9yQWRqdXN0ZXI8TENIQTxmbG9hdD4sIENT
U1ZhbHVlTGlnaHRuZXNzLCBkb3VibGUsIENTU1ZhbHVlQ2hyb21hLCBIdWVDb2xvckFkanVzdGVy
LCBDU1NWYWx1ZUh1ZSwgZG91YmxlLCBDU1NWYWx1ZUFscGhhLCBkb3VibGU+OwotdXNpbmcgTGFi
Q29sb3JBZGp1c3RlciA9IENvbG9yQWRqdXN0ZXI8TGFiPGZsb2F0PiwgQ1NTVmFsdWVMaWdodG5l
c3MsIGRvdWJsZSwgQ1NTVmFsdWVBLCBkb3VibGUsIENTU1ZhbHVlQiwgZG91YmxlLCBDU1NWYWx1
ZUFscGhhLCBkb3VibGU+OwotdXNpbmcgU1JHQkNvbG9yQWRqdXN0ZXIgPSBDb2xvckFkanVzdGVy
PFNSR0JBPGZsb2F0PiwgQ1NTVmFsdWVSZWQsIGRvdWJsZSwgQ1NTVmFsdWVHcmVlbiwgZG91Ymxl
LCBDU1NWYWx1ZUJsdWUsIGRvdWJsZSwgQ1NTVmFsdWVBbHBoYSwgZG91YmxlPjsKLXVzaW5nIFhZ
WkNvbG9yQWRqdXN0ZXIgPSBDb2xvckFkanVzdGVyPFhZWkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1
MD4sIENTU1ZhbHVlWCwgZG91YmxlLCBDU1NWYWx1ZVksIGRvdWJsZSwgQ1NTVmFsdWVaLCBkb3Vi
bGUsIENTU1ZhbHVlQWxwaGEsIGRvdWJsZT47CisgICAgc3dpdGNoIChhcmdzLnBlZWsoKS5pZCgp
KSB7CisgICAgY2FzZSBDU1NWYWx1ZUhzbDoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVJZGVudEFu
ZENvbW1hKGFyZ3MsIENvbG9yTWl4Q29sb3JTcGFjZTo6SHNsKTsKKyAgICBjYXNlIENTU1ZhbHVl
SHdiOgorICAgICAgICByZXR1cm4gY29uc3VtZUlkZW50QW5kQ29tbWEoYXJncywgQ29sb3JNaXhD
b2xvclNwYWNlOjpId2IpOworICAgIGNhc2UgQ1NTVmFsdWVMY2g6CisgICAgICAgIHJldHVybiBj
b25zdW1lSWRlbnRBbmRDb21tYShhcmdzLCBDb2xvck1peENvbG9yU3BhY2U6OkxjaCk7CisgICAg
Y2FzZSBDU1NWYWx1ZUxhYjoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVJZGVudEFuZENvbW1hKGFy
Z3MsIENvbG9yTWl4Q29sb3JTcGFjZTo6TGFiKTsKKyAgICBjYXNlIENTU1ZhbHVlWHl6OgorICAg
ICAgICByZXR1cm4gY29uc3VtZUlkZW50QW5kQ29tbWEoYXJncywgQ29sb3JNaXhDb2xvclNwYWNl
OjpYeXopOworICAgIGNhc2UgQ1NTVmFsdWVTUkdCOgorICAgICAgICByZXR1cm4gY29uc3VtZUlk
ZW50QW5kQ29tbWEoYXJncywgQ29sb3JNaXhDb2xvclNwYWNlOjpTcmdiKTsKKyAgICBkZWZhdWx0
OgorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIH0KK30KIAotdGVtcGxhdGU8dHlw
ZW5hbWUgQWRqdXN0ZXI+IHN0cnVjdCBDb2xvck1peENvbXBvbmVudCB7CitzdHJ1Y3QgQ29sb3JN
aXhDb21wb25lbnQgewogICAgIENvbG9yIGNvbG9yOwotICAgIEFkanVzdGVyIGFkanVzdGVyOwor
ICAgIE9wdGlvbmFsPGRvdWJsZT4gcGVyY2VudGFnZTsKIH07CiAKLXRlbXBsYXRlPENTU1ZhbHVl
SUQgSWRlbnQsIHR5cGVuYW1lIFQ+IHN0cnVjdCBBZGp1c3RlckNvbnN1bWVyOworc3RhdGljIE9w
dGlvbmFsPENvbG9yTWl4Q29tcG9uZW50PiBjb25zdW1lQ29sb3JNaXhDb21wb25lbnQoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sK
KyAgICBDb2xvck1peENvbXBvbmVudCByZXN1bHQ7CiAKLXRlbXBsYXRlPENTU1ZhbHVlSUQgSWRl
bnQ+IHN0cnVjdCBBZGp1c3RlckNvbnN1bWVyPElkZW50LCBIdWVDb2xvckFkanVzdGVyPiB7Ci0g
ICAgc3RhdGljIE9wdGlvbmFsPEh1ZUNvbG9yQWRqdXN0ZXI+IGNvbnN1bWUoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSYgYXJncykKLSAgICB7Ci0gICAgICAgIGlmICghY29uc3VtZUlkZW50UmF3PElkZW50
PihhcmdzKSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKGF1dG8g
cGVyY2VudGFnZSA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpKQorICAgICAgICByZXN1bHQucGVy
Y2VudGFnZSA9IHBlcmNlbnRhZ2U7CiAKLSAgICAgICAgSHVlQ29sb3JBZGp1c3RlciByZXN1bHQ7
Ci0gICAgICAgIGlmIChhdXRvIGh1ZUFkanVzdG1lbnRUeXBlID0gY29uc3VtZUh1ZUFkanVzdG1l
bnRUeXBlKGFyZ3MpKQotICAgICAgICAgICAgcmVzdWx0LnR5cGUgPSAqaHVlQWRqdXN0bWVudFR5
cGU7CisgICAgcmVzdWx0LmNvbG9yID0gY29uc3VtZU9yaWdpbkNvbG9yKGFyZ3MsIGNvbnRleHQp
OworICAgIGlmICghcmVzdWx0LmNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKIAotICAgICAgICAvLyBGSVhNRTogSXMgY2xhbXBpbmcgdG8gMCBmb3IgbmVnYXRp
dmUgcGVyY2VudGFnZXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvPworICAgIGlmICghcmVzdWx0LnBl
cmNlbnRhZ2UpIHsKICAgICAgICAgaWYgKGF1dG8gcGVyY2VudGFnZSA9IGNvbnN1bWVQZXJjZW50
UmF3KGFyZ3MpKQotICAgICAgICAgICAgcmVzdWx0LnZhbHVlID0gc3RkOjptYXgoMC4wLCAqcGVy
Y2VudGFnZSk7Ci0KLSAgICAgICAgLy8gRklYTUU6IFNob3VsZCBhbiBhZGp1c3RlciB3aXRob3V0
IGEgcGVyY2V0YW5nZSBiZSBhbGxvd2VkPwotICAgICAgICAvLyAgZS5nIGNvbG9yLW1peChoc2ws
IHRlYWwgaHVlLCByZWQpOwotCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotCi0gICAg
c3RhdGljIE9wdGlvbmFsPEh1ZUNvbG9yQWRqdXN0ZXI6OlR5cGU+IGNvbnN1bWVIdWVBZGp1c3Rt
ZW50VHlwZShDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzKQotICAgIHsKLSAgICAgICAgc3dpdGNo
IChhcmdzLnBlZWsoKS5pZCgpKSB7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVTaG9ydGVyOgotICAg
ICAgICAgICAgY29uc3VtZUlkZW50UmF3KGFyZ3MpOwotICAgICAgICAgICAgcmV0dXJuIEh1ZUNv
bG9yQWRqdXN0ZXI6OlR5cGU6OlNob3J0ZXI7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVMb25nZXI6
Ci0gICAgICAgICAgICBjb25zdW1lSWRlbnRSYXcoYXJncyk7Ci0gICAgICAgICAgICByZXR1cm4g
SHVlQ29sb3JBZGp1c3Rlcjo6VHlwZTo6TG9uZ2VyOwotICAgICAgICBjYXNlIENTU1ZhbHVlSW5j
cmVhc2luZzoKLSAgICAgICAgICAgIGNvbnN1bWVJZGVudFJhdyhhcmdzKTsKLSAgICAgICAgICAg
IHJldHVybiBIdWVDb2xvckFkanVzdGVyOjpUeXBlOjpJbmNyZWFzaW5nOwotICAgICAgICBjYXNl
IENTU1ZhbHVlRGVjcmVhc2luZzoKLSAgICAgICAgICAgIGNvbnN1bWVJZGVudFJhdyhhcmdzKTsK
LSAgICAgICAgICAgIHJldHVybiBIdWVDb2xvckFkanVzdGVyOjpUeXBlOjpEZWNyZWFzaW5nOwot
ICAgICAgICBjYXNlIENTU1ZhbHVlU3BlY2lmaWVkOgotICAgICAgICAgICAgY29uc3VtZUlkZW50
UmF3KGFyZ3MpOwotICAgICAgICAgICAgcmV0dXJuIEh1ZUNvbG9yQWRqdXN0ZXI6OlR5cGU6OlNw
ZWNpZmllZDsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7Ci0gICAgICAgIH0KKyAgICAgICAgICAgIHJlc3VsdC5wZXJjZW50YWdlID0gcGVyY2VudGFn
ZTsKICAgICB9Ci19OwotCi10ZW1wbGF0ZTxDU1NWYWx1ZUlEIElkZW50PiBzdHJ1Y3QgQWRqdXN0
ZXJDb25zdW1lcjxJZGVudCwgZG91YmxlPiB7Ci0gICAgc3RhdGljIE9wdGlvbmFsPGRvdWJsZT4g
Y29uc3VtZShDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzKQotICAgIHsKLSAgICAgICAgaWYgKCFj
b25zdW1lSWRlbnRSYXc8SWRlbnQ+KGFyZ3MpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKLSAgICAgICAgCi0gICAgICAgIC8vIEZJWE1FOiBJcyBjbGFtcGluZyB0byAwIGZvciBu
ZWdhdGl2ZSBwZXJjZW50YWdlcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8/Ci0gICAgICAgIGlmIChh
dXRvIHBlcmNlbnRhZ2UgPSBjb25zdW1lUGVyY2VudFJhdyhhcmdzKSkKLSAgICAgICAgICAgIHJl
dHVybiBzdGQ6Om1heCgwLjAsICpwZXJjZW50YWdlKTsKIAotICAgICAgICAvLyBGSVhNRTogU2hv
dWxkIGFuIGFkanVzdGVyIHdpdGhvdXQgYSBwZXJjZXRhbmdlIGJlIGFsbG93ZWQ/Ci0gICAgICAg
IC8vICBlLmcgY29sb3ItbWl4KGhzbCwgdGVhbCBzYXR1cmF0aW9uLCByZWQpOworICAgIHJldHVy
biByZXN1bHQ7Cit9CiAKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorc3RydWN0IENvbG9yTWl4
UGVyY2VudGFnZXMgeworICAgIGRvdWJsZSBwMTsKKyAgICBkb3VibGUgcDI7CiB9OwogCi10ZW1w
bGF0ZTxDU1NWYWx1ZUlEIElkZW50LCB0eXBlbmFtZSBUPiBpbmxpbmUgZGVjbHR5cGUoYXV0bykg
Y29uc3VtZUFkanVzdGVyKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MpCitzdGF0aWMgQ29sb3JN
aXhQZXJjZW50YWdlcyBub3JtYWxpemVkTWl4UGVyY2VudGFnZXMoY29uc3QgQ29sb3JNaXhDb21w
b25lbnQmIG1peENvbXBvbmVudHMxLCBjb25zdCBDb2xvck1peENvbXBvbmVudCYgbWl4Q29tcG9u
ZW50czIpCiB7Ci0gICAgcmV0dXJuIEFkanVzdGVyQ29uc3VtZXI8SWRlbnQsIFQ+Ojpjb25zdW1l
KGFyZ3MpOwotfQorICAgIC8vIFRoZSBwZXJjZW50YWdlcyBhcmUgbm9ybWFsaXplZCBhcyBmb2xs
b3dzOgogCi10ZW1wbGF0ZTxzdGQ6OnNpemVfdCBJLCB0eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGlj
IGJvb2wgY29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyQXRJbmRleChDU1NQYXJzZXJUb2tlblJhbmdl
JiBhcmdzLCBBZGp1c3RlciYgYWRqdXN0ZXIpCi17Ci0gICAgdXNpbmcgQWRqdXN0ZXJUeXBlID0g
c3RkOjpkZWNheV90PGRlY2x0eXBlKHN0ZDo6Z2V0PEk+KGFkanVzdGVyLmNoYW5uZWxzKS52YWx1
ZSgpKT47Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBDU1NWYWx1ZUlEIElkZW50ID0gc3RkOjpnZXQ8
ST4oQWRqdXN0ZXI6OmNoYW5uZWxDU1NWYWx1ZUlEcyk7Ci0KLSAgICBpZiAoYXV0byBhZGp1c3Rt
ZW50ID0gY29uc3VtZUFkanVzdGVyPElkZW50LCBBZGp1c3RlclR5cGU+KGFyZ3MpKSB7Ci0gICAg
ICAgIHN0ZDo6Z2V0PEk+KGFkanVzdGVyLmNoYW5uZWxzKSA9ICphZGp1c3RtZW50OwotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi10ZW1wbGF0ZTx0
eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGljIGJvb2wgY29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyKENT
U1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIEFkanVzdGVyJiBhZGp1c3RlcikKLXsKLSAgICBpZiAo
Y29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyQXRJbmRleDwwPihhcmdzLCBhZGp1c3RlcikpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotICAgIGlmIChjb25zdW1lQW5kVXBkYXRlQWRqdXN0ZXJBdEluZGV4
PDE+KGFyZ3MsIGFkanVzdGVyKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKGNvbnN1
bWVBbmRVcGRhdGVBZGp1c3RlckF0SW5kZXg8Mj4oYXJncywgYWRqdXN0ZXIpKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICBpZiAoY29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyQXRJbmRleDwzPihh
cmdzLCBhZGp1c3RlcikpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIHJldHVybiBmYWxzZTsK
LX0KKyAgICAvLyAxLiBMZXQgcDEgYmUgdGhlIGZpcnN0IHBlcmNlbnRhZ2UgYW5kIHAyIHRoZSBz
ZWNvbmQgb25lLgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGljIEFkanVzdGVy
IGNvbnN1bWVBZGp1c3RlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncykKLXsKLSAgICBBZGp1
c3RlciBhZGp1c3RlcjsKLSAgICB3aGlsZSAoY29uc3VtZUFuZFVwZGF0ZUFkanVzdGVyKGFyZ3Ms
IGFkanVzdGVyKSkgewotICAgICAgICAvLyBLZWVwIGNvbnN1bWluZyB1bnRpbCB0aGVyZSBhcmUg
bm8gbW9yZSBhZGp1c3RlcnMuCi0gICAgfQorICAgIC8vIDIuIElmIGJvdGggcGVyY2VudGFnZXMg
YXJlIG9taXR0ZWQsIHRoZXkgZWFjaCBkZWZhdWx0IHRvIDUwJSAoYW4gZXF1YWwgbWl4IG9mIHRo
ZSB0d28gY29sb3JzKS4KKyAgICBpZiAoIW1peENvbXBvbmVudHMxLnBlcmNlbnRhZ2UgJiYgIW1p
eENvbXBvbmVudHMyLnBlcmNlbnRhZ2UpCisgICAgICAgIHJldHVybiB7IDUwLjAsIDUwLjAgfTsK
ICAgICAKLSAgICByZXR1cm4gYWRqdXN0ZXI7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEFkanVz
dGVyPiBzdGF0aWMgT3B0aW9uYWw8Q29sb3JNaXhDb21wb25lbnQ8QWRqdXN0ZXI+PiBjb25zdW1l
TWl4Q29tcG9uZW50cyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQYXJzZXJD
b250ZXh0JiBjb250ZXh0KQotewotICAgIGF1dG8gb3JpZ2luQ29sb3IgPSBjb25zdW1lT3JpZ2lu
Q29sb3IoYXJncywgY29udGV4dCk7Ci0gICAgaWYgKCFvcmlnaW5Db2xvci5pc1ZhbGlkKCkpCi0g
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICAvLyBGSVhNRTogSXMgY2xhbXBpbmcg
dG8gMCBmb3IgbmVnYXRpdmUgcGVyY2VudGFnZXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvPwotICAg
IGlmIChhdXRvIHBlcmNlbnRhZ2UgPSBjb25zdW1lUGVyY2VudFJhdyhhcmdzKSkKLSAgICAgICAg
cmV0dXJuIHsgeyBXVEZNb3ZlKG9yaWdpbkNvbG9yKSwgQWRqdXN0ZXIgeyBzdGQ6Om1heCgwLjAs
ICpwZXJjZW50YWdlKSB9IH0gfTsKLQotICAgIHJldHVybiB7IHsgV1RGTW92ZShvcmlnaW5Db2xv
ciksIGNvbnN1bWVBZGp1c3RlcnM8QWRqdXN0ZXI+KGFyZ3MpIH0gfTsKLX0KLQotc3RhdGljIHN0
ZDo6cGFpcjxIdWVDb2xvckFkanVzdGVyLCBIdWVDb2xvckFkanVzdGVyPiBub3JtYWxpemVBZGp1
c3RlclZhbHVlcyhIdWVDb2xvckFkanVzdGVyIGFkanVzdGVyMSwgSHVlQ29sb3JBZGp1c3RlciBh
ZGp1c3RlcjIpCi17Ci0gICAgaWYgKGF1dG8gc3VtID0gYWRqdXN0ZXIxLnZhbHVlICsgYWRqdXN0
ZXIyLnZhbHVlOyBzdW0gIT0gMTAwLjApIHsKLSAgICAgICAgYWRqdXN0ZXIxLnZhbHVlICo9IDEw
MC4wIC8gc3VtOwotICAgICAgICBhZGp1c3RlcjIudmFsdWUgKj0gMTAwLjAgLyBzdW07Ci0gICAg
fQorICAgIENvbG9yTWl4UGVyY2VudGFnZXMgcmVzdWx0OwogCi0gICAgcmV0dXJuIHsgYWRqdXN0
ZXIxLCBhZGp1c3RlcjIgfTsKLX0KLQotc3RhdGljIHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4g
bm9ybWFsaXplQWRqdXN0ZXJWYWx1ZXMoZG91YmxlIGFkanVzdGVyMSwgZG91YmxlIGFkanVzdGVy
MikKLXsKLSAgICBpZiAoYXV0byBzdW0gPSBhZGp1c3RlcjEgKyBhZGp1c3RlcjI7IHN1bSAhPSAx
MDAuMCkgewotICAgICAgICBhZGp1c3RlcjEgKj0gMTAwLjAgLyBzdW07Ci0gICAgICAgIGFkanVz
dGVyMiAqPSAxMDAuMCAvIHN1bTsKKyAgICBpZiAoIW1peENvbXBvbmVudHMyLnBlcmNlbnRhZ2Up
IHsKKyAgICAgICAgLy8gMy4gT3RoZXJ3aXNlLCBpZiBwMiBpcyBvbWl0dGVkLCBpdCBiZWNvbWVz
IDEwMCUgLSBwMQorICAgICAgICByZXN1bHQucDEgPSAqbWl4Q29tcG9uZW50czEucGVyY2VudGFn
ZTsKKyAgICAgICAgcmVzdWx0LnAyID0gMTAwLjAgLSByZXN1bHQucDE7CisgICAgfSBlbHNlIGlm
ICghbWl4Q29tcG9uZW50czEucGVyY2VudGFnZSkgeworICAgICAgICAvLyA0LiBPdGhlcndpc2Us
IGlmIHAxIGlzIG9taXR0ZWQsIGl0IGJlY29tZXMgMTAwJSAtIHAyCisgICAgICAgIHJlc3VsdC5w
MiA9ICptaXhDb21wb25lbnRzMi5wZXJjZW50YWdlOworICAgICAgICByZXN1bHQucDEgPSAxMDAu
MCAtIHJlc3VsdC5wMjsKKyAgICB9IGVsc2UgeworICAgICAgICByZXN1bHQucDEgPSAqbWl4Q29t
cG9uZW50czEucGVyY2VudGFnZTsKKyAgICAgICAgcmVzdWx0LnAyID0gKm1peENvbXBvbmVudHMy
LnBlcmNlbnRhZ2U7CiAgICAgfQogCi0gICAgcmV0dXJuIHsgYWRqdXN0ZXIxLCBhZGp1c3RlcjIg
fTsKLX0KKyAgICBhdXRvIHN1bSA9IHJlc3VsdC5wMSArIHJlc3VsdC5wMjsKIAotc3RhdGljIEh1
ZUNvbG9yQWRqdXN0ZXIgcmVtYWluaW5nQWRqdXN0bWVudChIdWVDb2xvckFkanVzdGVyIGFkanVz
dGVyKQotewotICAgIHJldHVybiB7IDEwMC4wIC0gYWRqdXN0ZXIudmFsdWUsIGFkanVzdGVyLnR5
cGUgfTsKLX0KKyAgICAvLyA1LiBJZiB0aGUgcGVyY2VudGFnZXMgc3VtIHRvIHplcm8gZG8gc29t
ZXRoaW5nLCB0YmQuIChGSVhNRTogV2UganVzdCB1c2UgNTAgLyA1MCBmb3IgdGhpcyBjYXNlIGZv
ciBub3cpLgorICAgIGlmIChzdW0gPT0gMCkKKyAgICAgICAgcmV0dXJuIHsgNTAuMCwgNTAuMCB9
OwogCi1zdGF0aWMgZG91YmxlIHJlbWFpbmluZ0FkanVzdG1lbnQoZG91YmxlIGFkanVzdGVyKQot
ewotICAgIHJldHVybiAxMDAuMCAtIGFkanVzdGVyOwotfQorICAgIGlmIChzdW0gIT0gMTAwLjAp
IHsKKyAgICAgICAgLy8gNi4gT3RoZXJ3aXNlLCBpZiBib3RoIGFyZSBwcm92aWRlZCBidXQgZG8g
bm90IGFkZCB1cCB0byAxMDAlLCB0aGV5IGFyZSBzY2FsZWQgYWNjb3JkaW5nbHkgc28gdGhhdCB0
aGV5CisgICAgICAgIC8vICAgIGFkZCB1cCB0byAxMDAlLiBUaGlzIG1lYW5zIHRoYXQgcDEgYmVj
b21lcyBwMSAvIChwMSArIHAyKSBhbmQgcDIgYmVjb21lcyBwMiAvIChwMSArIHAyKS4KKyAgICAg
ICAgcmVzdWx0LnAxICo9IDEwMC4wIC8gc3VtOworICAgICAgICByZXN1bHQucDIgKj0gMTAwLjAg
LyBzdW07CisgICAgfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBBZGp1c3RlclR5cGU+IHN0YXRpYyBh
dXRvIG5vcm1hbGl6ZUFkanVzdGVyVmFsdWVzKE9wdGlvbmFsPEFkanVzdGVyVHlwZT4gYWRqdXN0
ZXIxLCBPcHRpb25hbDxBZGp1c3RlclR5cGU+IGFkanVzdGVyMikgLT4gc3RkOjpwYWlyPEFkanVz
dGVyVHlwZSwgQWRqdXN0ZXJUeXBlPgotewotICAgIGlmIChhZGp1c3RlcjEgJiYgYWRqdXN0ZXIy
KQotICAgICAgICByZXR1cm4gbm9ybWFsaXplQWRqdXN0ZXJWYWx1ZXMoKmFkanVzdGVyMSwgKmFk
anVzdGVyMik7Ci0gICAgaWYgKCFhZGp1c3RlcjEgJiYgYWRqdXN0ZXIyKQotICAgICAgICByZXR1
cm4geyByZW1haW5pbmdBZGp1c3RtZW50KCphZGp1c3RlcjIpLCAqYWRqdXN0ZXIyIH07Ci0gICAg
aWYgKGFkanVzdGVyMSAmJiAhYWRqdXN0ZXIyKQotICAgICAgICByZXR1cm4geyAqYWRqdXN0ZXIx
LCByZW1haW5pbmdBZGp1c3RtZW50KCphZGp1c3RlcjEpIH07Ci0gICAgLy8gV2hlbiBuZWlnaGVy
IG1peCBjb21wb25lbnQgcHJvdmlkZXMgYW4gYWRqdXN0ZXIsIHRoZSByZXN1bHQgaXMgdGhlIG5v
bi1tb2RpZmllZAotICAgIC8vIGNoYW5uZWwgZnJvbSBmcm9tIHRoZSBmaXJzdCBjb2xvci4KLSAg
ICBBU1NFUlQoIWFkanVzdGVyMSAmJiAhYWRqdXN0ZXIyKTsKLSAgICByZXR1cm4geyAxMDAuMCwg
MC4wIH07CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGRvdWJsZSBtaXhDb21wb25l
bnQoZmxvYXQgY29tcG9uZW50MSwgSHVlQ29sb3JBZGp1c3RlciBhZGp1c3RtZW50MSwgZmxvYXQg
Y29tcG9uZW50MiwgSHVlQ29sb3JBZGp1c3RlciBhZGp1c3RtZW50MikKLXsKLSAgICAvLyBGSVhN
RTogVGhlIHNwZWMgZG9lcyBub3QgaW5kaWNhdGUgd2hhdCB0byBkbyBpZiB0d28gZGlmZmVyZW50
IGh1ZSB0eXBlcyBhcmUgc3BlY2lmaWVkLiBXZSBhbHdheXMgdXNlIHRoZSBmaXJzdCBvbmUgZm9y
IG5vdywKLSAgICAvLyB0aG91Z2ggd2UgcHJvYmFibHkgc2hvdWxkIHRha2UgaW50byBhY2NvdW50
IHdoZXRoZXIgaXQgd2FzIGFjdHVhbGx5IHNwZWNpZmllZCBvciBpcyB0aGUgZGVmYXVsdCB2YWx1
ZS4gVGhhdCBub3JtYWxpemF0aW9uCi0gICAgLy8gc2hvdWxkIGhhcHBlbiBpbiBub3JtYWxpemVB
ZGp1c3RlclZhbHVlcygpLgotCi0gICAgYXV0byBbZml4ZWRVcENvbXBvbmVudDEsIGZpeGVkVXBD
b21wb25lbnQyXSA9IEh1ZUNvbG9yQWRqdXN0ZXI6OmZpeHVwQW5nbGVzRm9ySW50ZXJwb2xhdGlv
bihjb21wb25lbnQxLCBjb21wb25lbnQyLCBhZGp1c3RtZW50MS50eXBlKTsKLSAgICBhdXRvIHJl
c3VsdCA9IChmaXhlZFVwQ29tcG9uZW50MSAqIChhZGp1c3RtZW50MS52YWx1ZSAvIDEwMC4wKSkg
KyAoZml4ZWRVcENvbXBvbmVudDIgKiAoYWRqdXN0bWVudDIudmFsdWUgLyAxMDAuMCkpOwotICAg
IC8vIEZJWE1FOiBDaGVjayBpZiB0aGlzIGZ1bGwgbm9ybWFsaXphdGlvbiBpcyBuZWVkZWQuCi0g
ICAgcmV0dXJuIG5vcm1hbGl6ZUh1ZShyZXN1bHQpOwotfQorLy8gTm9ybWFsaXphdGlvbiBpcyBz
cGVjaWFsIGNhc2VkIGZvciBIV0JBLCB3aGljaCBuZWVkcyB0byBub3JtYWxpemUgdGhlIHdoaXRl
bmVzcyBhbmQgYmxhY2tuZXNzIGNvbXBvbmVudHMgYW5kIGNvbnZlcnQgdG8gc1JHQgorLy8gYW5k
IEhTTEEsIHdoaWNoIGp1c3QgbmVlZHMgdG8gYmUgY29udmVydGVkIHRvIHNSR0IuIEFsbCBvdGhl
ciBjb2xvciB0eXBlcyBjYW4gZ28gdGhyb3VnaCB0aGlzIG5vbi1zcGVjaWFsaXplZCBjYXNlLgog
Ci1zdGF0aWMgZG91YmxlIG1peENvbXBvbmVudChmbG9hdCBjb21wb25lbnQxLCBkb3VibGUgYWRq
dXN0bWVudDEsIGZsb2F0IGNvbXBvbmVudDIsIGRvdWJsZSBhZGp1c3RtZW50MikKK3RlbXBsYXRl
PHR5cGVuYW1lIENvbG9yVHlwZT4gaW5saW5lIENvbG9yIG1ha2VDb2xvclR5cGVCeU5vcm1hbGl6
aW5nQ29tcG9uZW50c0FmdGVyTWl4KGNvbnN0IENvbG9yQ29tcG9uZW50czxmbG9hdD4mIGNvbG9y
Q29tcG9uZW50cykKIHsKLSAgICByZXR1cm4gKGNvbXBvbmVudDEgKiAoYWRqdXN0bWVudDEgLyAx
MDAuMCkpICsgKGNvbXBvbmVudDIgKiAoYWRqdXN0bWVudDIgLyAxMDAuMCkpOworICAgIHJldHVy
biBtYWtlRnJvbUNvbXBvbmVudHM8Q29sb3JUeXBlPihjb2xvckNvbXBvbmVudHMpOwogfQogCi10
ZW1wbGF0ZTxzdGQ6OnNpemVfdCBJLCB0eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGljIGRvdWJsZSBt
aXhDb21wb25lbnRBdEluZGV4KGNvbnN0IENvbG9yQ29tcG9uZW50czxmbG9hdD4mIGNvbG9yMSwg
Y29uc3QgQWRqdXN0ZXImIGFkanVzdGVyMSwgY29uc3QgQ29sb3JDb21wb25lbnRzPGZsb2F0PiYg
Y29sb3IyLCBjb25zdCBBZGp1c3RlciYgYWRqdXN0ZXIyKQordGVtcGxhdGU8PiBpbmxpbmUgQ29s
b3IgbWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0ZXJNaXg8SFdCQTxmbG9h
dD4+KGNvbnN0IENvbG9yQ29tcG9uZW50czxmbG9hdD4mIGNvbG9yQ29tcG9uZW50cykKIHsKLSAg
ICBhdXRvIFtub3JtYWxpemVkQWRqdXN0ZXIxVmFsdWUsIG5vcm1hbGl6ZWRBZGp1c3RlcjJWYWx1
ZV0gPSBub3JtYWxpemVBZGp1c3RlclZhbHVlcyhzdGQ6OmdldDxJPihhZGp1c3RlcjEuY2hhbm5l
bHMpLCBzdGQ6OmdldDxJPihhZGp1c3RlcjIuY2hhbm5lbHMpKTsKLSAgICByZXR1cm4gbWl4Q29t
cG9uZW50KGNvbG9yMVtJXSwgbm9ybWFsaXplZEFkanVzdGVyMVZhbHVlLCBjb2xvcjJbSV0sIG5v
cm1hbGl6ZWRBZGp1c3RlcjJWYWx1ZSk7Ci19CisgICAgYXV0byBbaHVlLCB3aGl0ZW5lc3MsIGJs
YWNrbmVzcywgYWxwaGFdID0gY29sb3JDb21wb25lbnRzOworICAgIGF1dG8gW25vcm1hbGl6ZWRX
aGl0bmVzcywgbm9ybWFsaXplZEJsYWNrbmVzc10gPSBub3JtYWxpemVXaGl0ZW5lc3NCbGFja25l
c3Mod2hpdGVuZXNzLCBibGFja25lc3MpOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+
IGlubGluZSBDb2xvclR5cGUgbWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0
ZXJNaXgoZG91YmxlIGNoYW5uZWwwLCBkb3VibGUgY2hhbm5lbDEsIGRvdWJsZSBjaGFubmVsMiwg
ZG91YmxlIGNoYW5uZWwzKQotewotICAgIHJldHVybiB7IHN0YXRpY19jYXN0PGZsb2F0PihjaGFu
bmVsMCksIHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsMSksIHN0YXRpY19jYXN0PGZsb2F0Pihj
aGFubmVsMiksIHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsMykgfTsKKyAgICByZXR1cm4gY29u
dmVydENvbG9yPFNSR0JBPHVpbnQ4X3Q+PihIV0JBPGZsb2F0PiB7IGh1ZSwgbm9ybWFsaXplZFdo
aXRuZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzLCBhbHBoYSB9KTsKIH0KIAotdGVtcGxhdGU8PiBp
bmxpbmUgSFdCQTxmbG9hdD4gbWFrZUNvbG9yVHlwZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0
ZXJNaXg8SFdCQTxmbG9hdD4+KGRvdWJsZSBodWUsIGRvdWJsZSB3aGl0ZW5lc3MsIGRvdWJsZSBi
bGFja25lc3MsIGRvdWJsZSBhbHBoYSkKK3RlbXBsYXRlPD4gaW5saW5lIENvbG9yIG1ha2VDb2xv
clR5cGVCeU5vcm1hbGl6aW5nQ29tcG9uZW50c0FmdGVyTWl4PEhTTEE8ZmxvYXQ+Pihjb25zdCBD
b2xvckNvbXBvbmVudHM8ZmxvYXQ+JiBjb2xvckNvbXBvbmVudHMpCiB7Ci0gICAgYXV0byBbbm9y
bWFsaXplZFdoaXRuZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzXSA9IG5vcm1hbGl6ZVdoaXRlbmVz
c0JsYWNrbmVzcyh3aGl0ZW5lc3MsIGJsYWNrbmVzcyk7Ci0gICAgcmV0dXJuIHsgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KGh1ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBz
dGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0
PihhbHBoYSkgfTsKKyAgICByZXR1cm4gY29udmVydENvbG9yPFNSR0JBPHVpbnQ4X3Q+PihtYWtl
RnJvbUNvbXBvbmVudHM8SFNMQTxmbG9hdD4+KGNvbG9yQ29tcG9uZW50cykpOwogfQogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBBZGp1c3Rlcj4gc3RhdGljIHR5cGVuYW1lIEFkanVzdGVyOjpDb2xvclR5
cGUgbWl4KGNvbnN0IENvbG9yTWl4Q29tcG9uZW50PEFkanVzdGVyPiYgbWl4Q29tcG9uZW50czEs
IGNvbnN0IENvbG9yTWl4Q29tcG9uZW50PEFkanVzdGVyPiYgbWl4Q29tcG9uZW50czIpCit0ZW1w
bGF0ZTxzaXplX3QgSSwgdHlwZW5hbWUgQ29tcG9uZW50VHlwZT4gc3RhdGljIHZvaWQgZml4dXBI
dWVDb21wb25lbnRzUHJpb3JUb01peChDb2xvckNvbXBvbmVudHM8Q29tcG9uZW50VHlwZT4mIGNv
bG9yQ29tcG9uZW50czEsIENvbG9yQ29tcG9uZW50czxDb21wb25lbnRUeXBlPiYgY29sb3JDb21w
b25lbnRzMikKIHsKLSAgICB1c2luZyBDb2xvclR5cGUgPSB0eXBlbmFtZSBBZGp1c3Rlcjo6Q29s
b3JUeXBlOwotCi0gICAgYXV0byBjb2xvcjEgPSBhc0NvbG9yQ29tcG9uZW50cyhtaXhDb21wb25l
bnRzMS5jb2xvci50ZW1wbGF0ZSB0b0NvbG9yVHlwZUxvc3N5PENvbG9yVHlwZT4oKSk7Ci0gICAg
YXV0byBjb2xvcjIgPSBhc0NvbG9yQ29tcG9uZW50cyhtaXhDb21wb25lbnRzMi5jb2xvci50ZW1w
bGF0ZSB0b0NvbG9yVHlwZUxvc3N5PENvbG9yVHlwZT4oKSk7Ci0KLSAgICBhdXRvIGFkanVzdGVy
MSA9IG1peENvbXBvbmVudHMxLmFkanVzdGVyOwotICAgIGF1dG8gYWRqdXN0ZXIyID0gbWl4Q29t
cG9uZW50czIuYWRqdXN0ZXI7CisgICAgYXV0byBub3JtYWxpemVBbmdsZXNVc2luZ1Nob3J0ZXJB
bGdvcml0aG0gPSBbXSAoYXV0byB0aGV0YTEsIGF1dG8gdGhldGEyKSAtPiBzdGQ6OnBhaXI8Q29t
cG9uZW50VHlwZSwgQ29tcG9uZW50VHlwZT4geworICAgICAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWNvbG9yLTQvI2h1ZS1zaG9ydGVyCisgICAgICAgIGF1dG8gZGlmZmVyZW5j
ZSA9IHRoZXRhMiAtIHRoZXRhMTsKKyAgICAgICAgaWYgKGRpZmZlcmVuY2UgPiAxODAuMCkKKyAg
ICAgICAgICAgIHJldHVybiB7IHRoZXRhMSArIDM2MC4wLCB0aGV0YTIgfTsKKyAgICAgICAgaWYg
KGRpZmZlcmVuY2UgPCAtMTgwLjApCisgICAgICAgICAgICByZXR1cm4geyB0aGV0YTEsIHRoZXRh
MiArIDM2MC4wIH07CisgICAgICAgIHJldHVybiB7IHRoZXRhMSwgdGhldGEyIH07CisgICAgfTsK
IAotICAgIGlmICghc3RkOjpnZXQ8MD4oYWRqdXN0ZXIxLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8
MT4oYWRqdXN0ZXIxLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8Mj4oYWRqdXN0ZXIxLmNoYW5uZWxz
KSAmJiAhc3RkOjpnZXQ8Mz4oYWRqdXN0ZXIxLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8MD4oYWRq
dXN0ZXIyLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8MT4oYWRqdXN0ZXIyLmNoYW5uZWxzKSAmJiAh
c3RkOjpnZXQ8Mj4oYWRqdXN0ZXIyLmNoYW5uZWxzKSAmJiAhc3RkOjpnZXQ8Mz4oYWRqdXN0ZXIy
LmNoYW5uZWxzKSkgewotICAgICAgICAvLyBObyBhZGp1c3RlcnMgYmVpbmcgc3BlY2lmaWVkIGF0
IGFsbCBpcyBzcGVjaWFsIGNhc2VkIHRvIG1lYW4gbWl4IDUwLTUwLgotICAgICAgICBhZGp1c3Rl
cjEgPSBBZGp1c3RlciB7IDUwLjAgfTsKLSAgICAgICAgYWRqdXN0ZXIyID0gQWRqdXN0ZXIgeyA1
MC4wIH07CisgICAgLy8gQXMgbm8gb3RoZXIgaW50ZXJwb2xhdGlvbiB0eXBlIHdhcyBzcGVjaWZp
ZWQsIGFsbCBhbmdsZXMgc2hvdWxkIGJlIG5vcm1hbGl6ZWQgdG8gdXNlIHRoZSAic2hvcnRlciIg
YWxnb3JpdGhtLgorICAgIGF1dG8gW3RoZXRhMSwgdGhldGEyXSA9IG5vcm1hbGl6ZUFuZ2xlc1Vz
aW5nU2hvcnRlckFsZ29yaXRobShjb2xvckNvbXBvbmVudHMxW0ldLCBjb2xvckNvbXBvbmVudHMy
W0ldKTsKKyAgICBjb2xvckNvbXBvbmVudHMxW0ldID0gdGhldGExOworICAgIGNvbG9yQ29tcG9u
ZW50czJbSV0gPSB0aGV0YTI7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbG9yVHlwZT4gc3Rh
dGljIENvbG9yIG1peENvbG9yQ29tcG9uZW50c0luQ29sb3JTcGFjZShDb2xvck1peFBlcmNlbnRh
Z2VzIG1peFBlcmNlbnRhZ2VzLCBjb25zdCBDb2xvciYgY29sb3IxLCBjb25zdCBDb2xvciYgY29s
b3IyKQoreworICAgIGF1dG8gY29sb3JDb21wb25lbnRzMSA9IGFzQ29sb3JDb21wb25lbnRzKGNv
bG9yMS50ZW1wbGF0ZSB0b0NvbG9yVHlwZUxvc3N5PENvbG9yVHlwZT4oKSk7CisgICAgYXV0byBj
b2xvckNvbXBvbmVudHMyID0gYXNDb2xvckNvbXBvbmVudHMoY29sb3IyLnRlbXBsYXRlIHRvQ29s
b3JUeXBlTG9zc3k8Q29sb3JUeXBlPigpKTsKKworICAgIC8vIFBlcmZvcm0gZml4dXBzIG9uIGFu
eSBodWUvYW5nbGUgY29tcG9uZW50cy4KKyAgICBjb25zdGV4cHIgYXV0byBjb21wb25lbnRJbmZv
ID0gQ29sb3JUeXBlOjpNb2RlbDo6Y29tcG9uZW50SW5mbzsKKyAgICBpZiBjb25zdGV4cHIgKGNv
bXBvbmVudEluZm9bMF0udHlwZSA9PSBDb2xvckNvbXBvbmVudFR5cGU6OkFuZ2xlKQorICAgICAg
ICBmaXh1cEh1ZUNvbXBvbmVudHNQcmlvclRvTWl4PDA+KGNvbG9yQ29tcG9uZW50czEsIGNvbG9y
Q29tcG9uZW50czIpOworICAgIGlmIGNvbnN0ZXhwciAoY29tcG9uZW50SW5mb1sxXS50eXBlID09
IENvbG9yQ29tcG9uZW50VHlwZTo6QW5nbGUpCisgICAgICAgIGZpeHVwSHVlQ29tcG9uZW50c1By
aW9yVG9NaXg8MT4oY29sb3JDb21wb25lbnRzMSwgY29sb3JDb21wb25lbnRzMik7CisgICAgaWYg
Y29uc3RleHByIChjb21wb25lbnRJbmZvWzJdLnR5cGUgPT0gQ29sb3JDb21wb25lbnRUeXBlOjpB
bmdsZSkKKyAgICAgICAgZml4dXBIdWVDb21wb25lbnRzUHJpb3JUb01peDwyPihjb2xvckNvbXBv
bmVudHMxLCBjb2xvckNvbXBvbmVudHMyKTsKKworICAgIGF1dG8gY29sb3JDb21wb25lbnRzTWl4
ZWQgPSBtYXBDb2xvckNvbXBvbmVudHMoWyZdIChhdXRvIGNvbXBvbmVudEZyb21Db2xvcjEsIGF1
dG8gY29tcG9uZW50RnJvbUNvbG9yMikgLT4gZmxvYXQgeworICAgICAgICByZXR1cm4gKGNvbXBv
bmVudEZyb21Db2xvcjEgKiBtaXhQZXJjZW50YWdlcy5wMSAvIDEwMC4wKSArIChjb21wb25lbnRG
cm9tQ29sb3IyICogbWl4UGVyY2VudGFnZXMucDIgLyAxMDAuMCk7CisgICAgfSwgY29sb3JDb21w
b25lbnRzMSwgY29sb3JDb21wb25lbnRzMik7CisKKyAgICByZXR1cm4gbWFrZUNvbG9yVHlwZUJ5
Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0ZXJNaXg8Q29sb3JUeXBlPihjb2xvckNvbXBvbmVudHNN
aXhlZCk7Cit9CisKK3N0YXRpYyBDb2xvciBtaXhDb2xvckNvbXBvbmVudHMoQ29sb3JNaXhDb2xv
clNwYWNlIGNvbG9yU3BhY2UsIGNvbnN0IENvbG9yTWl4Q29tcG9uZW50JiBtaXhDb21wb25lbnRz
MSwgY29uc3QgQ29sb3JNaXhDb21wb25lbnQmIG1peENvbXBvbmVudHMyKQoreworICAgIGF1dG8g
bWl4UGVyY2VudGFnZXMgPSBub3JtYWxpemVkTWl4UGVyY2VudGFnZXMobWl4Q29tcG9uZW50czEs
IG1peENvbXBvbmVudHMyKTsKKworICAgIHN3aXRjaCAoY29sb3JTcGFjZSkgeworICAgIGNhc2Ug
Q29sb3JNaXhDb2xvclNwYWNlOjpIc2w6CisgICAgICAgIHJldHVybiBtaXhDb2xvckNvbXBvbmVu
dHNJbkNvbG9yU3BhY2U8SFNMQTxmbG9hdD4+KG1peFBlcmNlbnRhZ2VzLCBtaXhDb21wb25lbnRz
MS5jb2xvciwgbWl4Q29tcG9uZW50czIuY29sb3IpOworICAgIGNhc2UgQ29sb3JNaXhDb2xvclNw
YWNlOjpId2I6CisgICAgICAgIHJldHVybiBtaXhDb2xvckNvbXBvbmVudHNJbkNvbG9yU3BhY2U8
SFdCQTxmbG9hdD4+KG1peFBlcmNlbnRhZ2VzLCBtaXhDb21wb25lbnRzMS5jb2xvciwgbWl4Q29t
cG9uZW50czIuY29sb3IpOworICAgIGNhc2UgQ29sb3JNaXhDb2xvclNwYWNlOjpMY2g6CisgICAg
ICAgIHJldHVybiBtaXhDb2xvckNvbXBvbmVudHNJbkNvbG9yU3BhY2U8TENIQTxmbG9hdD4+KG1p
eFBlcmNlbnRhZ2VzLCBtaXhDb21wb25lbnRzMS5jb2xvciwgbWl4Q29tcG9uZW50czIuY29sb3Ip
OworICAgIGNhc2UgQ29sb3JNaXhDb2xvclNwYWNlOjpMYWI6CisgICAgICAgIHJldHVybiBtaXhD
b2xvckNvbXBvbmVudHNJbkNvbG9yU3BhY2U8TGFiPGZsb2F0Pj4obWl4UGVyY2VudGFnZXMsIG1p
eENvbXBvbmVudHMxLmNvbG9yLCBtaXhDb21wb25lbnRzMi5jb2xvcik7CisgICAgY2FzZSBDb2xv
ck1peENvbG9yU3BhY2U6Olh5ejoKKyAgICAgICAgcmV0dXJuIG1peENvbG9yQ29tcG9uZW50c0lu
Q29sb3JTcGFjZTxYWVpBPGZsb2F0LCBXaGl0ZVBvaW50OjpENTA+PihtaXhQZXJjZW50YWdlcywg
bWl4Q29tcG9uZW50czEuY29sb3IsIG1peENvbXBvbmVudHMyLmNvbG9yKTsKKyAgICBjYXNlIENv
bG9yTWl4Q29sb3JTcGFjZTo6U3JnYjoKKyAgICAgICAgcmV0dXJuIG1peENvbG9yQ29tcG9uZW50
c0luQ29sb3JTcGFjZTxTUkdCQTxmbG9hdD4+KG1peFBlcmNlbnRhZ2VzLCBtaXhDb21wb25lbnRz
MS5jb2xvciwgbWl4Q29tcG9uZW50czIuY29sb3IpOwogICAgIH0KLQotICAgIGF1dG8gY2hhbm5l
bDAgPSBtaXhDb21wb25lbnRBdEluZGV4PDA+KGNvbG9yMSwgYWRqdXN0ZXIxLCBjb2xvcjIsIGFk
anVzdGVyMik7Ci0gICAgYXV0byBjaGFubmVsMSA9IG1peENvbXBvbmVudEF0SW5kZXg8MT4oY29s
b3IxLCBhZGp1c3RlcjEsIGNvbG9yMiwgYWRqdXN0ZXIyKTsKLSAgICBhdXRvIGNoYW5uZWwyID0g
bWl4Q29tcG9uZW50QXRJbmRleDwyPihjb2xvcjEsIGFkanVzdGVyMSwgY29sb3IyLCBhZGp1c3Rl
cjIpOwotICAgIGF1dG8gY2hhbm5lbDMgPSBtaXhDb21wb25lbnRBdEluZGV4PDM+KGNvbG9yMSwg
YWRqdXN0ZXIxLCBjb2xvcjIsIGFkanVzdGVyMik7Ci0KLSAgICByZXR1cm4gbWFrZUNvbG9yVHlw
ZUJ5Tm9ybWFsaXppbmdDb21wb25lbnRzQWZ0ZXJNaXg8Q29sb3JUeXBlPihjaGFubmVsMCwgY2hh
bm5lbDEsIGNoYW5uZWwyLCBjaGFubmVsMyk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEFkanVz
dGVyPiBzdGF0aWMgT3B0aW9uYWw8dHlwZW5hbWUgQWRqdXN0ZXI6OkNvbG9yVHlwZT4gcGFyc2VD
b2xvck1peEZ1bmN0aW9uUGFyYW1ldGVyc1VzaW5nQWRqdXN0ZXJzKENTU1BhcnNlclRva2VuUmFu
Z2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCi17Ci0gICAgYXV0byBt
aXhDb21wb25lbnRzMSA9IGNvbnN1bWVNaXhDb21wb25lbnRzPEFkanVzdGVyPihhcmdzLCBjb250
ZXh0KTsKLSAgICBpZiAoIW1peENvbXBvbmVudHMxKQotICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwotCi0gICAgLy8gRklYTUU6IFRoaXMgY29tbWEgaXMgbm90IGluIHRoZSBncmFtbWFyLCBi
dXQgaXMgaW4gYWxsIHRoZSBleGFtcGxlcy4KLSAgICBpZiAoIWNvbnN1bWVDb21tYUluY2x1ZGlu
Z1doaXRlc3BhY2UoYXJncykpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBh
dXRvIG1peENvbXBvbmVudHMyID0gY29uc3VtZU1peENvbXBvbmVudHM8QWRqdXN0ZXI+KGFyZ3Ms
IGNvbnRleHQpOwotICAgIGlmICghbWl4Q29tcG9uZW50czIpCi0gICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7Ci0KLSAgICByZXR1cm4gbWl4KCptaXhDb21wb25lbnRzMSwgKm1peENvbXBvbmVu
dHMyKTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlQ29sb3JNaXhGdW5jdGlvblBhcmFtZXRlcnMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRl
eHQpCkBAIC0xODgxLDUwICsxNzQ4LDI4IEBAIHN0YXRpYyBDb2xvciBwYXJzZUNvbG9yTWl4RnVu
Y3Rpb25QYXJhbWUKIAogICAgIGF1dG8gYXJncyA9IGNvbnN1bWVGdW5jdGlvbihyYW5nZSk7CiAK
LSAgICBhdXRvIGNvbnN1bWVJZGVudEFuZENvbW1hID0gW10oQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
YXJncykgewotICAgICAgICBjb25zdW1lSWRlbnRSYXcoYXJncyk7Ci0gICAgICAgIC8vIEZJWE1F
OiBUaGlzIGNvbW1hIGlzIG5vdCBpbiB0aGUgZ3JhbW1hciwgYnV0IGlzIGluIGFsbCB0aGUgZXhh
bXBsZXMuCi0gICAgICAgIHJldHVybiBjb25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKGFy
Z3MpOwotICAgIH07CisgICAgaWYgKCFjb25zdW1lSWRlbnRSYXc8Q1NTVmFsdWVJbj4oYXJncykp
CisgICAgICAgIHJldHVybiB7IH07CisgICAgCisgICAgYXV0byBjb2xvclNwYWNlID0gY29uc3Vt
ZUNvbG9yTWl4Q29sb3JTcGFjZUFuZENvbW1hKGFyZ3MpOworICAgIGlmICghY29sb3JTcGFjZSkK
KyAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHN3aXRjaCAoYXJncy5wZWVrKCkuaWQoKSkgewot
ICAgIGNhc2UgQ1NTVmFsdWVIc2w6IHsKLSAgICAgICAgaWYgKCFjb25zdW1lSWRlbnRBbmRDb21t
YShhcmdzKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIGF1dG8gaHNsID0gcGFy
c2VDb2xvck1peEZ1bmN0aW9uUGFyYW1ldGVyc1VzaW5nQWRqdXN0ZXJzPEhTTENvbG9yQWRqdXN0
ZXI+KGFyZ3MsIGNvbnRleHQpOwotICAgICAgICBpZiAoIWhzbCkKLSAgICAgICAgICAgIHJldHVy
biB7IH07Ci0gICAgICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KCpoc2wp
OwotICAgIH0KLSAgICBjYXNlIENTU1ZhbHVlSHdiOiB7Ci0gICAgICAgIGlmICghY29uc3VtZUlk
ZW50QW5kQ29tbWEoYXJncykpCi0gICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAgICBhdXRv
IGh3YiA9IHBhcnNlQ29sb3JNaXhGdW5jdGlvblBhcmFtZXRlcnNVc2luZ0FkanVzdGVyczxIV0JD
b2xvckFkanVzdGVyPihhcmdzLCBjb250ZXh0KTsKLSAgICAgICAgaWYgKCFod2IpCi0gICAgICAg
ICAgICByZXR1cm4geyB9OwotICAgICAgICByZXR1cm4gY29udmVydENvbG9yPFNSR0JBPHVpbnQ4
X3Q+PigqaHdiKTsKLSAgICB9Ci0gICAgY2FzZSBDU1NWYWx1ZUxjaDoKLSAgICAgICAgaWYgKCFj
b25zdW1lSWRlbnRBbmRDb21tYShhcmdzKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAg
ICAgIHJldHVybiBwYXJzZUNvbG9yTWl4RnVuY3Rpb25QYXJhbWV0ZXJzVXNpbmdBZGp1c3RlcnM8
TENIQ29sb3JBZGp1c3Rlcj4oYXJncywgY29udGV4dCk7Ci0gICAgY2FzZSBDU1NWYWx1ZUxhYjoK
LSAgICAgICAgaWYgKCFjb25zdW1lSWRlbnRBbmRDb21tYShhcmdzKSkKLSAgICAgICAgICAgIHJl
dHVybiB7IH07Ci0gICAgICAgIHJldHVybiBwYXJzZUNvbG9yTWl4RnVuY3Rpb25QYXJhbWV0ZXJz
VXNpbmdBZGp1c3RlcnM8TGFiQ29sb3JBZGp1c3Rlcj4oYXJncywgY29udGV4dCk7Ci0gICAgY2Fz
ZSBDU1NWYWx1ZVh5ejoKLSAgICAgICAgaWYgKCFjb25zdW1lSWRlbnRBbmRDb21tYShhcmdzKSkK
LSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIHJldHVybiBwYXJzZUNvbG9yTWl4RnVu
Y3Rpb25QYXJhbWV0ZXJzVXNpbmdBZGp1c3RlcnM8WFlaQ29sb3JBZGp1c3Rlcj4oYXJncywgY29u
dGV4dCk7Ci0gICAgY2FzZSBDU1NWYWx1ZVNSR0I6Ci0gICAgICAgIGlmICghY29uc3VtZUlkZW50
QW5kQ29tbWEoYXJncykpCi0gICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAgICByZXR1cm4g
cGFyc2VDb2xvck1peEZ1bmN0aW9uUGFyYW1ldGVyc1VzaW5nQWRqdXN0ZXJzPFNSR0JDb2xvckFk
anVzdGVyPihhcmdzLCBjb250ZXh0KTsKLSAgICBkZWZhdWx0OgotICAgICAgICAvLyBEZWZhdWx0
IHRvIHVzaW5nIExDSCBpZiBubyBjb2xvciBzcGFjZSBpcyBwcm92aWRlZCBhcyBwZXIgdGhlIHNw
ZWMuCi0gICAgICAgIC8vIEZJWE1FOiBUaGlzIGJlaGF2aW9yIGlzIHVubmVjZXNzYXJpbHkgY29u
ZnVzaW5nLCB3ZSBzaG91bGQgcmVtb3ZlIHRoZSBkZWZhdWx0IGZyb20gdGhlIHNwZWMuCi0gICAg
ICAgIHJldHVybiBwYXJzZUNvbG9yTWl4RnVuY3Rpb25QYXJhbWV0ZXJzVXNpbmdBZGp1c3RlcnM8
TENIQ29sb3JBZGp1c3Rlcj4oYXJncywgY29udGV4dCk7Ci0gICAgfQorICAgIGF1dG8gbWl4Q29t
cG9uZW50MSA9IGNvbnN1bWVDb2xvck1peENvbXBvbmVudChhcmdzLCBjb250ZXh0KTsKKyAgICBp
ZiAoIW1peENvbXBvbmVudDEpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBpZiAoIWNvbnN1
bWVDb21tYUluY2x1ZGluZ1doaXRlc3BhY2UoYXJncykpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBhdXRvIG1peENvbXBvbmVudDIgPSBjb25zdW1lQ29sb3JNaXhDb21wb25lbnQoYXJncywg
Y29udGV4dCk7CisgICAgaWYgKCFtaXhDb21wb25lbnQyKQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgaWYgKCFhcmdzLmF0RW5kKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1
cm4gbWl4Q29sb3JDb21wb25lbnRzKCpjb2xvclNwYWNlLCAqbWl4Q29tcG9uZW50MSwgKm1peENv
bXBvbmVudDIpOwogfQogCiBzdGF0aWMgT3B0aW9uYWw8U1JHQkE8dWludDhfdD4+IHBhcnNlSGV4
Q29sb3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGJvb2wgYWNjZXB0UXVpcmt5Q29sb3Jz
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JNb2RlbHMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvck1vZGVs
cy5oCShyZXZpc2lvbiAyNzQ5MDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Db2xvck1vZGVscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgQWxwaGFUcmFpdHM7Ci10
ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IENvbG9yQ29tcG9uZW50UmFuZ2U7Cit0ZW1wbGF0ZTx0
eXBlbmFtZT4gc3RydWN0IENvbG9yQ29tcG9uZW50SW5mbzsKIHRlbXBsYXRlPHR5cGVuYW1lPiBz
dHJ1Y3QgRXh0ZW5kZWRSR0JNb2RlbDsKIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgSFNMTW9k
ZWw7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IEhXQk1vZGVsOwpAQCAtNTEsNzkgKzUxLDg2
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFscGhhVHJhaXRzPHVpbnQ4X3Q+IHsKICAgICBzdGF0aWMg
Y29uc3RleHByIHVpbnQ4X3Qgb3BhcXVlID0gMjU1OwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gc3RydWN0IENvbG9yQ29tcG9uZW50UmFuZ2UgeworZW51bSBjbGFzcyBDb2xvckNvbXBvbmVu
dFR5cGUgeworICAgIEFuZ2xlLAorICAgIE51bWJlciwKKyAgICBQZXJjZW50YWdlCit9OworCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ29sb3JDb21wb25lbnRJbmZvIHsKICAgICBUIG1p
bjsKICAgICBUIG1heDsKKyAgICBDb2xvckNvbXBvbmVudFR5cGUgdHlwZTsKIH07CiAKIHRlbXBs
YXRlPD4gc3RydWN0IEV4dGVuZGVkUkdCTW9kZWw8ZmxvYXQ+IHsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIHN0ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRSYW5nZTxmbG9hdD4sIDM+IHJhbmdlcyB7IHsK
LSAgICAgICAgeyAtc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCksIHN0ZDo6
bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpIH0sCi0gICAgICAgIHsgLXN0ZDo6bnVt
ZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0
Pjo6aW5maW5pdHkoKSB9LAotICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6
aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkgfQorICAg
IHN0YXRpYyBjb25zdGV4cHIgc3RkOjphcnJheTxDb2xvckNvbXBvbmVudEluZm88ZmxvYXQ+LCAz
PiBjb21wb25lbnRJbmZvIHsgeworICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0
Pjo6aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCksIENv
bG9yQ29tcG9uZW50VHlwZTo6TnVtYmVyIH0sCisgICAgICAgIHsgLXN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5p
dHkoKSwgQ29sb3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfSwKKyAgICAgICAgeyAtc3RkOjpudW1l
cmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCksIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+
OjppbmZpbml0eSgpLCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9CiAgICAgfSB9OwogICAg
IHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0ludmVydGlibGUgPSBmYWxzZTsKIH07CiAKIHRlbXBs
YXRlPD4gc3RydWN0IEhTTE1vZGVsPGZsb2F0PiB7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBzdGQ6
OmFycmF5PENvbG9yQ29tcG9uZW50UmFuZ2U8ZmxvYXQ+LCAzPiByYW5nZXMgeyB7Ci0gICAgICAg
IHsgMCwgMzYwIH0sCi0gICAgICAgIHsgMCwgMTAwIH0sCi0gICAgICAgIHsgMCwgMTAwIH0KKyAg
ICBzdGF0aWMgY29uc3RleHByIHN0ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRJbmZvPGZsb2F0Piwg
Mz4gY29tcG9uZW50SW5mbyB7IHsKKyAgICAgICAgeyAwLCAzNjAsIENvbG9yQ29tcG9uZW50VHlw
ZTo6QW5nbGUgfSwKKyAgICAgICAgeyAwLCAxMDAsIENvbG9yQ29tcG9uZW50VHlwZTo6UGVyY2Vu
dGFnZSB9LAorICAgICAgICB7IDAsIDEwMCwgQ29sb3JDb21wb25lbnRUeXBlOjpQZXJjZW50YWdl
IH0KICAgICB9IH07CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzSW52ZXJ0aWJsZSA9IGZh
bHNlOwogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSFdCTW9kZWw8ZmxvYXQ+IHsKLSAgICBzdGF0
aWMgY29uc3RleHByIHN0ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRSYW5nZTxmbG9hdD4sIDM+IHJh
bmdlcyB7IHsKLSAgICAgICAgeyAwLCAzNjAgfSwKLSAgICAgICAgeyAwLCAxMDAgfSwKLSAgICAg
ICAgeyAwLCAxMDAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgc3RkOjphcnJheTxDb2xvckNvbXBv
bmVudEluZm88ZmxvYXQ+LCAzPiBjb21wb25lbnRJbmZvIHsgeworICAgICAgICB7IDAsIDM2MCwg
Q29sb3JDb21wb25lbnRUeXBlOjpBbmdsZSB9LAorICAgICAgICB7IDAsIDEwMCwgQ29sb3JDb21w
b25lbnRUeXBlOjpQZXJjZW50YWdlIH0sCisgICAgICAgIHsgMCwgMTAwLCBDb2xvckNvbXBvbmVu
dFR5cGU6OlBlcmNlbnRhZ2UgfQogICAgIH0gfTsKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wg
aXNJbnZlcnRpYmxlID0gZmFsc2U7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBMYWJNb2RlbDxm
bG9hdD4gewotICAgIHN0YXRpYyBjb25zdGV4cHIgc3RkOjphcnJheTxDb2xvckNvbXBvbmVudFJh
bmdlPGZsb2F0PiwgMz4gcmFuZ2VzIHsgewotICAgICAgICB7IDAsIHN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpIH0sCi0gICAgICAgIHsgLXN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHko
KSB9LAotICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSwg
c3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkgfQorICAgIHN0YXRpYyBjb25z
dGV4cHIgc3RkOjphcnJheTxDb2xvckNvbXBvbmVudEluZm88ZmxvYXQ+LCAzPiBjb21wb25lbnRJ
bmZvIHsgeworICAgICAgICB7IDAsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0
eSgpLCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9LAorICAgICAgICB7IC1zdGQ6Om51bWVy
aWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46
OmluZmluaXR5KCksIENvbG9yQ29tcG9uZW50VHlwZTo6TnVtYmVyIH0sCisgICAgICAgIHsgLXN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6aW5maW5pdHkoKSwgQ29sb3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfQogICAgIH0g
fTsKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNJbnZlcnRpYmxlID0gZmFsc2U7CiB9Owog
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBMQ0hNb2RlbDxmbG9hdD4gewotICAgIHN0YXRpYyBjb25zdGV4
cHIgc3RkOjphcnJheTxDb2xvckNvbXBvbmVudFJhbmdlPGZsb2F0PiwgMz4gcmFuZ2VzIHsgewot
ICAgICAgICB7IDAsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpIH0sCi0g
ICAgICAgIHsgMCwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkgfSwKLSAg
ICAgICAgeyAwLCAzNjAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgc3RkOjphcnJheTxDb2xvckNv
bXBvbmVudEluZm88ZmxvYXQ+LCAzPiBjb21wb25lbnRJbmZvIHsgeworICAgICAgICB7IDAsIHN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBDb2xvckNvbXBvbmVudFR5cGU6
Ok51bWJlciB9LAorICAgICAgICB7IDAsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZp
bml0eSgpLCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9LAorICAgICAgICB7IDAsIDM2MCwg
Q29sb3JDb21wb25lbnRUeXBlOjpBbmdsZSB9CiAgICAgfSB9OwogICAgIHN0YXRpYyBjb25zdGV4
cHIgYm9vbCBpc0ludmVydGlibGUgPSBmYWxzZTsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IFJH
Qk1vZGVsPGZsb2F0PiB7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBzdGQ6OmFycmF5PENvbG9yQ29t
cG9uZW50UmFuZ2U8ZmxvYXQ+LCAzPiByYW5nZXMgeyB7Ci0gICAgICAgIHsgMCwgMSB9LAotICAg
ICAgICB7IDAsIDEgfSwKLSAgICAgICAgeyAwLCAxIH0KKyAgICBzdGF0aWMgY29uc3RleHByIHN0
ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRJbmZvPGZsb2F0PiwgMz4gY29tcG9uZW50SW5mbyB7IHsK
KyAgICAgICAgeyAwLCAxLCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9LAorICAgICAgICB7
IDAsIDEsIENvbG9yQ29tcG9uZW50VHlwZTo6TnVtYmVyIH0sCisgICAgICAgIHsgMCwgMSwgQ29s
b3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfQogICAgIH0gfTsKICAgICBzdGF0aWMgY29uc3RleHBy
IGJvb2wgaXNJbnZlcnRpYmxlID0gdHJ1ZTsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IFJHQk1v
ZGVsPHVpbnQ4X3Q+IHsKLSAgICBzdGF0aWMgY29uc3RleHByIHN0ZDo6YXJyYXk8Q29sb3JDb21w
b25lbnRSYW5nZTx1aW50OF90PiwgMz4gcmFuZ2VzIHsgewotICAgICAgICB7IDAsIDI1NSB9LAot
ICAgICAgICB7IDAsIDI1NSB9LAotICAgICAgICB7IDAsIDI1NSB9CisgICAgc3RhdGljIGNvbnN0
ZXhwciBzdGQ6OmFycmF5PENvbG9yQ29tcG9uZW50SW5mbzx1aW50OF90PiwgMz4gY29tcG9uZW50
SW5mbyB7IHsKKyAgICAgICAgeyAwLCAyNTUsIENvbG9yQ29tcG9uZW50VHlwZTo6TnVtYmVyIH0s
CisgICAgICAgIHsgMCwgMjU1LCBDb2xvckNvbXBvbmVudFR5cGU6Ok51bWJlciB9LAorICAgICAg
ICB7IDAsIDI1NSwgQ29sb3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfQogICAgIH0gfTsKICAgICBz
dGF0aWMgY29uc3RleHByIGJvb2wgaXNJbnZlcnRpYmxlID0gdHJ1ZTsKIH07CiAKIHRlbXBsYXRl
PD4gc3RydWN0IFhZWk1vZGVsPGZsb2F0PiB7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBzdGQ6OmFy
cmF5PENvbG9yQ29tcG9uZW50UmFuZ2U8ZmxvYXQ+LCAzPiByYW5nZXMgeyB7Ci0gICAgICAgIHsg
LXN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGlt
aXRzPGZsb2F0Pjo6aW5maW5pdHkoKSB9LAotICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5
KCkgfSwKLSAgICAgICAgeyAtc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCks
IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpIH0KKyAgICBzdGF0aWMgY29u
c3RleHByIHN0ZDo6YXJyYXk8Q29sb3JDb21wb25lbnRJbmZvPGZsb2F0PiwgMz4gY29tcG9uZW50
SW5mbyB7IHsKKyAgICAgICAgeyAtc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5
KCksIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpLCBDb2xvckNvbXBvbmVu
dFR5cGU6Ok51bWJlciB9LAorICAgICAgICB7IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6
aW5maW5pdHkoKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCksIENvbG9y
Q29tcG9uZW50VHlwZTo6TnVtYmVyIH0sCisgICAgICAgIHsgLXN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpLCBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHko
KSwgQ29sb3JDb21wb25lbnRUeXBlOjpOdW1iZXIgfQogICAgIH0gfTsKICAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgaXNJbnZlcnRpYmxlID0gZmFsc2U7CiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JUeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVHlwZXMuaAkocmV2aXNpb24gMjc0OTA1KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JUeXBlcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC01NSwyNCArNTUsMjQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ29sb3JUeXBlLCB1
bnNpZ25lZCBJbgogewogICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19pbnRlZ3JhbF92PFQ+KTsK
IAotICAgIGNvbnN0ZXhwciBhdXRvIHJhbmdlID0gQ29sb3JUeXBlOjpNb2RlbDo6cmFuZ2VzW0lu
ZGV4XTsKLSAgICByZXR1cm4gc3RkOjpjbGFtcDxUPihjLCByYW5nZS5taW4sIHJhbmdlLm1heCk7
CisgICAgY29uc3RleHByIGF1dG8gY29tcG9uZW50SW5mbyA9IENvbG9yVHlwZTo6TW9kZWw6OmNv
bXBvbmVudEluZm9bSW5kZXhdOworICAgIHJldHVybiBzdGQ6OmNsYW1wPFQ+KGMsIGNvbXBvbmVu
dEluZm8ubWluLCBjb21wb25lbnRJbmZvLm1heCk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENv
bG9yVHlwZSwgdW5zaWduZWQgSW5kZXg+IGNvbnN0ZXhwciBmbG9hdCBjbGFtcGVkQ29tcG9uZW50
KGZsb2F0IGMpCiB7Ci0gICAgY29uc3RleHByIGF1dG8gcmFuZ2UgPSBDb2xvclR5cGU6Ok1vZGVs
OjpyYW5nZXNbSW5kZXhdOworICAgIGNvbnN0ZXhwciBhdXRvIGNvbXBvbmVudEluZm8gPSBDb2xv
clR5cGU6Ok1vZGVsOjpjb21wb25lbnRJbmZvW0luZGV4XTsKIAotICAgIGlmIGNvbnN0ZXhwciAo
cmFuZ2UubWluID09IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSAmJiBy
YW5nZS5tYXggPT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpCisgICAg
aWYgY29uc3RleHByIChjb21wb25lbnRJbmZvLm1pbiA9PSAtc3RkOjpudW1lcmljX2xpbWl0czxm
bG9hdD46OmluZmluaXR5KCkgJiYgY29tcG9uZW50SW5mby5tYXggPT0gc3RkOjpudW1lcmljX2xp
bWl0czxmbG9hdD46OmluZmluaXR5KCkpCiAgICAgICAgIHJldHVybiBjOwogCi0gICAgaWYgY29u
c3RleHByIChyYW5nZS5taW4gPT0gLXN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0
eSgpKQotICAgICAgICByZXR1cm4gc3RkOjptaW4oYywgcmFuZ2UubWF4KTsKKyAgICBpZiBjb25z
dGV4cHIgKGNvbXBvbmVudEluZm8ubWluID09IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6
aW5maW5pdHkoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWluKGMsIGNvbXBvbmVudEluZm8ubWF4
KTsKIAotICAgIGlmIGNvbnN0ZXhwciAocmFuZ2UubWF4ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpKQotICAgICAgICByZXR1cm4gc3RkOjptYXgoYywgcmFuZ2UubWlu
KTsKKyAgICBpZiBjb25zdGV4cHIgKGNvbXBvbmVudEluZm8ubWF4ID09IHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKQorICAgICAgICByZXR1cm4gc3RkOjptYXgoYywgY29t
cG9uZW50SW5mby5taW4pOwogCi0gICAgcmV0dXJuIHN0ZDo6Y2xhbXAoYywgcmFuZ2UubWluLCBy
YW5nZS5tYXgpOworICAgIHJldHVybiBzdGQ6OmNsYW1wKGMsIGNvbXBvbmVudEluZm8ubWluLCBj
b21wb25lbnRJbmZvLm1heCk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENvbG9yVHlwZSwgdW5z
aWduZWQgSW5kZXgsIHR5cGVuYW1lIFQ+IGNvbnN0ZXhwciBUIGNsYW1wZWRDb21wb25lbnQoY29u
c3QgQ29sb3JDb21wb25lbnRzPFQ+JiBjKQpAQCAtMTI3LDggKzEyNyw4IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNvbnN0ZXhwciB2b2lkIGFzc2UKICAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNf
c2FtZV92PHR5cGVuYW1lIFQ6OkNvbXBvbmVudFR5cGUsIGZsb2F0PikgewogICAgICAgICBhdXRv
IGNvbXBvbmVudHMgPSBhc0NvbG9yQ29tcG9uZW50cyhjb2xvcik7CiAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCAzOyArK2kpIHsKLSAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NB
R0UoY29tcG9uZW50c1tpXSA+PSBUOjpNb2RlbDo6cmFuZ2VzW2ldLm1pbiwgIkNvbXBvbmVudCBh
dCBpbmRleCAlZCBpcyAlZiBhbmQgaXMgbGVzcyB0aGFuIHRoZSBhbGxvd2VkIG1pbmltdW0gJWYi
LCBpLCAgY29tcG9uZW50c1tpXSwgVDo6TW9kZWw6OnJhbmdlc1tpXS5taW4pOwotICAgICAgICAg
ICAgQVNTRVJUX1dJVEhfTUVTU0FHRShjb21wb25lbnRzW2ldIDw9IFQ6Ok1vZGVsOjpyYW5nZXNb
aV0ubWF4LCAiQ29tcG9uZW50IGF0IGluZGV4ICVkIGlzICVmIGFuZCBpcyBncmVhdGVyIHRoYW4g
dGhlIGFsbG93ZWQgbWF4aW11bSAlZiIsIGksICBjb21wb25lbnRzW2ldLCBUOjpNb2RlbDo6cmFu
Z2VzW2ldLm1heCk7CisgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGNvbXBvbmVudHNb
aV0gPj0gVDo6TW9kZWw6OmNvbXBvbmVudEluZm9baV0ubWluLCAiQ29tcG9uZW50IGF0IGluZGV4
ICVkIGlzICVmIGFuZCBpcyBsZXNzIHRoYW4gdGhlIGFsbG93ZWQgbWluaW11bSAlZiIsIGksICBj
b21wb25lbnRzW2ldLCBUOjpNb2RlbDo6Y29tcG9uZW50SW5mb1tpXS5taW4pOworICAgICAgICAg
ICAgQVNTRVJUX1dJVEhfTUVTU0FHRShjb21wb25lbnRzW2ldIDw9IFQ6Ok1vZGVsOjpjb21wb25l
bnRJbmZvW2ldLm1heCwgIkNvbXBvbmVudCBhdCBpbmRleCAlZCBpcyAlZiBhbmQgaXMgZ3JlYXRl
ciB0aGFuIHRoZSBhbGxvd2VkIG1heGltdW0gJWYiLCBpLCAgY29tcG9uZW50c1tpXSwgVDo6TW9k
ZWw6OmNvbXBvbmVudEluZm9baV0ubWF4KTsKICAgICAgICAgfQogICAgICAgICBBU1NFUlRfV0lU
SF9NRVNTQUdFKGNvbG9yLmFscGhhID49IEFscGhhVHJhaXRzPHR5cGVuYW1lIFQ6OkNvbXBvbmVu
dFR5cGU+Ojp0cmFuc3BhcmVudCwgIkFscGhhIGlzICVmIGFuZCBpcyBsZXNzIHRoYW4gdGhlIGFs
bG93ZWQgbWluaW11bSAodHJhbnNwYXJlbnQpICVmIiwgY29sb3IuYWxwaGEsIEFscGhhVHJhaXRz
PHR5cGVuYW1lIFQ6OkNvbXBvbmVudFR5cGU+Ojp0cmFuc3BhcmVudCk7CiAgICAgICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoY29sb3IuYWxwaGEgPD0gQWxwaGFUcmFpdHM8dHlwZW5hbWUgVDo6Q29t
cG9uZW50VHlwZT46Om9wYXF1ZSwgIkFscGhhIGlzICVmIGFuZCBpcyBncmVhdGVyIHRoYW4gdGhl
IGFsbG93ZWQgbWF4aW11bSAob3BhcXVlKSAlZiIsIGNvbG9yLmFscGhhLCBBbHBoYVRyYWl0czx0
eXBlbmFtZSBUOjpDb21wb25lbnRUeXBlPjo6b3BhcXVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JVdGlsaXRpZXMuaAkocmV2aXNpb24gMjc0
OTA1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JVdGlsaXRpZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIENv
bG9yVHlwZT4gY29uc3RleHByIEMKICAgICBhdXRvIGNvcHkgPSBjb21wb25lbnRzOwogCiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IDM7ICsraSkKLSAgICAgICAgY29weVtpXSA9IENvbG9y
VHlwZTo6TW9kZWw6OnJhbmdlc1tpXS5tYXggLSBjb21wb25lbnRzW2ldOworICAgICAgICBjb3B5
W2ldID0gQ29sb3JUeXBlOjpNb2RlbDo6Y29tcG9uZW50SW5mb1tpXS5tYXggLSBjb21wb25lbnRz
W2ldOwogICAgIGNvcHlbM10gPSBjb252ZXJ0Qnl0ZUFscGhhVG88dHlwZW5hbWUgQ29sb3JUeXBl
OjpDb21wb25lbnRUeXBlPihvdmVycmlkZUFscGhhKTsKIAogICAgIHJldHVybiBtYWtlRnJvbUNv
bXBvbmVudHM8Q29sb3JUeXBlPihjb3B5KTsKQEAgLTEzOSw3ICsxMzksNyBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBDb2xvclR5cGU+IENvbG9yVHlwZSBpCiAgICAgYXV0byBjb3B5ID0gY29tcG9uZW50
czsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAzOyArK2kpCi0gICAgICAgIGNvcHlb
aV0gPSBDb2xvclR5cGU6Ok1vZGVsOjpyYW5nZXNbaV0ubWF4IC0gY29tcG9uZW50c1tpXTsKKyAg
ICAgICAgY29weVtpXSA9IENvbG9yVHlwZTo6TW9kZWw6OmNvbXBvbmVudEluZm9baV0ubWF4IC0g
Y29tcG9uZW50c1tpXTsKICAgICBjb3B5WzNdID0gY29udmVydEZsb2F0QWxwaGFUbzx0eXBlbmFt
ZSBDb2xvclR5cGU6OkNvbXBvbmVudFR5cGU+KG92ZXJyaWRlQWxwaGEpOwogCiAgICAgcmV0dXJu
IG1ha2VGcm9tQ29tcG9uZW50czxDb2xvclR5cGU+KGNvcHkpOwpAQCAtMTY0LDggKzE2NCw4IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIENvbG9yVHlwZSwgdHlwZW5hbWUgc3QKIGNvbnN0ZXhwciBib29s
IGlzQmxhY2soY29uc3QgQ29sb3JUeXBlJiBjb2xvcikKIHsKICAgICBhdXRvIFtjMSwgYzIsIGMz
LCBhbHBoYV0gPSBjb2xvcjsKLSAgICBjb25zdGV4cHIgYXV0byByYW5nZXMgPSBDb2xvclR5cGU6
Ok1vZGVsOjpyYW5nZXM7Ci0gICAgcmV0dXJuIGMxID09IHJhbmdlc1swXS5taW4gJiYgYzIgPT0g
cmFuZ2VzWzFdLm1pbiAmJiBjMyA9PSByYW5nZXNbMl0ubWluICYmIGFscGhhID09IEFscGhhVHJh
aXRzPHR5cGVuYW1lIENvbG9yVHlwZTo6Q29tcG9uZW50VHlwZT46Om9wYXF1ZTsKKyAgICBjb25z
dGV4cHIgYXV0byBjb21wb25lbnRJbmZvID0gQ29sb3JUeXBlOjpNb2RlbDo6Y29tcG9uZW50SW5m
bzsKKyAgICByZXR1cm4gYzEgPT0gY29tcG9uZW50SW5mb1swXS5taW4gJiYgYzIgPT0gY29tcG9u
ZW50SW5mb1sxXS5taW4gJiYgYzMgPT0gY29tcG9uZW50SW5mb1syXS5taW4gJiYgYWxwaGEgPT0g
QWxwaGFUcmFpdHM8dHlwZW5hbWUgQ29sb3JUeXBlOjpDb21wb25lbnRUeXBlPjo6b3BhcXVlOwog
fQogCiB0ZW1wbGF0ZTxXaGl0ZVBvaW50IFc+IGNvbnN0ZXhwciBib29sIGlzV2hpdGUoY29uc3Qg
WFlaQTxmbG9hdCwgVz4mIGNvbG9yKQpAQCAtMTg3LDggKzE4Nyw4IEBAIHRlbXBsYXRlPHR5cGVu
YW1lIENvbG9yVHlwZSwgdHlwZW5hbWUgc3QKIGNvbnN0ZXhwciBib29sIGlzV2hpdGUoY29uc3Qg
Q29sb3JUeXBlJiBjb2xvcikKIHsKICAgICBhdXRvIFtjMSwgYzIsIGMzLCBhbHBoYV0gPSBjb2xv
cjsKLSAgICBjb25zdGV4cHIgYXV0byByYW5nZXMgPSBDb2xvclR5cGU6Ok1vZGVsOjpyYW5nZXM7
Ci0gICAgcmV0dXJuIGMxID09IHJhbmdlc1swXS5tYXggJiYgYzIgPT0gcmFuZ2VzWzFdLm1heCAm
JiBjMyA9PSByYW5nZXNbMl0ubWF4ICYmIGFscGhhID09IEFscGhhVHJhaXRzPHR5cGVuYW1lIENv
bG9yVHlwZTo6Q29tcG9uZW50VHlwZT46Om9wYXF1ZTsKKyAgICBjb25zdGV4cHIgYXV0byBjb21w
b25lbnRJbmZvID0gQ29sb3JUeXBlOjpNb2RlbDo6Y29tcG9uZW50SW5mbzsKKyAgICByZXR1cm4g
YzEgPT0gY29tcG9uZW50SW5mb1swXS5tYXggJiYgYzIgPT0gY29tcG9uZW50SW5mb1sxXS5tYXgg
JiYgYzMgPT0gY29tcG9uZW50SW5mb1syXS5tYXggJiYgYWxwaGEgPT0gQWxwaGFUcmFpdHM8dHlw
ZW5hbWUgQ29sb3JUeXBlOjpDb21wb25lbnRUeXBlPjo6b3BhcXVlOwogfQogCiBjb25zdGV4cHIg
dWludDE2X3QgZmFzdE11bHRpcGx5QnkyNTUodWludDE2X3QgdmFsdWUpCkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyNzQ5MDUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNCBAQAorMjAyMS0wMy0yMyAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+
CisKKyAgICAgICAgVXBkYXRlIENTUyBDb2xvciA1IGNvbG9yLW1peCgpIGltcGxlbWVudGF0aW9u
IHRvIG1hdGNoIHRoZSBsYXRlc3QgZHJhZnQgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLWNvbG9yLW1peC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvcGFyc2luZy1jb2xvci1taXguaHRtbDoKKyAg
ICAgICAgVXBkYXRlIHRlc3QgYW5kIHJlc3VsdHMgZm9yIHZhc3RseSBzaW1wbGlmaWVkIGNvbG9y
LW1peCgpLgorCiAyMDIxLTAzLTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFtHUFVQXSAyIHdlYiBhdWRpbyBXUFQgdGVzdHMgZmFpbCB3aGVuIG1lZGlhIGlu
IEdQVSBQcm9jZXNzIGlzIGVuYWJsZWQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNp
bmctY29sb3ItbWl4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9wYXJzaW5nLWNvbG9yLW1peC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NDkwNSkKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29sb3ItbWl4LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtNCwyMDAgKzQsNzYgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQQogCiAKIGNvbG9yLW1peChoc2wsIC4uLikKLVBBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUp
LCBoc2woMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYig4NCwgOTIsIDYxKSIKLVBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEw
JSAyMCUpIDI1JSwgaHNsKDMwZGVnIDMwJSA0MCUpKSIpIGlzICJyZ2IoMTEyLCAxMDYsIDY3KSIK
LVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBo
c2woMTIwZGVnIDEwJSAyMCUpLCBoc2woMzBkZWcgMzAlIDQwJSkgMjUlKSIpIGlzICJyZ2IoNjEs
IDczLCA1NCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3It
bWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSAyNSUsIGhzbCgzMGRlZyAzMCUgNDAlKSA3NSUp
IikgaXMgInJnYigxMTIsIDEwNiwgNjcpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgNTAlLCBoc2woMzBk
ZWcgMzAlIDQwJSkgMTUwJSkiKSBpcyAicmdiKDExMiwgMTA2LCA2NykiCi1QQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUg
MjAlKSAxMi41JSwgaHNsKDMwZGVnIDMwJSA0MCUpIDM3LjUlKSIpIGlzICJyZ2IoMTEyLCAxMDYs
IDY3KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgo
aHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIDAlLCBoc2woMzBkZWcgMzAlIDQwJSkpIikgaXMgInJn
YigxMzMsIDEwMiwgNzEpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSwgaHNsKDMwZGVnIDMw
JSA0MCUpKSIpIGlzICJyZ2IoNTMsIDU2LCA0NikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSwgaHNsKDMw
ZGVnIDMwJSA0MCUpIGh1ZSA1MCUpIikgaXMgInJnYig1MywgNTYsIDQ2KSIKLVBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEw
JSAyMCUpIGh1ZSA1MCUsIGhzbCgzMGRlZyAzMCUgNDAlKSBodWUgNTAlKSIpIGlzICJyZ2IoNTMs
IDU2LCA0NikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3It
bWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgMTAwJSwgaHNsKDMwZGVnIDMwJSA0MCUp
KSIpIGlzICJyZ2IoNDYsIDU2LCA0NikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlLCBoc2wo
MzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYig1MywgNTYsIDQ2KSIKLVBBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUp
IGh1ZSA1MCUgc2F0dXJhdGlvbiAxMDAlLCBoc2woMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYig1
MywgNTYsIDQ2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
ci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUgc2F0dXJhdGlvbiAxMDAlIGxp
Z2h0bmVzcyAxMDAlLCBoc2woMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYig1MywgNTYsIDQ2KSIK
LVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBo
c2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUgc2F0dXJhdGlvbiAxMDAlIGxpZ2h0bmVzcyAxMDAl
IGFscGhhIDEwMCUsIGhzbCgzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdiKDUzLCA1NiwgNDYpIgot
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChoc2wsIGhz
bCgxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSwgaHNsKDMwZGVnIDMwJSA0MCUpIHNhdHVyYXRpb24g
MCUpIikgaXMgInJnYig1MywgNTYsIDQ2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUsIGhz
bCgzMGRlZyAzMCUgNDAlKSBzYXR1cmF0aW9uIDAlIGxpZ2h0bmVzcyAwJSkiKSBpcyAicmdiKDUz
LCA1NiwgNDYpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
LW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSwgaHNsKDMwZGVnIDMwJSA0MCUp
IHNhdHVyYXRpb24gMCUgbGlnaHRuZXNzIDAlIGFscGhhIDAlKSIpIGlzICJyZ2IoNTMsIDU2LCA0
NikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGhz
bCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlIHNhdHVyYXRpb24gNzUlLCBoc2woMzBkZWcg
MzAlIDQwJSkpIikgaXMgInJnYig1NSwgNTksIDQzKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA1
MCUgc2F0dXJhdGlvbiA3NSUgbGlnaHRuZXNzIDE1JSwgaHNsKDMwZGVnIDMwJSA0MCUpKSIpIGlz
ICJyZ2IoMTAxLCAxMDgsIDgwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUgc2F0dXJhdGlv
biA3NSUgbGlnaHRuZXNzIDE1JSBhbHBoYSAxMCUsIGhzbCgzMGRlZyAzMCUgNDAlKSkiKSBpcyAi
cmdiKDEwMSwgMTA4LCA4MCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgNjAlLCBoc2woMzBkZWcg
MzAlIDQwJSkpIikgaXMgInJnYig1MiwgNTYsIDQ2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpLCBoc2wo
MzBkZWcgMzAlIDQwJSkgaHVlIDQwJSkiKSBpcyAicmdiKDUyLCA1NiwgNDYpIgotUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcg
MTAlIDIwJSkgaHVlIDYwJSwgaHNsKDMwZGVnIDMwJSA0MCUpIGh1ZSA0MCUpIikgaXMgInJnYig1
MiwgNTYsIDQ2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
ci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA2MCUgaHVlIDQwJSwgaHNsKDMwZGVn
IDMwJSA0MCUpKSIpIGlzICJyZ2IoNTUsIDU2LCA0NikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUg
NDAlLCBoc2woMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYig1NSwgNTYsIDQ2KSIKLVBBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVn
IDEwJSAyMCUpIGh1ZSwgaHNsKDMwZGVnIDMwJSA0MCUpKSIpIGlzICJyZ2IoNTYsIDUxLCA0Niki
Ci1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGhzbCwg
aHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgMCUsIGhzbCgzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdi
KDU2LCA1MSwgNDYpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgLTEwJSwgaHNsKDMwZGVnIDMwJSA0MCUp
KSIpIGlzICJyZ2IoMTMzLCAxMDIsIDcxKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIDAlLCBoc2woMzBk
ZWcgMzAlIDQwJSkpIikgaXMgInJnYigxMzMsIDEwMiwgNzEpIgotUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkg
aHVlIC0xMCUsIGhzbCgzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdiKDU2LCA1MSwgNDYpIgotUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChoc2wsIGhzbCgx
MjBkZWcgMTAlIDIwJSkgaHVlIDAlLCBoc2woMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYig1Niwg
NTEsIDQ2KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1t
aXgoaW4gaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpLCBoc2woMzBkZWcgMzAlIDQwJSkpIikgaXMg
InJnYig4NCwgOTIsIDYxKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvci1taXgoaW4gaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIDI1JSwgaHNsKDMwZGVnIDMw
JSA0MCUpKSIpIGlzICJyZ2IoMTEyLCAxMDYsIDY3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaW4gaHNsLCAyNSUgaHNsKDEyMGRlZyAxMCUgMjAl
KSwgaHNsKDMwZGVnIDMwJSA0MCUpKSIpIGlzICJyZ2IoMTEyLCAxMDYsIDY3KSIKK1BBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaW4gaHNsLCBoc2woMTIw
ZGVnIDEwJSAyMCUpLCAyNSUgaHNsKDMwZGVnIDMwJSA0MCUpKSIpIGlzICJyZ2IoNjEsIDczLCA1
NCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGlu
IGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSwgaHNsKDMwZGVnIDMwJSA0MCUpIDI1JSkiKSBpcyAi
cmdiKDYxLCA3MywgNTQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peChpbiBoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgMjUlLCBoc2woMzBkZWcgMzAl
IDQwJSkgNzUlKSIpIGlzICJyZ2IoMTEyLCAxMDYsIDY3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaW4gaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUp
IDUwJSwgaHNsKDMwZGVnIDMwJSA0MCUpIDE1MCUpIikgaXMgInJnYigxMTIsIDEwNiwgNjcpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiBoc2ws
IGhzbCgxMjBkZWcgMTAlIDIwJSkgMTIuNSUsIGhzbCgzMGRlZyAzMCUgNDAlKSAzNy41JSkiKSBp
cyAicmdiKDExMiwgMTA2LCA2NykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3ItbWl4KGluIGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSAwJSwgaHNsKDMwZGVn
IDMwJSA0MCUpKSIpIGlzICJyZ2IoMTMzLCAxMDIsIDcxKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaW4gaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUp
IC0xMCUsIGhzbCgzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdiKDE0MiwgOTcsIDcyKSIKIAogY29s
b3ItbWl4KGh3YiwgLi4uKQotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSksIGh3YigzMGRlZyAzMCUgNDAlKSki
KSBpcyAicmdiKDE0NywgMTc5LCA1MikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSAyNSUsIGh3YigzMGRl
ZyAzMCUgNDAlKSkiKSBpcyAicmdiKDE2NiwgMTUzLCA2NCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSwg
aHdiKDMwZGVnIDMwJSA0MCUpIDI1JSkiKSBpcyAicmdiKDk2LCAxOTEsIDM5KSIKLVBBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdiLCBod2IoMTIwZGVn
IDEwJSAyMCUpIDI1JSwgaHdiKDMwZGVnIDMwJSA0MCUpIDc1JSkiKSBpcyAicmdiKDE2NiwgMTUz
LCA2NCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4
KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSA1MCUsIGh3YigzMGRlZyAzMCUgNDAlKSAxNTAlKSIp
IGlzICJyZ2IoMTY2LCAxNTMsIDY0KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIDEyLjUlLCBod2IoMzBk
ZWcgMzAlIDQwJSkgMzcuNSUpIikgaXMgInJnYigxNjYsIDE1MywgNjQpIgotUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAl
IDIwJSkgMCUsIGh3YigzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdiKDE1MywgMTE1LCA3NykiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGh3YiwgaHdi
KDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlLCBod2IoMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYigx
NjAsIDIwNCwgMjYpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSksIGh3YigzMGRlZyAzMCUgNDAlKSBodWUg
NTAlKSIpIGlzICJyZ2IoMTYwLCAyMDQsIDI2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUs
IGh3YigzMGRlZyAzMCUgNDAlKSBodWUgNTAlKSIpIGlzICJyZ2IoMTYwLCAyMDQsIDI2KSIKLVBB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdiLCBod2Io
MTIwZGVnIDEwJSAyMCUpIGh1ZSAxMDAlLCBod2IoMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYigy
NiwgMjA0LCAyNikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlLCBod2IoMzBkZWcgMzAlIDQw
JSkpIikgaXMgInJnYigxNjAsIDIwNCwgMjYpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSB3
aGl0ZW5lc3MgMTAwJSwgaHdiKDMwZGVnIDMwJSA0MCUpKSIpIGlzICJyZ2IoMTYwLCAyMDQsIDI2
KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdi
LCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUgd2hpdGVuZXNzIDEwMCUgYmxhY2tuZXNzIDEw
MCUsIGh3YigzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdiKDE2MCwgMjA0LCAyNikiCi1QQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRl
ZyAxMCUgMjAlKSBodWUgNTAlIHdoaXRlbmVzcyAxMDAlIGJsYWNrbmVzcyAxMDAlIGFscGhhIDEw
MCUsIGh3YigzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdiKDE2MCwgMjA0LCAyNikiCi1QQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRl
ZyAxMCUgMjAlKSBodWUgNTAlLCBod2IoMzBkZWcgMzAlIDQwJSkgd2hpdGVuZXNzIDAlKSIpIGlz
ICJyZ2IoMTYwLCAyMDQsIDI2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUsIGh3YigzMGRl
ZyAzMCUgNDAlKSB3aGl0ZW5lc3MgMCUgYmxhY2tuZXNzIDAlKSIpIGlzICJyZ2IoMTYwLCAyMDQs
IDI2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgo
aHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUsIGh3YigzMGRlZyAzMCUgNDAlKSB3aGl0
ZW5lc3MgMCUgYmxhY2tuZXNzIDAlIGFscGhhIDAlKSIpIGlzICJyZ2IoMTYwLCAyMDQsIDI2KSIK
LVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdiLCBo
d2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUgd2hpdGVuZXNzIDc1JSwgaHdiKDMwZGVnIDMwJSA0
MCUpKSIpIGlzICJyZ2IoMTYzLCAyMDQsIDM5KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUg
d2hpdGVuZXNzIDc1JSBibGFja25lc3MgMTUlLCBod2IoMzBkZWcgMzAlIDQwJSkpIikgaXMgInJn
YigxMzAsIDE2MSwgMzkpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSB3aGl0ZW5lc3MgNzUl
IGJsYWNrbmVzcyAxNSUgYWxwaGEgMTAlLCBod2IoMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYigx
MzAsIDE2MSwgMzkpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVlIDYwJSwgaHdiKDMwZGVnIDMwJSA0
MCUpKSIpIGlzICJyZ2IoMTMzLCAyMDQsIDI2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpLCBod2IoMzBk
ZWcgMzAlIDQwJSkgaHVlIDQwJSkiKSBpcyAicmdiKDEzMywgMjA0LCAyNikiCi1QQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAx
MCUgMjAlKSBodWUgNjAlLCBod2IoMzBkZWcgMzAlIDQwJSkgaHVlIDQwJSkiKSBpcyAicmdiKDEz
MywgMjA0LCAyNikiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3ItbWl4KGh3YiwgaHdiKDEyMGRlZyA3NSUgMjUlKSB3aGl0ZW5lc3MgMTAwJSwgaHdiKDEyMGRl
ZyAyNSUgNzUlKSBibGFja25lc3MgMTAwJSkiKSBpcyAicmdiKDEyOCwgMTI4LCAxMjgpIgotUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChod2IsIGh3Yigx
MjBkZWcgMTAlIDIwJSkgaHVlIDYwJSBodWUgNDAlLCBod2IoMzBkZWcgMzAlIDQwJSkpIikgaXMg
InJnYigxODYsIDIwNCwgMjYpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVlIDQwJSwgaHdiKDMwZGVn
IDMwJSA0MCUpKSIpIGlzICJyZ2IoMTg2LCAyMDQsIDI2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1
ZSwgaHdiKDMwZGVnIDMwJSA0MCUpKSIpIGlzICJyZ2IoMjA0LCAxMTUsIDI2KSIKLVBBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdiLCBod2IoMTIwZGVn
IDEwJSAyMCUpIGh1ZSAwJSwgaHdiKDMwZGVnIDMwJSA0MCUpKSIpIGlzICJyZ2IoMjA0LCAxMTUs
IDI2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgo
aHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIC0xMCUsIGh3YigzMGRlZyAzMCUgNDAlKSkiKSBpcyAi
cmdiKDE1MywgMTE1LCA3NykiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSAwJSwgaHdiKDMwZGVnIDMwJSA0
MCUpKSIpIGlzICJyZ2IoMTUzLCAxMTUsIDc3KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSAtMTAl
LCBod2IoMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYigyMDQsIDExNSwgMjYpIgotUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChod2IsIGh3YigxMjBkZWcg
MTAlIDIwJSkgaHVlIDAlLCBod2IoMzBkZWcgMzAlIDQwJSkpIikgaXMgInJnYigyMDQsIDExNSwg
MjYpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChp
biBod2IsIGh3YigxMjBkZWcgMTAlIDIwJSksIGh3YigzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdi
KDE0NywgMTc5LCA1MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3ItbWl4KGluIGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSAyNSUsIGh3YigzMGRlZyAzMCUg
NDAlKSkiKSBpcyAicmdiKDE2NiwgMTUzLCA2NCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGh3YiwgMjUlIGh3YigxMjBkZWcgMTAlIDIwJSks
IGh3YigzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdiKDE2NiwgMTUzLCA2NCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGh3YiwgaHdiKDEyMGRl
ZyAxMCUgMjAlKSwgMjUlIGh3YigzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdiKDk2LCAxOTEsIDM5
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaW4g
aHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpLCBod2IoMzBkZWcgMzAlIDQwJSkgMjUlKSIpIGlzICJy
Z2IoOTYsIDE5MSwgMzkpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peChpbiBod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgMjUlLCBod2IoMzBkZWcgMzAl
IDQwJSkgNzUlKSIpIGlzICJyZ2IoMTY2LCAxNTMsIDY0KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaW4gaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUp
IDUwJSwgaHdiKDMwZGVnIDMwJSA0MCUpIDE1MCUpIikgaXMgInJnYigxNjYsIDE1MywgNjQpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiBod2Is
IGh3YigxMjBkZWcgMTAlIDIwJSkgMTIuNSUsIGh3YigzMGRlZyAzMCUgNDAlKSAzNy41JSkiKSBp
cyAicmdiKDE2NiwgMTUzLCA2NCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3ItbWl4KGluIGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSAwJSwgaHdiKDMwZGVn
IDMwJSA0MCUpKSIpIGlzICJyZ2IoMTUzLCAxMTUsIDc3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaW4gaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUp
IC0xMCUsIGh3YigzMGRlZyAzMCUgNDAlKSkiKSBpcyAicmdiKDE0OCwgMTA1LCA4MikiCiAKIGNv
bG9yLW1peChsY2gsIC4uLikKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpLCBsY2goNTAlIDYwIDcwZGVn
IC8gLjgpKSIpIGlzICJsY2goMzAlIDQwIDUwIC8gMC42KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQp
IDI1JSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSkiKSBpcyAibGNoKDQwJSA1MCA2MCAvIDAuNyki
Ci1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxjaCwg
bGNoKDEwJSAyMCAzMGRlZyAvIC40KSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSAyNSUpIikgaXMg
ImxjaCgyMCUgMzAgNDAgLyAwLjUpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yLW1peChsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgMjUlLCBsY2goNTAl
IDYwIDcwZGVnIC8gLjgpIDc1JSkiKSBpcyAibGNoKDQwJSA1MCA2MCAvIDAuNykiCi1QQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAy
MCAzMGRlZyAvIC40KSA1MCUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkgMTUwJSkiKSBpcyAibGNo
KDQwJSA1MCA2MCAvIDAuNykiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSAxMi41JSwgbGNoKDUwJSA2
MCA3MGRlZyAvIC44KSAzNy41JSkiKSBpcyAibGNoKDQwJSA1MCA2MCAvIDAuNykiCi1QQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAy
MCAzMGRlZyAvIC40KSAwJSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSkiKSBpcyAibGNoKDUwJSA2
MCA3MCAvIDAuOCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNTAlLCBsY2goNTAl
IDYwIDcwZGVnIC8gLjgpKSIpIGlzICJsY2goMzAlIDIwIDMwIC8gMC40KSIKLVBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMw
ZGVnIC8gLjQpLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpIGxpZ2h0bmVzcyA1MCUpIikgaXMgImxj
aCgzMCUgMjAgMzAgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yLW1peChsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgbGlnaHRuZXNzIDUwJSwg
bGNoKDUwJSA2MCA3MGRlZyAvIC44KSBsaWdodG5lc3MgNTAlKSIpIGlzICJsY2goMzAlIDIwIDMw
IC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1t
aXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyAxMDAlLCBsY2goNTAlIDYw
IDcwZGVnIC8gLjgpKSIpIGlzICJsY2goMTAlIDIwIDMwIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVn
IC8gLjQpIGxpZ2h0bmVzcyA1MCUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkpIikgaXMgImxjaCgz
MCUgMjAgMzAgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peChsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgbGlnaHRuZXNzIDUwJSBjaHJv
bWEgMTAwJSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSkiKSBpcyAibGNoKDMwJSAyMCAzMCAvIDAu
NCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxj
aCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNTAlIGNocm9tYSAxMDAlIGh1ZSAx
MDAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKSIpIGlzICJsY2goMzAlIDIwIDMwIC8gMC40KSIK
LVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGNoLCBs
Y2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyA1MCUgY2hyb21hIDEwMCUgaHVlIDEwMCUg
YWxwaGEgMTAwJSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSkiKSBpcyAibGNoKDMwJSAyMCAzMCAv
IDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4
KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNTAlLCBsY2goNTAlIDYwIDcw
ZGVnIC8gLjgpIGNocm9tYSAwJSkiKSBpcyAibGNoKDMwJSAyMCAzMCAvIDAuNCkiCi1QQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAy
MCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNTAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpIGNocm9t
YSAwJSBodWUgMCUpIikgaXMgImxjaCgzMCUgMjAgMzAgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChsY2gsIGxjaCgxMCUgMjAgMzBkZWcg
LyAuNCkgbGlnaHRuZXNzIDUwJSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSBjaHJvbWEgMCUgaHVl
IDAlIGFscGhhIDAlKSIpIGlzICJsY2goMzAlIDIwIDMwIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVn
IC8gLjQpIGxpZ2h0bmVzcyA1MCUgY2hyb21hIDc1JSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSki
KSBpcyAibGNoKDMwJSAzMCAzMCAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSBsaWdodG5l
c3MgNTAlIGNocm9tYSA3NSUgaHVlIDE1JSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSkiKSBpcyAi
bGNoKDMwJSAzMCA2NCAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNTAl
IGNocm9tYSA3NSUgaHVlIDE1JSBhbHBoYSAxMCUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkpIikg
aXMgImxjaCgzMCUgMzAgNjQgLyAwLjc2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVz
cyA2MCUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkpIikgaXMgImxjaCgyNiUgMjAgMzAgLyAwLjQp
IgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChsY2gs
IGxjaCgxMCUgMjAgMzBkZWcgLyAuNCksIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkgbGlnaHRuZXNz
IDQwJSkiKSBpcyAibGNoKDI2JSAyMCAzMCAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSBs
aWdodG5lc3MgNjAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpIGxpZ2h0bmVzcyA0MCUpIikgaXMg
ImxjaCgyNiUgMjAgMzAgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yLW1peChsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgbGlnaHRuZXNzIDYw
JSBsaWdodG5lc3MgNDAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKSIpIGlzICJsY2goMzQlIDIw
IDMwIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
ci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyA0MCUsIGxjaCg1MCUg
NjAgNzBkZWcgLyAuOCkpIikgaXMgImxjaCgzNCUgMjAgMzAgLyAwLjQpIgotUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChsY2gsIGxjaCgxMCUgMjAgMzBk
ZWcgLyAuNCkgbGlnaHRuZXNzLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKSIpIGlzICJsY2goNTAl
IDIwIDMwIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyAwJSwgbGNoKDUw
JSA2MCA3MGRlZyAvIC44KSkiKSBpcyAibGNoKDUwJSAyMCAzMCAvIDAuNCkiCi1QQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAz
MGRlZyAvIC40KSAtMTAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKSIpIGlzICJsY2goNTAlIDYw
IDcwIC8gMC44KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
ci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIDAlLCBsY2goNTAlIDYwIDcwZGVnIC8g
LjgpKSIpIGlzICJsY2goNTAlIDYwIDcwIC8gMC44KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxp
Z2h0bmVzcyAtMTAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKSIpIGlzICJsY2goNTAlIDIwIDMw
IC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1t
aXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyAwJSwgbGNoKDUwJSA2MCA3
MGRlZyAvIC44KSkiKSBpcyAibGNoKDUwJSAyMCAzMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGxjaCwgbGNoKDEwJSAyMCAzMGRl
ZyAvIC40KSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSkiKSBpcyAibGNoKDMwJSA0MCA1MCAvIDAu
NikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGlu
IGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSAyNSUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkp
IikgaXMgImxjaCg0MCUgNTAgNjAgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiBsY2gsIDI1JSBsY2goMTAlIDIwIDMwZGVnIC8gLjQp
LCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKSIpIGlzICJsY2goNDAlIDUwIDYwIC8gMC43KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaW4gbGNoLCBs
Y2goMTAlIDIwIDMwZGVnIC8gLjQpLCAyNSUgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSkiKSBpcyAi
bGNoKDIwJSAzMCA0MCAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3ItbWl4KGluIGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSwgbGNoKDUwJSA2
MCA3MGRlZyAvIC44KSAyNSUpIikgaXMgImxjaCgyMCUgMzAgNDAgLyAwLjUpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiBsY2gsIGxjaCgxMCUg
MjAgMzBkZWcgLyAuNCkgMjUlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpIDc1JSkiKSBpcyAibGNo
KDQwJSA1MCA2MCAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3ItbWl4KGluIGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSA1MCUsIGxjaCg1MCUg
NjAgNzBkZWcgLyAuOCkgMTUwJSkiKSBpcyAibGNoKDQwJSA1MCA2MCAvIDAuNykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGxjaCwgbGNoKDEw
JSAyMCAzMGRlZyAvIC40KSAxMi41JSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSAzNy41JSkiKSBp
cyAibGNoKDQwJSA1MCA2MCAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3ItbWl4KGluIGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSAwJSwgbGNo
KDUwJSA2MCA3MGRlZyAvIC44KSkiKSBpcyAibGNoKDUwJSA2MCA3MCAvIDAuOCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGxjaCwgbGNoKDEw
JSAyMCAzMGRlZyAvIC40KSAtMTAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKSIpIGlzICJsY2go
NTQlIDY0IDc0IC8gMC44NDAwMDAwMykiCiAKIGNvbG9yLW1peChsYWIsIC4uLikKLVBBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGFiLCBsYWIoMTAlIDIw
IDMwIC8gLjQpLCBsYWIoNTAlIDYwIDcwIC8gLjgpKSIpIGlzICJsYWIoMzAlIDQwIDUwIC8gMC42
KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGFi
LCBsYWIoMTAlIDIwIDMwIC8gLjQpIDI1JSwgbGFiKDUwJSA2MCA3MCAvIC44KSkiKSBpcyAibGFi
KDQwJSA1MCA2MCAvIDAuNykiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSwgbGFiKDUwJSA2MCA3MCAvIC44
KSAyNSUpIikgaXMgImxhYigyMCUgMzAgNDAgLyAwLjUpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgMjUl
LCBsYWIoNTAlIDYwIDcwIC8gLjgpIDc1JSkiKSBpcyAibGFiKDQwJSA1MCA2MCAvIDAuNykiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxhYiwgbGFi
KDEwJSAyMCAzMCAvIC40KSA1MCUsIGxhYig1MCUgNjAgNzAgLyAuOCkgMTUwJSkiKSBpcyAibGFi
KDQwJSA1MCA2MCAvIDAuNykiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSAxMi41JSwgbGFiKDUwJSA2MCA3
MCAvIC44KSAzNy41JSkiKSBpcyAibGFiKDQwJSA1MCA2MCAvIDAuNykiCi1QQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAv
IC40KSAwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSkiKSBpcyAibGFiKDUwJSA2MCA3MCAvIDAuOCki
Ci1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxhYiwg
bGFiKDEwJSAyMCAzMCAvIC40KSBsaWdodG5lc3MgNTAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKSIp
IGlzICJsYWIoMzAlIDIwIDMwIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvci1taXgobGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpLCBsYWIoNTAlIDYw
IDcwIC8gLjgpIGxpZ2h0bmVzcyA1MCUpIikgaXMgImxhYigzMCUgMjAgMzAgLyAwLjQpIgotUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChsYWIsIGxhYigx
MCUgMjAgMzAgLyAuNCkgbGlnaHRuZXNzIDUwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSBsaWdodG5l
c3MgNTAlKSIpIGlzICJsYWIoMzAlIDIwIDMwIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpIGxp
Z2h0bmVzcyAxMDAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKSIpIGlzICJsYWIoMTAlIDIwIDMwIC8g
MC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgo
bGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpIGxpZ2h0bmVzcyA1MCUsIGxhYig1MCUgNjAgNzAgLyAu
OCkpIikgaXMgImxhYigzMCUgMjAgMzAgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgbGlnaHRu
ZXNzIDUwJSBhIDEwMCUsIGxhYig1MCUgNjAgNzAgLyAuOCkpIikgaXMgImxhYigzMCUgMjAgMzAg
LyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1p
eChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgbGlnaHRuZXNzIDUwJSBhIDEwMCUgYiAxMDAlLCBs
YWIoNTAlIDYwIDcwIC8gLjgpKSIpIGlzICJsYWIoMzAlIDIwIDMwIC8gMC40KSIKLVBBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGFiLCBsYWIoMTAlIDIw
IDMwIC8gLjQpIGxpZ2h0bmVzcyA1MCUgYSAxMDAlIGIgMTAwJSBhbHBoYSAxMDAlLCBsYWIoNTAl
IDYwIDcwIC8gLjgpKSIpIGlzICJsYWIoMzAlIDIwIDMwIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGFiLCBsYWIoMTAlIDIwIDMwIC8g
LjQpIGxpZ2h0bmVzcyA1MCUsIGxhYig1MCUgNjAgNzAgLyAuOCkgYSAwJSkiKSBpcyAibGFiKDMw
JSAyMCAzMCAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSBsaWdodG5lc3MgNTAlLCBsYWIoNTAl
IDYwIDcwIC8gLjgpIGEgMCUgYiAwJSkiKSBpcyAibGFiKDMwJSAyMCAzMCAvIDAuNCkiCi1QQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxhYiwgbGFiKDEw
JSAyMCAzMCAvIC40KSBsaWdodG5lc3MgNTAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpIGEgMCUgYiAw
JSBhbHBoYSAwJSkiKSBpcyAibGFiKDMwJSAyMCAzMCAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40
KSBsaWdodG5lc3MgNTAlIGEgNzUlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKSIpIGlzICJsYWIoMzAl
IDMwIDMwIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvci1taXgobGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpIGxpZ2h0bmVzcyA1MCUgYSA3NSUgYiAx
NSUsIGxhYig1MCUgNjAgNzAgLyAuOCkpIikgaXMgImxhYigzMCUgMzAgNjQgLyAwLjQpIgotUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChsYWIsIGxhYigx
MCUgMjAgMzAgLyAuNCkgbGlnaHRuZXNzIDUwJSBhIDc1JSBiIDE1JSBhbHBoYSAxMCUsIGxhYig1
MCUgNjAgNzAgLyAuOCkpIikgaXMgImxhYigzMCUgMzAgNjQgLyAwLjc2KSIKLVBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgobGFiLCBsYWIoMTAlIDIwIDMw
IC8gLjQpIGxpZ2h0bmVzcyA2MCUsIGxhYig1MCUgNjAgNzAgLyAuOCkpIikgaXMgImxhYigyNiUg
MjAgMzAgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCksIGxhYig1MCUgNjAgNzAgLyAuOCkgbGln
aHRuZXNzIDQwJSkiKSBpcyAibGFiKDI2JSAyMCAzMCAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40
KSBsaWdodG5lc3MgNjAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpIGxpZ2h0bmVzcyA0MCUpIikgaXMg
ImxhYigyNiUgMjAgMzAgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgbGlnaHRuZXNzIDYwJSBs
aWdodG5lc3MgNDAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKSIpIGlzICJsYWIoMzQlIDIwIDMwIC8g
MC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgo
bGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpIGxpZ2h0bmVzcywgbGFiKDUwJSA2MCA3MCAvIC44KSki
KSBpcyAibGFiKDUwJSAyMCAzMCAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSBsaWdodG5lc3Mg
MCUsIGxhYig1MCUgNjAgNzAgLyAuOCkpIikgaXMgImxhYig1MCUgMjAgMzAgLyAwLjQpIgotUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChsYWIsIGxhYigx
MCUgMjAgMzAgLyAuNCkgLTEwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSkiKSBpcyAibGFiKDUwJSA2
MCA3MCAvIDAuOCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSBsaWdodG5lc3MgLTEwJSwgbGFiKDUwJSA2
MCA3MCAvIC44KSkiKSBpcyAibGFiKDUwJSAyMCAzMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGxhYiwgbGFiKDEwJSAyMCAzMCAv
IC40KSwgbGFiKDUwJSA2MCA3MCAvIC44KSkiKSBpcyAibGFiKDMwJSA0MCA1MCAvIDAuNikiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGxhYiwg
bGFiKDEwJSAyMCAzMCAvIC40KSAyNSUsIGxhYig1MCUgNjAgNzAgLyAuOCkpIikgaXMgImxhYig0
MCUgNTAgNjAgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peChpbiBsYWIsIDI1JSBsYWIoMTAlIDIwIDMwIC8gLjQpLCBsYWIoNTAlIDYwIDcw
IC8gLjgpKSIpIGlzICJsYWIoNDAlIDUwIDYwIC8gMC43KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoaW4gbGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQp
LCAyNSUgbGFiKDUwJSA2MCA3MCAvIC44KSkiKSBpcyAibGFiKDIwJSAzMCA0MCAvIDAuNSkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGxhYiwg
bGFiKDEwJSAyMCAzMCAvIC40KSwgbGFiKDUwJSA2MCA3MCAvIC44KSAyNSUpIikgaXMgImxhYigy
MCUgMzAgNDAgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peChpbiBsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgMjUlLCBsYWIoNTAlIDYwIDcw
IC8gLjgpIDc1JSkiKSBpcyAibGFiKDQwJSA1MCA2MCAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGxhYiwgbGFiKDEwJSAyMCAzMCAv
IC40KSA1MCUsIGxhYig1MCUgNjAgNzAgLyAuOCkgMTUwJSkiKSBpcyAibGFiKDQwJSA1MCA2MCAv
IDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4
KGluIGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSAxMi41JSwgbGFiKDUwJSA2MCA3MCAvIC44KSAz
Ny41JSkiKSBpcyAibGFiKDQwJSA1MCA2MCAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSAw
JSwgbGFiKDUwJSA2MCA3MCAvIC44KSkiKSBpcyAibGFiKDUwJSA2MCA3MCAvIDAuOCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIGxhYiwgbGFi
KDEwJSAyMCAzMCAvIC40KSAtMTAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKSIpIGlzICJsYWIoNTQl
IDY0IDc0IC8gMC44NDAwMDAwMykiCiAKIGNvbG9yLW1peChzcmdiLCAuLi4pCi1QQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2Ig
LjEgLjIgLjMgLyAuNCksIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpIikgaXMgImNvbG9yKHNy
Z2IgMC4zIDAuNCAwLjUgLyAwLjYpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIDI1JSwgY29s
b3Ioc3JnYiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29sb3Ioc3JnYiAwLjQgMC41IDAuNiAvIDAu
NykiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHNy
Z2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCksIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkg
MjUlKSIpIGlzICJjb2xvcihzcmdiIDAuMiAwLjMgMC40IC8gMC41KSIKLVBBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAu
MiAuMyAvIC40KSAyNSUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkgNzUlKSIpIGlzICJjb2xv
cihzcmdiIDAuNCAwLjUgMC42IC8gMC43KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSA1MCUs
IGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkgMTUwJSkiKSBpcyAiY29sb3Ioc3JnYiAwLjQgMC41
IDAuNiAvIDAuNykiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkgMTIuNSUsIGNvbG9yKHNyZ2Ig
LjUgLjYgLjcgLyAuOCkgMzcuNSUpIikgaXMgImNvbG9yKHNyZ2IgMC40IDAuNSAwLjYgLyAwLjcp
IgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChzcmdi
LCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIDAlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgp
KSIpIGlzICJjb2xvcihzcmdiIDAuNSAwLjYgMC43IC8gMC44KSIKLVBBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAu
MyAvIC40KSByZWQgNTAlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcihz
cmdiIDAuMyAwLjIgMC4zIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSwgY29sb3Io
c3JnYiAuNSAuNiAuNyAvIC44KSByZWQgNTAlKSIpIGlzICJjb2xvcihzcmdiIDAuMyAwLjIgMC4z
IC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1t
aXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSByZWQgNTAlLCBjb2xvcihzcmdiIC41
IC42IC43IC8gLjgpIHJlZCA1MCUpIikgaXMgImNvbG9yKHNyZ2IgMC4zIDAuMiAwLjMgLyAwLjQp
IgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChzcmdi
LCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIHJlZCAxMDAlLCBjb2xvcihzcmdiIC41IC42IC43
IC8gLjgpKSIpIGlzICJjb2xvcihzcmdiIDAuMSAwLjIgMC4zIC8gMC40KSIKLVBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAu
MSAuMiAuMyAvIC40KSByZWQgNTAlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpKSIpIGlzICJj
b2xvcihzcmdiIDAuMyAwLjIgMC4zIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSBy
ZWQgNTAlIGdyZWVuIDEwMCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpIikgaXMgImNvbG9y
KHNyZ2IgMC4zIDAuMiAwLjMgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIHJlZCA1
MCUgZ3JlZW4gMTAwJSBibHVlIDEwMCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpIikgaXMg
ImNvbG9yKHNyZ2IgMC4zIDAuMiAwLjMgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQp
IHJlZCA1MCUgZ3JlZW4gMTAwJSBibHVlIDEwMCUgYWxwaGEgMTAwJSwgY29sb3Ioc3JnYiAuNSAu
NiAuNyAvIC44KSkiKSBpcyAiY29sb3Ioc3JnYiAwLjMgMC4yIDAuMyAvIDAuNCkiCi1QQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHNyZ2IsIGNvbG9yKHNy
Z2IgLjEgLjIgLjMgLyAuNCkgcmVkIDUwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSBncmVl
biAwJSkiKSBpcyAiY29sb3Ioc3JnYiAwLjMgMC4yIDAuMyAvIDAuNCkiCi1QQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEg
LjIgLjMgLyAuNCkgcmVkIDUwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSBncmVlbiAwJSBi
bHVlIDAlKSIpIGlzICJjb2xvcihzcmdiIDAuMyAwLjIgMC4zIC8gMC40KSIKLVBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAu
MSAuMiAuMyAvIC40KSByZWQgNTAlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpIGdyZWVuIDAl
IGJsdWUgMCUgYWxwaGEgMCUpIikgaXMgImNvbG9yKHNyZ2IgMC4zIDAuMiAwLjMgLyAwLjQpIgot
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChzcmdiLCBj
b2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIHJlZCA1MCUgZ3JlZW4gNzUlLCBjb2xvcihzcmdiIC41
IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcihzcmdiIDAuMyAwLjMgMC4zIC8gMC40KSIKLVBBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoc3JnYiwgY29sb3Io
c3JnYiAuMSAuMiAuMyAvIC40KSByZWQgNTAlIGdyZWVuIDc1JSBibHVlIDE1JSwgY29sb3Ioc3Jn
YiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29sb3Ioc3JnYiAwLjMgMC4zIDAuNjQgLyAwLjQpIgot
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChzcmdiLCBj
b2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIHJlZCA1MCUgZ3JlZW4gNzUlIGJsdWUgMTUlIGFscGhh
IDEwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29sb3Ioc3JnYiAwLjMgMC4z
IDAuNjQgLyAwLjc2KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSByZWQgNjAlLCBjb2xvcihz
cmdiIC41IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcihzcmdiIDAuMjYgMC4yIDAuMyAvIDAuNCki
Ci1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHNyZ2Is
IGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCksIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkgcmVk
IDQwJSkiKSBpcyAiY29sb3Ioc3JnYiAwLjI2IDAuMiAwLjMgLyAwLjQpIgotUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4x
IC4yIC4zIC8gLjQpIHJlZCA2MCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkgcmVkIDQwJSki
KSBpcyAiY29sb3Ioc3JnYiAwLjI2IDAuMiAwLjMgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4z
IC8gLjQpIHJlZCA2MCUgcmVkIDQwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSkiKSBpcyAi
Y29sb3Ioc3JnYiAwLjM0IDAuMiAwLjMgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQp
IHJlZCwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29sb3Ioc3JnYiAwLjUgMC4y
IDAuMyAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkgcmVkIDAlLCBjb2xvcihzcmdi
IC41IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcihzcmdiIDAuNSAwLjIgMC4zIC8gMC40KSIKLVBB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoc3JnYiwgY29s
b3Ioc3JnYiAuMSAuMiAuMyAvIC40KSAtMTAlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpKSIp
IGlzICJjb2xvcihzcmdiIDAuNSAwLjYgMC43IC8gMC44KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAv
IC40KSByZWQgLTEwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29sb3Ioc3Jn
YiAwLjUgMC4yIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3ItbWl4KGluIHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCksIGNvbG9y
KHNyZ2IgLjUgLjYgLjcgLyAuOCkpIikgaXMgImNvbG9yKHNyZ2IgMC4zIDAuNCAwLjUgLyAwLjYp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiBz
cmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIDI1JSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAv
IC44KSkiKSBpcyAiY29sb3Ioc3JnYiAwLjQgMC41IDAuNiAvIDAuNykiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIHNyZ2IsIDI1JSBjb2xvcihz
cmdiIC4xIC4yIC4zIC8gLjQpLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpKSIpIGlzICJjb2xv
cihzcmdiIDAuNCAwLjUgMC42IC8gMC43KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvci1taXgoaW4gc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSwg
MjUlIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpIikgaXMgImNvbG9yKHNyZ2IgMC4yIDAuMyAw
LjQgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
LW1peChpbiBzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpLCBjb2xvcihzcmdiIC41IC42
IC43IC8gLjgpIDI1JSkiKSBpcyAiY29sb3Ioc3JnYiAwLjIgMC4zIDAuNCAvIDAuNSkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIHNyZ2IsIGNv
bG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkgMjUlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpIDc1
JSkiKSBpcyAiY29sb3Ioc3JnYiAwLjQgMC41IDAuNiAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGluIHNyZ2IsIGNvbG9yKHNyZ2IgLjEg
LjIgLjMgLyAuNCkgNTAlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpIDE1MCUpIikgaXMgImNv
bG9yKHNyZ2IgMC40IDAuNSAwLjYgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiBzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQp
IDEyLjUlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpIDM3LjUlKSIpIGlzICJjb2xvcihzcmdi
IDAuNCAwLjUgMC42IC8gMC43KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvci1taXgoaW4gc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSAwJSwgY29s
b3Ioc3JnYiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29sb3Ioc3JnYiAwLjUgMC42IDAuNyAvIDAu
OCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KGlu
IHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkgLTEwJSwgY29sb3Ioc3JnYiAuNSAuNiAu
NyAvIC44KSkiKSBpcyAiY29sb3Ioc3JnYiAwLjU0IDAuNjQwMDAwMDUgMC43NCAvIDAuODQwMDAw
MDMpIgogCiBjb2xvci1taXgoeHl6LCAuLi4pCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8gLjQpLCBjb2xv
cih4eXogLjUgLjYgLjcgLyAuOCkpIikgaXMgImNvbG9yKHh5eiAwLjMgMC40IDAuNSAvIDAuNiki
Ci1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHh5eiwg
Y29sb3IoeHl6IC4xIC4yIC4zIC8gLjQpIDI1JSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpKSIp
IGlzICJjb2xvcih4eXogMC40IDAuNSAwLjYgLyAwLjcpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40
KSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpIDI1JSkiKSBpcyAiY29sb3IoeHl6IDAuMiAwLjMg
MC40IC8gMC41KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
ci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgMjUlLCBjb2xvcih4eXogLjUgLjYg
LjcgLyAuOCkgNzUlKSIpIGlzICJjb2xvcih4eXogMC40IDAuNSAwLjYgLyAwLjcpIgotUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peCh4eXosIGNvbG9yKHh5
eiAuMSAuMiAuMyAvIC40KSA1MCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSAxNTAlKSIpIGlz
ICJjb2xvcih4eXogMC40IDAuNSAwLjYgLyAwLjcpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSAx
Mi41JSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpIDM3LjUlKSIpIGlzICJjb2xvcih4eXogMC40
IDAuNSAwLjYgLyAwLjcpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSAwJSwgY29sb3IoeHl6IC41
IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcih4eXogMC41IDAuNiAwLjcgLyAwLjgpIgotUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peCh4eXosIGNvbG9yKHh5
eiAuMSAuMiAuMyAvIC40KSB4IDUwJSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpKSIpIGlzICJj
b2xvcih4eXogMC4zIDAuMiAwLjMgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSwgY29s
b3IoeHl6IC41IC42IC43IC8gLjgpIHggNTAlKSIpIGlzICJjb2xvcih4eXogMC4zIDAuMiAwLjMg
LyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1p
eCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSB4IDUwJSwgY29sb3IoeHl6IC41IC42IC43
IC8gLjgpIHggNTAlKSIpIGlzICJjb2xvcih4eXogMC4zIDAuMiAwLjMgLyAwLjQpIgotUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peCh4eXosIGNvbG9yKHh5
eiAuMSAuMiAuMyAvIC40KSB4IDEwMCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSkiKSBpcyAi
Y29sb3IoeHl6IDAuMSAwLjIgMC4zIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgeCA1
MCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29sb3IoeHl6IDAuMyAwLjIgMC4z
IC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1t
aXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgeCA1MCUgeSAxMDAlLCBjb2xvcih4eXog
LjUgLjYgLjcgLyAuOCkpIikgaXMgImNvbG9yKHh5eiAwLjMgMC4yIDAuMyAvIDAuNCkiCi1QQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHh5eiwgY29sb3Io
eHl6IC4xIC4yIC4zIC8gLjQpIHggNTAlIHkgMTAwJSB6IDEwMCUsIGNvbG9yKHh5eiAuNSAuNiAu
NyAvIC44KSkiKSBpcyAiY29sb3IoeHl6IDAuMyAwLjIgMC4zIC8gMC40KSIKLVBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEg
LjIgLjMgLyAuNCkgeCA1MCUgeSAxMDAlIHogMTAwJSBhbHBoYSAxMDAlLCBjb2xvcih4eXogLjUg
LjYgLjcgLyAuOCkpIikgaXMgImNvbG9yKHh5eiAwLjMgMC4yIDAuMyAvIDAuNCkiCi1QQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6
IC4xIC4yIC4zIC8gLjQpIHggNTAlLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkgeSAwJSkiKSBp
cyAiY29sb3IoeHl6IDAuMyAwLjIgMC4zIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkg
eCA1MCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSB5IDAlIHogMCUpIikgaXMgImNvbG9yKHh5
eiAwLjMgMC4yIDAuMyAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8gLjQpIHggNTAlLCBjb2xv
cih4eXogLjUgLjYgLjcgLyAuOCkgeSAwJSB6IDAlIGFscGhhIDAlKSIpIGlzICJjb2xvcih4eXog
MC4zIDAuMiAwLjMgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSB4IDUwJSB5IDc1JSwg
Y29sb3IoeHl6IC41IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcih4eXogMC4zIDAuMyAwLjMgLyAw
LjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peCh4
eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSB4IDUwJSB5IDc1JSB6IDE1JSwgY29sb3IoeHl6
IC41IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcih4eXogMC4zIDAuMyAwLjY0IC8gMC40KSIKLVBB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoeHl6LCBjb2xv
cih4eXogLjEgLjIgLjMgLyAuNCkgeCA1MCUgeSA3NSUgeiAxNSUgYWxwaGEgMTAlLCBjb2xvcih4
eXogLjUgLjYgLjcgLyAuOCkpIikgaXMgImNvbG9yKHh5eiAwLjMgMC4zIDAuNjQgLyAwLjc2KSIK
LVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoeHl6LCBj
b2xvcih4eXogLjEgLjIgLjMgLyAuNCkgeCA2MCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSki
KSBpcyAiY29sb3IoeHl6IDAuMjYgMC4yIDAuMyAvIDAuNCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8g
LjQpLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkgeCA0MCUpIikgaXMgImNvbG9yKHh5eiAwLjI2
IDAuMiAwLjMgLyAwLjQpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSB4IDYwJSwgY29sb3IoeHl6
IC41IC42IC43IC8gLjgpIHggNDAlKSIpIGlzICJjb2xvcih4eXogMC4yNiAwLjIgMC4zIC8gMC40
KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvci1taXgoeHl6
LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgeCA2MCUgeCA0MCUsIGNvbG9yKHh5eiAuNSAuNiAu
NyAvIC44KSkiKSBpcyAiY29sb3IoeHl6IDAuMzQgMC4yIDAuMyAvIDAuNCkiCi1QQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6IC4x
IC4yIC4zIC8gLjQpIHgsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29sb3IoeHl6
IDAuNSAwLjIgMC4zIC8gMC40KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgeCAwJSwgY29sb3Io
eHl6IC41IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcih4eXogMC41IDAuMiAwLjMgLyAwLjQpIgot
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peCh4eXosIGNv
bG9yKHh5eiAuMSAuMiAuMyAvIC40KSAtMTAlLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkpIikg
aXMgImNvbG9yKHh5eiAwLjUgMC42IDAuNyAvIDAuOCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8gLjQp
IHggLTEwJSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcih4eXogMC41IDAu
MiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yLW1peChpbiB4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSwgY29sb3IoeHl6IC41IC42
IC43IC8gLjgpKSIpIGlzICJjb2xvcih4eXogMC4zIDAuNCAwLjUgLyAwLjYpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiB4eXosIGNvbG9yKHh5
eiAuMSAuMiAuMyAvIC40KSAyNSUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29s
b3IoeHl6IDAuNCAwLjUgMC42IC8gMC43KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvci1taXgoaW4geHl6LCAyNSUgY29sb3IoeHl6IC4xIC4yIC4zIC8gLjQp
LCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkpIikgaXMgImNvbG9yKHh5eiAwLjQgMC41IDAuNiAv
IDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3ItbWl4
KGluIHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8gLjQpLCBjb2xvcih4eXogLjUgLjYgLjcgLyAu
OCkgMjUlKSIpIGlzICJjb2xvcih4eXogMC4yIDAuMyAwLjQgLyAwLjUpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiB4eXosIGNvbG9yKHh5eiAu
MSAuMiAuMyAvIC40KSwgMjUlIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSkiKSBpcyAiY29sb3Io
eHl6IDAuMiAwLjMgMC40IC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvci1taXgoaW4geHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgMjUlLCBj
b2xvcih4eXogLjUgLjYgLjcgLyAuOCkgNzUlKSIpIGlzICJjb2xvcih4eXogMC40IDAuNSAwLjYg
LyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1p
eChpbiB4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSA1MCUsIGNvbG9yKHh5eiAuNSAuNiAu
NyAvIC44KSAxNTAlKSIpIGlzICJjb2xvcih4eXogMC40IDAuNSAwLjYgLyAwLjcpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiB4eXosIGNvbG9y
KHh5eiAuMSAuMiAuMyAvIC40KSAxMi41JSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpIDM3LjUl
KSIpIGlzICJjb2xvcih4eXogMC40IDAuNSAwLjYgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yLW1peChpbiB4eXosIGNvbG9yKHh5eiAuMSAuMiAu
MyAvIC40KSAwJSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpKSIpIGlzICJjb2xvcih4eXogMC41
IDAuNiAwLjcgLyAwLjgpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yLW1peChpbiB4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSAtMTAlLCBjb2xvcih4
eXogLjUgLjYgLjcgLyAuOCkpIikgaXMgImNvbG9yKHh5eiAwLjU0IDAuNjQwMDAwMDUgMC43NCAv
IDAuODQwMDAwMDMpIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENP
TVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNvbG9yLW1peC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29sb3ItbWl4Lmh0
bWwJKHJldmlzaW9uIDI3NDkwNSkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29s
b3ItbWl4Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDMwMSArMjgsMTAyIEBACiAKICAgICBk
ZWJ1ZygnY29sb3ItbWl4KGhzbCwgLi4uKScpOwogCi0gICAgLy8gU3BlY2lhbCBjYXNlIG5vIGFk
anVzdGVycyBvciBwZXJjZW50YWdlIGlzIHNwbGl0IDUwLTUwLgotICAgIHRlc3RDb21wdXRlZChg
Y29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSwgaHNsKDMwZGVnIDMwJSA0MCUpKWAs
IGByZ2IoODQsIDkyLCA2MSlgKTsgLy8gaHNsKDc1ZGVnIDIwJSAzMCUpCisgICAgdGVzdENvbXB1
dGVkKGBjb2xvci1taXgoaW4gaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpLCBoc2woMzBkZWcgMzAl
IDQwJSkpYCwgYHJnYig4NCwgOTIsIDYxKWApOyAvLyBoc2woNzVkZWcgMjAlIDMwJSkKKyAgICB0
ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiBoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgMjUlLCBo
c2woMzBkZWcgMzAlIDQwJSkpYCwgYHJnYigxMTIsIDEwNiwgNjcpYCk7CisgICAgdGVzdENvbXB1
dGVkKGBjb2xvci1taXgoaW4gaHNsLCAyNSUgaHNsKDEyMGRlZyAxMCUgMjAlKSwgaHNsKDMwZGVn
IDMwJSA0MCUpKWAsIGByZ2IoMTEyLCAxMDYsIDY3KWApOworICAgIHRlc3RDb21wdXRlZChgY29s
b3ItbWl4KGluIGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSwgMjUlIGhzbCgzMGRlZyAzMCUgNDAl
KSlgLCBgcmdiKDYxLCA3MywgNTQpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4g
aHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpLCBoc2woMzBkZWcgMzAlIDQwJSkgMjUlKWAsIGByZ2Io
NjEsIDczLCA1NClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiBoc2wsIGhzbCgx
MjBkZWcgMTAlIDIwJSkgMjUlLCBoc2woMzBkZWcgMzAlIDQwJSkgNzUlKWAsIGByZ2IoMTEyLCAx
MDYsIDY3KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIGhzbCwgaHNsKDEyMGRl
ZyAxMCUgMjAlKSA1MCUsIGhzbCgzMGRlZyAzMCUgNDAlKSAxNTAlKWAsIGByZ2IoMTEyLCAxMDYs
IDY3KWApOyAvLyBTY2FsZSBkb3duID4gMTAwJSBzdW0uCisgICAgdGVzdENvbXB1dGVkKGBjb2xv
ci1taXgoaW4gaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIDEyLjUlLCBoc2woMzBkZWcgMzAlIDQw
JSkgMzcuNSUpYCwgYHJnYigxMTIsIDEwNiwgNjcpYCk7IC8vIFNjYWxlIHVwIDwgMTAwJSBzdW0u
CisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4gaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUp
IDAlLCBoc2woMzBkZWcgMzAlIDQwJSkpYCwgYHJnYigxMzMsIDEwMiwgNzEpYCk7CiAKLSAgICAv
LyBUZXN0IHByZWNlbnRhZ2Ugd2l0aG91dCBhZGp1c3RlcnMuCi0gICAgdGVzdENvbXB1dGVkKGBj
b2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIDI1JSwgaHNsKDMwZGVnIDMwJSA0MCUp
KWAsIGByZ2IoMTEyLCAxMDYsIDY3KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGhz
bCwgaHNsKDEyMGRlZyAxMCUgMjAlKSwgaHNsKDMwZGVnIDMwJSA0MCUpIDI1JSlgLCBgcmdiKDYx
LCA3MywgNTQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHNsLCBoc2woMTIwZGVn
IDEwJSAyMCUpIDI1JSwgaHNsKDMwZGVnIDMwJSA0MCUpIDc1JSlgLCBgcmdiKDExMiwgMTA2LCA2
NylgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIw
JSkgNTAlLCBoc2woMzBkZWcgMzAlIDQwJSkgMTUwJSlgLCBgcmdiKDExMiwgMTA2LCA2NylgKTsg
Ly8gU2NhbGUgZG93biA+IDEwMCUgc3VtLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGhz
bCwgaHNsKDEyMGRlZyAxMCUgMjAlKSAxMi41JSwgaHNsKDMwZGVnIDMwJSA0MCUpIDM3LjUlKWAs
IGByZ2IoMTEyLCAxMDYsIDY3KWApOyAvLyBTY2FsZSB1cCA8IDEwMCUgc3VtLgotICAgIHRlc3RD
b21wdXRlZChgY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSAwJSwgaHNsKDMwZGVn
IDMwJSA0MCUpKWAsIGByZ2IoMTMzLCAxMDIsIDcxKWApOwotCi0gICAgLy8gVGVzdCBwZXItY2hh
bm5lbCBhZGp1c3RlcnMuCi0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHNsLCBoc2woMTIw
ZGVnIDEwJSAyMCUpIGh1ZSA1MCUsIGhzbCgzMGRlZyAzMCUgNDAlKSlgLCBgcmdiKDUzLCA1Niwg
NDYpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAy
MCUpLCBoc2woMzBkZWcgMzAlIDQwJSkgaHVlIDUwJSlgLCBgcmdiKDUzLCA1NiwgNDYpYCk7Ci0g
ICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA1
MCUsIGhzbCgzMGRlZyAzMCUgNDAlKSBodWUgNTAlKWAsIGByZ2IoNTMsIDU2LCA0NilgKTsKLSAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgaHVlIDEw
MCUsIGhzbCgzMGRlZyAzMCUgNDAlKSlgLCBgcmdiKDQ2LCA1NiwgNDYpYCk7Ci0gICAgdGVzdENv
bXB1dGVkKGBjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUsIGhzbCgz
MGRlZyAzMCUgNDAlKSlgLCBgcmdiKDUzLCA1NiwgNDYpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBj
b2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUgc2F0dXJhdGlvbiAxMDAl
LCBoc2woMzBkZWcgMzAlIDQwJSkpYCwgYHJnYig1MywgNTYsIDQ2KWApOwotICAgIHRlc3RDb21w
dXRlZChgY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlIHNhdHVyYXRp
b24gMTAwJSBsaWdodG5lc3MgMTAwJSwgaHNsKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2IoNTMsIDU2
LCA0NilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAl
IDIwJSkgaHVlIDUwJSBzYXR1cmF0aW9uIDEwMCUgbGlnaHRuZXNzIDEwMCUgYWxwaGEgMTAwJSwg
aHNsKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2IoNTMsIDU2LCA0NilgKTsKLSAgICB0ZXN0Q29tcHV0
ZWQoYGNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSwgaHNsKDMwZGVn
IDMwJSA0MCUpIHNhdHVyYXRpb24gMCUpYCwgYHJnYig1MywgNTYsIDQ2KWApOwotICAgIHRlc3RD
b21wdXRlZChgY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlLCBoc2wo
MzBkZWcgMzAlIDQwJSkgc2F0dXJhdGlvbiAwJSBsaWdodG5lc3MgMCUpYCwgYHJnYig1MywgNTYs
IDQ2KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUg
MjAlKSBodWUgNTAlLCBoc2woMzBkZWcgMzAlIDQwJSkgc2F0dXJhdGlvbiAwJSBsaWdodG5lc3Mg
MCUgYWxwaGEgMCUpYCwgYHJnYig1MywgNTYsIDQ2KWApOwotICAgIHRlc3RDb21wdXRlZChgY29s
b3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlIHNhdHVyYXRpb24gNzUlLCBo
c2woMzBkZWcgMzAlIDQwJSkpYCwgYHJnYig1NSwgNTksIDQzKWApOwotICAgIHRlc3RDb21wdXRl
ZChgY29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlIHNhdHVyYXRpb24g
NzUlIGxpZ2h0bmVzcyAxNSUsIGhzbCgzMGRlZyAzMCUgNDAlKSlgLCBgcmdiKDEwMSwgMTA4LCA4
MClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIw
JSkgaHVlIDUwJSBzYXR1cmF0aW9uIDc1JSBsaWdodG5lc3MgMTUlIGFscGhhIDEwJSwgaHNsKDMw
ZGVnIDMwJSA0MCUpKWAsIGByZ2IoMTAxLCAxMDgsIDgwKWApOwotICAgIHRlc3RDb21wdXRlZChg
Y29sb3ItbWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgNjAlLCBoc2woMzBkZWcgMzAl
IDQwJSkpYCwgYHJnYig1MiwgNTYsIDQ2KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4
KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSwgaHNsKDMwZGVnIDMwJSA0MCUpIGh1ZSA0MCUpYCwg
YHJnYig1MiwgNTYsIDQ2KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGhzbCwgaHNs
KDEyMGRlZyAxMCUgMjAlKSBodWUgNjAlLCBoc2woMzBkZWcgMzAlIDQwJSkgaHVlIDQwJSlgLCBg
cmdiKDUyLCA1NiwgNDYpYCk7Ci0KLSAgICAvLyBGSVhNRTogVGVzdCBodWUgbWl4ZXMgd2l0aCBt
b2RpZmllcnMuCi0KLSAgICAvLyBPcGVuIHF1ZXN0aW9ucy4KLQotICAgIC8vIFdoYXQgc2hvdWxk
IGhhcHBlbiBpZiB5b3UgcHJvdmlkZSB0aGUgc2FtZSBhZGp1c3RlciBtb3JlIHRoYW4gb25jZT8g
Q3VycmVudGx5LCB3ZSBkbyBsYXN0IG9uZSB3aW5zLgotICAgIHRlc3RDb21wdXRlZChgY29sb3It
bWl4KGhzbCwgaHNsKDEyMGRlZyAxMCUgMjAlKSBodWUgNjAlIGh1ZSA0MCUsIGhzbCgzMGRlZyAz
MCUgNDAlKSlgLCBgcmdiKDU1LCA1NiwgNDYpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1t
aXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSA0MCUsIGhzbCgzMGRlZyAzMCUgNDAlKSlg
LCBgcmdiKDU1LCA1NiwgNDYpYCk7Ci0KLSAgICAvLyBXaGF0IHNob3VsZCBoYXBwZW4gaWYgeW91
IHByb3ZpZGUgYW4gYWRqdXN0ZXIgd2l0aG91dCBhIHBhaWh1ZSBwZXJjZW50PyBDdXJyZW50bHks
IHdlIHRyZWF0IHRoYXQgbGlrZSBoYXZpbmcgMCUgZm9yIHRoYXQgYWRqdXN0ZXIuCi0gICAgdGVz
dENvbXB1dGVkKGBjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSwgaHNsKDMw
ZGVnIDMwJSA0MCUpKWAsIGByZ2IoNTYsIDUxLCA0NilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgaHVlIDAlLCBoc2woMzBkZWcgMzAlIDQw
JSkpYCwgYHJnYig1NiwgNTEsIDQ2KWApOwotCi0gICAgLy8gV2hhdCBzaG91bGQgaGFwcGVuIGlm
IHlvdSBwcm92aWRlIGFuIGFkanVzdGVyIHdpdGhvdXQgYSBuZWdhdGl2ZSBwZXJjZW50PyBDdXJy
ZW50bHksIHdlIHRyZWF0IHRoYXQgbGlrZSBoYXZpbmcgMCUgZm9yIHRoYXQgYWRqdXN0ZXIuCi0g
ICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHNsLCBoc2woMTIwZGVnIDEwJSAyMCUpIC0xMCUs
IGhzbCgzMGRlZyAzMCUgNDAlKSlgLCBgcmdiKDEzMywgMTAyLCA3MSlgKTsKLSAgICB0ZXN0Q29t
cHV0ZWQoYGNvbG9yLW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgMCUsIGhzbCgzMGRlZyAz
MCUgNDAlKSlgLCBgcmdiKDEzMywgMTAyLCA3MSlgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
LW1peChoc2wsIGhzbCgxMjBkZWcgMTAlIDIwJSkgaHVlIC0xMCUsIGhzbCgzMGRlZyAzMCUgNDAl
KSlgLCBgcmdiKDU2LCA1MSwgNDYpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHNs
LCBoc2woMTIwZGVnIDEwJSAyMCUpIGh1ZSAwJSwgaHNsKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2Io
NTYsIDUxLCA0NilgKTsKKyAgICAvLyBXaGF0IHNob3VsZCBoYXBwZW4gaWYgeW91IHByb3ZpZGUg
YSBuZWdhdGl2ZSBwZXJjZW50PyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9p
c3N1ZXMvNjA0NworICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIGhzbCwgaHNsKDEyMGRl
ZyAxMCUgMjAlKSAtMTAlLCBoc2woMzBkZWcgMzAlIDQwJSkpYCwgYHJnYigxNDIsIDk3LCA3Milg
KTsKIAogCiAgICAgZGVidWcoJycpOwogICAgIGRlYnVnKCdjb2xvci1taXgoaHdiLCAuLi4pJyk7
CiAKLSAgICAvLyBTcGVjaWFsIGNhc2Ugbm8gYWRqdXN0ZXJzIG9yIHBlcmNlbnRhZ2UgaXMgc3Bs
aXQgNTAtNTAuCi0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEw
JSAyMCUpLCBod2IoMzBkZWcgMzAlIDQwJSkpYCwgYHJnYigxNDcsIDE3OSwgNTIpYCk7IC8vIGh3
Yig3NWRlZyAyMCUgMzAlKQorICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIGh3YiwgaHdi
KDEyMGRlZyAxMCUgMjAlKSwgaHdiKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2IoMTQ3LCAxNzksIDUy
KWApOyAvLyBod2IoNzVkZWcgMjAlIDMwJSkKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChp
biBod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgMjUlLCBod2IoMzBkZWcgMzAlIDQwJSkpYCwgYHJn
YigxNjYsIDE1MywgNjQpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4gaHdiLCAy
NSUgaHdiKDEyMGRlZyAxMCUgMjAlKSwgaHdiKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2IoMTY2LCAx
NTMsIDY0KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIGh3YiwgaHdiKDEyMGRl
ZyAxMCUgMjAlKSwgMjUlIGh3YigzMGRlZyAzMCUgNDAlKSlgLCBgcmdiKDk2LCAxOTEsIDM5KWAp
OworICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAl
KSwgaHdiKDMwZGVnIDMwJSA0MCUpIDI1JSlgLCBgcmdiKDk2LCAxOTEsIDM5KWApOworICAgIHRl
c3RDb21wdXRlZChgY29sb3ItbWl4KGluIGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSAyNSUsIGh3
YigzMGRlZyAzMCUgNDAlKSA3NSUpYCwgYHJnYigxNjYsIDE1MywgNjQpYCk7CisgICAgdGVzdENv
bXB1dGVkKGBjb2xvci1taXgoaW4gaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIDUwJSwgaHdiKDMw
ZGVnIDMwJSA0MCUpIDE1MCUpYCwgYHJnYigxNjYsIDE1MywgNjQpYCk7IC8vIFNjYWxlIGRvd24g
PiAxMDAlIHN1bS4KKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiBod2IsIGh3YigxMjBk
ZWcgMTAlIDIwJSkgMTIuNSUsIGh3YigzMGRlZyAzMCUgNDAlKSAzNy41JSlgLCBgcmdiKDE2Niwg
MTUzLCA2NClgKTsgLy8gU2NhbGUgdXAgPCAxMDAlIHN1bS4KKyAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yLW1peChpbiBod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgMCUsIGh3YigzMGRlZyAzMCUgNDAl
KSlgLCBgcmdiKDE1MywgMTE1LCA3NylgKTsKIAotICAgIC8vIFRlc3QgcHJlY2VudGFnZSB3aXRo
b3V0IGFkanVzdGVycy4KLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChod2IsIGh3YigxMjBk
ZWcgMTAlIDIwJSkgMjUlLCBod2IoMzBkZWcgMzAlIDQwJSkpYCwgYHJnYigxNjYsIDE1MywgNjQp
YCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUp
LCBod2IoMzBkZWcgMzAlIDQwJSkgMjUlKWAsIGByZ2IoOTYsIDE5MSwgMzkpYCk7Ci0gICAgdGVz
dENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIDI1JSwgaHdiKDMw
ZGVnIDMwJSA0MCUpIDc1JSlgLCBgcmdiKDE2NiwgMTUzLCA2NClgKTsKLSAgICB0ZXN0Q29tcHV0
ZWQoYGNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgNTAlLCBod2IoMzBkZWcgMzAl
IDQwJSkgMTUwJSlgLCBgcmdiKDE2NiwgMTUzLCA2NClgKTsgLy8gU2NhbGUgZG93biA+IDEwMCUg
c3VtLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAl
KSAxMi41JSwgaHdiKDMwZGVnIDMwJSA0MCUpIDM3LjUlKWAsIGByZ2IoMTY2LCAxNTMsIDY0KWAp
OyAvLyBTY2FsZSB1cCA8IDEwMCUgc3VtLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGh3
YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSAwJSwgaHdiKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2IoMTUz
LCAxMTUsIDc3KWApOwotCi0gICAgLy8gVGVzdCBwZXItY2hhbm5lbCBhZGp1c3RlcnMuCi0gICAg
dGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUs
IGh3YigzMGRlZyAzMCUgNDAlKSlgLCBgcmdiKDE2MCwgMjA0LCAyNilgKTsKLSAgICB0ZXN0Q29t
cHV0ZWQoYGNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSksIGh3YigzMGRlZyAzMCUg
NDAlKSBodWUgNTAlKWAsIGByZ2IoMTYwLCAyMDQsIDI2KWApOwotICAgIHRlc3RDb21wdXRlZChg
Y29sb3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlLCBod2IoMzBkZWcgMzAl
IDQwJSkgaHVlIDUwJSlgLCBgcmdiKDE2MCwgMjA0LCAyNilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQo
YGNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVlIDEwMCUsIGh3YigzMGRlZyAz
MCUgNDAlKSlgLCBgcmdiKDI2LCAyMDQsIDI2KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3It
bWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlLCBod2IoMzBkZWcgMzAlIDQwJSkp
YCwgYHJnYigxNjAsIDIwNCwgMjYpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdi
LCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA1MCUgd2hpdGVuZXNzIDEwMCUsIGh3YigzMGRlZyAz
MCUgNDAlKSlgLCBgcmdiKDE2MCwgMjA0LCAyNilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
LW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSB3aGl0ZW5lc3MgMTAwJSBibGFj
a25lc3MgMTAwJSwgaHdiKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2IoMTYwLCAyMDQsIDI2KWApOwot
ICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSBodWUg
NTAlIHdoaXRlbmVzcyAxMDAlIGJsYWNrbmVzcyAxMDAlIGFscGhhIDEwMCUsIGh3YigzMGRlZyAz
MCUgNDAlKSlgLCBgcmdiKDE2MCwgMjA0LCAyNilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
LW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSwgaHdiKDMwZGVnIDMwJSA0MCUp
IHdoaXRlbmVzcyAwJSlgLCBgcmdiKDE2MCwgMjA0LCAyNilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQo
YGNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSwgaHdiKDMwZGVnIDMw
JSA0MCUpIHdoaXRlbmVzcyAwJSBibGFja25lc3MgMCUpYCwgYHJnYigxNjAsIDIwNCwgMjYpYCk7
Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1
ZSA1MCUsIGh3YigzMGRlZyAzMCUgNDAlKSB3aGl0ZW5lc3MgMCUgYmxhY2tuZXNzIDAlIGFscGhh
IDAlKWAsIGByZ2IoMTYwLCAyMDQsIDI2KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4
KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSBodWUgNTAlIHdoaXRlbmVzcyA3NSUsIGh3YigzMGRl
ZyAzMCUgNDAlKSlgLCBgcmdiKDE2MywgMjA0LCAzOSlgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVlIDUwJSB3aGl0ZW5lc3MgNzUlIGJs
YWNrbmVzcyAxNSUsIGh3YigzMGRlZyAzMCUgNDAlKSlgLCBgcmdiKDEzMCwgMTYxLCAzOSlgKTsK
LSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChod2IsIGh3YigxMjBkZWcgMTAlIDIwJSkgaHVl
IDUwJSB3aGl0ZW5lc3MgNzUlIGJsYWNrbmVzcyAxNSUgYWxwaGEgMTAlLCBod2IoMzBkZWcgMzAl
IDQwJSkpYCwgYHJnYigxMzAsIDE2MSwgMzkpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1t
aXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA2MCUsIGh3YigzMGRlZyAzMCUgNDAlKSlg
LCBgcmdiKDEzMywgMjA0LCAyNilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChod2Is
IGh3YigxMjBkZWcgMTAlIDIwJSksIGh3YigzMGRlZyAzMCUgNDAlKSBodWUgNDAlKWAsIGByZ2Io
MTMzLCAyMDQsIDI2KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGh3YiwgaHdiKDEy
MGRlZyAxMCUgMjAlKSBodWUgNjAlLCBod2IoMzBkZWcgMzAlIDQwJSkgaHVlIDQwJSlgLCBgcmdi
KDEzMywgMjA0LCAyNilgKTsKLQotICAgIC8vIFRlc3QgbWl4IHRoYXQgY3JlYXRlcyB3aGl0ZW5l
c3MgKyBibGFja25lc3MgPiAxMDAlLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGh3Yiwg
aHdiKDEyMGRlZyA3NSUgMjUlKSB3aGl0ZW5lc3MgMTAwJSwgaHdiKDEyMGRlZyAyNSUgNzUlKSBi
bGFja25lc3MgMTAwJSlgLCBgcmdiKDEyOCwgMTI4LCAxMjgpYCk7Ci0KLSAgICAvLyBGSVhNRTog
VGVzdCBodWUgbWl4ZXMgd2l0aCBtb2RpZmllcnMuCi0KLQotICAgIC8vIE9wZW4gcXVlc3Rpb25z
LgotCi0gICAgLy8gV2hhdCBzaG91bGQgaGFwcGVuIGlmIHlvdSBwcm92aWRlIHRoZSBzYW1lIGFk
anVzdGVyIG1vcmUgdGhhbiBvbmNlPyBDdXJyZW50bHksIHdlIGRvIGxhc3Qgb25lIHdpbnMuCi0g
ICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1ZSA2
MCUgaHVlIDQwJSwgaHdiKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2IoMTg2LCAyMDQsIDI2KWApOwot
ICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSBodWUg
NDAlLCBod2IoMzBkZWcgMzAlIDQwJSkpYCwgYHJnYigxODYsIDIwNCwgMjYpYCk7Ci0KLSAgICAv
LyBXaGF0IHNob3VsZCBoYXBwZW4gaWYgeW91IHByb3ZpZGUgYW4gYWRqdXN0ZXIgd2l0aG91dCBh
IHBhaWh1ZSBwZXJjZW50PyBDdXJyZW50bHksIHdlIHRyZWF0IHRoYXQgbGlrZSBoYXZpbmcgMCUg
Zm9yIHRoYXQgYWRqdXN0ZXIuCi0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2Io
MTIwZGVnIDEwJSAyMCUpIGh1ZSwgaHdiKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2IoMjA0LCAxMTUs
IDI2KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGh3YiwgaHdiKDEyMGRlZyAxMCUg
MjAlKSBodWUgMCUsIGh3YigzMGRlZyAzMCUgNDAlKSlgLCBgcmdiKDIwNCwgMTE1LCAyNilgKTsK
LQotICAgIC8vIFdoYXQgc2hvdWxkIGhhcHBlbiBpZiB5b3UgcHJvdmlkZSBhbiBhZGp1c3RlciB3
aXRob3V0IGEgbmVnYXRpdmUgcGVyY2VudD8gQ3VycmVudGx5LCB3ZSB0cmVhdCB0aGF0IGxpa2Ug
aGF2aW5nIDAlIGZvciB0aGF0IGFkanVzdGVyLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4
KGh3YiwgaHdiKDEyMGRlZyAxMCUgMjAlKSAtMTAlLCBod2IoMzBkZWcgMzAlIDQwJSkpYCwgYHJn
YigxNTMsIDExNSwgNzcpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2Io
MTIwZGVnIDEwJSAyMCUpIDAlLCBod2IoMzBkZWcgMzAlIDQwJSkpYCwgYHJnYigxNTMsIDExNSwg
NzcpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAy
MCUpIGh1ZSAtMTAlLCBod2IoMzBkZWcgMzAlIDQwJSkpYCwgYHJnYigyMDQsIDExNSwgMjYpYCk7
Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIGh1
ZSAwJSwgaHdiKDMwZGVnIDMwJSA0MCUpKWAsIGByZ2IoMjA0LCAxMTUsIDI2KWApOworICAgIC8v
IFdoYXQgc2hvdWxkIGhhcHBlbiBpZiB5b3UgcHJvdmlkZSBhIG5lZ2F0aXZlIHBlcmNlbnQ/IGh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy82MDQ3CisgICAgdGVzdENv
bXB1dGVkKGBjb2xvci1taXgoaW4gaHdiLCBod2IoMTIwZGVnIDEwJSAyMCUpIC0xMCUsIGh3Yigz
MGRlZyAzMCUgNDAlKSlgLCBgcmdiKDE0OCwgMTA1LCA4MilgKTsKICAgICAKIAogICAgIGRlYnVn
KCcnKTsKICAgICBkZWJ1ZygnY29sb3ItbWl4KGxjaCwgLi4uKScpOwogCi0gICAgLy8gU3BlY2lh
bCBjYXNlIG5vIGFkanVzdGVycyBvciBwZXJjZW50YWdlIGlzIHNwbGl0IDUwLTUwLgotICAgIHRl
c3RDb21wdXRlZChgY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSwgbGNoKDUw
JSA2MCA3MGRlZyAvIC44KSlgLCBgbGNoKDMwJSA0MCA1MCAvIDAuNilgKTsKKyAgICB0ZXN0Q29t
cHV0ZWQoYGNvbG9yLW1peChpbiBsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCksIGxjaCg1MCUg
NjAgNzBkZWcgLyAuOCkpYCwgYGxjaCgzMCUgNDAgNTAgLyAwLjYpYCk7CisgICAgdGVzdENvbXB1
dGVkKGBjb2xvci1taXgoaW4gbGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIDI1JSwgbGNoKDUw
JSA2MCA3MGRlZyAvIC44KSlgLCBgbGNoKDQwJSA1MCA2MCAvIDAuNylgKTsKKyAgICB0ZXN0Q29t
cHV0ZWQoYGNvbG9yLW1peChpbiBsY2gsIDI1JSBsY2goMTAlIDIwIDMwZGVnIC8gLjQpLCBsY2go
NTAlIDYwIDcwZGVnIC8gLjgpKWAsIGBsY2goNDAlIDUwIDYwIC8gMC43KWApOworICAgIHRlc3RD
b21wdXRlZChgY29sb3ItbWl4KGluIGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSwgMjUlIGxj
aCg1MCUgNjAgNzBkZWcgLyAuOCkpYCwgYGxjaCgyMCUgMzAgNDAgLyAwLjUpYCk7CisgICAgdGVz
dENvbXB1dGVkKGBjb2xvci1taXgoaW4gbGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpLCBsY2go
NTAlIDYwIDcwZGVnIC8gLjgpIDI1JSlgLCBgbGNoKDIwJSAzMCA0MCAvIDAuNSlgKTsKKyAgICB0
ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiBsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgMjUl
LCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpIDc1JSlgLCBgbGNoKDQwJSA1MCA2MCAvIDAuNylgKTsK
KyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiBsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAu
NCkgNTAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpIDE1MCUpYCwgYGxjaCg0MCUgNTAgNjAgLyAw
LjcpYCk7IC8vIFNjYWxlIGRvd24gPiAxMDAlIHN1bS4KKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
LW1peChpbiBsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgMTIuNSUsIGxjaCg1MCUgNjAgNzBk
ZWcgLyAuOCkgMzcuNSUpYCwgYGxjaCg0MCUgNTAgNjAgLyAwLjcpYCk7IC8vIFNjYWxlIHVwIDwg
MTAwJSBzdW0uCisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4gbGNoLCBsY2goMTAlIDIw
IDMwZGVnIC8gLjQpIDAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKWAsIGBsY2goNTAlIDYwIDcw
IC8gMC44KWApOwogCi0gICAgLy8gVGVzdCBwcmVjZW50YWdlIHdpdGhvdXQgYWRqdXN0ZXJzLgot
ICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSAy
NSUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkpYCwgYGxjaCg0MCUgNTAgNjAgLyAwLjcpYCk7Ci0g
ICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpLCBs
Y2goNTAlIDYwIDcwZGVnIC8gLjgpIDI1JSlgLCBgbGNoKDIwJSAzMCA0MCAvIDAuNSlgKTsKLSAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgMjUl
LCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpIDc1JSlgLCBgbGNoKDQwJSA1MCA2MCAvIDAuNylgKTsK
LSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkg
NTAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpIDE1MCUpYCwgYGxjaCg0MCUgNTAgNjAgLyAwLjcp
YCk7IC8vIFNjYWxlIGRvd24gPiAxMDAlIHN1bS4KLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1p
eChsY2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgMTIuNSUsIGxjaCg1MCUgNjAgNzBkZWcgLyAu
OCkgMzcuNSUpYCwgYGxjaCg0MCUgNTAgNjAgLyAwLjcpYCk7IC8vIFNjYWxlIHVwIDwgMTAwJSBz
dW0uCi0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8g
LjQpIDAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKWAsIGBsY2goNTAlIDYwIDcwIC8gMC44KWAp
OwotCi0gICAgLy8gVGVzdCBwZXItY2hhbm5lbCBhZGp1c3RlcnMuCi0gICAgdGVzdENvbXB1dGVk
KGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyA1MCUsIGxj
aCg1MCUgNjAgNzBkZWcgLyAuOCkpYCwgYGxjaCgzMCUgMjAgMzAgLyAwLjQpYCk7Ci0gICAgdGVz
dENvbXB1dGVkKGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpLCBsY2goNTAl
IDYwIDcwZGVnIC8gLjgpIGxpZ2h0bmVzcyA1MCUpYCwgYGxjaCgzMCUgMjAgMzAgLyAwLjQpYCk7
Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQp
IGxpZ2h0bmVzcyA1MCUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkgbGlnaHRuZXNzIDUwJSlgLCBg
bGNoKDMwJSAyMCAzMCAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsY2gs
IGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgbGlnaHRuZXNzIDEwMCUsIGxjaCg1MCUgNjAgNzBkZWcg
LyAuOCkpYCwgYGxjaCgxMCUgMjAgMzAgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xv
ci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyA1MCUsIGxjaCg1MCUg
NjAgNzBkZWcgLyAuOCkpYCwgYGxjaCgzMCUgMjAgMzAgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1
dGVkKGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyA1MCUg
Y2hyb21hIDEwMCUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkpYCwgYGxjaCgzMCUgMjAgMzAgLyAw
LjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVn
IC8gLjQpIGxpZ2h0bmVzcyA1MCUgY2hyb21hIDEwMCUgaHVlIDEwMCUsIGxjaCg1MCUgNjAgNzBk
ZWcgLyAuOCkpYCwgYGxjaCgzMCUgMjAgMzAgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBj
b2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyA1MCUgY2hyb21h
IDEwMCUgaHVlIDEwMCUgYWxwaGEgMTAwJSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSlgLCBgbGNo
KDMwJSAyMCAzMCAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsY2gsIGxj
aCgxMCUgMjAgMzBkZWcgLyAuNCkgbGlnaHRuZXNzIDUwJSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44
KSBjaHJvbWEgMCUpYCwgYGxjaCgzMCUgMjAgMzAgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVk
KGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyA1MCUsIGxj
aCg1MCUgNjAgNzBkZWcgLyAuOCkgY2hyb21hIDAlIGh1ZSAwJSlgLCBgbGNoKDMwJSAyMCAzMCAv
IDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsY2gsIGxjaCgxMCUgMjAgMzBk
ZWcgLyAuNCkgbGlnaHRuZXNzIDUwJSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSBjaHJvbWEgMCUg
aHVlIDAlIGFscGhhIDAlKWAsIGBsY2goMzAlIDIwIDMwIC8gMC40KWApOwotICAgIHRlc3RDb21w
dXRlZChgY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNTAl
IGNocm9tYSA3NSUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkpYCwgYGxjaCgzMCUgMzAgMzAgLyAw
LjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVn
IC8gLjQpIGxpZ2h0bmVzcyA1MCUgY2hyb21hIDc1JSBodWUgMTUlLCBsY2goNTAlIDYwIDcwZGVn
IC8gLjgpKWAsIGBsY2goMzAlIDMwIDY0IC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29s
b3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNTAlIGNocm9tYSA3
NSUgaHVlIDE1JSBhbHBoYSAxMCUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkpYCwgYGxjaCgzMCUg
MzAgNjQgLyAwLjc2KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxjaCwgbGNoKDEw
JSAyMCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNjAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKWAs
IGBsY2goMjYlIDIwIDMwIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxj
aCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSBsaWdodG5l
c3MgNDAlKWAsIGBsY2goMjYlIDIwIDMwIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29s
b3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNjAlLCBsY2goNTAl
IDYwIDcwZGVnIC8gLjgpIGxpZ2h0bmVzcyA0MCUpYCwgYGxjaCgyNiUgMjAgMzAgLyAwLjQpYCk7
Ci0KLSAgICAvLyBGSVhNRTogVGVzdCBodWUgbWl4ZXMgd2l0aCBtb2RpZmllcnMuCi0KLSAgICAv
LyBPcGVuIHF1ZXN0aW9ucy4KLQotICAgIC8vIFdoYXQgc2hvdWxkIGhhcHBlbiBpZiB5b3UgcHJv
dmlkZSB0aGUgc2FtZSBhZGp1c3RlciBtb3JlIHRoYW4gb25jZT8gQ3VycmVudGx5LCB3ZSBkbyBs
YXN0IG9uZSB3aW5zLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAy
MCAzMGRlZyAvIC40KSBsaWdodG5lc3MgNjAlIGxpZ2h0bmVzcyA0MCUsIGxjaCg1MCUgNjAgNzBk
ZWcgLyAuOCkpYCwgYGxjaCgzNCUgMjAgMzAgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBj
b2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcyA0MCUsIGxjaCg1
MCUgNjAgNzBkZWcgLyAuOCkpYCwgYGxjaCgzNCUgMjAgMzAgLyAwLjQpYCk7Ci0KLSAgICAvLyBX
aGF0IHNob3VsZCBoYXBwZW4gaWYgeW91IHByb3ZpZGUgYW4gYWRqdXN0ZXIgd2l0aG91dCBhIHBh
aWxpZ2h0bmVzcyBwZXJjZW50PyBDdXJyZW50bHksIHdlIHRyZWF0IHRoYXQgbGlrZSBoYXZpbmcg
MCUgZm9yIHRoYXQgYWRqdXN0ZXIuCi0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGNoLCBs
Y2goMTAlIDIwIDMwZGVnIC8gLjQpIGxpZ2h0bmVzcywgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSlg
LCBgbGNoKDUwJSAyMCAzMCAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChs
Y2gsIGxjaCgxMCUgMjAgMzBkZWcgLyAuNCkgbGlnaHRuZXNzIDAlLCBsY2goNTAlIDYwIDcwZGVn
IC8gLjgpKWAsIGBsY2goNTAlIDIwIDMwIC8gMC40KWApOwotCi0gICAgLy8gV2hhdCBzaG91bGQg
aGFwcGVuIGlmIHlvdSBwcm92aWRlIGFuIGFkanVzdGVyIHdpdGhvdXQgYSBuZWdhdGl2ZSBwZXJj
ZW50PyBDdXJyZW50bHksIHdlIHRyZWF0IHRoYXQgbGlrZSBoYXZpbmcgMCUgZm9yIHRoYXQgYWRq
dXN0ZXIuCi0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVn
IC8gLjQpIC0xMCUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkpYCwgYGxjaCg1MCUgNjAgNzAgLyAw
LjgpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGNoLCBsY2goMTAlIDIwIDMwZGVn
IC8gLjQpIDAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKWAsIGBsY2goNTAlIDYwIDcwIC8gMC44
KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxjaCwgbGNoKDEwJSAyMCAzMGRlZyAv
IC40KSBsaWdodG5lc3MgLTEwJSwgbGNoKDUwJSA2MCA3MGRlZyAvIC44KSlgLCBgbGNoKDUwJSAy
MCAzMCAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsY2gsIGxjaCgxMCUg
MjAgMzBkZWcgLyAuNCkgbGlnaHRuZXNzIDAlLCBsY2goNTAlIDYwIDcwZGVnIC8gLjgpKWAsIGBs
Y2goNTAlIDIwIDMwIC8gMC40KWApOworICAgIC8vIFdoYXQgc2hvdWxkIGhhcHBlbiBpZiB5b3Ug
cHJvdmlkZSBhIG5lZ2F0aXZlIHBlcmNlbnQ/IGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ct
ZHJhZnRzL2lzc3Vlcy82MDQ3CisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4gbGNoLCBs
Y2goMTAlIDIwIDMwZGVnIC8gLjQpIC0xMCUsIGxjaCg1MCUgNjAgNzBkZWcgLyAuOCkpYCwgYGxj
aCg1NCUgNjQgNzQgLyAwLjg0MDAwMDAzKWApOwogCiAKICAgICBkZWJ1ZygnJyk7CiAgICAgZGVi
dWcoJ2NvbG9yLW1peChsYWIsIC4uLiknKTsKIAotICAgIC8vIFNwZWNpYWwgY2FzZSBubyBhZGp1
c3RlcnMgb3IgcGVyY2VudGFnZSBpcyBzcGxpdCA1MC01MC4KLSAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCksIGxhYig1MCUgNjAgNzAgLyAuOCkpYCwg
YGxhYigzMCUgNDAgNTAgLyAwLjYpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4g
bGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpLCBsYWIoNTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoMzAl
IDQwIDUwIC8gMC42KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIGxhYiwgbGFi
KDEwJSAyMCAzMCAvIC40KSAyNSUsIGxhYig1MCUgNjAgNzAgLyAuOCkpYCwgYGxhYig0MCUgNTAg
NjAgLyAwLjcpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4gbGFiLCAyNSUgbGFi
KDEwJSAyMCAzMCAvIC40KSwgbGFiKDUwJSA2MCA3MCAvIC44KSlgLCBgbGFiKDQwJSA1MCA2MCAv
IDAuNylgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiBsYWIsIGxhYigxMCUgMjAg
MzAgLyAuNCksIDI1JSBsYWIoNTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoMjAlIDMwIDQwIC8gMC41
KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIGxhYiwgbGFiKDEwJSAyMCAzMCAv
IC40KSwgbGFiKDUwJSA2MCA3MCAvIC44KSAyNSUpYCwgYGxhYigyMCUgMzAgNDAgLyAwLjUpYCk7
CisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4gbGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQp
IDI1JSwgbGFiKDUwJSA2MCA3MCAvIC44KSA3NSUpYCwgYGxhYig0MCUgNTAgNjAgLyAwLjcpYCk7
CisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4gbGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQp
IDUwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSAxNTAlKWAsIGBsYWIoNDAlIDUwIDYwIC8gMC43KWAp
OyAvLyBTY2FsZSBkb3duID4gMTAwJSBzdW0uCisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgo
aW4gbGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpIDEyLjUlLCBsYWIoNTAlIDYwIDcwIC8gLjgpIDM3
LjUlKWAsIGBsYWIoNDAlIDUwIDYwIC8gMC43KWApOyAvLyBTY2FsZSB1cCA8IDEwMCUgc3VtLgor
ICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSAw
JSwgbGFiKDUwJSA2MCA3MCAvIC44KSlgLCBgbGFiKDUwJSA2MCA3MCAvIDAuOClgKTsKIAotICAg
IC8vIFRlc3QgcHJlY2VudGFnZSB3aXRob3V0IGFkanVzdGVycy4KLSAgICB0ZXN0Q29tcHV0ZWQo
YGNvbG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgMjUlLCBsYWIoNTAlIDYwIDcwIC8g
LjgpKWAsIGBsYWIoNDAlIDUwIDYwIC8gMC43KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3It
bWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSwgbGFiKDUwJSA2MCA3MCAvIC44KSAyNSUpYCwg
YGxhYigyMCUgMzAgNDAgLyAwLjUpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGFi
LCBsYWIoMTAlIDIwIDMwIC8gLjQpIDI1JSwgbGFiKDUwJSA2MCA3MCAvIC44KSA3NSUpYCwgYGxh
Yig0MCUgNTAgNjAgLyAwLjcpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGFiLCBs
YWIoMTAlIDIwIDMwIC8gLjQpIDUwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSAxNTAlKWAsIGBsYWIo
NDAlIDUwIDYwIC8gMC43KWApOyAvLyBTY2FsZSBkb3duID4gMTAwJSBzdW0uCi0gICAgdGVzdENv
bXB1dGVkKGBjb2xvci1taXgobGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpIDEyLjUlLCBsYWIoNTAl
IDYwIDcwIC8gLjgpIDM3LjUlKWAsIGBsYWIoNDAlIDUwIDYwIC8gMC43KWApOyAvLyBTY2FsZSB1
cCA8IDEwMCUgc3VtLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAy
MCAzMCAvIC40KSAwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSlgLCBgbGFiKDUwJSA2MCA3MCAvIDAu
OClgKTsKLQotICAgIC8vIFRlc3QgcGVyLWNoYW5uZWwgYWRqdXN0ZXJzLgotICAgIHRlc3RDb21w
dXRlZChgY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSBsaWdodG5lc3MgNTAlLCBs
YWIoNTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoMzAlIDIwIDMwIC8gMC40KWApOwotICAgIHRlc3RD
b21wdXRlZChgY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSwgbGFiKDUwJSA2MCA3
MCAvIC44KSBsaWdodG5lc3MgNTAlKWAsIGBsYWIoMzAlIDIwIDMwIC8gMC40KWApOwotICAgIHRl
c3RDb21wdXRlZChgY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSBsaWdodG5lc3Mg
NTAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpIGxpZ2h0bmVzcyA1MCUpYCwgYGxhYigzMCUgMjAgMzAg
LyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGFiLCBsYWIoMTAlIDIwIDMw
IC8gLjQpIGxpZ2h0bmVzcyAxMDAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoMTAlIDIw
IDMwIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAy
MCAzMCAvIC40KSBsaWdodG5lc3MgNTAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoMzAl
IDIwIDMwIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxhYiwgbGFiKDEw
JSAyMCAzMCAvIC40KSBsaWdodG5lc3MgNTAlIGEgMTAwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSlg
LCBgbGFiKDMwJSAyMCAzMCAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChs
YWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgbGlnaHRuZXNzIDUwJSBhIDEwMCUgYiAxMDAlLCBsYWIo
NTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoMzAlIDIwIDMwIC8gMC40KWApOwotICAgIHRlc3RDb21w
dXRlZChgY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSBsaWdodG5lc3MgNTAlIGEg
MTAwJSBiIDEwMCUgYWxwaGEgMTAwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSlgLCBgbGFiKDMwJSAy
MCAzMCAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsYWIsIGxhYigxMCUg
MjAgMzAgLyAuNCkgbGlnaHRuZXNzIDUwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSBhIDAlKWAsIGBs
YWIoMzAlIDIwIDMwIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxhYiwg
bGFiKDEwJSAyMCAzMCAvIC40KSBsaWdodG5lc3MgNTAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpIGEg
MCUgYiAwJSlgLCBgbGFiKDMwJSAyMCAzMCAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgbGlnaHRuZXNzIDUwJSwgbGFiKDUwJSA2
MCA3MCAvIC44KSBhIDAlIGIgMCUgYWxwaGEgMCUpYCwgYGxhYigzMCUgMjAgMzAgLyAwLjQpYCk7
Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpIGxp
Z2h0bmVzcyA1MCUgYSA3NSUsIGxhYig1MCUgNjAgNzAgLyAuOCkpYCwgYGxhYigzMCUgMzAgMzAg
LyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGFiLCBsYWIoMTAlIDIwIDMw
IC8gLjQpIGxpZ2h0bmVzcyA1MCUgYSA3NSUgYiAxNSUsIGxhYig1MCUgNjAgNzAgLyAuOCkpYCwg
YGxhYigzMCUgMzAgNjQgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgobGFi
LCBsYWIoMTAlIDIwIDMwIC8gLjQpIGxpZ2h0bmVzcyA1MCUgYSA3NSUgYiAxNSUgYWxwaGEgMTAl
LCBsYWIoNTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoMzAlIDMwIDY0IC8gMC43NilgKTsKLSAgICB0
ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgbGlnaHRuZXNz
IDYwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSlgLCBgbGFiKDI2JSAyMCAzMCAvIDAuNClgKTsKLSAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCksIGxhYig1
MCUgNjAgNzAgLyAuOCkgbGlnaHRuZXNzIDQwJSlgLCBgbGFiKDI2JSAyMCAzMCAvIDAuNClgKTsK
LSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgbGln
aHRuZXNzIDYwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSBsaWdodG5lc3MgNDAlKWAsIGBsYWIoMjYl
IDIwIDMwIC8gMC40KWApOwotCi0gICAgLy8gT3BlbiBxdWVzdGlvbnMuCi0KLSAgICAvLyBXaGF0
IHNob3VsZCBoYXBwZW4gaWYgeW91IHByb3ZpZGUgdGhlIHNhbWUgYWRqdXN0ZXIgbW9yZSB0aGFu
IG9uY2U/IEN1cnJlbnRseSwgd2UgZG8gbGFzdCBvbmUgd2lucy4KLSAgICB0ZXN0Q29tcHV0ZWQo
YGNvbG9yLW1peChsYWIsIGxhYigxMCUgMjAgMzAgLyAuNCkgbGlnaHRuZXNzIDYwJSBsaWdodG5l
c3MgNDAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoMzQlIDIwIDMwIC8gMC40KWApOwot
Ci0gICAgLy8gV2hhdCBzaG91bGQgaGFwcGVuIGlmIHlvdSBwcm92aWRlIGFuIGFkanVzdGVyIHdp
dGhvdXQgYSBwYWlsaWdodG5lc3MgcGVyY2VudD8gQ3VycmVudGx5LCB3ZSB0cmVhdCB0aGF0IGxp
a2UgaGF2aW5nIDAlIGZvciB0aGF0IGFkanVzdGVyLgotICAgIHRlc3RDb21wdXRlZChgY29sb3It
bWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSBsaWdodG5lc3MsIGxhYig1MCUgNjAgNzAgLyAu
OCkpYCwgYGxhYig1MCUgMjAgMzAgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1t
aXgobGFiLCBsYWIoMTAlIDIwIDMwIC8gLjQpIGxpZ2h0bmVzcyAwJSwgbGFiKDUwJSA2MCA3MCAv
IC44KSlgLCBgbGFiKDUwJSAyMCAzMCAvIDAuNClgKTsKLQotICAgIC8vIFdoYXQgc2hvdWxkIGhh
cHBlbiBpZiB5b3UgcHJvdmlkZSBhbiBhZGp1c3RlciB3aXRob3V0IGEgbmVnYXRpdmUgcGVyY2Vu
dD8gQ3VycmVudGx5LCB3ZSB0cmVhdCB0aGF0IGxpa2UgaGF2aW5nIDAlIGZvciB0aGF0IGFkanVz
dGVyLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40
KSAtMTAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoNTAlIDYwIDcwIC8gMC44KWApOwot
ICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSBsaWdo
dG5lc3MgLTEwJSwgbGFiKDUwJSA2MCA3MCAvIC44KSlgLCBgbGFiKDUwJSAyMCAzMCAvIDAuNClg
KTsKKyAgICAvLyBXaGF0IHNob3VsZCBoYXBwZW4gaWYgeW91IHByb3ZpZGUgYSBuZWdhdGl2ZSBw
ZXJjZW50PyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjA0Nwor
ICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIGxhYiwgbGFiKDEwJSAyMCAzMCAvIC40KSAt
MTAlLCBsYWIoNTAlIDYwIDcwIC8gLjgpKWAsIGBsYWIoNTQlIDY0IDc0IC8gMC44NDAwMDAwMylg
KTsKICAKICAgICBkZWJ1ZygnJyk7CiAgICAgZGVidWcoJ2NvbG9yLW1peChzcmdiLCAuLi4pJyk7
CiAKLSAgICAvLyBTcGVjaWFsIGNhc2Ugbm8gYWRqdXN0ZXJzIG9yIHBlcmNlbnRhZ2UgaXMgc3Bs
aXQgNTAtNTAuCi0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAu
MSAuMiAuMyAvIC40KSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3Ioc3JnYiAw
LjMgMC40IDAuNSAvIDAuNilgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiBzcmdi
LCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpKWAs
IGBjb2xvcihzcmdiIDAuMyAwLjQgMC41IC8gMC42KWApOworICAgIHRlc3RDb21wdXRlZChgY29s
b3ItbWl4KGluIHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkgMjUlLCBjb2xvcihzcmdi
IC41IC42IC43IC8gLjgpKWAsIGBjb2xvcihzcmdiIDAuNCAwLjUgMC42IC8gMC43KWApOworICAg
IHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIHNyZ2IsIDI1JSBjb2xvcihzcmdiIC4xIC4yIC4z
IC8gLjQpLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpKWAsIGBjb2xvcihzcmdiIDAuNCAwLjUg
MC42IC8gMC43KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIHNyZ2IsIGNvbG9y
KHNyZ2IgLjEgLjIgLjMgLyAuNCksIDI1JSBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpKWAsIGBj
b2xvcihzcmdiIDAuMiAwLjMgMC40IC8gMC41KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3It
bWl4KGluIHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCksIGNvbG9yKHNyZ2IgLjUgLjYg
LjcgLyAuOCkgMjUlKWAsIGBjb2xvcihzcmdiIDAuMiAwLjMgMC40IC8gMC41KWApOworICAgIHRl
c3RDb21wdXRlZChgY29sb3ItbWl4KGluIHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkg
MjUlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpIDc1JSlgLCBgY29sb3Ioc3JnYiAwLjQgMC41
IDAuNiAvIDAuNylgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiBzcmdiLCBjb2xv
cihzcmdiIC4xIC4yIC4zIC8gLjQpIDUwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSAxNTAl
KWAsIGBjb2xvcihzcmdiIDAuNCAwLjUgMC42IC8gMC43KWApOyAvLyBTY2FsZSBkb3duID4gMTAw
JSBzdW0uCisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4gc3JnYiwgY29sb3Ioc3JnYiAu
MSAuMiAuMyAvIC40KSAxMi41JSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSAzNy41JSlgLCBg
Y29sb3Ioc3JnYiAwLjQgMC41IDAuNiAvIDAuNylgKTsgLy8gU2NhbGUgdXAgPCAxMDAlIHN1bS4K
KyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiBzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4z
IC8gLjQpIDAlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpKWAsIGBjb2xvcihzcmdiIDAuNSAw
LjYgMC43IC8gMC44KWApOwogCi0gICAgLy8gVGVzdCBwcmVjZW50YWdlIHdpdGhvdXQgYWRqdXN0
ZXJzLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIg
LjMgLyAuNCkgMjUlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpKWAsIGBjb2xvcihzcmdiIDAu
NCAwLjUgMC42IC8gMC43KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHNyZ2IsIGNv
bG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCksIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkgMjUlKWAs
IGBjb2xvcihzcmdiIDAuMiAwLjMgMC40IC8gMC41KWApOwotICAgIHRlc3RDb21wdXRlZChgY29s
b3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkgMjUlLCBjb2xvcihzcmdiIC41
IC42IC43IC8gLjgpIDc1JSlgLCBgY29sb3Ioc3JnYiAwLjQgMC41IDAuNiAvIDAuNylgKTsKLSAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQp
IDUwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSAxNTAlKWAsIGBjb2xvcihzcmdiIDAuNCAw
LjUgMC42IC8gMC43KWApOyAvLyBTY2FsZSBkb3duID4gMTAwJSBzdW0uCi0gICAgdGVzdENvbXB1
dGVkKGBjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSAxMi41JSwgY29s
b3Ioc3JnYiAuNSAuNiAuNyAvIC44KSAzNy41JSlgLCBgY29sb3Ioc3JnYiAwLjQgMC41IDAuNiAv
IDAuNylgKTsgLy8gU2NhbGUgdXAgPCAxMDAlIHN1bS4KLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
LW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIDAlLCBjb2xvcihzcmdiIC41IC42
IC43IC8gLjgpKWAsIGBjb2xvcihzcmdiIDAuNSAwLjYgMC43IC8gMC44KWApOwotCi0gICAgLy8g
VGVzdCBwZXItY2hhbm5lbCBhZGp1c3RlcnMuCi0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgo
c3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSByZWQgNTAlLCBjb2xvcihzcmdiIC41IC42
IC43IC8gLjgpKWAsIGBjb2xvcihzcmdiIDAuMyAwLjIgMC4zIC8gMC40KWApOwotICAgIHRlc3RD
b21wdXRlZChgY29sb3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCksIGNvbG9y
KHNyZ2IgLjUgLjYgLjcgLyAuOCkgcmVkIDUwJSlgLCBgY29sb3Ioc3JnYiAwLjMgMC4yIDAuMyAv
IDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4x
IC4yIC4zIC8gLjQpIHJlZCA1MCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkgcmVkIDUwJSlg
LCBgY29sb3Ioc3JnYiAwLjMgMC4yIDAuMyAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIHJlZCAxMDAlLCBjb2xvcihz
cmdiIC41IC42IC43IC8gLjgpKWAsIGBjb2xvcihzcmdiIDAuMSAwLjIgMC4zIC8gMC40KWApOwot
ICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAu
NCkgcmVkIDUwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3Ioc3JnYiAwLjMg
MC4yIDAuMyAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChzcmdiLCBjb2xv
cihzcmdiIC4xIC4yIC4zIC8gLjQpIHJlZCA1MCUgZ3JlZW4gMTAwJSwgY29sb3Ioc3JnYiAuNSAu
NiAuNyAvIC44KSlgLCBgY29sb3Ioc3JnYiAwLjMgMC4yIDAuMyAvIDAuNClgKTsKLSAgICB0ZXN0
Q29tcHV0ZWQoYGNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIHJlZCA1
MCUgZ3JlZW4gMTAwJSBibHVlIDEwMCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpYCwgYGNv
bG9yKHNyZ2IgMC4zIDAuMiAwLjMgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1t
aXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSByZWQgNTAlIGdyZWVuIDEwMCUgYmx1
ZSAxMDAlIGFscGhhIDEwMCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpYCwgYGNvbG9yKHNy
Z2IgMC4zIDAuMiAwLjMgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoc3Jn
YiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSByZWQgNTAlLCBjb2xvcihzcmdiIC41IC42IC43
IC8gLjgpIGdyZWVuIDAlKWAsIGBjb2xvcihzcmdiIDAuMyAwLjIgMC4zIC8gMC40KWApOwotICAg
IHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkg
cmVkIDUwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSBncmVlbiAwJSBibHVlIDAlKWAsIGBj
b2xvcihzcmdiIDAuMyAwLjIgMC4zIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3It
bWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkgcmVkIDUwJSwgY29sb3Ioc3JnYiAu
NSAuNiAuNyAvIC44KSBncmVlbiAwJSBibHVlIDAlIGFscGhhIDAlKWAsIGBjb2xvcihzcmdiIDAu
MyAwLjIgMC4zIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHNyZ2IsIGNv
bG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkgcmVkIDUwJSBncmVlbiA3NSUsIGNvbG9yKHNyZ2IgLjUg
LjYgLjcgLyAuOCkpYCwgYGNvbG9yKHNyZ2IgMC4zIDAuMyAwLjMgLyAwLjQpYCk7Ci0gICAgdGVz
dENvbXB1dGVkKGBjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSByZWQg
NTAlIGdyZWVuIDc1JSBibHVlIDE1JSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSlgLCBgY29s
b3Ioc3JnYiAwLjMgMC4zIDAuNjQgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1t
aXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40KSByZWQgNTAlIGdyZWVuIDc1JSBibHVl
IDE1JSBhbHBoYSAxMCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpYCwgYGNvbG9yKHNyZ2Ig
MC4zIDAuMyAwLjY0IC8gMC43NilgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChzcmdi
LCBjb2xvcihzcmdiIC4xIC4yIC4zIC8gLjQpIHJlZCA2MCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcg
LyAuOCkpYCwgYGNvbG9yKHNyZ2IgMC4yNiAwLjIgMC4zIC8gMC40KWApOwotICAgIHRlc3RDb21w
dXRlZChgY29sb3ItbWl4KHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCksIGNvbG9yKHNy
Z2IgLjUgLjYgLjcgLyAuOCkgcmVkIDQwJSlgLCBgY29sb3Ioc3JnYiAwLjI2IDAuMiAwLjMgLyAw
LjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAu
MiAuMyAvIC40KSByZWQgNjAlLCBjb2xvcihzcmdiIC41IC42IC43IC8gLjgpIHJlZCA0MCUpYCwg
YGNvbG9yKHNyZ2IgMC4yNiAwLjIgMC4zIC8gMC40KWApOwotCi0gICAgLy8gT3BlbiBxdWVzdGlv
bnMuCi0KLSAgICAvLyBXaGF0IHNob3VsZCBoYXBwZW4gaWYgeW91IHByb3ZpZGUgdGhlIHNhbWUg
YWRqdXN0ZXIgbW9yZSB0aGFuIG9uY2U/IEN1cnJlbnRseSwgd2UgZG8gbGFzdCBvbmUgd2lucy4K
LSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4zIC8g
LjQpIHJlZCA2MCUgcmVkIDQwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3Io
c3JnYiAwLjM0IDAuMiAwLjMgLyAwLjQpYCk7Ci0KLSAgICAvLyBXaGF0IHNob3VsZCBoYXBwZW4g
aWYgeW91IHByb3ZpZGUgYW4gYWRqdXN0ZXIgd2l0aG91dCBhIHBhaXJlZCBwZXJjZW50PyBDdXJy
ZW50bHksIHdlIHRyZWF0IHRoYXQgbGlrZSBoYXZpbmcgMCUgZm9yIHRoYXQgYWRqdXN0ZXIuCi0g
ICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoc3JnYiwgY29sb3Ioc3JnYiAuMSAuMiAuMyAvIC40
KSByZWQsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpYCwgYGNvbG9yKHNyZ2IgMC41IDAuMiAw
LjMgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoc3JnYiwgY29sb3Ioc3Jn
YiAuMSAuMiAuMyAvIC40KSByZWQgMCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpYCwgYGNv
bG9yKHNyZ2IgMC41IDAuMiAwLjMgLyAwLjQpYCk7Ci0KLSAgICAvLyBXaGF0IHNob3VsZCBoYXBw
ZW4gaWYgeW91IHByb3ZpZGUgYW4gYWRqdXN0ZXIgd2l0aG91dCBhIG5lZ2F0aXZlIHBlcmNlbnQ/
IEN1cnJlbnRseSwgd2UgdHJlYXQgdGhhdCBsaWtlIGhhdmluZyAwJSBmb3IgdGhhdCBhZGp1c3Rl
ci4KLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChzcmdiLCBjb2xvcihzcmdiIC4xIC4yIC4z
IC8gLjQpIC0xMCUsIGNvbG9yKHNyZ2IgLjUgLjYgLjcgLyAuOCkpYCwgYGNvbG9yKHNyZ2IgMC41
IDAuNiAwLjcgLyAwLjgpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoc3JnYiwgY29s
b3Ioc3JnYiAuMSAuMiAuMyAvIC40KSByZWQgLTEwJSwgY29sb3Ioc3JnYiAuNSAuNiAuNyAvIC44
KSlgLCBgY29sb3Ioc3JnYiAwLjUgMC4yIDAuMyAvIDAuNClgKTsKKyAgICAvLyBXaGF0IHNob3Vs
ZCBoYXBwZW4gaWYgeW91IHByb3ZpZGUgYSBuZWdhdGl2ZSBwZXJjZW50PyBodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjA0NworICAgIHRlc3RDb21wdXRlZChgY29s
b3ItbWl4KGluIHNyZ2IsIGNvbG9yKHNyZ2IgLjEgLjIgLjMgLyAuNCkgLTEwJSwgY29sb3Ioc3Jn
YiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3Ioc3JnYiAwLjU0IDAuNjQwMDAwMDUgMC43NCAvIDAu
ODQwMDAwMDMpYCk7CiAKIAogICAgIGRlYnVnKCcnKTsKICAgICBkZWJ1ZygnY29sb3ItbWl4KHh5
eiwgLi4uKScpOwogCi0gICAgLy8gU3BlY2lhbCBjYXNlIG5vIGFkanVzdGVycyBvciBwZXJjZW50
YWdlIGlzIHNwbGl0IDUwLTUwLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHh5eiwgY29s
b3IoeHl6IC4xIC4yIC4zIC8gLjQpLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkpYCwgYGNvbG9y
KHh5eiAwLjMgMC40IDAuNSAvIDAuNilgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChp
biB4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgp
KWAsIGBjb2xvcih4eXogMC4zIDAuNCAwLjUgLyAwLjYpYCk7CisgICAgdGVzdENvbXB1dGVkKGBj
b2xvci1taXgoaW4geHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgMjUlLCBjb2xvcih4eXog
LjUgLjYgLjcgLyAuOCkpYCwgYGNvbG9yKHh5eiAwLjQgMC41IDAuNiAvIDAuNylgKTsKKyAgICB0
ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiB4eXosIDI1JSBjb2xvcih4eXogLjEgLjIgLjMgLyAu
NCksIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3IoeHl6IDAuNCAwLjUgMC42IC8g
MC43KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIHh5eiwgY29sb3IoeHl6IC4x
IC4yIC4zIC8gLjQpLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkgMjUlKWAsIGBjb2xvcih4eXog
MC4yIDAuMyAwLjQgLyAwLjUpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoaW4geHl6
LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCksIDI1JSBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkp
YCwgYGNvbG9yKHh5eiAwLjIgMC4zIDAuNCAvIDAuNSlgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yLW1peChpbiB4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSAyNSUsIGNvbG9yKHh5eiAu
NSAuNiAuNyAvIC44KSA3NSUpYCwgYGNvbG9yKHh5eiAwLjQgMC41IDAuNiAvIDAuNylgKTsKKyAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peChpbiB4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40
KSA1MCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSAxNTAlKWAsIGBjb2xvcih4eXogMC40IDAu
NSAwLjYgLyAwLjcpYCk7IC8vIFNjYWxlIGRvd24gPiAxMDAlIHN1bS4KKyAgICB0ZXN0Q29tcHV0
ZWQoYGNvbG9yLW1peChpbiB4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSAxMi41JSwgY29s
b3IoeHl6IC41IC42IC43IC8gLjgpIDM3LjUlKWAsIGBjb2xvcih4eXogMC40IDAuNSAwLjYgLyAw
LjcpYCk7IC8vIFNjYWxlIHVwIDwgMTAwJSBzdW0uCisgICAgdGVzdENvbXB1dGVkKGBjb2xvci1t
aXgoaW4geHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgMCUsIGNvbG9yKHh5eiAuNSAuNiAu
NyAvIC44KSlgLCBgY29sb3IoeHl6IDAuNSAwLjYgMC43IC8gMC44KWApOwogCi0gICAgLy8gVGVz
dCBwcmVjZW50YWdlIHdpdGhvdXQgYWRqdXN0ZXJzLgotICAgIHRlc3RDb21wdXRlZChgY29sb3It
bWl4KHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8gLjQpIDI1JSwgY29sb3IoeHl6IC41IC42IC43
IC8gLjgpKWAsIGBjb2xvcih4eXogMC40IDAuNSAwLjYgLyAwLjcpYCk7Ci0gICAgdGVzdENvbXB1
dGVkKGBjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCksIGNvbG9yKHh5eiAu
NSAuNiAuNyAvIC44KSAyNSUpYCwgYGNvbG9yKHh5eiAwLjIgMC4zIDAuNCAvIDAuNSlgKTsKLSAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSAy
NSUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSA3NSUpYCwgYGNvbG9yKHh5eiAwLjQgMC41IDAu
NiAvIDAuNylgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAu
MSAuMiAuMyAvIC40KSA1MCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSAxNTAlKWAsIGBjb2xv
cih4eXogMC40IDAuNSAwLjYgLyAwLjcpYCk7IC8vIFNjYWxlIGRvd24gPiAxMDAlIHN1bS4KLSAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSAx
Mi41JSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpIDM3LjUlKWAsIGBjb2xvcih4eXogMC40IDAu
NSAwLjYgLyAwLjcpYCk7IC8vIFNjYWxlIHVwIDwgMTAwJSBzdW0uCi0gICAgdGVzdENvbXB1dGVk
KGBjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgMCUsIGNvbG9yKHh5eiAu
NSAuNiAuNyAvIC44KSlgLCBgY29sb3IoeHl6IDAuNSAwLjYgMC43IC8gMC44KWApOwotCi0gICAg
Ly8gVGVzdCBwZXItY2hhbm5lbCBhZGp1c3RlcnMuCi0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1t
aXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgeCA1MCUsIGNvbG9yKHh5eiAuNSAuNiAu
NyAvIC44KSlgLCBgY29sb3IoeHl6IDAuMyAwLjIgMC4zIC8gMC40KWApOwotICAgIHRlc3RDb21w
dXRlZChgY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8gLjQpLCBjb2xvcih4eXog
LjUgLjYgLjcgLyAuOCkgeCA1MCUpYCwgYGNvbG9yKHh5eiAwLjMgMC4yIDAuMyAvIDAuNClgKTsK
LSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40
KSB4IDUwJSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpIHggNTAlKWAsIGBjb2xvcih4eXogMC4z
IDAuMiAwLjMgLyAwLjQpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoeHl6LCBjb2xv
cih4eXogLjEgLjIgLjMgLyAuNCkgeCAxMDAlLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkpYCwg
YGNvbG9yKHh5eiAwLjEgMC4yIDAuMyAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
LW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSB4IDUwJSwgY29sb3IoeHl6IC41IC42
IC43IC8gLjgpKWAsIGBjb2xvcih4eXogMC4zIDAuMiAwLjMgLyAwLjQpYCk7Ci0gICAgdGVzdENv
bXB1dGVkKGBjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgeCA1MCUgeSAx
MDAlLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkpYCwgYGNvbG9yKHh5eiAwLjMgMC4yIDAuMyAv
IDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAu
MiAuMyAvIC40KSB4IDUwJSB5IDEwMCUgeiAxMDAlLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkp
YCwgYGNvbG9yKHh5eiAwLjMgMC4yIDAuMyAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yLW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSB4IDUwJSB5IDEwMCUgeiAxMDAl
IGFscGhhIDEwMCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3IoeHl6IDAuMyAw
LjIgMC4zIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHh5eiwgY29sb3Io
eHl6IC4xIC4yIC4zIC8gLjQpIHggNTAlLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkgeSAwJSlg
LCBgY29sb3IoeHl6IDAuMyAwLjIgMC4zIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29s
b3ItbWl4KHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8gLjQpIHggNTAlLCBjb2xvcih4eXogLjUg
LjYgLjcgLyAuOCkgeSAwJSB6IDAlKWAsIGBjb2xvcih4eXogMC4zIDAuMiAwLjMgLyAwLjQpYCk7
Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAu
NCkgeCA1MCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSB5IDAlIHogMCUgYWxwaGEgMCUpYCwg
YGNvbG9yKHh5eiAwLjMgMC4yIDAuMyAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
LW1peCh4eXosIGNvbG9yKHh5eiAuMSAuMiAuMyAvIC40KSB4IDUwJSB5IDc1JSwgY29sb3IoeHl6
IC41IC42IC43IC8gLjgpKWAsIGBjb2xvcih4eXogMC4zIDAuMyAwLjMgLyAwLjQpYCk7Ci0gICAg
dGVzdENvbXB1dGVkKGBjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgeCA1
MCUgeSA3NSUgeiAxNSUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3IoeHl6IDAu
MyAwLjMgMC42NCAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peCh4eXosIGNv
bG9yKHh5eiAuMSAuMiAuMyAvIC40KSB4IDUwJSB5IDc1JSB6IDE1JSBhbHBoYSAxMCUsIGNvbG9y
KHh5eiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3IoeHl6IDAuMyAwLjMgMC42NCAvIDAuNzYpYCk7
Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAu
NCkgeCA2MCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3IoeHl6IDAuMjYgMC4y
IDAuMyAvIDAuNClgKTsKLSAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yLW1peCh4eXosIGNvbG9yKHh5
eiAuMSAuMiAuMyAvIC40KSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpIHggNDAlKWAsIGBjb2xv
cih4eXogMC4yNiAwLjIgMC4zIC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4
KHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8gLjQpIHggNjAlLCBjb2xvcih4eXogLjUgLjYgLjcg
LyAuOCkgeCA0MCUpYCwgYGNvbG9yKHh5eiAwLjI2IDAuMiAwLjMgLyAwLjQpYCk7Ci0KLSAgICAv
LyBPcGVuIHF1ZXN0aW9ucy4KLQotICAgIC8vIFdoYXQgc2hvdWxkIGhhcHBlbiBpZiB5b3UgcHJv
dmlkZSB0aGUgc2FtZSBhZGp1c3RlciBtb3JlIHRoYW4gb25jZT8gQ3VycmVudGx5LCB3ZSBkbyBs
YXN0IG9uZSB3aW5zLgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6
IC4xIC4yIC4zIC8gLjQpIHggNjAlIHggNDAlLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkpYCwg
YGNvbG9yKHh5eiAwLjM0IDAuMiAwLjMgLyAwLjQpYCk7Ci0KLSAgICAvLyBXaGF0IHNob3VsZCBo
YXBwZW4gaWYgeW91IHByb3ZpZGUgYW4gYWRqdXN0ZXIgd2l0aG91dCBhIHBhaXggcGVyY2VudD8g
Q3VycmVudGx5LCB3ZSB0cmVhdCB0aGF0IGxpa2UgaGF2aW5nIDAlIGZvciB0aGF0IGFkanVzdGVy
LgotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6IC4xIC4yIC4zIC8g
LjQpIHgsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3IoeHl6IDAuNSAwLjIgMC4z
IC8gMC40KWApOwotICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KHh5eiwgY29sb3IoeHl6IC4x
IC4yIC4zIC8gLjQpIHggMCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSlgLCBgY29sb3IoeHl6
IDAuNSAwLjIgMC4zIC8gMC40KWApOwotCi0gICAgLy8gV2hhdCBzaG91bGQgaGFwcGVuIGlmIHlv
dSBwcm92aWRlIGFuIGFkanVzdGVyIHdpdGhvdXQgYSBuZWdhdGl2ZSBwZXJjZW50PyBDdXJyZW50
bHksIHdlIHRyZWF0IHRoYXQgbGlrZSBoYXZpbmcgMCUgZm9yIHRoYXQgYWRqdXN0ZXIuCi0gICAg
dGVzdENvbXB1dGVkKGBjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIgLjMgLyAuNCkgLTEw
JSwgY29sb3IoeHl6IC41IC42IC43IC8gLjgpKWAsIGBjb2xvcih4eXogMC41IDAuNiAwLjcgLyAw
LjgpYCk7Ci0gICAgdGVzdENvbXB1dGVkKGBjb2xvci1taXgoeHl6LCBjb2xvcih4eXogLjEgLjIg
LjMgLyAuNCkgeCAtMTAlLCBjb2xvcih4eXogLjUgLjYgLjcgLyAuOCkpYCwgYGNvbG9yKHh5eiAw
LjUgMC4yIDAuMyAvIDAuNClgKTsKKyAgICAvLyBXaGF0IHNob3VsZCBoYXBwZW4gaWYgeW91IHBy
b3ZpZGUgYSBuZWdhdGl2ZSBwZXJjZW50PyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRy
YWZ0cy9pc3N1ZXMvNjA0NworICAgIHRlc3RDb21wdXRlZChgY29sb3ItbWl4KGluIHh5eiwgY29s
b3IoeHl6IC4xIC4yIC4zIC8gLjQpIC0xMCUsIGNvbG9yKHh5eiAuNSAuNiAuNyAvIC44KSlgLCBg
Y29sb3IoeHl6IDAuNTQgMC42NDAwMDAwNSAwLjc0IC8gMC44NDAwMDAwMylgKTsKIDwvc2NyaXB0
PgogICAgIAogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>