<?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>205689</bug_id>
          
          <creation_ts>2020-01-02 12:03:34 -0800</creation_ts>
          <short_desc>[WebGL] Fill in missing WebGL2 entry points</short_desc>
          <delta_ts>2020-01-07 12:55:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jonlee</cc>
    
    <cc>justin_fan</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1602192</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-02 12:03:34 -0800</bug_when>
    <thetext>[WebGL] Add a WebGL2RenderingContextBase and fill in missing WebGL2 entry points</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602193</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-02 12:04:38 -0800</bug_when>
    <thetext>&lt;rdar://problem/58280920&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602196</commentid>
    <comment_count>2</comment_count>
      <attachid>386617</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-02 12:20:15 -0800</bug_when>
    <thetext>Created attachment 386617
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603281</commentid>
    <comment_count>3</comment_count>
      <attachid>386889</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-06 14:38:29 -0800</bug_when>
    <thetext>Created attachment 386889
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603282</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-06 14:39:18 -0800</bug_when>
    <thetext>I&apos;ll need to rebaseline a couple of tests (we&apos;re exposing things that didn&apos;t exist before, so the type of failure has changed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603629</commentid>
    <comment_count>5</comment_count>
      <attachid>386986</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-07 10:15:03 -0800</bug_when>
    <thetext>Created attachment 386986
EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603676</commentid>
    <comment_count>6</comment_count>
      <attachid>386999</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-07 11:15:11 -0800</bug_when>
    <thetext>Created attachment 386999
EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603747</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-07 12:55:14 -0800</bug_when>
    <thetext>Committed r254148: &lt;https://trac.webkit.org/changeset/254148&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386617</attachid>
            <date>2020-01-02 12:20:15 -0800</date>
            <delta_ts>2020-01-06 14:38:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205689-20200103072013.patch</filename>
            <type>text/plain</type>
            <size>350129</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDMzNGQ4OTA2OTRiZjBl
NTBmOTBmN2RjM2NkYzIyYzlhMDBmN2M5ZS4uMDg0YTk2NThkMjJlMGYzMWY4YzAzNjE3Zjg3ODAx
NGE4MWU1M2QxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3MyBAQAorMjAyMC0wMS0wMiAgRGVh
biBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBBZGQgYSBXZWJH
TDJSZW5kZXJpbmdDb250ZXh0QmFzZSBhbmQgZmlsbCBpbiBtaXNzaW5nIFdlYkdMMiBlbnRyeSBw
b2ludHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
NTY4OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTgyODA5MjA+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dEJhc2Uue2lkbCwgaCwgY3BwfSB0aGF0IGltcGxlbWVudHMgbW9zdCBvZiB0aGUgV2ViR0wy
IEFQSSwKKyAgICAgICAgd2l0aCB0aGUgZXhjZXB0aW9uIGJlaW5nIHNvbWUgZW50cnkgcG9pbnRz
IHRoYXQgbWF5IGNsYXNoIHdpdGggV2ViR0wxIG1ldGhvZHMuCisKKyAgICAgICAgQWxzbyBmaWxs
IGluIHRoZSByZW1haW5pbmcgV2ViR0wyIGVudHJ5IHBvaW50cyBzbyB0aGF0IHdlIG5vdyBleHBv
c2UKKyAgICAgICAgdGhlIGNvbXBsZXRlIEFQSS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gdGVz
dCBiZWhhdmlvdXIuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4SW1hZ2UyRCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4U3ViSW1hZ2Uy
RCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yZnYp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNmdik6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xaXYpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJpdik6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2l2KToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00aXYpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDJmdik6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4
M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1N
YXRyaXg0ZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6cmVh
ZFBpeGVscyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojppbml0
aWFsaXplVmVydGV4QXJyYXlPYmplY3RzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMMlJlbmRlcmluZ0NvbnRleHQ6OmluaXRpYWxpemVTaGFkZXJFeHRlbnNpb25zKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvcHlCdWZmZXJT
dWJEYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OmdldEJ1ZmZlclN1YkRhdGEpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wy
UmVuZGVyaW5nQ29udGV4dDo6YmxpdEZyYW1lYnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmZyYW1lYnVmZmVyVGV4dHVyZUxheWVyKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmlzUmVuZGVyYWJsZUludGVybmFsZm9ybWF0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmdldElu
dGVybmFsZm9ybWF0UGFyYW1ldGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
MlJlbmRlcmluZ0NvbnRleHQ6OmludmFsaWRhdGVGcmFtZWJ1ZmZlcik6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjppbnZhbGlkYXRlU3ViRnJhbWVi
dWZmZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dDo6cmVhZEJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJp
bmdDb250ZXh0OjpyZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhTdG9yYWdl
RnVuY1BhcmFtZXRlcnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6dGV4U3RvcmFnZTJEKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN0b3JhZ2UzRCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlM0QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1h
Z2UyRCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0
Ojp0ZXhTdWJJbWFnZTNEKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRl
cmluZ0NvbnRleHQ6OmNvcHlUZXhTdWJJbWFnZTNEKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhJbWFnZTNEKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRU
ZXhTdWJJbWFnZTNEKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OmdldEZyYWdEYXRhTG9jYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTF1aSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMnVpKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zdWkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9y
bTR1aSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0
Ojp1bmlmb3JtMXVpdik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJp
bmdDb250ZXh0Ojp1bmlmb3JtMnVpdik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM3Vpdik6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNHVpdik6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4MngzZnYp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5p
Zm9ybU1hdHJpeDN4MmZ2KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyeDRmdik6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4NHgyZnYpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJp
eDN4NGZ2KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OnVuaWZvcm1NYXRyaXg0eDNmdik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Ojp2ZXJ0ZXhBdHRyaWJJNGkpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0cmliSTRpdik6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp2ZXJ0ZXhBdHRy
aWJJNHVpKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OnZlcnRleEF0dHJpYkk0dWl2KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
MlJlbmRlcmluZ0NvbnRleHQ6OnZlcnRleEF0dHJpYklQb2ludGVyKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZlcnRleEF0dHJpYkRpdmlz
b3IpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
ZHJhd0FycmF5c0luc3RhbmNlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0OjpkcmF3RWxlbWVudHNJbnN0YW5jZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6ZHJhd1JhbmdlRWxlbWVudHMpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0J1
ZmZlcnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dDo6Y2xlYXJCdWZmZXJpdik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcnVpdik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcmZ2KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyZmkpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlUXVl
cnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
ZGVsZXRlUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5n
Q29udGV4dDo6aXNRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0OjpiZWdpblF1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMMlJlbmRlcmluZ0NvbnRleHQ6OmVuZFF1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmdldFF1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmdldFF1ZXJ5UGFyYW1ldGVyKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZVNh
bXBsZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dDo6ZGVsZXRlU2FtcGxlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojppc1NhbXBsZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0wyUmVuZGVyaW5nQ29udGV4dDo6YmluZFNhbXBsZXIpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6c2FtcGxlclBhcmFtZXRlcmkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6c2FtcGxlclBhcmFt
ZXRlcmYpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dDo6Z2V0U2FtcGxlclBhcmFtZXRlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJH
TDJSZW5kZXJpbmdDb250ZXh0OjpmZW5jZVN5bmMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6aXNTeW5jKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmRlbGV0ZVN5bmMpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xpZW50V2FpdFN5bmMpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6d2FpdFN5
bmMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
Z2V0U3luY1BhcmFtZXRlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0OjpjcmVhdGVUcmFuc2Zvcm1GZWVkYmFjayk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpkZWxldGVUcmFuc2Zvcm1GZWVkYmFj
ayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpp
c1RyYW5zZm9ybUZlZWRiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OmJpbmRUcmFuc2Zvcm1GZWVkYmFjayk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpiZWdpblRyYW5zZm9ybUZlZWRiYWNr
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmVu
ZFRyYW5zZm9ybUZlZWRiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0VHJhbnNmb3JtRmVlZGJh
Y2tWYXJ5aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0Nv
bnRleHQ6OnBhdXNlVHJhbnNmb3JtRmVlZGJhY2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6cmVzdW1lVHJhbnNmb3JtRmVlZGJhY2spOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6YmluZEJ1ZmZl
ckJhc2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dDo6YmluZEJ1ZmZlclJhbmdlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OmdldEluZGV4ZWRQYXJhbWV0ZXIpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0VW5pZm9ybUluZGljZXMpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0QWN0aXZl
VW5pZm9ybXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29u
dGV4dDo6Z2V0VW5pZm9ybUJsb2NrSW5kZXgpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0QWN0aXZlVW5pZm9ybUJsb2NrUGFyYW1ldGVyKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmdldEFj
dGl2ZVVuaWZvcm1CbG9ja05hbWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wy
UmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybUJsb2NrQmluZGluZyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVWZXJ0ZXhBcnJheSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpkZWxldGVW
ZXJ0ZXhBcnJheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdD
b250ZXh0Ojppc1ZlcnRleEFycmF5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
MlJlbmRlcmluZ0NvbnRleHQ6OmJpbmRWZXJ0ZXhBcnJheSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0
ZW5zaW9ucyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0ZURlZmF1bHRGcmFt
ZWJ1ZmZlckF0dGFjaG1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlRnJh
bWVidWZmZXJGdW5jUGFyYW1ldGVycyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUZyYW1lYnVmZmVyVGFyZ2V0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlTm9uRGVm
YXVsdEZyYW1lYnVmZmVyQXR0YWNobWVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpnZXRNYXhEcmF3QnVmZmVycyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpnZXRNYXhDb2xvckF0dGFjaG1l
bnRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6
OnJlbmRlcmJ1ZmZlclN0b3JhZ2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wy
UmVuZGVyaW5nQ29udGV4dDo6aGludCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJH
TDJSZW5kZXJpbmdDb250ZXh0OjpiYXNlSW50ZXJuYWxGb3JtYXRGcm9tSW50ZXJuYWxGb3JtYXQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6aXNJ
bnRlZ2VyRm9ybWF0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OmdldFBhcmFtZXRlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUluZGV4QXJyYXlDb25zZXJ2YXRpdmUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVC
bGVuZEVxdWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OnZhbGlkYXRlQ2FwYWJpbGl0eSk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMMlJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJH
TDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmluaXRpYWxpemVWZXJ0
ZXhBcnJheU9iamVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmluaXRpYWxpemVTaGFkZXJFeHRlbnNpb25zKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpjb3B5QnVmZmVyU3ViRGF0YSk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0QnVmZmVyU3ViRGF0YSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6YmxpdEZyYW1lYnVm
ZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpmcmFt
ZWJ1ZmZlclRleHR1cmVMYXllcik6CisgICAgICAgIChXZWJDb3JlOjppc1JlbmRlcmFibGVJbnRl
cm5hbGZvcm1hdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Z2V0SW50ZXJuYWxmb3JtYXRQYXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wy
UmVuZGVyaW5nQ29udGV4dEJhc2U6OmludmFsaWRhdGVGcmFtZWJ1ZmZlcik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6aW52YWxpZGF0ZVN1YkZyYW1lYnVm
ZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpyZWFk
QnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpy
ZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wy
UmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlVGV4U3RvcmFnZUZ1bmNQYXJhbWV0ZXJzKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp0ZXhTdG9yYWdl
MkQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleFN0
b3JhZ2UzRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6
dGV4SW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6dGV4SW1hZ2UzRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0
QmFzZTo6dGV4U3ViSW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdD
b250ZXh0QmFzZTo6dGV4U3ViSW1hZ2UzRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6Y29weVRleFN1YkltYWdlM0QpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNvbXByZXNzZWRUZXhJbWFnZTNEKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpjb21wcmVzc2VkVGV4U3Vi
SW1hZ2UzRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6
Z2V0RnJhZ0RhdGFMb2NhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdD
b250ZXh0QmFzZTo6dW5pZm9ybTF1aSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJp
bmdDb250ZXh0QmFzZTo6dW5pZm9ybTJ1aSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTN1aSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTR1aSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
TDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTF1aXYpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm0ydWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtM3Vpdik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTR1aXYpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRyaXgyeDNm
dik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9y
bU1hdHJpeDN4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRC
YXNlOjp1bmlmb3JtTWF0cml4Mng0ZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRyaXg0eDJmdik6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybU1hdHJpeDN4NGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtTWF0cml4NHgzZnYp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZlcnRleEF0
dHJpYkk0aSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6
dmVydGV4QXR0cmliSTRpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250
ZXh0QmFzZTo6dmVydGV4QXR0cmliSTR1aSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6dmVydGV4QXR0cmliSTR1aXYpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZlcnRleEF0dHJpYklQb2ludGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVhcik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmVydGV4QXR0cmliRGl2aXNv
cik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZHJhd0Fy
cmF5c0luc3RhbmNlZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0
QmFzZTo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3UmFuZ2VFbGVtZW50cyk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZHJhd0J1ZmZlcnMpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsZWFyQnVmZmVyaXYpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsZWFyQnVmZmVydWl2KToK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVhckJ1ZmZl
cmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVh
ckJ1ZmZlcmZpKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNl
OjpjcmVhdGVRdWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0
QmFzZTo6ZGVsZXRlUXVlcnkpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmlzUXVlcnkpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmJlZ2luUXVlcnkpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmVuZFF1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRRdWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJp
bmdDb250ZXh0QmFzZTo6Z2V0UXVlcnlQYXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNyZWF0ZVNhbXBsZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRlbGV0ZVNhbXBsZXIpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmlzU2FtcGxlcik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6YmluZFNhbXBsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnNhbXBsZXJQYXJhbWV0
ZXJpKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpzYW1w
bGVyUGFyYW1ldGVyZik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0
QmFzZTo6Z2V0U2FtcGxlclBhcmFtZXRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6ZmVuY2VTeW5jKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHRCYXNlOjppc1N5bmMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OmRlbGV0ZVN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wy
UmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsaWVudFdhaXRTeW5jKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp3YWl0U3luYyk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U3luY1BhcmFtZXRlcik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlVHJhbnNmb3JtRmVl
ZGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRl
bGV0ZVRyYW5zZm9ybUZlZWRiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmlu
Z0NvbnRleHRCYXNlOjppc1RyYW5zZm9ybUZlZWRiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpiaW5kVHJhbnNmb3JtRmVlZGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJlZ2luVHJhbnNmb3JtRmVl
ZGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmVu
ZFRyYW5zZm9ybUZlZWRiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0Nv
bnRleHRCYXNlOjp0cmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRUcmFuc2Zvcm1GZWVkYmFja1Zhcnlpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnBhdXNlVHJh
bnNmb3JtRmVlZGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dEJhc2U6OnJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
MlJlbmRlcmluZ0NvbnRleHRCYXNlOjpiaW5kQnVmZmVyQmFzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6YmluZEJ1ZmZlclJhbmdlKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRJbmRleGVkUGFyYW1ldGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRVbmlm
b3JtSW5kaWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Z2V0QWN0aXZlVW5pZm9ybXMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldFVuaWZvcm1CbG9ja0luZGV4KToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtQmxvY2tQYXJhbWV0ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEFjdGl2
ZVVuaWZvcm1CbG9ja05hbWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OnVuaWZvcm1CbG9ja0JpbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wy
UmVuZGVyaW5nQ29udGV4dEJhc2U6OmNyZWF0ZVZlcnRleEFycmF5KToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpkZWxldGVWZXJ0ZXhBcnJheSk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6aXNWZXJ0ZXhBcnJheSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6YmluZFZlcnRl
eEFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpn
ZXRFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJh
c2U6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGVE
ZWZhdWx0RnJhbWVidWZmZXJBdHRhY2htZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHRCYXNlOjpnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlRnJh
bWVidWZmZXJGdW5jUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJp
bmdDb250ZXh0QmFzZTo6dmFsaWRhdGVGcmFtZWJ1ZmZlclRhcmdldCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmFsaWRhdGVOb25EZWZhdWx0RnJhbWVi
dWZmZXJBdHRhY2htZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpnZXRNYXhEcmF3QnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6Z2V0TWF4Q29sb3JBdHRhY2htZW50cyk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6cmVuZGVyYnVmZmVyU3RvcmFnZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6aGludCk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6YmFzZUludGVybmFsRm9y
bWF0RnJvbUludGVybmFsRm9ybWF0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmlu
Z0NvbnRleHRCYXNlOjppc0ludGVnZXJGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wy
UmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFBhcmFtZXRlcik6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmFsaWRhdGVJbmRleEFycmF5Q29uc2VydmF0aXZl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0
ZUJsZW5kRXF1YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dEJhc2U6OnZhbGlkYXRlQ2FwYWJpbGl0eSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0wy
UmVuZGVyaW5nQ29udGV4dEJhc2UuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwuCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoKKwogMjAxOS0xMi0zMCAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmVhdGUgbWVkaWEgbWltZSB0
eXBlIGNhY2hlIGJhc2UgY2xhc3MgdG8gcmVkdWNlIGR1cGxpY2F0ZSBjb2RlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBkNWUzOTQxM2I5
NGNiYzNlZDhlN2NjNzk3ZWI4ZGRiMGZmZjFkYWY2Li4zMWNhOTU2ZWI4ODA0OTc0MWY5NGJmNGY1
YzY1YTRkOTQ4YWM5MzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKQEAgLTgyNSw2ICs4MjUsNyBAQCAkKFBST0pFQ1RfRElSKS9odG1sL2Nh
bnZhcy9PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCiAkKFBST0pFQ1RfRElS
KS9odG1sL2NhbnZhcy9QYWludFJlbmRlcmluZ0NvbnRleHQyRC5pZGwKICQoUFJPSkVDVF9ESVIp
L2h0bWwvY2FudmFzL1BhdGgyRC5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL1dlYkdM
MlJlbmRlcmluZ0NvbnRleHQuaWRsCiskKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTDJS
ZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL1dlYkdM
QWN0aXZlSW5mby5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlk
bAogJChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMu
aWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CmluZGV4IGFlMTE5Zjk5ZjdkNjMzMTVjYzE5NGU5ZTEzMTU3MTA1NDYzNzVhOWQuLjAyYTY2NjIw
NjQ5Y2U4NGM4ZDkxZWRlOTdiZjBlYzI4OTA2ODA4OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xOTMxLDYgKzE5MzEsOCBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkFuaW1hdGlv
bi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
QW5pbWF0aW9uLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdMMlJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdMQWN0aXZlSW5mby5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xBY3RpdmVJbmZvLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xCdWZmZXIuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyZTc2YTJjYjllNjIwMTBkMTQ2NWYz
ZjlhNzIzZWI3MzUxY2JjMjFjLi44ZDQyYjI3YjFhYzhjODdkN2QwZjZjZDE2NzU5NjQxOWZiNGY4
NTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTgyOSw2ICs4MjksNyBAQCBK
U19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9QYWludFJlbmRl
cmluZ0NvbnRleHQyRC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvUGF0aDJELmlk
bCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0Lmlk
bCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFz
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5pZGwgXAogICAgICQoV2Vi
Q29yZSkvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKaW5kZXggZjhiYTAzYTMxYTYzNzIwMzEyOWQ3ODI4ZTMyMmY2Mjc5MzMxN2M4MS4uODI0
MWMwYzJlMjNjZGYxOWVlODJmNWQ1MDc4MGVhYTg2Yjg0NGVhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAg
LTEyODUsNiArMTI4NSw3IEBAIGh0bWwvY2FudmFzL1BhaW50UmVuZGVyaW5nQ29udGV4dDJELmNw
cAogaHRtbC9jYW52YXMvUGF0aDJELmNwcAogaHRtbC9jYW52YXMvUGxhY2Vob2xkZXJSZW5kZXJp
bmdDb250ZXh0LmNwcAogaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAKK2h0
bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAogaHRtbC9jYW52YXMvV2Vi
R0xCdWZmZXIuY3BwCiBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQy5jcHAK
IGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjc3M2IxOGI1
ZTg2ZjVhNzM2MDk0ZWMwM2RlNDFmNzRhOTVhYmIxYi4uYmRkMzgwM2FiMTEzZjIxNWNhOGU0ODNk
MzI1ZDFkMTc3YmUwZTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTQ3LDYgKzk0Nyw3IEBACiAJCTMxOTU1QTg4MTYwRDE5
OTIwMDg1ODAyNSAvKiBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFOEQ4QkIxNjBCQzk0QzAwNENFOEY1IC8q
IFJlbmRlclNuYXBzaG90dGVkUGx1Z0luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzE5ODQ4MDExQTFEODE3QjAwQTEzMzE4IC8qIEFuaW1hdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MTk4NDdGRjFBMUQ4MTY3MDBBMTMzMTggLyogQW5pbWF0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzE5
ODQ4MEMxQTFFNkNFODAwQTEzMzE4IC8qIEpTQW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOTg0ODA0MUExRTZCNUQwMEExMzMx
OCAvKiBKU0FuaW1hdGlvbkV2ZW50LmggKi87IH07CisJCTMxOUE3MjdFMjNCQkYzNUUwMDg1MzUz
QyAvKiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE5QTcyN0QyM0JCRjM0NjAwODUzNTNDIC8qIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHRCYXNlLmggKi87IH07CiAJCTMxOUFFMDY0MTQyRDZCMjQwMDY1NjNB
MSAvKiBTdHlsZUZpbHRlckRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxOUFFMDYyMTQyRDZCMjQwMDY1NjNBMSAvKiBTdHlsZUZpbHRlckRhdGEu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMTlG
QkQ1RjE1RDJGNDY0MDA5NjQwQTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOUZCRDVEMTVEMkY0NDQwMDk2NDBB
NiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTMxQTA4OTU2MUU3MzhENTkwMDNCNjYwOSAvKiBKU1dlYkdQVUJ1
ZmZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFB
MDg5MUQxRTczOEQ1OTAwM0I2NjA5IC8qIEpTV2ViR1BVQnVmZmVyLmggKi87IH07CkBAIC03MDg4
LDYgKzcwODksOSBAQAogCQkzMTk4NDgwMDFBMUQ4MTY3MDBBMTMzMTggLyogQW5pbWF0aW9uRXZl
bnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFuaW1hdGlvbkV2ZW50LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE5ODQ4MDMxQTFFNkI1RDAwQTEzMzE4IC8qIEpTQW5p
bWF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNB
bmltYXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOTg0ODA0
MUExRTZCNUQwMEExMzMxOCAvKiBKU0FuaW1hdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTQW5pbWF0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMzE5QTcyN0EyM0JCRjEzQTAwODUzNTNDIC8qIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHRCYXNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxOUE3MjdDMjNCQkYzNDUwMDg1MzUzQyAvKiBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxOUE3MjdE
MjNCQkYzNDYwMDg1MzUzQyAvKiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMTlBRTA2MTE0MkQ2QjI0MDA2NTYzQTEgLyogU3R5bGVGaWx0ZXJEYXRhLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlRmlsdGVyRGF0YS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOUFFMDYyMTQyRDZCMjQwMDY1NjNB
MSAvKiBTdHlsZUZpbHRlckRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U3R5bGVGaWx0ZXJEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOUJERTRG
MUU3QTg1OEEwMEJBMjk2QyAvKiBKU1JUQ0ljZVRyYW5zcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1JUQ0ljZVRyYW5zcG9ydC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xODU5Miw2ICsxODU5Niw5IEBACiAJCQkJRDNGM0QzNUIxQTY5
QTUwNjAwNTlGQzJCIC8qIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwICovLAogCQkJCUQzRjNE
MzVDMUE2OUE1MDYwMDU5RkMyQiAvKiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LmggKi8sCiAJCQkJ
RDNGM0QzNUQxQTY5QTUwNjAwNTlGQzJCIC8qIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsICov
LAorCQkJCTMxOUE3MjdDMjNCQkYzNDUwMDg1MzUzQyAvKiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAgKi8sCisJCQkJMzE5QTcyN0QyM0JCRjM0NjAwODUzNTNDIC8qIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHRCYXNlLmggKi8sCisJCQkJMzE5QTcyN0EyM0JCRjEzQTAwODUzNTNDIC8qIFdl
YkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbCAqLywKIAkJCQlBN0QyMEY2QjEwN0Y0MzhCMDBB
ODAzOTIgLyogV2ViR0xBY3RpdmVJbmZvLmggKi8sCiAJCQkJQTdEMjBGM0IxMDdGMzczODAwQTgw
MzkyIC8qIFdlYkdMQWN0aXZlSW5mby5pZGwgKi8sCiAJCQkJNkU0N0U2NUYxMEI3OTQ0QjAwQjE4
NkM4IC8qIFdlYkdMQW55LmggKi8sCkBAIC0zMjkzNSw2ICszMjk0Miw3IEBACiAJCQkJRkUwRDg0
RTkxMDQ4NDM0ODAwMUExNzlFIC8qIFdlYkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyMjVB
MTZCNTBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRSZWdpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCUQzRjNEMzZFMUE2OUI3RTAwMDU5RkMyQiAvKiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkzMTlBNzI3RTIzQkJGMzVFMDA4NTM1M0MgLyogV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dEJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDIwRjZEMTA3RjQzOEIw
MEE4MDM5MiAvKiBXZWJHTEFjdGl2ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTZFNDdFNjYx
MTBCNzk0NEIwMEIxODZDOCAvKiBXZWJHTEFueS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGRkM0
NTgxRDVFODY1NTAwMjY3QTY2IC8qIFdlYkdMQmxhY2tsaXN0LmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4
dC5jcHAKaW5kZXggMGIzZGJmZmZlMWIwZGMzZjUwYjFhYmMxODUxMTdjYTM3NmYxYmZjYS4uMTE1
MTgyMjg2MTY1MmMyNmY2YWVmOWU1N2U4MTlhYmI5ZmUxNDdjMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTg2
LDM2ICs4NiwxMyBAQCBzdGQ6OnVuaXF1ZV9wdHI8V2ViR0wyUmVuZGVyaW5nQ29udGV4dD4gV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKENhbnZhc0JhcwogfQogCiBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0OjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0KENhbnZhc0Jhc2UmIGNhbnZhcywgR3Jh
cGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMpCi0gICAgOiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlKGNhbnZhcywgYXR0cmlidXRlcykKKyAgICA6IFdlYkdMMlJlbmRlcmluZ0Nv
bnRleHRCYXNlKGNhbnZhcywgYXR0cmlidXRlcykKIHsKIH0KIAogV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dDo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dChDYW52YXNCYXNlJiBjYW52YXMsIFJlZjxHcmFw
aGljc0NvbnRleHQzRD4mJiBjb250ZXh0LCBHcmFwaGljc0NvbnRleHQzREF0dHJpYnV0ZXMgYXR0
cmlidXRlcykKLSAgICA6IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UoY2FudmFzLCBXVEZNb3Zl
KGNvbnRleHQpLCBhdHRyaWJ1dGVzKQorICAgIDogV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2Uo
Y2FudmFzLCBXVEZNb3ZlKGNvbnRleHQpLCBhdHRyaWJ1dGVzKQogewotICAgIGluaXRpYWxpemVT
aGFkZXJFeHRlbnNpb25zKCk7Ci0gICAgaW5pdGlhbGl6ZVZlcnRleEFycmF5T2JqZWN0cygpOwot
fQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmluaXRpYWxpemVWZXJ0ZXhBcnJheU9i
amVjdHMoKQotewotICAgIG1fZGVmYXVsdFZlcnRleEFycmF5T2JqZWN0ID0gV2ViR0xWZXJ0ZXhB
cnJheU9iamVjdDo6Y3JlYXRlKCp0aGlzLCBXZWJHTFZlcnRleEFycmF5T2JqZWN0OjpUeXBlOjpE
ZWZhdWx0KTsKLSAgICBhZGRDb250ZXh0T2JqZWN0KCptX2RlZmF1bHRWZXJ0ZXhBcnJheU9iamVj
dCk7Ci0jaWYgVVNFKE9QRU5HTF9FUykKLSAgICBtX2JvdW5kVmVydGV4QXJyYXlPYmplY3QgPSBt
X2RlZmF1bHRWZXJ0ZXhBcnJheU9iamVjdDsKLSNlbHNlCi0gICAgYmluZFZlcnRleEFycmF5KG51
bGxwdHIpOyAvLyBUaGUgZGVmYXVsdCBWQU8gd2FzIHJlbW92ZWQgaW4gT3BlbkdMIDMuMyBidXQg
bm90IGZyb20gV2ViR0wgMjsgYmluZCB0aGUgZGVmYXVsdCBmb3IgV2ViR0wgdG8gdXNlLgotI2Vu
ZGlmCi0gICAgaWYgKCFpc0dMRVMyQ29tcGxpYW50KCkpCi0gICAgICAgIGluaXRWZXJ0ZXhBdHRy
aWIwKCk7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6aW5pdGlhbGl6ZVNoYWRl
ckV4dGVuc2lvbnMoKQotewotICAgIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmVuc3VyZUVu
YWJsZWQoIkdMX09FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyIpOwotICAgIG1fY29udGV4dC0+Z2V0
RXh0ZW5zaW9ucygpLmVuc3VyZUVuYWJsZWQoIkdMX0VYVF9kcmF3X2J1ZmZlcnMiKTsKLSAgICBt
X2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5lbnN1cmVFbmFibGVkKCJHTF9FWFRfc2hhZGVyX3Rl
eHR1cmVfbG9kIik7Ci0gICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkuZW5zdXJlRW5hYmxl
ZCgiR0xfRVhUX2ZyYWdfZGVwdGgiKTsKIH0KIAogaW5saW5lIHN0YXRpYyBPcHRpb25hbDx1bnNp
Z25lZD4gYXJyYXlCdWZmZXJWaWV3RWxlbWVudFNpemUoY29uc3QgQXJyYXlCdWZmZXJWaWV3JiBk
YXRhKQpAQCAtMjAxLDE5ODkgKzE3OCwyMDYgQEAgdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0
OjpidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwgY28KICAg
ICBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJTdWJEYXRhKHRhcmdldCwgb2Zmc2V0
LCBCdWZmZXJEYXRhU291cmNlKHNsaWNlLmdldCgpKSk7CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6Y29weUJ1ZmZlclN1YkRhdGEoR0MzRGVudW0gcmVhZFRhcmdldCwgR0MzRGVu
dW0gd3JpdGVUYXJnZXQsIEdDM0RpbnQ2NCByZWFkT2Zmc2V0LCBHQzNEaW50NjQgd3JpdGVPZmZz
ZXQsIEdDM0RpbnQ2NCBzaXplKQotewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkp
Ci0gICAgICAgIHJldHVybjsKLSAgICBpZiAoKHJlYWRUYXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0
M0Q6OkVMRU1FTlRfQVJSQVlfQlVGRkVSICYmIHdyaXRlVGFyZ2V0ICE9IEdyYXBoaWNzQ29udGV4
dDNEOjpFTEVNRU5UX0FSUkFZX0JVRkZFUikKLSAgICAgICAgfHwgKHdyaXRlVGFyZ2V0ID09IEdy
YXBoaWNzQ29udGV4dDNEOjpFTEVNRU5UX0FSUkFZX0JVRkZFUiAmJiByZWFkVGFyZ2V0ICE9IEdy
YXBoaWNzQ29udGV4dDNEOjpFTEVNRU5UX0FSUkFZX0JVRkZFUikpIHsKLSAgICAgICAgc3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiY29weUJ1
ZmZlclN1YkRhdGEiLCAiRWl0aGVyIGJvdGggdGFyZ2V0cyBuZWVkIHRvIGJlIEVMRU1FTlRfQVJS
QVlfQlVGRkVSIG9yIG5laXRoZXIgc2hvdWxkIGJlIEVMRU1FTlRfQVJSQVlfQlVGRkVSLiIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChyZWFkT2Zmc2V0IDwgMCB8fCB3cml0ZU9m
ZnNldCA8IDAgfHwgc2l6ZSA8IDApIHsKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJjb3B5QnVmZmVyU3ViRGF0YSIsICJvZmZzZXQg
PCAwIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgUmVmUHRyPFdlYkdMQnVmZmVyPiBy
ZWFkQnVmZmVyID0gdmFsaWRhdGVCdWZmZXJEYXRhUGFyYW1ldGVycygiY29weUJ1ZmZlclN1YkRh
dGEiLCByZWFkVGFyZ2V0LCBHcmFwaGljc0NvbnRleHQzRDo6U1RBVElDX0RSQVcpOwotICAgIFJl
ZlB0cjxXZWJHTEJ1ZmZlcj4gd3JpdGVCdWZmZXIgPSB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJhbWV0
ZXJzKCJjb3B5QnVmZmVyU3ViRGF0YSIsIHdyaXRlVGFyZ2V0LCBHcmFwaGljc0NvbnRleHQzRDo6
U1RBVElDX0RSQVcpOwotICAgIGlmICghcmVhZEJ1ZmZlciB8fCAhd3JpdGVCdWZmZXIpIHsKLSAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUs
ICJjb3B5QnVmZmVyU3ViRGF0YSIsICJJbnZhbGlkIHJlYWRUYXJnZXQgb3Igd3JpdGVUYXJnZXQi
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIENoZWNrZWQ8R0MzRGludHB0ciwgUmVj
b3JkT3ZlcmZsb3c+IGNoZWNrZWRSZWFkT2Zmc2V0KHJlYWRPZmZzZXQpOwotICAgIENoZWNrZWQ8
R0MzRGludHB0ciwgUmVjb3JkT3ZlcmZsb3c+IGNoZWNrZWRXcml0ZU9mZnNldCh3cml0ZU9mZnNl
dCk7Ci0gICAgQ2hlY2tlZDxHQzNEc2l6ZWlwdHIsIFJlY29yZE92ZXJmbG93PiBjaGVja2VkU2l6
ZShzaXplKTsKLSAgICBpZiAoY2hlY2tlZFJlYWRPZmZzZXQuaGFzT3ZlcmZsb3dlZCgpIHx8IGNo
ZWNrZWRXcml0ZU9mZnNldC5oYXNPdmVyZmxvd2VkKCkgfHwgY2hlY2tlZFNpemUuaGFzT3ZlcmZs
b3dlZCgpKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX1ZBTFVFLCAiY29weUJ1ZmZlclN1YkRhdGEiLCAiT2Zmc2V0IG9yIHNpemUgaXMgdG9v
IGJpZyIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCF3cml0ZUJ1ZmZlci0+
YXNzb2NpYXRlQ29weUJ1ZmZlclN1YkRhdGEoKnJlYWRCdWZmZXIsIGNoZWNrZWRSZWFkT2Zmc2V0
LnVuc2FmZUdldCgpLCBjaGVja2VkV3JpdGVPZmZzZXQudW5zYWZlR2V0KCksIGNoZWNrZWRTaXpl
LnVuc2FmZUdldCgpKSkgewotICAgICAgICB0aGlzLT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImNvcHlCdWZmZXJTdWJEYXRhIiwgIm9mZnNldCBv
dXQgb2YgcmFuZ2UiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fY29udGV4dC0+
bW92ZUVycm9yc1RvU3ludGhldGljRXJyb3JMaXN0KCk7Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0g
ICAgbV9jb250ZXh0LT5jb3B5QnVmZmVyU3ViRGF0YShyZWFkVGFyZ2V0LCB3cml0ZVRhcmdldCwg
Y2hlY2tlZFJlYWRPZmZzZXQudW5zYWZlR2V0KCksIGNoZWNrZWRXcml0ZU9mZnNldC51bnNhZmVH
ZXQoKSwgY2hlY2tlZFNpemUudW5zYWZlR2V0KCkpOwotI2VuZGlmCi0gICAgaWYgKG1fY29udGV4
dC0+bW92ZUVycm9yc1RvU3ludGhldGljRXJyb3JMaXN0KCkpIHsKLSAgICAgICAgLy8gVGhlIGJ1
ZmZlclN1YkRhdGEgZnVuY3Rpb24gZmFpbGVkLiBUZWxsIHRoZSBidWZmZXIgaXQgZG9lc24ndCBo
YXZlIHRoZSBkYXRhIGl0IHRoaW5rcyBpdCBkb2VzLgotICAgICAgICB3cml0ZUJ1ZmZlci0+ZGlz
YXNzb2NpYXRlQnVmZmVyRGF0YSgpOwotICAgIH0KLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdD
b250ZXh0OjpnZXRCdWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIHNyY0J5
dGVPZmZzZXQsIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYgZHN0RGF0YSwgR0MzRHVpbnQgZHN0
T2Zmc2V0LCBHQzNEdWludCBsZW5ndGgpCi17Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRp
bmcoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIFJlZlB0cjxXZWJHTEJ1ZmZlcj4gYnVmZmVyID0g
dmFsaWRhdGVCdWZmZXJEYXRhUGFyYW1ldGVycygiYnVmZmVyU3ViRGF0YSIsIHRhcmdldCwgR3Jh
cGhpY3NDb250ZXh0M0Q6OlNUQVRJQ19EUkFXKTsKLSAgICBpZiAoIWJ1ZmZlcikgewotICAgICAg
ICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04s
ICJnZXRCdWZmZXJTdWJEYXRhIiwgIk5vIFdlYkdMQnVmZmVyIGlzIGJvdW5kIHRvIHRhcmdldCIp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gRklYTUU6IEltcGxlbWVudCAiSWYg
dGFyZ2V0IGlzIFRSQU5TRk9STV9GRUVEQkFDS19CVUZGRVIsIGFuZCBhbnkgdHJhbnNmb3JtIGZl
ZWRiYWNrIG9iamVjdCBpcyBjdXJyZW50bHkgYWN0aXZlLCBhbiBJTlZBTElEX09QRVJBVElPTiBl
cnJvciBpcyBnZW5lcmF0ZWQuIgotCi0gICAgaWYgKCFkc3REYXRhKSB7Ci0gICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgImdldEJ1
ZmZlclN1YkRhdGEiLCAiTnVsbCBkc3REYXRhIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBhdXRvIG9wdGlvbmFsRWxlbWVudFNpemUgPSBhcnJheUJ1ZmZlclZpZXdFbGVtZW50U2l6
ZSgqZHN0RGF0YSk7Ci0gICAgaWYgKCFvcHRpb25hbEVsZW1lbnRTaXplKSB7Ci0gICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgImdl
dEJ1ZmZlclN1YkRhdGEiLCAiSW52YWxpZCB0eXBlIG9mIEFycmF5IEJ1ZmZlciBWaWV3Iik7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgYXV0byBlbGVtZW50U2l6ZSA9IG9wdGlvbmFsRWxl
bWVudFNpemUudmFsdWUoKTsKLSAgICBhdXRvIGRzdERhdGFMZW5ndGggPSBkc3REYXRhLT5ieXRl
TGVuZ3RoKCkgLyBlbGVtZW50U2l6ZTsKLQotICAgIGlmIChkc3RPZmZzZXQgPiBkc3REYXRhTGVu
Z3RoKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZB
TElEX09QRVJBVElPTiwgImdldEJ1ZmZlclN1YkRhdGEiLCAiZHN0T2Zmc2V0IGlzIGxhcmdlciB0
aGFuIHRoZSBsZW5ndGggb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4iKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIEdDM0R1aW50IGNvcHlMZW5ndGggPSBsZW5ndGggPyBsZW5ndGgg
OiBkc3REYXRhTGVuZ3RoIC0gZHN0T2Zmc2V0OwotCi0gICAgQ2hlY2tlZDxHQzNEdWludCwgUmVj
b3JkT3ZlcmZsb3c+IGNoZWNrZWREc3RPZmZzZXQoZHN0T2Zmc2V0KTsKLSAgICBDaGVja2VkPEdD
M0R1aW50LCBSZWNvcmRPdmVyZmxvdz4gY2hlY2tlZENvcHlMZW5ndGgoY29weUxlbmd0aCk7Ci0g
ICAgYXV0byBjaGVja2VkRGVzdGluYXRpb25FbmQgPSBjaGVja2VkRHN0T2Zmc2V0ICsgY2hlY2tl
ZENvcHlMZW5ndGg7Ci0gICAgaWYgKGNoZWNrZWREZXN0aW5hdGlvbkVuZC5oYXNPdmVyZmxvd2Vk
KCkpIHsKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFM
SURfT1BFUkFUSU9OLCAiZ2V0QnVmZmVyU3ViRGF0YSIsICJkc3RPZmZzZXQgKyBjb3B5TGVuZ3Ro
IGlzIHRvbyBoaWdoIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoY2hlY2tl
ZERlc3RpbmF0aW9uRW5kLnVuc2FmZUdldCgpID4gZHN0RGF0YUxlbmd0aCkgewotICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJn
ZXRCdWZmZXJTdWJEYXRhIiwgImVuZCBvZiB3cml0dGVuIGRlc3RpbmF0aW9uIGlzIHBhc3QgdGhl
IGVuZCBvZiB0aGUgYnVmZmVyIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAo
c3JjQnl0ZU9mZnNldCA8IDApIHsKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiZ2V0QnVmZmVyU3ViRGF0YSIsICJzcmNCeXRl
T2Zmc2V0IGlzIGxlc3MgdGhhbiAwIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBD
aGVja2VkPEdDM0RpbnRwdHIsIFJlY29yZE92ZXJmbG93PiBjaGVja2VkU3JjQnl0ZU9mZnNldChz
cmNCeXRlT2Zmc2V0KTsKLSAgICBDaGVja2VkPEdDM0RpbnRwdHIsIFJlY29yZE92ZXJmbG93PiBj
aGVja2VkQ29weUxlbmd0aFB0cihjb3B5TGVuZ3RoKTsKLSAgICBDaGVja2VkPEdDM0RpbnRwdHIs
IFJlY29yZE92ZXJmbG93PiBjaGVja2VkRWxlbWVudFNpemUoZWxlbWVudFNpemUpOwotICAgIGF1
dG8gY2hlY2tlZFNvdXJjZUVuZCA9IGNoZWNrZWRTcmNCeXRlT2Zmc2V0ICsgY2hlY2tlZENvcHlM
ZW5ndGhQdHIgKiBjaGVja2VkRWxlbWVudFNpemU7Ci0gICAgaWYgKGNoZWNrZWRTb3VyY2VFbmQu
aGFzT3ZlcmZsb3dlZCgpIHx8IGNoZWNrZWRTb3VyY2VFbmQudW5zYWZlR2V0KCkgPiBidWZmZXIt
PmJ5dGVMZW5ndGgoKSkgewotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRl
eHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJnZXRCdWZmZXJTdWJEYXRhIiwgIlBhcmFtZXRlcnMg
d291bGQgcmVhZCBvdXRzaWRlIHRoZSBib3VuZHMgb2YgdGhlIHNvdXJjZSBidWZmZXIiKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fY29udGV4dC0+bW92ZUVycm9yc1RvU3ludGhl
dGljRXJyb3JMaXN0KCk7Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgLy8gRklYTUU6IENvYWxl
c2NlIG11bHRpcGxlIGdldEJ1ZmZlclN1YkRhdGEoKSBjYWxscyB0byB1c2UgYSBzaW5nbGUgbWFw
KCkgY2FsbAotICAgIHZvaWQqIHB0ciA9IG1fY29udGV4dC0+bWFwQnVmZmVyUmFuZ2UodGFyZ2V0
LCBjaGVja2VkU3JjQnl0ZU9mZnNldC51bnNhZmVHZXQoKSwgc3RhdGljX2Nhc3Q8R0MzRHNpemVp
cHRyPihjaGVja2VkQ29weUxlbmd0aFB0ci51bnNhZmVHZXQoKSAqIGNoZWNrZWRFbGVtZW50U2l6
ZS51bnNhZmVHZXQoKSksIEdyYXBoaWNzQ29udGV4dDNEOjpNQVBfUkVBRF9CSVQpOwotICAgIG1l
bWNweShzdGF0aWNfY2FzdDxjaGFyKj4oZHN0RGF0YS0+YmFzZUFkZHJlc3MoKSkgKyBkc3REYXRh
LT5ieXRlT2Zmc2V0KCkgKyBkc3RPZmZzZXQgKiBlbGVtZW50U2l6ZSwgcHRyLCBjb3B5TGVuZ3Ro
ICogZWxlbWVudFNpemUpOwotICAgIGlmICghbV9jb250ZXh0LT51bm1hcEJ1ZmZlcih0YXJnZXQp
KQotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9P
UEVSQVRJT04sICJnZXRCdWZmZXJTdWJEYXRhIiwgIkZhaWxlZCB3aGlsZSB1bm1hcHBpbmcgYnVm
ZmVyIik7Ci0jZW5kaWYKLSAgICBtX2NvbnRleHQtPm1vdmVFcnJvcnNUb1N5bnRoZXRpY0Vycm9y
TGlzdCgpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmJsaXRGcmFtZWJ1ZmZl
cihHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBH
QzNEaW50LCBHQzNEaW50LCBHQzNEYml0ZmllbGQsIEdDM0RlbnVtKQotewotICAgIExPRyhXZWJH
TCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBibGl0RnJhbWVidWZmZXIoKSIpOwotfQotCi12b2lk
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmZyYW1lYnVmZmVyVGV4dHVyZUxheWVyKEdDM0RlbnVt
LCBHQzNEZW51bSwgV2ViR0xUZXh0dXJlKiwgR0MzRGludCwgR0MzRGludCkKLXsKLSAgICBMT0co
V2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gZnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIoKSIp
OwotfQotCi0jaWYgIVVTRShPUEVOR0xfRVMpCi1zdGF0aWMgYm9vbCBpc1JlbmRlcmFibGVJbnRl
cm5hbGZvcm1hdChHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCkKLXsKLSAgICAvLyBPcGVuR0wgRVMg
MzogaW50ZXJuYWxmb3JtYXQgbXVzdCBiZSBhIGNvbG9yLXJlbmRlcmFibGUsIGRlcHRoLXJlbmRl
cmFibGUsIG9yIHN0ZW5jaWwtcmVuZGVyYWJsZSBmb3JtYXQsIGFzIHNob3duIGluIFRhYmxlIDEg
YmVsb3cuCi0gICAgc3dpdGNoIChpbnRlcm5hbGZvcm1hdCkgewotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlI4OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlI4VUk6Ci0gICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6UjE2VUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UjE2SToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSMzJVSToKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpSMzJJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHODoKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzhVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSRzhJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHMTZVSToKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpSRzE2SToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpS
RzMyVUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkczMkk6Ci0gICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6UkdCODoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0I1NjU6
Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQTg6Ci0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6U1JHQjhfQUxQSEE4OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjVf
QTE6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQTQ6Ci0gICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6UkdCMTBfQTI6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQThV
SToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBOEk6Ci0gICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6UkdCMTBfQTJVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JB
MTZVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMTZJOgotICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OlJHQkEzMkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdC
QTMyVUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMTY6Ci0g
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMjQ6Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMzJGOgotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OkRFUFRIMjRfU1RFTkNJTDg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
REVQVEgzMkZfU1RFTkNJTDg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9J
TkRFWDg6Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19
Ci0jZW5kaWYKLQotV2ViR0xBbnkgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0SW50ZXJuYWxm
b3JtYXRQYXJhbWV0ZXIoR0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwg
R0MzRGVudW0gcG5hbWUpCi17Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBpZiAocG5hbWUgIT0gR3JhcGhpY3NDb250ZXh0
M0Q6OlNBTVBMRVMpIHsKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0
M0Q6OklOVkFMSURfRU5VTSwgImdldEludGVybmFsZm9ybWF0UGFyYW1ldGVyIiwgImludmFsaWQg
cGFyYW1ldGVyIG5hbWUiKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotCi0gICAg
aW50IG51bVZhbHVlcyA9IDA7Ci0jaWYgVVNFKE9QRU5HTF9FUykKLSAgICBtX2NvbnRleHQtPmdl
dEludGVybmFsZm9ybWF0aXYodGFyZ2V0LCBpbnRlcm5hbGZvcm1hdCwgR3JhcGhpY3NDb250ZXh0
M0Q6Ok5VTV9TQU1QTEVfQ09VTlRTLCAxLCAmbnVtVmFsdWVzKTsKLQotICAgIEdDM0RpbnQgcGFy
YW1zW251bVZhbHVlc107Ci0gICAgbV9jb250ZXh0LT5nZXRJbnRlcm5hbGZvcm1hdGl2KHRhcmdl
dCwgaW50ZXJuYWxmb3JtYXQsIHBuYW1lLCBudW1WYWx1ZXMsIHBhcmFtcyk7Ci0jZWxzZQotICAg
IC8vIE9uIGRlc2t0b3AgT3BlbkdMIDQuMSBvciBiZWxvdyB3ZSBtdXN0IGVtdWxhdGUgZ2xHZXRJ
bnRlcm5hbGZvcm1hdGl2LgotCi0gICAgLy8gR0xfSU5WQUxJRF9FTlVNIGlzIGdlbmVyYXRlZCBp
ZiB0YXJnZXQgaXMgbm90IEdMX1JFTkRFUkJVRkZFUi4KLSAgICBpZiAodGFyZ2V0ICE9IEdyYXBo
aWNzQ29udGV4dDNEOjpSRU5ERVJCVUZGRVIpIHsKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3Io
R3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgImdldEludGVybmFsZm9ybWF0UGFyYW1l
dGVyIiwgImludmFsaWQgdGFyZ2V0Iik7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0K
LQotICAgIC8vIEdMX0lOVkFMSURfRU5VTSBpcyBnZW5lcmF0ZWQgaWYgaW50ZXJuYWxmb3JtYXQg
aXMgbm90IGNvbG9yLSwgZGVwdGgtLCBvciBzdGVuY2lsLXJlbmRlcmFibGUuCi0gICAgaWYgKCFp
c1JlbmRlcmFibGVJbnRlcm5hbGZvcm1hdChpbnRlcm5hbGZvcm1hdCkpIHsKLSAgICAgICAgc3lu
dGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgImdldEludGVy
bmFsZm9ybWF0UGFyYW1ldGVyIiwgImludmFsaWQgaW50ZXJuYWwgZm9ybWF0Iik7Ci0gICAgICAg
IHJldHVybiBudWxscHRyOwotICAgIH0KLQotICAgIFZlY3RvcjxHQzNEaW50PiBzYW1wbGVzOwot
ICAgIC8vIFRoZSB3YXkgSSB1bmRlcnN0YW5kIHRoaXMgaXMgdGhhdCB0aGlzIHdpbGwgcmV0dXJu
IGEgTUlOSU1VTSBudW1TYW1wbGVzIGZvciBhbGwgYWNjZXBldGVkIGludGVybmFsZm9ybWF0cy4K
LSAgICAvLyBIb3dldmVyLCB0aGUgdHJ1ZSB2YWx1ZSBvZiB0aGlzIG9uIHN1cHBvcnRlZCBHTCB2
ZXJzaW9ucyBpcyBnbGVhbmVkIHZpYSBhIGdldEludGVybmFsZm9ybWF0aXYgY2FsbCB0aGF0IGRl
cGVuZHMgb24gaW50ZXJuYWxmb3JtYXQuCi0gICAgaW50IG51bVNhbXBsZXNNYXNrID0gZ2V0SW50
UGFyYW1ldGVyKEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfU0FNUExFUyk7Ci0KLSAgICB3aGlsZSAo
bnVtU2FtcGxlc01hc2sgPiAwKSB7Ci0gICAgICAgIHNhbXBsZXMuYXBwZW5kKG51bVNhbXBsZXNN
YXNrKTsKLSAgICAgICAgbnVtU2FtcGxlc01hc2sgPSBudW1TYW1wbGVzTWFzayA+PiAxOwotICAg
IH0KIAotICAgIC8vIFNpbmNlIG11bHRpc2FtcGxpbmcgaXMgbm90IHN1cHBvcnRlZCBmb3Igc2ln
bmVkIGFuZCB1bnNpZ25lZCBpbnRlZ2VyIGludGVybmFsIGZvcm1hdHMsCi0gICAgLy8gdGhlIHZh
bHVlIG9mIEdMX05VTV9TQU1QTEVfQ09VTlRTIHdpbGwgYmUgemVybyBmb3Igc3VjaCBmb3JtYXRz
LgotICAgIG51bVZhbHVlcyA9IGlzSW50ZWdlckZvcm1hdChpbnRlcm5hbGZvcm1hdCkgPyAwIDog
c2FtcGxlcy5zaXplKCk7Ci0gICAgR0MzRGludCBwYXJhbXNbbnVtVmFsdWVzXTsKLSAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHNhbXBsZXMuc2l6ZSgpOyArK2kpCi0gICAgICAgIHBhcmFtc1tp
XSA9IHNhbXBsZXNbaV07Ci0jZW5kaWYKLQotICAgIHJldHVybiBJbnQzMkFycmF5Ojp0cnlDcmVh
dGUocGFyYW1zLCBudW1WYWx1ZXMpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6
OmludmFsaWRhdGVGcmFtZWJ1ZmZlcihHQzNEZW51bSwgY29uc3QgVmVjdG9yPEdDM0RlbnVtPiYp
Cit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhJbWFnZTJEKEdDM0Rl
bnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0Rz
aXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEdDM0RzaXplaSBp
bWFnZVNpemUsIEdDM0RpbnQ2NCBvZmZzZXQpCiB7Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElN
UExFTUVOVEVEIF1dIGludmFsaWRhdGVGcmFtZWJ1ZmZlcigpIik7Ci19CisgICAgVU5VU0VEX1BB
UkFNKHRhcmdldCk7CisgICAgVU5VU0VEX1BBUkFNKGxldmVsKTsKKyAgICBVTlVTRURfUEFSQU0o
aW50ZXJuYWxmb3JtYXQpOworICAgIFVOVVNFRF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BB
UkFNKGhlaWdodCk7CisgICAgVU5VU0VEX1BBUkFNKGJvcmRlcik7CisgICAgVU5VU0VEX1BBUkFN
KGltYWdlU2l6ZSk7CisgICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CiAKLXZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6aW52YWxpZGF0ZVN1YkZyYW1lYnVmZmVyKEdDM0RlbnVtLCBjb25zdCBW
ZWN0b3I8R0MzRGVudW0+JiwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWkp
Ci17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGludmFsaWRhdGVTdWJG
cmFtZWJ1ZmZlcigpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6cmVhZEJ1
ZmZlcihHQzNEZW51bSkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0g
cmVhZEJ1ZmZlcigpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6cmVuZGVy
YnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKEdDM0RlbnVtIHRhcmdldCwgR0MzRHNpemVpIHNhbXBs
ZXMsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBo
ZWlnaHQpCi17Ci0gICAgLy8gVG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIFdlYkdMIDEs
IGFsc28gYWNjZXB0cyBpbnRlcm5hbCBmb3JtYXQgREVQVEhfU1RFTkNJTCwKLSAgICAvLyB3aGlj
aCBzaG91bGQgYmUgbWFwcGVkIHRvIERFUFRIMjRfU1RFTkNJTDggYnkgaW1wbGVtZW50YXRpb25z
LgotICAgIGlmIChpbnRlcm5hbGZvcm1hdCA9PSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfU1RF
TkNJTCkKLSAgICAgICAgaW50ZXJuYWxmb3JtYXQgPSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEgy
NF9TVEVOQ0lMODsKLQotICAgIC8vIEVTIDM6IEdMX0lOVkFMSURfT1BFUkFUSU9OIGlzIGdlbmVy
YXRlZCBpZiBpbnRlcm5hbGZvcm1hdCBpcyBhIHNpZ25lZCBvciB1bnNpZ25lZCBpbnRlZ2VyIGZv
cm1hdCBhbmQgc2FtcGxlcyBpcyBncmVhdGVyIHRoYW4gMC4KLSAgICBpZiAoaXNJbnRlZ2VyRm9y
bWF0KGludGVybmFsZm9ybWF0KSAmJiBzYW1wbGVzID4gMCkgewotICAgICAgICBzeW50aGVzaXpl
R0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJyZW5kZXJidWZm
ZXJTdG9yYWdlTXVsdGlzYW1wbGUiLCAibXVsdGlzYW1wbGluZyBub3Qgc3VwcG9ydGVkIGZvciB0
aGlzIGZvcm1hdCIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgc3dpdGNoIChpbnRl
cm5hbGZvcm1hdCkgewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX0NPTVBPTkVO
VDE2OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX0NPTVBPTkVOVDMyRjoKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQyNDoKLSAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpSR0JBMzJJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJH
QkEzMlVJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkExNkk6Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6UkdCQTE2VUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UkdCQTg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQThJOgotICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OlJHQkE4VUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdC
MTBfQTI6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMTBfQTJVSToKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBNDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpS
RzMySToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzMyVUk6Ci0gICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6UkcxNkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkcxNlVJ
OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHODoKLSAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dDNEOjpSRzhJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHOFVJOgotICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIzMkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UjMyVUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UjE2SToKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpSMTZVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSODoKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSOEk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6UjhVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0I1X0ExOgotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlJHQjU2NToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpS
R0I4OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUxfSU5ERVg4OgotICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNSR0I4X0FMUEhBODoKLSAgICAgICAgbV9jb250ZXh0LT5y
ZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUodGFyZ2V0LCBzYW1wbGVzLCBpbnRlcm5hbGZv
cm1hdCwgd2lkdGgsIGhlaWdodCk7Ci0gICAgICAgIG1fcmVuZGVyYnVmZmVyQmluZGluZy0+c2V0
SW50ZXJuYWxGb3JtYXQoaW50ZXJuYWxmb3JtYXQpOwotICAgICAgICBtX3JlbmRlcmJ1ZmZlckJp
bmRpbmctPnNldElzVmFsaWQodHJ1ZSk7Ci0gICAgICAgIG1fcmVuZGVyYnVmZmVyQmluZGluZy0+
c2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6REVQVEgzMkZfU1RFTkNJTDg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6REVQVEgyNF9TVEVOQ0lMODoKLSAgICAgICAgaWYgKCFpc0RlcHRoU3RlbmNpbFN1cHBvcnRl
ZCgpKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6
SU5WQUxJRF9FTlVNLCAicmVuZGVyYnVmZmVyU3RvcmFnZSIsICJpbnZhbGlkIGludGVybmFsZm9y
bWF0Iik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgbV9jb250ZXh0
LT5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUodGFyZ2V0LCBzYW1wbGVzLCBpbnRlcm5h
bGZvcm1hdCwgd2lkdGgsIGhlaWdodCk7Ci0gICAgICAgIG1fcmVuZGVyYnVmZmVyQmluZGluZy0+
c2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KTsKLSAgICAgICAgbV9yZW5kZXJidWZmZXJCaW5kaW5nLT5z
ZXRJc1ZhbGlkKGlzRGVwdGhTdGVuY2lsU3VwcG9ydGVkKCkpOwotICAgICAgICBtX3JlbmRlcmJ1
ZmZlckJpbmRpbmctPnNldEludGVybmFsRm9ybWF0KGludGVybmFsZm9ybWF0KTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfRU5VTSwgInJlbmRlcmJ1ZmZlclN0b3JhZ2UiLCAiaW52YWxpZCBp
bnRlcm5hbGZvcm1hdCIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGFwcGx5U3RlbmNp
bFRlc3QoKTsKLX0KLQotYm9vbCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleFN0
b3JhZ2VGdW5jUGFyYW1ldGVycyhHQzNEZW51bSB0YXJnZXQsIEdDM0RzaXplaSBsZXZlbHMsIEdD
M0RlbnVtIGludGVybmFsRm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQs
IGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSkKLXsKLSAgICBpZiAod2lkdGggPCAwIHx8IGhlaWdo
dCA8IDApIHsKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklO
VkFMSURfVkFMVUUsIGZ1bmN0aW9uTmFtZSwgIndpZHRoIG9yIGhlaWdodCA8IDAiKTsKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmICh3aWR0aCA+IG1fbWF4VGV4dHVyZVNp
emUgfHwgaGVpZ2h0ID4gbV9tYXhUZXh0dXJlU2l6ZSkgewotICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJ0ZXh0
dXJlIGRpbWVuc2lvbnMgYXJlIGxhcmdlciB0aGFuIHRoZSBtYXhpbXVtIHRleHR1cmUgc2l6ZSIp
OwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgaWYgKHRhcmdldCA9PSBHcmFw
aGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUCkgewotICAgICAgICBpZiAod2lkdGggIT0g
aGVpZ2h0KSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9WQUxVRSwgZnVuY3Rpb25OYW1lLCAid2lkdGggIT0gaGVpZ2h0IGZvciBjdWJl
IG1hcCIpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfSBlbHNl
IGlmICh0YXJnZXQgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQpIHsKLSAgICAgICAg
c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rp
b25OYW1lLCAiaW52YWxpZCB0YXJnZXQiKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LQotICAgIGlmIChsZXZlbHMgPCAwIHx8IGxldmVscyA+IG1fbWF4VGV4dHVyZUxldmVsKSB7Ci0g
ICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0s
IGZ1bmN0aW9uTmFtZSwgIm51bWJlciBvZiBsZXZlbHMgaXMgb3V0IG9mIGJvdW5kcyIpOwotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgc3dpdGNoIChpbnRlcm5hbEZvcm1hdCkg
ewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlI4OgotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlI4X1NOT1JNOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIxNkY6Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UjMyRjoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpSOFVJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlI4SToKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpSMTZVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSMTZJOgot
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIzMlVJOgotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlIzMkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ukc4OgotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlJHOF9TTk9STToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpSRzE2RjoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzMyRjoKLSAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpSRzhVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzhJ
OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHMTZVSToKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSRzE2SToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzMyVUk6Ci0g
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkczMkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCODoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTUkdCODoKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpSR0I1NjU6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UkdCOF9TTk9STToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSMTFGX0cxMUZfQjEwRjoK
LSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0I5X0U1OgotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlJHQjE2RjoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0IzMkY6Ci0g
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCOFVJOgotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlJHQjhJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjE2VUk6Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMTZJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlJHQjMyVUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMzJJOgotICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlNSR0I4X0FMUEhBODoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBOF9TTk9STToK
LSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0I1X0ExOgotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlJHQkE0OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjEwX0EyOgot
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkExNkY6Ci0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6UkdCQTMyRjoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBOFVJOgot
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4SToKLSAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dDNEOjpSR0IxMF9BMlVJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkExNlVJ
OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkExNkk6Ci0gICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6UkdCQTMySToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMzJV
SToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQxNjoKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQyNDoKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQzMkY6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6REVQVEgyNF9TVEVOQ0lMODoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBU
SDMyRl9TVEVOQ0lMODoKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgc3lu
dGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25O
YW1lLCAiVW5rbm93biBpbnRlcm5hbEZvcm1hdCIpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4
dDo6dGV4U3RvcmFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRHNpemVpIGxldmVscywgR0MzRGVu
dW0gaW50ZXJuYWxGb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCkKLXsK
LSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBhdXRvIHRleHR1cmUgPSB2YWxpZGF0ZVRleHR1cmVCaW5kaW5nKCJ0ZXhTdG9yYWdlMkQiLCB0
YXJnZXQsIGZhbHNlKTsKLSAgICBpZiAoIXRleHR1cmUpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmICghdmFsaWRhdGVUZXhTdG9yYWdlRnVuY1BhcmFtZXRlcnModGFyZ2V0LCBsZXZlbHMsIGlu
dGVybmFsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAidGV4U3RvcmFnZTJEIikpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIGlmICghdmFsaWRhdGVOUE9UVGV4dHVyZUxldmVsKHdpZHRoLCBoZWlnaHQs
IGxldmVscywgInRleFN0b3JhZ2UyRCIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAodGV4
dHVyZS0+aW1tdXRhYmxlKCkpIHsKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAidGV4U3RvcmFnZTJEIiwgInRleFN0b3JhZ2Uy
RCBhbHJlYWR5IGNhbGxlZCBvbiB0aGlzIHRleHR1cmUiKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICB0ZXh0dXJlLT5zZXRJbW11dGFibGUoKTsKLQotICAgIG1fY29udGV4dC0+dGV4U3Rv
cmFnZTJEKHRhcmdldCwgbGV2ZWxzLCBpbnRlcm5hbEZvcm1hdCwgd2lkdGgsIGhlaWdodCk7Ci0K
LSAgICB7Ci0gICAgICAgIEdDM0RlbnVtIGZvcm1hdDsKLSAgICAgICAgR0MzRGVudW0gdHlwZTsK
LSAgICAgICAgaWYgKCFHcmFwaGljc0NvbnRleHQzRDo6cG9zc2libGVGb3JtYXRBbmRUeXBlRm9y
SW50ZXJuYWxGb3JtYXQoaW50ZXJuYWxGb3JtYXQsIGZvcm1hdCwgdHlwZSkpIHsKLSAgICAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sICJ0
ZXhTdG9yYWdlMkQiLCAiVGV4dHVyZSBoYXMgdW5rbm93biBpbnRlcm5hbCBmb3JtYXQiKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIEdDM0RzaXplaSBsZXZlbFdp
ZHRoID0gd2lkdGg7Ci0gICAgICAgIEdDM0RzaXplaSBsZXZlbEhlaWdodCA9IGhlaWdodDsKLQot
ICAgICAgICB1bnNpZ25lZCBzaXplOwotICAgICAgICBHQzNEZW51bSBlcnJvciA9IG1fY29udGV4
dC0+Y29tcHV0ZUltYWdlU2l6ZUluQnl0ZXMoZm9ybWF0LCB0eXBlLCB3aWR0aCwgaGVpZ2h0LCBt
X3VucGFja0FsaWdubWVudCwgJnNpemUsIG51bGxwdHIpOwotICAgICAgICBpZiAoZXJyb3IgIT0g
R3JhcGhpY3NDb250ZXh0M0Q6Ok5PX0VSUk9SKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihlcnJvciwgInRleFN0b3JhZ2UyRCIsICJiYWQgZGltZW5zaW9ucyIpOwotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgVmVjdG9yPGNoYXI+IGRhdGEoc2l6ZSk7
Ci0gICAgICAgIG1lbXNldChkYXRhLmRhdGEoKSwgMCwgc2l6ZSk7Ci0KLSAgICAgICAgZm9yIChH
QzNEc2l6ZWkgbGV2ZWwgPSAwOyBsZXZlbCA8IGxldmVsczsgKytsZXZlbCkgewotICAgICAgICAg
ICAgaWYgKHRhcmdldCA9PSBHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUCkgewot
ICAgICAgICAgICAgICAgIG1fY29udGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFwaGljc0NvbnRleHQz
RDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLCBsZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwg
bGV2ZWxIZWlnaHQsIGZvcm1hdCwgdHlwZSwgZGF0YS5kYXRhKCkpOwotICAgICAgICAgICAgICAg
IG1fY29udGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJF
X01BUF9ORUdBVElWRV9YLCBsZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwgbGV2ZWxIZWlnaHQsIGZv
cm1hdCwgdHlwZSwgZGF0YS5kYXRhKCkpOwotICAgICAgICAgICAgICAgIG1fY29udGV4dC0+dGV4
U3ViSW1hZ2UyRChHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9Z
LCBsZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwgbGV2ZWxIZWlnaHQsIGZvcm1hdCwgdHlwZSwgZGF0
YS5kYXRhKCkpOwotICAgICAgICAgICAgICAgIG1fY29udGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFw
aGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLCBsZXZlbCwgMCwgMCwg
bGV2ZWxXaWR0aCwgbGV2ZWxIZWlnaHQsIGZvcm1hdCwgdHlwZSwgZGF0YS5kYXRhKCkpOwotICAg
ICAgICAgICAgICAgIG1fY29udGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFwaGljc0NvbnRleHQzRDo6
VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLCBsZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwgbGV2
ZWxIZWlnaHQsIGZvcm1hdCwgdHlwZSwgZGF0YS5kYXRhKCkpOwotICAgICAgICAgICAgICAgIG1f
Y29udGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9aLCBsZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwgbGV2ZWxIZWlnaHQsIGZvcm1h
dCwgdHlwZSwgZGF0YS5kYXRhKCkpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAg
ICAgbV9jb250ZXh0LT50ZXhTdWJJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIDAsIDAsIGxldmVsV2lk
dGgsIGxldmVsSGVpZ2h0LCBmb3JtYXQsIHR5cGUsIGRhdGEuZGF0YSgpKTsKLSAgICAgICAgICAg
IGxldmVsV2lkdGggPSBzdGQ6Om1heCgxLCBsZXZlbFdpZHRoIC8gMik7Ci0gICAgICAgICAgICBs
ZXZlbEhlaWdodCA9IHN0ZDo6bWF4KDEsIGxldmVsSGVpZ2h0IC8gMik7Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBmb3IgKEdDM0RzaXplaSBsZXZlbCA9IDA7IGxldmVsIDwgbGV2ZWxzOyArK2xl
dmVsKSB7Ci0gICAgICAgIGlmICh0YXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVf
Q1VCRV9NQVApIHsKLSAgICAgICAgICAgIHRleHR1cmUtPnNldExldmVsSW5mbyhHcmFwaGljc0Nv
bnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLCBsZXZlbCwgaW50ZXJuYWxGb3Jt
YXQsIHdpZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKLSAg
ICAgICAgICAgIHRleHR1cmUtPnNldExldmVsSW5mbyhHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVS
RV9DVUJFX01BUF9ORUdBVElWRV9YLCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQsIHdpZHRoLCBoZWln
aHQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKLSAgICAgICAgICAgIHRleHR1
cmUtPnNldExldmVsSW5mbyhHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJ
VElWRV9ZLCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQsIHdpZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29u
dGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKLSAgICAgICAgICAgIHRleHR1cmUtPnNldExldmVsSW5m
byhHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLCBsZXZlbCwg
aW50ZXJuYWxGb3JtYXQsIHdpZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05F
RF9CWVRFKTsKLSAgICAgICAgICAgIHRleHR1cmUtPnNldExldmVsSW5mbyhHcmFwaGljc0NvbnRl
eHQzRDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQs
IHdpZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKLSAgICAg
ICAgICAgIHRleHR1cmUtPnNldExldmVsSW5mbyhHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9aLCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQsIHdpZHRoLCBoZWlnaHQs
IEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKLSAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICB0ZXh0dXJlLT5zZXRMZXZlbEluZm8odGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxGb3Jt
YXQsIHdpZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKLSAg
ICB9Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dGV4U3RvcmFnZTNEKEdDM0Rl
bnVtLCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVp
KQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhTdG9yYWdlM0Qo
KSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVu
dW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNE
ZW51bSwgR0MzRGVudW0sIEdDM0RpbnQ2NCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1Q
TEVNRU5URUQgXV0gdGV4SW1hZ2UyRCgpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBH
QzNEc2l6ZWksIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEZW51bSwgVGV4SW1hZ2VTb3VyY2UmJikK
LXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdGV4SW1hZ2UyRCgpIik7
Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSwg
R0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RpbnQsIEdDM0RlbnVt
LCBHQzNEZW51bSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiwgR0MzRHVpbnQpCi17Ci0gICAg
TE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleEltYWdlMkQoKSIpOwotfQotCi12
b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQs
IEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RpbnQsIEdDM0Rl
bnVtLCBHQzNEZW51bSwgR0MzRGludDY0KQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBM
RU1FTlRFRCBdXSB0ZXhJbWFnZTNEKCkiKTsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250
ZXh0Ojp0ZXhJbWFnZTNEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdD
M0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFRleEltYWdl
U291cmNlJiYpCi17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleElt
YWdlM0QoKSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlM0Qo
R0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEc2l6
ZWksIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEZW51bSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4m
JikKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdGV4SW1hZ2UzRCgp
Iik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UzRChHQzNEZW51
bSwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0Mz
RGludCwgR0MzRGVudW0sIEdDM0RlbnVtLCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmLCBHQzNE
dWludCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdGV4SW1hZ2Uz
RCgpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChH
QzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWks
IEdDM0RlbnVtLCBHQzNEZW51bSwgR0MzRGludDY0KQotewotICAgIExPRyhXZWJHTCwgIltbIE5P
VCBJTVBMRU1FTlRFRCBdXSB0ZXhTdWJJbWFnZTJEKCkiKTsKLX0KLQotdm9pZCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBH
QzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBUZXhJbWFn
ZVNvdXJjZSYmKQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhT
dWJJbWFnZTJEKCkiKTsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJ
bWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdD
M0RzaXplaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmLCBH
QzNEdWludCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdGV4U3Vi
SW1hZ2UyRCgpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1h
Z2UzRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRHNp
emVpLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBHQzNEaW50NjQp
Ci17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleFN1YkltYWdlM0Qo
KSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlM0QoR0Mz
RGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0Mz
RHNpemVpLCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwgUmVmUHRyPEFycmF5QnVmZmVy
Vmlldz4mJiwgR0MzRHVpbnQpCi17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVE
IF1dIHRleFN1YkltYWdlM0QoKSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6
OnRleFN1YkltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0Rp
bnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwg
VGV4SW1hZ2VTb3VyY2UmJikKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQg
XV0gdGV4U3ViSW1hZ2UzRCgpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
Y29weVRleFN1YkltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdD
M0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpKQotewotICAgIExP
RyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBjb3B5VGV4U3ViSW1hZ2UzRCgpIik7Ci19
Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleEltYWdlMkQoR0Mz
RGVudW0sIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGludCwg
R0MzRHNpemVpLCBHQzNEaW50NjQpCi17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVO
VEVEIF1dIGNvbXByZXNzZWRUZXhJbWFnZTJEKCkiKTsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGVu
dW0sIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBBcnJheUJ1ZmZlclZpZXcmLCBHQzNE
dWludCwgR0MzRHVpbnQpCi17CiAgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1d
IGNvbXByZXNzZWRUZXhJbWFnZTJEKCkiKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250
ZXh0Ojpjb21wcmVzc2VkVGV4SW1hZ2UzRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGVudW0sIEdD
M0RzaXplaSwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGlu
dDY0KQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBjb21wcmVzc2Vk
VGV4SW1hZ2UzRCgpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y29tcHJl
c3NlZFRleEltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEc2l6ZWksIEdD
M0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBBcnJheUJ1ZmZlclZpZXcmLCBHQzNEdWludCwg
R0MzRHVpbnQpCi17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNvbXBy
ZXNzZWRUZXhJbWFnZTNEKCkiKTsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpj
b21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGlu
dCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGVudW0sIEdD
M0RzaXplaSwgR0MzRGludDY0KQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRF
RCBdXSBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRCgpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleFN1YkltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdD
M0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEc2l6ZWks
IEdDM0RlbnVtLCBBcnJheUJ1ZmZlclZpZXcmLCBHQzNEdWludCwgR0MzRHVpbnQpCi17Ci0gICAg
TE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhTdWJJbWFnZTNE
KCkiKTsKLX0KLQotR0MzRGludCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpnZXRGcmFnRGF0YUxv
Y2F0aW9uKFdlYkdMUHJvZ3JhbSYsIGNvbnN0IFN0cmluZyYpCi17Ci0gICAgTE9HKFdlYkdMLCAi
W1sgTk9UIElNUExFTUVOVEVEIF1dIGdldEZyYWdEYXRhTG9jYXRpb24oKSIpOwotICAgIHJldHVy
biAwOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xdWkoV2ViR0xV
bmlmb3JtTG9jYXRpb24qLCBHQzNEdWludCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1Q
TEVNRU5URUQgXV0gdW5pZm9ybTF1aSgpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dDo6dW5pZm9ybTJ1aShXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0R1aW50LCBHQzNEdWlu
dCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTJ1aSgp
Iik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTN1aShXZWJHTFVu
aWZvcm1Mb2NhdGlvbiosIEdDM0R1aW50LCBHQzNEdWludCwgR0MzRHVpbnQpCi17Ci0gICAgTE9H
KFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm0zdWkoKSIpOwotfQotCi12b2lk
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00dWkoV2ViR0xVbmlmb3JtTG9jYXRpb24q
LCBHQzNEdWludCwgR0MzRHVpbnQsIEdDM0R1aW50LCBHQzNEdWludCkKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNE
c2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3JiBzcmNEYXRhLCBH
QzNEdWludCBzcmNPZmZzZXQsIEdDM0R1aW50IHNyY0xlbmd0aE92ZXJyaWRlKQogewotICAgIExP
RyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3JtNHVpKCkiKTsKLX0KLQotdm9p
ZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMXVpdihXZWJHTFVuaWZvcm1Mb2NhdGlv
biosIFVpbnQzMkxpc3QmJiwgR0MzRHVpbnQsIEdDM0R1aW50KQotewotICAgIExPRyhXZWJHTCwg
IltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3JtMXVpdigpIik7Ci19CisgICAgVU5VU0VEX1BB
UkFNKHRhcmdldCk7CisgICAgVU5VU0VEX1BBUkFNKGxldmVsKTsKKyAgICBVTlVTRURfUEFSQU0o
aW50ZXJuYWxmb3JtYXQpOworICAgIFVOVVNFRF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BB
UkFNKGhlaWdodCk7CisgICAgVU5VU0VEX1BBUkFNKGJvcmRlcik7CisgICAgVU5VU0VEX1BBUkFN
KHNyY0RhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJB
TShzcmNMZW5ndGhPdmVycmlkZSk7CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5p
Zm9ybTJ1aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qLCBVaW50MzJMaXN0JiYsIEdDM0R1aW50LCBH
QzNEdWludCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9y
bTJ1aXYoKSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zdWl2
KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgVWludDMyTGlzdCYmLCBHQzNEdWludCwgR0MzRHVpbnQp
Ci17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm0zdWl2KCki
KTsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNHVpdihXZWJHTFVu
aWZvcm1Mb2NhdGlvbiosIFVpbnQzMkxpc3QmJiwgR0MzRHVpbnQsIEdDM0R1aW50KQotewotICAg
IExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3JtNHVpdigpIik7Ci19Ci0K
LXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDJ4M2Z2KFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiwgR0MzRGJvb2xlYW4sIEZsb2F0MzJMaXN0JiYsIEdDM0R1aW50LCBHQzNE
dWludCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybU1h
dHJpeDJ4M2Z2KCkiKTsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3Jt
TWF0cml4M3gyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qLCBHQzNEYm9vbGVhbiwgRmxvYXQzMkxp
c3QmJiwgR0MzRHVpbnQsIEdDM0R1aW50KQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBM
RU1FTlRFRCBdXSB1bmlmb3JtTWF0cml4M3gyZnYoKSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdD
M0Rib29sZWFuLCBGbG9hdDMyTGlzdCYmLCBHQzNEdWludCwgR0MzRHVpbnQpCi17Ci0gICAgTE9H
KFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXgyeDRmdigpIik7Ci19
Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDR4MmZ2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uKiwgR0MzRGJvb2xlYW4sIEZsb2F0MzJMaXN0JiYsIEdDM0R1aW50LCBH
QzNEdWludCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9y
bU1hdHJpeDR4MmZ2KCkiKTsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlm
b3JtTWF0cml4M3g0ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qLCBHQzNEYm9vbGVhbiwgRmxvYXQz
Mkxpc3QmJiwgR0MzRHVpbnQsIEdDM0R1aW50KQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJ
TVBMRU1FTlRFRCBdXSB1bmlmb3JtTWF0cml4M3g0ZnYoKSIpOwotfQotCi12b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXg0eDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbios
IEdDM0Rib29sZWFuLCBGbG9hdDMyTGlzdCYmLCBHQzNEdWludCwgR0MzRHVpbnQpCi17Ci0gICAg
TE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXg0eDNmdigpIik7
Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0cmliSTRpKEdDM0R1
aW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50KQotewotICAgIExPRyhXZWJH
TCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB2ZXJ0ZXhBdHRyaWJJNGkoKSIpOwotfQotCi12b2lk
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZlcnRleEF0dHJpYkk0aXYoR0MzRHVpbnQsIEludDMy
TGlzdCYmKQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB2ZXJ0ZXhB
dHRyaWJJNGl2KCkiKTsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp2ZXJ0ZXhB
dHRyaWJJNHVpKEdDM0R1aW50LCBHQzNEdWludCwgR0MzRHVpbnQsIEdDM0R1aW50LCBHQzNEdWlu
dCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdmVydGV4QXR0cmli
STR1aSgpIik7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0cmli
STR1aXYoR0MzRHVpbnQsIFVpbnQzMkxpc3QmJikKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gdmVydGV4QXR0cmliSTR1aXYoKSIpOwotfQotCi12b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnZlcnRleEF0dHJpYklQb2ludGVyKEdDM0R1aW50LCBHQzNEaW50LCBH
QzNEZW51bSwgR0MzRHNpemVpLCBHQzNEaW50NjQpCi17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9U
IElNUExFTUVOVEVEIF1dIHZlcnRleEF0dHJpYklQb2ludGVyKCkiKTsKLX0KLQotdm9pZCBXZWJH
TDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhcihHQzNEYml0ZmllbGQgbWFzaykKLXsKLSAgICBpZiAo
aXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKG1hc2sg
JiB+KEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9CVUZGRVJfQklUIHwgR3JhcGhpY3NDb250ZXh0
M0Q6OkRFUFRIX0JVRkZFUl9CSVQgfCBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9CVUZGRVJf
QklUKSkgewotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5W
QUxJRF9WQUxVRSwgImNsZWFyIiwgImludmFsaWQgbWFzayIpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGNvbnN0IGNoYXIqIHJlYXNvbiA9ICJmcmFtZWJ1ZmZlciBpbmNvbXBsZXRlIjsK
LSAgICBpZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYgIW1fZnJhbWVidWZmZXJCaW5kaW5nLT5v
bkFjY2VzcyhncmFwaGljc0NvbnRleHQzRCgpLCAmcmVhc29uKSkgewotICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJ
T04sICJjbGVhciIsIHJlYXNvbik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKG1f
ZnJhbWVidWZmZXJCaW5kaW5nICYmIChtYXNrICYgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTE9SX0JV
RkZFUl9CSVQpICYmIGlzSW50ZWdlckZvcm1hdChtX2ZyYW1lYnVmZmVyQmluZGluZy0+Z2V0Q29s
b3JCdWZmZXJGb3JtYXQoKSkpIHsKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiY2xlYXIiLCAiY2Fubm90IGNsZWFyIGFuIGlu
dGVnZXIgYnVmZmVyIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKCFjbGVhcklm
Q29tcG9zaXRlZChtYXNrKSkKLSAgICAgICAgbV9jb250ZXh0LT5jbGVhcihtYXNrKTsKLSAgICBt
YXJrQ29udGV4dENoYW5nZWRBbmROb3RpZnlDYW52YXNPYnNlcnZlcigpOwotfQotCi12b2lkIFdl
YkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgs
IEdDM0R1aW50IGRpdmlzb3IpCi17Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkK
LSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZl
cnRleEF0dHJpYkRpdmlzb3IoaW5kZXgsIGRpdmlzb3IpOwotfQotCi12b2lkIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHQ6OmRyYXdBcnJheXNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRGludCBm
aXJzdCwgR0MzRHNpemVpIGNvdW50LCBHQzNEc2l6ZWkgaW5zdGFuY2VDb3VudCkKLXsKLSAgICBp
ZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3QXJyYXlzSW5zdGFuY2VkKG1vZGUsIGZpcnN0LCBj
b3VudCwgaW5zdGFuY2VDb3VudCk7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0Mz
RGVudW0gdHlwZSwgR0MzRGludDY0IG9mZnNldCwgR0MzRHNpemVpIGluc3RhbmNlQ291bnQpCi17
Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKG1vZGUs
IGNvdW50LCB0eXBlLCBvZmZzZXQsIGluc3RhbmNlQ291bnQpOwotfQotCi12b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OmRyYXdSYW5nZUVsZW1lbnRzKEdDM0RlbnVtLCBHQzNEdWludCwgR0Mz
RHVpbnQsIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RpbnQ2NCkKLXsKLSAgICBMT0coV2ViR0ws
ICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gZHJhd1JhbmdlRWxlbWVudHMoKSIpOwotfQotCi12b2lk
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmRyYXdCdWZmZXJzKGNvbnN0IFZlY3RvcjxHQzNEZW51
bT4mIGJ1ZmZlcnMpCi17Ci0gICAgaWYgKGlzQ29udGV4dExvc3QoKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIEdDM0RzaXplaSBuID0gYnVmZmVycy5zaXplKCk7Ci0gICAgY29uc3QgR0MzRGVudW0q
IGJ1ZnMgPSBidWZmZXJzLmRhdGEoKTsKLSAgICBpZiAoIW1fZnJhbWVidWZmZXJCaW5kaW5nKSB7
Ci0gICAgICAgIGlmIChuICE9IDEpIHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdy
YXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiZHJhd0J1ZmZlcnMiLCAibW9yZSB0aGFu
IG9uZSBidWZmZXIiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBp
ZiAoYnVmc1swXSAhPSBHcmFwaGljc0NvbnRleHQzRDo6QkFDSyAmJiBidWZzWzBdICE9IEdyYXBo
aWNzQ29udGV4dDNEOjpOT05FKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFw
aGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJkcmF3QnVmZmVycyIsICJCQUNLIG9y
IE5PTkUiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAvLyBCZWNh
dXNlIHRoZSBiYWNrYnVmZmVyIGlzIHNpbXVsYXRlZCBvbiBhbGwgY3VycmVudCBXZWJLaXQgcG9y
dHMsIHdlIG5lZWQgdG8gY2hhbmdlIEJBQ0sgdG8gQ09MT1JfQVRUQUNITUVOVDAuCi0gICAgICAg
IEdDM0RlbnVtIHZhbHVlID0gKGJ1ZnNbMF0gPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkJBQ0spID8g
R3JhcGhpY3NDb250ZXh0M0Q6OkNPTE9SX0FUVEFDSE1FTlQwIDogR3JhcGhpY3NDb250ZXh0M0Q6
Ok5PTkU7Ci0gICAgICAgIGdyYXBoaWNzQ29udGV4dDNEKCktPmdldEV4dGVuc2lvbnMoKS5kcmF3
QnVmZmVyc0VYVCgxLCAmdmFsdWUpOwotICAgICAgICBzZXRCYWNrRHJhd0J1ZmZlcihidWZzWzBd
KTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAobiA+IGdldE1heERyYXdCdWZmZXJzKCkpIHsK
LSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElE
X1ZBTFVFLCAiZHJhd0J1ZmZlcnMiLCAibW9yZSB0aGFuIG1heCBkcmF3IGJ1ZmZlcnMiKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBmb3IgKEdDM0RzaXplaSBpID0g
MDsgaSA8IG47ICsraSkgewotICAgICAgICAgICAgaWYgKGJ1ZnNbaV0gIT0gR3JhcGhpY3NDb250
ZXh0M0Q6Ok5PTkUgJiYgYnVmc1tpXSAhPSBzdGF0aWNfY2FzdDxHQzNEZW51bT4oR3JhcGhpY3ND
b250ZXh0M0Q6OkNPTE9SX0FUVEFDSE1FTlQwICsgaSkpIHsKLSAgICAgICAgICAgICAgICBzeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJkcmF3
QnVmZmVycyIsICJDT0xPUl9BVFRBQ0hNRU5UaSBvciBOT05FIik7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIG1fZnJhbWVidWZmZXJC
aW5kaW5nLT5kcmF3QnVmZmVycyhidWZmZXJzKTsKLSAgICB9Ci19Ci0KLXZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJpdihHQzNEZW51bSBidWZmZXIsIEdDM0RpbnQgZHJh
d2J1ZmZlciwgSW50MzJMaXN0JiYsIEdDM0R1aW50KQotewotICAgIHN3aXRjaCAoYnVmZmVyKSB7
Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Q09MT1I6Ci0gICAgICAgIGlmIChkcmF3YnVm
ZmVyIDwgMCB8fCBkcmF3YnVmZmVyID49IGdldE1heERyYXdCdWZmZXJzKCkpIHsKLSAgICAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAi
Y2xlYXJCdWZmZXJpdiIsICJidWZmZXIgaW5kZXggb3V0IG9mIHJhbmdlIik7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcml2
LCByZXF1aXJlcyBnbDMuaCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTDoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIpIHsKLSAg
ICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZB
TFVFLCAiY2xlYXJCdWZmZXJpdiIsICJidWZmZXIgaW5kZXggbXVzdCBiZSAwIik7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZl
cml2LCByZXF1aXJlcyBnbDMuaCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
REVQVEhfU1RFTkNJTDoKLSAgICBkZWZhdWx0OgotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJjbGVhckJ1ZmZlcml2IiwgImJ1
ZmZlciBhcmd1bWVudCBtdXN0IGJlIENPTE9SIG9yIFNURU5DSUwiKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVydWl2
KEdDM0RlbnVtIGJ1ZmZlciwgR0MzRGludCBkcmF3YnVmZmVyLCBVaW50MzJMaXN0JiYsIEdDM0R1
aW50KQotewotICAgIHN3aXRjaCAoYnVmZmVyKSB7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6Q09MT1I6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyIDwgMCB8fCBkcmF3YnVmZmVyID49IGdl
dE1heERyYXdCdWZmZXJzKCkpIHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJ1aXYiLCAiYnVmZmVyIGlu
ZGV4IG91dCBvZiByYW5nZSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAg
ICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJ1aXYsIHJlcXVpcmVzIGdsMy5oIGFuZCBFUzMv
Z2wuaAotICAgICAgICBicmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSDoK
LSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMOgotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OkRFUFRIX1NURU5DSUw6Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgc3ludGhlc2l6
ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiY2xlYXJCdWZm
ZXJ1aXYiLCAiYnVmZmVyIGFyZ3VtZW50IG11c3QgYmUgQ09MT1IiKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyZnYo
R0MzRGVudW0gYnVmZmVyLCBHQzNEaW50IGRyYXdidWZmZXIsIEZsb2F0MzJMaXN0JiYsIEdDM0R1
aW50KQotewotICAgIHN3aXRjaCAoYnVmZmVyKSB7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6Q09MT1I6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyIDwgMCB8fCBkcmF3YnVmZmVyID49IGdl
dE1heERyYXdCdWZmZXJzKCkpIHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJmdiIsICJidWZmZXIgaW5k
ZXggb3V0IG9mIHJhbmdlIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAg
ICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcmZ2LCByZXF1aXJlcyBnbDMuaCBhbmQgRVMzL2ds
LmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEg6Ci0g
ICAgICAgIGlmIChkcmF3YnVmZmVyKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVmZmVyZnYiLCAiYnVmZmVy
IGluZGV4IG11c3QgYmUgMCIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAg
ICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJmdiwgcmVxdWlyZXMgZ2wzLmggYW5kIEVTMy9n
bC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUw6
Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfU1RFTkNJTDoKLSAgICBkZWZhdWx0
OgotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9P
UEVSQVRJT04sICJjbGVhckJ1ZmZlcmZ2IiwgImJ1ZmZlciBhcmd1bWVudCBtdXN0IGJlIENPTE9S
IE9SIERFUFRIIik7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLX0KLQotdm9pZCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcmZpKEdDM0RlbnVtIGJ1ZmZlciwgR0MzRGludCBkcmF3
YnVmZmVyLCBHQzNEZmxvYXQsIEdDM0RpbnQpCi17Ci0gICAgc3dpdGNoIChidWZmZXIpIHsKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9TVEVOQ0lMOgotICAgICAgICBpZiAoZHJh
d2J1ZmZlcikgewotICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0
M0Q6OklOVkFMSURfVkFMVUUsICJjbGVhckJ1ZmZlcmZ2IiwgImJ1ZmZlciBpbmRleCBtdXN0IGJl
IDAiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAvLyBUT0RPOiBD
YWxsIGNsZWFyQnVmZmVyZmksIHJlcXVpcmVzIGdsMy5oIGFuZCBFUzMvZ2wuaAotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUjoKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpERVBUSDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lM
OgotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dDNEOjpJTlZBTElEX09QRVJBVElPTiwgImNsZWFyQnVmZmVyZnYiLCAiYnVmZmVyIGFyZ3VtZW50
IG11c3QgYmUgREVQVEhfU1RFTkNJTCIpOwotICAgICAgICBicmVhazsKLSAgICB9Ci19Ci0KLVJl
ZlB0cjxXZWJHTFF1ZXJ5PiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVRdWVyeSgpCi17
Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNyZWF0ZVF1ZXJ5KCkiKTsK
LSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpk
ZWxldGVRdWVyeShXZWJHTFF1ZXJ5KikKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVN
RU5URUQgXV0gZGVsZXRlUXVlcnkoKSIpOwotfQotCi1HQzNEYm9vbGVhbiBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0Ojppc1F1ZXJ5KFdlYkdMUXVlcnkqKQotewotICAgIExPRyhXZWJHTCwgIltbIE5P
VCBJTVBMRU1FTlRFRCBdXSBpc1F1ZXJ5KCkiKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZv
aWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6YmVnaW5RdWVyeShHQzNEZW51bSwgV2ViR0xRdWVy
eSYpCi17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGJlZ2luUXVlcnko
KSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmVuZFF1ZXJ5KEdDM0RlbnVt
KQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBlbmRRdWVyeSgpIik7
Ci19Ci0KLVJlZlB0cjxXZWJHTFF1ZXJ5PiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpnZXRRdWVy
eShHQzNEZW51bSwgR0MzRGVudW0pCi17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVO
VEVEIF1dIGdldHF1ZXJ5KCkiKTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotV2ViR0xBbnkg
V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0UXVlcnlQYXJhbWV0ZXIoV2ViR0xRdWVyeSYsIEdD
M0RlbnVtKQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBnZXRRdWVy
eVBhcmFtZXRlcikiKTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotUmVmUHRyPFdlYkdMU2Ft
cGxlcj4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlU2FtcGxlcigpCi17Ci0gICAgTE9H
KFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNyZWF0ZVNhbXBsZXIoKSIpOwotICAgIHJl
dHVybiBudWxscHRyOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmRlbGV0ZVNh
bXBsZXIoV2ViR0xTYW1wbGVyKikKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5U
RUQgXV0gZGVsZXRlU2FtcGxlcigpIik7Ci19Ci0KLUdDM0Rib29sZWFuIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OmlzU2FtcGxlcihXZWJHTFNhbXBsZXIqKQotewotICAgIExPRyhXZWJHTCwgIltb
IE5PVCBJTVBMRU1FTlRFRCBdXSBpc1NhbXBsZXIoKSIpOwotICAgIHJldHVybiBmYWxzZTsKLX0K
LQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpiaW5kU2FtcGxlcihHQzNEdWludCwgV2Vi
R0xTYW1wbGVyKikKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gYmlu
ZFNhbXBsZXIoKSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnNhbXBsZXJQ
YXJhbWV0ZXJpKFdlYkdMU2FtcGxlciYsIEdDM0RlbnVtLCBHQzNEaW50KQotewotICAgIExPRyhX
ZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBzYW1wbGVyUGFyYW1ldGVyaSgpIik7Ci19Ci0K
LXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6c2FtcGxlclBhcmFtZXRlcmYoV2ViR0xTYW1w
bGVyJiwgR0MzRGVudW0sIEdDM0RmbG9hdCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1Q
TEVNRU5URUQgXV0gc2FtcGxlclBhcmFtZXRlcmYoKSIpOwotfQotCi1XZWJHTEFueSBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0OjpnZXRTYW1wbGVyUGFyYW1ldGVyKFdlYkdMU2FtcGxlciYsIEdDM0Rl
bnVtKQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBnZXRTYW1wbGVy
UGFyYW1ldGVyKCkiKTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotUmVmUHRyPFdlYkdMU3lu
Yz4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6ZmVuY2VTeW5jKEdDM0RlbnVtLCBHQzNEYml0Zmll
bGQpCi17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGZlbmNlU3luYygp
Iik7Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0KLUdDM0Rib29sZWFuIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OmlzU3luYyhXZWJHTFN5bmMqKQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJ
TVBMRU1FTlRFRCBdXSBpc1N5bmMoKSIpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpkZWxldGVTeW5jKFdlYkdMU3luYyopCi17Ci0gICAgTE9H
KFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGRlbGV0ZVN5bmMoKSIpOwotfQotCi1HQzNE
ZW51bSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGllbnRXYWl0U3luYyhXZWJHTFN5bmMmLCBH
QzNEYml0ZmllbGQsIEdDM0R1aW50NjQpCi17Ci0gICAgLy8gTm90ZTogRG8gbm90IGltcGxlbWVu
dCB0aGlzIGZ1bmN0aW9uIHdpdGhvdXQgY29uc3VsdGluZyB3ZWJraXQtZGV2IGFuZCBXZWJHTAot
ICAgIC8vIHJldmlld2VycyBiZWZvcmVoYW5kLiBBcHBsZSBmb2xrcywgc2VlIDxyZGFyOi8vcHJv
YmxlbS8zNjY2NjQ1OD4uCi0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNs
aWVudFdhaXRTeW5jKCkiKTsKLSAgICByZXR1cm4gMDsKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleEltYWdlMkQoKSIpOwogfQogCi12b2lkIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHQ6OndhaXRTeW5jKFdlYkdMU3luYyYsIEdDM0RiaXRmaWVsZCwgR0Mz
RGludDY0KQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4U3ViSW1h
Z2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9m
ZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMc2l6
ZWkgaW1hZ2VTaXplLCBHTGludHB0ciBvZmZzZXQpCiB7Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9U
IElNUExFTUVOVEVEIF1dIHdhaXRTeW5jKCkiKTsKLX0KKyAgICBVTlVTRURfUEFSQU0odGFyZ2V0
KTsKKyAgICBVTlVTRURfUEFSQU0obGV2ZWwpOworICAgIFVOVVNFRF9QQVJBTSh4b2Zmc2V0KTsK
KyAgICBVTlVTRURfUEFSQU0oeW9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHdpZHRoKTsKKyAg
ICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsKKyAgICBVTlVTRURfUEFSQU0oZm9ybWF0KTsKKyAgICBV
TlVTRURfUEFSQU0oaW1hZ2VTaXplKTsKKyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKIAotV2Vi
R0xBbnkgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3luY1BhcmFtZXRlcihXZWJHTFN5bmMm
LCBHQzNEZW51bSkKLXsKLSAgICAvLyBOb3RlOiBEbyBub3QgaW1wbGVtZW50IHRoaXMgZnVuY3Rp
b24gd2l0aG91dCBjb25zdWx0aW5nIHdlYmtpdC1kZXYgYW5kIFdlYkdMCi0gICAgLy8gcmV2aWV3
ZXJzIGJlZm9yZWhhbmQuIEFwcGxlIGZvbGtzLCBzZWUgPHJkYXI6Ly9wcm9ibGVtLzM2NjY2NDU4
Pi4KLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gZ2V0U3luY1BhcmFtZXRl
cigpIik7Ci0gICAgcmV0dXJuIG51bGxwdHI7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExF
TUVOVEVEIF1dIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKCkiKTsKIH0KIAotUmVmUHRyPFdlYkdM
VHJhbnNmb3JtRmVlZGJhY2s+IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZVRyYW5zZm9y
bUZlZWRiYWNrKCkKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleFN1
YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50
IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBB
cnJheUJ1ZmZlclZpZXcmIHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5n
dGhPdmVycmlkZSkKIHsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY3Jl
YXRlVHJhbnNmb3JtRmVlZGJhY2soKSIpOwotICAgIHJldHVybiBudWxscHRyOwotfQorICAgIFVO
VVNFRF9QQVJBTSh0YXJnZXQpOworICAgIFVOVVNFRF9QQVJBTShsZXZlbCk7CisgICAgVU5VU0VE
X1BBUkFNKHhvZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTSh5b2Zmc2V0KTsKKyAgICBVTlVTRURf
UEFSQU0od2lkdGgpOworICAgIFVOVVNFRF9QQVJBTShoZWlnaHQpOworICAgIFVOVVNFRF9QQVJB
TShmb3JtYXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNEYXRhKTsKKyAgICBVTlVTRURfUEFSQU0o
c3JjT2Zmc2V0KTsKKyAgICBVTlVTRURfUEFSQU0oc3JjTGVuZ3RoT3ZlcnJpZGUpOwogCi12b2lk
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmRlbGV0ZVRyYW5zZm9ybUZlZWRiYWNrKFdlYkdMVHJh
bnNmb3JtRmVlZGJhY2sqKQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBd
XSBkZWxldGVUcmFuc2Zvcm1GZWVkYmFjaygpIik7Ci19CisgICAgTE9HKFdlYkdMLCAiW1sgTk9U
IElNUExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKCkiKTsKIAotR0MzRGJvb2xl
YW4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6aXNUcmFuc2Zvcm1GZWVkYmFjayhXZWJHTFRyYW5z
Zm9ybUZlZWRiYWNrKikKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0g
aXNUcmFuc2Zvcm1GZWVkYmFjaygpIik7Ci0gICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFdl
YkdMMlJlbmRlcmluZ0NvbnRleHQ6OmJpbmRUcmFuc2Zvcm1GZWVkYmFjayhHQzNEZW51bSwgV2Vi
R0xUcmFuc2Zvcm1GZWVkYmFjayopCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZv
cm0xZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBH
THVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQogewotICAgIExPRyhXZWJHTCwgIltb
IE5PVCBJTVBMRU1FTlRFRCBdXSBiaW5kVHJhbnNmb3JtRmVlZGJhY2soKSIpOwotfQorICAgIFVO
VVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNF
RF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwogCi12b2lk
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmJlZ2luVHJhbnNmb3JtRmVlZGJhY2soR0MzRGVudW0p
Ci17Ci0gICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGJlZ2luVHJhbnNmb3Jt
RmVlZGJhY2soKSIpOworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlm
b3JtMWZ2KCkiKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjplbmRUcmFuc2Zv
cm1GZWVkYmFjaygpCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yZnYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3Jj
T2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQogewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBM
RU1FTlRFRCBdXSBlbmRUcmFuc2Zvcm1GZWVkYmFjaygpIik7Ci19CisgICAgVU5VU0VEX1BBUkFN
KGxvY2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNy
Y09mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CiAKLXZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5ncyhXZWJHTFByb2dyYW0mLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYsIEdDM0RlbnVtKQotewotICAgIExPRyhXZWJHTCwgIltbIE5P
VCBJTVBMRU1FTlRFRCBdXSB0cmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKCkiKTsKKyAgICBMT0co
V2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTJmdigpIik7CiB9CiAKLVJlZlB0
cjxXZWJHTEFjdGl2ZUluZm8+IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmdldFRyYW5zZm9ybUZl
ZWRiYWNrVmFyeWluZyhXZWJHTFByb2dyYW0mLCBHQzNEdWludCkKK3ZvaWQgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6dW5pZm9ybTNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZs
b2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCiB7Ci0g
ICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGdldFRyYW5zZm9ybUZlZWRiYWNr
VmFyeWluZygpIik7Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0KLXZvaWQgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6cGF1c2VUcmFuc2Zvcm1GZWVkYmFjaygpCi17Ci0gICAgTE9HKFdlYkdMLCAi
W1sgTk9UIElNUExFTUVOVEVEIF1dIHBhdXNlVHJhbnNmb3JtRmVlZGJhY2soKSIpOwotfQorICAg
IFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVO
VVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwogCi12
b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrKCkKLXsK
LSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gcmVzdW1lVHJhbnNmb3JtRmVl
ZGJhY2soKSIpOworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3Jt
M2Z2KCkiKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpiaW5kQnVmZmVyQmFz
ZShHQzNEZW51bSwgR0MzRHVpbnQsIFdlYkdMQnVmZmVyKikKK3ZvaWQgV2ViR0wyUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0
MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCiB7Ci0gICAg
TE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGJpbmRCdWZmZXJCYXNlKCkiKTsKLX0K
KyAgICBVTlVTRURfUEFSQU0obG9jYXRpb24pOworICAgIFVOVVNFRF9QQVJBTShkYXRhKTsKKyAg
ICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBVTlVTRURfUEFSQU0oc3JjTGVuZ3RoKTsK
IAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpiaW5kQnVmZmVyUmFuZ2UoR0MzRGVudW0s
IEdDM0R1aW50LCBXZWJHTEJ1ZmZlciosIEdDM0RpbnQ2NCwgR0MzRGludDY0KQotewotICAgIExP
RyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBiaW5kQnVmZmVyUmFuZ2UoKSIpOworICAg
IExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3JtNGZ2KCkiKTsKIH0KIAot
V2ViR0xBbnkgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0SW5kZXhlZFBhcmFtZXRlcihHQzNE
ZW51bSB0YXJnZXQsIEdDM0R1aW50KQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlm
b3JtMWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCiB7Ci0gICAgc3dpdGNoICh0YXJnZXQp
IHsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVS
X0JJTkRJTkc6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VFJBTlNGT1JNX0ZFRURCQUNL
X0JVRkZFUl9TSVpFOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlRSQU5TRk9STV9GRUVE
QkFDS19CVUZGRVJfU1RBUlQ6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5JRk9STV9C
VUZGRVJfQklORElORzoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTklGT1JNX0JVRkZF
Ul9TSVpFOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOSUZPUk1fQlVGRkVSX1NUQVJU
OgotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9F
TlVNLCAiZ2V0SW5kZXhlZFBhcmFtZXRlciIsICJwYXJhbWV0ZXIgbmFtZSBub3QgeWV0IHN1cHBv
cnRlZCIpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICBkZWZhdWx0OgotICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCAiZ2V0SW5k
ZXhlZFBhcmFtZXRlciIsICJpbnZhbGlkIHBhcmFtZXRlciBuYW1lIik7Ci0gICAgICAgIHJldHVy
biBudWxscHRyOwotICAgIH0KLX0KKyAgICBVTlVTRURfUEFSQU0obG9jYXRpb24pOworICAgIFVO
VVNFRF9QQVJBTShkYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBVTlVT
RURfUEFSQU0oc3JjTGVuZ3RoKTsKIAotT3B0aW9uYWw8VmVjdG9yPEdDM0R1aW50Pj4gV2ViR0wy
UmVuZGVyaW5nQ29udGV4dDo6Z2V0VW5pZm9ybUluZGljZXMoV2ViR0xQcm9ncmFtJiwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mKQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBd
XSBnZXRVbmlmb3JtSW5kaWNlcygpIik7Ci0gICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBM
T0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTFpdigpIik7CiB9CiAKLVdl
YkdMQW55IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmdldEFjdGl2ZVVuaWZvcm1zKFdlYkdMUHJv
Z3JhbSYgcHJvZ3JhbSwgY29uc3QgVmVjdG9yPEdDM0R1aW50PiYgdW5pZm9ybUluZGljZXMsIEdD
M0RlbnVtIHBuYW1lKQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMml2KFdl
YkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNP
ZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRp
bmcoKSB8fCAhdmFsaWRhdGVXZWJHTE9iamVjdCgiZ2V0QWN0aXZlVW5pZm9ybXMiLCAmcHJvZ3Jh
bSkpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7
CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOwor
ICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwogCi0gICAgc3dpdGNoIChwbmFtZSkgewotICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOSUZPUk1fVFlQRToKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpVTklGT1JNX1NJWkU6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5J
Rk9STV9CTE9DS19JTkRFWDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTklGT1JNX09G
RlNFVDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTklGT1JNX0FSUkFZX1NUUklERToK
LSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTklGT1JNX01BVFJJWF9TVFJJREU6Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5JRk9STV9JU19ST1dfTUFKT1I6Ci0gICAgICAgIHsK
LSAgICAgICAgICAgIFZlY3RvcjxHQzNEaW50PiBwYXJhbXModW5pZm9ybUluZGljZXMuc2l6ZSgp
LCAwKTsKLSAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0QWN0aXZlVW5pZm9ybXMocHJvZ3JhbS5v
YmplY3QoKSwgdW5pZm9ybUluZGljZXMsIHBuYW1lLCBwYXJhbXMpOwotICAgICAgICAgICAgcmV0
dXJuIFdURk1vdmUocGFyYW1zKTsKLSAgICAgICAgfQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sICJnZXRBY3Rp
dmVVbmlmb3JtcyIsICJpbnZhbGlkIHBhcmFtZXRlciBuYW1lIik7Ci0gICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIH0KKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5p
Zm9ybTJpdigpIik7CiB9CiAKLUdDM0R1aW50IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmdldFVu
aWZvcm1CbG9ja0luZGV4KFdlYkdMUHJvZ3JhbSYsIGNvbnN0IFN0cmluZyYpCit2b2lkIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0
aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCkK
IHsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gZ2V0VW5pZm9ybUJsb2Nr
SW5kZXgoKSIpOwotICAgIHJldHVybiAwOwotfQorICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7
CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOwor
ICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwogCi1XZWJHTEFueSBXZWJHTDJSZW5kZXJpbmdD
b250ZXh0OjpnZXRBY3RpdmVVbmlmb3JtQmxvY2tQYXJhbWV0ZXIoV2ViR0xQcm9ncmFtJiwgR0Mz
RHVpbnQsIEdDM0RlbnVtKQotewotICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBd
XSBnZXRBY3RpdmVVbmlmb3JtQmxvY2tQYXJhbWV0ZXIoKSIpOwotICAgIHJldHVybiBudWxscHRy
OworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3JtM2l2KCkiKTsK
IH0KIAotV2ViR0xBbnkgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0QWN0aXZlVW5pZm9ybUJs
b2NrTmFtZShXZWJHTFByb2dyYW0mLCBHQzNEdWludCkKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dDo6dW5pZm9ybTRpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEludDMyTGlz
dCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQogewotICAgIExPRyhX
ZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBnZXRBY3RpdmVVbmlmb3JtQmxvY2tOYW1lKCki
KTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KKyAgICBVTlVTRURfUEFSQU0obG9jYXRpb24pOwor
ICAgIFVOVVNFRF9QQVJBTShkYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAg
ICBVTlVTRURfUEFSQU0oc3JjTGVuZ3RoKTsKIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0
Ojp1bmlmb3JtQmxvY2tCaW5kaW5nKFdlYkdMUHJvZ3JhbSYsIEdDM0R1aW50LCBHQzNEdWludCkK
LXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybUJsb2NrQmlu
ZGluZygpIik7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm00
aXYoKSIpOwogfQogCi1SZWZQdHI8V2ViR0xWZXJ0ZXhBcnJheU9iamVjdD4gV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6Y3JlYXRlVmVydGV4QXJyYXkoKQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250
ZXh0Ojp1bmlmb3JtTWF0cml4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0xi
b29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1
aW50IHNyY0xlbmd0aCkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdCgpKQotICAgICAgICByZXR1
cm4gbnVsbHB0cjsKLSAgICAKLSAgICBhdXRvIG9iamVjdCA9IFdlYkdMVmVydGV4QXJyYXlPYmpl
Y3Q6OmNyZWF0ZSgqdGhpcywgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdDo6VHlwZTo6VXNlcik7Ci0g
ICAgYWRkQ29udGV4dE9iamVjdChvYmplY3QuZ2V0KCkpOwotICAgIHJldHVybiBXVEZNb3ZlKG9i
amVjdCk7Ci19CisgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0o
dHJhbnNwb3NlKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNy
Y09mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CiAKLXZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6ZGVsZXRlVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhBcnJheU9iamVjdCog
YXJyYXlPYmplY3QpCi17Ci0gICAgaWYgKCFhcnJheU9iamVjdCB8fCBpc0NvbnRleHRMb3N0KCkp
Ci0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBpZiAoYXJyYXlPYmplY3QtPmlzRGVsZXRlZCgp
KQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgaWYgKCFhcnJheU9iamVjdC0+aXNEZWZhdWx0
T2JqZWN0KCkgJiYgYXJyYXlPYmplY3QgPT0gbV9ib3VuZFZlcnRleEFycmF5T2JqZWN0KQotI2lm
IFVTRShPUEVOR0xfRVMpCi0gICAgICAgIHNldEJvdW5kVmVydGV4QXJyYXlPYmplY3QobnVsbHB0
cik7Ci0jZWxzZQotICAgICAgICBiaW5kVmVydGV4QXJyYXkobnVsbHB0cik7IC8vIFRoZSBkZWZh
dWx0IFZBTyB3YXMgcmVtb3ZlZCBpbiBPcGVuR0wgMy4zIGJ1dCBub3QgZnJvbSBXZWJHTCAyOyBi
aW5kIHRoZSBkZWZhdWx0IGZvciBXZWJHTCB0byB1c2UuCi0jZW5kaWYKLSAgICAKLSAgICBhcnJh
eU9iamVjdC0+ZGVsZXRlT2JqZWN0KGdyYXBoaWNzQ29udGV4dDNEKCkpOworICAgIExPRyhXZWJH
TCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3JtTWF0cml4MmZ2KCkiKTsKIH0KIAotR0Mz
RGJvb2xlYW4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6aXNWZXJ0ZXhBcnJheShXZWJHTFZlcnRl
eEFycmF5T2JqZWN0KiBhcnJheU9iamVjdCkKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
dW5pZm9ybU1hdHJpeDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdMYm9vbGVh
biB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBz
cmNMZW5ndGgpCiB7Ci0gICAgaWYgKCFhcnJheU9iamVjdCB8fCBpc0NvbnRleHRMb3N0KCkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBpZiAoIWFycmF5T2JqZWN0LT5oYXNFdmVy
QmVlbkJvdW5kKCkgfHwgIWFycmF5T2JqZWN0LT52YWxpZGF0ZSgwLCAqdGhpcykpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAKLSAgICByZXR1cm4gbV9jb250ZXh0LT5pc1ZlcnRleEFycmF5
KGFycmF5T2JqZWN0LT5vYmplY3QoKSk7Ci19CisgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsK
KyAgICBVTlVTRURfUEFSQU0odHJhbnNwb3NlKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7Cisg
ICAgVU5VU0VEX1BBUkFNKHNyY09mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7
CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6YmluZFZlcnRleEFycmF5KFdlYkdMVmVy
dGV4QXJyYXlPYmplY3QqIGFycmF5T2JqZWN0KQotewotICAgIGlmIChpc0NvbnRleHRMb3N0KCkp
Ci0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBpZiAoYXJyYXlPYmplY3QgJiYgKGFycmF5T2Jq
ZWN0LT5pc0RlbGV0ZWQoKSB8fCAhYXJyYXlPYmplY3QtPnZhbGlkYXRlKDAsICp0aGlzKSB8fCAh
bV9jb250ZXh0T2JqZWN0cy5jb250YWlucyhhcnJheU9iamVjdCkpKSB7Ci0gICAgICAgIG1fY29u
dGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFU
SU9OKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoYXJyYXlPYmplY3QgJiYgIWFy
cmF5T2JqZWN0LT5pc0RlZmF1bHRPYmplY3QoKSAmJiBhcnJheU9iamVjdC0+b2JqZWN0KCkpIHsK
LSAgICAgICAgbV9jb250ZXh0LT5iaW5kVmVydGV4QXJyYXkoYXJyYXlPYmplY3QtPm9iamVjdCgp
KTsKLSAgICAgICAgCi0gICAgICAgIGFycmF5T2JqZWN0LT5zZXRIYXNFdmVyQmVlbkJvdW5kKCk7
Ci0gICAgICAgIHNldEJvdW5kVmVydGV4QXJyYXlPYmplY3QoYXJyYXlPYmplY3QpOwotICAgIH0g
ZWxzZSB7Ci0gICAgICAgIG1fY29udGV4dC0+YmluZFZlcnRleEFycmF5KG1fZGVmYXVsdFZlcnRl
eEFycmF5T2JqZWN0LT5vYmplY3QoKSk7Ci0gICAgICAgIHNldEJvdW5kVmVydGV4QXJyYXlPYmpl
Y3QobV9kZWZhdWx0VmVydGV4QXJyYXlPYmplY3QuZ2V0KCkpOwotICAgIH0KKyAgICBMT0coV2Vi
R0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybU1hdHJpeDNmdigpIik7CiB9CiAKLVdl
YkdMRXh0ZW5zaW9uKiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3Qg
U3RyaW5nJiBuYW1lKQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4
NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwg
RmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCkKIHsK
LSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLQotI2RlZmluZSBFTkFCTEVfSUZfUkVRVUVTVEVEKHR5cGUsIHZhcmlhYmxlLCBuYW1lTGl0
ZXJhbCwgY2FuRW5hYmxlKSBcCi0gICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UobmFtZSwg
bmFtZUxpdGVyYWwpKSB7IFwKLSAgICAgICAgaWYgKCF2YXJpYWJsZSkgeyBcCi0gICAgICAgICAg
ICB2YXJpYWJsZSA9IChjYW5FbmFibGUpID8gbWFrZVVuaXF1ZTx0eXBlPigqdGhpcykgOiBudWxs
cHRyOyBcCi0gICAgICAgICAgICBpZiAodmFyaWFibGUgIT0gbnVsbHB0cikgXAotICAgICAgICAg
ICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRW5hYmxlRXh0ZW5zaW9uKCp0aGlz
LCBuYW1lKTsgXAotICAgICAgICB9IFwKLSAgICAgICAgcmV0dXJuIHZhcmlhYmxlLmdldCgpOyBc
Ci0gICAgfQorICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKHRy
YW5zcG9zZSk7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNP
ZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwogCi0gICAgRU5BQkxFX0lGX1JF
UVVFU1RFRChFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMsIG1fZXh0VGV4dHVyZUZpbHRlckFu
aXNvdHJvcGljLCAiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIiwgZW5hYmxlU3VwcG9y
dGVkRXh0ZW5zaW9uKCJHTF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiX3MpKTsKLSAg
ICBFTkFCTEVfSUZfUkVRVUVTVEVEKE9FU1RleHR1cmVGbG9hdCwgbV9vZXNUZXh0dXJlRmxvYXQs
ICJPRVNfdGV4dHVyZV9mbG9hdCIsIGVuYWJsZVN1cHBvcnRlZEV4dGVuc2lvbigiR0xfT0VTX3Rl
eHR1cmVfZmxvYXQiX3MpKTsKLSAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKE9FU1RleHR1cmVGbG9h
dExpbmVhciwgbV9vZXNUZXh0dXJlRmxvYXRMaW5lYXIsICJPRVNfdGV4dHVyZV9mbG9hdF9saW5l
YXIiLCBlbmFibGVTdXBwb3J0ZWRFeHRlbnNpb24oIkdMX09FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciJfcykpOwotICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoT0VTVGV4dHVyZUhhbGZGbG9hdCwgbV9v
ZXNUZXh0dXJlSGFsZkZsb2F0LCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIsIGVuYWJsZVN1cHBv
cnRlZEV4dGVuc2lvbigiR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdCJfcykpOwotICAgIEVOQUJM
RV9JRl9SRVFVRVNURUQoT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhciwgbV9vZXNUZXh0dXJlSGFs
ZkZsb2F0TGluZWFyLCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIiLCBlbmFibGVTdXBw
b3J0ZWRFeHRlbnNpb24oIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFyIl9zKSk7Ci0g
ICAgRU5BQkxFX0lGX1JFUVVFU1RFRChXZWJHTExvc2VDb250ZXh0LCBtX3dlYmdsTG9zZUNvbnRl
eHQsICJXRUJHTF9sb3NlX2NvbnRleHQiLCB0cnVlKTsKLSAgICBFTkFCTEVfSUZfUkVRVUVTVEVE
KFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLCBtX3dlYmdsQ29tcHJlc3NlZFRleHR1cmVBU1RD
LCAiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2FzdGMiLCBXZWJHTENvbXByZXNzZWRUZXh0dXJl
QVNUQzo6c3VwcG9ydGVkKCp0aGlzKSk7Ci0gICAgRU5BQkxFX0lGX1JFUVVFU1RFRChXZWJHTENv
bXByZXNzZWRUZXh0dXJlQVRDLCBtX3dlYmdsQ29tcHJlc3NlZFRleHR1cmVBVEMsICJXRUJLSVRf
V0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyIsIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6
OnN1cHBvcnRlZCgqdGhpcykpOwotICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoV2ViR0xDb21wcmVz
c2VkVGV4dHVyZUVUQywgbV93ZWJnbENvbXByZXNzZWRUZXh0dXJlRVRDLCAiV0VCR0xfY29tcHJl
c3NlZF90ZXh0dXJlX2V0YyIsIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVFVEM6OnN1cHBvcnRlZCgq
dGhpcykpOwotICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoV2ViR0xDb21wcmVzc2VkVGV4dHVyZUVU
QzEsIG1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZUVUQzEsICJXRUJHTF9jb21wcmVzc2VkX3RleHR1
cmVfZXRjMSIsIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVFVEMxOjpzdXBwb3J0ZWQoKnRoaXMpKTsK
LSAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQywgbV93
ZWJnbENvbXByZXNzZWRUZXh0dXJlUFZSVEMsICJXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0
dXJlX3B2cnRjIiwgV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDOjpzdXBwb3J0ZWQoKnRoaXMp
KTsKLSAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLCBt
X3dlYmdsQ29tcHJlc3NlZFRleHR1cmVTM1RDLCAiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3Mz
dGMiLCBXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQzo6c3VwcG9ydGVkKCp0aGlzKSk7Ci0gICAg
RU5BQkxFX0lGX1JFUVVFU1RFRChXZWJHTERlcHRoVGV4dHVyZSwgbV93ZWJnbERlcHRoVGV4dHVy
ZSwgIldFQkdMX2RlcHRoX3RleHR1cmUiLCBXZWJHTERlcHRoVGV4dHVyZTo6c3VwcG9ydGVkKCpn
cmFwaGljc0NvbnRleHQzRCgpKSk7Ci0gICAgRU5BQkxFX0lGX1JFUVVFU1RFRChXZWJHTERlYnVn
UmVuZGVyZXJJbmZvLCBtX3dlYmdsRGVidWdSZW5kZXJlckluZm8sICJXRUJHTF9kZWJ1Z19yZW5k
ZXJlcl9pbmZvIiwgdHJ1ZSk7Ci0gICAgRU5BQkxFX0lGX1JFUVVFU1RFRChXZWJHTERlYnVnU2hh
ZGVycywgbV93ZWJnbERlYnVnU2hhZGVycywgIldFQkdMX2RlYnVnX3NoYWRlcnMiLCBtX2NvbnRl
eHQtPmdldEV4dGVuc2lvbnMoKS5zdXBwb3J0cygiR0xfQU5HTEVfdHJhbnNsYXRlZF9zaGFkZXJf
c291cmNlIl9zKSk7Ci0gICAgcmV0dXJuIG51bGxwdHI7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9U
IElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXg0ZnYoKSIpOwogfQogCi1PcHRpb25hbDxWZWN0
b3I8U3RyaW5nPj4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9u
cygpCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnJlYWRQaXhlbHMoR0xpbnQgeCwgR0xp
bnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51
bSB0eXBlLCBHTGludHB0ciBvZmZzZXQpCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3QoKSkKLSAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdDsK
LSAgICAKLSAgICBpZiAobV9pc1BlbmRpbmdQb2xpY3lSZXNvbHV0aW9uKQotICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIFVOVVNFRF9QQVJBTSh4KTsKKyAgICBVTlVTRURfUEFSQU0oeSk7Cisg
ICAgVU5VU0VEX1BBUkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsKKyAgICBV
TlVTRURfUEFSQU0oZm9ybWF0KTsKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisgICAgVU5VU0VE
X1BBUkFNKG9mZnNldCk7CiAKLSAgICBhdXRvJiBleHRlbnNpb25zID0gbV9jb250ZXh0LT5nZXRF
eHRlbnNpb25zKCk7Ci0gICAgaWYgKGV4dGVuc2lvbnMuc3VwcG9ydHMoIkdMX09FU190ZXh0dXJl
X2Zsb2F0Il9zKSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgiT0VTX3RleHR1cmVfZmxvYXQiX3Mp
OwotICAgIGlmIChleHRlbnNpb25zLnN1cHBvcnRzKCJHTF9PRVNfdGV4dHVyZV9mbG9hdF9saW5l
YXIiX3MpKQotICAgICAgICByZXN1bHQuYXBwZW5kKCJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIi
X3MpOwotICAgIGlmIChleHRlbnNpb25zLnN1cHBvcnRzKCJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zs
b2F0Il9zKSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCJf
cyk7Ci0gICAgaWYgKGV4dGVuc2lvbnMuc3VwcG9ydHMoIkdMX09FU190ZXh0dXJlX2hhbGZfZmxv
YXRfbGluZWFyIl9zKSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgiT0VTX3RleHR1cmVfaGFsZl9m
bG9hdF9saW5lYXIiX3MpOwotICAgIGlmIChleHRlbnNpb25zLnN1cHBvcnRzKCJHTF9FWFRfdGV4
dHVyZV9maWx0ZXJfYW5pc290cm9waWMiX3MpKQotICAgICAgICByZXN1bHQuYXBwZW5kKCJFWFRf
dGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiX3MpOwotICAgIGlmIChXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVNUQzo6c3VwcG9ydGVkKCp0aGlzKSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgiV0VC
R0xfY29tcHJlc3NlZF90ZXh0dXJlX2FzdGMiX3MpOwotICAgIGlmIChXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDOjpzdXBwb3J0ZWQoKnRoaXMpKQotICAgICAgICByZXN1bHQuYXBwZW5kKCJXRUJL
SVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyJfcyk7Ci0gICAgaWYgKFdlYkdMQ29tcHJl
c3NlZFRleHR1cmVFVEM6OnN1cHBvcnRlZCgqdGhpcykpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQo
IldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMiX3MpOwotICAgIGlmIChXZWJHTENvbXByZXNz
ZWRUZXh0dXJlRVRDMTo6c3VwcG9ydGVkKCp0aGlzKSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgi
V0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2V0YzEiX3MpOwotICAgIGlmIChXZWJHTENvbXByZXNz
ZWRUZXh0dXJlUFZSVEM6OnN1cHBvcnRlZCgqdGhpcykpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQo
IldFQktJVF9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMiX3MpOwotICAgIGlmIChXZWJH
TENvbXByZXNzZWRUZXh0dXJlUzNUQzo6c3VwcG9ydGVkKCp0aGlzKSkKLSAgICAgICAgcmVzdWx0
LmFwcGVuZCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiX3MpOwotICAgIGlmIChXZWJH
TERlcHRoVGV4dHVyZTo6c3VwcG9ydGVkKCpncmFwaGljc0NvbnRleHQzRCgpKSkKLSAgICAgICAg
cmVzdWx0LmFwcGVuZCgiV0VCR0xfZGVwdGhfdGV4dHVyZSJfcyk7Ci0gICAgcmVzdWx0LmFwcGVu
ZCgiV0VCR0xfbG9zZV9jb250ZXh0Il9zKTsKLSAgICBpZiAoZXh0ZW5zaW9ucy5zdXBwb3J0cygi
R0xfQU5HTEVfdHJhbnNsYXRlZF9zaGFkZXJfc291cmNlIl9zKSkKLSAgICAgICAgcmVzdWx0LmFw
cGVuZCgiV0VCR0xfZGVidWdfc2hhZGVycyJfcyk7Ci0gICAgcmVzdWx0LmFwcGVuZCgiV0VCR0xf
ZGVidWdfcmVuZGVyZXJfaW5mbyJfcyk7Ci0KLSAgICByZXR1cm4gcmVzdWx0OworICAgIExPRyhX
ZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSByZWFkUGl4ZWxzKCkiKTsKIH0KIAotc3RhdGlj
IGJvb2wgdmFsaWRhdGVEZWZhdWx0RnJhbWVidWZmZXJBdHRhY2htZW50KEdDM0RlbnVtJiBhdHRh
Y2htZW50KQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpyZWFkUGl4ZWxzKEdMaW50IHgs
IEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3JiBkc3REYXRhLCBHTHVpbnQgZHN0T2Zmc2V0KQog
ewotICAgIHN3aXRjaCAoYXR0YWNobWVudCkgewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OkJBQ0s6Ci0gICAgICAgIC8vIEJlY2F1c2UgdGhlIGJhY2tidWZmZXIgaXMgc2ltdWxhdGVkIG9u
IGFsbCBjdXJyZW50IFdlYktpdCBwb3J0cywgd2UgbmVlZCB0byBjaGFuZ2UgQkFDSyB0byBDT0xP
Ul9BVFRBQ0hNRU5UMC4KLSAgICAgICAgYXR0YWNobWVudCA9IEdyYXBoaWNzQ29udGV4dDNEOjpD
T0xPUl9BVFRBQ0hNRU5UMDsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6REVQVEg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTDoK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1X
ZWJHTEFueSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQ
YXJhbWV0ZXIoR0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBhdHRhY2htZW50LCBHQzNEZW51bSBw
bmFtZSkKLXsKLSAgICBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUgPSAiZ2V0RnJhbWVidWZmZXJB
dHRhY2htZW50UGFyYW1ldGVyIjsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8
ICF2YWxpZGF0ZUZyYW1lYnVmZmVyVGFyZ2V0KGZ1bmN0aW9uTmFtZSwgdGFyZ2V0KSkKLSAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvIHRhcmdldEZyYW1lYnVmZmVyID0gKHRhcmdl
dCA9PSBHcmFwaGljc0NvbnRleHQzRDo6UkVBRF9GUkFNRUJVRkZFUikgPyBtX3JlYWRGcmFtZWJ1
ZmZlckJpbmRpbmcgOiBtX2ZyYW1lYnVmZmVyQmluZGluZzsKLQotICAgIGlmICghdGFyZ2V0RnJh
bWVidWZmZXIpIHsKLSAgICAgICAgLy8gT3BlbkdMIEVTIDM6IERlZmF1bHQgZnJhbWVidWZmZXIg
aXMgYm91bmQuCi0gICAgICAgIGlmICghdmFsaWRhdGVEZWZhdWx0RnJhbWVidWZmZXJBdHRhY2ht
ZW50KGF0dGFjaG1lbnQpKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGF0dGFjaG1l
bnQiKTsKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICB9Ci0gICAgICAgIEdD
M0RpbnQgdmFsdWUgPSAwOwotICAgICAgICBtX2NvbnRleHQtPmdldEZyYW1lYnVmZmVyQXR0YWNo
bWVudFBhcmFtZXRlcml2KHRhcmdldCwgYXR0YWNobWVudCwgcG5hbWUsICZ2YWx1ZSk7Ci0gICAg
ICAgIHJldHVybiB2YWx1ZTsKLSAgICB9Ci0gICAgaWYgKCF2YWxpZGF0ZU5vbkRlZmF1bHRGcmFt
ZWJ1ZmZlckF0dGFjaG1lbnQoZnVuY3Rpb25OYW1lLCBhdHRhY2htZW50KSkKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvIG9iamVjdCA9IG1ha2VSZWZQdHIodGFyZ2V0RnJhbWVi
dWZmZXItPmdldEF0dGFjaG1lbnRPYmplY3QoYXR0YWNobWVudCkpOwotICAgIGlmICghb2JqZWN0
KSB7Ci0gICAgICAgIGlmIChwbmFtZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJf
QVRUQUNITUVOVF9PQkpFQ1RfVFlQRSkKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oR3JhcGhpY3NDb250ZXh0M0Q6Ok5PTkUpOwotICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sIGZ1bmN0aW9uTmFtZSwg
ImludmFsaWQgcGFyYW1ldGVyIG5hbWUiKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
fQotCi0gICAgc3dpdGNoIChwbmFtZSkgewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkZS
QU1FQlVGRkVSX0FUVEFDSE1FTlRfUkVEX1NJWkU6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9HUkVFTl9TSVpFOgotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfQkxVRV9TSVpFOgotICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfQUxQSEFfU0laRToKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0RFUFRIX1NJWkU6
Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9TVEVO
Q0lMX1NJWkU6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfQVRUQUNI
TUVOVF9DT01QT05FTlRfVFlQRTogewotICAgICAgICBHQzNEaW50IHZhbHVlID0gMDsKLSAgICAg
ICAgbV9jb250ZXh0LT5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXJpdih0YXJnZXQs
IGF0dGFjaG1lbnQsIHBuYW1lLCAmdmFsdWUpOwotICAgICAgICByZXR1cm4gdmFsdWU7Ci0gICAg
fQotICAgIH0KLSAgICAKLSAgICBpZiAob2JqZWN0LT5pc1RleHR1cmUoKSkgewotICAgICAgICBz
d2l0Y2ggKHBuYW1lKSB7Ci0gICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVG
RkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEU6Ci0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFKTsKLSAgICAgICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfTkFNRToKLSAg
ICAgICAgICAgIHJldHVybiBtYWtlUmVmUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8V2ViR0xUZXh0dXJl
Jj4oKm9iamVjdCkpOwotICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZF
Ul9BVFRBQ0hNRU5UX1RFWFRVUkVfTEVWRUw6Ci0gICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9DVUJFX01BUF9GQUNFOgotICAgICAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0NPTE9SX0VO
Q09ESU5HOiB7Ci0gICAgICAgICAgICBHQzNEaW50IHZhbHVlID0gMDsKLSAgICAgICAgICAgIG1f
Y29udGV4dC0+Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXYodGFyZ2V0LCBhdHRh
Y2htZW50LCBwbmFtZSwgJnZhbHVlKTsKLSAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKLSAgICAg
ICAgfQotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3Jh
cGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBwYXJh
bWV0ZXIgbmFtZSBmb3IgdGV4dHVyZSBhdHRhY2htZW50Iik7Ci0gICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIEFTU0VSVChvYmplY3Qt
PmlzUmVuZGVyYnVmZmVyKCkpOwotICAgICAgICBzd2l0Y2ggKHBuYW1lKSB7Ci0gICAgICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEU6
Ci0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEdyYXBoaWNzQ29udGV4
dDNEOjpSRU5ERVJCVUZGRVIpOwotICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFN
RUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FOgotICAgICAgICAgICAgcmV0dXJuIG1ha2VS
ZWZQdHIocmVpbnRlcnByZXRfY2FzdDxXZWJHTFJlbmRlcmJ1ZmZlciY+KCpvYmplY3QpKTsKLSAg
ICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9DT0xP
Ul9FTkNPRElORyA6IHsKLSAgICAgICAgICAgIGF1dG8mIHJlbmRlckJ1ZmZlciA9IHJlaW50ZXJw
cmV0X2Nhc3Q8V2ViR0xSZW5kZXJidWZmZXImPigqb2JqZWN0KTsKLSAgICAgICAgICAgIGF1dG8g
Zm9ybWF0ID0gcmVuZGVyQnVmZmVyLmdldEludGVybmFsRm9ybWF0KCk7Ci0gICAgICAgICAgICBp
ZiAoZm9ybWF0ID09IEdyYXBoaWNzQ29udGV4dDNEOjpTUkdCOF9BTFBIQTgKLSAgICAgICAgICAg
ICAgICB8fCBmb3JtYXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNTRURfU1JHQjhfRVRD
MgotICAgICAgICAgICAgICAgIHx8IGZvcm1hdCA9PSBHcmFwaGljc0NvbnRleHQzRDo6Q09NUFJF
U1NFRF9TUkdCOF9BTFBIQThfRVRDMl9FQUMKLSAgICAgICAgICAgICAgICB8fCBmb3JtYXQgPT0g
R3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNTRURfU1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9F
VEMyKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihHcmFw
aGljc0NvbnRleHQzRDo6U1JHQik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEdyYXBoaWNzQ29udGV4dDNEOjpMSU5FQVIpOwotICAgICAg
ICB9Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFw
aGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIHBhcmFt
ZXRlciBuYW1lIGZvciByZW5kZXJidWZmZXIgYXR0YWNobWVudCIpOwotICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLWJvb2wgV2ViR0wyUmVuZGVyaW5n
Q29udGV4dDo6dmFsaWRhdGVGcmFtZWJ1ZmZlckZ1bmNQYXJhbWV0ZXJzKGNvbnN0IGNoYXIqIGZ1
bmN0aW9uTmFtZSwgR0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBhdHRhY2htZW50KQotewotICAg
IHJldHVybiB2YWxpZGF0ZUZyYW1lYnVmZmVyVGFyZ2V0KGZ1bmN0aW9uTmFtZSwgdGFyZ2V0KSAm
JiB2YWxpZGF0ZU5vbkRlZmF1bHRGcmFtZWJ1ZmZlckF0dGFjaG1lbnQoZnVuY3Rpb25OYW1lLCBh
dHRhY2htZW50KTsKLX0KKyAgICBVTlVTRURfUEFSQU0oeCk7CisgICAgVU5VU0VEX1BBUkFNKHkp
OworICAgIFVOVVNFRF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdodCk7Cisg
ICAgVU5VU0VEX1BBUkFNKGZvcm1hdCk7CisgICAgVU5VU0VEX1BBUkFNKHR5cGUpOworICAgIFVO
VVNFRF9QQVJBTShkc3REYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oZHN0T2Zmc2V0KTsKIAotYm9v
bCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUZyYW1lYnVmZmVyVGFyZ2V0KGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gdGFyZ2V0KQotewotICAgIHN3aXRjaCAodGFy
Z2V0KSB7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVI6Ci0gICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19GUkFNRUJVRkZFUjoKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSRUFEX0ZSQU1FQlVGRkVSOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
Ci0KLSAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVN
LCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIHRhcmdldCIpOwotICAgIHJldHVybiBmYWxzZTsKLX0K
LQotYm9vbCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZU5vbkRlZmF1bHRGcmFtZWJ1
ZmZlckF0dGFjaG1lbnQoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQzNEZW51bSBhdHRhY2ht
ZW50KQotewotICAgIHN3aXRjaCAoYXR0YWNobWVudCkgewotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkRFUFRIX0FUVEFDSE1FTlQ6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RF
TkNJTF9BVFRBQ0hNRU5UOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX1NURU5D
SUxfQVRUQUNITUVOVDoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAg
ICAgaWYgKGF0dGFjaG1lbnQgPj0gR3JhcGhpY3NDb250ZXh0M0Q6OkNPTE9SX0FUVEFDSE1FTlQw
ICYmIGF0dGFjaG1lbnQgPCBzdGF0aWNfY2FzdDxHQzNEZW51bT4oR3JhcGhpY3NDb250ZXh0M0Q6
OkNPTE9SX0FUVEFDSE1FTlQwICsgZ2V0TWF4Q29sb3JBdHRhY2htZW50cygpKSkKLSAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgYXR0YWNobWVu
dCIpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotR0MzRGludCBXZWJHTDJSZW5kZXJpbmdDb250
ZXh0OjpnZXRNYXhEcmF3QnVmZmVycygpCi17Ci0gICAgaWYgKCFtX21heERyYXdCdWZmZXJzKQot
ICAgICAgICBtX2NvbnRleHQtPmdldEludGVnZXJ2KEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfRFJB
V19CVUZGRVJTLCAmbV9tYXhEcmF3QnVmZmVycyk7Ci0gICAgcmV0dXJuIG1fbWF4RHJhd0J1ZmZl
cnM7Ci19Ci0KLUdDM0RpbnQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0TWF4Q29sb3JBdHRh
Y2htZW50cygpCi17Ci0gICAgLy8gRHJhd0J1ZmZlcnMgcmVxdWlyZXMgTUFYX0NPTE9SX0FUVEFD
SE1FTlRTID09IE1BWF9EUkFXX0JVRkZFUlMKLSAgICBpZiAoIW1fbWF4Q29sb3JBdHRhY2htZW50
cykKLSAgICAgICAgbV9jb250ZXh0LT5nZXRJbnRlZ2VydihHcmFwaGljc0NvbnRleHQzRDo6TUFY
X0RSQVdfQlVGRkVSUywgJm1fbWF4Q29sb3JBdHRhY2htZW50cyk7Ci0gICAgcmV0dXJuIG1fbWF4
Q29sb3JBdHRhY2htZW50czsKLX0KLQotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpyZW5k
ZXJidWZmZXJTdG9yYWdlKEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCkKLXsKLSAgICBpZiAoaXNDb250ZXh0
TG9zdE9yUGVuZGluZygpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKHRhcmdldCAhPSBHcmFw
aGljc0NvbnRleHQzRDo6UkVOREVSQlVGRkVSKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9y
KEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sICJyZW5kZXJidWZmZXJTdG9yYWdlIiwg
ImludmFsaWQgdGFyZ2V0Iik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKCFtX3Jl
bmRlcmJ1ZmZlckJpbmRpbmcgfHwgIW1fcmVuZGVyYnVmZmVyQmluZGluZy0+b2JqZWN0KCkpIHsK
LSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BF
UkFUSU9OLCAicmVuZGVyYnVmZmVyU3RvcmFnZSIsICJubyBib3VuZCByZW5kZXJidWZmZXIiKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoIXZhbGlkYXRlU2l6ZSgicmVuZGVyYnVm
ZmVyU3RvcmFnZSIsIHdpZHRoLCBoZWlnaHQpKQotICAgICAgICByZXR1cm47Ci0gICAgc3dpdGNo
IChpbnRlcm5hbGZvcm1hdCkgewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX0NP
TVBPTkVOVDE2OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX0NPTVBPTkVOVDMy
RjoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQyNDoKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMzJJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlJHQkEzMlVJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkExNkk6Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQTE2VUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCQTg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQThJOgotICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4VUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6UkdCMTBfQTI6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMTBfQTJVSToKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBNDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSRzMySToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzMyVUk6Ci0gICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6UkcxNkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UkcxNlVJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHODoKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpSRzhJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHOFVJOgot
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIzMkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UjMyVUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UjE2SToKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpSMTZVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpS
ODoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSOEk6Ci0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6UjhVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0I1X0ExOgotICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjU2NToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSR0I4OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUxfSU5ERVg4Ogot
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNSR0I4X0FMUEhBODoKLSAgICAgICAgbV9jb250
ZXh0LT5yZW5kZXJidWZmZXJTdG9yYWdlKHRhcmdldCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBo
ZWlnaHQpOwotICAgICAgICBtX3JlbmRlcmJ1ZmZlckJpbmRpbmctPnNldEludGVybmFsRm9ybWF0
KGludGVybmFsZm9ybWF0KTsKLSAgICAgICAgbV9yZW5kZXJidWZmZXJCaW5kaW5nLT5zZXRJc1Zh
bGlkKHRydWUpOwotICAgICAgICBtX3JlbmRlcmJ1ZmZlckJpbmRpbmctPnNldFNpemUod2lkdGgs
IGhlaWdodCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRF
UFRIMzJGX1NURU5DSUw4OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIMjRfU1RF
TkNJTDg6Ci0gICAgICAgIGlmICghaXNEZXB0aFN0ZW5jaWxTdXBwb3J0ZWQoKSkgewotICAgICAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwg
InJlbmRlcmJ1ZmZlclN0b3JhZ2UiLCAiaW52YWxpZCBpbnRlcm5hbGZvcm1hdCIpOwotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIG1fY29udGV4dC0+cmVuZGVyYnVmZmVy
U3RvcmFnZSh0YXJnZXQsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKLSAgICAgICAg
bV9yZW5kZXJidWZmZXJCaW5kaW5nLT5zZXRTaXplKHdpZHRoLCBoZWlnaHQpOwotICAgICAgICBt
X3JlbmRlcmJ1ZmZlckJpbmRpbmctPnNldElzVmFsaWQoaXNEZXB0aFN0ZW5jaWxTdXBwb3J0ZWQo
KSk7Ci0gICAgICAgIG1fcmVuZGVyYnVmZmVyQmluZGluZy0+c2V0SW50ZXJuYWxGb3JtYXQoaW50
ZXJuYWxmb3JtYXQpOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBzeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCAicmVuZGVyYnVm
ZmVyU3RvcmFnZSIsICJpbnZhbGlkIGludGVybmFsZm9ybWF0Iik7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgYXBwbHlTdGVuY2lsVGVzdCgpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OmhpbnQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBtb2RlKQotewotICAgIGlm
IChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBib29sIGlz
VmFsaWQgPSBmYWxzZTsKLSAgICBzd2l0Y2ggKHRhcmdldCkgewotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OkdFTkVSQVRFX01JUE1BUF9ISU5UOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OkZSQUdNRU5UX1NIQURFUl9ERVJJVkFUSVZFX0hJTlQ6Ci0gICAgICAgIGlzVmFsaWQgPSB0
cnVlOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKCFpc1ZhbGlkKSB7Ci0gICAgICAg
IHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sICJoaW50
IiwgImludmFsaWQgdGFyZ2V0Iik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgbV9jb250
ZXh0LT5oaW50KHRhcmdldCwgbW9kZSk7Ci19Ci0KLUdDM0RlbnVtIFdlYkdMMlJlbmRlcmluZ0Nv
bnRleHQ6OmJhc2VJbnRlcm5hbEZvcm1hdEZyb21JbnRlcm5hbEZvcm1hdChHQzNEZW51bSBpbnRl
cm5hbGZvcm1hdCkKLXsKLSAgICAvLyBIYW5kbGVzIHNpemVkLCB1bnNpemVkLCBhbmQgY29tcHJl
c3NlZCBpbnRlcm5hbCBmb3JtYXRzLgotICAgIHN3aXRjaCAoaW50ZXJuYWxmb3JtYXQpIHsKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSODoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpSOF9TTk9STToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSMTZGOgotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlIzMkY6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Q09N
UFJFU1NFRF9SMTFfRUFDOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNTRURf
U0lHTkVEX1IxMV9FQUM6Ci0gICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHQzRDo6UkVEOwot
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlI4SToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSOFVJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIxNkk6Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6UjE2VUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UjMy
SToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSMzJVSToKLSAgICAgICAgcmV0dXJuIEdy
YXBoaWNzQ29udGV4dDNEOjpSRURfSU5URUdFUjsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpSRzg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ukc4X1NOT1JNOgotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlJHMTZGOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJH
MzJGOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNTRURfUkcxMV9FQUM6Ci0g
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Q09NUFJFU1NFRF9TSUdORURfUkcxMV9FQUM6Ci0g
ICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHQzRDo6Ukc7Ci0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6Ukc4SToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzhVSToKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzE2SToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpSRzE2VUk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkczMkk6Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6UkczMlVJOgotICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0
M0Q6OlJHX0lOVEVHRVI7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCODoKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0I4X1NOT1JNOgotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlJHQjU2NToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTUkdCODoKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0IxNkY6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6UkdCMzJGOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjoKLSAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpDT01QUkVTU0VEX1JHQjhfRVRDMjoKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpDT01QUkVTU0VEX1NSR0I4X0VUQzI6Ci0gICAgICAgIHJldHVybiBHcmFwaGlj
c0NvbnRleHQzRDo6UkdCOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjhJOgotICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjhVSToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSR0IxNkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMTZVSToKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0IzMkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6UkdCMzJVSToKLSAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JfSU5URUdF
UjsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBNDoKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSR0I1X0ExOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4Ogot
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4X1NOT1JNOgotICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0M0Q6OlJHQjEwX0EyOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNSR0I4
X0FMUEhBODoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMTZGOgotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEzMkY6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UkdCQToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDT01QUkVTU0VEX1JHQjhfUFVOQ0hU
SFJPVUdIX0FMUEhBMV9FVEMyOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNT
RURfU1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9FVEMyOgotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkNPTVBSRVNTRURfUkdCQThfRVRDMl9FQUM6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6Q09NUFJFU1NFRF9TUkdCOF9BTFBIQThfRVRDMl9FQUM6Ci0gICAgICAgIHJldHVybiBH
cmFwaGljc0NvbnRleHQzRDo6UkdCQTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JB
OEk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQThVSToKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpSR0IxMF9BMlVJOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJH
QkExNkk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQTE2VUk6Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6UkdCQTMySToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpS
R0JBMzJVSToKLSAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBX0lOVEVHRVI7
Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMTY6Ci0gICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMjQ6Ci0gICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMzJGOgotICAgICAgICByZXR1cm4gR3JhcGhpY3ND
b250ZXh0M0Q6OkRFUFRIX0NPTVBPTkVOVDsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpE
RVBUSDI0X1NURU5DSUw4OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIMzJGX1NU
RU5DSUw4OgotICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX1NURU5DSUw7
Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TFVNSU5BTkNFOgotICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0M0Q6OkxVTUlOQU5DRV9BTFBIQToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpBTFBIQToKLSAgICAgICAgcmV0dXJuIGludGVybmFsZm9ybWF0OwotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250
ZXh0M0Q6Ok5PTkU7Ci0gICAgfQotfQotCi1ib29sIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6Omlz
SW50ZWdlckZvcm1hdChHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCkKLXsKLSAgICBzd2l0Y2ggKGJh
c2VJbnRlcm5hbEZvcm1hdEZyb21JbnRlcm5hbEZvcm1hdChpbnRlcm5hbGZvcm1hdCkpIHsKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRURfSU5URUdFUjoKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSR19JTlRFR0VSOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQl9J
TlRFR0VSOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkFfSU5URUdFUjoKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotV2ViR0xBbnkg
V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0UGFyYW1ldGVyKEdDM0RlbnVtIHBuYW1lKQotewot
ICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotICAgIHN3aXRjaCAocG5hbWUpIHsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpBQ1RJ
VkVfVEVYVFVSRToKLSAgICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1l
KTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpBTElBU0VEX0xJTkVfV0lEVEhfUkFOR0U6
Ci0gICAgICAgIHJldHVybiBnZXRXZWJHTEZsb2F0QXJyYXlQYXJhbWV0ZXIocG5hbWUpOwotICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkFMSUFTRURfUE9JTlRfU0laRV9SQU5HRToKLSAgICAg
ICAgcmV0dXJuIGdldFdlYkdMRmxvYXRBcnJheVBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6QUxQSEFfQklUUzoKLSAgICAgICAgaWYgKCFtX2ZyYW1lYnVmZmVy
QmluZGluZyAmJiAhbV9hdHRyaWJ1dGVzLmFscGhhKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0g
ICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OkFSUkFZX0JVRkZFUl9CSU5ESU5HOgotICAgICAgICByZXR1cm4gbV9ib3VuZEFy
cmF5QnVmZmVyOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkJMRU5EOgotICAgICAgICBy
ZXR1cm4gZ2V0Qm9vbGVhblBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6QkxFTkRfQ09MT1I6Ci0gICAgICAgIHJldHVybiBnZXRXZWJHTEZsb2F0QXJyYXlQYXJh
bWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkJMRU5EX0RTVF9BTFBI
QToKLSAgICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpCTEVORF9EU1RfUkdCOgotICAgICAgICByZXR1cm4gZ2V0
VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OkJMRU5EX0VRVUFUSU9OX0FMUEhBOgotICAgICAgICByZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJh
bWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkJMRU5EX0VRVUFUSU9O
X1JHQjoKLSAgICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpCTEVORF9TUkNfQUxQSEE6Ci0gICAgICAgIHJldHVy
biBnZXRVbnNpZ25lZEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6QkxFTkRfU1JDX1JHQjoKLSAgICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1l
dGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpCTFVFX0JJVFM6Ci0gICAg
ICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkNPTE9SX0NMRUFSX1ZBTFVFOgotICAgICAgICByZXR1cm4gZ2V0V2ViR0xGbG9hdEFy
cmF5UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9X
UklURU1BU0s6Ci0gICAgICAgIHJldHVybiBnZXRCb29sZWFuQXJyYXlQYXJhbWV0ZXIocG5hbWUp
OwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNTRURfVEVYVFVSRV9GT1JNQVRT
OgotICAgICAgICByZXR1cm4gVWludDMyQXJyYXk6OnRyeUNyZWF0ZShtX2NvbXByZXNzZWRUZXh0
dXJlRm9ybWF0cy5kYXRhKCksIG1fY29tcHJlc3NlZFRleHR1cmVGb3JtYXRzLnNpemUoKSk7Ci0g
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Q1VMTF9GQUNFOgotICAgICAgICByZXR1cm4gZ2V0
Qm9vbGVhblBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Q1VM
TF9GQUNFX01PREU6Ci0gICAgICAgIHJldHVybiBnZXRVbnNpZ25lZEludFBhcmFtZXRlcihwbmFt
ZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Q1VSUkVOVF9QUk9HUkFNOgotICAgICAg
ICByZXR1cm4gbV9jdXJyZW50UHJvZ3JhbTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpE
RVBUSF9CSVRTOgotICAgICAgICBpZiAoIW1fZnJhbWVidWZmZXJCaW5kaW5nICYmICFtX2F0dHJp
YnV0ZXMuZGVwdGgpCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgcmV0dXJuIGdldElu
dFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfQ0xF
QVJfVkFMVUU6Ci0gICAgICAgIHJldHVybiBnZXRGbG9hdFBhcmFtZXRlcihwbmFtZSk7Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfRlVOQzoKLSAgICAgICAgcmV0dXJuIGdldFVu
c2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpE
RVBUSF9SQU5HRToKLSAgICAgICAgcmV0dXJuIGdldFdlYkdMRmxvYXRBcnJheVBhcmFtZXRlcihw
bmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfVEVTVDoKLSAgICAgICAg
cmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkRFUFRIX1dSSVRFTUFTSzoKLSAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0
ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRJVEhFUjoKLSAgICAgICAg
cmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkVMRU1FTlRfQVJSQVlfQlVGRkVSX0JJTkRJTkc6Ci0gICAgICAgIHJldHVybiBtYWtl
UmVmUHRyKG1fYm91bmRWZXJ0ZXhBcnJheU9iamVjdC0+Z2V0RWxlbWVudEFycmF5QnVmZmVyKCkp
OwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSX0JJTkRJTkc6Ci0gICAg
ICAgIHJldHVybiBtX2ZyYW1lYnVmZmVyQmluZGluZzsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpGUk9OVF9GQUNFOgotICAgICAgICByZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIo
cG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkdFTkVSQVRFX01JUE1BUF9ISU5U
OgotICAgICAgICByZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OkdSRUVOX0JJVFM6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQ
YXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OklNUExFTUVOVEFU
SU9OX0NPTE9SX1JFQURfRk9STUFUOgotICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBu
YW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpJTVBMRU1FTlRBVElPTl9DT0xPUl9S
RUFEX1RZUEU6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OkxJTkVfV0lEVEg6Ci0gICAgICAgIHJldHVybiBnZXRGbG9h
dFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX0NPTUJJ
TkVEX1RFWFRVUkVfSU1BR0VfVU5JVFM6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIo
cG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9DVUJFX01BUF9URVhUVVJF
X1NJWkU6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlM6Ci0gICAgICAg
IHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6Ok1BWF9SRU5ERVJCVUZGRVJfU0laRToKLSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRl
cihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1RFWFRVUkVfSU1BR0Vf
VU5JVFM6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9URVhUVVJFX1NJWkU6Ci0gICAgICAgIHJldHVybiBnZXRJ
bnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9WQVJZ
SU5HX1ZFQ1RPUlM6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9WRVJURVhfQVRUUklCUzoKLSAgICAgICAgcmV0
dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
TUFYX1ZFUlRFWF9URVhUVVJFX0lNQUdFX1VOSVRTOgotICAgICAgICByZXR1cm4gZ2V0SW50UGFy
YW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfVkVSVEVYX1VO
SUZPUk1fVkVDVE9SUzoKLSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7Ci0g
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1ZJRVdQT1JUX0RJTVM6Ci0gICAgICAgIHJl
dHVybiBnZXRXZWJHTEludEFycmF5UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpOVU1fU0hBREVSX0JJTkFSWV9GT1JNQVRTOgotICAgICAgICByZXR1cm4gZ2V0
SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpQQUNLX0FM
SUdOTUVOVDoKLSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6UE9MWUdPTl9PRkZTRVRfRkFDVE9SOgotICAgICAgICByZXR1
cm4gZ2V0RmxvYXRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlBPTFlHT05fT0ZGU0VUX0ZJTEw6Ci0gICAgICAgIHJldHVybiBnZXRCb29sZWFuUGFyYW1ldGVy
KHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpQT0xZR09OX09GRlNFVF9VTklU
UzoKLSAgICAgICAgcmV0dXJuIGdldEZsb2F0UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpSRURfQklUUzoKLSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRl
cihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkVOREVSQlVGRkVSX0JJTkRJ
Tkc6Ci0gICAgICAgIHJldHVybiBtX3JlbmRlcmJ1ZmZlckJpbmRpbmc7Ci0gICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6UkVOREVSRVI6Ci0gICAgICAgIHJldHVybiAiV2ViS2l0IFdlYkdMIl9z
dHI7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U0FNUExFX0JVRkZFUlM6Ci0gICAgICAg
IHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlNBTVBMRV9DT1ZFUkFHRV9JTlZFUlQ6Ci0gICAgICAgIHJldHVybiBnZXRCb29sZWFuUGFy
YW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTQU1QTEVfQ09WRVJB
R0VfVkFMVUU6Ci0gICAgICAgIHJldHVybiBnZXRGbG9hdFBhcmFtZXRlcihwbmFtZSk7Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U0FNUExFUzoKLSAgICAgICAgcmV0dXJuIGdldEludFBh
cmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U0NJU1NPUl9CT1g6
Ci0gICAgICAgIHJldHVybiBnZXRXZWJHTEludEFycmF5UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTQ0lTU09SX1RFU1Q6Ci0gICAgICAgIHJldHVybiBnZXRC
b29sZWFuUGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTSEFE
SU5HX0xBTkdVQUdFX1ZFUlNJT046Ci0gICAgICAgIHJldHVybiAiV2ViR0wgR0xTTCBFUyAxLjAg
KCIgKyBtX2NvbnRleHQtPmdldFN0cmluZyhHcmFwaGljc0NvbnRleHQzRDo6U0hBRElOR19MQU5H
VUFHRV9WRVJTSU9OKSArICIpIjsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lM
X0JBQ0tfRkFJTDoKLSAgICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1l
KTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX0JBQ0tfRlVOQzoKLSAgICAg
ICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpTVEVOQ0lMX0JBQ0tfUEFTU19ERVBUSF9GQUlMOgotICAgICAgICByZXR1
cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlNURU5DSUxfQkFDS19QQVNTX0RFUFRIX1BBU1M6Ci0gICAgICAgIHJldHVybiBnZXRV
bnNpZ25lZEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
U1RFTkNJTF9CQUNLX1JFRjoKLSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7
Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9CQUNLX1ZBTFVFX01BU0s6Ci0g
ICAgICAgIHJldHVybiBnZXRVbnNpZ25lZEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9CQUNLX1dSSVRFTUFTSzoKLSAgICAgICAgcmV0dXJu
IGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpTVEVOQ0lMX0JJVFM6Ci0gICAgICAgIGlmICghbV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYg
IW1fYXR0cmlidXRlcy5zdGVuY2lsKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJl
dHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlNURU5DSUxfQ0xFQVJfVkFMVUU6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5h
bWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUxfRkFJTDoKLSAgICAgICAg
cmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpTVEVOQ0lMX0ZVTkM6Ci0gICAgICAgIHJldHVybiBnZXRVbnNpZ25lZEludFBh
cmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9QQVNT
X0RFUFRIX0ZBSUw6Ci0gICAgICAgIHJldHVybiBnZXRVbnNpZ25lZEludFBhcmFtZXRlcihwbmFt
ZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9QQVNTX0RFUFRIX1BBU1M6
Ci0gICAgICAgIHJldHVybiBnZXRVbnNpZ25lZEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9SRUY6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQ
YXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUxfVEVT
VDoKLSAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUxfVkFMVUVfTUFTSzoKLSAgICAgICAgcmV0dXJuIGdl
dFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpTVEVOQ0lMX1dSSVRFTUFTSzoKLSAgICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1l
dGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVUJQSVhFTF9CSVRTOgot
ICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpURVhUVVJFX0JJTkRJTkdfMkQ6Ci0gICAgICAgIHJldHVybiBtX3RleHR1cmVV
bml0c1ttX2FjdGl2ZVRleHR1cmVVbml0XS50ZXh0dXJlMkRCaW5kaW5nOwotICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfQklORElOR19DVUJFX01BUDoKLSAgICAgICAgcmV0dXJu
IG1fdGV4dHVyZVVuaXRzW21fYWN0aXZlVGV4dHVyZVVuaXRdLnRleHR1cmVDdWJlTWFwQmluZGlu
ZzsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tfQUxJR05NRU5UOgotICAgICAg
ICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpVTlBBQ0tfRkxJUF9ZX1dFQkdMOgotICAgICAgICByZXR1cm4gbV91bnBhY2tGbGlwWTsK
LSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tfUFJFTVVMVElQTFlfQUxQSEFfV0VC
R0w6Ci0gICAgICAgIHJldHVybiBtX3VucGFja1ByZW11bHRpcGx5QWxwaGE7Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6VU5QQUNLX0NPTE9SU1BBQ0VfQ09OVkVSU0lPTl9XRUJHTDoKLSAg
ICAgICAgcmV0dXJuIG1fdW5wYWNrQ29sb3JzcGFjZUNvbnZlcnNpb247Ci0gICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6VkVORE9SOgotICAgICAgICByZXR1cm4gIldlYktpdCJfc3RyOwotICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlZFUlNJT046Ci0gICAgICAgIHJldHVybiAiV2ViR0wg
Mi4wIl9zdHI7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VklFV1BPUlQ6Ci0gICAgICAg
IHJldHVybiBnZXRXZWJHTEludEFycmF5UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIFdlYkdM
RGVidWdSZW5kZXJlckluZm86OlVOTUFTS0VEX1JFTkRFUkVSX1dFQkdMOgotICAgICAgICBpZiAo
bV93ZWJnbERlYnVnUmVuZGVyZXJJbmZvKSB7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAg
ICAgICAgICAgIHJldHVybiAiQXBwbGUgR1BVIl9zdHI7Ci0jZWxzZQotICAgICAgICAgICAgcmV0
dXJuIG1fY29udGV4dC0+Z2V0U3RyaW5nKEdyYXBoaWNzQ29udGV4dDNEOjpSRU5ERVJFUik7Ci0j
ZW5kaWYKLSAgICAgICAgfQotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRl
eHQzRDo6SU5WQUxJRF9FTlVNLCAiZ2V0UGFyYW1ldGVyIiwgImludmFsaWQgcGFyYW1ldGVyIG5h
bWUsIFdFQkdMX2RlYnVnX3JlbmRlcmVyX2luZm8gbm90IGVuYWJsZWQiKTsKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgY2FzZSBXZWJHTERlYnVnUmVuZGVyZXJJbmZvOjpVTk1BU0tFRF9W
RU5ET1JfV0VCR0w6Ci0gICAgICAgIGlmIChtX3dlYmdsRGVidWdSZW5kZXJlckluZm8pCi0gICAg
ICAgICAgICByZXR1cm4gbV9jb250ZXh0LT5nZXRTdHJpbmcoR3JhcGhpY3NDb250ZXh0M0Q6OlZF
TkRPUik7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZB
TElEX0VOVU0sICJnZXRQYXJhbWV0ZXIiLCAiaW52YWxpZCBwYXJhbWV0ZXIgbmFtZSwgV0VCR0xf
ZGVidWdfcmVuZGVyZXJfaW5mbyBub3QgZW5hYmxlZCIpOwotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLSAgICBjYXNlIEV4dGVuc2lvbnMzRDo6TUFYX1RFWFRVUkVfTUFYX0FOSVNPVFJPUFlfRVhU
OiAvLyBFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMKLSAgICAgICAgaWYgKG1fZXh0VGV4
dHVyZUZpbHRlckFuaXNvdHJvcGljKQotICAgICAgICAgICAgcmV0dXJuIGdldEZsb2F0UGFyYW1l
dGVyKEV4dGVuc2lvbnMzRDo6TUFYX1RFWFRVUkVfTUFYX0FOSVNPVFJPUFlfRVhUKTsKLSAgICAg
ICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgImdl
dFBhcmFtZXRlciIsICJpbnZhbGlkIHBhcmFtZXRlciBuYW1lLCBFWFRfdGV4dHVyZV9maWx0ZXJf
YW5pc290cm9waWMgbm90IGVuYWJsZWQiKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBR01FTlRfU0hBREVSX0RFUklWQVRJVkVfSElOVDoK
LSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6TUFYXzNEX1RFWFRVUkVfU0laRToKLSAgICAgICAgcmV0dXJuIGdldEludFBh
cmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX0FSUkFZX1RF
WFRVUkVfTEFZRVJTOgotICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfQ09MT1JfQVRUQUNITUVOVFM6Ci0gICAgICAg
IHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6Ok1BWF9DT01CSU5FRF9GUkFHTUVOVF9VTklGT1JNX0NPTVBPTkVOVFM6Ci0gICAgICAgIHJl
dHVybiBnZXRJbnQ2NFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6TUFYX0NPTUJJTkVEX1VOSUZPUk1fQkxPQ0tTOgotICAgICAgICByZXR1cm4gZ2V0SW50UGFy
YW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfQ09NQklORURf
VkVSVEVYX1VOSUZPUk1fQ09NUE9ORU5UUzoKLSAgICAgICAgcmV0dXJuIGdldEludDY0UGFyYW1l
dGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfRFJBV19CVUZGRVJT
OgotICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpNQVhfRUxFTUVOVF9JTkRFWDoKLSAgICAgICAgcmV0dXJuIGdldEludDY0
UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfRUxFTUVO
VFNfSU5ESUNFUzoKLSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX0VMRU1FTlRTX1ZFUlRJQ0VTOgotICAgICAgICBy
ZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpNQVhfRlJBR01FTlRfVU5JRk9STV9DT01QT05FTlRTOgotICAgICAgICByZXR1cm4gZ2V0SW50
UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfRlJBR01F
TlRfVU5JRk9STV9CTE9DS1M6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUp
OwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9QUk9HUkFNX1RFWEVMX09GRlNFVDoK
LSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6TUFYX1NBTVBMRVM6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIo
cG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9TRVJWRVJfV0FJVF9USU1F
T1VUOgotICAgICAgICByZXR1cm4gZ2V0SW50NjRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9URVhUVVJFX0xPRF9CSUFTOgotICAgICAgICByZXR1cm4g
Z2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhf
VFJBTlNGT1JNX0ZFRURCQUNLX0lOVEVSTEVBVkVEX0NPTVBPTkVOVFM6Ci0gICAgICAgIHJldHVy
biBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1B
WF9UUkFOU0ZPUk1fRkVFREJBQ0tfU0VQQVJBVEVfQVRUUklCUzoKLSAgICAgICAgcmV0dXJuIGdl
dEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1RS
QU5TRk9STV9GRUVEQkFDS19TRVBBUkFURV9DT01QT05FTlRTOgotICAgICAgICByZXR1cm4gZ2V0
SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfVU5J
Rk9STV9CTE9DS19TSVpFOgotICAgICAgICByZXR1cm4gZ2V0SW50NjRQYXJhbWV0ZXIocG5hbWUp
OwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9VTklGT1JNX0JVRkZFUl9CSU5ESU5H
UzoKLSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6TUFYX1ZBUllJTkdfQ09NUE9ORU5UUzoKLSAgICAgICAgcmV0dXJuIGdl
dEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1ZF
UlRFWF9PVVRQVVRfQ09NUE9ORU5UUzoKLSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihw
bmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1ZFUlRFWF9VTklGT1JNX0JM
T0NLUzoKLSAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6TUFYX1ZFUlRFWF9VTklGT1JNX0NPTVBPTkVOVFM6IAotICAgICAg
ICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCi0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUlOX1BST0dSQU1fVEVYRUxfT0ZGU0VU
OgotICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpQQUNLX1JPV19MRU5HVEg6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJh
bWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlBBQ0tfU0tJUF9QSVhF
TFM6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OlBBQ0tfU0tJUF9ST1dTOgotICAgICAgICByZXR1cm4gZ2V0SW50UGFy
YW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tfSU1BR0Vf
SEVJR0hUOgotICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tfUk9XX0xFTkdUSDoKLSAgICAgICAgcmV0dXJuIGdl
dEludFBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5QQUNL
X1NLSVBfSU1BR0VTOgotICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tfU0tJUF9QSVhFTFM6Ci0gICAgICAgIHJl
dHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlVOUEFDS19TS0lQX1JPV1M6Ci0gICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUp
OwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJBU1RFUklaRVJfRElTQ0FSRDoKLSAgICAg
ICAgcmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlNBTVBMRV9BTFBIQV9UT19DT1ZFUkFHRToKLSAgICAgICAgcmV0dXJuIGdldEJv
b2xlYW5QYXJhbWV0ZXIocG5hbWUpOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNBTVBM
RV9DT1ZFUkFHRToKLSAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0ZXIocG5hbWUpOwot
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlRSQU5TRk9STV9GRUVEQkFDS19BQ1RJVkU6Ci0g
ICAgICAgIHJldHVybiBnZXRCb29sZWFuUGFyYW1ldGVyKHBuYW1lKTsKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpUUkFOU0ZPUk1fRkVFREJBQ0tfUEFVU0VEOgotICAgICAgICByZXR1cm4g
Z2V0Qm9vbGVhblBhcmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
VU5JRk9STV9CVUZGRVJfT0ZGU0VUX0FMSUdOTUVOVDoKLSAgICAgICAgcmV0dXJuIGdldEludFBh
cmFtZXRlcihwbmFtZSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VkVSVEVYX0FSUkFZ
X0JJTkRJTkc6Ci0gICAgICAgIGlmIChtX2JvdW5kVmVydGV4QXJyYXlPYmplY3QtPmlzRGVmYXVs
dE9iamVjdCgpKQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVybiBt
YWtlUmVmUHRyKHN0YXRpY19jYXN0PFdlYkdMVmVydGV4QXJyYXlPYmplY3QmPigqbV9ib3VuZFZl
cnRleEFycmF5T2JqZWN0KSk7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19CVUZG
RVIwOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRSQVdfQlVGRkVSMToKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpEUkFXX0JVRkZFUjI6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6RFJBV19CVUZGRVIzOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRSQVdfQlVG
RkVSNDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpEUkFXX0JVRkZFUjU6Ci0gICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19CVUZGRVI2OgotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkRSQVdfQlVGRkVSNzoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpEUkFXX0JV
RkZFUjg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19CVUZGRVI5OgotICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRSQVdfQlVGRkVSMTA6Ci0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6RFJBV19CVUZGRVIxMToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpEUkFX
X0JVRkZFUjEyOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRSQVdfQlVGRkVSMTM6Ci0g
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19CVUZGRVIxNDoKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpEUkFXX0JVRkZFUjE1OgotICAgICAgICBpZiAobV9mcmFtZWJ1ZmZlckJp
bmRpbmcpCi0gICAgICAgICAgICByZXR1cm4gbV9mcmFtZWJ1ZmZlckJpbmRpbmctPmdldERyYXdC
dWZmZXIocG5hbWUpOwotICAgICAgICByZXR1cm4gbV9iYWNrRHJhd0J1ZmZlcjsgLy8gZW11bGF0
ZWQgYmFja2J1ZmZlcgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJFQURfRlJBTUVCVUZG
RVJfQklORElORzoKLSAgICAgICAgcmV0dXJuIG1fcmVhZEZyYW1lYnVmZmVyQmluZGluZzsKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDT1BZX1JFQURfQlVGRkVSOgotICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OkNPUFlfV1JJVEVfQlVGRkVSOgotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlBJWEVMX1BBQ0tfQlVGRkVSX0JJTkRJTkc6ICAgCi0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6UElYRUxfVU5QQUNLX0JVRkZFUl9CSU5ESU5HOgotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlJFQURfQlVGRkVSOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNBTVBM
RVJfQklORElORzoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFX0JJTkRJTkdf
MkRfQVJSQVk6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9CSU5ESU5HXzNE
OgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlRSQU5TRk9STV9GRUVEQkFDS19CVUZGRVJf
QklORElORzoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTklGT1JNX0JVRkZFUl9CSU5E
SU5HOgotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJ
RF9FTlVNLCAiZ2V0UGFyYW1ldGVyIiwgInBhcmFtZXRlciBuYW1lIG5vdCB5ZXQgc3VwcG9ydGVk
Iik7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sICJnZXRQYXJhbWV0
ZXIiLCAiaW52YWxpZCBwYXJhbWV0ZXIgbmFtZSIpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICB9Ci19Ci0KLWJvb2wgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVJbmRleEFy
cmF5Q29uc2VydmF0aXZlKEdDM0RlbnVtIHR5cGUsIHVuc2lnbmVkJiBudW1FbGVtZW50c1JlcXVp
cmVkKQotewotICAgIC8vIFBlcmZvcm1zIGNvbnNlcnZhdGl2ZSB2YWxpZGF0aW9uIGJ5IGNhY2hp
bmcgYSBtYXhpbXVtIGluZGV4IG9mCi0gICAgLy8gdGhlIGdpdmVuIHR5cGUgcGVyIGVsZW1lbnQg
YXJyYXkgYnVmZmVyLiBJZiBhbGwgb2YgdGhlIGJvdW5kCi0gICAgLy8gYXJyYXkgYnVmZmVycyBo
YXZlIGVub3VnaCBlbGVtZW50cyB0byBzYXRpc2Z5IHRoYXQgbWF4aW11bQotICAgIC8vIGluZGV4
LCBza2lwcyB0aGUgZXhwZW5zaXZlIHBlci1kcmF3LWNhbGwgaXRlcmF0aW9uIGluCi0gICAgLy8g
dmFsaWRhdGVJbmRleEFycmF5UHJlY2lzZS4KLSAgICAKLSAgICBSZWZQdHI8V2ViR0xCdWZmZXI+
IGVsZW1lbnRBcnJheUJ1ZmZlciA9IG1fYm91bmRWZXJ0ZXhBcnJheU9iamVjdC0+Z2V0RWxlbWVu
dEFycmF5QnVmZmVyKCk7Ci0gICAgCi0gICAgaWYgKCFlbGVtZW50QXJyYXlCdWZmZXIpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBHQzNEc2l6ZWlwdHIgbnVtRWxlbWVudHMgPSBl
bGVtZW50QXJyYXlCdWZmZXItPmJ5dGVMZW5ndGgoKTsKLSAgICAvLyBUaGUgY2FzZSBjb3VudD09
MCBpcyBhbHJlYWR5IGRlYWx0IHdpdGggaW4gZHJhd0VsZW1lbnRzIGJlZm9yZSB2YWxpZGF0ZUlu
ZGV4QXJyYXlDb25zZXJ2YXRpdmUuCi0gICAgaWYgKCFudW1FbGVtZW50cykKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGF1dG8gYnVmZmVyID0gZWxlbWVudEFycmF5QnVmZmVyLT5lbGVtZW50
QXJyYXlCdWZmZXIoKTsKLSAgICBBU1NFUlQoYnVmZmVyKTsKLSAgICAKLSAgICBPcHRpb25hbDx1
bnNpZ25lZD4gbWF4SW5kZXggPSBlbGVtZW50QXJyYXlCdWZmZXItPmdldENhY2hlZE1heEluZGV4
KHR5cGUpOwotICAgIGlmICghbWF4SW5kZXgpIHsKLSAgICAgICAgLy8gQ29tcHV0ZSB0aGUgbWF4
aW11bSBpbmRleCBpbiB0aGUgZW50aXJlIGJ1ZmZlciBmb3IgdGhlIGdpdmVuIHR5cGUgb2YgaW5k
ZXguCi0gICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpVTlNJR05FRF9CWVRFOgotICAgICAgICAgICAgbWF4SW5kZXggPSBnZXRNYXhJbmRleDxH
QzNEdWJ5dGU+KGJ1ZmZlciwgMCwgbnVtRWxlbWVudHMpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX1NIT1JUOgotICAgICAgICAg
ICAgbWF4SW5kZXggPSBnZXRNYXhJbmRleDxHQzNEdXNob3J0PihidWZmZXIsIDAsIG51bUVsZW1l
bnRzIC8gc2l6ZW9mKEdDM0R1c2hvcnQpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9JTlQ6Ci0gICAgICAgICAgICBtYXhJbmRl
eCA9IGdldE1heEluZGV4PEdDM0R1aW50PihidWZmZXIsIDAsIG51bUVsZW1lbnRzIC8gc2l6ZW9m
KEdDM0R1aW50KSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBpZiAobWF4SW5kZXgpCi0g
ICAgICAgICAgICBlbGVtZW50QXJyYXlCdWZmZXItPnNldENhY2hlZE1heEluZGV4KHR5cGUsIG1h
eEluZGV4LnZhbHVlKCkpOwotICAgIH0KLSAgICAKLSAgICBpZiAoIW1heEluZGV4KQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICAvLyBUaGUgbnVtYmVyIG9mIHJlcXVpcmVkIGVsZW1lbnRz
IGlzIG9uZSBtb3JlIHRoYW4gdGhlIG1heGltdW0KLSAgICAvLyBpbmRleCB0aGF0IHdpbGwgYmUg
YWNjZXNzZWQuCi0gICAgYXV0byBjaGVja2VkTnVtRWxlbWVudHNSZXF1aXJlZCA9IGNoZWNrZWRB
ZGRBbmRNdWx0aXBseTx1bnNpZ25lZD4obWF4SW5kZXgudmFsdWUoKSwgMSwgMSk7Ci0gICAgaWYg
KCFjaGVja2VkTnVtRWxlbWVudHNSZXF1aXJlZCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IG51bUVsZW1lbnRzUmVxdWlyZWQgPSBjaGVja2VkTnVtRWxlbWVudHNSZXF1aXJlZC52YWx1ZSgp
OwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
dmFsaWRhdGVCbGVuZEVxdWF0aW9uKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0g
bW9kZSkKLXsKLSAgICBzd2l0Y2ggKG1vZGUpIHsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpGVU5DX0FERDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGVU5DX1NVQlRSQUNUOgot
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkZVTkNfUkVWRVJTRV9TVUJUUkFDVDoKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNSU46Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
TUFYOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUs
ICJpbnZhbGlkIG1vZGUiKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQotYm9v
bCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUNhcGFiaWxpdHkoY29uc3QgY2hhciog
ZnVuY3Rpb25OYW1lLCBHQzNEZW51bSBjYXApCi17Ci0gICAgc3dpdGNoIChjYXApIHsKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpCTEVORDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpDVUxMX0ZBQ0U6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfVEVTVDoKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpESVRIRVI6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UE9MWUdPTl9PRkZTRVRfRklMTDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpT
QU1QTEVfQUxQSEFfVE9fQ09WRVJBR0U6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U0FN
UExFX0NPVkVSQUdFOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNDSVNTT1JfVEVTVDoK
LSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX1RFU1Q6Ci0gICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6UkFTVEVSSVpFUl9ESVNDQVJEOgotICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICBkZWZhdWx0OgotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGNhcGFiaWxpdHkiKTsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVN
RU5URUQgXV0gcmVhZFBpeGVscygpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQu
aAppbmRleCA5MmMxODMyYjllYzlhMzM1Y2Q5ODA1ZDkwMzk3NTI0M2MwZDMwMmMxLi5mYjYxZDJk
MjhhNmZmNjJjZTY4OWI1ZWQzMDk3MTQxMjg3NDg0YTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yNywyMDUgKzI3
LDY1IEBACiAKICNpZiBFTkFCTEUoV0VCR0wyKQogCi0jaW5jbHVkZSAiV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5oIgotI2luY2x1ZGUgPG1lbW9yeT4KKyNpbmNsdWRlICJXZWJHTDJSZW5kZXJp
bmdDb250ZXh0QmFzZS5oIgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvQXJyYXlCdWZmZXJWaWV3Lmg+CiAKLWNsYXNzIFdlYkdMUXVlcnk7Ci1jbGFzcyBX
ZWJHTFNhbXBsZXI7Ci1jbGFzcyBXZWJHTFN5bmM7Ci1jbGFzcyBXZWJHTFRyYW5zZm9ybUZlZWRi
YWNrOwotY2xhc3MgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdDsKK25hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgV2ViR0wyUmVuZGVyaW5nQ29udGV4dCBmaW5hbCA6IHB1YmxpYyBXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlIHsKK2NsYXNzIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQgZmluYWwgOiBw
dWJsaWMgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2UgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoV2ViR0wyUmVuZGVyaW5nQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxXZWJHTDJSZW5kZXJpbmdDb250ZXh0PiBjcmVhdGUoQ2FudmFzQmFzZSYsIEdy
YXBoaWNzQ29udGV4dDNEQXR0cmlidXRlcyk7CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0PiBjcmVhdGUoQ2FudmFzQmFzZSYsIFJlZjxHcmFwaGljc0Nv
bnRleHQzRD4mJiwgR3JhcGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzKTsKIAotICAgIC8vIEJ1ZmZl
ciBvYmplY3RzCi0gICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6YnVmZmVyRGF0
YTsKLSAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJTdWJEYXRhOwor
ICAgIHVzaW5nIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhOworICAgIHVz
aW5nIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJTdWJEYXRhOwogICAgIHZvaWQg
YnVmZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIGNvbnN0IEFycmF5QnVmZmVyVmlldyYgZGF0YSwg
R0MzRGVudW0gdXNhZ2UsIEdDM0R1aW50IHNyY09mZnNldCwgR0MzRHVpbnQgbGVuZ3RoKTsKICAg
ICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0MzRGVudW0gdGFyZ2V0LCBsb25nIGxvbmcgb2Zmc2V0LCBj
b25zdCBBcnJheUJ1ZmZlclZpZXcmIGRhdGEsIEdDM0R1aW50IHNyY09mZnNldCwgR0MzRHVpbnQg
bGVuZ3RoKTsKLSAgICB2b2lkIGNvcHlCdWZmZXJTdWJEYXRhKEdDM0RlbnVtIHJlYWRUYXJnZXQs
IEdDM0RlbnVtIHdyaXRlVGFyZ2V0LCBHQzNEaW50NjQgcmVhZE9mZnNldCwgR0MzRGludDY0IHdy
aXRlT2Zmc2V0LCBHQzNEaW50NjQgc2l6ZSk7Ci0gICAgdm9pZCBnZXRCdWZmZXJTdWJEYXRhKEdD
M0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIHNyY0J5dGVPZmZzZXQsIFJlZlB0cjxBcnJheUJ1ZmZl
clZpZXc+JiYgZHN0RGF0YSwgR0MzRHVpbnQgZHN0T2Zmc2V0ID0gMCwgR0MzRHVpbnQgbGVuZ3Ro
ID0gMCk7Ci0gICAgCi0gICAgLy8gRnJhbWVidWZmZXIgb2JqZWN0cwotICAgIFdlYkdMQW55IGdl
dEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVt
IGF0dGFjaG1lbnQsIEdDM0RlbnVtIHBuYW1lKSBmaW5hbDsKLSAgICB2b2lkIGJsaXRGcmFtZWJ1
ZmZlcihHQzNEaW50IHNyY1gwLCBHQzNEaW50IHNyY1kwLCBHQzNEaW50IHNyY1gxLCBHQzNEaW50
IHNyY1kxLCBHQzNEaW50IGRzdFgwLCBHQzNEaW50IGRzdFkwLCBHQzNEaW50IGRzdFgxLCBHQzNE
aW50IGRzdFkxLCBHQzNEYml0ZmllbGQgbWFzaywgR0MzRGVudW0gZmlsdGVyKTsKLSAgICB2b2lk
IGZyYW1lYnVmZmVyVGV4dHVyZUxheWVyKEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNo
bWVudCwgV2ViR0xUZXh0dXJlKiwgR0MzRGludCBsZXZlbCwgR0MzRGludCBsYXllcik7Ci0gICAg
V2ViR0xBbnkgZ2V0SW50ZXJuYWxmb3JtYXRQYXJhbWV0ZXIoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
ZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRGVudW0gcG5hbWUpOwotICAgIHZvaWQgaW52YWxpZGF0
ZUZyYW1lYnVmZmVyKEdDM0RlbnVtIHRhcmdldCwgY29uc3QgVmVjdG9yPEdDM0RlbnVtPiYgYXR0
YWNobWVudHMpOwotICAgIHZvaWQgaW52YWxpZGF0ZVN1YkZyYW1lYnVmZmVyKEdDM0RlbnVtIHRh
cmdldCwgY29uc3QgVmVjdG9yPEdDM0RlbnVtPiYgYXR0YWNobWVudHMsIEdDM0RpbnQgeCwgR0Mz
RGludCB5LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQpOwotICAgIHZvaWQgcmVh
ZEJ1ZmZlcihHQzNEZW51bSBzcmMpOwotICAgIAotICAgIC8vIFJlbmRlcmJ1ZmZlciBvYmplY3Rz
Ci0gICAgdm9pZCByZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEc2l6ZWkgc2FtcGxlcywgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3
aWR0aCwgR0MzRHNpemVpIGhlaWdodCk7Ci0gICAgCi0gICAgLy8gVGV4dHVyZSBvYmplY3RzCi0g
ICAgdm9pZCB0ZXhTdG9yYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEc2l6ZWkgbGV2ZWxzLCBH
QzNEZW51bSBpbnRlcm5hbEZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
KTsKLSAgICB2b2lkIHRleFN0b3JhZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RzaXplaSBsZXZl
bHMsIEdDM0RlbnVtIGludGVybmFsRm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBo
ZWlnaHQsIEdDM0RzaXplaSBkZXB0aCk7Ci0KLSNpZiBFTkFCTEUoVklERU8pCi0gICAgdXNpbmcg
VGV4SW1hZ2VTb3VyY2UgPSBXVEY6OlZhcmlhbnQ8UmVmUHRyPEltYWdlQml0bWFwPiwgUmVmUHRy
PEltYWdlRGF0YT4sIFJlZlB0cjxIVE1MSW1hZ2VFbGVtZW50PiwgUmVmUHRyPEhUTUxDYW52YXNF
bGVtZW50PiwgUmVmUHRyPEhUTUxWaWRlb0VsZW1lbnQ+PjsKLSNlbHNlCi0gICAgdXNpbmcgVGV4
SW1hZ2VTb3VyY2UgPSBXVEY6OlZhcmlhbnQ8UmVmUHRyPEltYWdlQml0bWFwPiwgUmVmUHRyPElt
YWdlRGF0YT4sIFJlZlB0cjxIVE1MSW1hZ2VFbGVtZW50PiwgUmVmUHRyPEhUTUxDYW52YXNFbGVt
ZW50Pj47Ci0jZW5kaWYKLQotICAgIHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRl
eEltYWdlMkQ7Ci0gICAgdm9pZCB0ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBs
ZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkg
aGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBH
QzNEaW50NjQgcGJvT2Zmc2V0KTsKLSAgICB2b2lkIHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgs
IEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0Rl
bnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwotICAgIHZvaWQgdGV4SW1hZ2UyRChHQzNEZW51
bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXpl
aSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEdDM0RlbnVtIGZvcm1h
dCwgR0MzRGVudW0gdHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBzcmNEYXRhLCBHQzNE
dWludCBzcmNPZmZzZXQpOwotCi0gICAgdm9pZCB0ZXhJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwg
R0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBH
QzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVyLCBHQzNEZW51
bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIEdDM0RpbnQ2NCBwYm9PZmZzZXQpOwotICAgIHZvaWQg
dGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgaW50ZXJu
YWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRl
cHRoLCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBUZXhJ
bWFnZVNvdXJjZSYmKTsKLSAgICB2b2lkIHRleEltYWdlM0QoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50IGxldmVsLCBHQzNEaW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0Rz
aXplaSBoZWlnaHQsIEdDM0RzaXplaSBkZXB0aCwgR0MzRGludCBib3JkZXIsIEdDM0RlbnVtIGZv
cm1hdCwgR0MzRGVudW0gdHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBwaXhlbHMpOwot
ICAgIHZvaWQgdGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rp
bnQgaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0Mz
RHNpemVpIGRlcHRoLCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0
eXBlLCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmIHNyY0RhdGEsIEdDM0R1aW50IHNyY09mZnNl
dCk7Ci0KLSAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp0ZXhTdWJJbWFnZTJE
OwotICAgIHZvaWQgdGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWws
IEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0Rz
aXplaSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgR0MzRGludDY0IHBi
b09mZnNldCk7Ci0gICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGlu
dCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RzaXplaSB3aWR0
aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBUZXhJ
bWFnZVNvdXJjZSYmKTsKLSAgICB2b2lkIHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBH
QzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVp
IHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUs
IFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYgc3JjRGF0YSwgR0MzRHVpbnQgc3JjT2Zmc2V0KTsK
LQotICAgIHZvaWQgdGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWws
IEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0Rz
aXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEZW51bSBm
b3JtYXQsIEdDM0RlbnVtIHR5cGUsIEdDM0RpbnQ2NCBwYm9PZmZzZXQpOwotICAgIHZvaWQgdGV4
U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNl
dCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RzaXplaSB3aWR0aCwgR0Mz
RHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVt
IHR5cGUsIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYgcGl4ZWxzLCBHQzNEdWludCBzcmNPZmZz
ZXQpOwotICAgIHZvaWQgdGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2
ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdD
M0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEZW51
bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwotCi0gICAgdm9pZCBj
b3B5VGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQg
eG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RpbnQgeCwgR0Mz
RGludCB5LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQpOwogCisgICAgdXNpbmcg
V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNvbXByZXNzZWRUZXhJbWFnZTJEOwogICAgIHZv
aWQgY29tcHJlc3NlZFRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBH
QzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEaW50IGJvcmRlciwgR0MzRHNpemVpIGltYWdlU2l6ZSwgR0MzRGludDY0IG9mZnNldCk7
Ci0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQg
bGV2ZWwsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXpl
aSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcmIGRhdGEsIEdDM0R1aW50
LCBHQzNEdWludCk7Ci0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UzRChHQzNEZW51bSB0YXJn
ZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lk
dGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RzaXplaSBkZXB0aCwgR0MzRGludCBib3JkZXIsIEdD
M0RzaXplaSBpbWFnZVNpemUsIEdDM0RpbnQ2NCBvZmZzZXQpOwotICAgIHZvaWQgY29tcHJlc3Nl
ZFRleEltYWdlM0QoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRl
cm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkg
ZGVwdGgsIEdDM0RpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcmIHNyY0RhdGEsIEdDM0R1aW50
IHNyY09mZnNldCwgR0MzRHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUpOwotCi0gICAgdm9pZCBjb21w
cmVzc2VkVGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rp
bnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RzaXplaSB3
aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEZW51bSBmb3JtYXQs
IEdDM0RzaXplaSBpbWFnZVNpemUsIEdDM0RpbnQ2NCBvZmZzZXQpOwotICAgIHZvaWQgY29tcHJl
c3NlZFRleFN1YkltYWdlM0QoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50
IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRGludCB6b2Zmc2V0LCBHQzNEc2l6ZWkgd2lk
dGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RzaXplaSBkZXB0aCwgR0MzRGVudW0gZm9ybWF0LCBB
cnJheUJ1ZmZlclZpZXcmIGRhdGEsIEdDM0R1aW50IHNyY09mZnNldCwgR0MzRHVpbnQgc3JjTGVu
Z3RoT3ZlcnJpZGUpOwotCi0gICAgLy8gUHJvZ3JhbXMgYW5kIHNoYWRlcnMKLSAgICBHQzNEaW50
IGdldEZyYWdEYXRhTG9jYXRpb24oV2ViR0xQcm9ncmFtJiwgY29uc3QgU3RyaW5nJiBuYW1lKTsK
LQotICAgIC8vIFVuaWZvcm1zIGFuZCBhdHRyaWJ1dGVzCi0gICAgdXNpbmcgVWludDMyTGlzdCA9
IFR5cGVkTGlzdDxVaW50MzJBcnJheSwgdWludDMyX3Q+OwotICAgIHVzaW5nIEZsb2F0MzJMaXN0
ID0gVHlwZWRMaXN0PEZsb2F0MzJBcnJheSwgZmxvYXQ+OwotICAgIHZvaWQgdW5pZm9ybTF1aShX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0R1aW50IHYwKTsKLSAgICB2b2lkIHVuaWZvcm0ydWko
V2ViR0xVbmlmb3JtTG9jYXRpb24qLCBHQzNEdWludCB2MCwgR0MzRHVpbnQgdjEpOwotICAgIHZv
aWQgdW5pZm9ybTN1aShXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0R1aW50IHYwLCBHQzNEdWlu
dCB2MSwgR0MzRHVpbnQgdjIpOwotICAgIHZvaWQgdW5pZm9ybTR1aShXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiosIEdDM0R1aW50IHYwLCBHQzNEdWludCB2MSwgR0MzRHVpbnQgdjIsIEdDM0R1aW50IHYz
KTsKLSAgICB2b2lkIHVuaWZvcm0xdWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgVWludDMyTGlz
dCYmIGRhdGEsIEdDM0R1aW50IHNyY09mZnNldCwgR0MzRHVpbnQgc3JjTGVuZ3RoKTsKLSAgICB2
b2lkIHVuaWZvcm0ydWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgVWludDMyTGlzdCYmIGRhdGEs
IEdDM0R1aW50IHNyY09mZnNldCwgR0MzRHVpbnQgc3JjTGVuZ3RoKTsKLSAgICB2b2lkIHVuaWZv
cm0zdWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgVWludDMyTGlzdCYmIGRhdGEsIEdDM0R1aW50
IHNyY09mZnNldCwgR0MzRHVpbnQgc3JjTGVuZ3RoKTsKLSAgICB2b2lkIHVuaWZvcm00dWl2KFdl
YkdMVW5pZm9ybUxvY2F0aW9uKiwgVWludDMyTGlzdCYmIGRhdGEsIEdDM0R1aW50IHNyY09mZnNl
dCwgR0MzRHVpbnQgc3JjTGVuZ3RoKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgyeDNmdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbiosIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QmJiB2
YWx1ZSwgR0MzRHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGgpOwotICAgIHZvaWQg
dW5pZm9ybU1hdHJpeDN4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgR0MzRGJvb2xlYW4gdHJh
bnNwb3NlLCBGbG9hdDMyTGlzdCYmIHZhbHVlLCBHQzNEdWludCBzcmNPZmZzZXQsIEdDM0R1aW50
IHNyY0xlbmd0aCk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4Mng0ZnYoV2ViR0xVbmlmb3JtTG9j
YXRpb24qLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0JiYgdmFsdWUsIEdDM0R1
aW50IHNyY09mZnNldCwgR0MzRHVpbnQgc3JjTGVuZ3RoKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRy
aXg0eDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgRmxv
YXQzMkxpc3QmJiB2YWx1ZSwgR0MzRHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGgp
OwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDN4NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgR0Mz
RGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCYmIHZhbHVlLCBHQzNEdWludCBzcmNPZmZz
ZXQsIEdDM0R1aW50IHNyY0xlbmd0aCk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4NHgzZnYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24qLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0JiYg
dmFsdWUsIEdDM0R1aW50IHNyY09mZnNldCwgR0MzRHVpbnQgc3JjTGVuZ3RoKTsKLSAgICB2b2lk
IHZlcnRleEF0dHJpYkk0aShHQzNEdWludCBpbmRleCwgR0MzRGludCB4LCBHQzNEaW50IHksIEdD
M0RpbnQgeiwgR0MzRGludCB3KTsKLSAgICB2b2lkIHZlcnRleEF0dHJpYkk0aXYoR0MzRHVpbnQg
aW5kZXgsIEludDMyTGlzdCYmIHYpOwotICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aShHQzNEdWlu
dCBpbmRleCwgR0MzRHVpbnQgeCwgR0MzRHVpbnQgeSwgR0MzRHVpbnQgeiwgR0MzRHVpbnQgdyk7
Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJNHVpdihHQzNEdWludCBpbmRleCwgVWludDMyTGlzdCYm
IHYpOwotICAgIHZvaWQgdmVydGV4QXR0cmliSVBvaW50ZXIoR0MzRHVpbnQgaW5kZXgsIEdDM0Rp
bnQgc2l6ZSwgR0MzRGVudW0gdHlwZSwgR0MzRHNpemVpIHN0cmlkZSwgR0MzRGludDY0IG9mZnNl
dCk7Ci0gICAgCi0gICAgLy8gV3JpdGluZyB0byB0aGUgZHJhd2luZyBidWZmZXIKLSAgICB2b2lk
IGNsZWFyKEdDM0RiaXRmaWVsZCBtYXNrKSBmaW5hbDsKLSAgICB2b2lkIHZlcnRleEF0dHJpYkRp
dmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpOwotICAgIHZvaWQgZHJhd0Fy
cmF5c0luc3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNEaW50IGZpcnN0LCBHQzNEc2l6ZWkgY291
bnQsIEdDM0RzaXplaSBpbnN0YW5jZUNvdW50KTsKLSAgICB2b2lkIGRyYXdFbGVtZW50c0luc3Rh
bmNlZChHQzNEZW51bSBtb2RlLCBHQzNEc2l6ZWkgY291bnQsIEdDM0RlbnVtIHR5cGUsIEdDM0Rp
bnQ2NCBvZmZzZXQsIEdDM0RzaXplaSBpbnN0YW5jZUNvdW50KTsKLSAgICB2b2lkIGRyYXdSYW5n
ZUVsZW1lbnRzKEdDM0RlbnVtIG1vZGUsIEdDM0R1aW50IHN0YXJ0LCBHQzNEdWludCBlbmQsIEdD
M0RzaXplaSBjb3VudCwgR0MzRGVudW0gdHlwZSwgR0MzRGludDY0IG9mZnNldCk7Ci0gICAgCi0g
ICAgLy8gTXVsdGlwbGUgcmVuZGVyIHRhcmdldHMKLSAgICB2b2lkIGRyYXdCdWZmZXJzKGNvbnN0
IFZlY3RvcjxHQzNEZW51bT4mIGJ1ZmZlcnMpOwotICAgIHZvaWQgY2xlYXJCdWZmZXJpdihHQzNE
ZW51bSBidWZmZXIsIEdDM0RpbnQgZHJhd2J1ZmZlciwgSW50MzJMaXN0JiYgdmFsdWVzLCBHQzNE
dWludCBzcmNPZmZzZXQpOwotICAgIHZvaWQgY2xlYXJCdWZmZXJ1aXYoR0MzRGVudW0gYnVmZmVy
LCBHQzNEaW50IGRyYXdidWZmZXIsIFVpbnQzMkxpc3QmJiB2YWx1ZXMsIEdDM0R1aW50IHNyY09m
ZnNldCk7Ci0gICAgdm9pZCBjbGVhckJ1ZmZlcmZ2KEdDM0RlbnVtIGJ1ZmZlciwgR0MzRGludCBk
cmF3YnVmZmVyLCBGbG9hdDMyTGlzdCYmIHZhbHVlcywgR0MzRHVpbnQgc3JjT2Zmc2V0KTsKLSAg
ICB2b2lkIGNsZWFyQnVmZmVyZmkoR0MzRGVudW0gYnVmZmVyLCBHQzNEaW50IGRyYXdidWZmZXIs
IEdDM0RmbG9hdCBkZXB0aCwgR0MzRGludCBzdGVuY2lsKTsKLSAgICAKLSAgICAvLyBRdWVyeSBv
YmplY3RzCi0gICAgUmVmUHRyPFdlYkdMUXVlcnk+IGNyZWF0ZVF1ZXJ5KCk7Ci0gICAgdm9pZCBk
ZWxldGVRdWVyeShXZWJHTFF1ZXJ5Kik7Ci0gICAgR0MzRGJvb2xlYW4gaXNRdWVyeShXZWJHTFF1
ZXJ5Kik7Ci0gICAgdm9pZCBiZWdpblF1ZXJ5KEdDM0RlbnVtIHRhcmdldCwgV2ViR0xRdWVyeSYp
OwotICAgIHZvaWQgZW5kUXVlcnkoR0MzRGVudW0gdGFyZ2V0KTsKLSAgICBSZWZQdHI8V2ViR0xR
dWVyeT4gZ2V0UXVlcnkoR0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBwbmFtZSk7Ci0gICAgV2Vi
R0xBbnkgZ2V0UXVlcnlQYXJhbWV0ZXIoV2ViR0xRdWVyeSYsIEdDM0RlbnVtIHBuYW1lKTsKLSAg
ICAKLSAgICAvLyBTYW1wbGVyIG9iamVjdHMKLSAgICBSZWZQdHI8V2ViR0xTYW1wbGVyPiBjcmVh
dGVTYW1wbGVyKCk7Ci0gICAgdm9pZCBkZWxldGVTYW1wbGVyKFdlYkdMU2FtcGxlciopOwotICAg
IEdDM0Rib29sZWFuIGlzU2FtcGxlcihXZWJHTFNhbXBsZXIqKTsKLSAgICB2b2lkIGJpbmRTYW1w
bGVyKEdDM0R1aW50IHVuaXQsIFdlYkdMU2FtcGxlciopOwotICAgIHZvaWQgc2FtcGxlclBhcmFt
ZXRlcmkoV2ViR0xTYW1wbGVyJiwgR0MzRGVudW0gcG5hbWUsIEdDM0RpbnQgcGFyYW0pOwotICAg
IHZvaWQgc2FtcGxlclBhcmFtZXRlcmYoV2ViR0xTYW1wbGVyJiwgR0MzRGVudW0gcG5hbWUsIEdD
M0RmbG9hdCBwYXJhbSk7Ci0gICAgV2ViR0xBbnkgZ2V0U2FtcGxlclBhcmFtZXRlcihXZWJHTFNh
bXBsZXImLCBHQzNEZW51bSBwbmFtZSk7Ci0gICAgCi0gICAgLy8gU3luYyBvYmplY3RzCi0gICAg
UmVmUHRyPFdlYkdMU3luYz4gZmVuY2VTeW5jKEdDM0RlbnVtIGNvbmRpdGlvbiwgR0MzRGJpdGZp
ZWxkIGZsYWdzKTsKLSAgICBHQzNEYm9vbGVhbiBpc1N5bmMoV2ViR0xTeW5jKik7Ci0gICAgdm9p
ZCBkZWxldGVTeW5jKFdlYkdMU3luYyopOwotICAgIEdDM0RlbnVtIGNsaWVudFdhaXRTeW5jKFdl
YkdMU3luYyYsIEdDM0RiaXRmaWVsZCBmbGFncywgR0MzRHVpbnQ2NCB0aW1lb3V0KTsKLSAgICB2
b2lkIHdhaXRTeW5jKFdlYkdMU3luYyYsIEdDM0RiaXRmaWVsZCBmbGFncywgR0MzRGludDY0IHRp
bWVvdXQpOwotICAgIFdlYkdMQW55IGdldFN5bmNQYXJhbWV0ZXIoV2ViR0xTeW5jJiwgR0MzRGVu
dW0gcG5hbWUpOwotICAgIAotICAgIC8vIFRyYW5zZm9ybSBmZWVkYmFjawotICAgIFJlZlB0cjxX
ZWJHTFRyYW5zZm9ybUZlZWRiYWNrPiBjcmVhdGVUcmFuc2Zvcm1GZWVkYmFjaygpOwotICAgIHZv
aWQgZGVsZXRlVHJhbnNmb3JtRmVlZGJhY2soV2ViR0xUcmFuc2Zvcm1GZWVkYmFjayogaWQpOwot
ICAgIEdDM0Rib29sZWFuIGlzVHJhbnNmb3JtRmVlZGJhY2soV2ViR0xUcmFuc2Zvcm1GZWVkYmFj
ayogaWQpOwotICAgIHZvaWQgYmluZFRyYW5zZm9ybUZlZWRiYWNrKEdDM0RlbnVtIHRhcmdldCwg
V2ViR0xUcmFuc2Zvcm1GZWVkYmFjayogaWQpOwotICAgIHZvaWQgYmVnaW5UcmFuc2Zvcm1GZWVk
YmFjayhHQzNEZW51bSBwcmltaXRpdmVNb2RlKTsKLSAgICB2b2lkIGVuZFRyYW5zZm9ybUZlZWRi
YWNrKCk7Ci0gICAgdm9pZCB0cmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKFdlYkdMUHJvZ3JhbSYs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB2YXJ5aW5ncywgR0MzRGVudW0gYnVmZmVyTW9kZSk7Ci0g
ICAgUmVmUHRyPFdlYkdMQWN0aXZlSW5mbz4gZ2V0VHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nKFdl
YkdMUHJvZ3JhbSYsIEdDM0R1aW50IGluZGV4KTsKLSAgICB2b2lkIHBhdXNlVHJhbnNmb3JtRmVl
ZGJhY2soKTsKLSAgICB2b2lkIHJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrKCk7Ci0gICAgCi0gICAg
Ly8gVW5pZm9ybSBidWZmZXIgb2JqZWN0cyBhbmQgdHJhbnNmb3JtIGZlZWRiYWNrIGJ1ZmZlcnMK
LSAgICB2b2lkIGJpbmRCdWZmZXJCYXNlKEdDM0RlbnVtIHRhcmdldCwgR0MzRHVpbnQgaW5kZXgs
IFdlYkdMQnVmZmVyKik7Ci0gICAgdm9pZCBiaW5kQnVmZmVyUmFuZ2UoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEdWludCBpbmRleCwgV2ViR0xCdWZmZXIqLCBHQzNEaW50NjQgb2Zmc2V0LCBHQzNEaW50
NjQgc2l6ZSk7Ci0gICAgV2ViR0xBbnkgZ2V0SW5kZXhlZFBhcmFtZXRlcihHQzNEZW51bSB0YXJn
ZXQsIEdDM0R1aW50IGluZGV4KTsKLSAgICBPcHRpb25hbDxWZWN0b3I8R0MzRHVpbnQ+PiBnZXRV
bmlmb3JtSW5kaWNlcyhXZWJHTFByb2dyYW0mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdW5pZm9y
bU5hbWVzKTsKLSAgICBXZWJHTEFueSBnZXRBY3RpdmVVbmlmb3JtcyhXZWJHTFByb2dyYW0mLCBj
b25zdCBWZWN0b3I8R0MzRHVpbnQ+JiB1bmlmb3JtSW5kaWNlcywgR0MzRGVudW0gcG5hbWUpOwot
ICAgIEdDM0R1aW50IGdldFVuaWZvcm1CbG9ja0luZGV4KFdlYkdMUHJvZ3JhbSYsIGNvbnN0IFN0
cmluZyYgdW5pZm9ybUJsb2NrTmFtZSk7Ci0gICAgV2ViR0xBbnkgZ2V0QWN0aXZlVW5pZm9ybUJs
b2NrUGFyYW1ldGVyKFdlYkdMUHJvZ3JhbSYsIEdDM0R1aW50IHVuaWZvcm1CbG9ja0luZGV4LCBH
QzNEZW51bSBwbmFtZSk7Ci0gICAgV2ViR0xBbnkgZ2V0QWN0aXZlVW5pZm9ybUJsb2NrTmFtZShX
ZWJHTFByb2dyYW0mLCBHQzNEdWludCB1bmlmb3JtQmxvY2tJbmRleCk7Ci0gICAgdm9pZCB1bmlm
b3JtQmxvY2tCaW5kaW5nKFdlYkdMUHJvZ3JhbSYsIEdDM0R1aW50IHVuaWZvcm1CbG9ja0luZGV4
LCBHQzNEdWludCB1bmlmb3JtQmxvY2tCaW5kaW5nKTsKLSAgICAKLSAgICAvLyBWZXJ0ZXggYXJy
YXkgb2JqZWN0cwotICAgIFJlZlB0cjxXZWJHTFZlcnRleEFycmF5T2JqZWN0PiBjcmVhdGVWZXJ0
ZXhBcnJheSgpOwotICAgIHZvaWQgZGVsZXRlVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhBcnJheU9i
amVjdCogdmVydGV4QXJyYXkpOwotICAgIEdDM0Rib29sZWFuIGlzVmVydGV4QXJyYXkoV2ViR0xW
ZXJ0ZXhBcnJheU9iamVjdCogdmVydGV4QXJyYXkpOwotICAgIHZvaWQgYmluZFZlcnRleEFycmF5
KFdlYkdMVmVydGV4QXJyYXlPYmplY3QqIHZlcnRleEFycmF5KTsKLSAgICAKLSAgICBXZWJHTEV4
dGVuc2lvbiogZ2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYpIGZpbmFsOwotICAgIE9wdGlvbmFs
PFZlY3RvcjxTdHJpbmc+PiBnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKCkgZmluYWw7Ci0gICAgV2Vi
R0xBbnkgZ2V0UGFyYW1ldGVyKEdDM0RlbnVtIHBuYW1lKSBmaW5hbDsKLQotICAgIHZvaWQgcmVu
ZGVyYnVmZmVyU3RvcmFnZShHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0
LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQpIGZpbmFsOwotICAgIHZvaWQgaGlu
dChHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIG1vZGUpIGZpbmFsOworICAgIHZvaWQgY29tcHJl
c3NlZFRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBp
bnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEaW50
IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3JiBzcmNEYXRhLCBHQzNEdWludCBzcmNPZmZzZXQsIEdD
M0R1aW50IHNyY0xlbmd0aE92ZXJyaWRlKTsKKworICAgIHVzaW5nIFdlYkdMMlJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRDsKKyAgICB2b2lkIGNvbXByZXNzZWRU
ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBH
TGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1h
dCwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRyIG9mZnNldCk7CisgICAgdm9pZCBjb21wcmVz
c2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNl
dCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBm
b3JtYXQsIEFycmF5QnVmZmVyVmlldyYgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50
IHNyY0xlbmd0aE92ZXJyaWRlKTsKKworICAgIHVzaW5nIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRC
YXNlOjp1bmlmb3JtMWZ2OworICAgIHVzaW5nIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp1
bmlmb3JtMmZ2OworICAgIHVzaW5nIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3Jt
M2Z2OworICAgIHVzaW5nIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtNGZ2Owor
ICAgIHZvaWQgdW5pZm9ybTFmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0
MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpOworICAgIHZv
aWQgdW5pZm9ybTJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0
IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5p
Zm9ybTNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEs
IEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTRm
dihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWlu
dCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpOworCisgICAgdXNpbmcgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnVuaWZvcm0xaXY7CisgICAgdXNpbmcgV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OnVuaWZvcm0yaXY7CisgICAgdXNpbmcgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJh
c2U6OnVuaWZvcm0zaXY7CisgICAgdXNpbmcgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVu
aWZvcm00aXY7CisgICAgdm9pZCB1bmlmb3JtMWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2Nh
dGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgp
OworICAgIHZvaWQgdW5pZm9ybTJpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIElu
dDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKTsKKyAgICB2
b2lkIHVuaWZvcm0zaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQzMkxpc3Qg
ZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCk7CisgICAgdm9pZCB1bmlm
b3JtNGl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpOworCisgICAgdXNpbmcgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRyaXgyZnY7CisgICAgdXNpbmcgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRyaXgzZnY7CisgICAgdXNpbmcgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRyaXg0ZnY7CisgICAgdm9pZCB1bmlmb3JtTWF0
cml4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9z
ZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCk7
CisgICAgdm9pZCB1bmlmb3JtTWF0cml4M2Z2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlv
biwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNl
dCwgR0x1aW50IHNyY0xlbmd0aCk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4NGZ2KFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3Qg
ZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCk7CisKKyAgICB1c2luZyBX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6cmVhZFBpeGVsczsKKyAgICB2b2lkIHJlYWRQaXhl
bHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51
bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQpOworICAgIHZvaWQgcmVhZFBp
eGVscyhHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xl
bnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyYgZHN0RGF0YSwgR0x1aW50
IGRzdE9mZnNldCk7CiAKIHByaXZhdGU6CiAgICAgV2ViR0wyUmVuZGVyaW5nQ29udGV4dChDYW52
YXNCYXNlJiwgR3JhcGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzKTsKICAgICBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0KENhbnZhc0Jhc2UmLCBSZWY8R3JhcGhpY3NDb250ZXh0M0Q+JiYsIEdyYXBoaWNz
Q29udGV4dDNEQXR0cmlidXRlcyk7CiAKICAgICBib29sIGlzV2ViR0wyKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gdHJ1ZTsgfQotCi0gICAgdm9pZCBpbml0aWFsaXplVmVydGV4QXJyYXlPYmplY3Rz
KCkgZmluYWw7Ci0gICAgR0MzRGludCBnZXRNYXhEcmF3QnVmZmVycygpIGZpbmFsOwotICAgIEdD
M0RpbnQgZ2V0TWF4Q29sb3JBdHRhY2htZW50cygpIGZpbmFsOwotICAgIGJvb2wgdmFsaWRhdGVJ
bmRleEFycmF5Q29uc2VydmF0aXZlKEdDM0RlbnVtIHR5cGUsIHVuc2lnbmVkJiBudW1FbGVtZW50
c1JlcXVpcmVkKSBmaW5hbDsKLSAgICBib29sIHZhbGlkYXRlQmxlbmRFcXVhdGlvbihjb25zdCBj
aGFyKiBmdW5jdGlvbk5hbWUsIEdDM0RlbnVtIG1vZGUpIGZpbmFsOwotICAgIGJvb2wgdmFsaWRh
dGVDYXBhYmlsaXR5KGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gY2FwKSBmaW5h
bDsKLSAgICBib29sIHZhbGlkYXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycyhjb25zdCBjaGFy
KiBmdW5jdGlvbk5hbWUsIEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNobWVudCkgZmlu
YWw7Ci0gICAgYm9vbCB2YWxpZGF0ZUZyYW1lYnVmZmVyVGFyZ2V0KGNvbnN0IGNoYXIqIGZ1bmN0
aW9uTmFtZSwgR0MzRGVudW0gdGFyZ2V0KTsKLSAgICBib29sIHZhbGlkYXRlTm9uRGVmYXVsdEZy
YW1lYnVmZmVyQXR0YWNobWVudChjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDM0RlbnVtIGF0
dGFjaG1lbnQpOwotICAgIAotICAgIEdDM0RlbnVtIGJhc2VJbnRlcm5hbEZvcm1hdEZyb21JbnRl
cm5hbEZvcm1hdChHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCk7Ci0gICAgYm9vbCBpc0ludGVnZXJG
b3JtYXQoR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQpOwotICAgIHZvaWQgaW5pdGlhbGl6ZVNoYWRl
ckV4dGVuc2lvbnMoKTsKLQotICAgIGJvb2wgdmFsaWRhdGVUZXhTdG9yYWdlRnVuY1BhcmFtZXRl
cnMoR0MzRGVudW0gdGFyZ2V0LCBHQzNEc2l6ZWkgbGV2ZWxzLCBHQzNEZW51bSBpbnRlcm5hbEZv
cm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBjb25zdCBjaGFyKiBmdW5j
dGlvbk5hbWUpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmlkbAppbmRleCBk
YTcwMGU3YjI5Yzc5ZDUxYTI5ZGU1OGU0MmRmZWQ5MDhjMWRiZjI0Li40ZmFmYWY5OThhNTFmNWMx
YzY3OGVmOTNlYmVkYmQyZTZkM2M2YjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmlkbApAQCAtNTcsNDI4ICs1Nyw0NSBA
QCB0eXBlZGVmIChJbWFnZUJpdG1hcCBvciBJbWFnZURhdGEgb3IgSFRNTEltYWdlRWxlbWVudCBv
ciBIVE1MQ2FudmFzRWxlbWVudCkgVGV4SQogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAg
IEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIERvTm90Q2hlY2tDb25zdGFudHMsCisgICAgRXhw
b3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAgICAgQ2FsbFRyYWNpbmdDYWxsYmFjaz1yZWNvcmRD
YW52YXNBY3Rpb24sCiBdIGludGVyZmFjZSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IHsKLSAgICBj
b25zdCBHTGVudW0gUkVBRF9CVUZGRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMHgwQzAyOwotICAgIGNvbnN0IEdMZW51bSBVTlBBQ0tfUk9XX0xFTkdUSCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDBDRjI7Ci0gICAgY29uc3QgR0xlbnVtIFVOUEFDS19TS0lQ
X1JPV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MENGMzsKLSAgICBjb25zdCBH
TGVudW0gVU5QQUNLX1NLSVBfUElYRUxTICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgw
Q0Y0OwotICAgIGNvbnN0IEdMZW51bSBQQUNLX1JPV19MRU5HVEggICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDBEMDI7Ci0gICAgY29uc3QgR0xlbnVtIFBBQ0tfU0tJUF9ST1dTICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MEQwMzsKLSAgICBjb25zdCBHTGVudW0g
UEFDS19TS0lQX1BJWEVMUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwRDA0Owot
ICAgIGNvbnN0IEdMZW51bSBDT0xPUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAweDE4MDA7Ci0gICAgY29uc3QgR0xlbnVtIERFUFRIICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDB4MTgwMTsKLSAgICBjb25zdCBHTGVudW0gU1RFTkNJ
TCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgxODAyOwotICAgIGNv
bnN0IEdMZW51bSBSRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSAweDE5MDM7Ci0gICAgY29uc3QgR0xlbnVtIFJHQjggICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4ODA1MTsKLSAgICBjb25zdCBHTGVudW0gUkdCQTggICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MDU4OwotICAgIGNvbnN0IEdM
ZW51bSBSR0IxMF9BMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgw
NTk7Ci0gICAgY29uc3QgR0xlbnVtIFRFWFRVUkVfQklORElOR18zRCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDB4ODA2QTsKLSAgICBjb25zdCBHTGVudW0gVU5QQUNLX1NLSVBfSU1BR0VT
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MDZEOwotICAgIGNvbnN0IEdMZW51bSBV
TlBBQ0tfSU1BR0VfSEVJR0hUICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgwNkU7Ci0g
ICAgY29uc3QgR0xlbnVtIFRFWFRVUkVfM0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4ODA2RjsKLSAgICBjb25zdCBHTGVudW0gVEVYVFVSRV9XUkFQX1IgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMHg4MDcyOwotICAgIGNvbnN0IEdMZW51bSBNQVhfM0Rf
VEVYVFVSRV9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgwNzM7Ci0gICAgY29u
c3QgR0xlbnVtIFVOU0lHTkVEX0lOVF8yXzEwXzEwXzEwX1JFViAgICAgICAgICAgICAgICAgICA9
IDB4ODM2ODsKLSAgICBjb25zdCBHTGVudW0gTUFYX0VMRU1FTlRTX1ZFUlRJQ0VTICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMHg4MEU4OwotICAgIGNvbnN0IEdMZW51bSBNQVhfRUxFTUVOVFNf
SU5ESUNFUyAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgwRTk7Ci0gICAgY29uc3QgR0xl
bnVtIFRFWFRVUkVfTUlOX0xPRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODEz
QTsKLSAgICBjb25zdCBHTGVudW0gVEVYVFVSRV9NQVhfTE9EICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMHg4MTNCOwotICAgIGNvbnN0IEdMZW51bSBURVhUVVJFX0JBU0VfTEVWRUwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgxM0M7Ci0gICAgY29uc3QgR0xlbnVtIFRF
WFRVUkVfTUFYX0xFVkVMICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODEzRDsKLSAg
ICBjb25zdCBHTGVudW0gTUlOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHg4MDA3OwotICAgIGNvbnN0IEdMZW51bSBNQVggICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDgwMDg7Ci0gICAgY29uc3QgR0xlbnVtIERFUFRIX0NP
TVBPTkVOVDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODFBNjsKLSAgICBjb25z
dCBHTGVudW0gTUFYX1RFWFRVUkVfTE9EX0JJQVMgICAgICAgICAgICAgICAgICAgICAgICAgID0g
MHg4NEZEOwotICAgIGNvbnN0IEdMZW51bSBURVhUVVJFX0NPTVBBUkVfTU9ERSAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAweDg4NEM7Ci0gICAgY29uc3QgR0xlbnVtIFRFWFRVUkVfQ09NUEFS
RV9GVU5DICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODg0RDsKLSAgICBjb25zdCBHTGVu
dW0gQ1VSUkVOVF9RVUVSWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4ODY1
OwotICAgIGNvbnN0IEdMZW51bSBRVUVSWV9SRVNVTFQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDg4NjY7Ci0gICAgY29uc3QgR0xlbnVtIFFVRVJZX1JFU1VMVF9BVkFJTEFC
TEUgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODg2NzsKLSAgICBjb25zdCBHTGVudW0gU1RS
RUFNX1JFQUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4OEUxOwotICAg
IGNvbnN0IEdMZW51bSBTVFJFQU1fQ09QWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDg4RTI7Ci0gICAgY29uc3QgR0xlbnVtIFNUQVRJQ19SRUFEICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDB4ODhFNTsKLSAgICBjb25zdCBHTGVudW0gU1RBVElDX0NP
UFkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4OEU2OwotICAgIGNvbnN0
IEdMZW51bSBEWU5BTUlDX1JFQUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAw
eDg4RTk7Ci0gICAgY29uc3QgR0xlbnVtIERZTkFNSUNfQ09QWSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDB4ODhFQTsKLSAgICBjb25zdCBHTGVudW0gTUFYX0RSQVdfQlVGRkVS
UyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4ODI0OwotICAgIGNvbnN0IEdMZW51
bSBEUkFXX0JVRkZFUjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4MjU7
Ci0gICAgY29uc3QgR0xlbnVtIERSQVdfQlVGRkVSMSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDB4ODgyNjsKLSAgICBjb25zdCBHTGVudW0gRFJBV19CVUZGRVIyICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4ODI3OwotICAgIGNvbnN0IEdMZW51bSBEUkFX
X0JVRkZFUjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4Mjg7Ci0gICAg
Y29uc3QgR0xlbnVtIERSQVdfQlVGRkVSNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDB4ODgyOTsKLSAgICBjb25zdCBHTGVudW0gRFJBV19CVUZGRVI1ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gMHg4ODJBOwotICAgIGNvbnN0IEdMZW51bSBEUkFXX0JVRkZF
UjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4MkI7Ci0gICAgY29uc3Qg
R0xlbnVtIERSQVdfQlVGRkVSNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4
ODgyQzsKLSAgICBjb25zdCBHTGVudW0gRFJBV19CVUZGRVI4ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMHg4ODJEOwotICAgIGNvbnN0IEdMZW51bSBEUkFXX0JVRkZFUjkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4MkU7Ci0gICAgY29uc3QgR0xlbnVt
IERSQVdfQlVGRkVSMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODgyRjsK
LSAgICBjb25zdCBHTGVudW0gRFJBV19CVUZGRVIxMSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMHg4ODMwOwotICAgIGNvbnN0IEdMZW51bSBEUkFXX0JVRkZFUjEyICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4MzE7Ci0gICAgY29uc3QgR0xlbnVtIERSQVdf
QlVGRkVSMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODgzMjsKLSAgICBj
b25zdCBHTGVudW0gRFJBV19CVUZGRVIxNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMHg4ODMzOwotICAgIGNvbnN0IEdMZW51bSBEUkFXX0JVRkZFUjE1ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDg4MzQ7Ci0gICAgY29uc3QgR0xlbnVtIE1BWF9GUkFHTUVO
VF9VTklGT1JNX0NPTVBPTkVOVFMgICAgICAgICAgICAgICA9IDB4OEI0OTsKLSAgICBjb25zdCBH
TGVudW0gTUFYX1ZFUlRFWF9VTklGT1JNX0NPTVBPTkVOVFMgICAgICAgICAgICAgICAgID0gMHg4
QjRBOwotICAgIGNvbnN0IEdMZW51bSBTQU1QTEVSXzNEICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDhCNUY7Ci0gICAgY29uc3QgR0xlbnVtIFNBTVBMRVJfMkRfU0hBRE9X
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEI2MjsKLSAgICBjb25zdCBHTGVudW0g
RlJBR01FTlRfU0hBREVSX0RFUklWQVRJVkVfSElOVCAgICAgICAgICAgICAgID0gMHg4QjhCOwot
ICAgIGNvbnN0IEdMZW51bSBQSVhFTF9QQUNLX0JVRkZFUiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAweDg4RUI7Ci0gICAgY29uc3QgR0xlbnVtIFBJWEVMX1VOUEFDS19CVUZGRVIgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODhFQzsKLSAgICBjb25zdCBHTGVudW0gUElYRUxf
UEFDS19CVUZGRVJfQklORElORyAgICAgICAgICAgICAgICAgICAgID0gMHg4OEVEOwotICAgIGNv
bnN0IEdMZW51bSBQSVhFTF9VTlBBQ0tfQlVGRkVSX0JJTkRJTkcgICAgICAgICAgICAgICAgICAg
PSAweDg4RUY7Ci0gICAgY29uc3QgR0xlbnVtIEZMT0FUX01BVDJ4MyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4OEI2NTsKLSAgICBjb25zdCBHTGVudW0gRkxPQVRfTUFUMng0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QjY2OwotICAgIGNvbnN0IEdM
ZW51bSBGTE9BVF9NQVQzeDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhC
Njc7Ci0gICAgY29uc3QgR0xlbnVtIEZMT0FUX01BVDN4NCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDB4OEI2ODsKLSAgICBjb25zdCBHTGVudW0gRkxPQVRfTUFUNHgyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QjY5OwotICAgIGNvbnN0IEdMZW51bSBG
TE9BVF9NQVQ0eDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhCNkE7Ci0g
ICAgY29uc3QgR0xlbnVtIFNSR0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4OEM0MDsKLSAgICBjb25zdCBHTGVudW0gU1JHQjggICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMHg4QzQxOwotICAgIGNvbnN0IEdMZW51bSBTUkdCOF9B
TFBIQTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDNDM7Ci0gICAgY29u
c3QgR0xlbnVtIENPTVBBUkVfUkVGX1RPX1RFWFRVUkUgICAgICAgICAgICAgICAgICAgICAgICA9
IDB4ODg0RTsKLSAgICBjb25zdCBHTGVudW0gUkdCQTMyRiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMHg4ODE0OwotICAgIGNvbnN0IEdMZW51bSBSR0IzMkYgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4MTU7Ci0gICAgY29uc3QgR0xl
bnVtIFJHQkExNkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODgx
QTsKLSAgICBjb25zdCBHTGVudW0gUkdCMTZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMHg4ODFCOwotICAgIGNvbnN0IEdMZW51bSBWRVJURVhfQVRUUklCX0FSUkFZ
X0lOVEVHRVIgICAgICAgICAgICAgICAgICAgPSAweDg4RkQ7Ci0gICAgY29uc3QgR0xlbnVtIE1B
WF9BUlJBWV9URVhUVVJFX0xBWUVSUyAgICAgICAgICAgICAgICAgICAgICA9IDB4ODhGRjsKLSAg
ICBjb25zdCBHTGVudW0gTUlOX1BST0dSQU1fVEVYRUxfT0ZGU0VUICAgICAgICAgICAgICAgICAg
ICAgID0gMHg4OTA0OwotICAgIGNvbnN0IEdMZW51bSBNQVhfUFJPR1JBTV9URVhFTF9PRkZTRVQg
ICAgICAgICAgICAgICAgICAgICAgPSAweDg5MDU7Ci0gICAgY29uc3QgR0xlbnVtIE1BWF9WQVJZ
SU5HX0NPTVBPTkVOVFMgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEI0QjsKLSAgICBjb25z
dCBHTGVudW0gVEVYVFVSRV8yRF9BUlJBWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
MHg4QzFBOwotICAgIGNvbnN0IEdMZW51bSBURVhUVVJFX0JJTkRJTkdfMkRfQVJSQVkgICAgICAg
ICAgICAgICAgICAgICAgPSAweDhDMUQ7Ci0gICAgY29uc3QgR0xlbnVtIFIxMUZfRzExRl9CMTBG
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEMzQTsKLSAgICBjb25zdCBHTGVu
dW0gVU5TSUdORURfSU5UXzEwRl8xMUZfMTFGX1JFViAgICAgICAgICAgICAgICAgID0gMHg4QzNC
OwotICAgIGNvbnN0IEdMZW51bSBSR0I5X0U1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDhDM0Q7Ci0gICAgY29uc3QgR0xlbnVtIFVOU0lHTkVEX0lOVF81XzlfOV85
X1JFViAgICAgICAgICAgICAgICAgICAgICA9IDB4OEMzRTsKLSAgICBjb25zdCBHTGVudW0gVFJB
TlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9NT0RFICAgICAgICAgICAgICAgID0gMHg4QzdGOwotICAg
IGNvbnN0IEdMZW51bSBNQVhfVFJBTlNGT1JNX0ZFRURCQUNLX1NFUEFSQVRFX0NPTVBPTkVOVFMg
ICAgPSAweDhDODA7Ci0gICAgY29uc3QgR0xlbnVtIFRSQU5TRk9STV9GRUVEQkFDS19WQVJZSU5H
UyAgICAgICAgICAgICAgICAgICA9IDB4OEM4MzsKLSAgICBjb25zdCBHTGVudW0gVFJBTlNGT1JN
X0ZFRURCQUNLX0JVRkZFUl9TVEFSVCAgICAgICAgICAgICAgID0gMHg4Qzg0OwotICAgIGNvbnN0
IEdMZW51bSBUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX1NJWkUgICAgICAgICAgICAgICAgPSAw
eDhDODU7Ci0gICAgY29uc3QgR0xlbnVtIFRSQU5TRk9STV9GRUVEQkFDS19QUklNSVRJVkVTX1dS
SVRURU4gICAgICAgICA9IDB4OEM4ODsKLSAgICBjb25zdCBHTGVudW0gUkFTVEVSSVpFUl9ESVND
QVJEICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4Qzg5OwotICAgIGNvbnN0IEdMZW51
bSBNQVhfVFJBTlNGT1JNX0ZFRURCQUNLX0lOVEVSTEVBVkVEX0NPTVBPTkVOVFMgPSAweDhDOEE7
Ci0gICAgY29uc3QgR0xlbnVtIE1BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfU0VQQVJBVEVfQVRUUklC
UyAgICAgICA9IDB4OEM4QjsKLSAgICBjb25zdCBHTGVudW0gSU5URVJMRUFWRURfQVRUUklCUyAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QzhDOwotICAgIGNvbnN0IEdMZW51bSBTRVBB
UkFURV9BVFRSSUJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDOEQ7Ci0gICAg
Y29uc3QgR0xlbnVtIFRSQU5TRk9STV9GRUVEQkFDS19CVUZGRVIgICAgICAgICAgICAgICAgICAg
ICA9IDB4OEM4RTsKLSAgICBjb25zdCBHTGVudW0gVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9C
SU5ESU5HICAgICAgICAgICAgID0gMHg4QzhGOwotICAgIGNvbnN0IEdMZW51bSBSR0JBMzJVSSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhENzA7Ci0gICAgY29uc3Qg
R0xlbnVtIFJHQjMyVUkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4
OEQ3MTsKLSAgICBjb25zdCBHTGVudW0gUkdCQTE2VUkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMHg4RDc2OwotICAgIGNvbnN0IEdMZW51bSBSR0IxNlVJICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhENzc7Ci0gICAgY29uc3QgR0xlbnVt
IFJHQkE4VUkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ3QzsK
LSAgICBjb25zdCBHTGVudW0gUkdCOFVJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMHg4RDdEOwotICAgIGNvbnN0IEdMZW51bSBSR0JBMzJJICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhEODI7Ci0gICAgY29uc3QgR0xlbnVtIFJHQjMy
SSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ4MzsKLSAgICBj
b25zdCBHTGVudW0gUkdCQTE2SSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMHg4RDg4OwotICAgIGNvbnN0IEdMZW51bSBSR0IxNkkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDhEODk7Ci0gICAgY29uc3QgR0xlbnVtIFJHQkE4SSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ4RTsKLSAgICBjb25zdCBH
TGVudW0gUkdCOEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4
RDhGOwotICAgIGNvbnN0IEdMZW51bSBSRURfSU5URUdFUiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDhEOTQ7Ci0gICAgY29uc3QgR0xlbnVtIFJHQl9JTlRFR0VSICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ5ODsKLSAgICBjb25zdCBHTGVudW0g
UkdCQV9JTlRFR0VSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4RDk5Owot
ICAgIGNvbnN0IEdMZW51bSBTQU1QTEVSXzJEX0FSUkFZICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAweDhEQzE7Ci0gICAgY29uc3QgR0xlbnVtIFNBTVBMRVJfMkRfQVJSQVlfU0hBRE9X
ICAgICAgICAgICAgICAgICAgICAgICA9IDB4OERDNDsKLSAgICBjb25zdCBHTGVudW0gU0FNUExF
Ul9DVUJFX1NIQURPVyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4REM1OwotICAgIGNv
bnN0IEdMZW51bSBVTlNJR05FRF9JTlRfVkVDMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSAweDhEQzY7Ci0gICAgY29uc3QgR0xlbnVtIFVOU0lHTkVEX0lOVF9WRUMzICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4OERDNzsKLSAgICBjb25zdCBHTGVudW0gVU5TSUdORURfSU5U
X1ZFQzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4REM4OwotICAgIGNvbnN0IEdM
ZW51bSBJTlRfU0FNUExFUl8yRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhE
Q0E7Ci0gICAgY29uc3QgR0xlbnVtIElOVF9TQU1QTEVSXzNEICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDB4OERDQjsKLSAgICBjb25zdCBHTGVudW0gSU5UX1NBTVBMRVJfQ1VCRSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4RENDOwotICAgIGNvbnN0IEdMZW51bSBJ
TlRfU0FNUExFUl8yRF9BUlJBWSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhEQ0Y7Ci0g
ICAgY29uc3QgR0xlbnVtIFVOU0lHTkVEX0lOVF9TQU1QTEVSXzJEICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4OEREMjsKLSAgICBjb25zdCBHTGVudW0gVU5TSUdORURfSU5UX1NBTVBMRVJfM0Qg
ICAgICAgICAgICAgICAgICAgICAgID0gMHg4REQzOwotICAgIGNvbnN0IEdMZW51bSBVTlNJR05F
RF9JTlRfU0FNUExFUl9DVUJFICAgICAgICAgICAgICAgICAgICAgPSAweDhERDQ7Ci0gICAgY29u
c3QgR0xlbnVtIFVOU0lHTkVEX0lOVF9TQU1QTEVSXzJEX0FSUkFZICAgICAgICAgICAgICAgICA9
IDB4OERENzsKLSAgICBjb25zdCBHTGVudW0gREVQVEhfQ09NUE9ORU5UMzJGICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMHg4Q0FDOwotICAgIGNvbnN0IEdMZW51bSBERVBUSDMyRl9TVEVO
Q0lMOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDQUQ7Ci0gICAgY29uc3QgR0xl
bnVtIEZMT0FUXzMyX1VOU0lHTkVEX0lOVF8yNF84X1JFViAgICAgICAgICAgICAgICA9IDB4OERB
RDsKLSAgICBjb25zdCBHTGVudW0gRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9DT0xPUl9FTkNPRElO
RyAgICAgICAgID0gMHg4MjEwOwotICAgIGNvbnN0IEdMZW51bSBGUkFNRUJVRkZFUl9BVFRBQ0hN
RU5UX0NPTVBPTkVOVF9UWVBFICAgICAgICAgPSAweDgyMTE7Ci0gICAgY29uc3QgR0xlbnVtIEZS
QU1FQlVGRkVSX0FUVEFDSE1FTlRfUkVEX1NJWkUgICAgICAgICAgICAgICA9IDB4ODIxMjsKLSAg
ICBjb25zdCBHTGVudW0gRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9HUkVFTl9TSVpFICAgICAgICAg
ICAgID0gMHg4MjEzOwotICAgIGNvbnN0IEdMZW51bSBGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0JM
VUVfU0laRSAgICAgICAgICAgICAgPSAweDgyMTQ7Ci0gICAgY29uc3QgR0xlbnVtIEZSQU1FQlVG
RkVSX0FUVEFDSE1FTlRfQUxQSEFfU0laRSAgICAgICAgICAgICA9IDB4ODIxNTsKLSAgICBjb25z
dCBHTGVudW0gRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9ERVBUSF9TSVpFICAgICAgICAgICAgID0g
MHg4MjE2OwotICAgIGNvbnN0IEdMZW51bSBGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1NURU5DSUxf
U0laRSAgICAgICAgICAgPSAweDgyMTc7Ci0gICAgY29uc3QgR0xlbnVtIEZSQU1FQlVGRkVSX0RF
RkFVTFQgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODIxODsKLSAgICBjb25zdCBHTGVu
dW0gREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UICAgICAgICAgICAgICAgICAgICAgID0gMHg4MjFB
OwotICAgIGNvbnN0IEdMZW51bSBERVBUSF9TVEVOQ0lMICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDg0Rjk7Ci0gICAgY29uc3QgR0xlbnVtIFVOU0lHTkVEX0lOVF8yNF84ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODRGQTsKLSAgICBjb25zdCBHTGVudW0gREVQ
VEgyNF9TVEVOQ0lMOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4OEYwOwotICAg
IGNvbnN0IEdMZW51bSBVTlNJR05FRF9OT1JNQUxJWkVEICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDhDMTc7Ci0gICAgY29uc3QgR0xlbnVtIERSQVdfRlJBTUVCVUZGRVJfQklORElORyAg
ICAgICAgICAgICAgICAgICAgICA9IDB4OENBNjsgLyogU2FtZSBhcyBGUkFNRUJVRkZFUl9CSU5E
SU5HICovCi0gICAgY29uc3QgR0xlbnVtIFJFQURfRlJBTUVCVUZGRVIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDB4OENBODsKLSAgICBjb25zdCBHTGVudW0gRFJBV19GUkFNRUJVRkZF
UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4Q0E5OwotICAgIGNvbnN0IEdMZW51
bSBSRUFEX0ZSQU1FQlVGRkVSX0JJTkRJTkcgICAgICAgICAgICAgICAgICAgICAgPSAweDhDQUE7
Ci0gICAgY29uc3QgR0xlbnVtIFJFTkRFUkJVRkZFUl9TQU1QTEVTICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDB4OENBQjsKLSAgICBjb25zdCBHTGVudW0gRlJBTUVCVUZGRVJfQVRUQUNITUVO
VF9URVhUVVJFX0xBWUVSICAgICAgICAgID0gMHg4Q0Q0OwotICAgIGNvbnN0IEdMZW51bSBNQVhf
Q09MT1JfQVRUQUNITUVOVFMgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDREY7Ci0gICAg
Y29uc3QgR0xlbnVtIENPTE9SX0FUVEFDSE1FTlQxICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDB4OENFMTsKLSAgICBjb25zdCBHTGVudW0gQ09MT1JfQVRUQUNITUVOVDIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gMHg4Q0UyOwotICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRB
Q0hNRU5UMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDRTM7Ci0gICAgY29uc3Qg
R0xlbnVtIENPTE9SX0FUVEFDSE1FTlQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4
OENFNDsKLSAgICBjb25zdCBHTGVudW0gQ09MT1JfQVRUQUNITUVOVDUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMHg4Q0U1OwotICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRBQ0hNRU5U
NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDRTY7Ci0gICAgY29uc3QgR0xlbnVt
IENPTE9SX0FUVEFDSE1FTlQ3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OENFNzsK
LSAgICBjb25zdCBHTGVudW0gQ09MT1JfQVRUQUNITUVOVDggICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMHg4Q0U4OwotICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRBQ0hNRU5UOSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDRTk7Ci0gICAgY29uc3QgR0xlbnVtIENPTE9S
X0FUVEFDSE1FTlQxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OENFQTsKLSAgICBj
b25zdCBHTGVudW0gQ09MT1JfQVRUQUNITUVOVDExICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMHg4Q0VCOwotICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRBQ0hNRU5UMTIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDhDRUM7Ci0gICAgY29uc3QgR0xlbnVtIENPTE9SX0FUVEFD
SE1FTlQxMyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OENFRDsKLSAgICBjb25zdCBH
TGVudW0gQ09MT1JfQVRUQUNITUVOVDE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4
Q0VFOwotICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRBQ0hNRU5UMTUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDhDRUY7Ci0gICAgY29uc3QgR0xlbnVtIEZSQU1FQlVGRkVSX0lOQ09N
UExFVEVfTVVMVElTQU1QTEUgICAgICAgICAgICA9IDB4OEQ1NjsKLSAgICBjb25zdCBHTGVudW0g
TUFYX1NBTVBMRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4RDU3Owot
ICAgIGNvbnN0IEdMZW51bSBIQUxGX0ZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAweDE0MEI7Ci0gICAgY29uc3QgR0xlbnVtIFJHICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODIyNzsKLSAgICBjb25zdCBHTGVudW0gUkdfSU5U
RUdFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MjI4OwotICAgIGNv
bnN0IEdMZW51bSBSOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSAweDgyMjk7Ci0gICAgY29uc3QgR0xlbnVtIFJHOCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4ODIyQjsKLSAgICBjb25zdCBHTGVudW0gUjE2RiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MjJEOwotICAgIGNvbnN0IEdM
ZW51bSBSMzJGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgy
MkU7Ci0gICAgY29uc3QgR0xlbnVtIFJHMTZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDB4ODIyRjsKLSAgICBjb25zdCBHTGVudW0gUkczMkYgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MjMwOwotICAgIGNvbnN0IEdMZW51bSBS
OEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgyMzE7Ci0g
ICAgY29uc3QgR0xlbnVtIFI4VUkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4ODIzMjsKLSAgICBjb25zdCBHTGVudW0gUjE2SSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMHg4MjMzOwotICAgIGNvbnN0IEdMZW51bSBSMTZVSSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgyMzQ7Ci0gICAgY29u
c3QgR0xlbnVtIFIzMkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDB4ODIzNTsKLSAgICBjb25zdCBHTGVudW0gUjMyVUkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMHg4MjM2OwotICAgIGNvbnN0IEdMZW51bSBSRzhJICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgyMzc7Ci0gICAgY29uc3QgR0xl
bnVtIFJHOFVJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODIz
ODsKLSAgICBjb25zdCBHTGVudW0gUkcxNkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMHg4MjM5OwotICAgIGNvbnN0IEdMZW51bSBSRzE2VUkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgyM0E7Ci0gICAgY29uc3QgR0xlbnVtIFJH
MzJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODIzQjsKLSAg
ICBjb25zdCBHTGVudW0gUkczMlVJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHg4MjNDOwotICAgIGNvbnN0IEdMZW51bSBWRVJURVhfQVJSQVlfQklORElORyAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDg1QjU7Ci0gICAgY29uc3QgR0xlbnVtIFI4X1NOT1JN
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEY5NDsKLSAgICBjb25z
dCBHTGVudW0gUkc4X1NOT1JNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
MHg4Rjk1OwotICAgIGNvbnN0IEdMZW51bSBSR0I4X1NOT1JNICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAweDhGOTY7Ci0gICAgY29uc3QgR0xlbnVtIFJHQkE4X1NOT1JNICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEY5NzsKLSAgICBjb25zdCBHTGVu
dW0gU0lHTkVEX05PUk1BTElaRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4RjlD
OwotICAgIGNvbnN0IEdMZW51bSBDT1BZX1JFQURfQlVGRkVSICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDhGMzY7Ci0gICAgY29uc3QgR0xlbnVtIENPUFlfV1JJVEVfQlVGRkVSICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEYzNzsKLSAgICBjb25zdCBHTGVudW0gQ09Q
WV9SRUFEX0JVRkZFUl9CSU5ESU5HICAgICAgICAgICAgICAgICAgICAgID0gMHg4RjM2OyAvKiBT
YW1lIGFzIENPUFlfUkVBRF9CVUZGRVIgKi8KLSAgICBjb25zdCBHTGVudW0gQ09QWV9XUklURV9C
VUZGRVJfQklORElORyAgICAgICAgICAgICAgICAgICAgID0gMHg4RjM3OyAvKiBTYW1lIGFzIENP
UFlfV1JJVEVfQlVGRkVSICovCi0gICAgY29uc3QgR0xlbnVtIFVOSUZPUk1fQlVGRkVSICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEExMTsKLSAgICBjb25zdCBHTGVudW0gVU5J
Rk9STV9CVUZGRVJfQklORElORyAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QTI4OwotICAg
IGNvbnN0IEdMZW51bSBVTklGT1JNX0JVRkZFUl9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDhBMjk7Ci0gICAgY29uc3QgR0xlbnVtIFVOSUZPUk1fQlVGRkVSX1NJWkUgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDB4OEEyQTsKLSAgICBjb25zdCBHTGVudW0gTUFYX1ZFUlRF
WF9VTklGT1JNX0JMT0NLUyAgICAgICAgICAgICAgICAgICAgID0gMHg4QTJCOwotICAgIGNvbnN0
IEdMZW51bSBNQVhfRlJBR01FTlRfVU5JRk9STV9CTE9DS1MgICAgICAgICAgICAgICAgICAgPSAw
eDhBMkQ7Ci0gICAgY29uc3QgR0xlbnVtIE1BWF9DT01CSU5FRF9VTklGT1JNX0JMT0NLUyAgICAg
ICAgICAgICAgICAgICA9IDB4OEEyRTsKLSAgICBjb25zdCBHTGVudW0gTUFYX1VOSUZPUk1fQlVG
RkVSX0JJTkRJTkdTICAgICAgICAgICAgICAgICAgID0gMHg4QTJGOwotICAgIGNvbnN0IEdMZW51
bSBNQVhfVU5JRk9STV9CTE9DS19TSVpFICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhBMzA7
Ci0gICAgY29uc3QgR0xlbnVtIE1BWF9DT01CSU5FRF9WRVJURVhfVU5JRk9STV9DT01QT05FTlRT
ICAgICAgICA9IDB4OEEzMTsKLSAgICBjb25zdCBHTGVudW0gTUFYX0NPTUJJTkVEX0ZSQUdNRU5U
X1VOSUZPUk1fQ09NUE9ORU5UUyAgICAgID0gMHg4QTMzOwotICAgIGNvbnN0IEdMZW51bSBVTklG
T1JNX0JVRkZFUl9PRkZTRVRfQUxJR05NRU5UICAgICAgICAgICAgICAgPSAweDhBMzQ7Ci0gICAg
Y29uc3QgR0xlbnVtIEFDVElWRV9VTklGT1JNX0JMT0NLUyAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDB4OEEzNjsKLSAgICBjb25zdCBHTGVudW0gVU5JRk9STV9UWVBFICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gMHg4QTM3OwotICAgIGNvbnN0IEdMZW51bSBVTklGT1JNX1NJ
WkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhBMzg7Ci0gICAgY29uc3Qg
R0xlbnVtIFVOSUZPUk1fQkxPQ0tfSU5ERVggICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4
OEEzQTsKLSAgICBjb25zdCBHTGVudW0gVU5JRk9STV9PRkZTRVQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMHg4QTNCOwotICAgIGNvbnN0IEdMZW51bSBVTklGT1JNX0FSUkFZX1NU
UklERSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhBM0M7Ci0gICAgY29uc3QgR0xlbnVt
IFVOSUZPUk1fTUFUUklYX1NUUklERSAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEEzRDsK
LSAgICBjb25zdCBHTGVudW0gVU5JRk9STV9JU19ST1dfTUFKT1IgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMHg4QTNFOwotICAgIGNvbnN0IEdMZW51bSBVTklGT1JNX0JMT0NLX0JJTkRJTkcg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhBM0Y7Ci0gICAgY29uc3QgR0xlbnVtIFVOSUZP
Uk1fQkxPQ0tfREFUQV9TSVpFICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEE0MDsKLSAgICBj
b25zdCBHTGVudW0gVU5JRk9STV9CTE9DS19BQ1RJVkVfVU5JRk9STVMgICAgICAgICAgICAgICAg
ID0gMHg4QTQyOwotICAgIGNvbnN0IEdMZW51bSBVTklGT1JNX0JMT0NLX0FDVElWRV9VTklGT1JN
X0lORElDRVMgICAgICAgICAgPSAweDhBNDM7Ci0gICAgY29uc3QgR0xlbnVtIFVOSUZPUk1fQkxP
Q0tfUkVGRVJFTkNFRF9CWV9WRVJURVhfU0hBREVSICAgICA9IDB4OEE0NDsKLSAgICBjb25zdCBH
TGVudW0gVU5JRk9STV9CTE9DS19SRUZFUkVOQ0VEX0JZX0ZSQUdNRU5UX1NIQURFUiAgID0gMHg4
QTQ2OwotICAgIGNvbnN0IEdMZW51bSBJTlZBTElEX0lOREVYICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweEZGRkZGRkZGOwotICAgIGNvbnN0IEdMZW51bSBNQVhfVkVSVEVYX09V
VFBVVF9DT01QT05FTlRTICAgICAgICAgICAgICAgICAgPSAweDkxMjI7Ci0gICAgY29uc3QgR0xl
bnVtIE1BWF9GUkFHTUVOVF9JTlBVVF9DT01QT05FTlRTICAgICAgICAgICAgICAgICA9IDB4OTEy
NTsKLSAgICBjb25zdCBHTGVudW0gTUFYX1NFUlZFUl9XQUlUX1RJTUVPVVQgICAgICAgICAgICAg
ICAgICAgICAgID0gMHg5MTExOwotICAgIGNvbnN0IEdMZW51bSBPQkpFQ1RfVFlQRSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDkxMTI7Ci0gICAgY29uc3QgR0xlbnVtIFNZ
TkNfQ09ORElUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OTExMzsKLSAg
ICBjb25zdCBHTGVudW0gU1lOQ19TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHg5MTE0OwotICAgIGNvbnN0IEdMZW51bSBTWU5DX0ZMQUdTICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDkxMTU7Ci0gICAgY29uc3QgR0xlbnVtIFNZTkNfRkVO
Q0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OTExNjsKLSAgICBjb25z
dCBHTGVudW0gU1lOQ19HUFVfQ09NTUFORFNfQ09NUExFVEUgICAgICAgICAgICAgICAgICAgID0g
MHg5MTE3OwotICAgIGNvbnN0IEdMZW51bSBVTlNJR05BTEVEICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAweDkxMTg7Ci0gICAgY29uc3QgR0xlbnVtIFNJR05BTEVEICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OTExOTsKLSAgICBjb25zdCBHTGVu
dW0gQUxSRUFEWV9TSUdOQUxFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg5MTFB
OwotICAgIGNvbnN0IEdMZW51bSBUSU1FT1VUX0VYUElSRUQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDkxMUI7Ci0gICAgY29uc3QgR0xlbnVtIENPTkRJVElPTl9TQVRJU0ZJRUQg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OTExQzsKLSAgICBjb25zdCBHTGVudW0gV0FJ
VF9GQUlMRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg5MTFEOwotICAg
IGNvbnN0IEdMZW51bSBTWU5DX0ZMVVNIX0NPTU1BTkRTX0JJVCAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDAwMDAwMDAxOwotICAgIGNvbnN0IEdMZW51bSBWRVJURVhfQVRUUklCX0FSUkFZX0RJ
VklTT1IgICAgICAgICAgICAgICAgICAgPSAweDg4RkU7Ci0gICAgY29uc3QgR0xlbnVtIEFOWV9T
QU1QTEVTX1BBU1NFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEMyRjsKLSAgICBj
b25zdCBHTGVudW0gQU5ZX1NBTVBMRVNfUEFTU0VEX0NPTlNFUlZBVElWRSAgICAgICAgICAgICAg
ID0gMHg4RDZBOwotICAgIGNvbnN0IEdMZW51bSBTQU1QTEVSX0JJTkRJTkcgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDg5MTk7Ci0gICAgY29uc3QgR0xlbnVtIFJHQjEwX0EyVUkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OTA2RjsKLSAgICBjb25zdCBH
TGVudW0gSU5UXzJfMTBfMTBfMTBfUkVWICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4
RDlGOwotICAgIGNvbnN0IEdMZW51bSBUUkFOU0ZPUk1fRkVFREJBQ0sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDhFMjI7Ci0gICAgY29uc3QgR0xlbnVtIFRSQU5TRk9STV9GRUVEQkFD
S19QQVVTRUQgICAgICAgICAgICAgICAgICAgICA9IDB4OEUyMzsKLSAgICBjb25zdCBHTGVudW0g
VFJBTlNGT1JNX0ZFRURCQUNLX0FDVElWRSAgICAgICAgICAgICAgICAgICAgID0gMHg4RTI0Owot
ICAgIGNvbnN0IEdMZW51bSBUUkFOU0ZPUk1fRkVFREJBQ0tfQklORElORyAgICAgICAgICAgICAg
ICAgICAgPSAweDhFMjU7Ci0gICAgY29uc3QgR0xlbnVtIFRFWFRVUkVfSU1NVVRBQkxFX0ZPUk1B
VCAgICAgICAgICAgICAgICAgICAgICA9IDB4OTEyRjsKLSAgICBjb25zdCBHTGVudW0gTUFYX0VM
RU1FTlRfSU5ERVggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4RDZCOwotICAgIGNv
bnN0IEdMZW51bSBURVhUVVJFX0lNTVVUQUJMRV9MRVZFTFMgICAgICAgICAgICAgICAgICAgICAg
PSAweDgyREY7CiAKLSAgICBjb25zdCBHTGludDY0IFRJTUVPVVRfSUdOT1JFRCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gLTE7Ci0KLSAgICAvKiBXZWJHTC1zcGVjaWZpYyBlbnVtcyAq
LwotICAgIGNvbnN0IEdMZW51bSBNQVhfQ0xJRU5UX1dBSVRfVElNRU9VVF9XRUJHTCAgICAgICAg
ICAgICAgICAgPSAweDkyNDc7Ci0KLSAgICAvKiBCdWZmZXIgb2JqZWN0cyAqLwotICAgIHZvaWQg
YnVmZmVyRGF0YShHTGVudW0gdGFyZ2V0LCBBcnJheUJ1ZmZlclZpZXcgZGF0YSwgR0xlbnVtIHVz
YWdlLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgbGVuZ3RoID0gMCk7CisgICAg
dm9pZCBidWZmZXJEYXRhKEdMZW51bSB0YXJnZXQsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBH
TGVudW0gdXNhZ2UsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBsZW5ndGggPSAw
KTsKICAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0xlbnVtIHRhcmdldCwgR0xpbnRwdHIgZHN0Qnl0
ZU9mZnNldCwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlv
bmFsIEdMdWludCBsZW5ndGggPSAwKTsKIAotICAgIHZvaWQgY29weUJ1ZmZlclN1YkRhdGEoR0xl
bnVtIHJlYWRUYXJnZXQsIEdMZW51bSB3cml0ZVRhcmdldCwgR0xpbnRwdHIgcmVhZE9mZnNldCwg
R0xpbnRwdHIgd3JpdGVPZmZzZXQsIEdMc2l6ZWlwdHIgc2l6ZSk7Ci0gICAgLy8gTWFwQnVmZmVy
UmFuZ2UsIGluIHBhcnRpY3VsYXIgaXRzIHJlYWQtb25seSBhbmQgd3JpdGUtb25seSBtb2RlcywK
LSAgICAvLyBjYW4gbm90IGJlIGV4cG9zZWQgc2FmZWx5IHRvIEphdmFTY3JpcHQuIEdldEJ1ZmZl
clN1YkRhdGEKLSAgICAvLyByZXBsYWNlcyBpdCBmb3IgdGhlIHB1cnBvc2Ugb2YgZmV0Y2hpbmcg
ZGF0YSBiYWNrIGZyb20gdGhlIEdQVS4KLSAgICB2b2lkIGdldEJ1ZmZlclN1YkRhdGEoR0xlbnVt
IHRhcmdldCwgR0xpbnRwdHIgc3JjQnl0ZU9mZnNldCwgQXJyYXlCdWZmZXJWaWV3IGRzdERhdGEs
IG9wdGlvbmFsIEdMdWludCBkc3RPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgbGVuZ3RoID0g
MCk7Ci0KLSAgICAvKiBGcmFtZWJ1ZmZlciBvYmplY3RzICovCi0gICAgdm9pZCBibGl0RnJhbWVi
dWZmZXIoR0xpbnQgc3JjWDAsIEdMaW50IHNyY1kwLCBHTGludCBzcmNYMSwgR0xpbnQgc3JjWTEs
IEdMaW50IGRzdFgwLCBHTGludCBkc3RZMCwgR0xpbnQgZHN0WDEsIEdMaW50IGRzdFkxLCBHTGJp
dGZpZWxkIG1hc2ssIEdMZW51bSBmaWx0ZXIpOwotICAgIHZvaWQgZnJhbWVidWZmZXJUZXh0dXJl
TGF5ZXIoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIFdlYkdMVGV4dHVyZT8gdGV4
dHVyZSwgR0xpbnQgbGV2ZWwsIEdMaW50IGxheWVyKTsKLSAgICB2b2lkIGludmFsaWRhdGVGcmFt
ZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1lbnRzKTsKLSAg
ICB2b2lkIGludmFsaWRhdGVTdWJGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxH
TGVudW0+IGF0dGFjaG1lbnRzLCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCk7Ci0gICAgdm9pZCByZWFkQnVmZmVyKEdMZW51bSBzcmMpOwotCi0gICAgLyog
UmVuZGVyYnVmZmVyIG9iamVjdHMgKi8KLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55
XSBhbnkgZ2V0SW50ZXJuYWxmb3JtYXRQYXJhbWV0ZXIoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGlu
dGVybmFsZm9ybWF0LCBHTGVudW0gcG5hbWUpOwotICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFn
ZU11bHRpc2FtcGxlKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgc2FtcGxlcywgR0xlbnVtIGludGVy
bmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7Ci0KLSAgICAvKiBUZXh0
dXJlIG9iamVjdHMgKi8KLSAgICB2b2lkIHRleFN0b3JhZ2UyRChHTGVudW0gdGFyZ2V0LCBHTHNp
emVpIGxldmVscywgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVp
IGhlaWdodCk7Ci0gICAgdm9pZCB0ZXhTdG9yYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xzaXplaSBs
ZXZlbHMsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMc2l6ZWkgZGVwdGgpOwotCi0gICAgLy8gV2ViR0wxIGxlZ2FjeSBlbnRyeXBvaW50czoK
LSAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBp
bnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRl
ciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSwgVGV4SW1hZ2VTb3VyY2U/IHNvdXJjZSk7Ci0KLSAgICB2b2lkIHRleFN1YkltYWdlMkQo
R0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlw
ZSwgQXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0
LCBHTGludCB5b2Zmc2V0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3Vy
Y2U/IHNvdXJjZSk7Ci0KLSAgICAvLyBXZWJHTDIgZW50cnlwb2ludHM6CiAgICAgdm9pZCB0ZXhJ
bWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwg
R0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7Ci0gICAgdm9pZCB0ZXhJbWFnZTJE
KEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xl
bnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJjZSk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVy
bmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBH
TGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKICAgICB2
b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFs
Zm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBz
cmNPZmZzZXQpOwogCi0gICAgdm9pZCB0ZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQs
IEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUs
IEdMaW50cHRyIHBib09mZnNldCk7Ci0gICAgdm9pZCB0ZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQs
IEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXpl
aSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xl
bnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJjZSk7Ci0gICAgdm9pZCB0ZXhJbWFnZTNEKEdM
ZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgR0xlbnVt
IGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKLSAgICB2b2lk
IHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9y
bWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQg
Ym9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0Rh
dGEsIEdMdWludCBzcmNPZmZzZXQpOwotCiAgICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0
YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50
cHRyIHBib09mZnNldCk7Ci0gICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdM
aW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNl
IHNvdXJjZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleFN1YkltYWdlMkQoR0xl
bnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdM
c2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
VGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKICAgICB2b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlC
dWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOwogCi0gICAgdm9pZCB0ZXhTdWJJ
bWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5
b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xz
aXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNl
dCk7Ci0gICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBH
TGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5
cGUsIFRleEltYWdlU291cmNlIHNvdXJjZSk7Ci0gICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdMZW51
bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGlu
dCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwg
R0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8gc3JjRGF0YSwgb3B0
aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDApOwotCi0gICAgdm9pZCBjb3B5VGV4U3ViSW1hZ2Uz
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNl
dCwgR0xpbnQgem9mZnNldCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXpl
aSBoZWlnaHQpOwotCiAgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zm
c2V0KTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBvcHRpb25hbCBHTHVp
bnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92ZXJyaWRlID0gMCk7
Ci0KLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMc2l6ZWkgaW1hZ2VTaXplLCBHTGludHB0
ciBvZmZzZXQpOwotICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwg
R0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXpl
aSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3IHNy
Y0RhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3Jj
TGVuZ3RoT3ZlcnJpZGUgPSAwKTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKEdM
ZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBH
TGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0
aCwgR0xlbnVtIGZvcm1hdCwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRyIG9mZnNldCk7Ci0g
ICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZl
bCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBmb3JtYXQsIEFycmF5
QnVmZmVyVmlldyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9u
YWwgR0x1aW50IHNyY0xlbmd0aE92ZXJyaWRlID0gMCk7Ci0KLSAgICAvKiBQcm9ncmFtcyBhbmQg
c2hhZGVycyAqLwotICAgIEdMaW50IGdldEZyYWdEYXRhTG9jYXRpb24oV2ViR0xQcm9ncmFtIHBy
b2dyYW0sIERPTVN0cmluZyBuYW1lKTsKLQotICAgIC8qIFVuaWZvcm1zIGFuZCBhdHRyaWJ1dGVz
ICovCi0gICAgdm9pZCB1bmlmb3JtMXVpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwg
R0x1aW50IHYwKTsKLSAgICB2b2lkIHVuaWZvcm0ydWkoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxv
Y2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSk7Ci0gICAgdm9pZCB1bmlmb3JtM3VpKFdlYkdM
VW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwLCBHTHVpbnQgdjEsIEdMdWludCB2
Mik7Ci0gICAgdm9pZCB1bmlmb3JtNHVpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwg
R0x1aW50IHYwLCBHTHVpbnQgdjEsIEdMdWludCB2MiwgR0x1aW50IHYzKTsKLSAgICB2b2lkIHVu
aWZvcm0xdWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWludDMyTGlzdCBkYXRh
LCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0
aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybTJ1aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0
aW9uLCBVaW50MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRp
b25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtM3VpdihXZWJHTFVu
aWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIFVpbnQzMkxpc3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50
IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lk
IHVuaWZvcm00dWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWludDMyTGlzdCBk
YXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xl
bmd0aCA9IDApOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJ4M2Z2KFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgb3B0
aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAw
KTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgzeDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9j
YXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdM
dWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAg
dm9pZCB1bmlmb3JtTWF0cml4Mng0ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBH
TGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3Jj
T2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDR4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFu
IHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9
IDAsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRy
aXgzeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bv
c2UsIEZsb2F0MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRp
b25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4NHgzZnYo
V2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9h
dDMyTGlzdCBkYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1
aW50IHNyY0xlbmd0aCA9IDApOwotICAgIHZvaWQgdmVydGV4QXR0cmliSTRpKEdMdWludCBpbmRl
eCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xpbnQgeiwgR0xpbnQgdyk7Ci0gICAgdm9pZCB2ZXJ0ZXhB
dHRyaWJJNGl2KEdMdWludCBpbmRleCwgSW50MzJMaXN0IHZhbHVlcyk7Ci0gICAgdm9pZCB2ZXJ0
ZXhBdHRyaWJJNHVpKEdMdWludCBpbmRleCwgR0x1aW50IHgsIEdMdWludCB5LCBHTHVpbnQgeiwg
R0x1aW50IHcpOwotICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aXYoR0x1aW50IGluZGV4LCBVaW50
MzJMaXN0IHZhbHVlcyk7Ci0gICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJUG9pbnRlcihHTHVpbnQgaW5k
ZXgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTHNpemVpIHN0cmlkZSwgR0xpbnRwdHIgb2Zm
c2V0KTsKLQotICAgIC8qIFdyaXRpbmcgdG8gdGhlIGRyYXdpbmcgYnVmZmVyICovCi0gICAgdm9p
ZCB2ZXJ0ZXhBdHRyaWJEaXZpc29yKEdMdWludCBpbmRleCwgR0x1aW50IGRpdmlzb3IpOwotICAg
IHZvaWQgZHJhd0FycmF5c0luc3RhbmNlZChHTGVudW0gbW9kZSwgR0xpbnQgZmlyc3QsIEdMc2l6
ZWkgY291bnQsIEdMc2l6ZWkgaW5zdGFuY2VDb3VudCk7Ci0gICAgdm9pZCBkcmF3RWxlbWVudHNJ
bnN0YW5jZWQoR0xlbnVtIG1vZGUsIEdMc2l6ZWkgY291bnQsIEdMZW51bSB0eXBlLCBHTGludHB0
ciBvZmZzZXQsIEdMc2l6ZWkgaW5zdGFuY2VDb3VudCk7Ci0gICAgdm9pZCBkcmF3UmFuZ2VFbGVt
ZW50cyhHTGVudW0gbW9kZSwgR0x1aW50IHN0YXJ0LCBHTHVpbnQgZW5kLCBHTHNpemVpIGNvdW50
LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0KTsKLQotICAgIC8qIE11bHRpcGxlIFJlbmRl
ciBUYXJnZXRzICovCi0gICAgdm9pZCBkcmF3QnVmZmVycyhzZXF1ZW5jZTxHTGVudW0+IGJ1ZmZl
cnMpOwotICAgIHZvaWQgY2xlYXJCdWZmZXJpdihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3YnVm
ZmVyLCBJbnQzMkxpc3QgdmFsdWVzLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCk7Ci0g
ICAgdm9pZCBjbGVhckJ1ZmZlcnVpdihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3YnVmZmVyLCBV
aW50MzJMaXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDApOwotICAgIHZv
aWQgY2xlYXJCdWZmZXJmdihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3YnVmZmVyLCBGbG9hdDMy
TGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwKTsKLSAgICB2b2lkIGNs
ZWFyQnVmZmVyZmkoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZlciwgR0xmbG9hdCBkZXB0
aCwgR0xpbnQgc3RlbmNpbCk7CisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0g
dGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwg
R0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92ZXJyaWRlID0gMCk7
CiAKLSAgICAvKiBRdWVyeSBPYmplY3RzICovCi0gICAgV2ViR0xRdWVyeT8gY3JlYXRlUXVlcnko
KTsKLSAgICB2b2lkIGRlbGV0ZVF1ZXJ5KFdlYkdMUXVlcnk/IHF1ZXJ5KTsKLSAgICBHTGJvb2xl
YW4gaXNRdWVyeShXZWJHTFF1ZXJ5PyBxdWVyeSk7Ci0gICAgdm9pZCBiZWdpblF1ZXJ5KEdMZW51
bSB0YXJnZXQsIFdlYkdMUXVlcnkgcXVlcnkpOwotICAgIHZvaWQgZW5kUXVlcnkoR0xlbnVtIHRh
cmdldCk7Ci0gICAgV2ViR0xRdWVyeT8gZ2V0UXVlcnkoR0xlbnVtIHRhcmdldCwgR0xlbnVtIHBu
YW1lKTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0UXVlcnlQYXJh
bWV0ZXIoV2ViR0xRdWVyeSBxdWVyeSwgR0xlbnVtIHBuYW1lKTsKKyAgICB2b2lkIGNvbXByZXNz
ZWRUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0
LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZv
cm1hdCwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRyIG9mZnNldCk7CisgICAgdm9pZCBjb21w
cmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9m
ZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51
bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRp
b25hbCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKIAotICAgIC8qIFNhbXBsZXIgT2Jq
ZWN0cyAqLwotICAgIFdlYkdMU2FtcGxlcj8gY3JlYXRlU2FtcGxlcigpOwotICAgIHZvaWQgZGVs
ZXRlU2FtcGxlcihXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOwotICAgIEdMYm9vbGVhbiBpc1NhbXBs
ZXIoV2ViR0xTYW1wbGVyPyBzYW1wbGVyKTsKLSAgICB2b2lkIGJpbmRTYW1wbGVyKEdMdWludCB1
bml0LCBXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOwotICAgIHZvaWQgc2FtcGxlclBhcmFtZXRlcmko
V2ViR0xTYW1wbGVyIHNhbXBsZXIsIEdMZW51bSBwbmFtZSwgR0xpbnQgcGFyYW0pOwotICAgIHZv
aWQgc2FtcGxlclBhcmFtZXRlcmYoV2ViR0xTYW1wbGVyIHNhbXBsZXIsIEdMZW51bSBwbmFtZSwg
R0xmbG9hdCBwYXJhbSk7Ci0gICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdl
dFNhbXBsZXJQYXJhbWV0ZXIoV2ViR0xTYW1wbGVyIHNhbXBsZXIsIEdMZW51bSBwbmFtZSk7Cisg
ICAgdm9pZCB1bmlmb3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQz
Mkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9
IDApOworICAgIHZvaWQgdW5pZm9ybTJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24s
IEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNM
ZW5ndGggPSAwKTsKKyAgICB2b2lkIHVuaWZvcm0zZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxv
Y2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVp
bnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdm9pZCB1bmlmb3JtNGZ2KFdlYkdMVW5pZm9ybUxvY2F0
aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9u
YWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwogCi0gICAgLyogU3luYyBvYmplY3RzICovCi0gICAg
V2ViR0xTeW5jPyBmZW5jZVN5bmMoR0xlbnVtIGNvbmRpdGlvbiwgR0xiaXRmaWVsZCBmbGFncyk7
Ci0gICAgR0xib29sZWFuIGlzU3luYyhXZWJHTFN5bmM/IHN5bmMpOwotICAgIHZvaWQgZGVsZXRl
U3luYyhXZWJHTFN5bmM/IHN5bmMpOwotICAgIEdMZW51bSBjbGllbnRXYWl0U3luYyhXZWJHTFN5
bmMgc3luYywgR0xiaXRmaWVsZCBmbGFncywgR0x1aW50NjQgdGltZW91dCk7Ci0gICAgdm9pZCB3
YWl0U3luYyhXZWJHTFN5bmMgc3luYywgR0xiaXRmaWVsZCBmbGFncywgR0xpbnQ2NCB0aW1lb3V0
KTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0U3luY1BhcmFtZXRl
cihXZWJHTFN5bmMgc3luYywgR0xlbnVtIHBuYW1lKTsKKyAgICB2b2lkIHVuaWZvcm0xaXYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09m
ZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHZvaWQgdW5pZm9ybTJp
dihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQg
c3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdm9pZCB1bmlm
b3JtM2l2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB2b2lk
IHVuaWZvcm00aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0
YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwogCi0g
ICAgLyogVHJhbnNmb3JtIEZlZWRiYWNrICovCi0gICAgV2ViR0xUcmFuc2Zvcm1GZWVkYmFjaz8g
Y3JlYXRlVHJhbnNmb3JtRmVlZGJhY2soKTsKLSAgICB2b2lkIGRlbGV0ZVRyYW5zZm9ybUZlZWRi
YWNrKFdlYkdMVHJhbnNmb3JtRmVlZGJhY2s/IGlkKTsKLSAgICBHTGJvb2xlYW4gaXNUcmFuc2Zv
cm1GZWVkYmFjayhXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyBpZCk7Ci0gICAgdm9pZCBiaW5kVHJh
bnNmb3JtRmVlZGJhY2soR0xlbnVtIHRhcmdldCwgV2ViR0xUcmFuc2Zvcm1GZWVkYmFjaz8gaWQp
OwotICAgIHZvaWQgYmVnaW5UcmFuc2Zvcm1GZWVkYmFjayhHTGVudW0gcHJpbWl0aXZlTW9kZSk7
Ci0gICAgdm9pZCBlbmRUcmFuc2Zvcm1GZWVkYmFjaygpOwotICAgIHZvaWQgdHJhbnNmb3JtRmVl
ZGJhY2tWYXJ5aW5ncyhXZWJHTFByb2dyYW0gcHJvZ3JhbSwgc2VxdWVuY2U8RE9NU3RyaW5nPiB2
YXJ5aW5ncywgR0xlbnVtIGJ1ZmZlck1vZGUpOwotICAgIFdlYkdMQWN0aXZlSW5mbz8gZ2V0VHJh
bnNmb3JtRmVlZGJhY2tWYXJ5aW5nKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgp
OwotICAgIHZvaWQgcGF1c2VUcmFuc2Zvcm1GZWVkYmFjaygpOwotICAgIHZvaWQgcmVzdW1lVHJh
bnNmb3JtRmVlZGJhY2soKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYoV2ViR0xVbmlmb3Jt
TG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRh
LCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAg
dm9pZCB1bmlmb3JtTWF0cml4M2Z2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xi
b29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0
aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihX
ZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0
MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGgg
PSAwKTsKIAotICAgIC8qIFVuaWZvcm0gQnVmZmVyIE9iamVjdHMgYW5kIFRyYW5zZm9ybSBGZWVk
YmFjayBCdWZmZXJzICovCi0gICAgdm9pZCBiaW5kQnVmZmVyQmFzZShHTGVudW0gdGFyZ2V0LCBH
THVpbnQgaW5kZXgsIFdlYkdMQnVmZmVyPyBidWZmZXIpOwotICAgIHZvaWQgYmluZEJ1ZmZlclJh
bmdlKEdMZW51bSB0YXJnZXQsIEdMdWludCBpbmRleCwgV2ViR0xCdWZmZXI/IGJ1ZmZlciwgR0xp
bnRwdHIgb2Zmc2V0LCBHTHNpemVpcHRyIHNpemUpOwotICAgIFtPdmVycmlkZUlETFR5cGU9SURM
V2ViR0xBbnldIGFueSBnZXRJbmRleGVkUGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMdWludCBp
bmRleCk7Ci0gICAgc2VxdWVuY2U8R0x1aW50Pj8gZ2V0VW5pZm9ybUluZGljZXMoV2ViR0xQcm9n
cmFtIHByb2dyYW0sIHNlcXVlbmNlPERPTVN0cmluZz4gdW5pZm9ybU5hbWVzKTsKLSAgICBbT3Zl
cnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0QWN0aXZlVW5pZm9ybXMoV2ViR0xQcm9n
cmFtIHByb2dyYW0sIHNlcXVlbmNlPEdMdWludD4gdW5pZm9ybUluZGljZXMsIEdMZW51bSBwbmFt
ZSk7Ci0gICAgR0x1aW50IGdldFVuaWZvcm1CbG9ja0luZGV4KFdlYkdMUHJvZ3JhbSBwcm9ncmFt
LCBET01TdHJpbmcgdW5pZm9ybUJsb2NrTmFtZSk7Ci0gICAgW092ZXJyaWRlSURMVHlwZT1JRExX
ZWJHTEFueV0gYW55IGdldEFjdGl2ZVVuaWZvcm1CbG9ja1BhcmFtZXRlcihXZWJHTFByb2dyYW0g
cHJvZ3JhbSwgR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4LCBHTGVudW0gcG5hbWUpOwotICAgIFtP
dmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIERPTVN0cmluZz8gZ2V0QWN0aXZlVW5pZm9ybUJs
b2NrTmFtZShXZWJHTFByb2dyYW0gcHJvZ3JhbSwgR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4KTsK
LSAgICB2b2lkIHVuaWZvcm1CbG9ja0JpbmRpbmcoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWlu
dCB1bmlmb3JtQmxvY2tJbmRleCwgR0x1aW50IHVuaWZvcm1CbG9ja0JpbmRpbmcpOworICAgIHZv
aWQgcmVhZFBpeGVscyhHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIG9mZnNldCk7CisgICAg
dm9pZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IGRzdERh
dGEsIEdMdWludCBkc3RPZmZzZXQpOwogCi0gICAgLyogVmVydGV4IEFycmF5IE9iamVjdHMgKi8K
LSAgICBXZWJHTFZlcnRleEFycmF5T2JqZWN0PyBjcmVhdGVWZXJ0ZXhBcnJheSgpOwotICAgIHZv
aWQgZGVsZXRlVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhBcnJheU9iamVjdD8gdmVydGV4QXJyYXkp
OwotICAgIEdMYm9vbGVhbiBpc1ZlcnRleEFycmF5KFdlYkdMVmVydGV4QXJyYXlPYmplY3Q/IHZl
cnRleEFycmF5KTsKLSAgICB2b2lkIGJpbmRWZXJ0ZXhBcnJheShXZWJHTFZlcnRleEFycmF5T2Jq
ZWN0PyB2ZXJ0ZXhBcnJheSk7CiB9OwogCiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IGltcGxlbWVu
dHMgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTsKK1dlYkdMMlJlbmRlcmluZ0NvbnRleHQgaW1w
bGVtZW50cyBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jOGM5NzY3ZDg2YTRjNWVmZGRhNTUwOGNhOGUxMTViNjY4OGE2YTVjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwCkBAIC0wLDAgKzEsMjA4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlLmgiCisKKyNpZiBFTkFCTEUoV0VCR0wyKQorCisj
aW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKKyNpbmNsdWRlICJFWFRUZXh0dXJlRmlsdGVyQW5pc290
cm9waWMuaCIKKyNpbmNsdWRlICJFeHRlbnNpb25zM0QuaCIKKyNpbmNsdWRlICJIVE1MQ2FudmFz
RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1M
VmlkZW9FbGVtZW50LmgiCisjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCisjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk9F
U1RleHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdExpbmVhci5oIgorI2lu
Y2x1ZGUgIk9FU1RleHR1cmVIYWxmRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZs
b2F0TGluZWFyLmgiCisjaW5jbHVkZSAiUmVuZGVyQm94LmgiCisjaW5jbHVkZSAiV2ViR0xBY3Rp
dmVJbmZvLmgiCisjaW5jbHVkZSAiV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuaCIKKyNpbmNs
dWRlICJXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgiCisjaW5jbHVkZSAiV2ViR0xDb21wcmVz
c2VkVGV4dHVyZUVUQy5oIgorI2luY2x1ZGUgIldlYkdMQ29tcHJlc3NlZFRleHR1cmVFVEMxLmgi
CisjaW5jbHVkZSAiV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmgiCisjaW5jbHVkZSAiV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCIKKyNpbmNsdWRlICJXZWJHTERlYnVnUmVuZGVyZXJJ
bmZvLmgiCisjaW5jbHVkZSAiV2ViR0xEZWJ1Z1NoYWRlcnMuaCIKKyNpbmNsdWRlICJXZWJHTERl
cHRoVGV4dHVyZS5oIgorI2luY2x1ZGUgIldlYkdMTG9zZUNvbnRleHQuaCIKKyNpbmNsdWRlICJX
ZWJHTFF1ZXJ5LmgiCisjaW5jbHVkZSAiV2ViR0xTYW1wbGVyLmgiCisjaW5jbHVkZSAiV2ViR0xT
eW5jLmgiCisjaW5jbHVkZSAiV2ViR0xUcmFuc2Zvcm1GZWVkYmFjay5oIgorI2luY2x1ZGUgIldl
YkdMVmVydGV4QXJyYXlPYmplY3QuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HZW5lcmlj
VHlwZWRBcnJheVZpZXdJbmxpbmVzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcElu
bGluZXMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmll
d0lubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXZWJHTDJSZW5kZXJp
bmdDb250ZXh0QmFzZSk7CisKK1dlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZShDYW52YXNCYXNlJiBjYW52YXMsIEdyYXBoaWNzQ29udGV4dDNEQXR0
cmlidXRlcyBhdHRyaWJ1dGVzKQorICAgIDogV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZShjYW52
YXMsIGF0dHJpYnV0ZXMpCit7Cit9CisKK1dlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpXZWJH
TDJSZW5kZXJpbmdDb250ZXh0QmFzZShDYW52YXNCYXNlJiBjYW52YXMsIFJlZjxHcmFwaGljc0Nv
bnRleHQzRD4mJiBjb250ZXh0LCBHcmFwaGljc0NvbnRleHQzREF0dHJpYnV0ZXMgYXR0cmlidXRl
cykKKyAgICA6IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UoY2FudmFzLCBXVEZNb3ZlKGNvbnRl
eHQpLCBhdHRyaWJ1dGVzKQoreworICAgIGluaXRpYWxpemVTaGFkZXJFeHRlbnNpb25zKCk7Cisg
ICAgaW5pdGlhbGl6ZVZlcnRleEFycmF5T2JqZWN0cygpOworfQorCit2b2lkIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHRCYXNlOjppbml0aWFsaXplVmVydGV4QXJyYXlPYmplY3RzKCkKK3sKKyAgICBt
X2RlZmF1bHRWZXJ0ZXhBcnJheU9iamVjdCA9IFdlYkdMVmVydGV4QXJyYXlPYmplY3Q6OmNyZWF0
ZSgqdGhpcywgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdDo6VHlwZTo6RGVmYXVsdCk7CisgICAgYWRk
Q29udGV4dE9iamVjdCgqbV9kZWZhdWx0VmVydGV4QXJyYXlPYmplY3QpOworI2lmIFVTRShPUEVO
R0xfRVMpCisgICAgbV9ib3VuZFZlcnRleEFycmF5T2JqZWN0ID0gbV9kZWZhdWx0VmVydGV4QXJy
YXlPYmplY3Q7CisjZWxzZQorICAgIGJpbmRWZXJ0ZXhBcnJheShudWxscHRyKTsgLy8gVGhlIGRl
ZmF1bHQgVkFPIHdhcyByZW1vdmVkIGluIE9wZW5HTCAzLjMgYnV0IG5vdCBmcm9tIFdlYkdMIDI7
IGJpbmQgdGhlIGRlZmF1bHQgZm9yIFdlYkdMIHRvIHVzZS4KKyNlbmRpZgorICAgIGlmICghaXNH
TEVTMkNvbXBsaWFudCgpKQorICAgICAgICBpbml0VmVydGV4QXR0cmliMCgpOworfQorCit2b2lk
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjppbml0aWFsaXplU2hhZGVyRXh0ZW5zaW9ucygp
Cit7CisgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkuZW5zdXJlRW5hYmxlZCgiR0xfT0VT
X3N0YW5kYXJkX2Rlcml2YXRpdmVzIik7CisgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCku
ZW5zdXJlRW5hYmxlZCgiR0xfRVhUX2RyYXdfYnVmZmVycyIpOworICAgIG1fY29udGV4dC0+Z2V0
RXh0ZW5zaW9ucygpLmVuc3VyZUVuYWJsZWQoIkdMX0VYVF9zaGFkZXJfdGV4dHVyZV9sb2QiKTsK
KyAgICBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5lbnN1cmVFbmFibGVkKCJHTF9FWFRfZnJh
Z19kZXB0aCIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpjb3B5QnVm
ZmVyU3ViRGF0YShHQzNEZW51bSByZWFkVGFyZ2V0LCBHQzNEZW51bSB3cml0ZVRhcmdldCwgR0Mz
RGludDY0IHJlYWRPZmZzZXQsIEdDM0RpbnQ2NCB3cml0ZU9mZnNldCwgR0MzRGludDY0IHNpemUp
Cit7CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIGlmICgocmVhZFRhcmdldCA9PSBHcmFwaGljc0NvbnRleHQzRDo6RUxFTUVOVF9BUlJBWV9C
VUZGRVIgJiYgd3JpdGVUYXJnZXQgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkVMRU1FTlRfQVJSQVlf
QlVGRkVSKQorICAgICAgICB8fCAod3JpdGVUYXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkVM
RU1FTlRfQVJSQVlfQlVGRkVSICYmIHJlYWRUYXJnZXQgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkVM
RU1FTlRfQVJSQVlfQlVGRkVSKSkgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJjb3B5QnVmZmVyU3ViRGF0YSIsICJFaXRo
ZXIgYm90aCB0YXJnZXRzIG5lZWQgdG8gYmUgRUxFTUVOVF9BUlJBWV9CVUZGRVIgb3IgbmVpdGhl
ciBzaG91bGQgYmUgRUxFTUVOVF9BUlJBWV9CVUZGRVIuIik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgaWYgKHJlYWRPZmZzZXQgPCAwIHx8IHdyaXRlT2Zmc2V0IDwgMCB8fCBzaXplIDwg
MCkgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJ
RF9WQUxVRSwgImNvcHlCdWZmZXJTdWJEYXRhIiwgIm9mZnNldCA8IDAiKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBSZWZQdHI8V2ViR0xCdWZmZXI+IHJlYWRCdWZmZXIgPSB2YWxpZGF0
ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJzKCJjb3B5QnVmZmVyU3ViRGF0YSIsIHJlYWRUYXJnZXQsIEdy
YXBoaWNzQ29udGV4dDNEOjpTVEFUSUNfRFJBVyk7CisgICAgUmVmUHRyPFdlYkdMQnVmZmVyPiB3
cml0ZUJ1ZmZlciA9IHZhbGlkYXRlQnVmZmVyRGF0YVBhcmFtZXRlcnMoImNvcHlCdWZmZXJTdWJE
YXRhIiwgd3JpdGVUYXJnZXQsIEdyYXBoaWNzQ29udGV4dDNEOjpTVEFUSUNfRFJBVyk7CisgICAg
aWYgKCFyZWFkQnVmZmVyIHx8ICF3cml0ZUJ1ZmZlcikgeworICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImNvcHlCdWZmZXJTdWJEYXRh
IiwgIkludmFsaWQgcmVhZFRhcmdldCBvciB3cml0ZVRhcmdldCIpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgQ2hlY2tlZDxHQzNEaW50cHRyLCBSZWNvcmRPdmVyZmxvdz4gY2hlY2tl
ZFJlYWRPZmZzZXQocmVhZE9mZnNldCk7CisgICAgQ2hlY2tlZDxHQzNEaW50cHRyLCBSZWNvcmRP
dmVyZmxvdz4gY2hlY2tlZFdyaXRlT2Zmc2V0KHdyaXRlT2Zmc2V0KTsKKyAgICBDaGVja2VkPEdD
M0RzaXplaXB0ciwgUmVjb3JkT3ZlcmZsb3c+IGNoZWNrZWRTaXplKHNpemUpOworICAgIGlmIChj
aGVja2VkUmVhZE9mZnNldC5oYXNPdmVyZmxvd2VkKCkgfHwgY2hlY2tlZFdyaXRlT2Zmc2V0Lmhh
c092ZXJmbG93ZWQoKSB8fCBjaGVja2VkU2l6ZS5oYXNPdmVyZmxvd2VkKCkpIHsKKyAgICAgICAg
c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJjb3B5
QnVmZmVyU3ViRGF0YSIsICJPZmZzZXQgb3Igc2l6ZSBpcyB0b28gYmlnIik7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBpZiAoIXdyaXRlQnVmZmVyLT5hc3NvY2lhdGVDb3B5QnVmZmVy
U3ViRGF0YSgqcmVhZEJ1ZmZlciwgY2hlY2tlZFJlYWRPZmZzZXQudW5zYWZlR2V0KCksIGNoZWNr
ZWRXcml0ZU9mZnNldC51bnNhZmVHZXQoKSwgY2hlY2tlZFNpemUudW5zYWZlR2V0KCkpKSB7Cisg
ICAgICAgIHRoaXMtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElE
X1ZBTFVFLCAiY29weUJ1ZmZlclN1YkRhdGEiLCAib2Zmc2V0IG91dCBvZiByYW5nZSIpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50aGV0
aWNFcnJvckxpc3QoKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBtX2NvbnRleHQtPmNvcHlC
dWZmZXJTdWJEYXRhKHJlYWRUYXJnZXQsIHdyaXRlVGFyZ2V0LCBjaGVja2VkUmVhZE9mZnNldC51
bnNhZmVHZXQoKSwgY2hlY2tlZFdyaXRlT2Zmc2V0LnVuc2FmZUdldCgpLCBjaGVja2VkU2l6ZS51
bnNhZmVHZXQoKSk7CisjZW5kaWYKKyAgICBpZiAobV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50
aGV0aWNFcnJvckxpc3QoKSkgeworICAgICAgICAvLyBUaGUgYnVmZmVyU3ViRGF0YSBmdW5jdGlv
biBmYWlsZWQuIFRlbGwgdGhlIGJ1ZmZlciBpdCBkb2Vzbid0IGhhdmUgdGhlIGRhdGEgaXQgdGhp
bmtzIGl0IGRvZXMuCisgICAgICAgIHdyaXRlQnVmZmVyLT5kaXNhc3NvY2lhdGVCdWZmZXJEYXRh
KCk7CisgICAgfQorfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRCdWZm
ZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIHNyY0J5dGVPZmZzZXQsIFJlZlB0
cjxBcnJheUJ1ZmZlclZpZXc+JiYgZHN0RGF0YSwgR0MzRHVpbnQgZHN0T2Zmc2V0LCBHQzNEdWlu
dCBsZW5ndGgpCit7CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKKyAgICAgICAg
cmV0dXJuOworICAgIFJlZlB0cjxXZWJHTEJ1ZmZlcj4gYnVmZmVyID0gdmFsaWRhdGVCdWZmZXJE
YXRhUGFyYW1ldGVycygiYnVmZmVyU3ViRGF0YSIsIHRhcmdldCwgR3JhcGhpY3NDb250ZXh0M0Q6
OlNUQVRJQ19EUkFXKTsKKyAgICBpZiAoIWJ1ZmZlcikgeworICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJnZXRCdWZmZXJTdWJE
YXRhIiwgIk5vIFdlYkdMQnVmZmVyIGlzIGJvdW5kIHRvIHRhcmdldCIpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgLy8gRklYTUU6IEltcGxlbWVudCAiSWYgdGFyZ2V0IGlzIFRSQU5T
Rk9STV9GRUVEQkFDS19CVUZGRVIsIGFuZCBhbnkgdHJhbnNmb3JtIGZlZWRiYWNrIG9iamVjdCBp
cyBjdXJyZW50bHkgYWN0aXZlLCBhbiBJTlZBTElEX09QRVJBVElPTiBlcnJvciBpcyBnZW5lcmF0
ZWQuIgorCisgICAgaWYgKCFkc3REYXRhKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdy
YXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgImdldEJ1ZmZlclN1YkRhdGEiLCAi
TnVsbCBkc3REYXRhIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIG9wdGlv
bmFsRWxlbWVudFNpemUgPSBhcnJheUJ1ZmZlclZpZXdFbGVtZW50U2l6ZSgqZHN0RGF0YSk7Cisg
ICAgaWYgKCFvcHRpb25hbEVsZW1lbnRTaXplKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9y
KEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgImdldEJ1ZmZlclN1YkRhdGEi
LCAiSW52YWxpZCB0eXBlIG9mIEFycmF5IEJ1ZmZlciBWaWV3Iik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisgICAgYXV0byBlbGVtZW50U2l6ZSA9IG9wdGlvbmFsRWxlbWVudFNpemUudmFsdWUo
KTsKKyAgICBhdXRvIGRzdERhdGFMZW5ndGggPSBkc3REYXRhLT5ieXRlTGVuZ3RoKCkgLyBlbGVt
ZW50U2l6ZTsKKworICAgIGlmIChkc3RPZmZzZXQgPiBkc3REYXRhTGVuZ3RoKSB7CisgICAgICAg
IHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwg
ImdldEJ1ZmZlclN1YkRhdGEiLCAiZHN0T2Zmc2V0IGlzIGxhcmdlciB0aGFuIHRoZSBsZW5ndGgg
b2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIEdDM0R1aW50IGNvcHlMZW5ndGggPSBsZW5ndGggPyBsZW5ndGggOiBkc3REYXRhTGVuZ3Ro
IC0gZHN0T2Zmc2V0OworCisgICAgQ2hlY2tlZDxHQzNEdWludCwgUmVjb3JkT3ZlcmZsb3c+IGNo
ZWNrZWREc3RPZmZzZXQoZHN0T2Zmc2V0KTsKKyAgICBDaGVja2VkPEdDM0R1aW50LCBSZWNvcmRP
dmVyZmxvdz4gY2hlY2tlZENvcHlMZW5ndGgoY29weUxlbmd0aCk7CisgICAgYXV0byBjaGVja2Vk
RGVzdGluYXRpb25FbmQgPSBjaGVja2VkRHN0T2Zmc2V0ICsgY2hlY2tlZENvcHlMZW5ndGg7Cisg
ICAgaWYgKGNoZWNrZWREZXN0aW5hdGlvbkVuZC5oYXNPdmVyZmxvd2VkKCkpIHsKKyAgICAgICAg
c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAi
Z2V0QnVmZmVyU3ViRGF0YSIsICJkc3RPZmZzZXQgKyBjb3B5TGVuZ3RoIGlzIHRvbyBoaWdoIik7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoY2hlY2tlZERlc3RpbmF0aW9uRW5k
LnVuc2FmZUdldCgpID4gZHN0RGF0YUxlbmd0aCkgeworICAgICAgICBzeW50aGVzaXplR0xFcnJv
cihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJnZXRCdWZmZXJTdWJEYXRh
IiwgImVuZCBvZiB3cml0dGVuIGRlc3RpbmF0aW9uIGlzIHBhc3QgdGhlIGVuZCBvZiB0aGUgYnVm
ZmVyIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoc3JjQnl0ZU9mZnNldCA8
IDApIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFM
SURfT1BFUkFUSU9OLCAiZ2V0QnVmZmVyU3ViRGF0YSIsICJzcmNCeXRlT2Zmc2V0IGlzIGxlc3Mg
dGhhbiAwIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBDaGVja2VkPEdDM0RpbnRw
dHIsIFJlY29yZE92ZXJmbG93PiBjaGVja2VkU3JjQnl0ZU9mZnNldChzcmNCeXRlT2Zmc2V0KTsK
KyAgICBDaGVja2VkPEdDM0RpbnRwdHIsIFJlY29yZE92ZXJmbG93PiBjaGVja2VkQ29weUxlbmd0
aFB0cihjb3B5TGVuZ3RoKTsKKyAgICBDaGVja2VkPEdDM0RpbnRwdHIsIFJlY29yZE92ZXJmbG93
PiBjaGVja2VkRWxlbWVudFNpemUoZWxlbWVudFNpemUpOworICAgIGF1dG8gY2hlY2tlZFNvdXJj
ZUVuZCA9IGNoZWNrZWRTcmNCeXRlT2Zmc2V0ICsgY2hlY2tlZENvcHlMZW5ndGhQdHIgKiBjaGVj
a2VkRWxlbWVudFNpemU7CisgICAgaWYgKGNoZWNrZWRTb3VyY2VFbmQuaGFzT3ZlcmZsb3dlZCgp
IHx8IGNoZWNrZWRTb3VyY2VFbmQudW5zYWZlR2V0KCkgPiBidWZmZXItPmJ5dGVMZW5ndGgoKSkg
eworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9P
UEVSQVRJT04sICJnZXRCdWZmZXJTdWJEYXRhIiwgIlBhcmFtZXRlcnMgd291bGQgcmVhZCBvdXRz
aWRlIHRoZSBib3VuZHMgb2YgdGhlIHNvdXJjZSBidWZmZXIiKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIG1fY29udGV4dC0+bW92ZUVycm9yc1RvU3ludGhldGljRXJyb3JMaXN0KCk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgLy8gRklYTUU6IENvYWxlc2NlIG11bHRpcGxlIGdl
dEJ1ZmZlclN1YkRhdGEoKSBjYWxscyB0byB1c2UgYSBzaW5nbGUgbWFwKCkgY2FsbAorICAgIHZv
aWQqIHB0ciA9IG1fY29udGV4dC0+bWFwQnVmZmVyUmFuZ2UodGFyZ2V0LCBjaGVja2VkU3JjQnl0
ZU9mZnNldC51bnNhZmVHZXQoKSwgc3RhdGljX2Nhc3Q8R0MzRHNpemVpcHRyPihjaGVja2VkQ29w
eUxlbmd0aFB0ci51bnNhZmVHZXQoKSAqIGNoZWNrZWRFbGVtZW50U2l6ZS51bnNhZmVHZXQoKSks
IEdyYXBoaWNzQ29udGV4dDNEOjpNQVBfUkVBRF9CSVQpOworICAgIG1lbWNweShzdGF0aWNfY2Fz
dDxjaGFyKj4oZHN0RGF0YS0+YmFzZUFkZHJlc3MoKSkgKyBkc3REYXRhLT5ieXRlT2Zmc2V0KCkg
KyBkc3RPZmZzZXQgKiBlbGVtZW50U2l6ZSwgcHRyLCBjb3B5TGVuZ3RoICogZWxlbWVudFNpemUp
OworICAgIGlmICghbV9jb250ZXh0LT51bm1hcEJ1ZmZlcih0YXJnZXQpKQorICAgICAgICBzeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJnZXRC
dWZmZXJTdWJEYXRhIiwgIkZhaWxlZCB3aGlsZSB1bm1hcHBpbmcgYnVmZmVyIik7CisjZW5kaWYK
KyAgICBtX2NvbnRleHQtPm1vdmVFcnJvcnNUb1N5bnRoZXRpY0Vycm9yTGlzdCgpOworfQorCit2
b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpibGl0RnJhbWVidWZmZXIoR0MzRGludCwg
R0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0Mz
RGludCwgR0MzRGJpdGZpZWxkLCBHQzNEZW51bSkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gYmxpdEZyYW1lYnVmZmVyKCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6ZnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIoR0MzRGVudW0sIEdDM0Rl
bnVtLCBXZWJHTFRleHR1cmUqLCBHQzNEaW50LCBHQzNEaW50KQoreworICAgIExPRyhXZWJHTCwg
IltbIE5PVCBJTVBMRU1FTlRFRCBdXSBmcmFtZWJ1ZmZlclRleHR1cmVMYXllcigpIik7Cit9CisK
KyNpZiAhVVNFKE9QRU5HTF9FUykKK3N0YXRpYyBib29sIGlzUmVuZGVyYWJsZUludGVybmFsZm9y
bWF0KEdDM0RlbnVtIGludGVybmFsZm9ybWF0KQoreworICAgIC8vIE9wZW5HTCBFUyAzOiBpbnRl
cm5hbGZvcm1hdCBtdXN0IGJlIGEgY29sb3ItcmVuZGVyYWJsZSwgZGVwdGgtcmVuZGVyYWJsZSwg
b3Igc3RlbmNpbC1yZW5kZXJhYmxlIGZvcm1hdCwgYXMgc2hvd24gaW4gVGFibGUgMSBiZWxvdy4K
KyAgICBzd2l0Y2ggKGludGVybmFsZm9ybWF0KSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6Ujg6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UjhVSToKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpSMTZVSToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSMTZJOgor
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIzMlVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlIzMkk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ukc4OgorICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlJHOFVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJH
OEk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkcxNlVJOgorICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0M0Q6OlJHMTZJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHMzJVSToK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzMySToKKyAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dDNEOjpSR0I4OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjU2NToKKyAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBODoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpTUkdCOF9BTFBIQTg6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCNV9BMToKKyAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBNDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSR0IxMF9BMjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBOFVJOgorICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4SToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSR0IxMF9BMlVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkExNlVJOgor
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkExNkk6CisgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6UkdCQTMySToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMzJVSToK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQxNjoKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQyNDoKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpERVBUSF9DT01QT05FTlQzMkY6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6REVQVEgyNF9TVEVOQ0lMODoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSDMy
Rl9TVEVOQ0lMODoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX0lOREVYODoK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRp
ZgorCitXZWJHTEFueSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0SW50ZXJuYWxmb3Jt
YXRQYXJhbWV0ZXIoR0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0Mz
RGVudW0gcG5hbWUpCit7CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAocG5hbWUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6
OlNBTVBMRVMpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
OklOVkFMSURfRU5VTSwgImdldEludGVybmFsZm9ybWF0UGFyYW1ldGVyIiwgImludmFsaWQgcGFy
YW1ldGVyIG5hbWUiKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgaW50
IG51bVZhbHVlcyA9IDA7CisjaWYgVVNFKE9QRU5HTF9FUykKKyAgICBtX2NvbnRleHQtPmdldElu
dGVybmFsZm9ybWF0aXYodGFyZ2V0LCBpbnRlcm5hbGZvcm1hdCwgR3JhcGhpY3NDb250ZXh0M0Q6
Ok5VTV9TQU1QTEVfQ09VTlRTLCAxLCAmbnVtVmFsdWVzKTsKKworICAgIEdDM0RpbnQgcGFyYW1z
W251bVZhbHVlc107CisgICAgbV9jb250ZXh0LT5nZXRJbnRlcm5hbGZvcm1hdGl2KHRhcmdldCwg
aW50ZXJuYWxmb3JtYXQsIHBuYW1lLCBudW1WYWx1ZXMsIHBhcmFtcyk7CisjZWxzZQorICAgIC8v
IE9uIGRlc2t0b3AgT3BlbkdMIDQuMSBvciBiZWxvdyB3ZSBtdXN0IGVtdWxhdGUgZ2xHZXRJbnRl
cm5hbGZvcm1hdGl2LgorCisgICAgLy8gR0xfSU5WQUxJRF9FTlVNIGlzIGdlbmVyYXRlZCBpZiB0
YXJnZXQgaXMgbm90IEdMX1JFTkRFUkJVRkZFUi4KKyAgICBpZiAodGFyZ2V0ICE9IEdyYXBoaWNz
Q29udGV4dDNEOjpSRU5ERVJCVUZGRVIpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3Jh
cGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgImdldEludGVybmFsZm9ybWF0UGFyYW1ldGVy
IiwgImludmFsaWQgdGFyZ2V0Iik7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwor
ICAgIC8vIEdMX0lOVkFMSURfRU5VTSBpcyBnZW5lcmF0ZWQgaWYgaW50ZXJuYWxmb3JtYXQgaXMg
bm90IGNvbG9yLSwgZGVwdGgtLCBvciBzdGVuY2lsLXJlbmRlcmFibGUuCisgICAgaWYgKCFpc1Jl
bmRlcmFibGVJbnRlcm5hbGZvcm1hdChpbnRlcm5hbGZvcm1hdCkpIHsKKyAgICAgICAgc3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgImdldEludGVybmFs
Zm9ybWF0UGFyYW1ldGVyIiwgImludmFsaWQgaW50ZXJuYWwgZm9ybWF0Iik7CisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIH0KKworICAgIFZlY3RvcjxHQzNEaW50PiBzYW1wbGVzOworICAg
IC8vIFRoZSB3YXkgSSB1bmRlcnN0YW5kIHRoaXMgaXMgdGhhdCB0aGlzIHdpbGwgcmV0dXJuIGEg
TUlOSU1VTSBudW1TYW1wbGVzIGZvciBhbGwgYWNjZXBldGVkIGludGVybmFsZm9ybWF0cy4KKyAg
ICAvLyBIb3dldmVyLCB0aGUgdHJ1ZSB2YWx1ZSBvZiB0aGlzIG9uIHN1cHBvcnRlZCBHTCB2ZXJz
aW9ucyBpcyBnbGVhbmVkIHZpYSBhIGdldEludGVybmFsZm9ybWF0aXYgY2FsbCB0aGF0IGRlcGVu
ZHMgb24gaW50ZXJuYWxmb3JtYXQuCisgICAgaW50IG51bVNhbXBsZXNNYXNrID0gZ2V0SW50UGFy
YW1ldGVyKEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfU0FNUExFUyk7CisKKyAgICB3aGlsZSAobnVt
U2FtcGxlc01hc2sgPiAwKSB7CisgICAgICAgIHNhbXBsZXMuYXBwZW5kKG51bVNhbXBsZXNNYXNr
KTsKKyAgICAgICAgbnVtU2FtcGxlc01hc2sgPSBudW1TYW1wbGVzTWFzayA+PiAxOworICAgIH0K
KworICAgIC8vIFNpbmNlIG11bHRpc2FtcGxpbmcgaXMgbm90IHN1cHBvcnRlZCBmb3Igc2lnbmVk
IGFuZCB1bnNpZ25lZCBpbnRlZ2VyIGludGVybmFsIGZvcm1hdHMsCisgICAgLy8gdGhlIHZhbHVl
IG9mIEdMX05VTV9TQU1QTEVfQ09VTlRTIHdpbGwgYmUgemVybyBmb3Igc3VjaCBmb3JtYXRzLgor
ICAgIG51bVZhbHVlcyA9IGlzSW50ZWdlckZvcm1hdChpbnRlcm5hbGZvcm1hdCkgPyAwIDogc2Ft
cGxlcy5zaXplKCk7CisgICAgR0MzRGludCBwYXJhbXNbbnVtVmFsdWVzXTsKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHNhbXBsZXMuc2l6ZSgpOyArK2kpCisgICAgICAgIHBhcmFtc1tpXSA9
IHNhbXBsZXNbaV07CisjZW5kaWYKKworICAgIHJldHVybiBJbnQzMkFycmF5Ojp0cnlDcmVhdGUo
cGFyYW1zLCBudW1WYWx1ZXMpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNl
OjppbnZhbGlkYXRlRnJhbWVidWZmZXIoR0MzRGVudW0sIGNvbnN0IFZlY3RvcjxHQzNEZW51bT4m
KQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBpbnZhbGlkYXRlRnJh
bWVidWZmZXIoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjppbnZh
bGlkYXRlU3ViRnJhbWVidWZmZXIoR0MzRGVudW0sIGNvbnN0IFZlY3RvcjxHQzNEZW51bT4mLCBH
QzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSkKK3sKKyAgICBMT0coV2ViR0ws
ICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gaW52YWxpZGF0ZVN1YkZyYW1lYnVmZmVyKCkiKTsKK30K
Kwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6cmVhZEJ1ZmZlcihHQzNEZW51bSkK
K3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gcmVhZEJ1ZmZlcigpIik7
Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnJlbmRlcmJ1ZmZlclN0b3Jh
Z2VNdWx0aXNhbXBsZShHQzNEZW51bSB0YXJnZXQsIEdDM0RzaXplaSBzYW1wbGVzLCBHQzNEZW51
bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0KQorewor
ICAgIC8vIFRvIGJlIGJhY2t3YXJkIGNvbXBhdGlibGUgd2l0aCBXZWJHTCAxLCBhbHNvIGFjY2Vw
dHMgaW50ZXJuYWwgZm9ybWF0IERFUFRIX1NURU5DSUwsCisgICAgLy8gd2hpY2ggc2hvdWxkIGJl
IG1hcHBlZCB0byBERVBUSDI0X1NURU5DSUw4IGJ5IGltcGxlbWVudGF0aW9ucy4KKyAgICBpZiAo
aW50ZXJuYWxmb3JtYXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX1NURU5DSUwpCisgICAg
ICAgIGludGVybmFsZm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIMjRfU1RFTkNJTDg7
CisKKyAgICAvLyBFUyAzOiBHTF9JTlZBTElEX09QRVJBVElPTiBpcyBnZW5lcmF0ZWQgaWYgaW50
ZXJuYWxmb3JtYXQgaXMgYSBzaWduZWQgb3IgdW5zaWduZWQgaW50ZWdlciBmb3JtYXQgYW5kIHNh
bXBsZXMgaXMgZ3JlYXRlciB0aGFuIDAuCisgICAgaWYgKGlzSW50ZWdlckZvcm1hdChpbnRlcm5h
bGZvcm1hdCkgJiYgc2FtcGxlcyA+IDApIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3Jh
cGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAicmVuZGVyYnVmZmVyU3RvcmFnZU11
bHRpc2FtcGxlIiwgIm11bHRpc2FtcGxpbmcgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBmb3JtYXQi
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHN3aXRjaCAoaW50ZXJuYWxmb3JtYXQp
IHsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQxNjoKKyAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQzMkY6CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMjQ6CisgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCQTMySToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMzJVSToKKyAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMTZJOgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlJHQkExNlVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4OgorICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4SToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSR0JBOFVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjEwX0EyOgorICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjEwX0EyVUk6CisgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6UkdCQTQ6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkczMkk6CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkczMlVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlJHMTZJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHMTZVSToKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpSRzg6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ukc4
SToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzhVSToKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSMzJJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIzMlVJOgorICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIxNkk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6UjE2VUk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ujg6CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6UjhJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlI4VUk6Cisg
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCNV9BMToKKyAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dDNEOjpSR0I1NjU6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCODoKKyAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX0lOREVYODoKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpTUkdCOF9BTFBIQTg6CisgICAgICAgIG1fY29udGV4dC0+cmVuZGVyYnVmZmVy
U3RvcmFnZU11bHRpc2FtcGxlKHRhcmdldCwgc2FtcGxlcywgaW50ZXJuYWxmb3JtYXQsIHdpZHRo
LCBoZWlnaHQpOworICAgICAgICBtX3JlbmRlcmJ1ZmZlckJpbmRpbmctPnNldEludGVybmFsRm9y
bWF0KGludGVybmFsZm9ybWF0KTsKKyAgICAgICAgbV9yZW5kZXJidWZmZXJCaW5kaW5nLT5zZXRJ
c1ZhbGlkKHRydWUpOworICAgICAgICBtX3JlbmRlcmJ1ZmZlckJpbmRpbmctPnNldFNpemUod2lk
dGgsIGhlaWdodCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OkRFUFRIMzJGX1NURU5DSUw4OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIMjRf
U1RFTkNJTDg6CisgICAgICAgIGlmICghaXNEZXB0aFN0ZW5jaWxTdXBwb3J0ZWQoKSkgeworICAg
ICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5V
TSwgInJlbmRlcmJ1ZmZlclN0b3JhZ2UiLCAiaW52YWxpZCBpbnRlcm5hbGZvcm1hdCIpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIG1fY29udGV4dC0+cmVuZGVyYnVm
ZmVyU3RvcmFnZU11bHRpc2FtcGxlKHRhcmdldCwgc2FtcGxlcywgaW50ZXJuYWxmb3JtYXQsIHdp
ZHRoLCBoZWlnaHQpOworICAgICAgICBtX3JlbmRlcmJ1ZmZlckJpbmRpbmctPnNldFNpemUod2lk
dGgsIGhlaWdodCk7CisgICAgICAgIG1fcmVuZGVyYnVmZmVyQmluZGluZy0+c2V0SXNWYWxpZChp
c0RlcHRoU3RlbmNpbFN1cHBvcnRlZCgpKTsKKyAgICAgICAgbV9yZW5kZXJidWZmZXJCaW5kaW5n
LT5zZXRJbnRlcm5hbEZvcm1hdChpbnRlcm5hbGZvcm1hdCk7CisgICAgICAgIGJyZWFrOworICAg
IGRlZmF1bHQ6CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX0VOVU0sICJyZW5kZXJidWZmZXJTdG9yYWdlIiwgImludmFsaWQgaW50ZXJuYWxmb3Jt
YXQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBhcHBseVN0ZW5jaWxUZXN0KCk7Cit9
CisKK2Jvb2wgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlVGV4U3RvcmFnZUZ1
bmNQYXJhbWV0ZXJzKEdDM0RlbnVtIHRhcmdldCwgR0MzRHNpemVpIGxldmVscywgR0MzRGVudW0g
aW50ZXJuYWxGb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgY29uc3Qg
Y2hhciogZnVuY3Rpb25OYW1lKQoreworICAgIGlmICh3aWR0aCA8IDAgfHwgaGVpZ2h0IDwgMCkg
eworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9W
QUxVRSwgZnVuY3Rpb25OYW1lLCAid2lkdGggb3IgaGVpZ2h0IDwgMCIpOworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKHdpZHRoID4gbV9tYXhUZXh0dXJlU2l6ZSB8fCBo
ZWlnaHQgPiBtX21heFRleHR1cmVTaXplKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdy
YXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgInRleHR1cmUgZGlt
ZW5zaW9ucyBhcmUgbGFyZ2VyIHRoYW4gdGhlIG1heGltdW0gdGV4dHVyZSBzaXplIik7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAodGFyZ2V0ID09IEdyYXBoaWNzQ29u
dGV4dDNEOjpURVhUVVJFX0NVQkVfTUFQKSB7CisgICAgICAgIGlmICh3aWR0aCAhPSBoZWlnaHQp
IHsKKyAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZB
TElEX1ZBTFVFLCBmdW5jdGlvbk5hbWUsICJ3aWR0aCAhPSBoZWlnaHQgZm9yIGN1YmUgbWFwIik7
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKHRh
cmdldCAhPSBHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCkgeworICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUs
ICJpbnZhbGlkIHRhcmdldCIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAg
aWYgKGxldmVscyA8IDAgfHwgbGV2ZWxzID4gbV9tYXhUZXh0dXJlTGV2ZWwpIHsKKyAgICAgICAg
c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rp
b25OYW1lLCAibnVtYmVyIG9mIGxldmVscyBpcyBvdXQgb2YgYm91bmRzIik7CisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKGludGVybmFsRm9ybWF0KSB7CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ujg6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UjhfU05PUk06CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UjE2RjoKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpSMzJGOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlI4VUk6
CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UjhJOgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlIxNlVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIxNkk6CisgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6UjMyVUk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UjMySToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzg6CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6Ukc4X1NOT1JNOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHMTZG
OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHMzJGOgorICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlJHOFVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHOEk6CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkcxNlVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlJHMTZJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHMzJVSToKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpSRzMySToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpS
R0I4OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNSR0I4OgorICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0M0Q6OlJHQjU2NToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0I4X1NO
T1JNOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIxMUZfRzExRl9CMTBGOgorICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjlfRTU6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6UkdCMTZGOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjMyRjoKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpSR0I4VUk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UkdCOEk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMTZVSToKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpSR0IxNkk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdC
MzJVSToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0IzMkk6CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6UkdCQTg6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1JHQjhf
QUxQSEE4OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4X1NOT1JNOgorICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjVfQTE6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6UkdCQTQ6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMTBfQTI6CisgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQTE2RjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpSR0JBMzJGOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4VUk6CisgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQThJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlJHQjEwX0EyVUk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQTE2VUk6CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQTE2SToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSR0JBMzJJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEzMlVJOgorICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX0NPTVBPTkVOVDE2OgorICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OkRFUFRIX0NPTVBPTkVOVDI0OgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkRFUFRIX0NPTVBPTkVOVDMyRjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpE
RVBUSDI0X1NURU5DSUw4OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIMzJGX1NU
RU5DSUw4OgorICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBzeW50aGVzaXpl
R0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJV
bmtub3duIGludGVybmFsRm9ybWF0Iik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6
dGV4U3RvcmFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRHNpemVpIGxldmVscywgR0MzRGVudW0g
aW50ZXJuYWxGb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCkKK3sKKyAg
ICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBh
dXRvIHRleHR1cmUgPSB2YWxpZGF0ZVRleHR1cmVCaW5kaW5nKCJ0ZXhTdG9yYWdlMkQiLCB0YXJn
ZXQsIGZhbHNlKTsKKyAgICBpZiAoIXRleHR1cmUpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
ICghdmFsaWRhdGVUZXhTdG9yYWdlRnVuY1BhcmFtZXRlcnModGFyZ2V0LCBsZXZlbHMsIGludGVy
bmFsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAidGV4U3RvcmFnZTJEIikpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmICghdmFsaWRhdGVOUE9UVGV4dHVyZUxldmVsKHdpZHRoLCBoZWlnaHQsIGxl
dmVscywgInRleFN0b3JhZ2UyRCIpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAodGV4dHVy
ZS0+aW1tdXRhYmxlKCkpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250
ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAidGV4U3RvcmFnZTJEIiwgInRleFN0b3JhZ2UyRCBh
bHJlYWR5IGNhbGxlZCBvbiB0aGlzIHRleHR1cmUiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICB0ZXh0dXJlLT5zZXRJbW11dGFibGUoKTsKKworICAgIG1fY29udGV4dC0+dGV4U3RvcmFn
ZTJEKHRhcmdldCwgbGV2ZWxzLCBpbnRlcm5hbEZvcm1hdCwgd2lkdGgsIGhlaWdodCk7CisKKyAg
ICB7CisgICAgICAgIEdDM0RlbnVtIGZvcm1hdDsKKyAgICAgICAgR0MzRGVudW0gdHlwZTsKKyAg
ICAgICAgaWYgKCFHcmFwaGljc0NvbnRleHQzRDo6cG9zc2libGVGb3JtYXRBbmRUeXBlRm9ySW50
ZXJuYWxGb3JtYXQoaW50ZXJuYWxGb3JtYXQsIGZvcm1hdCwgdHlwZSkpIHsKKyAgICAgICAgICAg
IHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sICJ0ZXhT
dG9yYWdlMkQiLCAiVGV4dHVyZSBoYXMgdW5rbm93biBpbnRlcm5hbCBmb3JtYXQiKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIEdDM0RzaXplaSBsZXZlbFdpZHRo
ID0gd2lkdGg7CisgICAgICAgIEdDM0RzaXplaSBsZXZlbEhlaWdodCA9IGhlaWdodDsKKworICAg
ICAgICB1bnNpZ25lZCBzaXplOworICAgICAgICBHQzNEZW51bSBlcnJvciA9IG1fY29udGV4dC0+
Y29tcHV0ZUltYWdlU2l6ZUluQnl0ZXMoZm9ybWF0LCB0eXBlLCB3aWR0aCwgaGVpZ2h0LCBtX3Vu
cGFja0FsaWdubWVudCwgJnNpemUsIG51bGxwdHIpOworICAgICAgICBpZiAoZXJyb3IgIT0gR3Jh
cGhpY3NDb250ZXh0M0Q6Ok5PX0VSUk9SKSB7CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJv
cihlcnJvciwgInRleFN0b3JhZ2UyRCIsICJiYWQgZGltZW5zaW9ucyIpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgVmVjdG9yPGNoYXI+IGRhdGEoc2l6ZSk7Cisg
ICAgICAgIG1lbXNldChkYXRhLmRhdGEoKSwgMCwgc2l6ZSk7CisKKyAgICAgICAgZm9yIChHQzNE
c2l6ZWkgbGV2ZWwgPSAwOyBsZXZlbCA8IGxldmVsczsgKytsZXZlbCkgeworICAgICAgICAgICAg
aWYgKHRhcmdldCA9PSBHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUCkgeworICAg
ICAgICAgICAgICAgIG1fY29udGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFwaGljc0NvbnRleHQzRDo6
VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLCBsZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwgbGV2
ZWxIZWlnaHQsIGZvcm1hdCwgdHlwZSwgZGF0YS5kYXRhKCkpOworICAgICAgICAgICAgICAgIG1f
Y29udGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9YLCBsZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwgbGV2ZWxIZWlnaHQsIGZvcm1h
dCwgdHlwZSwgZGF0YS5kYXRhKCkpOworICAgICAgICAgICAgICAgIG1fY29udGV4dC0+dGV4U3Vi
SW1hZ2UyRChHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLCBs
ZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwgbGV2ZWxIZWlnaHQsIGZvcm1hdCwgdHlwZSwgZGF0YS5k
YXRhKCkpOworICAgICAgICAgICAgICAgIG1fY29udGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFwaGlj
c0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLCBsZXZlbCwgMCwgMCwgbGV2
ZWxXaWR0aCwgbGV2ZWxIZWlnaHQsIGZvcm1hdCwgdHlwZSwgZGF0YS5kYXRhKCkpOworICAgICAg
ICAgICAgICAgIG1fY29udGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFwaGljc0NvbnRleHQzRDo6VEVY
VFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLCBsZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwgbGV2ZWxI
ZWlnaHQsIGZvcm1hdCwgdHlwZSwgZGF0YS5kYXRhKCkpOworICAgICAgICAgICAgICAgIG1fY29u
dGV4dC0+dGV4U3ViSW1hZ2UyRChHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9O
RUdBVElWRV9aLCBsZXZlbCwgMCwgMCwgbGV2ZWxXaWR0aCwgbGV2ZWxIZWlnaHQsIGZvcm1hdCwg
dHlwZSwgZGF0YS5kYXRhKCkpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
bV9jb250ZXh0LT50ZXhTdWJJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIDAsIDAsIGxldmVsV2lkdGgs
IGxldmVsSGVpZ2h0LCBmb3JtYXQsIHR5cGUsIGRhdGEuZGF0YSgpKTsKKyAgICAgICAgICAgIGxl
dmVsV2lkdGggPSBzdGQ6Om1heCgxLCBsZXZlbFdpZHRoIC8gMik7CisgICAgICAgICAgICBsZXZl
bEhlaWdodCA9IHN0ZDo6bWF4KDEsIGxldmVsSGVpZ2h0IC8gMik7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBmb3IgKEdDM0RzaXplaSBsZXZlbCA9IDA7IGxldmVsIDwgbGV2ZWxzOyArK2xldmVs
KSB7CisgICAgICAgIGlmICh0YXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfQ1VC
RV9NQVApIHsKKyAgICAgICAgICAgIHRleHR1cmUtPnNldExldmVsSW5mbyhHcmFwaGljc0NvbnRl
eHQzRDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQs
IHdpZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKKyAgICAg
ICAgICAgIHRleHR1cmUtPnNldExldmVsSW5mbyhHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9YLCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQsIHdpZHRoLCBoZWlnaHQs
IEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKKyAgICAgICAgICAgIHRleHR1cmUt
PnNldExldmVsSW5mbyhHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJVElW
RV9ZLCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQsIHdpZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29udGV4
dDNEOjpVTlNJR05FRF9CWVRFKTsKKyAgICAgICAgICAgIHRleHR1cmUtPnNldExldmVsSW5mbyhH
cmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLCBsZXZlbCwgaW50
ZXJuYWxGb3JtYXQsIHdpZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9C
WVRFKTsKKyAgICAgICAgICAgIHRleHR1cmUtPnNldExldmVsSW5mbyhHcmFwaGljc0NvbnRleHQz
RDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQsIHdp
ZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKKyAgICAgICAg
ICAgIHRleHR1cmUtPnNldExldmVsSW5mbyhHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9DVUJF
X01BUF9ORUdBVElWRV9aLCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQsIHdpZHRoLCBoZWlnaHQsIEdy
YXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICB0ZXh0dXJlLT5zZXRMZXZlbEluZm8odGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxGb3JtYXQs
IHdpZHRoLCBoZWlnaHQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKKyAgICB9
Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleFN0b3JhZ2UzRChHQzNE
ZW51bSwgR0MzRHNpemVpLCBHQzNEZW51bSwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RzaXpl
aSkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdGV4U3RvcmFnZTNE
KCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4SW1hZ2UyRChH
QzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RpbnQs
IEdDM0RlbnVtLCBHQzNEZW51bSwgR0MzRGludDY0KQoreworICAgIExPRyhXZWJHTCwgIltbIE5P
VCBJTVBMRU1FTlRFRCBdXSB0ZXhJbWFnZTJEKCkiKTsKK30KKworRXhjZXB0aW9uT3I8dm9pZD4g
V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleEltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQs
IEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVu
dW0sIFRleEltYWdlU291cmNlJiYpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVO
VEVEIF1dIHRleEltYWdlMkQoKSIpOworICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgV2ViR0wy
UmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleEltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0Rp
bnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFJl
ZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYsIEdDM0R1aW50KQoreworICAgIExPRyhXZWJHTCwgIltb
IE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhJbWFnZTJEKCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6dGV4SW1hZ2UzRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwg
R0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGludCwgR0MzRGVudW0sIEdDM0Rl
bnVtLCBHQzNEaW50NjQpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1d
IHRleEltYWdlM0QoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp0
ZXhJbWFnZTNEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXpl
aSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNl
JiYpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleEltYWdlM0Qo
KSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp0ZXhJbWFnZTNEKEdD
M0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVp
LCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYp
Cit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleEltYWdlM0QoKSIp
OworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp0ZXhJbWFnZTNEKEdDM0Rl
bnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVpLCBH
QzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYsIEdD
M0R1aW50KQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhJbWFn
ZTNEKCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4U3ViSW1h
Z2UyRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNE
c2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwgR0MzRGludDY0KQoreworICAgIExPRyhXZWJHTCwg
IltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhTdWJJbWFnZTJEKCkiKTsKK30KKworRXhjZXB0aW9u
T3I8dm9pZD4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleFN1YkltYWdlMkQoR0MzRGVu
dW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNE
ZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCit7CisgICAgTE9HKFdlYkdMLCAiW1sg
Tk9UIElNUExFTUVOVEVEIF1dIHRleFN1YkltYWdlMkQoKSIpOworICAgIHJldHVybiB7IH07Cit9
CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleFN1YkltYWdlMkQoR0MzRGVu
dW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNE
ZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYsIEdDM0R1aW50KQorewor
ICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhTdWJJbWFnZTJEKCkiKTsK
K30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4U3ViSW1hZ2UzRChHQzNE
ZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNE
c2l6ZWksIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBHQzNEaW50NjQpCit7CisgICAg
TE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleFN1YkltYWdlM0QoKSIpOworfQor
Cit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp0ZXhTdWJJbWFnZTNEKEdDM0RlbnVt
LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXpl
aSwgR0MzRHNpemVpLCBHQzNEZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+
JiYsIEdDM0R1aW50KQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0
ZXhTdWJJbWFnZTNEKCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6
dGV4U3ViSW1hZ2UzRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGlu
dCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBU
ZXhJbWFnZVNvdXJjZSYmKQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBd
XSB0ZXhTdWJJbWFnZTNEKCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Y29weVRleFN1YkltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQs
IEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpKQoreworICAg
IExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBjb3B5VGV4U3ViSW1hZ2UzRCgpIik7
Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNvbXByZXNzZWRUZXhJbWFn
ZTNEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdD
M0RzaXplaSwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEaW50NjQpCit7CisgICAgTE9HKFdlYkdM
LCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhJbWFnZTNEKCkiKTsKK30KKwor
dm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29tcHJlc3NlZFRleEltYWdlM0QoR0Mz
RGVudW0sIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVp
LCBHQzNEaW50LCBBcnJheUJ1ZmZlclZpZXcmLCBHQzNEdWludCwgR0MzRHVpbnQpCit7CisgICAg
TE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhJbWFnZTNEKCki
KTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29tcHJlc3NlZFRleFN1
YkltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdD
M0RzaXplaSwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEc2l6ZWksIEdDM0Rp
bnQ2NCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3Nl
ZFRleFN1YkltYWdlM0QoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0Mz
RGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGVudW0s
IEFycmF5QnVmZmVyVmlldyYsIEdDM0R1aW50LCBHQzNEdWludCkKK3sKKyAgICBMT0coV2ViR0ws
ICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleFN1YkltYWdlM0QoKSIpOworfQor
CitHQzNEaW50IFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRGcmFnRGF0YUxvY2F0aW9u
KFdlYkdMUHJvZ3JhbSYsIGNvbnN0IFN0cmluZyYpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9U
IElNUExFTUVOVEVEIF1dIGdldEZyYWdEYXRhTG9jYXRpb24oKSIpOworICAgIHJldHVybiAwOwor
fQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtMXVpKFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiwgR0MzRHVpbnQpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExF
TUVOVEVEIF1dIHVuaWZvcm0xdWkoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHRCYXNlOjp1bmlmb3JtMnVpKFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgR0MzRHVpbnQsIEdDM0R1
aW50KQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3JtMnVp
KCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTN1aShX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0R1aW50LCBHQzNEdWludCwgR0MzRHVpbnQpCit7Cisg
ICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm0zdWkoKSIpOworfQor
Cit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtNHVpKFdlYkdMVW5pZm9y
bUxvY2F0aW9uKiwgR0MzRHVpbnQsIEdDM0R1aW50LCBHQzNEdWludCwgR0MzRHVpbnQpCit7Cisg
ICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm00dWkoKSIpOworfQor
Cit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtMXVpdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbiosIFVpbnQzMkxpc3QmJiwgR0MzRHVpbnQsIEdDM0R1aW50KQoreworICAgIExP
RyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3JtMXVpdigpIik7Cit9CisKK3Zv
aWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm0ydWl2KFdlYkdMVW5pZm9ybUxv
Y2F0aW9uKiwgVWludDMyTGlzdCYmLCBHQzNEdWludCwgR0MzRHVpbnQpCit7CisgICAgTE9HKFdl
YkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm0ydWl2KCkiKTsKK30KKwordm9pZCBX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTN1aXYoV2ViR0xVbmlmb3JtTG9jYXRp
b24qLCBVaW50MzJMaXN0JiYsIEdDM0R1aW50LCBHQzNEdWludCkKK3sKKyAgICBMT0coV2ViR0ws
ICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTN1aXYoKSIpOworfQorCit2b2lkIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtNHVpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbios
IFVpbnQzMkxpc3QmJiwgR0MzRHVpbnQsIEdDM0R1aW50KQoreworICAgIExPRyhXZWJHTCwgIltb
IE5PVCBJTVBMRU1FTlRFRCBdXSB1bmlmb3JtNHVpdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRyaXgyeDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlv
biosIEdDM0Rib29sZWFuLCBGbG9hdDMyTGlzdCYmLCBHQzNEdWludCwgR0MzRHVpbnQpCit7Cisg
ICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXgyeDNmdigp
Iik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRyaXgz
eDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0Rib29sZWFuLCBGbG9hdDMyTGlzdCYmLCBH
QzNEdWludCwgR0MzRHVpbnQpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVE
IF1dIHVuaWZvcm1NYXRyaXgzeDJmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OnVuaWZvcm1NYXRyaXgyeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0Ri
b29sZWFuLCBGbG9hdDMyTGlzdCYmLCBHQzNEdWludCwgR0MzRHVpbnQpCit7CisgICAgTE9HKFdl
YkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXgyeDRmdigpIik7Cit9CisK
K3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRyaXg0eDJmdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbiosIEdDM0Rib29sZWFuLCBGbG9hdDMyTGlzdCYmLCBHQzNEdWludCwg
R0MzRHVpbnQpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZv
cm1NYXRyaXg0eDJmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6
OnVuaWZvcm1NYXRyaXgzeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0Rib29sZWFuLCBG
bG9hdDMyTGlzdCYmLCBHQzNEdWludCwgR0MzRHVpbnQpCit7CisgICAgTE9HKFdlYkdMLCAiW1sg
Tk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXgzeDRmdigpIik7Cit9CisKK3ZvaWQgV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRyaXg0eDNmdihXZWJHTFVuaWZvcm1M
b2NhdGlvbiosIEdDM0Rib29sZWFuLCBGbG9hdDMyTGlzdCYmLCBHQzNEdWludCwgR0MzRHVpbnQp
Cit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXg0
eDNmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZlcnRleEF0
dHJpYkk0aShHQzNEdWludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCkKK3sK
KyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdmVydGV4QXR0cmliSTRpKCki
KTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmVydGV4QXR0cmliSTRp
dihHQzNEdWludCwgSW50MzJMaXN0JiYpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExF
TUVOVEVEIF1dIHZlcnRleEF0dHJpYkk0aXYoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHRCYXNlOjp2ZXJ0ZXhBdHRyaWJJNHVpKEdDM0R1aW50LCBHQzNEdWludCwgR0MzRHVp
bnQsIEdDM0R1aW50LCBHQzNEdWludCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVN
RU5URUQgXV0gdmVydGV4QXR0cmliSTR1aSgpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5n
Q29udGV4dEJhc2U6OnZlcnRleEF0dHJpYkk0dWl2KEdDM0R1aW50LCBVaW50MzJMaXN0JiYpCit7
CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHZlcnRleEF0dHJpYkk0dWl2
KCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmVydGV4QXR0cmli
SVBvaW50ZXIoR0MzRHVpbnQsIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEc2l6ZWksIEdDM0RpbnQ2
NCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdmVydGV4QXR0cmli
SVBvaW50ZXIoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVh
cihHQzNEYml0ZmllbGQgbWFzaykKK3sKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygp
KQorICAgICAgICByZXR1cm47CisgICAgaWYgKG1hc2sgJiB+KEdyYXBoaWNzQ29udGV4dDNEOjpD
T0xPUl9CVUZGRVJfQklUIHwgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX0JVRkZFUl9CSVQgfCBH
cmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9CVUZGRVJfQklUKSkgeworICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyIiwgImlu
dmFsaWQgbWFzayIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGNvbnN0IGNoYXIqIHJl
YXNvbiA9ICJmcmFtZWJ1ZmZlciBpbmNvbXBsZXRlIjsKKyAgICBpZiAobV9mcmFtZWJ1ZmZlckJp
bmRpbmcgJiYgIW1fZnJhbWVidWZmZXJCaW5kaW5nLT5vbkFjY2VzcyhncmFwaGljc0NvbnRleHQz
RCgpLCAmcmVhc29uKSkgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRl
eHQzRDo6SU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sICJjbGVhciIsIHJlYXNvbik7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKG1fZnJhbWVidWZmZXJCaW5kaW5nICYmICht
YXNrICYgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTE9SX0JVRkZFUl9CSVQpICYmIGlzSW50ZWdlckZv
cm1hdChtX2ZyYW1lYnVmZmVyQmluZGluZy0+Z2V0Q29sb3JCdWZmZXJGb3JtYXQoKSkpIHsKKyAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFU
SU9OLCAiY2xlYXIiLCAiY2Fubm90IGNsZWFyIGFuIGludGVnZXIgYnVmZmVyIik7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgaWYgKCFjbGVhcklmQ29tcG9zaXRlZChtYXNrKSkKKyAgICAg
ICAgbV9jb250ZXh0LT5jbGVhcihtYXNrKTsKKyAgICBtYXJrQ29udGV4dENoYW5nZWRBbmROb3Rp
ZnlDYW52YXNPYnNlcnZlcigpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNl
Ojp2ZXJ0ZXhBdHRyaWJEaXZpc29yKEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29yKQor
eworICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZlcnRleEF0dHJpYkRpdmlzb3IoaW5kZXgs
IGRpdmlzb3IpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3QXJy
YXlzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXplaSBjb3Vu
dCwgR0MzRHNpemVpIGluc3RhbmNlQ291bnQpCit7CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBl
bmRpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6ZHJhd0FycmF5c0luc3RhbmNlZChtb2RlLCBmaXJzdCwgY291bnQsIGluc3RhbmNlQ291bnQp
OworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3RWxlbWVudHNJbnN0
YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51bSB0eXBlLCBHQzNE
aW50NjQgb2Zmc2V0LCBHQzNEc2l6ZWkgaW5zdGFuY2VDb3VudCkKK3sKKyAgICBpZiAoaXNDb250
ZXh0TG9zdE9yUGVuZGluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpkcmF3RWxlbWVudHNJbnN0YW5jZWQobW9kZSwgY291bnQsIHR5cGUsIG9m
ZnNldCwgaW5zdGFuY2VDb3VudCk7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJh
c2U6OmRyYXdSYW5nZUVsZW1lbnRzKEdDM0RlbnVtLCBHQzNEdWludCwgR0MzRHVpbnQsIEdDM0Rz
aXplaSwgR0MzRGVudW0sIEdDM0RpbnQ2NCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1Q
TEVNRU5URUQgXV0gZHJhd1JhbmdlRWxlbWVudHMoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHRCYXNlOjpkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8R0MzRGVudW0+JiBidWZm
ZXJzKQoreworICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCisgICAgICAgIHJldHVybjsKKyAgICBH
QzNEc2l6ZWkgbiA9IGJ1ZmZlcnMuc2l6ZSgpOworICAgIGNvbnN0IEdDM0RlbnVtKiBidWZzID0g
YnVmZmVycy5kYXRhKCk7CisgICAgaWYgKCFtX2ZyYW1lYnVmZmVyQmluZGluZykgeworICAgICAg
ICBpZiAobiAhPSAxKSB7CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0Nv
bnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImRyYXdCdWZmZXJzIiwgIm1vcmUgdGhhbiBvbmUgYnVm
ZmVyIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGJ1ZnNb
MF0gIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkJBQ0sgJiYgYnVmc1swXSAhPSBHcmFwaGljc0NvbnRl
eHQzRDo6Tk9ORSkgeworICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250
ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiZHJhd0J1ZmZlcnMiLCAiQkFDSyBvciBOT05FIik7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgLy8gQmVjYXVzZSB0aGUg
YmFja2J1ZmZlciBpcyBzaW11bGF0ZWQgb24gYWxsIGN1cnJlbnQgV2ViS2l0IHBvcnRzLCB3ZSBu
ZWVkIHRvIGNoYW5nZSBCQUNLIHRvIENPTE9SX0FUVEFDSE1FTlQwLgorICAgICAgICBHQzNEZW51
bSB2YWx1ZSA9IChidWZzWzBdID09IEdyYXBoaWNzQ29udGV4dDNEOjpCQUNLKSA/IEdyYXBoaWNz
Q29udGV4dDNEOjpDT0xPUl9BVFRBQ0hNRU5UMCA6IEdyYXBoaWNzQ29udGV4dDNEOjpOT05FOwor
ICAgICAgICBncmFwaGljc0NvbnRleHQzRCgpLT5nZXRFeHRlbnNpb25zKCkuZHJhd0J1ZmZlcnNF
WFQoMSwgJnZhbHVlKTsKKyAgICAgICAgc2V0QmFja0RyYXdCdWZmZXIoYnVmc1swXSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgaWYgKG4gPiBnZXRNYXhEcmF3QnVmZmVycygpKSB7CisgICAgICAg
ICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwg
ImRyYXdCdWZmZXJzIiwgIm1vcmUgdGhhbiBtYXggZHJhdyBidWZmZXJzIik7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgZm9yIChHQzNEc2l6ZWkgaSA9IDA7IGkgPCBu
OyArK2kpIHsKKyAgICAgICAgICAgIGlmIChidWZzW2ldICE9IEdyYXBoaWNzQ29udGV4dDNEOjpO
T05FICYmIGJ1ZnNbaV0gIT0gc3RhdGljX2Nhc3Q8R0MzRGVudW0+KEdyYXBoaWNzQ29udGV4dDNE
OjpDT0xPUl9BVFRBQ0hNRU5UMCArIGkpKSB7CisgICAgICAgICAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiZHJhd0J1ZmZlcnMi
LCAiQ09MT1JfQVRUQUNITUVOVGkgb3IgTk9ORSIpOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBtX2ZyYW1lYnVmZmVyQmluZGluZy0+
ZHJhd0J1ZmZlcnMoYnVmZmVycyk7CisgICAgfQorfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpjbGVhckJ1ZmZlcml2KEdDM0RlbnVtIGJ1ZmZlciwgR0MzRGludCBkcmF3YnVm
ZmVyLCBJbnQzMkxpc3QmJiwgR0MzRHVpbnQpCit7CisgICAgc3dpdGNoIChidWZmZXIpIHsKKyAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUjoKKyAgICAgICAgaWYgKGRyYXdidWZmZXIg
PCAwIHx8IGRyYXdidWZmZXIgPj0gZ2V0TWF4RHJhd0J1ZmZlcnMoKSkgeworICAgICAgICAgICAg
c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJjbGVh
ckJ1ZmZlcml2IiwgImJ1ZmZlciBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVyaXYsIHJl
cXVpcmVzIGdsMy5oIGFuZCBFUzMvZ2wuaAorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpTVEVOQ0lMOgorICAgICAgICBpZiAoZHJhd2J1ZmZlcikgeworICAgICAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUs
ICJjbGVhckJ1ZmZlcml2IiwgImJ1ZmZlciBpbmRleCBtdXN0IGJlIDAiKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVyaXYs
IHJlcXVpcmVzIGdsMy5oIGFuZCBFUzMvZ2wuaAorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpERVBUSDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBU
SF9TVEVOQ0lMOgorICAgIGRlZmF1bHQ6CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgImNsZWFyQnVmZmVyaXYiLCAiYnVmZmVy
IGFyZ3VtZW50IG11c3QgYmUgQ09MT1Igb3IgU1RFTkNJTCIpOworICAgICAgICBicmVhazsKKyAg
ICB9Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsZWFyQnVmZmVydWl2
KEdDM0RlbnVtIGJ1ZmZlciwgR0MzRGludCBkcmF3YnVmZmVyLCBVaW50MzJMaXN0JiYsIEdDM0R1
aW50KQoreworICAgIHN3aXRjaCAoYnVmZmVyKSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6Q09MT1I6CisgICAgICAgIGlmIChkcmF3YnVmZmVyIDwgMCB8fCBkcmF3YnVmZmVyID49IGdl
dE1heERyYXdCdWZmZXJzKCkpIHsKKyAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJ1aXYiLCAiYnVmZmVyIGlu
ZGV4IG91dCBvZiByYW5nZSIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJ1aXYsIHJlcXVpcmVzIGdsMy5oIGFuZCBFUzMv
Z2wuaAorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSDoK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMOgorICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OkRFUFRIX1NURU5DSUw6CisgICAgZGVmYXVsdDoKKyAgICAgICAgc3ludGhlc2l6
ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiY2xlYXJCdWZm
ZXJ1aXYiLCAiYnVmZmVyIGFyZ3VtZW50IG11c3QgYmUgQ09MT1IiKTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQorfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVhckJ1ZmZl
cmZ2KEdDM0RlbnVtIGJ1ZmZlciwgR0MzRGludCBkcmF3YnVmZmVyLCBGbG9hdDMyTGlzdCYmLCBH
QzNEdWludCkKK3sKKyAgICBzd2l0Y2ggKGJ1ZmZlcikgeworICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkNPTE9SOgorICAgICAgICBpZiAoZHJhd2J1ZmZlciA8IDAgfHwgZHJhd2J1ZmZlciA+
PSBnZXRNYXhEcmF3QnVmZmVycygpKSB7CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVmZmVyZnYiLCAiYnVmZmVy
IGluZGV4IG91dCBvZiByYW5nZSIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJmdiwgcmVxdWlyZXMgZ2wzLmggYW5kIEVT
My9nbC5oCisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRI
OgorICAgICAgICBpZiAoZHJhd2J1ZmZlcikgeworICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJy
b3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJjbGVhckJ1ZmZlcmZ2IiwgImJ1
ZmZlciBpbmRleCBtdXN0IGJlIDAiKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVyZnYsIHJlcXVpcmVzIGdsMy5oIGFuZCBF
UzMvZ2wuaAorICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVO
Q0lMOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX1NURU5DSUw6CisgICAgZGVm
YXVsdDoKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFM
SURfT1BFUkFUSU9OLCAiY2xlYXJCdWZmZXJmdiIsICJidWZmZXIgYXJndW1lbnQgbXVzdCBiZSBD
T0xPUiBPUiBERVBUSCIpOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3ZvaWQgV2ViR0wy
UmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsZWFyQnVmZmVyZmkoR0MzRGVudW0gYnVmZmVyLCBHQzNE
aW50IGRyYXdidWZmZXIsIEdDM0RmbG9hdCwgR0MzRGludCkKK3sKKyAgICBzd2l0Y2ggKGJ1ZmZl
cikgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX1NURU5DSUw6CisgICAgICAg
IGlmIChkcmF3YnVmZmVyKSB7CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVmZmVyZnYiLCAiYnVmZmVyIGluZGV4
IG11c3QgYmUgMCIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIC8v
IFRPRE86IENhbGwgY2xlYXJCdWZmZXJmaSwgcmVxdWlyZXMgZ2wzLmggYW5kIEVTMy9nbC5oCisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTE9SOgorICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlNURU5DSUw6CisgICAgZGVmYXVsdDoKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiY2xlYXJCdWZmZXJmdiIsICJidWZmZXIg
YXJndW1lbnQgbXVzdCBiZSBERVBUSF9TVEVOQ0lMIik7CisgICAgICAgIGJyZWFrOworICAgIH0K
K30KKworUmVmUHRyPFdlYkdMUXVlcnk+IFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpjcmVh
dGVRdWVyeSgpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNyZWF0
ZVF1ZXJ5KCkiKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0QmFzZTo6ZGVsZXRlUXVlcnkoV2ViR0xRdWVyeSopCit7CisgICAgTE9HKFdlYkdM
LCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGRlbGV0ZVF1ZXJ5KCkiKTsKK30KKworR0MzRGJvb2xl
YW4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmlzUXVlcnkoV2ViR0xRdWVyeSopCit7Cisg
ICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGlzUXVlcnkoKSIpOworICAgIHJl
dHVybiBmYWxzZTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6YmVnaW5R
dWVyeShHQzNEZW51bSwgV2ViR0xRdWVyeSYpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElN
UExFTUVOVEVEIF1dIGJlZ2luUXVlcnkoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0Nv
bnRleHRCYXNlOjplbmRRdWVyeShHQzNEZW51bSkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gZW5kUXVlcnkoKSIpOworfQorCitSZWZQdHI8V2ViR0xRdWVyeT4gV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFF1ZXJ5KEdDM0RlbnVtLCBHQzNEZW51bSkKK3sK
KyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gZ2V0cXVlcnkoKSIpOworICAg
IHJldHVybiBudWxscHRyOworfQorCitXZWJHTEFueSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Z2V0UXVlcnlQYXJhbWV0ZXIoV2ViR0xRdWVyeSYsIEdDM0RlbnVtKQoreworICAgIExPRyhX
ZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBnZXRRdWVyeVBhcmFtZXRlcikiKTsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPFdlYkdMU2FtcGxlcj4gV2ViR0wyUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmNyZWF0ZVNhbXBsZXIoKQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJ
TVBMRU1FTlRFRCBdXSBjcmVhdGVTYW1wbGVyKCkiKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
Kwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZGVsZXRlU2FtcGxlcihXZWJHTFNh
bXBsZXIqKQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBkZWxldGVT
YW1wbGVyKCkiKTsKK30KKworR0MzRGJvb2xlYW4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmlzU2FtcGxlcihXZWJHTFNhbXBsZXIqKQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBM
RU1FTlRFRCBdXSBpc1NhbXBsZXIoKSIpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6YmluZFNhbXBsZXIoR0MzRHVpbnQsIFdlYkdMU2Ft
cGxlciopCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGJpbmRTYW1w
bGVyKCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6c2FtcGxlclBh
cmFtZXRlcmkoV2ViR0xTYW1wbGVyJiwgR0MzRGVudW0sIEdDM0RpbnQpCit7CisgICAgTE9HKFdl
YkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHNhbXBsZXJQYXJhbWV0ZXJpKCkiKTsKK30KKwor
dm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6c2FtcGxlclBhcmFtZXRlcmYoV2ViR0xT
YW1wbGVyJiwgR0MzRGVudW0sIEdDM0RmbG9hdCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gc2FtcGxlclBhcmFtZXRlcmYoKSIpOworfQorCitXZWJHTEFueSBXZWJH
TDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2FtcGxlclBhcmFtZXRlcihXZWJHTFNhbXBsZXIm
LCBHQzNEZW51bSkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gZ2V0
U2FtcGxlclBhcmFtZXRlcigpIik7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxX
ZWJHTFN5bmM+IFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpmZW5jZVN5bmMoR0MzRGVudW0s
IEdDM0RiaXRmaWVsZCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0g
ZmVuY2VTeW5jKCkiKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworR0MzRGJvb2xlYW4gV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmlzU3luYyhXZWJHTFN5bmMqKQoreworICAgIExPRyhX
ZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBpc1N5bmMoKSIpOworICAgIHJldHVybiBmYWxz
ZTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZGVsZXRlU3luYyhXZWJH
TFN5bmMqKQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBkZWxldGVT
eW5jKCkiKTsKK30KKworR0MzRGVudW0gV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsaWVu
dFdhaXRTeW5jKFdlYkdMU3luYyYsIEdDM0RiaXRmaWVsZCwgR0MzRHVpbnQ2NCkKK3sKKyAgICAv
LyBOb3RlOiBEbyBub3QgaW1wbGVtZW50IHRoaXMgZnVuY3Rpb24gd2l0aG91dCBjb25zdWx0aW5n
IHdlYmtpdC1kZXYgYW5kIFdlYkdMCisgICAgLy8gcmV2aWV3ZXJzIGJlZm9yZWhhbmQuIEFwcGxl
IGZvbGtzLCBzZWUgPHJkYXI6Ly9wcm9ibGVtLzM2NjY2NDU4Pi4KKyAgICBMT0coV2ViR0wsICJb
WyBOT1QgSU1QTEVNRU5URUQgXV0gY2xpZW50V2FpdFN5bmMoKSIpOworICAgIHJldHVybiAwOwor
fQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp3YWl0U3luYyhXZWJHTFN5bmMm
LCBHQzNEYml0ZmllbGQsIEdDM0RpbnQ2NCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1Q
TEVNRU5URUQgXV0gd2FpdFN5bmMoKSIpOworfQorCitXZWJHTEFueSBXZWJHTDJSZW5kZXJpbmdD
b250ZXh0QmFzZTo6Z2V0U3luY1BhcmFtZXRlcihXZWJHTFN5bmMmLCBHQzNEZW51bSkKK3sKKyAg
ICAvLyBOb3RlOiBEbyBub3QgaW1wbGVtZW50IHRoaXMgZnVuY3Rpb24gd2l0aG91dCBjb25zdWx0
aW5nIHdlYmtpdC1kZXYgYW5kIFdlYkdMCisgICAgLy8gcmV2aWV3ZXJzIGJlZm9yZWhhbmQuIEFw
cGxlIGZvbGtzLCBzZWUgPHJkYXI6Ly9wcm9ibGVtLzM2NjY2NDU4Pi4KKyAgICBMT0coV2ViR0ws
ICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gZ2V0U3luY1BhcmFtZXRlcigpIik7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK1JlZlB0cjxXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPiBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlVHJhbnNmb3JtRmVlZGJhY2soKQoreworICAgIExPRyhX
ZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBjcmVhdGVUcmFuc2Zvcm1GZWVkYmFjaygpIik7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJh
c2U6OmRlbGV0ZVRyYW5zZm9ybUZlZWRiYWNrKFdlYkdMVHJhbnNmb3JtRmVlZGJhY2sqKQorewor
ICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBkZWxldGVUcmFuc2Zvcm1GZWVk
YmFjaygpIik7Cit9CisKK0dDM0Rib29sZWFuIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpp
c1RyYW5zZm9ybUZlZWRiYWNrKFdlYkdMVHJhbnNmb3JtRmVlZGJhY2sqKQoreworICAgIExPRyhX
ZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBpc1RyYW5zZm9ybUZlZWRiYWNrKCkiKTsKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJp
bmRUcmFuc2Zvcm1GZWVkYmFjayhHQzNEZW51bSwgV2ViR0xUcmFuc2Zvcm1GZWVkYmFjayopCit7
CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGJpbmRUcmFuc2Zvcm1GZWVk
YmFjaygpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJlZ2luVHJh
bnNmb3JtRmVlZGJhY2soR0MzRGVudW0pCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExF
TUVOVEVEIF1dIGJlZ2luVHJhbnNmb3JtRmVlZGJhY2soKSIpOworfQorCit2b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHRCYXNlOjplbmRUcmFuc2Zvcm1GZWVkYmFjaygpCit7CisgICAgTE9HKFdl
YkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGVuZFRyYW5zZm9ybUZlZWRiYWNrKCkiKTsKK30K
Kwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dHJhbnNmb3JtRmVlZGJhY2tWYXJ5
aW5ncyhXZWJHTFByb2dyYW0mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEdDM0RlbnVtKQorewor
ICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0cmFuc2Zvcm1GZWVkYmFja1Zh
cnlpbmdzKCkiKTsKK30KKworUmVmUHRyPFdlYkdMQWN0aXZlSW5mbz4gV2ViR0wyUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZyhXZWJHTFByb2dyYW0mLCBH
QzNEdWludCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gZ2V0VHJh
bnNmb3JtRmVlZGJhY2tWYXJ5aW5nKCkiKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwordm9p
ZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6cGF1c2VUcmFuc2Zvcm1GZWVkYmFjaygpCit7
CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHBhdXNlVHJhbnNmb3JtRmVl
ZGJhY2soKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpyZXN1bWVU
cmFuc2Zvcm1GZWVkYmFjaygpCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVE
IF1dIHJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrKCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0QmFzZTo6YmluZEJ1ZmZlckJhc2UoR0MzRGVudW0sIEdDM0R1aW50LCBXZWJHTEJ1
ZmZlciopCit7CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGJpbmRCdWZm
ZXJCYXNlKCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6YmluZEJ1
ZmZlclJhbmdlKEdDM0RlbnVtLCBHQzNEdWludCwgV2ViR0xCdWZmZXIqLCBHQzNEaW50NjQsIEdD
M0RpbnQ2NCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gYmluZEJ1
ZmZlclJhbmdlKCkiKTsKK30KKworV2ViR0xBbnkgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmdldEluZGV4ZWRQYXJhbWV0ZXIoR0MzRGVudW0gdGFyZ2V0LCBHQzNEdWludCkKK3sKKyAgICBz
d2l0Y2ggKHRhcmdldCkgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlRSQU5TRk9STV9G
RUVEQkFDS19CVUZGRVJfQklORElORzoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpUUkFO
U0ZPUk1fRkVFREJBQ0tfQlVGRkVSX1NJWkU6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
VFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9TVEFSVDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpVTklGT1JNX0JVRkZFUl9CSU5ESU5HOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlVOSUZPUk1fQlVGRkVSX1NJWkU6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5JRk9S
TV9CVUZGRVJfU1RBUlQ6CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dDNEOjpJTlZBTElEX0VOVU0sICJnZXRJbmRleGVkUGFyYW1ldGVyIiwgInBhcmFtZXRlciBuYW1l
IG5vdCB5ZXQgc3VwcG9ydGVkIik7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGRlZmF1
bHQ6CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElE
X0VOVU0sICJnZXRJbmRleGVkUGFyYW1ldGVyIiwgImludmFsaWQgcGFyYW1ldGVyIG5hbWUiKTsK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorfQorCitPcHRpb25hbDxWZWN0b3I8R0Mz
RHVpbnQ+PiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybUluZGljZXMoV2Vi
R0xQcm9ncmFtJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mKQoreworICAgIExPRyhXZWJHTCwgIltb
IE5PVCBJTVBMRU1FTlRFRCBdXSBnZXRVbmlmb3JtSW5kaWNlcygpIik7CisgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKK30KKworV2ViR0xBbnkgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6Omdl
dEFjdGl2ZVVuaWZvcm1zKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgY29uc3QgVmVjdG9yPEdDM0R1
aW50PiYgdW5pZm9ybUluZGljZXMsIEdDM0RlbnVtIHBuYW1lKQoreworICAgIGlmIChpc0NvbnRl
eHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xPYmplY3QoImdldEFjdGl2ZVVuaWZv
cm1zIiwgJnByb2dyYW0pKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHN3aXRjaCAo
cG5hbWUpIHsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTklGT1JNX1RZUEU6CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5JRk9STV9TSVpFOgorICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlVOSUZPUk1fQkxPQ0tfSU5ERVg6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6VU5JRk9STV9PRkZTRVQ6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5JRk9STV9B
UlJBWV9TVFJJREU6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5JRk9STV9NQVRSSVhf
U1RSSURFOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOSUZPUk1fSVNfUk9XX01BSk9S
OgorICAgICAgICB7CisgICAgICAgICAgICBWZWN0b3I8R0MzRGludD4gcGFyYW1zKHVuaWZvcm1J
bmRpY2VzLnNpemUoKSwgMCk7CisgICAgICAgICAgICBtX2NvbnRleHQtPmdldEFjdGl2ZVVuaWZv
cm1zKHByb2dyYW0ub2JqZWN0KCksIHVuaWZvcm1JbmRpY2VzLCBwbmFtZSwgcGFyYW1zKTsKKyAg
ICAgICAgICAgIHJldHVybiBXVEZNb3ZlKHBhcmFtcyk7CisgICAgICAgIH0KKyAgICBkZWZhdWx0
OgorICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9F
TlVNLCAiZ2V0QWN0aXZlVW5pZm9ybXMiLCAiaW52YWxpZCBwYXJhbWV0ZXIgbmFtZSIpOworICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9Cit9CisKK0dDM0R1aW50IFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRVbmlmb3JtQmxvY2tJbmRleChXZWJHTFByb2dyYW0mLCBjb25zdCBT
dHJpbmcmKQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSBnZXRVbmlm
b3JtQmxvY2tJbmRleCgpIik7CisgICAgcmV0dXJuIDA7Cit9CisKK1dlYkdMQW55IFdlYkdMMlJl
bmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtQmxvY2tQYXJhbWV0ZXIoV2ViR0xQ
cm9ncmFtJiwgR0MzRHVpbnQsIEdDM0RlbnVtKQoreworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJ
TVBMRU1FTlRFRCBdXSBnZXRBY3RpdmVVbmlmb3JtQmxvY2tQYXJhbWV0ZXIoKSIpOworICAgIHJl
dHVybiBudWxscHRyOworfQorCitTdHJpbmcgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6Omdl
dEFjdGl2ZVVuaWZvcm1CbG9ja05hbWUoV2ViR0xQcm9ncmFtJiwgR0MzRHVpbnQpCit7CisgICAg
TE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGdldEFjdGl2ZVVuaWZvcm1CbG9ja05h
bWUoKSIpOworICAgIHJldHVybiBlbXB0eVN0cmluZygpOworfQorCit2b2lkIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtQmxvY2tCaW5kaW5nKFdlYkdMUHJvZ3JhbSYsIEdDM0R1
aW50LCBHQzNEdWludCkKK3sKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0g
dW5pZm9ybUJsb2NrQmluZGluZygpIik7Cit9CisKK1JlZlB0cjxXZWJHTFZlcnRleEFycmF5T2Jq
ZWN0PiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlVmVydGV4QXJyYXkoKQorewor
ICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAg
YXV0byBvYmplY3QgPSBXZWJHTFZlcnRleEFycmF5T2JqZWN0OjpjcmVhdGUoKnRoaXMsIFdlYkdM
VmVydGV4QXJyYXlPYmplY3Q6OlR5cGU6OlVzZXIpOworICAgIGFkZENvbnRleHRPYmplY3Qob2Jq
ZWN0LmdldCgpKTsKKyAgICByZXR1cm4gV1RGTW92ZShvYmplY3QpOworfQorCit2b2lkIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHRCYXNlOjpkZWxldGVWZXJ0ZXhBcnJheShXZWJHTFZlcnRleEFycmF5
T2JqZWN0KiBhcnJheU9iamVjdCkKK3sKKyAgICBpZiAoIWFycmF5T2JqZWN0IHx8IGlzQ29udGV4
dExvc3QoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGFycmF5T2JqZWN0LT5pc0RlbGV0
ZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFhcnJheU9iamVjdC0+aXNEZWZhdWx0
T2JqZWN0KCkgJiYgYXJyYXlPYmplY3QgPT0gbV9ib3VuZFZlcnRleEFycmF5T2JqZWN0KQorI2lm
IFVTRShPUEVOR0xfRVMpCisgICAgICAgIHNldEJvdW5kVmVydGV4QXJyYXlPYmplY3QobnVsbHB0
cik7CisjZWxzZQorICAgICAgICBiaW5kVmVydGV4QXJyYXkobnVsbHB0cik7IC8vIFRoZSBkZWZh
dWx0IFZBTyB3YXMgcmVtb3ZlZCBpbiBPcGVuR0wgMy4zIGJ1dCBub3QgZnJvbSBXZWJHTCAyOyBi
aW5kIHRoZSBkZWZhdWx0IGZvciBXZWJHTCB0byB1c2UuCisjZW5kaWYKKworICAgIGFycmF5T2Jq
ZWN0LT5kZWxldGVPYmplY3QoZ3JhcGhpY3NDb250ZXh0M0QoKSk7Cit9CisKK0dDM0Rib29sZWFu
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjppc1ZlcnRleEFycmF5KFdlYkdMVmVydGV4QXJy
YXlPYmplY3QqIGFycmF5T2JqZWN0KQoreworICAgIGlmICghYXJyYXlPYmplY3QgfHwgaXNDb250
ZXh0TG9zdCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWFycmF5T2JqZWN0
LT5oYXNFdmVyQmVlbkJvdW5kKCkgfHwgIWFycmF5T2JqZWN0LT52YWxpZGF0ZSgwLCAqdGhpcykp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBtX2NvbnRleHQtPmlzVmVydGV4
QXJyYXkoYXJyYXlPYmplY3QtPm9iamVjdCgpKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdD
b250ZXh0QmFzZTo6YmluZFZlcnRleEFycmF5KFdlYkdMVmVydGV4QXJyYXlPYmplY3QqIGFycmF5
T2JqZWN0KQoreworICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmIChhcnJheU9iamVjdCAmJiAoYXJyYXlPYmplY3QtPmlzRGVsZXRlZCgpIHx8ICFhcnJh
eU9iamVjdC0+dmFsaWRhdGUoMCwgKnRoaXMpIHx8ICFtX2NvbnRleHRPYmplY3RzLmNvbnRhaW5z
KGFycmF5T2JqZWN0KSkpIHsKKyAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIGlmIChhcnJheU9iamVjdCAmJiAhYXJyYXlPYmplY3QtPmlzRGVmYXVsdE9iamVj
dCgpICYmIGFycmF5T2JqZWN0LT5vYmplY3QoKSkgeworICAgICAgICBtX2NvbnRleHQtPmJpbmRW
ZXJ0ZXhBcnJheShhcnJheU9iamVjdC0+b2JqZWN0KCkpOworCisgICAgICAgIGFycmF5T2JqZWN0
LT5zZXRIYXNFdmVyQmVlbkJvdW5kKCk7CisgICAgICAgIHNldEJvdW5kVmVydGV4QXJyYXlPYmpl
Y3QoYXJyYXlPYmplY3QpOworICAgIH0gZWxzZSB7CisgICAgICAgIG1fY29udGV4dC0+YmluZFZl
cnRleEFycmF5KG1fZGVmYXVsdFZlcnRleEFycmF5T2JqZWN0LT5vYmplY3QoKSk7CisgICAgICAg
IHNldEJvdW5kVmVydGV4QXJyYXlPYmplY3QobV9kZWZhdWx0VmVydGV4QXJyYXlPYmplY3QuZ2V0
KCkpOworICAgIH0KK30KKworV2ViR0xFeHRlbnNpb24qIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRC
YXNlOjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQoreworICAgIGlmIChpc0NvbnRl
eHRMb3N0T3JQZW5kaW5nKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisjZGVmaW5lIEVO
QUJMRV9JRl9SRVFVRVNURUQodHlwZSwgdmFyaWFibGUsIG5hbWVMaXRlcmFsLCBjYW5FbmFibGUp
IFwKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCBuYW1lTGl0ZXJhbCkpIHsg
XAorICAgICAgICBpZiAoIXZhcmlhYmxlKSB7IFwKKyAgICAgICAgICAgIHZhcmlhYmxlID0gKGNh
bkVuYWJsZSkgPyBtYWtlVW5pcXVlPHR5cGU+KCp0aGlzKSA6IG51bGxwdHI7IFwKKyAgICAgICAg
ICAgIGlmICh2YXJpYWJsZSAhPSBudWxscHRyKSBcCisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRFbmFibGVFeHRlbnNpb24oKnRoaXMsIG5hbWUpOyBcCisgICAg
ICAgIH0gXAorICAgICAgICByZXR1cm4gdmFyaWFibGUuZ2V0KCk7IFwKKyAgICB9CisKKyAgICBF
TkFCTEVfSUZfUkVRVUVTVEVEKEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYywgbV9leHRUZXh0
dXJlRmlsdGVyQW5pc290cm9waWMsICJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiLCBl
bmFibGVTdXBwb3J0ZWRFeHRlbnNpb24oIkdMX0VYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3Bp
YyJfcykpOworICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoT0VTVGV4dHVyZUZsb2F0LCBtX29lc1Rl
eHR1cmVGbG9hdCwgIk9FU190ZXh0dXJlX2Zsb2F0IiwgZW5hYmxlU3VwcG9ydGVkRXh0ZW5zaW9u
KCJHTF9PRVNfdGV4dHVyZV9mbG9hdCJfcykpOworICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoT0VT
VGV4dHVyZUZsb2F0TGluZWFyLCBtX29lc1RleHR1cmVGbG9hdExpbmVhciwgIk9FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciIsIGVuYWJsZVN1cHBvcnRlZEV4dGVuc2lvbigiR0xfT0VTX3RleHR1cmVf
ZmxvYXRfbGluZWFyIl9zKSk7CisgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChPRVNUZXh0dXJlSGFs
ZkZsb2F0LCBtX29lc1RleHR1cmVIYWxmRmxvYXQsICJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0Iiwg
ZW5hYmxlU3VwcG9ydGVkRXh0ZW5zaW9uKCJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0Il9zKSk7
CisgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChPRVNUZXh0dXJlSGFsZkZsb2F0TGluZWFyLCBtX29l
c1RleHR1cmVIYWxmRmxvYXRMaW5lYXIsICJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIs
IGVuYWJsZVN1cHBvcnRlZEV4dGVuc2lvbigiR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5l
YXIiX3MpKTsKKyAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKFdlYkdMTG9zZUNvbnRleHQsIG1fd2Vi
Z2xMb3NlQ29udGV4dCwgIldFQkdMX2xvc2VfY29udGV4dCIsIHRydWUpOworICAgIEVOQUJMRV9J
Rl9SRVFVRVNURUQoV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMsIG1fd2ViZ2xDb21wcmVzc2Vk
VGV4dHVyZUFTVEMsICJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXN0YyIsIFdlYkdMQ29tcHJl
c3NlZFRleHR1cmVBU1RDOjpzdXBwb3J0ZWQoKnRoaXMpKTsKKyAgICBFTkFCTEVfSUZfUkVRVUVT
VEVEKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMsIG1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZUFU
QywgIldFQktJVF9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXRjIiwgV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQzo6c3VwcG9ydGVkKCp0aGlzKSk7CisgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChX
ZWJHTENvbXByZXNzZWRUZXh0dXJlRVRDLCBtX3dlYmdsQ29tcHJlc3NlZFRleHR1cmVFVEMsICJX
RUJHTF9jb21wcmVzc2VkX3RleHR1cmVfZXRjIiwgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUVUQzo6
c3VwcG9ydGVkKCp0aGlzKSk7CisgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChXZWJHTENvbXByZXNz
ZWRUZXh0dXJlRVRDMSwgbV93ZWJnbENvbXByZXNzZWRUZXh0dXJlRVRDMSwgIldFQkdMX2NvbXBy
ZXNzZWRfdGV4dHVyZV9ldGMxIiwgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUVUQzE6OnN1cHBvcnRl
ZCgqdGhpcykpOworICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoV2ViR0xDb21wcmVzc2VkVGV4dHVy
ZVBWUlRDLCBtX3dlYmdsQ29tcHJlc3NlZFRleHR1cmVQVlJUQywgIldFQktJVF9XRUJHTF9jb21w
cmVzc2VkX3RleHR1cmVfcHZydGMiLCBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEM6OnN1cHBv
cnRlZCgqdGhpcykpOworICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoV2ViR0xDb21wcmVzc2VkVGV4
dHVyZVMzVEMsIG1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZVMzVEMsICJXRUJHTF9jb21wcmVzc2Vk
X3RleHR1cmVfczN0YyIsIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDOjpzdXBwb3J0ZWQoKnRo
aXMpKTsKKyAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKFdlYkdMRGVwdGhUZXh0dXJlLCBtX3dlYmds
RGVwdGhUZXh0dXJlLCAiV0VCR0xfZGVwdGhfdGV4dHVyZSIsIFdlYkdMRGVwdGhUZXh0dXJlOjpz
dXBwb3J0ZWQoKmdyYXBoaWNzQ29udGV4dDNEKCkpKTsKKyAgICBFTkFCTEVfSUZfUkVRVUVTVEVE
KFdlYkdMRGVidWdSZW5kZXJlckluZm8sIG1fd2ViZ2xEZWJ1Z1JlbmRlcmVySW5mbywgIldFQkdM
X2RlYnVnX3JlbmRlcmVyX2luZm8iLCB0cnVlKTsKKyAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKFdl
YkdMRGVidWdTaGFkZXJzLCBtX3dlYmdsRGVidWdTaGFkZXJzLCAiV0VCR0xfZGVidWdfc2hhZGVy
cyIsIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLnN1cHBvcnRzKCJHTF9BTkdMRV90cmFuc2xh
dGVkX3NoYWRlcl9zb3VyY2UiX3MpKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworT3B0aW9u
YWw8VmVjdG9yPFN0cmluZz4+IFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTdXBwb3J0
ZWRFeHRlbnNpb25zKCkKK3sKKyAgICBpZiAoaXNDb250ZXh0TG9zdCgpKQorICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCisgICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0OworCisgICAgaWYg
KG1faXNQZW5kaW5nUG9saWN5UmVzb2x1dGlvbikKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKwor
ICAgIGF1dG8mIGV4dGVuc2lvbnMgPSBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKTsKKyAgICBp
ZiAoZXh0ZW5zaW9ucy5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVfZmxvYXQiX3MpKQorICAgICAg
ICByZXN1bHQuYXBwZW5kKCJPRVNfdGV4dHVyZV9mbG9hdCJfcyk7CisgICAgaWYgKGV4dGVuc2lv
bnMuc3VwcG9ydHMoIkdMX09FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciJfcykpCisgICAgICAgIHJl
c3VsdC5hcHBlbmQoIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciJfcyk7CisgICAgaWYgKGV4dGVu
c2lvbnMuc3VwcG9ydHMoIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXQiX3MpKQorICAgICAgICBy
ZXN1bHQuYXBwZW5kKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0Il9zKTsKKyAgICBpZiAoZXh0ZW5z
aW9ucy5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIiX3MpKQorICAg
ICAgICByZXN1bHQuYXBwZW5kKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciJfcyk7Cisg
ICAgaWYgKGV4dGVuc2lvbnMuc3VwcG9ydHMoIkdMX0VYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ry
b3BpYyJfcykpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlz
b3Ryb3BpYyJfcyk7CisgICAgaWYgKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDOjpzdXBwb3J0
ZWQoKnRoaXMpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCJXRUJHTF9jb21wcmVzc2VkX3RleHR1
cmVfYXN0YyJfcyk7CisgICAgaWYgKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OnN1cHBvcnRl
ZCgqdGhpcykpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoIldFQktJVF9XRUJHTF9jb21wcmVzc2Vk
X3RleHR1cmVfYXRjIl9zKTsKKyAgICBpZiAoV2ViR0xDb21wcmVzc2VkVGV4dHVyZUVUQzo6c3Vw
cG9ydGVkKCp0aGlzKSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgiV0VCR0xfY29tcHJlc3NlZF90
ZXh0dXJlX2V0YyJfcyk7CisgICAgaWYgKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVFVEMxOjpzdXBw
b3J0ZWQoKnRoaXMpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCJXRUJHTF9jb21wcmVzc2VkX3Rl
eHR1cmVfZXRjMSJfcyk7CisgICAgaWYgKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQzo6c3Vw
cG9ydGVkKCp0aGlzKSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgiV0VCS0lUX1dFQkdMX2NvbXBy
ZXNzZWRfdGV4dHVyZV9wdnJ0YyJfcyk7CisgICAgaWYgKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVT
M1RDOjpzdXBwb3J0ZWQoKnRoaXMpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCJXRUJHTF9jb21w
cmVzc2VkX3RleHR1cmVfczN0YyJfcyk7CisgICAgaWYgKFdlYkdMRGVwdGhUZXh0dXJlOjpzdXBw
b3J0ZWQoKmdyYXBoaWNzQ29udGV4dDNEKCkpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCJXRUJH
TF9kZXB0aF90ZXh0dXJlIl9zKTsKKyAgICByZXN1bHQuYXBwZW5kKCJXRUJHTF9sb3NlX2NvbnRl
eHQiX3MpOworICAgIGlmIChleHRlbnNpb25zLnN1cHBvcnRzKCJHTF9BTkdMRV90cmFuc2xhdGVk
X3NoYWRlcl9zb3VyY2UiX3MpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCJXRUJHTF9kZWJ1Z19z
aGFkZXJzIl9zKTsKKyAgICByZXN1bHQuYXBwZW5kKCJXRUJHTF9kZWJ1Z19yZW5kZXJlcl9pbmZv
Il9zKTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBib29sIHZhbGlkYXRlRGVm
YXVsdEZyYW1lYnVmZmVyQXR0YWNobWVudChHQzNEZW51bSYgYXR0YWNobWVudCkKK3sKKyAgICBz
d2l0Y2ggKGF0dGFjaG1lbnQpIHsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpCQUNLOgor
ICAgICAgICAvLyBCZWNhdXNlIHRoZSBiYWNrYnVmZmVyIGlzIHNpbXVsYXRlZCBvbiBhbGwgY3Vy
cmVudCBXZWJLaXQgcG9ydHMsIHdlIG5lZWQgdG8gY2hhbmdlIEJBQ0sgdG8gQ09MT1JfQVRUQUNI
TUVOVDAuCisgICAgICAgIGF0dGFjaG1lbnQgPSBHcmFwaGljc0NvbnRleHQzRDo6Q09MT1JfQVRU
QUNITUVOVDA7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OkRFUFRIOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUw6CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKworV2ViR0xBbnkg
V2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFt
ZXRlcihHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIGF0dGFjaG1lbnQsIEdDM0RlbnVtIHBuYW1l
KQoreworICAgIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSA9ICJnZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXIiOworICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZh
bGlkYXRlRnJhbWVidWZmZXJUYXJnZXQoZnVuY3Rpb25OYW1lLCB0YXJnZXQpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8gdGFyZ2V0RnJhbWVidWZmZXIgPSAodGFyZ2V0ID09
IEdyYXBoaWNzQ29udGV4dDNEOjpSRUFEX0ZSQU1FQlVGRkVSKSA/IG1fcmVhZEZyYW1lYnVmZmVy
QmluZGluZyA6IG1fZnJhbWVidWZmZXJCaW5kaW5nOworCisgICAgaWYgKCF0YXJnZXRGcmFtZWJ1
ZmZlcikgeworICAgICAgICAvLyBPcGVuR0wgRVMgMzogRGVmYXVsdCBmcmFtZWJ1ZmZlciBpcyBi
b3VuZC4KKyAgICAgICAgaWYgKCF2YWxpZGF0ZURlZmF1bHRGcmFtZWJ1ZmZlckF0dGFjaG1lbnQo
YXR0YWNobWVudCkpIHsKKyAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgYXR0YWNobWVudCIp
OworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0KKyAgICAgICAgR0MzRGlu
dCB2YWx1ZSA9IDA7CisgICAgICAgIG1fY29udGV4dC0+Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50
UGFyYW1ldGVyaXYodGFyZ2V0LCBhdHRhY2htZW50LCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAg
cmV0dXJuIHZhbHVlOworICAgIH0KKyAgICBpZiAoIXZhbGlkYXRlTm9uRGVmYXVsdEZyYW1lYnVm
ZmVyQXR0YWNobWVudChmdW5jdGlvbk5hbWUsIGF0dGFjaG1lbnQpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgIGF1dG8gb2JqZWN0ID0gbWFrZVJlZlB0cih0YXJnZXRGcmFtZWJ1ZmZl
ci0+Z2V0QXR0YWNobWVudE9iamVjdChhdHRhY2htZW50KSk7CisgICAgaWYgKCFvYmplY3QpIHsK
KyAgICAgICAgaWYgKHBuYW1lID09IEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9BVFRB
Q0hNRU5UX09CSkVDVF9UWVBFKQorICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihHcmFwaGljc0NvbnRleHQzRDo6Tk9ORSk7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9y
KEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgZnVuY3Rpb25OYW1lLCAiaW52
YWxpZCBwYXJhbWV0ZXIgbmFtZSIpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisK
KyAgICBzd2l0Y2ggKHBuYW1lKSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVC
VUZGRVJfQVRUQUNITUVOVF9SRURfU0laRToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpG
UkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0dSRUVOX1NJWkU6CisgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9CTFVFX1NJWkU6CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9BTFBIQV9TSVpFOgorICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfREVQVEhfU0laRToKKyAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1NURU5DSUxf
U0laRToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9BVFRBQ0hNRU5U
X0NPTVBPTkVOVF9UWVBFOiB7CisgICAgICAgIEdDM0RpbnQgdmFsdWUgPSAwOworICAgICAgICBt
X2NvbnRleHQtPmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcml2KHRhcmdldCwgYXR0
YWNobWVudCwgcG5hbWUsICZ2YWx1ZSk7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9Cisg
ICAgfQorCisgICAgaWYgKG9iamVjdC0+aXNUZXh0dXJlKCkpIHsKKyAgICAgICAgc3dpdGNoIChw
bmFtZSkgeworICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9BVFRB
Q0hNRU5UX09CSkVDVF9UWVBFOgorICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRSk7CisgICAgICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUU6CisgICAgICAgICAg
ICByZXR1cm4gbWFrZVJlZlB0cihyZWludGVycHJldF9jYXN0PFdlYkdMVGV4dHVyZSY+KCpvYmpl
Y3QpKTsKKyAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfQVRUQUNI
TUVOVF9URVhUVVJFX0xFVkVMOgorICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFN
RUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfQ1VCRV9NQVBfRkFDRToKKyAgICAgICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9DT0xPUl9FTkNPRElORzog
eworICAgICAgICAgICAgR0MzRGludCB2YWx1ZSA9IDA7CisgICAgICAgICAgICBtX2NvbnRleHQt
PmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcml2KHRhcmdldCwgYXR0YWNobWVudCwg
cG5hbWUsICZ2YWx1ZSk7CisgICAgICAgICAgICByZXR1cm4gdmFsdWU7CisgICAgICAgIH0KKyAg
ICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgcGFyYW1ldGVyIG5h
bWUgZm9yIHRleHR1cmUgYXR0YWNobWVudCIpOworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBBU1NFUlQob2JqZWN0LT5pc1JlbmRl
cmJ1ZmZlcigpKTsKKyAgICAgICAgc3dpdGNoIChwbmFtZSkgeworICAgICAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFOgorICAgICAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihHcmFwaGljc0NvbnRleHQzRDo6UkVO
REVSQlVGRkVSKTsKKyAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJf
QVRUQUNITUVOVF9PQkpFQ1RfTkFNRToKKyAgICAgICAgICAgIHJldHVybiBtYWtlUmVmUHRyKHJl
aW50ZXJwcmV0X2Nhc3Q8V2ViR0xSZW5kZXJidWZmZXImPigqb2JqZWN0KSk7CisgICAgICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfQ09MT1JfRU5DT0RJ
TkcgOiB7CisgICAgICAgICAgICBhdXRvJiByZW5kZXJCdWZmZXIgPSByZWludGVycHJldF9jYXN0
PFdlYkdMUmVuZGVyYnVmZmVyJj4oKm9iamVjdCk7CisgICAgICAgICAgICBhdXRvIGZvcm1hdCA9
IHJlbmRlckJ1ZmZlci5nZXRJbnRlcm5hbEZvcm1hdCgpOworICAgICAgICAgICAgaWYgKGZvcm1h
dCA9PSBHcmFwaGljc0NvbnRleHQzRDo6U1JHQjhfQUxQSEE4CisgICAgICAgICAgICAgICAgfHwg
Zm9ybWF0ID09IEdyYXBoaWNzQ29udGV4dDNEOjpDT01QUkVTU0VEX1NSR0I4X0VUQzIKKyAgICAg
ICAgICAgICAgICB8fCBmb3JtYXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNTRURfU1JH
QjhfQUxQSEE4X0VUQzJfRUFDCisgICAgICAgICAgICAgICAgfHwgZm9ybWF0ID09IEdyYXBoaWNz
Q29udGV4dDNEOjpDT01QUkVTU0VEX1NSR0I4X1BVTkNIVEhST1VHSF9BTFBIQTFfRVRDMikgewor
ICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oR3JhcGhpY3NDb250
ZXh0M0Q6OlNSR0IpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihHcmFwaGljc0NvbnRleHQzRDo6TElORUFSKTsKKyAgICAgICAgfQorICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250
ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBwYXJhbWV0ZXIgbmFt
ZSBmb3IgcmVuZGVyYnVmZmVyIGF0dGFjaG1lbnQiKTsKKyAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgICAgICB9CisgICAgfQorfQorCitib29sIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRC
YXNlOjp2YWxpZGF0ZUZyYW1lYnVmZmVyRnVuY1BhcmFtZXRlcnMoY29uc3QgY2hhciogZnVuY3Rp
b25OYW1lLCBHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIGF0dGFjaG1lbnQpCit7CisgICAgcmV0
dXJuIHZhbGlkYXRlRnJhbWVidWZmZXJUYXJnZXQoZnVuY3Rpb25OYW1lLCB0YXJnZXQpICYmIHZh
bGlkYXRlTm9uRGVmYXVsdEZyYW1lYnVmZmVyQXR0YWNobWVudChmdW5jdGlvbk5hbWUsIGF0dGFj
aG1lbnQpOworfQorCitib29sIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZUZy
YW1lYnVmZmVyVGFyZ2V0KGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gdGFyZ2V0
KQoreworICAgIHN3aXRjaCAodGFyZ2V0KSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
RlJBTUVCVUZGRVI6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19GUkFNRUJVRkZF
UjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRUFEX0ZSQU1FQlVGRkVSOgorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0Nv
bnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIHRhcmdldCIpOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6
dmFsaWRhdGVOb25EZWZhdWx0RnJhbWVidWZmZXJBdHRhY2htZW50KGNvbnN0IGNoYXIqIGZ1bmN0
aW9uTmFtZSwgR0MzRGVudW0gYXR0YWNobWVudCkKK3sKKyAgICBzd2l0Y2ggKGF0dGFjaG1lbnQp
IHsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9BVFRBQ0hNRU5UOgorICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUxfQVRUQUNITUVOVDoKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQ6CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAgIGlmIChhdHRhY2htZW50ID49IEdyYXBoaWNzQ29u
dGV4dDNEOjpDT0xPUl9BVFRBQ0hNRU5UMCAmJiBhdHRhY2htZW50IDwgc3RhdGljX2Nhc3Q8R0Mz
RGVudW0+KEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9BVFRBQ0hNRU5UMCArIGdldE1heENvbG9y
QXR0YWNobWVudHMoKSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlv
bk5hbWUsICJpbnZhbGlkIGF0dGFjaG1lbnQiKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0dD
M0RpbnQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldE1heERyYXdCdWZmZXJzKCkKK3sK
KyAgICBpZiAoIW1fbWF4RHJhd0J1ZmZlcnMpCisgICAgICAgIG1fY29udGV4dC0+Z2V0SW50ZWdl
cnYoR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9EUkFXX0JVRkZFUlMsICZtX21heERyYXdCdWZmZXJz
KTsKKyAgICByZXR1cm4gbV9tYXhEcmF3QnVmZmVyczsKK30KKworR0MzRGludCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6Z2V0TWF4Q29sb3JBdHRhY2htZW50cygpCit7CisgICAgLy8gRHJh
d0J1ZmZlcnMgcmVxdWlyZXMgTUFYX0NPTE9SX0FUVEFDSE1FTlRTID09IE1BWF9EUkFXX0JVRkZF
UlMKKyAgICBpZiAoIW1fbWF4Q29sb3JBdHRhY2htZW50cykKKyAgICAgICAgbV9jb250ZXh0LT5n
ZXRJbnRlZ2VydihHcmFwaGljc0NvbnRleHQzRDo6TUFYX0RSQVdfQlVGRkVSUywgJm1fbWF4Q29s
b3JBdHRhY2htZW50cyk7CisgICAgcmV0dXJuIG1fbWF4Q29sb3JBdHRhY2htZW50czsKK30KKwor
dm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6cmVuZGVyYnVmZmVyU3RvcmFnZShHQzNE
ZW51bSB0YXJnZXQsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdD
M0RzaXplaSBoZWlnaHQpCit7CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIGlmICh0YXJnZXQgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OlJFTkRF
UkJVRkZFUikgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6
SU5WQUxJRF9FTlVNLCAicmVuZGVyYnVmZmVyU3RvcmFnZSIsICJpbnZhbGlkIHRhcmdldCIpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICghbV9yZW5kZXJidWZmZXJCaW5kaW5nIHx8
ICFtX3JlbmRlcmJ1ZmZlckJpbmRpbmctPm9iamVjdCgpKSB7CisgICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInJlbmRlcmJ1ZmZl
clN0b3JhZ2UiLCAibm8gYm91bmQgcmVuZGVyYnVmZmVyIik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgaWYgKCF2YWxpZGF0ZVNpemUoInJlbmRlcmJ1ZmZlclN0b3JhZ2UiLCB3aWR0aCwg
aGVpZ2h0KSkKKyAgICAgICAgcmV0dXJuOworICAgIHN3aXRjaCAoaW50ZXJuYWxmb3JtYXQpIHsK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQxNjoKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DT01QT05FTlQzMkY6CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMjQ6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6UkdCQTMySToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMzJVSToKKyAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMTZJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlJHQkExNlVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4OgorICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4SToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpSR0JBOFVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjEwX0EyOgorICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjEwX0EyVUk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCQTQ6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkczMkk6CisgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6UkczMlVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlJHMTZJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHMTZVSToKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpSRzg6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ukc4SToK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzhVSToKKyAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dDNEOjpSMzJJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIzMlVJOgorICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIxNkk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
UjE2VUk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ujg6CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6UjhJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlI4VUk6CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCNV9BMToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpSR0I1NjU6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCODoKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX0lOREVYODoKKyAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dDNEOjpTUkdCOF9BTFBIQTg6CisgICAgICAgIG1fY29udGV4dC0+cmVuZGVyYnVmZmVyU3Rv
cmFnZSh0YXJnZXQsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgbV9y
ZW5kZXJidWZmZXJCaW5kaW5nLT5zZXRJbnRlcm5hbEZvcm1hdChpbnRlcm5hbGZvcm1hdCk7Cisg
ICAgICAgIG1fcmVuZGVyYnVmZmVyQmluZGluZy0+c2V0SXNWYWxpZCh0cnVlKTsKKyAgICAgICAg
bV9yZW5kZXJidWZmZXJCaW5kaW5nLT5zZXRTaXplKHdpZHRoLCBoZWlnaHQpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSDMyRl9TVEVOQ0lMODoKKyAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSDI0X1NURU5DSUw4OgorICAgICAgICBpZiAo
IWlzRGVwdGhTdGVuY2lsU3VwcG9ydGVkKCkpIHsKKyAgICAgICAgICAgIHN5bnRoZXNpemVHTEVy
cm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sICJyZW5kZXJidWZmZXJTdG9yYWdl
IiwgImludmFsaWQgaW50ZXJuYWxmb3JtYXQiKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICBtX2NvbnRleHQtPnJlbmRlcmJ1ZmZlclN0b3JhZ2UodGFyZ2V0LCBpbnRl
cm5hbGZvcm1hdCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIG1fcmVuZGVyYnVmZmVyQmluZGlu
Zy0+c2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgbV9yZW5kZXJidWZmZXJCaW5kaW5n
LT5zZXRJc1ZhbGlkKGlzRGVwdGhTdGVuY2lsU3VwcG9ydGVkKCkpOworICAgICAgICBtX3JlbmRl
cmJ1ZmZlckJpbmRpbmctPnNldEludGVybmFsRm9ybWF0KGludGVybmFsZm9ybWF0KTsKKyAgICAg
ICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgInJlbmRlcmJ1ZmZlclN0b3JhZ2UiLCAiaW52YWxp
ZCBpbnRlcm5hbGZvcm1hdCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGFwcGx5U3Rl
bmNpbFRlc3QoKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6aGludChH
QzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIG1vZGUpCit7CisgICAgaWYgKGlzQ29udGV4dExvc3RP
clBlbmRpbmcoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGJvb2wgaXNWYWxpZCA9IGZhbHNlOwor
ICAgIHN3aXRjaCAodGFyZ2V0KSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6R0VORVJB
VEVfTUlQTUFQX0hJTlQ6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBR01FTlRfU0hB
REVSX0RFUklWQVRJVkVfSElOVDoKKyAgICAgICAgaXNWYWxpZCA9IHRydWU7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICBpZiAoIWlzVmFsaWQpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJy
b3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgImhpbnQiLCAiaW52YWxpZCB0YXJn
ZXQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX2NvbnRleHQtPmhpbnQodGFyZ2V0
LCBtb2RlKTsKK30KKworR0MzRGVudW0gV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJhc2VJ
bnRlcm5hbEZvcm1hdEZyb21JbnRlcm5hbEZvcm1hdChHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCkK
K3sKKyAgICAvLyBIYW5kbGVzIHNpemVkLCB1bnNpemVkLCBhbmQgY29tcHJlc3NlZCBpbnRlcm5h
bCBmb3JtYXRzLgorICAgIHN3aXRjaCAoaW50ZXJuYWxmb3JtYXQpIHsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpSODoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSOF9TTk9STToK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSMTZGOgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlIzMkY6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Q09NUFJFU1NFRF9SMTFf
RUFDOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNTRURfU0lHTkVEX1IxMV9F
QUM6CisgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHQzRDo6UkVEOworICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OlI4SToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSOFVJOgor
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlIxNkk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UjE2VUk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UjMySToKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpSMzJVSToKKyAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4
dDNEOjpSRURfSU5URUdFUjsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzg6CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ukc4X1NOT1JNOgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlJHMTZGOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHMzJGOgorICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNTRURfUkcxMV9FQUM6CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6Q09NUFJFU1NFRF9TSUdORURfUkcxMV9FQUM6CisgICAgICAgIHJldHVy
biBHcmFwaGljc0NvbnRleHQzRDo6Ukc7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Ukc4
SToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzhVSToKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSRzE2SToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRzE2VUk6Cisg
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkczMkk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UkczMlVJOgorICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6OlJHX0lOVEVH
RVI7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCODoKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSR0I4X1NOT1JNOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjU2
NToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTUkdCODoKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSR0IxNkY6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMzJGOgor
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpDT01QUkVTU0VEX1JHQjhfRVRDMjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpD
T01QUkVTU0VEX1NSR0I4X0VUQzI6CisgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHQzRDo6
UkdCOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQjhJOgorICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0M0Q6OlJHQjhVSToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0IxNkk6
CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMTZVSToKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSR0IzMkk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCMzJVSToK
KyAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JfSU5URUdFUjsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBNDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpS
R0I1X0ExOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkE4OgorICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OlJHQkE4X1NOT1JNOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlJHQjEwX0EyOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNSR0I4X0FMUEhBODoKKyAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMTZGOgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlJHQkEzMkY6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQToKKyAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDT01QUkVTU0VEX1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhB
MV9FVEMyOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBSRVNTRURfU1JHQjhfUFVO
Q0hUSFJPVUdIX0FMUEhBMV9FVEMyOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTVBS
RVNTRURfUkdCQThfRVRDMl9FQUM6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Q09NUFJF
U1NFRF9TUkdCOF9BTFBIQThfRVRDMl9FQUM6CisgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCQTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBOEk6CisgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQThVSToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpSR0IxMF9BMlVJOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkExNkk6CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQTE2VUk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCQTMySToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBMzJVSToKKyAg
ICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBX0lOVEVHRVI7CisgICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMTY6CisgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMjQ6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
REVQVEhfQ09NUE9ORU5UMzJGOgorICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6OkRF
UFRIX0NPTVBPTkVOVDsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSDI0X1NURU5D
SUw4OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIMzJGX1NURU5DSUw4OgorICAg
ICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX1NURU5DSUw7CisgICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6TFVNSU5BTkNFOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OkxVTUlOQU5DRV9BTFBIQToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpBTFBIQToKKyAg
ICAgICAgcmV0dXJuIGludGVybmFsZm9ybWF0OworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6Ok5PTkU7
CisgICAgfQorfQorCitib29sIFdlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlOjppc0ludGVnZXJG
b3JtYXQoR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQpCit7CisgICAgc3dpdGNoIChiYXNlSW50ZXJu
YWxGb3JtYXRGcm9tSW50ZXJuYWxGb3JtYXQoaW50ZXJuYWxmb3JtYXQpKSB7CisgICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6UkVEX0lOVEVHRVI6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6UkdfSU5URUdFUjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JfSU5URUdFUjoK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBX0lOVEVHRVI6CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1dlYkdMQW55IFdlYkdMMlJl
bmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQYXJhbWV0ZXIoR0MzRGVudW0gcG5hbWUpCit7CisgICAg
aWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgc3dpdGNoIChwbmFtZSkgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkFDVElWRV9U
RVhUVVJFOgorICAgICAgICByZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOwor
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkFMSUFTRURfTElORV9XSURUSF9SQU5HRToKKyAg
ICAgICAgcmV0dXJuIGdldFdlYkdMRmxvYXRBcnJheVBhcmFtZXRlcihwbmFtZSk7CisgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6QUxJQVNFRF9QT0lOVF9TSVpFX1JBTkdFOgorICAgICAgICBy
ZXR1cm4gZ2V0V2ViR0xGbG9hdEFycmF5UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpBTFBIQV9CSVRTOgorICAgICAgICBpZiAoIW1fZnJhbWVidWZmZXJCaW5k
aW5nICYmICFtX2F0dHJpYnV0ZXMuYWxwaGEpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6QVJSQVlfQlVGRkVSX0JJTkRJTkc6CisgICAgICAgIHJldHVybiBtX2JvdW5kQXJyYXlC
dWZmZXI7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6QkxFTkQ6CisgICAgICAgIHJldHVy
biBnZXRCb29sZWFuUGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpCTEVORF9DT0xPUjoKKyAgICAgICAgcmV0dXJuIGdldFdlYkdMRmxvYXRBcnJheVBhcmFtZXRl
cihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6QkxFTkRfRFNUX0FMUEhBOgor
ICAgICAgICByZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OkJMRU5EX0RTVF9SR0I6CisgICAgICAgIHJldHVybiBnZXRVbnNp
Z25lZEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6QkxF
TkRfRVFVQVRJT05fQUxQSEE6CisgICAgICAgIHJldHVybiBnZXRVbnNpZ25lZEludFBhcmFtZXRl
cihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6QkxFTkRfRVFVQVRJT05fUkdC
OgorICAgICAgICByZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OkJMRU5EX1NSQ19BTFBIQToKKyAgICAgICAgcmV0dXJuIGdl
dFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpCTEVORF9TUkNfUkdCOgorICAgICAgICByZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIo
cG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkJMVUVfQklUUzoKKyAgICAgICAg
cmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6Q09MT1JfQ0xFQVJfVkFMVUU6CisgICAgICAgIHJldHVybiBnZXRXZWJHTEZsb2F0QXJyYXlQ
YXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTE9SX1dSSVRF
TUFTSzoKKyAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5BcnJheVBhcmFtZXRlcihwbmFtZSk7Cisg
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6Q09NUFJFU1NFRF9URVhUVVJFX0ZPUk1BVFM6Cisg
ICAgICAgIHJldHVybiBVaW50MzJBcnJheTo6dHJ5Q3JlYXRlKG1fY29tcHJlc3NlZFRleHR1cmVG
b3JtYXRzLmRhdGEoKSwgbV9jb21wcmVzc2VkVGV4dHVyZUZvcm1hdHMuc2l6ZSgpKTsKKyAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDVUxMX0ZBQ0U6CisgICAgICAgIHJldHVybiBnZXRCb29s
ZWFuUGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDVUxMX0ZB
Q0VfTU9ERToKKyAgICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDVVJSRU5UX1BST0dSQU06CisgICAgICAgIHJl
dHVybiBtX2N1cnJlbnRQcm9ncmFtOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRI
X0JJVFM6CisgICAgICAgIGlmICghbV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYgIW1fYXR0cmlidXRl
cy5kZXB0aCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gZ2V0SW50UGFy
YW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9DTEVBUl9W
QUxVRToKKyAgICAgICAgcmV0dXJuIGdldEZsb2F0UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9GVU5DOgorICAgICAgICByZXR1cm4gZ2V0VW5zaWdu
ZWRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRI
X1JBTkdFOgorICAgICAgICByZXR1cm4gZ2V0V2ViR0xGbG9hdEFycmF5UGFyYW1ldGVyKHBuYW1l
KTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9URVNUOgorICAgICAgICByZXR1
cm4gZ2V0Qm9vbGVhblBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6REVQVEhfV1JJVEVNQVNLOgorICAgICAgICByZXR1cm4gZ2V0Qm9vbGVhblBhcmFtZXRlcihw
bmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RElUSEVSOgorICAgICAgICByZXR1
cm4gZ2V0Qm9vbGVhblBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6RUxFTUVOVF9BUlJBWV9CVUZGRVJfQklORElORzoKKyAgICAgICAgcmV0dXJuIG1ha2VSZWZQ
dHIobV9ib3VuZFZlcnRleEFycmF5T2JqZWN0LT5nZXRFbGVtZW50QXJyYXlCdWZmZXIoKSk7Cisg
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfQklORElORzoKKyAgICAgICAg
cmV0dXJuIG1fZnJhbWVidWZmZXJCaW5kaW5nOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OkZST05UX0ZBQ0U6CisgICAgICAgIHJldHVybiBnZXRVbnNpZ25lZEludFBhcmFtZXRlcihwbmFt
ZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6R0VORVJBVEVfTUlQTUFQX0hJTlQ6Cisg
ICAgICAgIHJldHVybiBnZXRVbnNpZ25lZEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6R1JFRU5fQklUUzoKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFt
ZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6SU1QTEVNRU5UQVRJT05f
Q09MT1JfUkVBRF9GT1JNQVQ6CisgICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUp
OworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OklNUExFTUVOVEFUSU9OX0NPTE9SX1JFQURf
VFlQRToKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6TElORV9XSURUSDoKKyAgICAgICAgcmV0dXJuIGdldEZsb2F0UGFy
YW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfQ09NQklORURf
VEVYVFVSRV9JTUFHRV9VTklUUzoKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFt
ZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX0NVQkVfTUFQX1RFWFRVUkVfU0la
RToKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6TUFYX0ZSQUdNRU5UX1VOSUZPUk1fVkVDVE9SUzoKKyAgICAgICAgcmV0
dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
TUFYX1JFTkRFUkJVRkZFUl9TSVpFOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBu
YW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfVEVYVFVSRV9JTUFHRV9VTklU
UzoKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6TUFYX1RFWFRVUkVfU0laRToKKyAgICAgICAgcmV0dXJuIGdldEludFBh
cmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1ZBUllJTkdf
VkVDVE9SUzoKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1ZFUlRFWF9BVFRSSUJTOgorICAgICAgICByZXR1cm4g
Z2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhf
VkVSVEVYX1RFWFRVUkVfSU1BR0VfVU5JVFM6CisgICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0
ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9WRVJURVhfVU5JRk9S
TV9WRUNUT1JTOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfVklFV1BPUlRfRElNUzoKKyAgICAgICAgcmV0dXJu
IGdldFdlYkdMSW50QXJyYXlQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6Ok5VTV9TSEFERVJfQklOQVJZX0ZPUk1BVFM6CisgICAgICAgIHJldHVybiBnZXRJbnRQ
YXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlBBQ0tfQUxJR05N
RU5UOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpQT0xZR09OX09GRlNFVF9GQUNUT1I6CisgICAgICAgIHJldHVybiBn
ZXRGbG9hdFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UE9M
WUdPTl9PRkZTRVRfRklMTDoKKyAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0ZXIocG5h
bWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlBPTFlHT05fT0ZGU0VUX1VOSVRTOgor
ICAgICAgICByZXR1cm4gZ2V0RmxvYXRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0M0Q6OlJFRF9CSVRTOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBu
YW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSRU5ERVJCVUZGRVJfQklORElORzoK
KyAgICAgICAgcmV0dXJuIG1fcmVuZGVyYnVmZmVyQmluZGluZzsKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpSRU5ERVJFUjoKKyAgICAgICAgcmV0dXJuICJXZWJLaXQgV2ViR0wiX3N0cjsK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTQU1QTEVfQlVGRkVSUzoKKyAgICAgICAgcmV0
dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
U0FNUExFX0NPVkVSQUdFX0lOVkVSVDoKKyAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0
ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNBTVBMRV9DT1ZFUkFHRV9W
QUxVRToKKyAgICAgICAgcmV0dXJuIGdldEZsb2F0UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpTQU1QTEVTOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1l
dGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTQ0lTU09SX0JPWDoKKyAg
ICAgICAgcmV0dXJuIGdldFdlYkdMSW50QXJyYXlQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlNDSVNTT1JfVEVTVDoKKyAgICAgICAgcmV0dXJuIGdldEJvb2xl
YW5QYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNIQURJTkdf
TEFOR1VBR0VfVkVSU0lPTjoKKyAgICAgICAgcmV0dXJuICJXZWJHTCBHTFNMIEVTIDEuMCAoIiAr
IG1fY29udGV4dC0+Z2V0U3RyaW5nKEdyYXBoaWNzQ29udGV4dDNEOjpTSEFESU5HX0xBTkdVQUdF
X1ZFUlNJT04pICsgIikiOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUxfQkFD
S19GQUlMOgorICAgICAgICByZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOwor
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNURU5DSUxfQkFDS19GVU5DOgorICAgICAgICBy
ZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlNURU5DSUxfQkFDS19QQVNTX0RFUFRIX0ZBSUw6CisgICAgICAgIHJldHVybiBn
ZXRVbnNpZ25lZEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6U1RFTkNJTF9CQUNLX1BBU1NfREVQVEhfUEFTUzoKKyAgICAgICAgcmV0dXJuIGdldFVuc2ln
bmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVO
Q0lMX0JBQ0tfUkVGOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX0JBQ0tfVkFMVUVfTUFTSzoKKyAgICAg
ICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpTVEVOQ0lMX0JBQ0tfV1JJVEVNQVNLOgorICAgICAgICByZXR1cm4gZ2V0
VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlNURU5DSUxfQklUUzoKKyAgICAgICAgaWYgKCFtX2ZyYW1lYnVmZmVyQmluZGluZyAmJiAhbV9h
dHRyaWJ1dGVzLnN0ZW5jaWwpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJu
IGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RF
TkNJTF9DTEVBUl9WQUxVRToKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7
CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9GQUlMOgorICAgICAgICByZXR1
cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlNURU5DSUxfRlVOQzoKKyAgICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1l
dGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX1BBU1NfREVQ
VEhfRkFJTDoKKyAgICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX1BBU1NfREVQVEhfUEFTUzoKKyAg
ICAgICAgcmV0dXJuIGdldFVuc2lnbmVkSW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX1JFRjoKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFt
ZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9URVNUOgor
ICAgICAgICByZXR1cm4gZ2V0Qm9vbGVhblBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6U1RFTkNJTF9WQUxVRV9NQVNLOgorICAgICAgICByZXR1cm4gZ2V0VW5z
aWduZWRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNU
RU5DSUxfV1JJVEVNQVNLOgorICAgICAgICByZXR1cm4gZ2V0VW5zaWduZWRJbnRQYXJhbWV0ZXIo
cG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNVQlBJWEVMX0JJVFM6CisgICAg
ICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OlRFWFRVUkVfQklORElOR18yRDoKKyAgICAgICAgcmV0dXJuIG1fdGV4dHVyZVVuaXRz
W21fYWN0aXZlVGV4dHVyZVVuaXRdLnRleHR1cmUyREJpbmRpbmc7CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6VEVYVFVSRV9CSU5ESU5HX0NVQkVfTUFQOgorICAgICAgICByZXR1cm4gbV90
ZXh0dXJlVW5pdHNbbV9hY3RpdmVUZXh0dXJlVW5pdF0udGV4dHVyZUN1YmVNYXBCaW5kaW5nOwor
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOUEFDS19BTElHTk1FTlQ6CisgICAgICAgIHJl
dHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlVOUEFDS19GTElQX1lfV0VCR0w6CisgICAgICAgIHJldHVybiBtX3VucGFja0ZsaXBZOworICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTDoK
KyAgICAgICAgcmV0dXJuIG1fdW5wYWNrUHJlbXVsdGlwbHlBbHBoYTsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpVTlBBQ0tfQ09MT1JTUEFDRV9DT05WRVJTSU9OX1dFQkdMOgorICAgICAg
ICByZXR1cm4gbV91bnBhY2tDb2xvcnNwYWNlQ29udmVyc2lvbjsKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpWRU5ET1I6CisgICAgICAgIHJldHVybiAiV2ViS2l0Il9zdHI7CisgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6VkVSU0lPTjoKKyAgICAgICAgcmV0dXJuICJXZWJHTCAyLjAi
X3N0cjsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpWSUVXUE9SVDoKKyAgICAgICAgcmV0
dXJuIGdldFdlYkdMSW50QXJyYXlQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgV2ViR0xEZWJ1
Z1JlbmRlcmVySW5mbzo6VU5NQVNLRURfUkVOREVSRVJfV0VCR0w6CisgICAgICAgIGlmIChtX3dl
YmdsRGVidWdSZW5kZXJlckluZm8pIHsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAg
ICAgICAgcmV0dXJuICJBcHBsZSBHUFUiX3N0cjsKKyNlbHNlCisgICAgICAgICAgICByZXR1cm4g
bV9jb250ZXh0LT5nZXRTdHJpbmcoR3JhcGhpY3NDb250ZXh0M0Q6OlJFTkRFUkVSKTsKKyNlbmRp
ZgorICAgICAgICB9CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNE
OjpJTlZBTElEX0VOVU0sICJnZXRQYXJhbWV0ZXIiLCAiaW52YWxpZCBwYXJhbWV0ZXIgbmFtZSwg
V0VCR0xfZGVidWdfcmVuZGVyZXJfaW5mbyBub3QgZW5hYmxlZCIpOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICBjYXNlIFdlYkdMRGVidWdSZW5kZXJlckluZm86OlVOTUFTS0VEX1ZFTkRP
Ul9XRUJHTDoKKyAgICAgICAgaWYgKG1fd2ViZ2xEZWJ1Z1JlbmRlcmVySW5mbykKKyAgICAgICAg
ICAgIHJldHVybiBtX2NvbnRleHQtPmdldFN0cmluZyhHcmFwaGljc0NvbnRleHQzRDo6VkVORE9S
KTsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
RU5VTSwgImdldFBhcmFtZXRlciIsICJpbnZhbGlkIHBhcmFtZXRlciBuYW1lLCBXRUJHTF9kZWJ1
Z19yZW5kZXJlcl9pbmZvIG5vdCBlbmFibGVkIik7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIGNhc2UgRXh0ZW5zaW9uczNEOjpNQVhfVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQ6IC8v
IEVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYworICAgICAgICBpZiAobV9leHRUZXh0dXJl
RmlsdGVyQW5pc290cm9waWMpCisgICAgICAgICAgICByZXR1cm4gZ2V0RmxvYXRQYXJhbWV0ZXIo
RXh0ZW5zaW9uczNEOjpNQVhfVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQpOworICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCAiZ2V0UGFy
YW1ldGVyIiwgImludmFsaWQgcGFyYW1ldGVyIG5hbWUsIEVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlz
b3Ryb3BpYyBub3QgZW5hYmxlZCIpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpGUkFHTUVOVF9TSEFERVJfREVSSVZBVElWRV9ISU5UOgorICAg
ICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dDNEOjpNQVhfM0RfVEVYVFVSRV9TSVpFOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1l
dGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfQVJSQVlfVEVYVFVS
RV9MQVlFUlM6CisgICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9DT0xPUl9BVFRBQ0hNRU5UUzoKKyAgICAgICAgcmV0
dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
TUFYX0NPTUJJTkVEX0ZSQUdNRU5UX1VOSUZPUk1fQ09NUE9ORU5UUzoKKyAgICAgICAgcmV0dXJu
IGdldEludDY0UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpN
QVhfQ09NQklORURfVU5JRk9STV9CTE9DS1M6CisgICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0
ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9DT01CSU5FRF9WRVJU
RVhfVU5JRk9STV9DT01QT05FTlRTOgorICAgICAgICByZXR1cm4gZ2V0SW50NjRQYXJhbWV0ZXIo
cG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9EUkFXX0JVRkZFUlM6Cisg
ICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6Ok1BWF9FTEVNRU5UX0lOREVYOgorICAgICAgICByZXR1cm4gZ2V0SW50NjRQYXJh
bWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9FTEVNRU5UU19J
TkRJQ0VTOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfRUxFTUVOVFNfVkVSVElDRVM6CisgICAgICAgIHJldHVy
biBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1B
WF9GUkFHTUVOVF9VTklGT1JNX0NPTVBPTkVOVFM6CisgICAgICAgIHJldHVybiBnZXRJbnRQYXJh
bWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9GUkFHTUVOVF9V
TklGT1JNX0JMT0NLUzoKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7Cisg
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1BST0dSQU1fVEVYRUxfT0ZGU0VUOgorICAg
ICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dDNEOjpNQVhfU0FNUExFUzoKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFt
ZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1NFUlZFUl9XQUlUX1RJTUVPVVQ6
CisgICAgICAgIHJldHVybiBnZXRJbnQ2NFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6TUFYX1RFWFRVUkVfTE9EX0JJQVM6CisgICAgICAgIHJldHVybiBnZXRJ
bnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9UUkFO
U0ZPUk1fRkVFREJBQ0tfSU5URVJMRUFWRURfQ09NUE9ORU5UUzoKKyAgICAgICAgcmV0dXJuIGdl
dEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1RS
QU5TRk9STV9GRUVEQkFDS19TRVBBUkFURV9BVFRSSUJTOgorICAgICAgICByZXR1cm4gZ2V0SW50
UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfVFJBTlNG
T1JNX0ZFRURCQUNLX1NFUEFSQVRFX0NPTVBPTkVOVFM6CisgICAgICAgIHJldHVybiBnZXRJbnRQ
YXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9VTklGT1JN
X0JMT0NLX1NJWkU6CisgICAgICAgIHJldHVybiBnZXRJbnQ2NFBhcmFtZXRlcihwbmFtZSk7Cisg
ICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6TUFYX1VOSUZPUk1fQlVGRkVSX0JJTkRJTkdTOgor
ICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpNQVhfVkFSWUlOR19DT01QT05FTlRTOgorICAgICAgICByZXR1cm4gZ2V0SW50
UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfVkVSVEVY
X09VVFBVVF9DT01QT05FTlRTOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1l
KTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfVkVSVEVYX1VOSUZPUk1fQkxPQ0tT
OgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpNQVhfVkVSVEVYX1VOSUZPUk1fQ09NUE9ORU5UUzoKKyAgICAgICAgcmV0
dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6
TUlOX1BST0dSQU1fVEVYRUxfT0ZGU0VUOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVy
KHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpQQUNLX1JPV19MRU5HVEg6Cisg
ICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlBBQ0tfU0tJUF9QSVhFTFM6CisgICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0
ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlBBQ0tfU0tJUF9ST1dTOgor
ICAgICAgICByZXR1cm4gZ2V0SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpVTlBBQ0tfSU1BR0VfSEVJR0hUOgorICAgICAgICByZXR1cm4gZ2V0SW50UGFy
YW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tfUk9XX0xF
TkdUSDoKKyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6VU5QQUNLX1NLSVBfSU1BR0VTOgorICAgICAgICByZXR1cm4gZ2V0
SW50UGFyYW1ldGVyKHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tf
U0tJUF9QSVhFTFM6CisgICAgICAgIHJldHVybiBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOUEFDS19TS0lQX1JPV1M6CisgICAgICAgIHJldHVy
biBnZXRJbnRQYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJB
U1RFUklaRVJfRElTQ0FSRDoKKyAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0ZXIocG5h
bWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlNBTVBMRV9BTFBIQV9UT19DT1ZFUkFH
RToKKyAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5QYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlNBTVBMRV9DT1ZFUkFHRToKKyAgICAgICAgcmV0dXJuIGdldEJv
b2xlYW5QYXJhbWV0ZXIocG5hbWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlRSQU5T
Rk9STV9GRUVEQkFDS19BQ1RJVkU6CisgICAgICAgIHJldHVybiBnZXRCb29sZWFuUGFyYW1ldGVy
KHBuYW1lKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpUUkFOU0ZPUk1fRkVFREJBQ0tf
UEFVU0VEOgorICAgICAgICByZXR1cm4gZ2V0Qm9vbGVhblBhcmFtZXRlcihwbmFtZSk7CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5JRk9STV9CVUZGRVJfT0ZGU0VUX0FMSUdOTUVOVDoK
KyAgICAgICAgcmV0dXJuIGdldEludFBhcmFtZXRlcihwbmFtZSk7CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6VkVSVEVYX0FSUkFZX0JJTkRJTkc6CisgICAgICAgIGlmIChtX2JvdW5kVmVy
dGV4QXJyYXlPYmplY3QtPmlzRGVmYXVsdE9iamVjdCgpKQorICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgICAgIHJldHVybiBtYWtlUmVmUHRyKHN0YXRpY19jYXN0PFdlYkdMVmVydGV4
QXJyYXlPYmplY3QmPigqbV9ib3VuZFZlcnRleEFycmF5T2JqZWN0KSk7CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6RFJBV19CVUZGRVIwOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OkRSQVdfQlVGRkVSMToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpEUkFXX0JVRkZFUjI6
CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19CVUZGRVIzOgorICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OkRSQVdfQlVGRkVSNDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpEUkFXX0JVRkZFUjU6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19CVUZGRVI2
OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRSQVdfQlVGRkVSNzoKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dDNEOjpEUkFXX0JVRkZFUjg6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6RFJBV19CVUZGRVI5OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRSQVdfQlVGRkVS
MTA6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19CVUZGRVIxMToKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpEUkFXX0JVRkZFUjEyOgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkRSQVdfQlVGRkVSMTM6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RFJBV19C
VUZGRVIxNDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpEUkFXX0JVRkZFUjE1OgorICAg
ICAgICBpZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcpCisgICAgICAgICAgICByZXR1cm4gbV9mcmFt
ZWJ1ZmZlckJpbmRpbmctPmdldERyYXdCdWZmZXIocG5hbWUpOworICAgICAgICByZXR1cm4gbV9i
YWNrRHJhd0J1ZmZlcjsgLy8gZW11bGF0ZWQgYmFja2J1ZmZlcgorICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlJFQURfRlJBTUVCVUZGRVJfQklORElORzoKKyAgICAgICAgcmV0dXJuIG1fcmVh
ZEZyYW1lYnVmZmVyQmluZGluZzsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDT1BZX1JF
QURfQlVGRkVSOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkNPUFlfV1JJVEVfQlVGRkVS
OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlBJWEVMX1BBQ0tfQlVGRkVSX0JJTkRJTkc6
CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UElYRUxfVU5QQUNLX0JVRkZFUl9CSU5ESU5H
OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJFQURfQlVGRkVSOgorICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OlNBTVBMRVJfQklORElORzoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpURVhUVVJFX0JJTkRJTkdfMkRfQVJSQVk6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6VEVYVFVSRV9CSU5ESU5HXzNEOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlRSQU5T
Rk9STV9GRUVEQkFDS19CVUZGRVJfQklORElORzoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpVTklGT1JNX0JVRkZFUl9CSU5ESU5HOgorICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFw
aGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCAiZ2V0UGFyYW1ldGVyIiwgInBhcmFtZXRlciBu
YW1lIG5vdCB5ZXQgc3VwcG9ydGVkIik7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZB
TElEX0VOVU0sICJnZXRQYXJhbWV0ZXIiLCAiaW52YWxpZCBwYXJhbWV0ZXIgbmFtZSIpOworICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9Cit9CisKK2Jvb2wgV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OnZhbGlkYXRlSW5kZXhBcnJheUNvbnNlcnZhdGl2ZShHQzNEZW51bSB0eXBlLCB1
bnNpZ25lZCYgbnVtRWxlbWVudHNSZXF1aXJlZCkKK3sKKyAgICAvLyBQZXJmb3JtcyBjb25zZXJ2
YXRpdmUgdmFsaWRhdGlvbiBieSBjYWNoaW5nIGEgbWF4aW11bSBpbmRleCBvZgorICAgIC8vIHRo
ZSBnaXZlbiB0eXBlIHBlciBlbGVtZW50IGFycmF5IGJ1ZmZlci4gSWYgYWxsIG9mIHRoZSBib3Vu
ZAorICAgIC8vIGFycmF5IGJ1ZmZlcnMgaGF2ZSBlbm91Z2ggZWxlbWVudHMgdG8gc2F0aXNmeSB0
aGF0IG1heGltdW0KKyAgICAvLyBpbmRleCwgc2tpcHMgdGhlIGV4cGVuc2l2ZSBwZXItZHJhdy1j
YWxsIGl0ZXJhdGlvbiBpbgorICAgIC8vIHZhbGlkYXRlSW5kZXhBcnJheVByZWNpc2UuCisKKyAg
ICBSZWZQdHI8V2ViR0xCdWZmZXI+IGVsZW1lbnRBcnJheUJ1ZmZlciA9IG1fYm91bmRWZXJ0ZXhB
cnJheU9iamVjdC0+Z2V0RWxlbWVudEFycmF5QnVmZmVyKCk7CisKKyAgICBpZiAoIWVsZW1lbnRB
cnJheUJ1ZmZlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgR0MzRHNpemVpcHRyIG51
bUVsZW1lbnRzID0gZWxlbWVudEFycmF5QnVmZmVyLT5ieXRlTGVuZ3RoKCk7CisgICAgLy8gVGhl
IGNhc2UgY291bnQ9PTAgaXMgYWxyZWFkeSBkZWFsdCB3aXRoIGluIGRyYXdFbGVtZW50cyBiZWZv
cmUgdmFsaWRhdGVJbmRleEFycmF5Q29uc2VydmF0aXZlLgorICAgIGlmICghbnVtRWxlbWVudHMp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBhdXRvIGJ1ZmZlciA9IGVsZW1lbnRBcnJheUJ1
ZmZlci0+ZWxlbWVudEFycmF5QnVmZmVyKCk7CisgICAgQVNTRVJUKGJ1ZmZlcik7CisKKyAgICBP
cHRpb25hbDx1bnNpZ25lZD4gbWF4SW5kZXggPSBlbGVtZW50QXJyYXlCdWZmZXItPmdldENhY2hl
ZE1heEluZGV4KHR5cGUpOworICAgIGlmICghbWF4SW5kZXgpIHsKKyAgICAgICAgLy8gQ29tcHV0
ZSB0aGUgbWF4aW11bSBpbmRleCBpbiB0aGUgZW50aXJlIGJ1ZmZlciBmb3IgdGhlIGdpdmVuIHR5
cGUgb2YgaW5kZXguCisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFOgorICAgICAgICAgICAgbWF4SW5kZXggPSBnZXRN
YXhJbmRleDxHQzNEdWJ5dGU+KGJ1ZmZlciwgMCwgbnVtRWxlbWVudHMpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX1NIT1JUOgor
ICAgICAgICAgICAgbWF4SW5kZXggPSBnZXRNYXhJbmRleDxHQzNEdXNob3J0PihidWZmZXIsIDAs
IG51bUVsZW1lbnRzIC8gc2l6ZW9mKEdDM0R1c2hvcnQpKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9JTlQ6CisgICAgICAgICAg
ICBtYXhJbmRleCA9IGdldE1heEluZGV4PEdDM0R1aW50PihidWZmZXIsIDAsIG51bUVsZW1lbnRz
IC8gc2l6ZW9mKEdDM0R1aW50KSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBpZiAobWF4
SW5kZXgpCisgICAgICAgICAgICBlbGVtZW50QXJyYXlCdWZmZXItPnNldENhY2hlZE1heEluZGV4
KHR5cGUsIG1heEluZGV4LnZhbHVlKCkpOworICAgIH0KKworICAgIGlmICghbWF4SW5kZXgpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFRoZSBudW1iZXIgb2YgcmVxdWlyZWQgZWxl
bWVudHMgaXMgb25lIG1vcmUgdGhhbiB0aGUgbWF4aW11bQorICAgIC8vIGluZGV4IHRoYXQgd2ls
bCBiZSBhY2Nlc3NlZC4KKyAgICBhdXRvIGNoZWNrZWROdW1FbGVtZW50c1JlcXVpcmVkID0gY2hl
Y2tlZEFkZEFuZE11bHRpcGx5PHVuc2lnbmVkPihtYXhJbmRleC52YWx1ZSgpLCAxLCAxKTsKKyAg
ICBpZiAoIWNoZWNrZWROdW1FbGVtZW50c1JlcXVpcmVkKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgbnVtRWxlbWVudHNSZXF1aXJlZCA9IGNoZWNrZWROdW1FbGVtZW50c1JlcXVpcmVkLnZh
bHVlKCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBXZWJHTDJSZW5kZXJpbmdDb250
ZXh0QmFzZTo6dmFsaWRhdGVCbGVuZEVxdWF0aW9uKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwg
R0MzRGVudW0gbW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpGVU5DX0FERDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGVU5DX1NV
QlRSQUNUOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkZVTkNfUkVWRVJTRV9TVUJUUkFD
VDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpNSU46CisgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6TUFYOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBkZWZhdWx0OgorICAgICAg
ICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5j
dGlvbk5hbWUsICJpbnZhbGlkIG1vZGUiKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
K30KKworYm9vbCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmFsaWRhdGVDYXBhYmlsaXR5
KGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gY2FwKQoreworICAgIHN3aXRjaCAo
Y2FwKSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6QkxFTkQ6CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6Q1VMTF9GQUNFOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkRF
UFRIX1RFU1Q6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6RElUSEVSOgorICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlBPTFlHT05fT0ZGU0VUX0ZJTEw6CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6U0FNUExFX0FMUEhBX1RPX0NPVkVSQUdFOgorICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlNBTVBMRV9DT1ZFUkFHRToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpT
Q0lTU09SX1RFU1Q6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9URVNUOgor
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJBU1RFUklaRVJfRElTQ0FSRDoKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3Jh
cGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBjYXBh
YmlsaXR5Iik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKKwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDUxNjg0NzkzNTQ3MzFlNTAxN2VlMWFiMDQxNDdiNmMyMmMzYWJhZQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0Nv
bnRleHRCYXNlLmgKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHTDIpCisK
KyNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgiCisjaW5jbHVkZSA8bWVtb3J5
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYkdMUXVlcnk7CitjbGFzcyBXZWJH
TFNhbXBsZXI7CitjbGFzcyBXZWJHTFN5bmM7CitjbGFzcyBXZWJHTFRyYW5zZm9ybUZlZWRiYWNr
OworY2xhc3MgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdDsKKworY2xhc3MgV2ViR0wyUmVuZGVyaW5n
Q29udGV4dEJhc2UgOiBwdWJsaWMgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSB7CisgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChXZWJHTDJSZW5kZXJpbmdDb250ZXh0QmFzZSk7CitwdWJsaWM6
CisgICAgLy8gQnVmZmVyIG9iamVjdHMKKyAgICB2b2lkIGNvcHlCdWZmZXJTdWJEYXRhKEdDM0Rl
bnVtIHJlYWRUYXJnZXQsIEdDM0RlbnVtIHdyaXRlVGFyZ2V0LCBHQzNEaW50NjQgcmVhZE9mZnNl
dCwgR0MzRGludDY0IHdyaXRlT2Zmc2V0LCBHQzNEaW50NjQgc2l6ZSk7CisgICAgdm9pZCBnZXRC
dWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIHNyY0J5dGVPZmZzZXQsIFJl
ZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYgZHN0RGF0YSwgR0MzRHVpbnQgZHN0T2Zmc2V0ID0gMCwg
R0MzRHVpbnQgbGVuZ3RoID0gMCk7CisKKyAgICAvLyBGcmFtZWJ1ZmZlciBvYmplY3RzCisgICAg
V2ViR0xBbnkgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKEdDM0RlbnVtIHRhcmdl
dCwgR0MzRGVudW0gYXR0YWNobWVudCwgR0MzRGVudW0gcG5hbWUpIGZpbmFsOworICAgIHZvaWQg
YmxpdEZyYW1lYnVmZmVyKEdDM0RpbnQgc3JjWDAsIEdDM0RpbnQgc3JjWTAsIEdDM0RpbnQgc3Jj
WDEsIEdDM0RpbnQgc3JjWTEsIEdDM0RpbnQgZHN0WDAsIEdDM0RpbnQgZHN0WTAsIEdDM0RpbnQg
ZHN0WDEsIEdDM0RpbnQgZHN0WTEsIEdDM0RiaXRmaWVsZCBtYXNrLCBHQzNEZW51bSBmaWx0ZXIp
OworICAgIHZvaWQgZnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
ZW51bSBhdHRhY2htZW50LCBXZWJHTFRleHR1cmUqLCBHQzNEaW50IGxldmVsLCBHQzNEaW50IGxh
eWVyKTsKKyAgICBXZWJHTEFueSBnZXRJbnRlcm5hbGZvcm1hdFBhcmFtZXRlcihHQzNEZW51bSB0
YXJnZXQsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEZW51bSBwbmFtZSk7CisgICAgdm9p
ZCBpbnZhbGlkYXRlRnJhbWVidWZmZXIoR0MzRGVudW0gdGFyZ2V0LCBjb25zdCBWZWN0b3I8R0Mz
RGVudW0+JiBhdHRhY2htZW50cyk7CisgICAgdm9pZCBpbnZhbGlkYXRlU3ViRnJhbWVidWZmZXIo
R0MzRGVudW0gdGFyZ2V0LCBjb25zdCBWZWN0b3I8R0MzRGVudW0+JiBhdHRhY2htZW50cywgR0Mz
RGludCB4LCBHQzNEaW50IHksIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCk7Cisg
ICAgdm9pZCByZWFkQnVmZmVyKEdDM0RlbnVtIHNyYyk7CisKKyAgICAvLyBSZW5kZXJidWZmZXIg
b2JqZWN0cworICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKEdDM0RlbnVt
IHRhcmdldCwgR0MzRHNpemVpIHNhbXBsZXMsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNE
c2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQpOworCisgICAgLy8gVGV4dHVyZSBvYmplY3Rz
CisgICAgdm9pZCB0ZXhTdG9yYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEc2l6ZWkgbGV2ZWxz
LCBHQzNEZW51bSBpbnRlcm5hbEZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVp
Z2h0KTsKKyAgICB2b2lkIHRleFN0b3JhZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RzaXplaSBs
ZXZlbHMsIEdDM0RlbnVtIGludGVybmFsRm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXpl
aSBoZWlnaHQsIEdDM0RzaXplaSBkZXB0aCk7CisKKyNpZiBFTkFCTEUoVklERU8pCisgICAgdXNp
bmcgVGV4SW1hZ2VTb3VyY2UgPSBXVEY6OlZhcmlhbnQ8UmVmUHRyPEltYWdlQml0bWFwPiwgUmVm
UHRyPEltYWdlRGF0YT4sIFJlZlB0cjxIVE1MSW1hZ2VFbGVtZW50PiwgUmVmUHRyPEhUTUxDYW52
YXNFbGVtZW50PiwgUmVmUHRyPEhUTUxWaWRlb0VsZW1lbnQ+PjsKKyNlbHNlCisgICAgdXNpbmcg
VGV4SW1hZ2VTb3VyY2UgPSBXVEY6OlZhcmlhbnQ8UmVmUHRyPEltYWdlQml0bWFwPiwgUmVmUHRy
PEltYWdlRGF0YT4sIFJlZlB0cjxIVE1MSW1hZ2VFbGVtZW50PiwgUmVmUHRyPEhUTUxDYW52YXNF
bGVtZW50Pj47CisjZW5kaWYKKworICAgIHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OnRleEltYWdlMkQ7CisgICAgdm9pZCB0ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGlu
dCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6
ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBl
LCBHQzNEaW50NjQgcGJvT2Zmc2V0KTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiB0ZXhJbWFnZTJE
KEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwg
R0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgR0MzRGVu
dW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJjZSYmKTsKKyAgICB2b2lkIHRl
eEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IGludGVybmFs
Zm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVy
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+
JiYgc3JjRGF0YSwgR0MzRHVpbnQgc3JjT2Zmc2V0KTsKKworICAgIHZvaWQgdGV4SW1hZ2UzRChH
QzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgaW50ZXJuYWxmb3JtYXQsIEdD
M0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEaW50
IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50NjQgcGJvT2Zm
c2V0KTsKKyAgICB2b2lkIHRleEltYWdlM0QoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVs
LCBHQzNEaW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWln
aHQsIEdDM0RzaXplaSBkZXB0aCwgR0MzRGludCBib3JkZXIsIEdDM0RlbnVtIGZvcm1hdCwgR0Mz
RGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2UmJik7CisgICAgdm9pZCB0ZXhJbWFnZTNEKEdDM0Rl
bnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNp
emVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9y
ZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFJlZlB0cjxBcnJheUJ1ZmZlclZp
ZXc+JiYgcGl4ZWxzKTsKKyAgICB2b2lkIHRleEltYWdlM0QoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50IGxldmVsLCBHQzNEaW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0Rz
aXplaSBoZWlnaHQsIEdDM0RzaXplaSBkZXB0aCwgR0MzRGludCBib3JkZXIsIEdDM0RlbnVtIGZv
cm1hdCwgR0MzRGVudW0gdHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBzcmNEYXRhLCBH
QzNEdWludCBzcmNPZmZzZXQpOworCisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6dGV4U3ViSW1hZ2UyRDsKKyAgICB2b2lkIHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNp
emVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5
cGUsIEdDM0RpbnQ2NCBwYm9PZmZzZXQpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHRleFN1Yklt
YWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdD
M0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51
bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOworICAgIHZvaWQgdGV4
U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNl
dCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdD
M0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBz
cmNEYXRhLCBHQzNEdWludCBzcmNPZmZzZXQpOworCisgICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdD
M0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlv
ZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgR0MzRGlu
dDY0IHBib09mZnNldCk7CisgICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwg
R0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQg
em9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVw
dGgsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmll
dz4mJiBwaXhlbHMsIEdDM0R1aW50IHNyY09mZnNldCk7CisgICAgdm9pZCB0ZXhTdWJJbWFnZTNE
KEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50
IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVp
Z2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgVGV4
SW1hZ2VTb3VyY2UmJik7CisKKyAgICB2b2lkIGNvcHlUZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRh
cmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdD
M0RpbnQgem9mZnNldCwgR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RzaXplaSB3aWR0aCwgR0Mz
RHNpemVpIGhlaWdodCk7CisKKyAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTNEKEdDM0RlbnVt
IHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXpl
aSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEaW50IGJvcmRl
ciwgR0MzRHNpemVpIGltYWdlU2l6ZSwgR0MzRGludDY0IG9mZnNldCk7CisgICAgdm9pZCBjb21w
cmVzc2VkVGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVt
IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0Rz
aXplaSBkZXB0aCwgR0MzRGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyYgc3JjRGF0YSwgR0Mz
RHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGhPdmVycmlkZSk7CisKKyAgICB2b2lk
IGNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwg
R0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0MzRHNp
emVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVtIGZv
cm1hdCwgR0MzRHNpemVpIGltYWdlU2l6ZSwgR0MzRGludDY0IG9mZnNldCk7CisgICAgdm9pZCBj
b21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RzaXpl
aSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEZW51bSBmb3Jt
YXQsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0MzRHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBz
cmNMZW5ndGhPdmVycmlkZSk7CisKKyAgICAvLyBQcm9ncmFtcyBhbmQgc2hhZGVycworICAgIEdD
M0RpbnQgZ2V0RnJhZ0RhdGFMb2NhdGlvbihXZWJHTFByb2dyYW0mLCBjb25zdCBTdHJpbmcmIG5h
bWUpOworCisgICAgLy8gVW5pZm9ybXMgYW5kIGF0dHJpYnV0ZXMKKyAgICB1c2luZyBVaW50MzJM
aXN0ID0gVHlwZWRMaXN0PFVpbnQzMkFycmF5LCB1aW50MzJfdD47CisgICAgdXNpbmcgRmxvYXQz
Mkxpc3QgPSBUeXBlZExpc3Q8RmxvYXQzMkFycmF5LCBmbG9hdD47CisgICAgdm9pZCB1bmlmb3Jt
MXVpKFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgR0MzRHVpbnQgdjApOworICAgIHZvaWQgdW5pZm9y
bTJ1aShXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0R1aW50IHYwLCBHQzNEdWludCB2MSk7Cisg
ICAgdm9pZCB1bmlmb3JtM3VpKFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgR0MzRHVpbnQgdjAsIEdD
M0R1aW50IHYxLCBHQzNEdWludCB2Mik7CisgICAgdm9pZCB1bmlmb3JtNHVpKFdlYkdMVW5pZm9y
bUxvY2F0aW9uKiwgR0MzRHVpbnQgdjAsIEdDM0R1aW50IHYxLCBHQzNEdWludCB2MiwgR0MzRHVp
bnQgdjMpOworICAgIHZvaWQgdW5pZm9ybTF1aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qLCBVaW50
MzJMaXN0JiYgZGF0YSwgR0MzRHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGgpOwor
ICAgIHZvaWQgdW5pZm9ybTJ1aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qLCBVaW50MzJMaXN0JiYg
ZGF0YSwgR0MzRHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQg
dW5pZm9ybTN1aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qLCBVaW50MzJMaXN0JiYgZGF0YSwgR0Mz
RHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTR1
aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qLCBVaW50MzJMaXN0JiYgZGF0YSwgR0MzRHVpbnQgc3Jj
T2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJ4M2Z2
KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlz
dCYmIHZhbHVlLCBHQzNEdWludCBzcmNPZmZzZXQsIEdDM0R1aW50IHNyY0xlbmd0aCk7CisgICAg
dm9pZCB1bmlmb3JtTWF0cml4M3gyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qLCBHQzNEYm9vbGVh
biB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0JiYgdmFsdWUsIEdDM0R1aW50IHNyY09mZnNldCwgR0Mz
RHVpbnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgyeDRmdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbiosIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QmJiB2YWx1ZSwg
R0MzRHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9y
bU1hdHJpeDR4MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgR0MzRGJvb2xlYW4gdHJhbnNwb3Nl
LCBGbG9hdDMyTGlzdCYmIHZhbHVlLCBHQzNEdWludCBzcmNPZmZzZXQsIEdDM0R1aW50IHNyY0xl
bmd0aCk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4M3g0ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24q
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0JiYgdmFsdWUsIEdDM0R1aW50IHNy
Y09mZnNldCwgR0MzRHVpbnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXg0eDNm
dihXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxp
c3QmJiB2YWx1ZSwgR0MzRHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGgpOworICAg
IHZvaWQgdmVydGV4QXR0cmliSTRpKEdDM0R1aW50IGluZGV4LCBHQzNEaW50IHgsIEdDM0RpbnQg
eSwgR0MzRGludCB6LCBHQzNEaW50IHcpOworICAgIHZvaWQgdmVydGV4QXR0cmliSTRpdihHQzNE
dWludCBpbmRleCwgSW50MzJMaXN0JiYgdik7CisgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJNHVpKEdD
M0R1aW50IGluZGV4LCBHQzNEdWludCB4LCBHQzNEdWludCB5LCBHQzNEdWludCB6LCBHQzNEdWlu
dCB3KTsKKyAgICB2b2lkIHZlcnRleEF0dHJpYkk0dWl2KEdDM0R1aW50IGluZGV4LCBVaW50MzJM
aXN0JiYgdik7CisgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJUG9pbnRlcihHQzNEdWludCBpbmRleCwg
R0MzRGludCBzaXplLCBHQzNEZW51bSB0eXBlLCBHQzNEc2l6ZWkgc3RyaWRlLCBHQzNEaW50NjQg
b2Zmc2V0KTsKKworICAgIC8vIFdyaXRpbmcgdG8gdGhlIGRyYXdpbmcgYnVmZmVyCisgICAgdm9p
ZCBjbGVhcihHQzNEYml0ZmllbGQgbWFzaykgZmluYWw7CisgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJE
aXZpc29yKEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29yKTsKKyAgICB2b2lkIGRyYXdB
cnJheXNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGNv
dW50LCBHQzNEc2l6ZWkgaW5zdGFuY2VDb3VudCk7CisgICAgdm9pZCBkcmF3RWxlbWVudHNJbnN0
YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51bSB0eXBlLCBHQzNE
aW50NjQgb2Zmc2V0LCBHQzNEc2l6ZWkgaW5zdGFuY2VDb3VudCk7CisgICAgdm9pZCBkcmF3UmFu
Z2VFbGVtZW50cyhHQzNEZW51bSBtb2RlLCBHQzNEdWludCBzdGFydCwgR0MzRHVpbnQgZW5kLCBH
QzNEc2l6ZWkgY291bnQsIEdDM0RlbnVtIHR5cGUsIEdDM0RpbnQ2NCBvZmZzZXQpOworCisgICAg
Ly8gTXVsdGlwbGUgcmVuZGVyIHRhcmdldHMKKyAgICB2b2lkIGRyYXdCdWZmZXJzKGNvbnN0IFZl
Y3RvcjxHQzNEZW51bT4mIGJ1ZmZlcnMpOworICAgIHZvaWQgY2xlYXJCdWZmZXJpdihHQzNEZW51
bSBidWZmZXIsIEdDM0RpbnQgZHJhd2J1ZmZlciwgSW50MzJMaXN0JiYgdmFsdWVzLCBHQzNEdWlu
dCBzcmNPZmZzZXQpOworICAgIHZvaWQgY2xlYXJCdWZmZXJ1aXYoR0MzRGVudW0gYnVmZmVyLCBH
QzNEaW50IGRyYXdidWZmZXIsIFVpbnQzMkxpc3QmJiB2YWx1ZXMsIEdDM0R1aW50IHNyY09mZnNl
dCk7CisgICAgdm9pZCBjbGVhckJ1ZmZlcmZ2KEdDM0RlbnVtIGJ1ZmZlciwgR0MzRGludCBkcmF3
YnVmZmVyLCBGbG9hdDMyTGlzdCYmIHZhbHVlcywgR0MzRHVpbnQgc3JjT2Zmc2V0KTsKKyAgICB2
b2lkIGNsZWFyQnVmZmVyZmkoR0MzRGVudW0gYnVmZmVyLCBHQzNEaW50IGRyYXdidWZmZXIsIEdD
M0RmbG9hdCBkZXB0aCwgR0MzRGludCBzdGVuY2lsKTsKKworICAgIC8vIFF1ZXJ5IG9iamVjdHMK
KyAgICBSZWZQdHI8V2ViR0xRdWVyeT4gY3JlYXRlUXVlcnkoKTsKKyAgICB2b2lkIGRlbGV0ZVF1
ZXJ5KFdlYkdMUXVlcnkqKTsKKyAgICBHQzNEYm9vbGVhbiBpc1F1ZXJ5KFdlYkdMUXVlcnkqKTsK
KyAgICB2b2lkIGJlZ2luUXVlcnkoR0MzRGVudW0gdGFyZ2V0LCBXZWJHTFF1ZXJ5Jik7CisgICAg
dm9pZCBlbmRRdWVyeShHQzNEZW51bSB0YXJnZXQpOworICAgIFJlZlB0cjxXZWJHTFF1ZXJ5PiBn
ZXRRdWVyeShHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIHBuYW1lKTsKKyAgICBXZWJHTEFueSBn
ZXRRdWVyeVBhcmFtZXRlcihXZWJHTFF1ZXJ5JiwgR0MzRGVudW0gcG5hbWUpOworCisgICAgLy8g
U2FtcGxlciBvYmplY3RzCisgICAgUmVmUHRyPFdlYkdMU2FtcGxlcj4gY3JlYXRlU2FtcGxlcigp
OworICAgIHZvaWQgZGVsZXRlU2FtcGxlcihXZWJHTFNhbXBsZXIqKTsKKyAgICBHQzNEYm9vbGVh
biBpc1NhbXBsZXIoV2ViR0xTYW1wbGVyKik7CisgICAgdm9pZCBiaW5kU2FtcGxlcihHQzNEdWlu
dCB1bml0LCBXZWJHTFNhbXBsZXIqKTsKKyAgICB2b2lkIHNhbXBsZXJQYXJhbWV0ZXJpKFdlYkdM
U2FtcGxlciYsIEdDM0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFtKTsKKyAgICB2b2lkIHNhbXBs
ZXJQYXJhbWV0ZXJmKFdlYkdMU2FtcGxlciYsIEdDM0RlbnVtIHBuYW1lLCBHQzNEZmxvYXQgcGFy
YW0pOworICAgIFdlYkdMQW55IGdldFNhbXBsZXJQYXJhbWV0ZXIoV2ViR0xTYW1wbGVyJiwgR0Mz
RGVudW0gcG5hbWUpOworCisgICAgLy8gU3luYyBvYmplY3RzCisgICAgUmVmUHRyPFdlYkdMU3lu
Yz4gZmVuY2VTeW5jKEdDM0RlbnVtIGNvbmRpdGlvbiwgR0MzRGJpdGZpZWxkIGZsYWdzKTsKKyAg
ICBHQzNEYm9vbGVhbiBpc1N5bmMoV2ViR0xTeW5jKik7CisgICAgdm9pZCBkZWxldGVTeW5jKFdl
YkdMU3luYyopOworICAgIEdDM0RlbnVtIGNsaWVudFdhaXRTeW5jKFdlYkdMU3luYyYsIEdDM0Ri
aXRmaWVsZCBmbGFncywgR0MzRHVpbnQ2NCB0aW1lb3V0KTsKKyAgICB2b2lkIHdhaXRTeW5jKFdl
YkdMU3luYyYsIEdDM0RiaXRmaWVsZCBmbGFncywgR0MzRGludDY0IHRpbWVvdXQpOworICAgIFdl
YkdMQW55IGdldFN5bmNQYXJhbWV0ZXIoV2ViR0xTeW5jJiwgR0MzRGVudW0gcG5hbWUpOworCisg
ICAgLy8gVHJhbnNmb3JtIGZlZWRiYWNrCisgICAgUmVmUHRyPFdlYkdMVHJhbnNmb3JtRmVlZGJh
Y2s+IGNyZWF0ZVRyYW5zZm9ybUZlZWRiYWNrKCk7CisgICAgdm9pZCBkZWxldGVUcmFuc2Zvcm1G
ZWVkYmFjayhXZWJHTFRyYW5zZm9ybUZlZWRiYWNrKiBpZCk7CisgICAgR0MzRGJvb2xlYW4gaXNU
cmFuc2Zvcm1GZWVkYmFjayhXZWJHTFRyYW5zZm9ybUZlZWRiYWNrKiBpZCk7CisgICAgdm9pZCBi
aW5kVHJhbnNmb3JtRmVlZGJhY2soR0MzRGVudW0gdGFyZ2V0LCBXZWJHTFRyYW5zZm9ybUZlZWRi
YWNrKiBpZCk7CisgICAgdm9pZCBiZWdpblRyYW5zZm9ybUZlZWRiYWNrKEdDM0RlbnVtIHByaW1p
dGl2ZU1vZGUpOworICAgIHZvaWQgZW5kVHJhbnNmb3JtRmVlZGJhY2soKTsKKyAgICB2b2lkIHRy
YW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MoV2ViR0xQcm9ncmFtJiwgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIHZhcnlpbmdzLCBHQzNEZW51bSBidWZmZXJNb2RlKTsKKyAgICBSZWZQdHI8V2ViR0xBY3Rp
dmVJbmZvPiBnZXRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmcoV2ViR0xQcm9ncmFtJiwgR0MzRHVp
bnQgaW5kZXgpOworICAgIHZvaWQgcGF1c2VUcmFuc2Zvcm1GZWVkYmFjaygpOworICAgIHZvaWQg
cmVzdW1lVHJhbnNmb3JtRmVlZGJhY2soKTsKKworICAgIC8vIFVuaWZvcm0gYnVmZmVyIG9iamVj
dHMgYW5kIHRyYW5zZm9ybSBmZWVkYmFjayBidWZmZXJzCisgICAgdm9pZCBiaW5kQnVmZmVyQmFz
ZShHQzNEZW51bSB0YXJnZXQsIEdDM0R1aW50IGluZGV4LCBXZWJHTEJ1ZmZlciopOworICAgIHZv
aWQgYmluZEJ1ZmZlclJhbmdlKEdDM0RlbnVtIHRhcmdldCwgR0MzRHVpbnQgaW5kZXgsIFdlYkdM
QnVmZmVyKiwgR0MzRGludDY0IG9mZnNldCwgR0MzRGludDY0IHNpemUpOworICAgIFdlYkdMQW55
IGdldEluZGV4ZWRQYXJhbWV0ZXIoR0MzRGVudW0gdGFyZ2V0LCBHQzNEdWludCBpbmRleCk7Cisg
ICAgT3B0aW9uYWw8VmVjdG9yPEdDM0R1aW50Pj4gZ2V0VW5pZm9ybUluZGljZXMoV2ViR0xQcm9n
cmFtJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHVuaWZvcm1OYW1lcyk7CisgICAgV2ViR0xBbnkg
Z2V0QWN0aXZlVW5pZm9ybXMoV2ViR0xQcm9ncmFtJiwgY29uc3QgVmVjdG9yPEdDM0R1aW50PiYg
dW5pZm9ybUluZGljZXMsIEdDM0RlbnVtIHBuYW1lKTsKKyAgICBHQzNEdWludCBnZXRVbmlmb3Jt
QmxvY2tJbmRleChXZWJHTFByb2dyYW0mLCBjb25zdCBTdHJpbmcmIHVuaWZvcm1CbG9ja05hbWUp
OworICAgIFdlYkdMQW55IGdldEFjdGl2ZVVuaWZvcm1CbG9ja1BhcmFtZXRlcihXZWJHTFByb2dy
YW0mLCBHQzNEdWludCB1bmlmb3JtQmxvY2tJbmRleCwgR0MzRGVudW0gcG5hbWUpOworICAgIFN0
cmluZyBnZXRBY3RpdmVVbmlmb3JtQmxvY2tOYW1lKFdlYkdMUHJvZ3JhbSYsIEdDM0R1aW50IHVu
aWZvcm1CbG9ja0luZGV4KTsKKyAgICB2b2lkIHVuaWZvcm1CbG9ja0JpbmRpbmcoV2ViR0xQcm9n
cmFtJiwgR0MzRHVpbnQgdW5pZm9ybUJsb2NrSW5kZXgsIEdDM0R1aW50IHVuaWZvcm1CbG9ja0Jp
bmRpbmcpOworCisgICAgLy8gVmVydGV4IGFycmF5IG9iamVjdHMKKyAgICBSZWZQdHI8V2ViR0xW
ZXJ0ZXhBcnJheU9iamVjdD4gY3JlYXRlVmVydGV4QXJyYXkoKTsKKyAgICB2b2lkIGRlbGV0ZVZl
cnRleEFycmF5KFdlYkdMVmVydGV4QXJyYXlPYmplY3QqIHZlcnRleEFycmF5KTsKKyAgICBHQzNE
Ym9vbGVhbiBpc1ZlcnRleEFycmF5KFdlYkdMVmVydGV4QXJyYXlPYmplY3QqIHZlcnRleEFycmF5
KTsKKyAgICB2b2lkIGJpbmRWZXJ0ZXhBcnJheShXZWJHTFZlcnRleEFycmF5T2JqZWN0KiB2ZXJ0
ZXhBcnJheSk7CisKKyAgICBXZWJHTEV4dGVuc2lvbiogZ2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmlu
ZyYpIGZpbmFsOworICAgIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBnZXRTdXBwb3J0ZWRFeHRl
bnNpb25zKCkgZmluYWw7CisgICAgV2ViR0xBbnkgZ2V0UGFyYW1ldGVyKEdDM0RlbnVtIHBuYW1l
KSBmaW5hbDsKKworICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZShHQzNEZW51bSB0YXJnZXQs
IEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWln
aHQpIGZpbmFsOworICAgIHZvaWQgaGludChHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIG1vZGUp
IGZpbmFsOworCitwcm90ZWN0ZWQ6CisgICAgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2UoQ2Fu
dmFzQmFzZSYsIEdyYXBoaWNzQ29udGV4dDNEQXR0cmlidXRlcyk7CisgICAgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dEJhc2UoQ2FudmFzQmFzZSYsIFJlZjxHcmFwaGljc0NvbnRleHQzRD4mJiwgR3Jh
cGhpY3NDb250ZXh0M0RBdHRyaWJ1dGVzKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGluaXRpYWxp
emVWZXJ0ZXhBcnJheU9iamVjdHMoKSBmaW5hbDsKKyAgICBHQzNEaW50IGdldE1heERyYXdCdWZm
ZXJzKCkgZmluYWw7CisgICAgR0MzRGludCBnZXRNYXhDb2xvckF0dGFjaG1lbnRzKCkgZmluYWw7
CisgICAgYm9vbCB2YWxpZGF0ZUluZGV4QXJyYXlDb25zZXJ2YXRpdmUoR0MzRGVudW0gdHlwZSwg
dW5zaWduZWQmIG51bUVsZW1lbnRzUmVxdWlyZWQpIGZpbmFsOworICAgIGJvb2wgdmFsaWRhdGVC
bGVuZEVxdWF0aW9uKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gbW9kZSkgZmlu
YWw7CisgICAgYm9vbCB2YWxpZGF0ZUNhcGFiaWxpdHkoY29uc3QgY2hhciogZnVuY3Rpb25OYW1l
LCBHQzNEZW51bSBjYXApIGZpbmFsOworICAgIGJvb2wgdmFsaWRhdGVGcmFtZWJ1ZmZlckZ1bmNQ
YXJhbWV0ZXJzKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gdGFyZ2V0LCBHQzNE
ZW51bSBhdHRhY2htZW50KSBmaW5hbDsKKyAgICBib29sIHZhbGlkYXRlRnJhbWVidWZmZXJUYXJn
ZXQoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQzNEZW51bSB0YXJnZXQpOworICAgIGJvb2wg
dmFsaWRhdGVOb25EZWZhdWx0RnJhbWVidWZmZXJBdHRhY2htZW50KGNvbnN0IGNoYXIqIGZ1bmN0
aW9uTmFtZSwgR0MzRGVudW0gYXR0YWNobWVudCk7CisKKyAgICBHQzNEZW51bSBiYXNlSW50ZXJu
YWxGb3JtYXRGcm9tSW50ZXJuYWxGb3JtYXQoR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQpOworICAg
IGJvb2wgaXNJbnRlZ2VyRm9ybWF0KEdDM0RlbnVtIGludGVybmFsZm9ybWF0KTsKKyAgICB2b2lk
IGluaXRpYWxpemVTaGFkZXJFeHRlbnNpb25zKCk7CisKKyAgICBib29sIHZhbGlkYXRlVGV4U3Rv
cmFnZUZ1bmNQYXJhbWV0ZXJzKEdDM0RlbnVtIHRhcmdldCwgR0MzRHNpemVpIGxldmVscywgR0Mz
RGVudW0gaW50ZXJuYWxGb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwg
Y29uc3QgY2hhciogZnVuY3Rpb25OYW1lKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DQU5WQVNSRU5ERVJJTkdDT05URVhUKFdlYkNvcmU6
OldlYkdMMlJlbmRlcmluZ0NvbnRleHRCYXNlLCBpc1dlYkdMMigpKQorCisjZW5kaWYgLy8gV0VC
R0wyCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRl
cmluZ0NvbnRleHRCYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJl
bmRlcmluZ0NvbnRleHRCYXNlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGYyNTM3NTU1MmMwYTM4MzBiODQw
MDYxNDMzOGJmZTdhYTNkMTkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCkBAIC0wLDAgKzEsNTEzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiB1
bnNpZ25lZCBsb25nICAgICAgR0xlbnVtOwordHlwZWRlZiBib29sZWFuICAgICAgICAgICAgR0xi
b29sZWFuOwordHlwZWRlZiB1bnNpZ25lZCBsb25nICAgICAgR0xiaXRmaWVsZDsKK3R5cGVkZWYg
Ynl0ZSAgICAgICAgICAgICAgIEdMYnl0ZTsKK3R5cGVkZWYgc2hvcnQgICAgICAgICAgICAgIEdM
c2hvcnQ7Cit0eXBlZGVmIGxvbmcgICAgICAgICAgICAgICBHTGludDsKK3R5cGVkZWYgbG9uZyAg
ICAgICAgICAgICAgIEdMc2l6ZWk7Cit0eXBlZGVmIGxvbmcgbG9uZyAgICAgICAgICBHTGludHB0
cjsKK3R5cGVkZWYgbG9uZyBsb25nICAgICAgICAgIEdMc2l6ZWlwdHI7Cit0eXBlZGVmIGxvbmcg
bG9uZyAgICAgICAgICBHTGludDY0OwordHlwZWRlZiBvY3RldCAgICAgICAgICAgICAgR0x1Ynl0
ZTsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgICAgIEdMdXNob3J0OwordHlwZWRlZiB1bnNpZ25l
ZCBsb25nICAgICAgR0x1aW50OwordHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgR0x1aW50NjQ7
Cit0eXBlZGVmIHVucmVzdHJpY3RlZCBmbG9hdCBHTGZsb2F0OwordHlwZWRlZiB1bnJlc3RyaWN0
ZWQgZmxvYXQgR0xjbGFtcGY7Cit0eXBlZGVmIChBcnJheUJ1ZmZlciBvciBBcnJheUJ1ZmZlclZp
ZXcpIEJ1ZmZlckRhdGFTb3VyY2U7Cit0eXBlZGVmIChGbG9hdDMyQXJyYXkgb3Igc2VxdWVuY2U8
R0xmbG9hdD4pIEZsb2F0MzJMaXN0OwordHlwZWRlZiAoSW50MzJBcnJheSBvciBzZXF1ZW5jZTxH
TGludD4pIEludDMyTGlzdDsKK3R5cGVkZWYgKFVpbnQzMkFycmF5IG9yIHNlcXVlbmNlPEdMdWlu
dD4pIFVpbnQzMkxpc3Q7CisKKyNpZmRlZiBFTkFCTEVfVklERU8KK3R5cGVkZWYgKEltYWdlQml0
bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50
IG9yIEhUTUxWaWRlb0VsZW1lbnQpIFRleEltYWdlU291cmNlOworI2Vsc2UKK3R5cGVkZWYgKElt
YWdlQml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNF
bGVtZW50KSBUZXhJbWFnZVNvdXJjZTsKKyNlbmRpZgorCitbCisgICAgQ29uZGl0aW9uYWw9V0VC
R0wyLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR0wyLAorICAgIEN1c3RvbUlzUmVhY2hhYmxl
LAorICAgIEN1c3RvbVRvSlNPYmplY3QsCisgICAgRG9Ob3RDaGVja0NvbnN0YW50cywKKyAgICBK
U0N1c3RvbU1hcmtGdW5jdGlvbiwKKyAgICBOb0ludGVyZmFjZU9iamVjdCwKKyAgICBFeHBvcnRN
YWNybz1XRUJDT1JFX0VYUE9SVAorXSBpbnRlcmZhY2UgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJh
c2UgeworICAgIGNvbnN0IEdMZW51bSBSRUFEX0JVRkZFUiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDBDMDI7CisgICAgY29uc3QgR0xlbnVtIFVOUEFDS19ST1dfTEVOR1RI
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MENGMjsKKyAgICBjb25zdCBHTGVudW0g
VU5QQUNLX1NLSVBfUk9XUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwQ0YzOwor
ICAgIGNvbnN0IEdMZW51bSBVTlBBQ0tfU0tJUF9QSVhFTFMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAweDBDRjQ7CisgICAgY29uc3QgR0xlbnVtIFBBQ0tfUk9XX0xFTkdUSCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDB4MEQwMjsKKyAgICBjb25zdCBHTGVudW0gUEFDS19T
S0lQX1JPV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwRDAzOworICAgIGNv
bnN0IEdMZW51bSBQQUNLX1NLSVBfUElYRUxTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSAweDBEMDQ7CisgICAgY29uc3QgR0xlbnVtIENPTE9SICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4MTgwMDsKKyAgICBjb25zdCBHTGVudW0gREVQVEggICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgxODAxOworICAgIGNvbnN0IEdM
ZW51bSBTVEVOQ0lMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDE4
MDI7CisgICAgY29uc3QgR0xlbnVtIFJFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDB4MTkwMzsKKyAgICBjb25zdCBHTGVudW0gUkdCOCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MDUxOworICAgIGNvbnN0IEdMZW51bSBS
R0JBOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgwNTg7Cisg
ICAgY29uc3QgR0xlbnVtIFJHQjEwX0EyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4ODA1OTsKKyAgICBjb25zdCBHTGVudW0gVEVYVFVSRV9CSU5ESU5HXzNEICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMHg4MDZBOworICAgIGNvbnN0IEdMZW51bSBVTlBBQ0tf
U0tJUF9JTUFHRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgwNkQ7CisgICAgY29u
c3QgR0xlbnVtIFVOUEFDS19JTUFHRV9IRUlHSFQgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDB4ODA2RTsKKyAgICBjb25zdCBHTGVudW0gVEVYVFVSRV8zRCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMHg4MDZGOworICAgIGNvbnN0IEdMZW51bSBURVhUVVJFX1dSQVBf
UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgwNzI7CisgICAgY29uc3QgR0xl
bnVtIE1BWF8zRF9URVhUVVJFX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODA3
MzsKKyAgICBjb25zdCBHTGVudW0gVU5TSUdORURfSU5UXzJfMTBfMTBfMTBfUkVWICAgICAgICAg
ICAgICAgICAgID0gMHg4MzY4OworICAgIGNvbnN0IEdMZW51bSBNQVhfRUxFTUVOVFNfVkVSVElD
RVMgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgwRTg7CisgICAgY29uc3QgR0xlbnVtIE1B
WF9FTEVNRU5UU19JTkRJQ0VTICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODBFOTsKKyAg
ICBjb25zdCBHTGVudW0gVEVYVFVSRV9NSU5fTE9EICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHg4MTNBOworICAgIGNvbnN0IEdMZW51bSBURVhUVVJFX01BWF9MT0QgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDgxM0I7CisgICAgY29uc3QgR0xlbnVtIFRFWFRVUkVf
QkFTRV9MRVZFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODEzQzsKKyAgICBjb25z
dCBHTGVudW0gVEVYVFVSRV9NQVhfTEVWRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
MHg4MTNEOworICAgIGNvbnN0IEdMZW51bSBNSU4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAweDgwMDc7CisgICAgY29uc3QgR0xlbnVtIE1BWCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODAwODsKKyAgICBjb25zdCBHTGVu
dW0gREVQVEhfQ09NUE9ORU5UMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MUE2
OworICAgIGNvbnN0IEdMZW51bSBNQVhfVEVYVFVSRV9MT0RfQklBUyAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDg0RkQ7CisgICAgY29uc3QgR0xlbnVtIFRFWFRVUkVfQ09NUEFSRV9NT0RF
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODg0QzsKKyAgICBjb25zdCBHTGVudW0gVEVY
VFVSRV9DT01QQVJFX0ZVTkMgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4ODREOworICAg
IGNvbnN0IEdMZW51bSBDVVJSRU5UX1FVRVJZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDg4NjU7CisgICAgY29uc3QgR0xlbnVtIFFVRVJZX1JFU1VMVCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDB4ODg2NjsKKyAgICBjb25zdCBHTGVudW0gUVVFUllfUkVT
VUxUX0FWQUlMQUJMRSAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4ODY3OworICAgIGNvbnN0
IEdMZW51bSBTVFJFQU1fUkVBRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAw
eDg4RTE7CisgICAgY29uc3QgR0xlbnVtIFNUUkVBTV9DT1BZICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDB4ODhFMjsKKyAgICBjb25zdCBHTGVudW0gU1RBVElDX1JFQUQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4OEU1OworICAgIGNvbnN0IEdMZW51
bSBTVEFUSUNfQ09QWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4RTY7
CisgICAgY29uc3QgR0xlbnVtIERZTkFNSUNfUkVBRCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDB4ODhFOTsKKyAgICBjb25zdCBHTGVudW0gRFlOQU1JQ19DT1BZICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4OEVBOworICAgIGNvbnN0IEdMZW51bSBNQVhf
RFJBV19CVUZGRVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4MjQ7CisgICAg
Y29uc3QgR0xlbnVtIERSQVdfQlVGRkVSMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDB4ODgyNTsKKyAgICBjb25zdCBHTGVudW0gRFJBV19CVUZGRVIxICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gMHg4ODI2OworICAgIGNvbnN0IEdMZW51bSBEUkFXX0JVRkZF
UjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4Mjc7CisgICAgY29uc3Qg
R0xlbnVtIERSQVdfQlVGRkVSMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4
ODgyODsKKyAgICBjb25zdCBHTGVudW0gRFJBV19CVUZGRVI0ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMHg4ODI5OworICAgIGNvbnN0IEdMZW51bSBEUkFXX0JVRkZFUjUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4MkE7CisgICAgY29uc3QgR0xlbnVt
IERSQVdfQlVGRkVSNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODgyQjsK
KyAgICBjb25zdCBHTGVudW0gRFJBV19CVUZGRVI3ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMHg4ODJDOworICAgIGNvbnN0IEdMZW51bSBEUkFXX0JVRkZFUjggICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4MkQ7CisgICAgY29uc3QgR0xlbnVtIERSQVdf
QlVGRkVSOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODgyRTsKKyAgICBj
b25zdCBHTGVudW0gRFJBV19CVUZGRVIxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMHg4ODJGOworICAgIGNvbnN0IEdMZW51bSBEUkFXX0JVRkZFUjExICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDg4MzA7CisgICAgY29uc3QgR0xlbnVtIERSQVdfQlVGRkVS
MTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODgzMTsKKyAgICBjb25zdCBH
TGVudW0gRFJBV19CVUZGRVIxMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4
ODMyOworICAgIGNvbnN0IEdMZW51bSBEUkFXX0JVRkZFUjE0ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDg4MzM7CisgICAgY29uc3QgR0xlbnVtIERSQVdfQlVGRkVSMTUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODgzNDsKKyAgICBjb25zdCBHTGVudW0g
TUFYX0ZSQUdNRU5UX1VOSUZPUk1fQ09NUE9ORU5UUyAgICAgICAgICAgICAgID0gMHg4QjQ5Owor
ICAgIGNvbnN0IEdMZW51bSBNQVhfVkVSVEVYX1VOSUZPUk1fQ09NUE9ORU5UUyAgICAgICAgICAg
ICAgICAgPSAweDhCNEE7CisgICAgY29uc3QgR0xlbnVtIFNBTVBMRVJfM0QgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEI1RjsKKyAgICBjb25zdCBHTGVudW0gU0FNUExF
Ul8yRF9TSEFET1cgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QjYyOworICAgIGNv
bnN0IEdMZW51bSBGUkFHTUVOVF9TSEFERVJfREVSSVZBVElWRV9ISU5UICAgICAgICAgICAgICAg
PSAweDhCOEI7CisgICAgY29uc3QgR0xlbnVtIFBJWEVMX1BBQ0tfQlVGRkVSICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4ODhFQjsKKyAgICBjb25zdCBHTGVudW0gUElYRUxfVU5QQUNL
X0JVRkZFUiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4OEVDOworICAgIGNvbnN0IEdM
ZW51bSBQSVhFTF9QQUNLX0JVRkZFUl9CSU5ESU5HICAgICAgICAgICAgICAgICAgICAgPSAweDg4
RUQ7CisgICAgY29uc3QgR0xlbnVtIFBJWEVMX1VOUEFDS19CVUZGRVJfQklORElORyAgICAgICAg
ICAgICAgICAgICA9IDB4ODhFRjsKKyAgICBjb25zdCBHTGVudW0gRkxPQVRfTUFUMngzICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QjY1OworICAgIGNvbnN0IEdMZW51bSBG
TE9BVF9NQVQyeDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhCNjY7Cisg
ICAgY29uc3QgR0xlbnVtIEZMT0FUX01BVDN4MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4OEI2NzsKKyAgICBjb25zdCBHTGVudW0gRkxPQVRfTUFUM3g0ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMHg4QjY4OworICAgIGNvbnN0IEdMZW51bSBGTE9BVF9N
QVQ0eDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhCNjk7CisgICAgY29u
c3QgR0xlbnVtIEZMT0FUX01BVDR4MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDB4OEI2QTsKKyAgICBjb25zdCBHTGVudW0gU1JHQiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMHg4QzQwOworICAgIGNvbnN0IEdMZW51bSBTUkdCOCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDNDE7CisgICAgY29uc3QgR0xl
bnVtIFNSR0I4X0FMUEhBOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEM0
MzsKKyAgICBjb25zdCBHTGVudW0gQ09NUEFSRV9SRUZfVE9fVEVYVFVSRSAgICAgICAgICAgICAg
ICAgICAgICAgID0gMHg4ODRFOworICAgIGNvbnN0IEdMZW51bSBSR0JBMzJGICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDg4MTQ7CisgICAgY29uc3QgR0xlbnVtIFJH
QjMyRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODgxNTsKKyAg
ICBjb25zdCBHTGVudW0gUkdCQTE2RiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHg4ODFBOworICAgIGNvbnN0IEdMZW51bSBSR0IxNkYgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDg4MUI7CisgICAgY29uc3QgR0xlbnVtIFZFUlRFWF9B
VFRSSUJfQVJSQVlfSU5URUdFUiAgICAgICAgICAgICAgICAgICA9IDB4ODhGRDsKKyAgICBjb25z
dCBHTGVudW0gTUFYX0FSUkFZX1RFWFRVUkVfTEFZRVJTICAgICAgICAgICAgICAgICAgICAgID0g
MHg4OEZGOworICAgIGNvbnN0IEdMZW51bSBNSU5fUFJPR1JBTV9URVhFTF9PRkZTRVQgICAgICAg
ICAgICAgICAgICAgICAgPSAweDg5MDQ7CisgICAgY29uc3QgR0xlbnVtIE1BWF9QUk9HUkFNX1RF
WEVMX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICA9IDB4ODkwNTsKKyAgICBjb25zdCBHTGVu
dW0gTUFYX1ZBUllJTkdfQ09NUE9ORU5UUyAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QjRC
OworICAgIGNvbnN0IEdMZW51bSBURVhUVVJFXzJEX0FSUkFZICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDhDMUE7CisgICAgY29uc3QgR0xlbnVtIFRFWFRVUkVfQklORElOR18yRF9B
UlJBWSAgICAgICAgICAgICAgICAgICAgICA9IDB4OEMxRDsKKyAgICBjb25zdCBHTGVudW0gUjEx
Rl9HMTFGX0IxMEYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QzNBOworICAg
IGNvbnN0IEdMZW51bSBVTlNJR05FRF9JTlRfMTBGXzExRl8xMUZfUkVWICAgICAgICAgICAgICAg
ICAgPSAweDhDM0I7CisgICAgY29uc3QgR0xlbnVtIFJHQjlfRTUgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDB4OEMzRDsKKyAgICBjb25zdCBHTGVudW0gVU5TSUdORURf
SU5UXzVfOV85XzlfUkVWICAgICAgICAgICAgICAgICAgICAgID0gMHg4QzNFOworICAgIGNvbnN0
IEdMZW51bSBUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX01PREUgICAgICAgICAgICAgICAgPSAw
eDhDN0Y7CisgICAgY29uc3QgR0xlbnVtIE1BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfU0VQQVJBVEVf
Q09NUE9ORU5UUyAgICA9IDB4OEM4MDsKKyAgICBjb25zdCBHTGVudW0gVFJBTlNGT1JNX0ZFRURC
QUNLX1ZBUllJTkdTICAgICAgICAgICAgICAgICAgID0gMHg4QzgzOworICAgIGNvbnN0IEdMZW51
bSBUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX1NUQVJUICAgICAgICAgICAgICAgPSAweDhDODQ7
CisgICAgY29uc3QgR0xlbnVtIFRSQU5TRk9STV9GRUVEQkFDS19CVUZGRVJfU0laRSAgICAgICAg
ICAgICAgICA9IDB4OEM4NTsKKyAgICBjb25zdCBHTGVudW0gVFJBTlNGT1JNX0ZFRURCQUNLX1BS
SU1JVElWRVNfV1JJVFRFTiAgICAgICAgID0gMHg4Qzg4OworICAgIGNvbnN0IEdMZW51bSBSQVNU
RVJJWkVSX0RJU0NBUkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDODk7CisgICAg
Y29uc3QgR0xlbnVtIE1BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfSU5URVJMRUFWRURfQ09NUE9ORU5U
UyA9IDB4OEM4QTsKKyAgICBjb25zdCBHTGVudW0gTUFYX1RSQU5TRk9STV9GRUVEQkFDS19TRVBB
UkFURV9BVFRSSUJTICAgICAgID0gMHg4QzhCOworICAgIGNvbnN0IEdMZW51bSBJTlRFUkxFQVZF
RF9BVFRSSUJTICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDOEM7CisgICAgY29uc3Qg
R0xlbnVtIFNFUEFSQVRFX0FUVFJJQlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4
OEM4RDsKKyAgICBjb25zdCBHTGVudW0gVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUiAgICAgICAg
ICAgICAgICAgICAgID0gMHg4QzhFOworICAgIGNvbnN0IEdMZW51bSBUUkFOU0ZPUk1fRkVFREJB
Q0tfQlVGRkVSX0JJTkRJTkcgICAgICAgICAgICAgPSAweDhDOEY7CisgICAgY29uc3QgR0xlbnVt
IFJHQkEzMlVJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ3MDsK
KyAgICBjb25zdCBHTGVudW0gUkdCMzJVSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMHg4RDcxOworICAgIGNvbnN0IEdMZW51bSBSR0JBMTZVSSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhENzY7CisgICAgY29uc3QgR0xlbnVtIFJHQjE2
VUkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ3NzsKKyAgICBj
b25zdCBHTGVudW0gUkdCQThVSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMHg4RDdDOworICAgIGNvbnN0IEdMZW51bSBSR0I4VUkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDhEN0Q7CisgICAgY29uc3QgR0xlbnVtIFJHQkEzMkkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ4MjsKKyAgICBjb25zdCBH
TGVudW0gUkdCMzJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4
RDgzOworICAgIGNvbnN0IEdMZW51bSBSR0JBMTZJICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDhEODg7CisgICAgY29uc3QgR0xlbnVtIFJHQjE2SSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ4OTsKKyAgICBjb25zdCBHTGVudW0g
UkdCQThJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4RDhFOwor
ICAgIGNvbnN0IEdMZW51bSBSR0I4SSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAweDhEOEY7CisgICAgY29uc3QgR0xlbnVtIFJFRF9JTlRFR0VSICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ5NDsKKyAgICBjb25zdCBHTGVudW0gUkdCX0lO
VEVHRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4RDk4OworICAgIGNv
bnN0IEdMZW51bSBSR0JBX0lOVEVHRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSAweDhEOTk7CisgICAgY29uc3QgR0xlbnVtIFNBTVBMRVJfMkRfQVJSQVkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4OERDMTsKKyAgICBjb25zdCBHTGVudW0gU0FNUExFUl8yRF9B
UlJBWV9TSEFET1cgICAgICAgICAgICAgICAgICAgICAgID0gMHg4REM0OworICAgIGNvbnN0IEdM
ZW51bSBTQU1QTEVSX0NVQkVfU0hBRE9XICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhE
QzU7CisgICAgY29uc3QgR0xlbnVtIFVOU0lHTkVEX0lOVF9WRUMyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDB4OERDNjsKKyAgICBjb25zdCBHTGVudW0gVU5TSUdORURfSU5UX1ZFQzMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4REM3OworICAgIGNvbnN0IEdMZW51bSBV
TlNJR05FRF9JTlRfVkVDNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhEQzg7Cisg
ICAgY29uc3QgR0xlbnVtIElOVF9TQU1QTEVSXzJEICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4OERDQTsKKyAgICBjb25zdCBHTGVudW0gSU5UX1NBTVBMRVJfM0QgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMHg4RENCOworICAgIGNvbnN0IEdMZW51bSBJTlRfU0FN
UExFUl9DVUJFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhEQ0M7CisgICAgY29u
c3QgR0xlbnVtIElOVF9TQU1QTEVSXzJEX0FSUkFZICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDB4OERDRjsKKyAgICBjb25zdCBHTGVudW0gVU5TSUdORURfSU5UX1NBTVBMRVJfMkQgICAgICAg
ICAgICAgICAgICAgICAgID0gMHg4REQyOworICAgIGNvbnN0IEdMZW51bSBVTlNJR05FRF9JTlRf
U0FNUExFUl8zRCAgICAgICAgICAgICAgICAgICAgICAgPSAweDhERDM7CisgICAgY29uc3QgR0xl
bnVtIFVOU0lHTkVEX0lOVF9TQU1QTEVSX0NVQkUgICAgICAgICAgICAgICAgICAgICA9IDB4OERE
NDsKKyAgICBjb25zdCBHTGVudW0gVU5TSUdORURfSU5UX1NBTVBMRVJfMkRfQVJSQVkgICAgICAg
ICAgICAgICAgID0gMHg4REQ3OworICAgIGNvbnN0IEdMZW51bSBERVBUSF9DT01QT05FTlQzMkYg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDQUM7CisgICAgY29uc3QgR0xlbnVtIERF
UFRIMzJGX1NURU5DSUw4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OENBRDsKKyAg
ICBjb25zdCBHTGVudW0gRkxPQVRfMzJfVU5TSUdORURfSU5UXzI0XzhfUkVWICAgICAgICAgICAg
ICAgID0gMHg4REFEOworICAgIGNvbnN0IEdMZW51bSBGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0NP
TE9SX0VOQ09ESU5HICAgICAgICAgPSAweDgyMTA7CisgICAgY29uc3QgR0xlbnVtIEZSQU1FQlVG
RkVSX0FUVEFDSE1FTlRfQ09NUE9ORU5UX1RZUEUgICAgICAgICA9IDB4ODIxMTsKKyAgICBjb25z
dCBHTGVudW0gRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9SRURfU0laRSAgICAgICAgICAgICAgID0g
MHg4MjEyOworICAgIGNvbnN0IEdMZW51bSBGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0dSRUVOX1NJ
WkUgICAgICAgICAgICAgPSAweDgyMTM7CisgICAgY29uc3QgR0xlbnVtIEZSQU1FQlVGRkVSX0FU
VEFDSE1FTlRfQkxVRV9TSVpFICAgICAgICAgICAgICA9IDB4ODIxNDsKKyAgICBjb25zdCBHTGVu
dW0gRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9BTFBIQV9TSVpFICAgICAgICAgICAgID0gMHg4MjE1
OworICAgIGNvbnN0IEdMZW51bSBGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0RFUFRIX1NJWkUgICAg
ICAgICAgICAgPSAweDgyMTY7CisgICAgY29uc3QgR0xlbnVtIEZSQU1FQlVGRkVSX0FUVEFDSE1F
TlRfU1RFTkNJTF9TSVpFICAgICAgICAgICA9IDB4ODIxNzsKKyAgICBjb25zdCBHTGVudW0gRlJB
TUVCVUZGRVJfREVGQVVMVCAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MjE4OworICAg
IGNvbnN0IEdMZW51bSBVTlNJR05FRF9JTlRfMjRfOCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDg0RkE7CisgICAgY29uc3QgR0xlbnVtIERFUFRIMjRfU1RFTkNJTDggICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDB4ODhGMDsKKyAgICBjb25zdCBHTGVudW0gVU5TSUdORURf
Tk9STUFMSVpFRCAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QzE3OworICAgIGNvbnN0
IEdMZW51bSBEUkFXX0ZSQU1FQlVGRkVSX0JJTkRJTkcgICAgICAgICAgICAgICAgICAgICAgPSAw
eDhDQTY7IC8qIFNhbWUgYXMgRlJBTUVCVUZGRVJfQklORElORyAqLworICAgIGNvbnN0IEdMZW51
bSBSRUFEX0ZSQU1FQlVGRkVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDQTg7
CisgICAgY29uc3QgR0xlbnVtIERSQVdfRlJBTUVCVUZGRVIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDB4OENBOTsKKyAgICBjb25zdCBHTGVudW0gUkVBRF9GUkFNRUJVRkZFUl9CSU5E
SU5HICAgICAgICAgICAgICAgICAgICAgID0gMHg4Q0FBOworICAgIGNvbnN0IEdMZW51bSBSRU5E
RVJCVUZGRVJfU0FNUExFUyAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDQUI7CisgICAg
Y29uc3QgR0xlbnVtIEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MQVlFUiAgICAgICAg
ICA9IDB4OENENDsKKyAgICBjb25zdCBHTGVudW0gTUFYX0NPTE9SX0FUVEFDSE1FTlRTICAgICAg
ICAgICAgICAgICAgICAgICAgID0gMHg4Q0RGOworICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRB
Q0hNRU5UMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDRTE7CisgICAgY29uc3Qg
R0xlbnVtIENPTE9SX0FUVEFDSE1FTlQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4
OENFMjsKKyAgICBjb25zdCBHTGVudW0gQ09MT1JfQVRUQUNITUVOVDMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMHg4Q0UzOworICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRBQ0hNRU5U
NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDRTQ7CisgICAgY29uc3QgR0xlbnVt
IENPTE9SX0FUVEFDSE1FTlQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OENFNTsK
KyAgICBjb25zdCBHTGVudW0gQ09MT1JfQVRUQUNITUVOVDYgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMHg4Q0U2OworICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRBQ0hNRU5UNyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhDRTc7CisgICAgY29uc3QgR0xlbnVtIENPTE9S
X0FUVEFDSE1FTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OENFODsKKyAgICBj
b25zdCBHTGVudW0gQ09MT1JfQVRUQUNITUVOVDkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMHg4Q0U5OworICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRBQ0hNRU5UMTAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDhDRUE7CisgICAgY29uc3QgR0xlbnVtIENPTE9SX0FUVEFD
SE1FTlQxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OENFQjsKKyAgICBjb25zdCBH
TGVudW0gQ09MT1JfQVRUQUNITUVOVDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4
Q0VDOworICAgIGNvbnN0IEdMZW51bSBDT0xPUl9BVFRBQ0hNRU5UMTMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDhDRUQ7CisgICAgY29uc3QgR0xlbnVtIENPTE9SX0FUVEFDSE1FTlQx
NCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OENFRTsKKyAgICBjb25zdCBHTGVudW0g
Q09MT1JfQVRUQUNITUVOVDE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4Q0VGOwor
ICAgIGNvbnN0IEdMZW51bSBGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX01VTFRJU0FNUExFICAgICAg
ICAgICAgPSAweDhENTY7CisgICAgY29uc3QgR0xlbnVtIE1BWF9TQU1QTEVTICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ1NzsKKyAgICBjb25zdCBHTGVudW0gSEFMRl9G
TE9BVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgxNDBCOworICAgIGNv
bnN0IEdMZW51bSBSRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSAweDgyMjc7CisgICAgY29uc3QgR0xlbnVtIFJHX0lOVEVHRVIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4ODIyODsKKyAgICBjb25zdCBHTGVudW0gUjggICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MjI5OworICAgIGNvbnN0IEdM
ZW51bSBSRzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgy
MkI7CisgICAgY29uc3QgR0xlbnVtIFIxNkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDB4ODIyRDsKKyAgICBjb25zdCBHTGVudW0gUjMyRiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4MjJFOworICAgIGNvbnN0IEdMZW51bSBS
RzE2RiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgyMkY7Cisg
ICAgY29uc3QgR0xlbnVtIFJHMzJGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDB4ODIzMDsKKyAgICBjb25zdCBHTGVudW0gUjhJICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMHg4MjMxOworICAgIGNvbnN0IEdMZW51bSBSOFVJICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgyMzI7CisgICAgY29u
c3QgR0xlbnVtIFIxNkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDB4ODIzMzsKKyAgICBjb25zdCBHTGVudW0gUjE2VUkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMHg4MjM0OworICAgIGNvbnN0IEdMZW51bSBSMzJJICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgyMzU7CisgICAgY29uc3QgR0xl
bnVtIFIzMlVJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODIz
NjsKKyAgICBjb25zdCBHTGVudW0gUkc4SSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMHg4MjM3OworICAgIGNvbnN0IEdMZW51bSBSRzhVSSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDgyMzg7CisgICAgY29uc3QgR0xlbnVtIFJH
MTZJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODIzOTsKKyAg
ICBjb25zdCBHTGVudW0gUkcxNlVJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHg4MjNBOworICAgIGNvbnN0IEdMZW51bSBSRzMySSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDgyM0I7CisgICAgY29uc3QgR0xlbnVtIFJHMzJVSSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4ODIzQzsKKyAgICBjb25z
dCBHTGVudW0gVkVSVEVYX0FSUkFZX0JJTkRJTkcgICAgICAgICAgICAgICAgICAgICAgICAgID0g
MHg4NUI1OworICAgIGNvbnN0IEdMZW51bSBSOF9TTk9STSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAweDhGOTQ7CisgICAgY29uc3QgR0xlbnVtIFJHOF9TTk9STSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEY5NTsKKyAgICBjb25zdCBHTGVu
dW0gUkdCOF9TTk9STSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4Rjk2
OworICAgIGNvbnN0IEdMZW51bSBSR0JBOF9TTk9STSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDhGOTc7CisgICAgY29uc3QgR0xlbnVtIFNJR05FRF9OT1JNQUxJWkVEICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEY5QzsKKyAgICBjb25zdCBHTGVudW0gQ09Q
WV9SRUFEX0JVRkZFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4RjM2OworICAg
IGNvbnN0IEdMZW51bSBDT1BZX1dSSVRFX0JVRkZFUiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDhGMzc7CisgICAgY29uc3QgR0xlbnVtIENPUFlfUkVBRF9CVUZGRVJfQklORElORyAg
ICAgICAgICAgICAgICAgICAgICA9IDB4OEYzNjsgLyogU2FtZSBhcyBDT1BZX1JFQURfQlVGRkVS
ICovCisgICAgY29uc3QgR0xlbnVtIENPUFlfV1JJVEVfQlVGRkVSX0JJTkRJTkcgICAgICAgICAg
ICAgICAgICAgICA9IDB4OEYzNzsgLyogU2FtZSBhcyBDT1BZX1dSSVRFX0JVRkZFUiAqLworICAg
IGNvbnN0IEdMZW51bSBVTklGT1JNX0JVRkZFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDhBMTE7CisgICAgY29uc3QgR0xlbnVtIFVOSUZPUk1fQlVGRkVSX0JJTkRJTkcgICAg
ICAgICAgICAgICAgICAgICAgICA9IDB4OEEyODsKKyAgICBjb25zdCBHTGVudW0gVU5JRk9STV9C
VUZGRVJfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QTI5OworICAgIGNvbnN0
IEdMZW51bSBVTklGT1JNX0JVRkZFUl9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAw
eDhBMkE7CisgICAgY29uc3QgR0xlbnVtIE1BWF9WRVJURVhfVU5JRk9STV9CTE9DS1MgICAgICAg
ICAgICAgICAgICAgICA9IDB4OEEyQjsKKyAgICBjb25zdCBHTGVudW0gTUFYX0ZSQUdNRU5UX1VO
SUZPUk1fQkxPQ0tTICAgICAgICAgICAgICAgICAgID0gMHg4QTJEOworICAgIGNvbnN0IEdMZW51
bSBNQVhfQ09NQklORURfVU5JRk9STV9CTE9DS1MgICAgICAgICAgICAgICAgICAgPSAweDhBMkU7
CisgICAgY29uc3QgR0xlbnVtIE1BWF9VTklGT1JNX0JVRkZFUl9CSU5ESU5HUyAgICAgICAgICAg
ICAgICAgICA9IDB4OEEyRjsKKyAgICBjb25zdCBHTGVudW0gTUFYX1VOSUZPUk1fQkxPQ0tfU0la
RSAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4QTMwOworICAgIGNvbnN0IEdMZW51bSBNQVhf
Q09NQklORURfVkVSVEVYX1VOSUZPUk1fQ09NUE9ORU5UUyAgICAgICAgPSAweDhBMzE7CisgICAg
Y29uc3QgR0xlbnVtIE1BWF9DT01CSU5FRF9GUkFHTUVOVF9VTklGT1JNX0NPTVBPTkVOVFMgICAg
ICA9IDB4OEEzMzsKKyAgICBjb25zdCBHTGVudW0gVU5JRk9STV9CVUZGRVJfT0ZGU0VUX0FMSUdO
TUVOVCAgICAgICAgICAgICAgID0gMHg4QTM0OworICAgIGNvbnN0IEdMZW51bSBBQ1RJVkVfVU5J
Rk9STV9CTE9DS1MgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhBMzY7CisgICAgY29uc3Qg
R0xlbnVtIFVOSUZPUk1fVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4
OEEzNzsKKyAgICBjb25zdCBHTGVudW0gVU5JRk9STV9TSVpFICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMHg4QTM4OworICAgIGNvbnN0IEdMZW51bSBVTklGT1JNX0JMT0NLX0lO
REVYICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhBM0E7CisgICAgY29uc3QgR0xlbnVt
IFVOSUZPUk1fT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEEzQjsK
KyAgICBjb25zdCBHTGVudW0gVU5JRk9STV9BUlJBWV9TVFJJREUgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMHg4QTNDOworICAgIGNvbnN0IEdMZW51bSBVTklGT1JNX01BVFJJWF9TVFJJREUg
ICAgICAgICAgICAgICAgICAgICAgICAgPSAweDhBM0Q7CisgICAgY29uc3QgR0xlbnVtIFVOSUZP
Uk1fSVNfUk9XX01BSk9SICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEEzRTsKKyAgICBj
b25zdCBHTGVudW0gVU5JRk9STV9CTE9DS19CSU5ESU5HICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMHg4QTNGOworICAgIGNvbnN0IEdMZW51bSBVTklGT1JNX0JMT0NLX0RBVEFfU0laRSAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDhBNDA7CisgICAgY29uc3QgR0xlbnVtIFVOSUZPUk1fQkxP
Q0tfQUNUSVZFX1VOSUZPUk1TICAgICAgICAgICAgICAgICA9IDB4OEE0MjsKKyAgICBjb25zdCBH
TGVudW0gVU5JRk9STV9CTE9DS19BQ1RJVkVfVU5JRk9STV9JTkRJQ0VTICAgICAgICAgID0gMHg4
QTQzOworICAgIGNvbnN0IEdMZW51bSBVTklGT1JNX0JMT0NLX1JFRkVSRU5DRURfQllfVkVSVEVY
X1NIQURFUiAgICAgPSAweDhBNDQ7CisgICAgY29uc3QgR0xlbnVtIFVOSUZPUk1fQkxPQ0tfUkVG
RVJFTkNFRF9CWV9GUkFHTUVOVF9TSEFERVIgICA9IDB4OEE0NjsKKyAgICBjb25zdCBHTGVudW0g
SU5WQUxJRF9JTkRFWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHhGRkZGRkZG
RjsKKyAgICBjb25zdCBHTGVudW0gTUFYX1ZFUlRFWF9PVVRQVVRfQ09NUE9ORU5UUyAgICAgICAg
ICAgICAgICAgID0gMHg5MTIyOworICAgIGNvbnN0IEdMZW51bSBNQVhfRlJBR01FTlRfSU5QVVRf
Q09NUE9ORU5UUyAgICAgICAgICAgICAgICAgPSAweDkxMjU7CisgICAgY29uc3QgR0xlbnVtIE1B
WF9TRVJWRVJfV0FJVF9USU1FT1VUICAgICAgICAgICAgICAgICAgICAgICA9IDB4OTExMTsKKyAg
ICBjb25zdCBHTGVudW0gT0JKRUNUX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHg5MTEyOworICAgIGNvbnN0IEdMZW51bSBTWU5DX0NPTkRJVElPTiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDkxMTM7CisgICAgY29uc3QgR0xlbnVtIFNZTkNfU1RB
VFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OTExNDsKKyAgICBjb25z
dCBHTGVudW0gU1lOQ19GTEFHUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
MHg5MTE1OworICAgIGNvbnN0IEdMZW51bSBTWU5DX0ZFTkNFICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAweDkxMTY7CisgICAgY29uc3QgR0xlbnVtIFNZTkNfR1BVX0NPTU1B
TkRTX0NPTVBMRVRFICAgICAgICAgICAgICAgICAgICA9IDB4OTExNzsKKyAgICBjb25zdCBHTGVu
dW0gVU5TSUdOQUxFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg5MTE4
OworICAgIGNvbnN0IEdMZW51bSBTSUdOQUxFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDkxMTk7CisgICAgY29uc3QgR0xlbnVtIEFMUkVBRFlfU0lHTkFMRUQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OTExQTsKKyAgICBjb25zdCBHTGVudW0gVElN
RU9VVF9FWFBJUkVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg5MTFCOworICAg
IGNvbnN0IEdMZW51bSBDT05ESVRJT05fU0FUSVNGSUVEICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDkxMUM7CisgICAgY29uc3QgR0xlbnVtIFdBSVRfRkFJTEVEICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDB4OTExRDsKKyAgICBjb25zdCBHTGVudW0gU1lOQ19GTFVT
SF9DT01NQU5EU19CSVQgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMDAwMDAwMTsKKyAgICBj
b25zdCBHTGVudW0gVkVSVEVYX0FUVFJJQl9BUlJBWV9ESVZJU09SICAgICAgICAgICAgICAgICAg
ID0gMHg4OEZFOworICAgIGNvbnN0IEdMZW51bSBBTllfU0FNUExFU19QQVNTRUQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAweDhDMkY7CisgICAgY29uc3QgR0xlbnVtIEFOWV9TQU1QTEVT
X1BBU1NFRF9DT05TRVJWQVRJVkUgICAgICAgICAgICAgICA9IDB4OEQ2QTsKKyAgICBjb25zdCBH
TGVudW0gU0FNUExFUl9CSU5ESU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4
OTE5OworICAgIGNvbnN0IEdMZW51bSBSR0IxMF9BMlVJICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAweDkwNkY7CisgICAgY29uc3QgR0xlbnVtIElOVF8yXzEwXzEwXzEwX1JF
ViAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4OEQ5RjsKKyAgICBjb25zdCBHTGVudW0g
VFJBTlNGT1JNX0ZFRURCQUNLICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHg4RTIyOwor
ICAgIGNvbnN0IEdMZW51bSBUUkFOU0ZPUk1fRkVFREJBQ0tfUEFVU0VEICAgICAgICAgICAgICAg
ICAgICAgPSAweDhFMjM7CisgICAgY29uc3QgR0xlbnVtIFRSQU5TRk9STV9GRUVEQkFDS19BQ1RJ
VkUgICAgICAgICAgICAgICAgICAgICA9IDB4OEUyNDsKKyAgICBjb25zdCBHTGVudW0gVFJBTlNG
T1JNX0ZFRURCQUNLX0JJTkRJTkcgICAgICAgICAgICAgICAgICAgID0gMHg4RTI1OworICAgIGNv
bnN0IEdMZW51bSBURVhUVVJFX0lNTVVUQUJMRV9GT1JNQVQgICAgICAgICAgICAgICAgICAgICAg
PSAweDkxMkY7CisgICAgY29uc3QgR0xlbnVtIE1BWF9FTEVNRU5UX0lOREVYICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4OEQ2QjsKKyAgICBjb25zdCBHTGVudW0gVEVYVFVSRV9JTU1V
VEFCTEVfTEVWRUxTICAgICAgICAgICAgICAgICAgICAgID0gMHg4MkRGOworCisgICAgY29uc3Qg
R0xpbnQ2NCBUSU1FT1VUX0lHTk9SRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IC0x
OworCisgICAgLyogV2ViR0wtc3BlY2lmaWMgZW51bXMgKi8KKyAgICBjb25zdCBHTGVudW0gTUFY
X0NMSUVOVF9XQUlUX1RJTUVPVVRfV0VCR0wgICAgICAgICAgICAgICAgID0gMHg5MjQ3OworCisg
ICAgLyogQnVmZmVyIG9iamVjdHMgKi8KKyAgICB2b2lkIGNvcHlCdWZmZXJTdWJEYXRhKEdMZW51
bSByZWFkVGFyZ2V0LCBHTGVudW0gd3JpdGVUYXJnZXQsIEdMaW50cHRyIHJlYWRPZmZzZXQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludHB0ciB3cml0ZU9mZnNldCwgR0xzaXplaXB0
ciBzaXplKTsKKyAgICAvLyBNYXBCdWZmZXJSYW5nZSwgaW4gcGFydGljdWxhciBpdHMgcmVhZC1v
bmx5IGFuZCB3cml0ZS1vbmx5IG1vZGVzLAorICAgIC8vIGNhbiBub3QgYmUgZXhwb3NlZCBzYWZl
bHkgdG8gSmF2YVNjcmlwdC4gR2V0QnVmZmVyU3ViRGF0YQorICAgIC8vIHJlcGxhY2VzIGl0IGZv
ciB0aGUgcHVycG9zZSBvZiBmZXRjaGluZyBkYXRhIGJhY2sgZnJvbSB0aGUgR1BVLgorICAgIHZv
aWQgZ2V0QnVmZmVyU3ViRGF0YShHTGVudW0gdGFyZ2V0LCBHTGludHB0ciBzcmNCeXRlT2Zmc2V0
LCBBcnJheUJ1ZmZlclZpZXcgZHN0QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBv
cHRpb25hbCBHTHVpbnQgZHN0T2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IGxlbmd0aCA9IDAp
OworCisgICAgLyogRnJhbWVidWZmZXIgb2JqZWN0cyAqLworICAgIHZvaWQgYmxpdEZyYW1lYnVm
ZmVyKEdMaW50IHNyY1gwLCBHTGludCBzcmNZMCwgR0xpbnQgc3JjWDEsIEdMaW50IHNyY1kxLCBH
TGludCBkc3RYMCwgR0xpbnQgZHN0WTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQg
ZHN0WDEsIEdMaW50IGRzdFkxLCBHTGJpdGZpZWxkIG1hc2ssIEdMZW51bSBmaWx0ZXIpOworICAg
IHZvaWQgZnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGF0dGFj
aG1lbnQsIFdlYkdMVGV4dHVyZT8gdGV4dHVyZSwgR0xpbnQgbGV2ZWwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTGludCBsYXllcik7CisgICAgdm9pZCBpbnZhbGlkYXRlRnJh
bWVidWZmZXIoR0xlbnVtIHRhcmdldCwgc2VxdWVuY2U8R0xlbnVtPiBhdHRhY2htZW50cyk7Cisg
ICAgdm9pZCBpbnZhbGlkYXRlU3ViRnJhbWVidWZmZXIoR0xlbnVtIHRhcmdldCwgc2VxdWVuY2U8
R0xlbnVtPiBhdHRhY2htZW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH
TGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7CisgICAgdm9p
ZCByZWFkQnVmZmVyKEdMZW51bSBzcmMpOworCisgICAgLyogUmVuZGVyYnVmZmVyIG9iamVjdHMg
Ki8KKyAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0SW50ZXJuYWxmb3Jt
YXRQYXJhbWV0ZXIoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVudW0g
cG5hbWUpOworICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKEdMZW51bSB0
YXJnZXQsIEdMc2l6ZWkgc2FtcGxlcywgR0xlbnVtIGludGVybmFsZm9ybWF0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0KTsKKworICAgIC8qIFRleHR1cmUgb2JqZWN0cyAqLworICAgIHZvaWQgdGV4U3RvcmFnZTJE
KEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdM
c2l6ZWkgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBoZWlnaHQpOworICAg
IHZvaWQgdGV4U3RvcmFnZTNEKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgR0xz
aXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgpOworCisgICAgdm9pZCB0ZXhJbWFnZTNEKEdMZW51
bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0
aCwgR0xzaXplaSBoZWlnaHQsCisgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgZGVwdGgsIEdM
aW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNl
dCk7CisgICAgdm9pZCB0ZXhJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGlu
dCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsCisgICAgICAg
ICAgICAgICAgICAgIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwg
R0xlbnVtIHR5cGUsCisgICAgICAgICAgICAgICAgICAgIFRleEltYWdlU291cmNlIHNvdXJjZSk7
IC8vIE1heSB0aHJvdyBET01FeGNlcHRpb24KKyAgICB2b2lkIHRleEltYWdlM0QoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBkZXB0aCwgR0xpbnQg
Ym9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBzcmNE
YXRhKTsKKyAgICB2b2lkIHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdM
aW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwKKyAgICAg
ICAgICAgICAgICAgICAgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0
LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsCisgICAgICAgICAgICAgICAg
ICAgIEdMdWludCBzcmNPZmZzZXQpOworCisgICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdMZW51bSB0
YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6
b2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsCisgICAgICAg
ICAgICAgICAgICAgICAgIEdMaW50cHRyIHBib09mZnNldCk7CisgICAgdm9pZCB0ZXhTdWJJbWFn
ZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zm
c2V0LCBHTGludCB6b2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5
cGUsCisgICAgICAgICAgICAgICAgICAgICAgIFRleEltYWdlU291cmNlIHNvdXJjZSk7IC8vIE1h
eSB0aHJvdyBET01FeGNlcHRpb24KKyAgICB2b2lkIHRleFN1YkltYWdlM0QoR0xlbnVtIHRhcmdl
dCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHpvZmZz
ZXQsCisgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTHNpemVpIGRlcHRoLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgQXJyYXlCdWZmZXJWaWV3PyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQgc3Jj
T2Zmc2V0ID0gMCk7CisKKyAgICB2b2lkIGNvcHlUZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQs
IEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQpOworCisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UzRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVp
IHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBoZWlnaHQsIEdM
c2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRyIG9m
ZnNldCk7CisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50
IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNy
Y0xlbmd0aE92ZXJyaWRlID0gMCk7CisKKyAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTNE
KEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgem9mZnNldCwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHTGVudW0gZm9ybWF0LCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRw
dHIgb2Zmc2V0KTsKKyAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgem9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xz
aXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92
ZXJyaWRlID0gMCk7CisKKyAgICAvKiBQcm9ncmFtcyBhbmQgc2hhZGVycyAqLworICAgIEdMaW50
IGdldEZyYWdEYXRhTG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIERPTVN0cmluZyBuYW1l
KTsKKworICAgIC8qIFVuaWZvcm1zICovCisgICAgdm9pZCB1bmlmb3JtMXVpKFdlYkdMVW5pZm9y
bUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwKTsKKyAgICB2b2lkIHVuaWZvcm0ydWkoV2Vi
R0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSk7CisgICAg
dm9pZCB1bmlmb3JtM3VpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYw
LCBHTHVpbnQgdjEsIEdMdWludCB2Mik7CisgICAgdm9pZCB1bmlmb3JtNHVpKFdlYkdMVW5pZm9y
bUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwLCBHTHVpbnQgdjEsIEdMdWludCB2MiwgR0x1
aW50IHYzKTsKKworICAgIHZvaWQgdW5pZm9ybTF1aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxv
Y2F0aW9uLCBVaW50MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLAor
ICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAg
dm9pZCB1bmlmb3JtMnVpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIFVpbnQzMkxp
c3QgZGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsCisgICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB2b2lkIHVuaWZvcm0zdWl2
KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgVWludDMyTGlzdCBkYXRhLCBvcHRpb25h
bCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwKKyAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgR0x1
aW50IHNyY0xlbmd0aCA9IDApOworICAgIHZvaWQgdW5pZm9ybTR1aXYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBVaW50MzJMaXN0IGRhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZz
ZXQgPSAwLAorICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0g
MCk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4M3gyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxv
Y2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25h
bCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4NHgyZnYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMy
TGlzdCBkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIEdMdWludCBz
cmNPZmZzZXQgPSAwLCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisKKyAgICB2b2lk
IHVuaWZvcm1NYXRyaXgyeDNmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9v
bGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAsIG9wdGlvbmFsIEdMdWludCBzcmNM
ZW5ndGggPSAwKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXg0eDNmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGRhdGEsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDAs
IG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKworICAgIHZvaWQgdW5pZm9ybU1hdHJp
eDJ4NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9z
ZSwgRmxvYXQzMkxpc3QgZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25h
bCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOwor
ICAgIHZvaWQgdW5pZm9ybU1hdHJpeDN4NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlv
biwgR0xib29sZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1
aW50IHNyY0xlbmd0aCA9IDApOworCisgICAgLyogVmVydGV4IGF0dHJpYnMgKi8KKyAgICB2b2lk
IHZlcnRleEF0dHJpYkk0aShHTHVpbnQgaW5kZXgsIEdMaW50IHgsIEdMaW50IHksIEdMaW50IHos
IEdMaW50IHcpOworICAgIHZvaWQgdmVydGV4QXR0cmliSTRpdihHTHVpbnQgaW5kZXgsIEludDMy
TGlzdCB2YWx1ZXMpOworICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aShHTHVpbnQgaW5kZXgsIEdM
dWludCB4LCBHTHVpbnQgeSwgR0x1aW50IHosIEdMdWludCB3KTsKKyAgICB2b2lkIHZlcnRleEF0
dHJpYkk0dWl2KEdMdWludCBpbmRleCwgVWludDMyTGlzdCB2YWx1ZXMpOworICAgIHZvaWQgdmVy
dGV4QXR0cmliSVBvaW50ZXIoR0x1aW50IGluZGV4LCBHTGludCBzaXplLCBHTGVudW0gdHlwZSwg
R0xzaXplaSBzdHJpZGUsIEdMaW50cHRyIG9mZnNldCk7CisKKyAgICAvKiBXcml0aW5nIHRvIHRo
ZSBkcmF3aW5nIGJ1ZmZlciAqLworICAgIHZvaWQgdmVydGV4QXR0cmliRGl2aXNvcihHTHVpbnQg
aW5kZXgsIEdMdWludCBkaXZpc29yKTsKKyAgICB2b2lkIGRyYXdBcnJheXNJbnN0YW5jZWQoR0xl
bnVtIG1vZGUsIEdMaW50IGZpcnN0LCBHTHNpemVpIGNvdW50LCBHTHNpemVpIGluc3RhbmNlQ291
bnQpOworICAgIHZvaWQgZHJhd0VsZW1lbnRzSW5zdGFuY2VkKEdMZW51bSBtb2RlLCBHTHNpemVp
IGNvdW50LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0LCBHTHNpemVpIGluc3RhbmNlQ291
bnQpOworICAgIHZvaWQgZHJhd1JhbmdlRWxlbWVudHMoR0xlbnVtIG1vZGUsIEdMdWludCBzdGFy
dCwgR0x1aW50IGVuZCwgR0xzaXplaSBjb3VudCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIG9mZnNl
dCk7CisKKyAgICAvKiBNdWx0aXBsZSBSZW5kZXIgVGFyZ2V0cyAqLworICAgIHZvaWQgZHJhd0J1
ZmZlcnMoc2VxdWVuY2U8R0xlbnVtPiBidWZmZXJzKTsKKworICAgIHZvaWQgY2xlYXJCdWZmZXJm
dihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3YnVmZmVyLCBGbG9hdDMyTGlzdCB2YWx1ZXMsCisg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwKTsKKyAg
ICB2b2lkIGNsZWFyQnVmZmVyaXYoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZlciwgSW50
MzJMaXN0IHZhbHVlcywKKyAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgR0x1aW50IHNy
Y09mZnNldCA9IDApOworICAgIHZvaWQgY2xlYXJCdWZmZXJ1aXYoR0xlbnVtIGJ1ZmZlciwgR0xp
bnQgZHJhd2J1ZmZlciwgVWludDMyTGlzdCB2YWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCk7CisKKyAgICB2b2lkIGNsZWFyQnVmZmVy
ZmkoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZlciwgR0xmbG9hdCBkZXB0aCwgR0xpbnQg
c3RlbmNpbCk7CisKKyAgICAvKiBRdWVyeSBPYmplY3RzICovCisgICAgV2ViR0xRdWVyeT8gY3Jl
YXRlUXVlcnkoKTsKKyAgICB2b2lkIGRlbGV0ZVF1ZXJ5KFdlYkdMUXVlcnk/IHF1ZXJ5KTsKKyAg
ICBHTGJvb2xlYW4gaXNRdWVyeShXZWJHTFF1ZXJ5PyBxdWVyeSk7CisgICAgdm9pZCBiZWdpblF1
ZXJ5KEdMZW51bSB0YXJnZXQsIFdlYkdMUXVlcnkgcXVlcnkpOworICAgIHZvaWQgZW5kUXVlcnko
R0xlbnVtIHRhcmdldCk7CisgICAgV2ViR0xRdWVyeT8gZ2V0UXVlcnkoR0xlbnVtIHRhcmdldCwg
R0xlbnVtIHBuYW1lKTsKKyAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0
UXVlcnlQYXJhbWV0ZXIoV2ViR0xRdWVyeSBxdWVyeSwgR0xlbnVtIHBuYW1lKTsKKworICAgIC8q
IFNhbXBsZXIgT2JqZWN0cyAqLworICAgIFdlYkdMU2FtcGxlcj8gY3JlYXRlU2FtcGxlcigpOwor
ICAgIHZvaWQgZGVsZXRlU2FtcGxlcihXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOworICAgIEdMYm9v
bGVhbiBpc1NhbXBsZXIoV2ViR0xTYW1wbGVyPyBzYW1wbGVyKTsKKyAgICB2b2lkIGJpbmRTYW1w
bGVyKEdMdWludCB1bml0LCBXZWJHTFNhbXBsZXI/IHNhbXBsZXIpOworICAgIHZvaWQgc2FtcGxl
clBhcmFtZXRlcmkoV2ViR0xTYW1wbGVyIHNhbXBsZXIsIEdMZW51bSBwbmFtZSwgR0xpbnQgcGFy
YW0pOworICAgIHZvaWQgc2FtcGxlclBhcmFtZXRlcmYoV2ViR0xTYW1wbGVyIHNhbXBsZXIsIEdM
ZW51bSBwbmFtZSwgR0xmbG9hdCBwYXJhbSk7CisgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJH
TEFueV0gYW55IGdldFNhbXBsZXJQYXJhbWV0ZXIoV2ViR0xTYW1wbGVyIHNhbXBsZXIsIEdMZW51
bSBwbmFtZSk7CisKKyAgICAvKiBTeW5jIG9iamVjdHMgKi8KKyAgICBXZWJHTFN5bmM/IGZlbmNl
U3luYyhHTGVudW0gY29uZGl0aW9uLCBHTGJpdGZpZWxkIGZsYWdzKTsKKyAgICBHTGJvb2xlYW4g
aXNTeW5jKFdlYkdMU3luYz8gc3luYyk7CisgICAgdm9pZCBkZWxldGVTeW5jKFdlYkdMU3luYz8g
c3luYyk7CisgICAgR0xlbnVtIGNsaWVudFdhaXRTeW5jKFdlYkdMU3luYyBzeW5jLCBHTGJpdGZp
ZWxkIGZsYWdzLCBHTHVpbnQ2NCB0aW1lb3V0KTsKKyAgICB2b2lkIHdhaXRTeW5jKFdlYkdMU3lu
YyBzeW5jLCBHTGJpdGZpZWxkIGZsYWdzLCBHTGludDY0IHRpbWVvdXQpOworICAgIFtPdmVycmlk
ZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRTeW5jUGFyYW1ldGVyKFdlYkdMU3luYyBzeW5j
LCBHTGVudW0gcG5hbWUpOworCisgICAgLyogVHJhbnNmb3JtIEZlZWRiYWNrICovCisgICAgV2Vi
R0xUcmFuc2Zvcm1GZWVkYmFjaz8gY3JlYXRlVHJhbnNmb3JtRmVlZGJhY2soKTsKKyAgICB2b2lk
IGRlbGV0ZVRyYW5zZm9ybUZlZWRiYWNrKFdlYkdMVHJhbnNmb3JtRmVlZGJhY2s/IHRmKTsKKyAg
ICBHTGJvb2xlYW4gaXNUcmFuc2Zvcm1GZWVkYmFjayhXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyB0
Zik7CisgICAgdm9pZCBiaW5kVHJhbnNmb3JtRmVlZGJhY2sgKEdMZW51bSB0YXJnZXQsIFdlYkdM
VHJhbnNmb3JtRmVlZGJhY2s/IHRmKTsKKyAgICB2b2lkIGJlZ2luVHJhbnNmb3JtRmVlZGJhY2so
R0xlbnVtIHByaW1pdGl2ZU1vZGUpOworICAgIHZvaWQgZW5kVHJhbnNmb3JtRmVlZGJhY2soKTsK
KyAgICB2b2lkIHRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MoV2ViR0xQcm9ncmFtIHByb2dyYW0s
IHNlcXVlbmNlPERPTVN0cmluZz4gdmFyeWluZ3MsIEdMZW51bSBidWZmZXJNb2RlKTsKKyAgICBX
ZWJHTEFjdGl2ZUluZm8/IGdldFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZyhXZWJHTFByb2dyYW0g
cHJvZ3JhbSwgR0x1aW50IGluZGV4KTsKKyAgICB2b2lkIHBhdXNlVHJhbnNmb3JtRmVlZGJhY2so
KTsKKyAgICB2b2lkIHJlc3VtZVRyYW5zZm9ybUZlZWRiYWNrKCk7CisKKyAgICAvKiBVbmlmb3Jt
IEJ1ZmZlciBPYmplY3RzIGFuZCBUcmFuc2Zvcm0gRmVlZGJhY2sgQnVmZmVycyAqLworICAgIHZv
aWQgYmluZEJ1ZmZlckJhc2UoR0xlbnVtIHRhcmdldCwgR0x1aW50IGluZGV4LCBXZWJHTEJ1ZmZl
cj8gYnVmZmVyKTsKKyAgICB2b2lkIGJpbmRCdWZmZXJSYW5nZShHTGVudW0gdGFyZ2V0LCBHTHVp
bnQgaW5kZXgsIFdlYkdMQnVmZmVyPyBidWZmZXIsIEdMaW50cHRyIG9mZnNldCwgR0xzaXplaXB0
ciBzaXplKTsKKyAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0SW5kZXhl
ZFBhcmFtZXRlcihHTGVudW0gdGFyZ2V0LCBHTHVpbnQgaW5kZXgpOworICAgIHNlcXVlbmNlPEdM
dWludD4/IGdldFVuaWZvcm1JbmRpY2VzKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBzZXF1ZW5jZTxE
T01TdHJpbmc+IHVuaWZvcm1OYW1lcyk7CisgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFu
eV0gYW55IGdldEFjdGl2ZVVuaWZvcm1zKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBzZXF1ZW5jZTxH
THVpbnQ+IHVuaWZvcm1JbmRpY2VzLCBHTGVudW0gcG5hbWUpOworICAgIEdMdWludCBnZXRVbmlm
b3JtQmxvY2tJbmRleChXZWJHTFByb2dyYW0gcHJvZ3JhbSwgRE9NU3RyaW5nIHVuaWZvcm1CbG9j
a05hbWUpOworICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRBY3RpdmVV
bmlmb3JtQmxvY2tQYXJhbWV0ZXIoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCB1bmlmb3Jt
QmxvY2tJbmRleCwgR0xlbnVtIHBuYW1lKTsKKyAgICBET01TdHJpbmc/IGdldEFjdGl2ZVVuaWZv
cm1CbG9ja05hbWUoV2ViR0xQcm9ncmFtIHByb2dyYW0sIEdMdWludCB1bmlmb3JtQmxvY2tJbmRl
eCk7CisgICAgdm9pZCB1bmlmb3JtQmxvY2tCaW5kaW5nKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBH
THVpbnQgdW5pZm9ybUJsb2NrSW5kZXgsIEdMdWludCB1bmlmb3JtQmxvY2tCaW5kaW5nKTsKKwor
ICAgIC8qIFZlcnRleCBBcnJheSBPYmplY3RzICovCisgICAgV2ViR0xWZXJ0ZXhBcnJheU9iamVj
dD8gY3JlYXRlVmVydGV4QXJyYXkoKTsKKyAgICB2b2lkIGRlbGV0ZVZlcnRleEFycmF5KFdlYkdM
VmVydGV4QXJyYXlPYmplY3Q/IHZlcnRleEFycmF5KTsKKyAgICBHTGJvb2xlYW4gaXNWZXJ0ZXhB
cnJheShXZWJHTFZlcnRleEFycmF5T2JqZWN0PyB2ZXJ0ZXhBcnJheSk7CisgICAgdm9pZCBiaW5k
VmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhBcnJheU9iamVjdD8gYXJyYXkpOworfTsKKworV2ViR0wy
UmVuZGVyaW5nQ29udGV4dEJhc2UgaW1wbGVtZW50cyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmlkbAppbmRleCAxZDJmNjg4MjViNTVmY2FhOTlhMjc2NzE5NjQyMmQ3YzVmOWU5ODUz
Li40MzIxMjJkNWM0YTU3ZGM4MTkzYjk3OWI1ODNjOWI3NjVmNzI5ODE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGwKQEAg
LTQyLDE2ICs0Miw3IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE1M
SW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAgRXhwb3J0TWFjcm89
V0VCQ09SRV9FWFBPUlQsCiAgICAgQ2FsbFRyYWNpbmdDYWxsYmFjaz1yZWNvcmRDYW52YXNBY3Rp
b24sCiBdIGludGVyZmFjZSBXZWJHTFJlbmRlcmluZ0NvbnRleHQgewotICAgIC8vIFRoZXNlIG1l
dGhvZHMgYXJlIHBsYWNlZCBvdXRzaWRlIG9mIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UgdG8g
YXZvaWQKLSAgICAvLyBjb25maWN0cyB3aXRoIG92ZXJsb2FkcyBpbiBXZWJHTDJSZW5kZXJpbmdD
b250ZXh0LgogCi0gICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVs
LCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBH
TGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/
IHBpeGVscyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVt
IHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOwotCi0gICAgdm9pZCB0ZXhT
dWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGlu
dCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwg
R0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xp
bnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRl
eEltYWdlU291cmNlPyBzb3VyY2UpOwotCi0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcgZGF0
YSk7CiB9OwogCiBXZWJHTFJlbmRlcmluZ0NvbnRleHQgaW1wbGVtZW50cyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbAppbmRleCBjNTVhMmZmZDMwOTI3OTE0NzQ3ZWM0
NDIxNTlkNjkwYjVhNGY1YTJlLi5iNWNmODEwYThjYzM4ZmJjNjRlOGRhNTJmNThlYjQ2YWM1ZGM2
NmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmlkbApAQCAtNTA1LDEyICs1MDUsMTQgQEAgdHlwZWRlZiAoSFRN
TENhbnZhc0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgY29sb3JNYXNrKEdMYm9vbGVh
biByZWQsIEdMYm9vbGVhbiBncmVlbiwgR0xib29sZWFuIGJsdWUsIEdMYm9vbGVhbiBhbHBoYSk7
CiAgICAgdm9pZCBjb21waWxlU2hhZGVyKFdlYkdMU2hhZGVyPyBzaGFkZXIpOwogCi0gICAgLy8g
Y29tcHJlc3NlZFRleEltYWdlMkQgaXMgc3BsaXQgYmV0d2VlbiBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQgYW5kCi0gICAgLy8gV2ViR0wyUmVuZGVyaW5nQ29udGV4dCBiZWNhdXNlIHRoZSBBcnJheUJ1
ZmZlclZpZXcgb3ZlcmxvYWRzIGFyZQotICAgIC8vIGluZGlzdGluZ3Vpc2hhYmxlLgorICAgIHZv
aWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFs
Zm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBU
ZXhJbWFnZVNvdXJjZT8gc291cmNlKTsKIAotICAgIHZvaWQgY29tcHJlc3NlZFRleFN1YkltYWdl
MkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZz
ZXQsCi0gICAgICAgIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0
LCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7CisgICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0
YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5
QnVmZmVyVmlldz8gcGl4ZWxzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4U3Vi
SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQg
eW9mZnNldCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3Vy
Y2UpOworCisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhl
aWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7CisgICAgdm9pZCBjb21w
cmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9m
ZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51
bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyBkYXRhKTsKICAgICAKICAgICB2b2lkIGNvcHlUZXhJ
bWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBi
b3JkZXIpOwogICAgIHZvaWQgY29weVRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQg
bGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMaW50IHgsIEdMaW50IHksIEdM
c2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNWZmYzVlMjhiNmMxZWFiNmVm
MGRkY2E5ZGRjZWMwNWNhYzdlNzNkLi4zMDc0NTcxYzMyOWFmMzMwMTQ5MzE2NjU5ZTVlOWUyYjMx
OWNhOGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDEtMDIgIERlYW4gSmFja3NvbiAg
PGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHTF0gQWRkIGEgV2ViR0wyUmVuZGVyaW5n
Q29udGV4dEJhc2UgYW5kIGZpbGwgaW4gbWlzc2luZyBXZWJHTDIgZW50cnkgcG9pbnRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2ODkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU4MjgwOTIwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgc29tZSB0ZXN0cyBub3cgdGhhdCBhbGwg
dGhlIEFQSSBlbnRyeSBwb2ludHMgYXJlIGV4cG9zZWQuCisKKyAgICAgICAgKiB3ZWJnbC8yLjAu
MC9jb25mb3JtYW5jZTIvYnVmZmVycy9nZXQtYnVmZmVyLXN1Yi1kYXRhLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvbWlzYy92aWV3cy13aXRoLW9mZnNl
dHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFk
aW5nL3JlYWQtcGl4ZWxzLWZyb20tcmdiOC1pbnRvLXBiby1idWctZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWludG8t
cGl4ZWwtcGFjay1idWZmZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmdsLzIuMC4wL2Nv
bmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLXBhY2stcGFyYW1ldGVycy1leHBlY3RlZC50
eHQ6CisKIDIwMTktMTItMzAgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIElnbm9yZSBVUkwgaG9zdCBmb3Igc2NoZW1lcyB0aGF0IGFyZSBub3QgdXNpbmcgaG9z
dCBpbmZvcm1hdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9y
bWFuY2UyL2J1ZmZlcnMvZ2V0LWJ1ZmZlci1zdWItZGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvYnVmZmVycy9nZXQtYnVmZmVyLXN1Yi1kYXRh
LWV4cGVjdGVkLnR4dAppbmRleCBiODA5NTRlNTU3NDFhYzlmZjQ2NWYzNGMzN2VjZjI0NmQ1ODk5
OTE4Li5hNjE4NDMwZGU5MDQ1ZjdiMWE5N2Y2YTI0YWNmNzYwOTg1MjVmMWNjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvYnVmZmVycy9nZXQtYnVmZmVy
LXN1Yi1kYXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25m
b3JtYW5jZTIvYnVmZmVycy9nZXQtYnVmZmVyLXN1Yi1kYXRhLWV4cGVjdGVkLnR4dApAQCAtNCw5
ICs0LDkgQEAgVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UyL2J1ZmZlcnMvZ2V0LWJ1ZmZlci1zdWItZGF0YS4KIFsgMTogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gc2V0
dXAuCiBbIDI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
U2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIGJ1ZmZlciBzZXR1cC4KIFsgMzogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBnbC5n
ZXRCdWZmZXJTdWJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgMCwgcmV0QXJyYXkpCi1bIDQ6IFBBU1Mg
XSBnbC5nZXRCdWZmZXJTdWJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgMCwgbmV3IEFycmF5QnVmZmVy
KDQpKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAzICgnZHN0RGF0YScpIHRv
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQuZ2V0QnVmZmVyU3ViRGF0YSBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIEFycmF5QnVmZmVyVmlldy4KK1sgNDogUEFTUyBdIGdsLmdldEJ1ZmZlclN1YkRhdGEo
Z2wuQVJSQVlfQlVGRkVSLCAwLCBuZXcgQXJyYXlCdWZmZXIoNCkpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDMgKCdkc3RCdWZmZXInKSB0byBXZWJHTDJSZW5kZXJpbmdDb250
ZXh0LmdldEJ1ZmZlclN1YkRhdGEgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBcnJheUJ1ZmZlclZp
ZXcuCiBbIDU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
U2hvdWxkIG5vdCBnZW5lcmF0ZSBHTCBlcnJvcgotWyA2OiBQQVNTIF0gZ2wuZ2V0QnVmZmVyU3Vi
RGF0YShnbC5BUlJBWV9CVUZGRVIsIDAsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDMgKCdkc3REYXRhJykgdG8gV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5nZXRCdWZm
ZXJTdWJEYXRhIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgQXJyYXlCdWZmZXJWaWV3LgorWyA2OiBQ
QVNTIF0gZ2wuZ2V0QnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGRVIsIDAsIG51bGwpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDMgKCdkc3RCdWZmZXInKSB0byBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0LmdldEJ1ZmZlclN1YkRhdGEgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBB
cnJheUJ1ZmZlclZpZXcuCiBbIDc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogU2hvdWxkIG5vdCBnZW5lcmF0ZSBHTCBlcnJvcgogWyA4OiBQQVNTIF0gVGhl
IHJldHVybmVkIGFycmF5IGJ1ZmZlciBtYXRjaGVzIG9yaWdpbmFsIGRhdGEKIFsgOTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5n
OiBnbC5nZXRCdWZmZXJTdWJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgMCwgcmV0QXJyYXksIDIpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvbWlzYy92aWV3
cy13aXRoLW9mZnNldHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29u
Zm9ybWFuY2UyL21pc2Mvdmlld3Mtd2l0aC1vZmZzZXRzLWV4cGVjdGVkLnR4dAppbmRleCA4YWVi
YTQ1NzVkMmJjNmVlY2U2NjkyMjcwN2Q0OTBmZmQ3ZTI3MDE0Li5hMmZkOTI1YzdjMDRmNzk0NWI2
ODhjYmRkMWNhODU4YmJkOTgyMThkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAu
MC9jb25mb3JtYW5jZTIvbWlzYy92aWV3cy13aXRoLW9mZnNldHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9taXNjL3ZpZXdzLXdpdGgtb2Zm
c2V0cy1leHBlY3RlZC50eHQKQEAgLTUxLDMwICs1MSwyMCBAQCBUZXN0OiAuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvbWlzYy92aWV3cy13aXRoLW9mZnNldHMu
aHRtbAogWyA0ODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4g
V2FzIE5PX0VSUk9SIDoKIFsgNDk6IEZBSUwgXSBEb2VzIG5vdCBzdXBwb3J0IHRleFN1YkltYWdl
M0Qgd2l0aCBvZmZzZXRzIGludG8gdmlld3MuCiBbIDUwOiBGQUlMIF0gRG9lcyBub3Qgc3VwcG9y
dCBjb21wcmVzc2VkVGV4SW1hZ2UyRCB3aXRoIG9mZnNldHMgaW50byB2aWV3cy4KLVsgNTE6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDoKLVsg
NTI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVF
IDoKLVsgNTM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFM
VUUgOgotWyA1NDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9W
QUxVRSA6Ci1bIDU1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElE
X1ZBTFVFIDoKLVsgNTY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFM
SURfVkFMVUUgOgotWyA1NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9WQUxVRSA6Ci1bIDU4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX1ZBTFVFIDoKLVsgNTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IElOVkFMSURfVkFMVUUgOgotWyA2MDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogSU5WQUxJRF9WQUxVRSA6Ci1bIDYxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX1ZBTFVFIDoKLVsgNjI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDoKLVsgNjM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDoKLVsgNjQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9W
QUxVRS4gV2FzIE5PX0VSUk9SIDoKLVsgNjU6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5W
QUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKLVsgNjY6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKLVsgNjc6IEZBSUwgXSBnZXRFcnJvciBl
eHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKLVsgNjg6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKLVsgNjk6IEZBSUwg
XSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKLVsgNzA6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoK
LVsgNzE6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VS
Uk9SIDoKLVsgNzI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2Fz
IE5PX0VSUk9SIDoKLVsgNzM6IEZBSUwgXSBEb2VzIG5vdCBzdXBwb3J0IGNvbXByZXNzZWRUZXhT
dWJJbWFnZTNEIHdpdGggb2Zmc2V0cyBpbnRvIHZpZXdzLgotWyA3NDogRkFJTCBdIERvZXMgbm90
IHN1cHBvcnQgZG9SZWFkUGl4ZWxzIHdpdGggb2Zmc2V0cyBpbnRvIHZpZXdzLgotWyA3NTogUEFT
UyBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1bIEZBSUwgXSAzNyBmYWlsdXJlcyByZXBv
cnRlZAorWyA1MTogRkFJTCBdIERvZXMgbm90IHN1cHBvcnQgY29tcHJlc3NlZFRleFN1YkltYWdl
MkQgd2l0aCBvZmZzZXRzIGludG8gdmlld3MuCitbIDUyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6CitbIDUzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6CitbIDU0OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElO
VkFMSURfVkFMVUUuIFdhcyBOT19FUlJPUiA6CitbIDU1OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IElOVkFMSURfVkFMVUUuIFdhcyBOT19FUlJPUiA6CitbIDU2OiBGQUlMIF0gZ2V0RXJyb3Ig
ZXhwZWN0ZWQ6IElOVkFMSURfVkFMVUUuIFdhcyBOT19FUlJPUiA6CitbIDU3OiBGQUlMIF0gZ2V0
RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfVkFMVUUuIFdhcyBOT19FUlJPUiA6CitbIDU4OiBGQUlM
IF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfVkFMVUUuIFdhcyBOT19FUlJPUiA6CitbIDU5
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfVkFMVUUuIFdhcyBOT19FUlJPUiA6
CitbIDYwOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfVkFMVUUuIFdhcyBOT19F
UlJPUiA6CitbIDYxOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfVkFMVUUuIFdh
cyBOT19FUlJPUiA6CitbIDYyOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfVkFM
VUUuIFdhcyBOT19FUlJPUiA6CitbIDYzOiBGQUlMIF0gRG9lcyBub3Qgc3VwcG9ydCBjb21wcmVz
c2VkVGV4U3ViSW1hZ2UzRCB3aXRoIG9mZnNldHMgaW50byB2aWV3cy4KK1sgNjQ6IEZBSUwgXSBE
b2VzIG5vdCBzdXBwb3J0IGRvUmVhZFBpeGVscyB3aXRoIG9mZnNldHMgaW50byB2aWV3cy4KK1sg
NjU6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorWyBGQUlMIF0gMzYgZmFpbHVy
ZXMgcmVwb3J0ZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9y
bWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtZnJvbS1yZ2I4LWludG8tcGJvLWJ1Zy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFk
LXBpeGVscy1mcm9tLXJnYjgtaW50by1wYm8tYnVnLWV4cGVjdGVkLnR4dAppbmRleCBjZmI1ZmFj
ZGNmN2ExMWQ0MzUxNTUwOTlmM2ZlZDc0YjNiZWMwYjFmLi4zMGIzY2M3NzZhZWE3ZWZkY2M3ODM4
YjkwNzI3NzExYTg2MTc2MGEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9j
b25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1mcm9tLXJnYjgtaW50by1wYm8tYnVnLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVh
ZGluZy9yZWFkLXBpeGVscy1mcm9tLXJnYjgtaW50by1wYm8tYnVnLWV4cGVjdGVkLnR4dApAQCAt
MSw4ICsxLDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA4MjogVHlwZUVycm9yOiBBcmd1bWVu
dCA3ICgncGl4ZWxzJykgdG8gV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5yZWFkUGl4ZWxzIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgQXJyYXlCdWZmZXJWaWV3CiBUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KIAogVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uy
L3JlYWRpbmcvcmVhZC1waXhlbHMtZnJvbS1yZ2I4LWludG8tcGJvLWJ1Zy5odG1sCiBbIDE6IFBB
U1MgXSBjb250ZXh0IGV4aXN0cwotWyAyOiBGQUlMIF0gc3VjY2Vzc2Z1bGx5UGFyc2VkIHNob3Vs
ZCBiZSB0cnVlIChvZiB0eXBlIGJvb2xlYW4pLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVm
aW5lZCkuCi1bIEZBSUwgXSAxIGZhaWx1cmVzIHJlcG9ydGVkCitbIDI6IEZBSUwgXSBFeHBlY3Rl
ZCBpbiBwaXhlbCAwOiBbMjU1LDAsMCwyNTVdLCBnb3Q6IDAsMCwwLDAKK1sgMzogRkFJTCBdIGdl
dEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfRU5VTSA6IFRlc3RzIHNob3Vs
ZCBjb21wbGV0ZSB3aXRob3V0IGdsIGVycm9ycworWyA0OiBQQVNTIF0gc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKK1sgRkFJTCBdIDIgZmFpbHVyZXMgcmVwb3J0ZWQKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMt
aW50by1waXhlbC1wYWNrLWJ1ZmZlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8y
LjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1pbnRvLXBpeGVsLXBhY2stYnVm
ZmVyLWV4cGVjdGVkLnR4dAppbmRleCBjNTkzMGYzYzYyMzNhMGQyOTNjOTY2MjEwZWNhOTA1NDZl
NTgxNWE1Li45ZWE5ZmE5N2ZiOGJlM2I1MzdkYzA1YjJmMTM3YTg2ZjUzZDY2YmViIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBp
eGVscy1pbnRvLXBpeGVsLXBhY2stYnVmZmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1pbnRvLXBpeGVs
LXBhY2stYnVmZmVyLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDMzIEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTEzOiBUeXBlRXJyb3I6IEFyZ3VtZW50IDcgKCdwaXhlbHMnKSB0byBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0LnJlYWRQaXhlbHMgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBBcnJheUJ1
ZmZlclZpZXcKIFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1pbnRv
LXBpeGVsLXBhY2stYnVmZmVyLmh0bWwKIFsgMTogUEFTUyBdIGNvbnRleHQgZXhpc3RzCiBbIDI6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDog
c2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIGlmIHBpeGVsIHBhY2sgYnVmZmVyIGlz
IGJvdW5kCi1bIDM6IEZBSUwgXSBzdWNjZXNzZnVsbHlQYXJzZWQgc2hvdWxkIGJlIHRydWUgKG9m
IHR5cGUgYm9vbGVhbikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KLVsgRkFJ
TCBdIDEgZmFpbHVyZXMgcmVwb3J0ZWQKK1sgMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOgorWyA0OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFM
SURfVkFMVUUuIFdhcyBOT19FUlJPUiA6IG9mZnNldCA8IDAKK1sgNTogRkFJTCBdIGdldEVycm9y
IGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogb2Zmc2V0ID4gYnVm
ZmVyIHNpemUKK1sgNjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIE5PX0VSUk9SIDogcGl4ZWwgcGFjayBidWZmZXIgaXMgbm90IGxhcmdlIGVub3VnaAor
WyA3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRp
bmcgcGl4ZWxzIG91dHNpZGUgb2YgdGhlIGZyYW1lYnVmZmVyIHNob3VsZCBzdWNjZWVkLgorWyA4
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRpbmcg
cGl4ZWxzIG91dHNpZGUgb2YgdGhlIGZyYW1lYnVmZmVyIHNob3VsZCBzdWNjZWVkLgorWyA5OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfVkFMVUUuIFdhcyBOT19FUlJPUiA6IHJl
YWRpbmcgcGl4ZWxzIHdpdGggbmVnYXRpdmUgd2lkdGggLyBoZWlnaHQgc2hvdWxkIGdlbmVyYXRl
IElOVkFMSURfVkFMVUUuCitbIDEwOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURf
RU5VTS4gV2FzIE5PX0VSUk9SIDogRm9ybWF0IHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFz
IERFUFRIX0NPTVBPTkVOVAorWyAxMTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElE
X0VOVU0uIFdhcyBOT19FUlJPUiA6IEZvcm1hdCBzaG91bGQgbm90IGJlIGFibGUgdG8gcmVhZCBh
cyBERVBUSF9TVEVOQ0lMCitbIDEyOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURf
RU5VTS4gV2FzIE5PX0VSUk9SIDogRm9ybWF0IHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFz
IFI4CitbIDEzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfRU5VTS4gV2FzIE5P
X0VSUk9SIDogRm9ybWF0IHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFzIFJHQkE0CitbIDE0
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfRU5VTS4gV2FzIE5PX0VSUk9SIDog
Rm9ybWF0IHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFzIExVTUlOQU5DRQorWyAxNTogRkFJ
TCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX0VOVU0uIFdhcyBOT19FUlJPUiA6IEZvcm1h
dCBzaG91bGQgbm90IGJlIGFibGUgdG8gcmVhZCBhcyBMVU1JTkFOQ0VfQUxQSEEKK1sgMTY6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9FTlVNLiBXYXMgTk9fRVJST1IgOiBUeXBl
IHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFzIFVOU0lHTkVEX0lOVF8yNF84CitbIDE3OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFRoZSBjb21iaW5h
dGlvbiBvZiBmb3JtYXQvdHlwZSBzaG91bGQgYmUgYWJsZSB0byByZWFkIGFzIFJHQkEgLyBVTlNJ
R05FRF9CWVRFCitbIDE4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgTk9fRVJST1IgOiBUaGUgY29tYmluYXRpb24gb2YgZm9ybWF0L3R5cGUgc2hvdWxk
IG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUkdCIC8gVU5TSUdORURfQllURQorWyAxOTogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogVGhl
IGNvbWJpbmF0aW9uIG9mIGZvcm1hdC90eXBlIHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFz
IFJHQiAvIFVOU0lHTkVEX1NIT1JUXzVfNl81CitbIDIwOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBUaGUgY29tYmluYXRpb24gb2Yg
Zm9ybWF0L3R5cGUgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUkdCQSAvIFVOU0lHTkVE
X1NIT1JUXzVfNV81XzEKK1sgMjE6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9P
UEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IFRoZSBjb21iaW5hdGlvbiBvZiBmb3JtYXQvdHlwZSBz
aG91bGQgbm90IGJlIGFibGUgdG8gcmVhZCBhcyBSR0JBIC8gVU5TSUdORURfU0hPUlRfNF80XzRf
NAorWyAyMjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2Fz
IE5PX0VSUk9SIDogVGhlIGNvbWJpbmF0aW9uIG9mIGZvcm1hdC90eXBlIHNob3VsZCBub3QgYmUg
YWJsZSB0byByZWFkIGFzIEFMUEhBIC8gVU5TSUdORURfQllURQorWyAyMzogRkFJTCBdIGdldEVy
cm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogVGhlIGNvbWJp
bmF0aW9uIG9mIGZvcm1hdC90eXBlIHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFzIFJFRCAv
IFVOU0lHTkVEX0JZVEUKK1sgMjQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9P
UEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IFRoZSBjb21iaW5hdGlvbiBvZiBmb3JtYXQvdHlwZSBz
aG91bGQgbm90IGJlIGFibGUgdG8gcmVhZCBhcyBSR0JBX0lOVEVHRVIgLyBVTlNJR05FRF9JTlQK
K1sgMjU6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBO
T19FUlJPUiA6IFRoZSBjb21iaW5hdGlvbiBvZiBmb3JtYXQvdHlwZSBzaG91bGQgbm90IGJlIGFi
bGUgdG8gcmVhZCBhcyBSR0JBX0lOVEVHRVIgLyBJTlQKK1sgMjY6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKK1sgMjc6IEZBSUwgXSBnZXRFcnJvciBleHBl
Y3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IG5vIHBpeGVsIHBhY2sgYnVm
ZmVyIGJvdW5kCitbIDI4OiBQQVNTIF0gc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKK1sgRkFJ
TCBdIDIwIGZhaWx1cmVzIHJlcG9ydGVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
LzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLXBhY2stcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGlu
Zy9yZWFkLXBpeGVscy1wYWNrLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDg5NDg3ZWZh
OTQ5ZGYzMDlmZTA2MDZiOGVlZjliNjIwZDBjMjMzMDEuLjg0NjhkZDQyMmZiYzMwNzhlNGU1MmIz
Y2MwYmU4MDY3MDdhODA3ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2Nv
bmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLXBhY2stcGFyYW1ldGVycy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVh
ZC1waXhlbHMtcGFjay1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxNTk6IFR5cGVFcnJvcjogQXJndW1lbnQgNyAoJ3BpeGVscycp
IHRvIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQucmVhZFBpeGVscyBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIEFycmF5QnVmZmVyVmlldwogVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCiAKIFRlc3Q6IC4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQt
cGl4ZWxzLXBhY2stcGFyYW1ldGVycy5odG1sCkBAIC0xNjksNiArMTY4LDI3MyBAQCBUZXN0OiAu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFk
LXBpeGVscy1wYWNrLXBhcgogWyAxNjU6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBl
Y3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KIFsgMTY2OiBGQUlMIF0gZmlyc3Qg
cGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0K
IFsgMTY3OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQs
MjU1XSwgZ290IFsxLDIsMyw0XQotWyAxNjg6IEZBSUwgXSBzdWNjZXNzZnVsbHlQYXJzZWQgc2hv
dWxkIGJlIHRydWUgKG9mIHR5cGUgYm9vbGVhbikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5k
ZWZpbmVkKS4KLVsgRkFJTCBdIDE0MiBmYWlsdXJlcyByZXBvcnRlZAorWyAxNjg6IEZBSUwgXSBn
ZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBi
dWZmZXIgdG9vIHNtYWxsCitbIDE2OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDE3MDogRkFJTCBdIGZp
cnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMs
NF0KK1sgMTcxOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIs
MCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDE3MjogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAx
OiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMTczOiBGQUlMIF0g
bGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwz
LDRdCitbIDE3NDogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3
LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDE3NTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93
IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMTc2OiBGQUlM
IF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVN
IDogYnVmZmVyIHRvbyBzbWFsbAorWyAxNzc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAxNzg6IEZBSUwg
XSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEs
MiwzLDRdCitbIDE3OTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDks
MTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAxODA6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiBy
b3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDE4MTogRkFJ
TCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyAxODI6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEz
NCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAxODM6IEZBSUwgXSBsYXN0IHBpeGVsIG9m
IHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDE4NDog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURf
RU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMTg1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMTg2OiBG
QUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyAxODc6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBb
MjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMTg4OiBGQUlMIF0gZmlyc3QgcGl4ZWwg
b2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAxODk6
IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgMTkwOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVk
IFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMTkxOiBGQUlMIF0gbGFzdCBwaXhl
bCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAx
OTI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZB
TElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDE5MzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDE5
NDogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0s
IGdvdCBbMSwyLDMsNF0KK1sgMTk1OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0
ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDE5NjogRkFJTCBdIGZpcnN0IHBp
eGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sg
MTk3OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVd
LCBnb3QgWzEsMiwzLDRdCitbIDE5ODogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBleHBl
Y3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDE5OTogRkFJTCBdIGxhc3Qg
cGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0K
K1sgMjAwOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMg
SU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyMDE6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAor
WyAyMDI6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwy
NTVdLCBnb3QgWzEsMiwzLDRdCitbIDIwMzogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4
cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyMDQ6IEZBSUwgXSBmaXJz
dCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRd
CitbIDIwNTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIs
MjU1XSwgZ290IFsxLDIsMyw0XQorWyAyMDY6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMjog
ZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyMDc6IEZBSUwgXSBs
YXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwz
LDRdCitbIDIwODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4g
V2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMjA5OiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2Nl
ZWQKK1sgMjEwOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAy
LDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyMTE6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAw
OiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjEyOiBGQUlMIF0g
Zmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIs
Myw0XQorWyAyMTM6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAs
MTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjE0OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93
IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjE1OiBGQUlM
IF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyAyMTY6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJ
T04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDIxNzogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBz
dWNjZWVkCitbIDIxODogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5
LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjE5OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiBy
b3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIyMDogRkFJ
TCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgMjIxOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIs
MjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIyMjogRkFJTCBdIGZpcnN0IHBpeGVsIG9m
IHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIyMzog
RkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgMjI0OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyMjU6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91
bGQgc3VjY2VlZAorWyAyMjY6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQg
WzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIyNzogRkFJTCBdIGxhc3QgcGl4ZWwg
b2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyMjg6
IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBn
b3QgWzEsMiwzLDRdCitbIDIyOTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVk
IFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyMzA6IEZBSUwgXSBmaXJzdCBwaXhl
bCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAy
MzE6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVd
LCBnb3QgWzEsMiwzLDRdCitbIDIzMjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJP
Ui4gV2FzIElOVkFMSURfRU5VTSA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMjMzOiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyMzQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAyMzU6IEZB
SUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3Qg
WzEsMiwzLDRdCitbIDIzNjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsy
NDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyMzc6IEZBSUwgXSBmaXJzdCBwaXhlbCBv
ZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIzODog
RkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyAyMzk6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQg
WzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyNDA6IEZBSUwgXSBsYXN0IHBpeGVs
IG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI0
MTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFM
SURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMjQyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMjQz
OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwg
Z290IFsxLDIsMyw0XQorWyAyNDQ6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3Rl
ZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjQ1OiBGQUlMIF0gZmlyc3QgcGl4
ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAy
NDY6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0s
IGdvdCBbMSwyLDMsNF0KK1sgMjQ3OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVj
dGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjQ4OiBGQUlMIF0gbGFzdCBw
aXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQor
WyAyNDk6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJ
TlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI1MDogRkFJTCBdIGdldEVycm9yIGV4
cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogSW52YWxpZCBwYWNrIHBh
cmFtcyBjb21iaW5hdGlvbgorWyAyNTE6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJ
RF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI1Mjog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9S
IDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgorWyAyNTM6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIg
dG9vIHNtYWxsCitbIDI1NDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJB
VElPTi4gV2FzIE5PX0VSUk9SIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgorWyAy
NTU6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZB
TElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI1NjogRkFJTCBdIGdldEVycm9yIGV4cGVj
dGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogSW52YWxpZCBwYWNrIHBhcmFt
cyBjb21iaW5hdGlvbgorWyAyNTc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9P
UEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI1ODogRkFJ
TCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDog
SW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgorWyAyNTk6IEZBSUwgXSBnZXRFcnJvciBl
eHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9v
IHNtYWxsCitbIDI2MDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIE5PX0VSUk9SIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgorWyAyNjE6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElE
X0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI2MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogSW52YWxpZCBwYWNrIHBhcmFtcyBj
b21iaW5hdGlvbgorWyAyNjM6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVS
QVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI2NDogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogSW52
YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgorWyAyNjU6IEZBSUwgXSBnZXRFcnJvciBleHBl
Y3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNt
YWxsCitbIDI2NjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4g
V2FzIE5PX0VSUk9SIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgorWyAyNjc6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VO
VU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI2ODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJ
TlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21i
aW5hdGlvbgorWyAyNjk6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJ
T04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI3MDogRkFJTCBdIGdl
dEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogSW52YWxp
ZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgorWyAyNzE6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxs
CitbIDI3MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2Fz
IE5PX0VSUk9SIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgorWyAyNzM6IEZBSUwg
XSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0g
OiBidWZmZXIgdG9vIHNtYWxsCitbIDI3NDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDI3NTogRkFJTCBd
IGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwy
LDMsNF0KK1sgMjc2OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwx
MDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI3NzogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJv
dyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjc4OiBGQUlM
IF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEs
MiwzLDRdCitbIDI3OTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0
LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI4MDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Yg
cm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjgxOiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyODI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAyODM6IEZB
SUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgMjg0OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIs
MjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI4NTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Yg
cm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjg2OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyODc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAyODg6IEZB
SUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3Qg
WzEsMiwzLDRdCitbIDI4OTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsy
NDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyOTA6IEZBSUwgXSBmaXJzdCBwaXhlbCBv
ZiByb3cgMjogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI5MTog
RkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyAyOTI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVS
QVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI5MzogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBzdWNjZWVkCitbIDI5NDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsy
NDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyOTU6IEZBSUwgXSBsYXN0IHBpeGVsIG9m
IHJvdyAyOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjk2OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyOTc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAyOTg6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VO
VU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI5OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDMwMDogRkFJ
TCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5V
TSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzAxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMzAyOiBGQUlM
IF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyAzMDM6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIs
MjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDMwNDogRkFJTCBdIGZpcnN0IHBpeGVsIG9m
IHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDMwNTog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURf
RU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzA2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMzA3OiBG
QUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgMzA4OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQg
WzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzMDk6IEZBSUwgXSBmaXJzdCBwaXhl
bCBvZiByb3cgMTogZXhwZWN0ZWQgWzk5LDUsNzYsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzMTA6
IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbOTksNSw3NiwyNTVdLCBnb3Qg
WzEsMiwzLDRdCitbIDMxMTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJB
VElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzEyOiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxk
IHN1Y2NlZWQKK1sgMzEzOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsx
MzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzE0OiBGQUlMIF0gZmlyc3QgcGl4ZWwg
b2Ygcm93IDE6IGV4cGVjdGVkIFs5OSw1LDc2LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzE1OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzMTY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAzMTc6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VO
VU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDMxODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDMxOTogRkFJ
TCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5V
TSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzIwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMzIxOiBGQUlM
IF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyAzMjI6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5
LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzIzOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Yg
cm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzMjQ6IEZB
SUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgMzI1OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsx
MzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzI2OiBGQUlMIF0gbGFzdCBwaXhlbCBv
ZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzMjc6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElE
X0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDMyODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDMyOTog
RkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyAzMzA6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBb
MiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzMxOiBGQUlMIF0gbGFzdCBwaXhlbCBv
ZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzMzI6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElE
X0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDMzMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDMzNDog
RkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgMzM1OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQg
WzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDMzNjogRkFJTCBdIGZpcnN0IHBpeGVs
IG9mIHJvdyAyOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzM3
OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBn
b3QgWzEsMiwzLDRdCitbIDMzODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09Q
RVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzM5OiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hv
dWxkIHN1Y2NlZWQKK1sgMzQwOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQg
WzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM0MTogRkFJTCBdIGxhc3QgcGl4ZWwg
b2Ygcm93IDI6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNDI6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElE
X0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDM0MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDM0NDog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURf
RU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzQ1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMzQ2OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzNDc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAzNDg6IEZB
SUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3Qg
WzEsMiwzLDRdCitbIDM0OTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBb
MiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzUwOiBGQUlMIF0gZmlyc3QgcGl4ZWwg
b2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzUx
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJ
RF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzNTI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAzNTM6
IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwg
Z290IFsxLDIsMyw0XQorWyAzNTQ6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3Rl
ZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM1NTogRkFJTCBdIGZpcnN0IHBp
eGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbOTksNSw3NiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM1
NjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFs5OSw1LDc2LDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgMzU3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzNTg6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91
bGQgc3VjY2VlZAorWyAzNTk6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQg
WzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNjA6IEZBSUwgXSBmaXJzdCBwaXhl
bCBvZiByb3cgMTogZXhwZWN0ZWQgWzk5LDUsNzYsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNjE6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElE
X0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDM2MjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDM2Mzog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURf
RU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzY0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMzY1OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzNjY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAzNjc6IEZB
SUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3Qg
WzEsMiwzLDRdCitbIDM2ODogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsy
NDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNjk6IEZBSUwgXSBmaXJzdCBwaXhlbCBv
ZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM3MDog
RkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyAzNzE6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQg
WzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNzI6IEZBSUwgXSBsYXN0IHBpeGVs
IG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM3
MzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFM
SURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzc0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMzc1
OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBn
b3QgWzEsMiwzLDRdCitbIDM3NjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVk
IFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNzc6IEZBSUwgXSBsYXN0IHBpeGVs
IG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM3
ODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFM
SURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzc5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMzgw
OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwg
Z290IFsxLDIsMyw0XQorWyAzODE6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3Rl
ZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzgyOiBGQUlMIF0gZmlyc3QgcGl4
ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAz
ODM6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0s
IGdvdCBbMSwyLDMsNF0KK1sgMzg0OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURf
T1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzODU6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBz
aG91bGQgc3VjY2VlZAorWyAzODY6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3Rl
ZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzg3OiBGQUlMIF0gbGFzdCBwaXhl
bCBvZiByb3cgMjogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM4
ODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFM
SURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzg5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMzkw
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJ
RF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzOTE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAzOTI6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElE
X0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDM5MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDM5NDog
RkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgMzk1OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVk
IFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzOTY6IEZBSUwgXSBmaXJzdCBwaXhl
bCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAz
OTc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZB
TElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDM5ODogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDM5
OTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVd
LCBnb3QgWzEsMiwzLDRdCitbIDQwMDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVj
dGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDAxOiBGQUlMIF0gZmlyc3Qg
cGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFs5OSw1LDc2LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sg
NDAyOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzk5LDUsNzYsMjU1XSwg
Z290IFsxLDIsMyw0XQorWyA0MDM6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9P
UEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDQwNDogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNo
b3VsZCBzdWNjZWVkCitbIDQwNTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3Rl
ZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQwNjogRkFJTCBdIGZpcnN0IHBp
eGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbOTksNSw3NiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQw
NzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFM
SURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgNDA4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgNDA5
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJ
RF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyA0MTA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA0MTE6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElE
X0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDQxMjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogSW52YWxpZCBwYWNrIHBhcmFtcyBj
b21iaW5hdGlvbgorWyA0MTM6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVS
QVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDQxNDogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogSW52
YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgorWyA0MTU6IEZBSUwgXSBnZXRFcnJvciBleHBl
Y3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNt
YWxsCitbIDQxNjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDQxNzogRkFJTCBdIGZpcnN0IHBpeGVsIG9m
IHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDE4OiBG
QUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3Qg
WzEsMiwzLDRdCitbIDQxOTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBb
MiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDIwOiBGQUlMIF0gbGFzdCBwaXhlbCBv
ZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQyMTog
RkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBn
b3QgWzEsMiwzLDRdCitbIDQyMjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVk
IFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDIzOiBGQUlMIF0gZ2V0RXJyb3Ig
ZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRv
byBzbWFsbAorWyA0MjQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJ
T04uIFdhcyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgNDI1
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJ
RF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyA0MjY6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMg
Y29tYmluYXRpb24KK1sgNDI3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyA0Mjg6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91
bGQgc3VjY2VlZAorWyA0Mjk6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQg
WzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQzMDogRkFJTCBdIGxhc3QgcGl4ZWwg
b2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0MzE6
IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBn
b3QgWzEsMiwzLDRdCitbIDQzMjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVk
IFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0MzM6IEZBSUwgXSBmaXJzdCBwaXhl
bCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0
MzQ6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVd
LCBnb3QgWzEsMiwzLDRdCitbIDQzNTogUEFTUyBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CitbIEZBSUwgXSAzNjMgZmFpbHVyZXMgcmVwb3J0ZWQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386889</attachid>
            <date>2020-01-06 14:38:29 -0800</date>
            <delta_ts>2020-01-06 14:52:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205689-20200107093827.patch</filename>
            <type>text/plain</type>
            <size>41595</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU0ZGY1YTkwMzkyMTUz
N2Q5ZGU3YTM3Y2UyNjBhMjY3MGNjMTI3OS4uYzY3ZDlmMzgwYTQ2ZDVmZjE5MGU5MzcyMWJiYjI2
MTAyZGUwMjRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTAxLTA2ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEZpbGwgaW4gbWlz
c2luZyBXZWJHTDIgZW50cnkgcG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDU2ODkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4MjgwOTIw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpbGwg
aW4gdGhlIGJpdHMgb2YgdGhlIFdlYkdMMiBBUEkgdGhhdCB3ZXJlIG1pc3NpbmcuCisKKyAgICAg
ICAgVGhlIHNwZWNpZmljYXRpb24gc3BsaXRzIGludG8gQmFzZSBhbmQgSW1wbGVtZW50YXRpb24K
KyAgICAgICAgaW50ZXJmYWNlcywgYnV0IEkgcHV0IGV2ZXJ5dGhpbmcgaW4gb25lIHBsYWNlIHNp
bmNlCisgICAgICAgIHdlIGFscmVhZHkgaGF2ZSB0byBjaGVjayB0aGF0IHdlIGRvbid0IGhhdmUg
ZnVuY3Rpb24KKyAgICAgICAgc2lnbmF0dXJlIGNsYXNoZXMuCisKKyAgICAgICAgSSBhbHNvIGZp
eGVkIHNvbWUgc2l0dWF0aW9ucyB3aGVyZSB3ZSB3ZXJlIG5vdAorICAgICAgICBhbGxvd2luZyBm
b3IgYW4gRXhjZXB0aW9uIHRvIGJlIHJldHVybmVkLgorCisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRl
cmluZ0NvbnRleHQ6OnRleEltYWdlM0QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTNEKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xZnYpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJmdik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2Z2KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMml2KToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRmdik6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpyZWFkUGl4ZWxzKToK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoKKwogMjAyMC0wMS0wNSAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEdyYXBoaWNzQ29udGV4dDNE
IHRvIEdyYXBoaWNzQ29udGV4dEdMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IGU5MjMwODNlMjM0Y2JiOWU4Nzcw
OTIxMWUyNTUxNWNmOTg4YmQzZWIuLjgyNWU3NWE5OGMxYTRjMTNkZDk1NWM3ODUzMjMxZGE4N2E5
MzgxY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRl
cmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJl
bmRlcmluZ0NvbnRleHQuY3BwCkBAIC02NzcsOSArNjc3LDEwIEBAIHZvaWQgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRHNp
emVpLCBHCiAgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleEltYWdlMkQo
KSIpOwogfQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVu
dW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNE
ZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCitFeGNlcHRpb25Pcjx2b2lkPiBXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50
LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGludCwgR0MzRGVudW0sIEdDM0RlbnVtLCBUZXhJ
bWFnZVNvdXJjZSYmKQogewogICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0
ZXhJbWFnZTJEKCkiKTsKKyAgICByZXR1cm4geyB9OwogfQogCiB2b2lkIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXpl
aSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1
ZmZlclZpZXc+JiYsIEdDM0R1aW50KQpAQCAtNjkyLDkgKzY5MywxMCBAQCB2b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnRleEltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdD
M0RzaXplaSwgRwogICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhJbWFn
ZTNEKCkiKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTNEKEdD
M0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVp
LCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCitFeGNlcHRp
b25Pcjx2b2lkPiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTNEKEdDM0RlbnVtLCBH
QzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50
LCBHQzNEZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCiB7CiAgICAgTE9HKFdlYkdM
LCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleEltYWdlM0QoKSIpOworICAgIHJldHVybiB7IH07
CiB9CiAKIHZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UzRChHQzNEZW51bSwg
R0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGlu
dCwgR0MzRGVudW0sIEdDM0RlbnVtLCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmKQpAQCAtNzEy
LDkgKzcxNCwxMCBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQo
R0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsCiAgICAgTE9HKFdlYkdMLCAiW1sg
Tk9UIElNUExFTUVOVEVEIF1dIHRleFN1YkltYWdlMkQoKSIpOwogfQogCi12b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQs
IEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEZW51bSwgR0MzRGVudW0sIFRleElt
YWdlU291cmNlJiYpCitFeGNlcHRpb25Pcjx2b2lkPiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0
ZXhTdWJJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6
ZWksIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBUZXhJbWFnZVNvdXJjZSYmKQogewog
ICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhTdWJJbWFnZTJEKCkiKTsK
KyAgICByZXR1cm4geyB9OwogfQogCiB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1
YkltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwg
R0MzRHNpemVpLCBHQzNEZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYs
IEdDM0R1aW50KQpAQCAtNzMyLDkgKzczNSwxMCBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OnRleFN1YkltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsCiAg
ICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleFN1YkltYWdlM0QoKSIpOwog
fQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlM0QoR0MzRGVudW0s
IEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVp
LCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwgVGV4SW1hZ2VTb3VyY2UmJikKK0V4Y2Vw
dGlvbk9yPHZvaWQ+IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlM0QoR0MzRGVu
dW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNp
emVpLCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwgVGV4SW1hZ2VTb3VyY2UmJikKIHsK
ICAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdGV4U3ViSW1hZ2UzRCgpIik7
CisgICAgcmV0dXJuIHsgfTsKIH0KIAogdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpjb3B5
VGV4U3ViSW1hZ2UzRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGlu
dCwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWkpCkBAIC03NDIsMTYgKzc0
Niw2IEBAIHZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y29weVRleFN1YkltYWdlM0QoR0Mz
RGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpCiAgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElN
UExFTUVOVEVEIF1dIGNvcHlUZXhTdWJJbWFnZTNEKCkiKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSwgR0MzRGludCwgR0Mz
RGVudW0sIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RpbnQ2
NCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRl
eEltYWdlMkQoKSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNz
ZWRUZXhJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRHNpemVpLCBHQzNE
c2l6ZWksIEdDM0RpbnQsIEFycmF5QnVmZmVyVmlldyYsIEdDM0R1aW50LCBHQzNEdWludCkKLXsK
LSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleEltYWdl
MkQoKSIpOwotfQotCiB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhJ
bWFnZTNEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRHNpemVpLCBHQzNEc2l6ZWks
IEdDM0RzaXplaSwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEaW50NjQpCiB7CiAgICAgTE9HKFdl
YkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhJbWFnZTNEKCkiKTsKQEAg
LTIxODYsNiArMjE4MCwyMDcgQEAgYm9vbCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0
ZUNhcGFiaWxpdHkoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQzNEZW4KICAgICB9CiB9CiAK
K3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleEltYWdlMkQoR0MzRGVu
dW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNp
emVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgR0MzRHNpemVpIGlt
YWdlU2l6ZSwgR0MzRGludDY0IG9mZnNldCkKK3sKKyAgICBVTlVTRURfUEFSQU0odGFyZ2V0KTsK
KyAgICBVTlVTRURfUEFSQU0obGV2ZWwpOworICAgIFVOVVNFRF9QQVJBTShpbnRlcm5hbGZvcm1h
dCk7CisgICAgVU5VU0VEX1BBUkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsK
KyAgICBVTlVTRURfUEFSQU0oYm9yZGVyKTsKKyAgICBVTlVTRURfUEFSQU0oaW1hZ2VTaXplKTsK
KyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKKworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBM
RU1FTlRFRCBdXSBjb21wcmVzc2VkVGV4SW1hZ2UyRCgpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNE
c2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3JiBzcmNEYXRhLCBH
QzNEdWludCBzcmNPZmZzZXQsIEdDM0R1aW50IHNyY0xlbmd0aE92ZXJyaWRlKQoreworICAgIFVO
VVNFRF9QQVJBTSh0YXJnZXQpOworICAgIFVOVVNFRF9QQVJBTShsZXZlbCk7CisgICAgVU5VU0VE
X1BBUkFNKGludGVybmFsZm9ybWF0KTsKKyAgICBVTlVTRURfUEFSQU0od2lkdGgpOworICAgIFVO
VVNFRF9QQVJBTShoZWlnaHQpOworICAgIFVOVVNFRF9QQVJBTShib3JkZXIpOworICAgIFVOVVNF
RF9QQVJBTShzcmNEYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBVTlVT
RURfUEFSQU0oc3JjTGVuZ3RoT3ZlcnJpZGUpOworCisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElN
UExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhJbWFnZTJEKCkiKTsKK30KKwordm9pZCBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMc2l6ZWkgaW1hZ2VTaXplLCBHTGludHB0
ciBvZmZzZXQpCit7CisgICAgVU5VU0VEX1BBUkFNKHRhcmdldCk7CisgICAgVU5VU0VEX1BBUkFN
KGxldmVsKTsKKyAgICBVTlVTRURfUEFSQU0oeG9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHlv
ZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdo
dCk7CisgICAgVU5VU0VEX1BBUkFNKGZvcm1hdCk7CisgICAgVU5VU0VEX1BBUkFNKGltYWdlU2l6
ZSk7CisgICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CisKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleFN1YkltYWdlMkQoKSIpOworfQorCit2b2lkIFdl
YkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdp
ZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgQXJyYXlCdWZmZXJWaWV3JiBzcmNE
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUpCit7CisgICAg
VU5VU0VEX1BBUkFNKHRhcmdldCk7CisgICAgVU5VU0VEX1BBUkFNKGxldmVsKTsKKyAgICBVTlVT
RURfUEFSQU0oeG9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHlvZmZzZXQpOworICAgIFVOVVNF
RF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdodCk7CisgICAgVU5VU0VEX1BB
UkFNKGZvcm1hdCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0RhdGEpOworICAgIFVOVVNFRF9QQVJB
TShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGhPdmVycmlkZSk7CisKKyAg
ICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleFN1YkltYWdl
MkQoKSIpOworCit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFmdihX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBz
cmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9u
KTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09mZnNldCk7
CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gdW5pZm9ybTFmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybTJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0
MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAg
VU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5V
U0VEX1BBUkFNKHNyY09mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAg
ICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTJmdigpIik7Cit9CisK
K3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWlu
dCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKKyAgICBVTlVTRURf
UEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09mZnNldCk7CisgICAgVU5VU0VEX1BB
UkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0g
dW5pZm9ybTNmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9y
bTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxv
Y2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09m
ZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJb
WyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTRmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24s
IEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQorewor
ICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAg
IFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwor
CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm0xaXYoKSIpOwor
fQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yaXYoV2ViR0xVbmlmb3Jt
TG9jYXRpb24qIGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1
aW50IHNyY0xlbmd0aCkKK3sKKyAgICBVTlVTRURfUEFSQU0obG9jYXRpb24pOworICAgIFVOVVNF
RF9QQVJBTShkYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBVTlVTRURf
UEFSQU0oc3JjTGVuZ3RoKTsKKworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBd
XSB1bmlmb3JtMml2KCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlm
b3JtM2l2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxv
Y2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09m
ZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJb
WyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTNpdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24s
IEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQorewor
ICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAg
IFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwor
CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm00aXYoKSIpOwor
fQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyZnYoV2ViR0xV
bmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlz
dCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQoreworICAgIFVOVVNF
RF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKHRyYW5zcG9zZSk7CisgICAgVU5V
U0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNF
RF9QQVJBTShzcmNMZW5ndGgpOworCisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVE
IF1dIHVuaWZvcm1NYXRyaXgyZnYoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OnVuaWZvcm1NYXRyaXgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJv
b2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVp
bnQgc3JjTGVuZ3RoKQoreworICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VE
X1BBUkFNKHRyYW5zcG9zZSk7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9Q
QVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOworCisgICAgTE9H
KFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXgzZnYoKSIpOworfQor
Cit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXg0ZnYoV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBk
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQoreworICAgIFVOVVNFRF9Q
QVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKHRyYW5zcG9zZSk7CisgICAgVU5VU0VE
X1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9Q
QVJBTShzcmNMZW5ndGgpOworCisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1d
IHVuaWZvcm1NYXRyaXg0ZnYoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6
OnJlYWRQaXhlbHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQpCit7CisgICAg
VU5VU0VEX1BBUkFNKHgpOworICAgIFVOVVNFRF9QQVJBTSh5KTsKKyAgICBVTlVTRURfUEFSQU0o
d2lkdGgpOworICAgIFVOVVNFRF9QQVJBTShoZWlnaHQpOworICAgIFVOVVNFRF9QQVJBTShmb3Jt
YXQpOworICAgIFVOVVNFRF9QQVJBTSh0eXBlKTsKKyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsK
KworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSByZWFkUGl4ZWxzKCkiKTsK
K30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpyZWFkUGl4ZWxzKEdMaW50IHgsIEdM
aW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVu
dW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3JiBkc3REYXRhLCBHTHVpbnQgZHN0T2Zmc2V0KQorewor
ICAgIFVOVVNFRF9QQVJBTSh4KTsKKyAgICBVTlVTRURfUEFSQU0oeSk7CisgICAgVU5VU0VEX1BB
UkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsKKyAgICBVTlVTRURfUEFSQU0o
Zm9ybWF0KTsKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisgICAgVU5VU0VEX1BBUkFNKGRzdERh
dGEpOworICAgIFVOVVNFRF9QQVJBTShkc3RPZmZzZXQpOworCisgICAgTE9HKFdlYkdMLCAiW1sg
Tk9UIElNUExFTUVOVEVEIF1dIHJlYWRQaXhlbHMoKSIpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggY2VkMThjZDRmYThk
YWFkOGMyNDYwYjVhNzljMjEzMzI3Njg1MGIwOS4uYWYyYzQ3YWZmYjkyM2U4ZDNlYWViYTQyMTQ4
MmU0NTM3YTQ5OWRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMMlJlbmRlcmluZ0NvbnRleHQuaApAQCAtNzYsMzAgKzc2LDM1IEBAIHB1YmxpYzoKIAogICAg
IHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleEltYWdlMkQ7CiAgICAgdm9pZCB0
ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5h
bGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRl
ciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50NjQgcGJvT2Zmc2V0KTsK
LSAgICB2b2lkIHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNE
aW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdD
M0RpbnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291
cmNlJiYpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgs
IEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0Rl
bnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwogICAgIHZvaWQgdGV4SW1hZ2UyRChHQzNEZW51
bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXpl
aSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEdDM0RlbnVtIGZvcm1h
dCwgR0MzRGVudW0gdHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBzcmNEYXRhLCBHQzNE
dWludCBzcmNPZmZzZXQpOwogCiAgICAgdm9pZCB0ZXhJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwg
R0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBH
QzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVyLCBHQzNEZW51
bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIEdDM0RpbnQ2NCBwYm9PZmZzZXQpOwotICAgIHZvaWQg
dGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgaW50ZXJu
YWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRl
cHRoLCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBUZXhJ
bWFnZVNvdXJjZSYmKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiB0ZXhJbWFnZTNEKEdDM0RlbnVt
IHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVp
IHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVy
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwogICAg
IHZvaWQgdGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQg
aW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNp
emVpIGRlcHRoLCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBl
LCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmIHBpeGVscyk7CiAgICAgdm9pZCB0ZXhJbWFnZTNE
KEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwg
R0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0Rp
bnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFJlZlB0cjxBcnJheUJ1
ZmZlclZpZXc+JiYgc3JjRGF0YSwgR0MzRHVpbnQgc3JjT2Zmc2V0KTsKIAogICAgIHVzaW5nIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleFN1YkltYWdlMkQ7CiAgICAgdm9pZCB0ZXhTdWJJ
bWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBH
QzNEaW50IHlvZmZzZXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGVu
dW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50NjQgcGJvT2Zmc2V0KTsKLSAgICB2b2lk
IHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhv
ZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOworICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRo
LCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleElt
YWdlU291cmNlJiYpOwogICAgIHZvaWQgdGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdD
M0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkg
d2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwg
UmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBzcmNEYXRhLCBHQzNEdWludCBzcmNPZmZzZXQpOwog
CiAgICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwg
R0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0MzRHNp
emVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVtIGZv
cm1hdCwgR0MzRGVudW0gdHlwZSwgR0MzRGludDY0IHBib09mZnNldCk7CiAgICAgdm9pZCB0ZXhT
dWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0
LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNE
c2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0g
dHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBwaXhlbHMsIEdDM0R1aW50IHNyY09mZnNl
dCk7Ci0gICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZl
bCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0Mz
RHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVt
IGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2UmJik7CisgICAgRXhjZXB0aW9u
T3I8dm9pZD4gdGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RzaXpl
aSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEZW51bSBmb3Jt
YXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwogCiAgICAgdm9pZCBjb3B5VGV4
U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNl
dCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RpbnQgeCwgR0MzRGludCB5
LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQpOwogCisgICAgdXNpbmcgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29tcHJlc3NlZFRleEltYWdlMkQ7CiAgICAgdm9pZCBjb21w
cmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVt
IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0Rp
bnQgYm9yZGVyLCBHQzNEc2l6ZWkgaW1hZ2VTaXplLCBHQzNEaW50NjQgb2Zmc2V0KTsKLSAgICB2
b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwg
R0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdo
dCwgR0MzRGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0MzRHVpbnQsIEdDM0R1
aW50KTsKKyAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0Mz
RGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0Mz
RHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0Mz
RHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGhPdmVycmlkZSk7CiAgICAgdm9pZCBj
b21wcmVzc2VkVGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rl
bnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdD
M0RzaXplaSBkZXB0aCwgR0MzRGludCBib3JkZXIsIEdDM0RzaXplaSBpbWFnZVNpemUsIEdDM0Rp
bnQ2NCBvZmZzZXQpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0MzRGVudW0gdGFy
Z2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdp
ZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVyLCBB
cnJheUJ1ZmZlclZpZXcmIHNyY0RhdGEsIEdDM0R1aW50IHNyY09mZnNldCwgR0MzRHVpbnQgc3Jj
TGVuZ3RoT3ZlcnJpZGUpOwogCisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
Y29tcHJlc3NlZFRleFN1YkltYWdlMkQ7CisgICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNl
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMc2l6ZWkg
aW1hZ2VTaXplLCBHTGludHB0ciBvZmZzZXQpOworICAgIHZvaWQgY29tcHJlc3NlZFRleFN1Yklt
YWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlv
ZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBBcnJh
eUJ1ZmZlclZpZXcmIHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGhP
dmVycmlkZSk7CisKICAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRh
cmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdD
M0RpbnQgem9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6
ZWkgZGVwdGgsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRHNpemVpIGltYWdlU2l6ZSwgR0MzRGludDY0
IG9mZnNldCk7CiAgICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJn
ZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNE
aW50IHpvZmZzZXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVp
IGRlcHRoLCBHQzNEZW51bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0MzRHVpbnQg
c3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGhPdmVycmlkZSk7CiAKQEAgLTEyOCw3ICsxMzMs
MzIgQEAgcHVibGljOgogICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aShHQzNEdWludCBpbmRleCwg
R0MzRHVpbnQgeCwgR0MzRHVpbnQgeSwgR0MzRHVpbnQgeiwgR0MzRHVpbnQgdyk7CiAgICAgdm9p
ZCB2ZXJ0ZXhBdHRyaWJJNHVpdihHQzNEdWludCBpbmRleCwgVWludDMyTGlzdCYmIHYpOwogICAg
IHZvaWQgdmVydGV4QXR0cmliSVBvaW50ZXIoR0MzRHVpbnQgaW5kZXgsIEdDM0RpbnQgc2l6ZSwg
R0MzRGVudW0gdHlwZSwgR0MzRHNpemVpIHN0cmlkZSwgR0MzRGludDY0IG9mZnNldCk7Ci0gICAg
CisKKyAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtMWZ2OworICAg
IHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm0yZnY7CisgICAgdXNpbmcg
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTNmdjsKKyAgICB1c2luZyBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtNGZ2OworICAgIHZvaWQgdW5pZm9ybTFmdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNP
ZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTJmdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQs
IEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTNmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWlu
dCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiog
bG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNM
ZW5ndGgpOworCisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTFp
djsKKyAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtMml2OworICAg
IHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm0zaXY7CisgICAgdXNpbmcg
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTRpdjsKKyAgICB2b2lkIHVuaWZvcm0x
aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50
IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCk7CisgICAgdm9pZCB1bmlmb3JtMml2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZz
ZXQsIEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTNpdihXZWJHTFVuaWZvcm1M
b2NhdGlvbiogbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVp
bnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lkIHVuaWZvcm00aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24q
IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xl
bmd0aCk7CisKKyAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtTWF0
cml4MmZ2OworICAgIHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRy
aXgzZnY7CisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybU1hdHJp
eDRmdjsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxv
Y2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3Jj
T2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMy
TGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lk
IHVuaWZvcm1NYXRyaXg0ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xl
YW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQg
c3JjTGVuZ3RoKTsKKwogICAgIC8vIFdyaXRpbmcgdG8gdGhlIGRyYXdpbmcgYnVmZmVyCiAgICAg
dm9pZCBjbGVhcihHQzNEYml0ZmllbGQgbWFzaykgZmluYWw7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRy
aWJEaXZpc29yKEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29yKTsKQEAgLTIwMiw2ICsy
MzIsMTAgQEAgcHVibGljOgogICAgIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBnZXRTdXBwb3J0
ZWRFeHRlbnNpb25zKCkgZmluYWw7CiAgICAgV2ViR0xBbnkgZ2V0UGFyYW1ldGVyKEdDM0RlbnVt
IHBuYW1lKSBmaW5hbDsKIAorICAgIHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnJl
YWRQaXhlbHM7CisgICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRw
dHIgb2Zmc2V0KTsKKyAgICB2b2lkIHJlYWRQaXhlbHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJh
eUJ1ZmZlclZpZXcmIGRzdERhdGEsIEdMdWludCBkc3RPZmZzZXQpOworCiAgICAgdm9pZCByZW5k
ZXJidWZmZXJTdG9yYWdlKEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCkgZmluYWw7CiAgICAgdm9pZCBoaW50
KEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gbW9kZSkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKaW5kZXgg
ZGE3MDBlN2IyOWM3OWQ1MWEyOWRlNThlNDJkZmVkOTA4YzFkYmYyNC4uYzgwZWI5MmRmM2RiMDg2
YTMxZDcyZWE1ZWZiNTY0NTU5Yzg0MmY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKQEAgLTU5LDYgKzU5LDEyIEBA
IHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9y
IEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAgRG9Ob3RDaGVja0NvbnN0YW50cywKICAgICBD
YWxsVHJhY2luZ0NhbGxiYWNrPXJlY29yZENhbnZhc0FjdGlvbiwKIF0gaW50ZXJmYWNlIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHQgeworCisgICAgLy8gVGhlIHNwZWNpZmljYXRpb24gc3BsaXRzIHRo
ZSBBUEkgc3VyZmFjZSBpbnRvIGEgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2UKKyAgICAvLyBh
bmQgYSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LCBidXQgd2UgbWVyZ2UgYm90aCBpbnRvIG9uZSBj
bGFzcy4KKworICAgIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UgY29udGVudHMuCisKICAg
ICBjb25zdCBHTGVudW0gUkVBRF9CVUZGRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHgwQzAyOwogICAgIGNvbnN0IEdMZW51bSBVTlBBQ0tfUk9XX0xFTkdUSCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDBDRjI7CiAgICAgY29uc3QgR0xlbnVtIFVOUEFDS19T
S0lQX1JPV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MENGMzsKQEAgLTMyNSw3
MyArMzMxLDUxIEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1h
Z2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAKICAgICBjb25zdCBHTGludDY0
IFRJTUVPVVRfSUdOT1JFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gLTE7CiAKLSAg
ICAvKiBXZWJHTC1zcGVjaWZpYyBlbnVtcyAqLworICAgIC8vIFdlYkdMLXNwZWNpZmljIGVudW1z
LwogICAgIGNvbnN0IEdMZW51bSBNQVhfQ0xJRU5UX1dBSVRfVElNRU9VVF9XRUJHTCAgICAgICAg
ICAgICAgICAgPSAweDkyNDc7CiAKLSAgICAvKiBCdWZmZXIgb2JqZWN0cyAqLworICAgIC8vIEJ1
ZmZlciBvYmplY3RzLgogICAgIHZvaWQgYnVmZmVyRGF0YShHTGVudW0gdGFyZ2V0LCBBcnJheUJ1
ZmZlclZpZXcgZGF0YSwgR0xlbnVtIHVzYWdlLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBH
THVpbnQgbGVuZ3RoID0gMCk7CiAgICAgdm9pZCBidWZmZXJTdWJEYXRhKEdMZW51bSB0YXJnZXQs
IEdMaW50cHRyIGRzdEJ5dGVPZmZzZXQsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQg
c3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgbGVuZ3RoID0gMCk7CiAKICAgICB2b2lkIGNvcHlC
dWZmZXJTdWJEYXRhKEdMZW51bSByZWFkVGFyZ2V0LCBHTGVudW0gd3JpdGVUYXJnZXQsIEdMaW50
cHRyIHJlYWRPZmZzZXQsIEdMaW50cHRyIHdyaXRlT2Zmc2V0LCBHTHNpemVpcHRyIHNpemUpOwot
ICAgIC8vIE1hcEJ1ZmZlclJhbmdlLCBpbiBwYXJ0aWN1bGFyIGl0cyByZWFkLW9ubHkgYW5kIHdy
aXRlLW9ubHkgbW9kZXMsCi0gICAgLy8gY2FuIG5vdCBiZSBleHBvc2VkIHNhZmVseSB0byBKYXZh
U2NyaXB0LiBHZXRCdWZmZXJTdWJEYXRhCi0gICAgLy8gcmVwbGFjZXMgaXQgZm9yIHRoZSBwdXJw
b3NlIG9mIGZldGNoaW5nIGRhdGEgYmFjayBmcm9tIHRoZSBHUFUuCiAgICAgdm9pZCBnZXRCdWZm
ZXJTdWJEYXRhKEdMZW51bSB0YXJnZXQsIEdMaW50cHRyIHNyY0J5dGVPZmZzZXQsIEFycmF5QnVm
ZmVyVmlldyBkc3REYXRhLCBvcHRpb25hbCBHTHVpbnQgZHN0T2Zmc2V0ID0gMCwgb3B0aW9uYWwg
R0x1aW50IGxlbmd0aCA9IDApOwogCi0gICAgLyogRnJhbWVidWZmZXIgb2JqZWN0cyAqLworICAg
IC8vIEZyYW1lYnVmZmVyIG9iamVjdHMuCiAgICAgdm9pZCBibGl0RnJhbWVidWZmZXIoR0xpbnQg
c3JjWDAsIEdMaW50IHNyY1kwLCBHTGludCBzcmNYMSwgR0xpbnQgc3JjWTEsIEdMaW50IGRzdFgw
LCBHTGludCBkc3RZMCwgR0xpbnQgZHN0WDEsIEdMaW50IGRzdFkxLCBHTGJpdGZpZWxkIG1hc2ss
IEdMZW51bSBmaWx0ZXIpOwogICAgIHZvaWQgZnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIoR0xlbnVt
IHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIFdlYkdMVGV4dHVyZT8gdGV4dHVyZSwgR0xpbnQg
bGV2ZWwsIEdMaW50IGxheWVyKTsKICAgICB2b2lkIGludmFsaWRhdGVGcmFtZWJ1ZmZlcihHTGVu
dW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1lbnRzKTsKICAgICB2b2lkIGludmFs
aWRhdGVTdWJGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFj
aG1lbnRzLCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7
CiAgICAgdm9pZCByZWFkQnVmZmVyKEdMZW51bSBzcmMpOwogCi0gICAgLyogUmVuZGVyYnVmZmVy
IG9iamVjdHMgKi8KKyAgICAvLyBSZW5kZXJidWZmZXIgb2JqZWN0cy4KICAgICBbT3ZlcnJpZGVJ
RExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0SW50ZXJuYWxmb3JtYXRQYXJhbWV0ZXIoR0xlbnVt
IHRhcmdldCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVudW0gcG5hbWUpOwogICAgIHZvaWQg
cmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgc2Ft
cGxlcywgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCk7CiAKLSAgICAvKiBUZXh0dXJlIG9iamVjdHMgKi8KKyAgICAvLyBUZXh0dXJlIG9iamVjdHMu
CiAgICAgdm9pZCB0ZXhTdG9yYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xzaXplaSBsZXZlbHMsIEdM
ZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOwogICAg
IHZvaWQgdGV4U3RvcmFnZTNEKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRl
cHRoKTsKIAotICAgIC8vIFdlYkdMMSBsZWdhY3kgZW50cnlwb2ludHM6Ci0gICAgdm9pZCB0ZXhJ
bWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3Jt
YXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBpeGVscyk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdM
ZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdl
U291cmNlPyBzb3VyY2UpOwotCi0gICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQs
IEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVy
Vmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNl
dCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOwot
Ci0gICAgLy8gV2ViR0wyIGVudHJ5cG9pbnRzOgotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0g
dGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgs
IEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBl
LCBHTGludHB0ciBwYm9PZmZzZXQpOwotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6
ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJ
bWFnZVNvdXJjZSBzb3VyY2UpOwotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1
ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCk7Ci0KICAgICB2b2lkIHRleEltYWdl
M0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNp
emVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBH
TGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKICAgICB2b2lk
IHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9y
bWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQg
Ym9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNl
KTsKICAgICB2b2lkIHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50
IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBk
ZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZm
ZXJWaWV3PyBwaXhlbHMpOwogICAgIHZvaWQgdGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0
eXBlLCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCk7CiAKLSAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKLSAgICB2b2lkIHRleFN1
YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50
IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKLSAgICB2b2lkIHRleFN1YkltYWdl
MkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZz
ZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOwotCiAgICAg
dm9pZCB0ZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zm
c2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVp
IGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50
cHRyIHBib09mZnNldCk7CiAgICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdM
aW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBH
THNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJjZSk7CiAgICAgdm9pZCB0ZXhTdWJJ
bWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5
b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xz
aXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8g
c3JjRGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDApOwogCiAgICAgdm9pZCBjb3B5
VGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwg
R0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQpOwogCi0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdlU2l6ZSwg
R0xpbnRwdHIgb2Zmc2V0KTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0
YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgs
IEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBv
cHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92
ZXJyaWRlID0gMCk7Ci0KICAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTNEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdM
c2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMc2l6ZWkgaW1hZ2VT
aXplLCBHTGludHB0ciBvZmZzZXQpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0xl
bnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgQXJyYXlC
dWZmZXJWaWV3IHNyY0RhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25h
bCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKICAgICB2b2lkIGNvbXByZXNzZWRUZXhT
dWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGlu
dCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwg
R0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRy
IG9mZnNldCk7CiAgICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNl
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBm
b3JtYXQsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0
ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92ZXJyaWRlID0gMCk7CiAKLSAgICAvKiBQ
cm9ncmFtcyBhbmQgc2hhZGVycyAqLworICAgIC8vIFByb2dyYW1zIGFuZCBzaGFkZXJzLwogICAg
IEdMaW50IGdldEZyYWdEYXRhTG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIERPTVN0cmlu
ZyBuYW1lKTsKIAotICAgIC8qIFVuaWZvcm1zIGFuZCBhdHRyaWJ1dGVzICovCisgICAgLy8gVW5p
Zm9ybXMgYW5kIGF0dHJpYnV0ZXMuCiAgICAgdm9pZCB1bmlmb3JtMXVpKFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwKTsKICAgICB2b2lkIHVuaWZvcm0ydWkoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSk7CiAgICAgdm9p
ZCB1bmlmb3JtM3VpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwLCBH
THVpbnQgdjEsIEdMdWludCB2Mik7CkBAIC00MTIsMjAgKzM5NiwyMCBAQCB0eXBlZGVmIChJbWFn
ZUJpdG1hcCBvciBJbWFnZURhdGEgb3IgSFRNTEltYWdlRWxlbWVudCBvciBIVE1MQ2FudmFzRWxl
bWVudCkgVGV4SQogICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aXYoR0x1aW50IGluZGV4LCBVaW50
MzJMaXN0IHZhbHVlcyk7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJUG9pbnRlcihHTHVpbnQgaW5k
ZXgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTHNpemVpIHN0cmlkZSwgR0xpbnRwdHIgb2Zm
c2V0KTsKIAotICAgIC8qIFdyaXRpbmcgdG8gdGhlIGRyYXdpbmcgYnVmZmVyICovCisgICAgLy8g
V3JpdGluZyB0byB0aGUgZHJhd2luZyBidWZmZXIuCiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJEaXZp
c29yKEdMdWludCBpbmRleCwgR0x1aW50IGRpdmlzb3IpOwogICAgIHZvaWQgZHJhd0FycmF5c0lu
c3RhbmNlZChHTGVudW0gbW9kZSwgR0xpbnQgZmlyc3QsIEdMc2l6ZWkgY291bnQsIEdMc2l6ZWkg
aW5zdGFuY2VDb3VudCk7CiAgICAgdm9pZCBkcmF3RWxlbWVudHNJbnN0YW5jZWQoR0xlbnVtIG1v
ZGUsIEdMc2l6ZWkgY291bnQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQsIEdMc2l6ZWkg
aW5zdGFuY2VDb3VudCk7CiAgICAgdm9pZCBkcmF3UmFuZ2VFbGVtZW50cyhHTGVudW0gbW9kZSwg
R0x1aW50IHN0YXJ0LCBHTHVpbnQgZW5kLCBHTHNpemVpIGNvdW50LCBHTGVudW0gdHlwZSwgR0xp
bnRwdHIgb2Zmc2V0KTsKIAotICAgIC8qIE11bHRpcGxlIFJlbmRlciBUYXJnZXRzICovCisgICAg
Ly8gTXVsdGlwbGUgUmVuZGVyIFRhcmdldHMuCiAgICAgdm9pZCBkcmF3QnVmZmVycyhzZXF1ZW5j
ZTxHTGVudW0+IGJ1ZmZlcnMpOwogICAgIHZvaWQgY2xlYXJCdWZmZXJpdihHTGVudW0gYnVmZmVy
LCBHTGludCBkcmF3YnVmZmVyLCBJbnQzMkxpc3QgdmFsdWVzLCBvcHRpb25hbCBHTHVpbnQgc3Jj
T2Zmc2V0ID0gMCk7CiAgICAgdm9pZCBjbGVhckJ1ZmZlcnVpdihHTGVudW0gYnVmZmVyLCBHTGlu
dCBkcmF3YnVmZmVyLCBVaW50MzJMaXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNl
dCA9IDApOwogICAgIHZvaWQgY2xlYXJCdWZmZXJmdihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3
YnVmZmVyLCBGbG9hdDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAw
KTsKICAgICB2b2lkIGNsZWFyQnVmZmVyZmkoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZl
ciwgR0xmbG9hdCBkZXB0aCwgR0xpbnQgc3RlbmNpbCk7CiAKLSAgICAvKiBRdWVyeSBPYmplY3Rz
ICovCisgICAgLy8gUXVlcnkgT2JqZWN0cy4KICAgICBXZWJHTFF1ZXJ5PyBjcmVhdGVRdWVyeSgp
OwogICAgIHZvaWQgZGVsZXRlUXVlcnkoV2ViR0xRdWVyeT8gcXVlcnkpOwogICAgIEdMYm9vbGVh
biBpc1F1ZXJ5KFdlYkdMUXVlcnk/IHF1ZXJ5KTsKQEAgLTQzNCw3ICs0MTgsNyBAQCB0eXBlZGVm
IChJbWFnZUJpdG1hcCBvciBJbWFnZURhdGEgb3IgSFRNTEltYWdlRWxlbWVudCBvciBIVE1MQ2Fu
dmFzRWxlbWVudCkgVGV4SQogICAgIFdlYkdMUXVlcnk/IGdldFF1ZXJ5KEdMZW51bSB0YXJnZXQs
IEdMZW51bSBwbmFtZSk7CiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdl
dFF1ZXJ5UGFyYW1ldGVyKFdlYkdMUXVlcnkgcXVlcnksIEdMZW51bSBwbmFtZSk7CiAKLSAgICAv
KiBTYW1wbGVyIE9iamVjdHMgKi8KKyAgICAvLyBTYW1wbGVyIE9iamVjdHMuCiAgICAgV2ViR0xT
YW1wbGVyPyBjcmVhdGVTYW1wbGVyKCk7CiAgICAgdm9pZCBkZWxldGVTYW1wbGVyKFdlYkdMU2Ft
cGxlcj8gc2FtcGxlcik7CiAgICAgR0xib29sZWFuIGlzU2FtcGxlcihXZWJHTFNhbXBsZXI/IHNh
bXBsZXIpOwpAQCAtNDQzLDcgKzQyNyw3IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdl
RGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAg
dm9pZCBzYW1wbGVyUGFyYW1ldGVyZihXZWJHTFNhbXBsZXIgc2FtcGxlciwgR0xlbnVtIHBuYW1l
LCBHTGZsb2F0IHBhcmFtKTsKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0U2FtcGxlclBhcmFtZXRlcihXZWJHTFNhbXBsZXIgc2FtcGxlciwgR0xlbnVtIHBuYW1lKTsK
IAotICAgIC8qIFN5bmMgb2JqZWN0cyAqLworICAgIC8vIFN5bmMgb2JqZWN0cy4KICAgICBXZWJH
TFN5bmM/IGZlbmNlU3luYyhHTGVudW0gY29uZGl0aW9uLCBHTGJpdGZpZWxkIGZsYWdzKTsKICAg
ICBHTGJvb2xlYW4gaXNTeW5jKFdlYkdMU3luYz8gc3luYyk7CiAgICAgdm9pZCBkZWxldGVTeW5j
KFdlYkdMU3luYz8gc3luYyk7CkBAIC00NTEsNyArNDM1LDcgQEAgdHlwZWRlZiAoSW1hZ2VCaXRt
YXAgb3IgSW1hZ2VEYXRhIG9yIEhUTUxJbWFnZUVsZW1lbnQgb3IgSFRNTENhbnZhc0VsZW1lbnQp
IFRleEkKICAgICB2b2lkIHdhaXRTeW5jKFdlYkdMU3luYyBzeW5jLCBHTGJpdGZpZWxkIGZsYWdz
LCBHTGludDY0IHRpbWVvdXQpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFu
eSBnZXRTeW5jUGFyYW1ldGVyKFdlYkdMU3luYyBzeW5jLCBHTGVudW0gcG5hbWUpOwogCi0gICAg
LyogVHJhbnNmb3JtIEZlZWRiYWNrICovCisgICAgLy8gVHJhbnNmb3JtIEZlZWRiYWNrLgogICAg
IFdlYkdMVHJhbnNmb3JtRmVlZGJhY2s/IGNyZWF0ZVRyYW5zZm9ybUZlZWRiYWNrKCk7CiAgICAg
dm9pZCBkZWxldGVUcmFuc2Zvcm1GZWVkYmFjayhXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyBpZCk7
CiAgICAgR0xib29sZWFuIGlzVHJhbnNmb3JtRmVlZGJhY2soV2ViR0xUcmFuc2Zvcm1GZWVkYmFj
az8gaWQpOwpAQCAtNDYzLDcgKzQ0Nyw3IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdl
RGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAg
dm9pZCBwYXVzZVRyYW5zZm9ybUZlZWRiYWNrKCk7CiAgICAgdm9pZCByZXN1bWVUcmFuc2Zvcm1G
ZWVkYmFjaygpOwogCi0gICAgLyogVW5pZm9ybSBCdWZmZXIgT2JqZWN0cyBhbmQgVHJhbnNmb3Jt
IEZlZWRiYWNrIEJ1ZmZlcnMgKi8KKyAgICAvLyBVbmlmb3JtIEJ1ZmZlciBPYmplY3RzIGFuZCBU
cmFuc2Zvcm0gRmVlZGJhY2sgQnVmZmVycy4KICAgICB2b2lkIGJpbmRCdWZmZXJCYXNlKEdMZW51
bSB0YXJnZXQsIEdMdWludCBpbmRleCwgV2ViR0xCdWZmZXI/IGJ1ZmZlcik7CiAgICAgdm9pZCBi
aW5kQnVmZmVyUmFuZ2UoR0xlbnVtIHRhcmdldCwgR0x1aW50IGluZGV4LCBXZWJHTEJ1ZmZlcj8g
YnVmZmVyLCBHTGludHB0ciBvZmZzZXQsIEdMc2l6ZWlwdHIgc2l6ZSk7CiAgICAgW092ZXJyaWRl
SURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldEluZGV4ZWRQYXJhbWV0ZXIoR0xlbnVtIHRhcmdl
dCwgR0x1aW50IGluZGV4KTsKQEAgLTQ3NCwxMSArNDU4LDQ0IEBAIHR5cGVkZWYgKEltYWdlQml0
bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50
KSBUZXhJCiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gRE9NU3RyaW5nPyBnZXRB
Y3RpdmVVbmlmb3JtQmxvY2tOYW1lKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgdW5pZm9y
bUJsb2NrSW5kZXgpOwogICAgIHZvaWQgdW5pZm9ybUJsb2NrQmluZGluZyhXZWJHTFByb2dyYW0g
cHJvZ3JhbSwgR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4LCBHTHVpbnQgdW5pZm9ybUJsb2NrQmlu
ZGluZyk7CiAKLSAgICAvKiBWZXJ0ZXggQXJyYXkgT2JqZWN0cyAqLworICAgIC8vIFZlcnRleCBB
cnJheSBPYmplY3RzLgogICAgIFdlYkdMVmVydGV4QXJyYXlPYmplY3Q/IGNyZWF0ZVZlcnRleEFy
cmF5KCk7CiAgICAgdm9pZCBkZWxldGVWZXJ0ZXhBcnJheShXZWJHTFZlcnRleEFycmF5T2JqZWN0
PyB2ZXJ0ZXhBcnJheSk7CiAgICAgR0xib29sZWFuIGlzVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhB
cnJheU9iamVjdD8gdmVydGV4QXJyYXkpOwogICAgIHZvaWQgYmluZFZlcnRleEFycmF5KFdlYkdM
VmVydGV4QXJyYXlPYmplY3Q/IHZlcnRleEFycmF5KTsKKworICAgIC8vIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHQgQVBJLgorCisgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBi
b09mZnNldCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVt
IHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlw
ZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKKyAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
QXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOworCisgICAgdm9pZCB0
ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBH
TGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50
IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBH
TGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKKyAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNP
ZmZzZXQpOworCisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVp
IGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0
KTsKKyAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0
LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKKworICAgIHZvaWQgY29t
cHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhv
ZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVu
dW0gZm9ybWF0LCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB2b2lk
IGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGlu
dCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwg
R0xlbnVtIGZvcm1hdCwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQs
IG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGhPdmVycmlkZSA9IDApOworCisgICAgdm9pZCB1bmlm
b3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3QgZGF0YSwg
R0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHZv
aWQgdW5pZm9ybTJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0
IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsK
KyAgICB2b2lkIHVuaWZvcm0zZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9h
dDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3Ro
ID0gMCk7CisgICAgdm9pZCB1bmlmb3JtNGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlv
biwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNy
Y0xlbmd0aCA9IDApOworCisgICAgdm9pZCB1bmlmb3JtMWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9u
PyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdM
dWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9u
YWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHZvaWQgdW5pZm9ybTNpdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBv
cHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdm9pZCB1bmlmb3JtNGl2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZz
ZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKworICAgIHZvaWQgdW5pZm9ybU1h
dHJpeDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bv
c2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBz
cmNMZW5ndGggPSAwKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBH
THVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdm9p
ZCB1bmlmb3JtTWF0cml4NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29s
ZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9u
YWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworCisgICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgs
IEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB2b2lkIHJlYWRQaXhlbHMoR0xpbnQg
eCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQs
IEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXcgZHN0RGF0YSwgR0x1aW50IGRzdE9mZnNldCk7
CiB9OwogCiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IGltcGxlbWVudHMgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaWRsCmluZGV4IDFkMmY2ODgyNWI1NWZjYWE5OWEyNzY3MTk2NDIyZDdj
NWY5ZTk4NTMuLmZjNWQzMzBlM2M1OGM3YjkyY2E2NzYxNzg0NTJjZDIzMjNkNmU4MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmlkbApAQCAtNDIsMTYgKzQyLDYgQEAgdHlwZWRlZiAoSW1hZ2VCaXRtYXAgb3IgSW1hZ2VEYXRh
IG9yIEhUTUxJbWFnZUVsZW1lbnQgb3IgSFRNTENhbnZhc0VsZW1lbnQpIFRleEkKICAgICBFeHBv
cnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBDYWxsVHJhY2luZ0NhbGxiYWNrPXJlY29yZENh
bnZhc0FjdGlvbiwKIF0gaW50ZXJmYWNlIFdlYkdMUmVuZGVyaW5nQ29udGV4dCB7Ci0gICAgLy8g
VGhlc2UgbWV0aG9kcyBhcmUgcGxhY2VkIG91dHNpZGUgb2YgV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZSB0byBhdm9pZAotICAgIC8vIGNvbmZpY3RzIHdpdGggb3ZlcmxvYWRzIGluIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQuCi0KLSAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xp
bnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBo
ZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVm
ZmVyVmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4SW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2U/IHNvdXJjZSk7Ci0KLSAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSwgVGV4SW1hZ2VTb3VyY2U/IHNvdXJjZSk7Ci0KLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJ
bWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVy
VmlldyBkYXRhKTsKIH07CiAKIFdlYkdMUmVuZGVyaW5nQ29udGV4dCBpbXBsZW1lbnRzIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCmluZGV4IGM1NWEyZmZkMzA5Mjc5
MTQ3NDdlYzQ0MjE1OWQ2OTBiNWE0ZjVhMmUuLjQ1YTdiMzhhYzUyMTZiYzc3OWFmYzNmNGI5ZDRj
YjRkOGFjOWExNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCkBAIC01MDUsMTMgKzUwNSwxNSBAQCB0eXBl
ZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52YXM7CiAgICAgdm9pZCBjb2xvck1hc2so
R0xib29sZWFuIHJlZCwgR0xib29sZWFuIGdyZWVuLCBHTGJvb2xlYW4gYmx1ZSwgR0xib29sZWFu
IGFscGhhKTsKICAgICB2b2lkIGNvbXBpbGVTaGFkZXIoV2ViR0xTaGFkZXI/IHNoYWRlcik7CiAK
LSAgICAvLyBjb21wcmVzc2VkVGV4SW1hZ2UyRCBpcyBzcGxpdCBiZXR3ZWVuIFdlYkdMUmVuZGVy
aW5nQ29udGV4dCBhbmQKLSAgICAvLyBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IGJlY2F1c2UgdGhl
IEFycmF5QnVmZmVyVmlldyBvdmVybG9hZHMgYXJlCi0gICAgLy8gaW5kaXN0aW5ndWlzaGFibGUu
CisgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3Jk
ZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBpeGVscyk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwg
R0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVt
IHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworCisgICAgdm9pZCB0ZXhTdWJJbWFnZTJE
KEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0
LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5
cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNl
dCwgR0xpbnQgeW9mZnNldCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291
cmNlPyBzb3VyY2UpOworCisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFy
Z2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7CisgICAg
dm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwg
R0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMZW51bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyBkYXRhKTsKIAotICAgIHZvaWQgY29t
cHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhv
ZmZzZXQsIEdMaW50IHlvZmZzZXQsCi0gICAgICAgIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAgCiAgICAgdm9p
ZCBjb3B5VGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVy
bmFsZm9ybWF0LCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCwgR0xpbnQgYm9yZGVyKTsKICAgICB2b2lkIGNvcHlUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB4LCBH
TGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7CiAK
</data>
<flag name="review"
          id="402658"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386986</attachid>
            <date>2020-01-07 10:15:03 -0800</date>
            <delta_ts>2020-01-07 10:15:03 -0800</delta_ts>
            <desc>EWS</desc>
            <filename>bug-205689-20200108051501.patch</filename>
            <type>text/plain</type>
            <size>50231</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU0ZGY1YTkwMzkyMTUz
N2Q5ZGU3YTM3Y2UyNjBhMjY3MGNjMTI3OS4uYzY3ZDlmMzgwYTQ2ZDVmZjE5MGU5MzcyMWJiYjI2
MTAyZGUwMjRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTAxLTA2ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEZpbGwgaW4gbWlz
c2luZyBXZWJHTDIgZW50cnkgcG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDU2ODkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4MjgwOTIw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpbGwg
aW4gdGhlIGJpdHMgb2YgdGhlIFdlYkdMMiBBUEkgdGhhdCB3ZXJlIG1pc3NpbmcuCisKKyAgICAg
ICAgVGhlIHNwZWNpZmljYXRpb24gc3BsaXRzIGludG8gQmFzZSBhbmQgSW1wbGVtZW50YXRpb24K
KyAgICAgICAgaW50ZXJmYWNlcywgYnV0IEkgcHV0IGV2ZXJ5dGhpbmcgaW4gb25lIHBsYWNlIHNp
bmNlCisgICAgICAgIHdlIGFscmVhZHkgaGF2ZSB0byBjaGVjayB0aGF0IHdlIGRvbid0IGhhdmUg
ZnVuY3Rpb24KKyAgICAgICAgc2lnbmF0dXJlIGNsYXNoZXMuCisKKyAgICAgICAgSSBhbHNvIGZp
eGVkIHNvbWUgc2l0dWF0aW9ucyB3aGVyZSB3ZSB3ZXJlIG5vdAorICAgICAgICBhbGxvd2luZyBm
b3IgYW4gRXhjZXB0aW9uIHRvIGJlIHJldHVybmVkLgorCisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRl
cmluZ0NvbnRleHQ6OnRleEltYWdlM0QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTNEKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xZnYpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJmdik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2Z2KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMml2KToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRmdik6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpyZWFkUGl4ZWxzKToK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoKKwogMjAyMC0wMS0wNSAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEdyYXBoaWNzQ29udGV4dDNE
IHRvIEdyYXBoaWNzQ29udGV4dEdMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IGU5MjMwODNlMjM0Y2JiOWU4Nzcw
OTIxMWUyNTUxNWNmOTg4YmQzZWIuLjgyNWU3NWE5OGMxYTRjMTNkZDk1NWM3ODUzMjMxZGE4N2E5
MzgxY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRl
cmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJl
bmRlcmluZ0NvbnRleHQuY3BwCkBAIC02NzcsOSArNjc3LDEwIEBAIHZvaWQgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRHNp
emVpLCBHCiAgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleEltYWdlMkQo
KSIpOwogfQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVu
dW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNE
ZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCitFeGNlcHRpb25Pcjx2b2lkPiBXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50
LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGludCwgR0MzRGVudW0sIEdDM0RlbnVtLCBUZXhJ
bWFnZVNvdXJjZSYmKQogewogICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0
ZXhJbWFnZTJEKCkiKTsKKyAgICByZXR1cm4geyB9OwogfQogCiB2b2lkIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXpl
aSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1
ZmZlclZpZXc+JiYsIEdDM0R1aW50KQpAQCAtNjkyLDkgKzY5MywxMCBAQCB2b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnRleEltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdD
M0RzaXplaSwgRwogICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhJbWFn
ZTNEKCkiKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTNEKEdD
M0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVp
LCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCitFeGNlcHRp
b25Pcjx2b2lkPiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTNEKEdDM0RlbnVtLCBH
QzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50
LCBHQzNEZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCiB7CiAgICAgTE9HKFdlYkdM
LCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleEltYWdlM0QoKSIpOworICAgIHJldHVybiB7IH07
CiB9CiAKIHZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UzRChHQzNEZW51bSwg
R0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGlu
dCwgR0MzRGVudW0sIEdDM0RlbnVtLCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmKQpAQCAtNzEy
LDkgKzcxNCwxMCBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQo
R0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsCiAgICAgTE9HKFdlYkdMLCAiW1sg
Tk9UIElNUExFTUVOVEVEIF1dIHRleFN1YkltYWdlMkQoKSIpOwogfQogCi12b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQs
IEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEZW51bSwgR0MzRGVudW0sIFRleElt
YWdlU291cmNlJiYpCitFeGNlcHRpb25Pcjx2b2lkPiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0
ZXhTdWJJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6
ZWksIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBUZXhJbWFnZVNvdXJjZSYmKQogewog
ICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhTdWJJbWFnZTJEKCkiKTsK
KyAgICByZXR1cm4geyB9OwogfQogCiB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1
YkltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwg
R0MzRHNpemVpLCBHQzNEZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYs
IEdDM0R1aW50KQpAQCAtNzMyLDkgKzczNSwxMCBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OnRleFN1YkltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsCiAg
ICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleFN1YkltYWdlM0QoKSIpOwog
fQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlM0QoR0MzRGVudW0s
IEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVp
LCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwgVGV4SW1hZ2VTb3VyY2UmJikKK0V4Y2Vw
dGlvbk9yPHZvaWQ+IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlM0QoR0MzRGVu
dW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNp
emVpLCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwgVGV4SW1hZ2VTb3VyY2UmJikKIHsK
ICAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdGV4U3ViSW1hZ2UzRCgpIik7
CisgICAgcmV0dXJuIHsgfTsKIH0KIAogdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpjb3B5
VGV4U3ViSW1hZ2UzRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGlu
dCwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWkpCkBAIC03NDIsMTYgKzc0
Niw2IEBAIHZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y29weVRleFN1YkltYWdlM0QoR0Mz
RGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpCiAgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElN
UExFTUVOVEVEIF1dIGNvcHlUZXhTdWJJbWFnZTNEKCkiKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSwgR0MzRGludCwgR0Mz
RGVudW0sIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RpbnQ2
NCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRl
eEltYWdlMkQoKSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNz
ZWRUZXhJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRHNpemVpLCBHQzNE
c2l6ZWksIEdDM0RpbnQsIEFycmF5QnVmZmVyVmlldyYsIEdDM0R1aW50LCBHQzNEdWludCkKLXsK
LSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleEltYWdl
MkQoKSIpOwotfQotCiB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhJ
bWFnZTNEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRHNpemVpLCBHQzNEc2l6ZWks
IEdDM0RzaXplaSwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEaW50NjQpCiB7CiAgICAgTE9HKFdl
YkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhJbWFnZTNEKCkiKTsKQEAg
LTIxODYsNiArMjE4MCwyMDcgQEAgYm9vbCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0
ZUNhcGFiaWxpdHkoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQzNEZW4KICAgICB9CiB9CiAK
K3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleEltYWdlMkQoR0MzRGVu
dW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNp
emVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgR0MzRHNpemVpIGlt
YWdlU2l6ZSwgR0MzRGludDY0IG9mZnNldCkKK3sKKyAgICBVTlVTRURfUEFSQU0odGFyZ2V0KTsK
KyAgICBVTlVTRURfUEFSQU0obGV2ZWwpOworICAgIFVOVVNFRF9QQVJBTShpbnRlcm5hbGZvcm1h
dCk7CisgICAgVU5VU0VEX1BBUkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsK
KyAgICBVTlVTRURfUEFSQU0oYm9yZGVyKTsKKyAgICBVTlVTRURfUEFSQU0oaW1hZ2VTaXplKTsK
KyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKKworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBM
RU1FTlRFRCBdXSBjb21wcmVzc2VkVGV4SW1hZ2UyRCgpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNE
c2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3JiBzcmNEYXRhLCBH
QzNEdWludCBzcmNPZmZzZXQsIEdDM0R1aW50IHNyY0xlbmd0aE92ZXJyaWRlKQoreworICAgIFVO
VVNFRF9QQVJBTSh0YXJnZXQpOworICAgIFVOVVNFRF9QQVJBTShsZXZlbCk7CisgICAgVU5VU0VE
X1BBUkFNKGludGVybmFsZm9ybWF0KTsKKyAgICBVTlVTRURfUEFSQU0od2lkdGgpOworICAgIFVO
VVNFRF9QQVJBTShoZWlnaHQpOworICAgIFVOVVNFRF9QQVJBTShib3JkZXIpOworICAgIFVOVVNF
RF9QQVJBTShzcmNEYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBVTlVT
RURfUEFSQU0oc3JjTGVuZ3RoT3ZlcnJpZGUpOworCisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElN
UExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhJbWFnZTJEKCkiKTsKK30KKwordm9pZCBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMc2l6ZWkgaW1hZ2VTaXplLCBHTGludHB0
ciBvZmZzZXQpCit7CisgICAgVU5VU0VEX1BBUkFNKHRhcmdldCk7CisgICAgVU5VU0VEX1BBUkFN
KGxldmVsKTsKKyAgICBVTlVTRURfUEFSQU0oeG9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHlv
ZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdo
dCk7CisgICAgVU5VU0VEX1BBUkFNKGZvcm1hdCk7CisgICAgVU5VU0VEX1BBUkFNKGltYWdlU2l6
ZSk7CisgICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CisKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleFN1YkltYWdlMkQoKSIpOworfQorCit2b2lkIFdl
YkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdp
ZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgQXJyYXlCdWZmZXJWaWV3JiBzcmNE
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUpCit7CisgICAg
VU5VU0VEX1BBUkFNKHRhcmdldCk7CisgICAgVU5VU0VEX1BBUkFNKGxldmVsKTsKKyAgICBVTlVT
RURfUEFSQU0oeG9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHlvZmZzZXQpOworICAgIFVOVVNF
RF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdodCk7CisgICAgVU5VU0VEX1BB
UkFNKGZvcm1hdCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0RhdGEpOworICAgIFVOVVNFRF9QQVJB
TShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGhPdmVycmlkZSk7CisKKyAg
ICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleFN1YkltYWdl
MkQoKSIpOworCit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFmdihX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBz
cmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9u
KTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09mZnNldCk7
CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gdW5pZm9ybTFmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybTJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0
MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAg
VU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5V
U0VEX1BBUkFNKHNyY09mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAg
ICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTJmdigpIik7Cit9CisK
K3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWlu
dCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKKyAgICBVTlVTRURf
UEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09mZnNldCk7CisgICAgVU5VU0VEX1BB
UkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0g
dW5pZm9ybTNmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9y
bTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxv
Y2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09m
ZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJb
WyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTRmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24s
IEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQorewor
ICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAg
IFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwor
CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm0xaXYoKSIpOwor
fQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yaXYoV2ViR0xVbmlmb3Jt
TG9jYXRpb24qIGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1
aW50IHNyY0xlbmd0aCkKK3sKKyAgICBVTlVTRURfUEFSQU0obG9jYXRpb24pOworICAgIFVOVVNF
RF9QQVJBTShkYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBVTlVTRURf
UEFSQU0oc3JjTGVuZ3RoKTsKKworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBd
XSB1bmlmb3JtMml2KCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlm
b3JtM2l2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxv
Y2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09m
ZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJb
WyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTNpdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24s
IEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQorewor
ICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAg
IFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwor
CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm00aXYoKSIpOwor
fQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyZnYoV2ViR0xV
bmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlz
dCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQoreworICAgIFVOVVNF
RF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKHRyYW5zcG9zZSk7CisgICAgVU5V
U0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNF
RF9QQVJBTShzcmNMZW5ndGgpOworCisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVE
IF1dIHVuaWZvcm1NYXRyaXgyZnYoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OnVuaWZvcm1NYXRyaXgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJv
b2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVp
bnQgc3JjTGVuZ3RoKQoreworICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VE
X1BBUkFNKHRyYW5zcG9zZSk7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9Q
QVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOworCisgICAgTE9H
KFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXgzZnYoKSIpOworfQor
Cit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXg0ZnYoV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBk
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQoreworICAgIFVOVVNFRF9Q
QVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKHRyYW5zcG9zZSk7CisgICAgVU5VU0VE
X1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9Q
QVJBTShzcmNMZW5ndGgpOworCisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1d
IHVuaWZvcm1NYXRyaXg0ZnYoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6
OnJlYWRQaXhlbHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQpCit7CisgICAg
VU5VU0VEX1BBUkFNKHgpOworICAgIFVOVVNFRF9QQVJBTSh5KTsKKyAgICBVTlVTRURfUEFSQU0o
d2lkdGgpOworICAgIFVOVVNFRF9QQVJBTShoZWlnaHQpOworICAgIFVOVVNFRF9QQVJBTShmb3Jt
YXQpOworICAgIFVOVVNFRF9QQVJBTSh0eXBlKTsKKyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsK
KworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSByZWFkUGl4ZWxzKCkiKTsK
K30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpyZWFkUGl4ZWxzKEdMaW50IHgsIEdM
aW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVu
dW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3JiBkc3REYXRhLCBHTHVpbnQgZHN0T2Zmc2V0KQorewor
ICAgIFVOVVNFRF9QQVJBTSh4KTsKKyAgICBVTlVTRURfUEFSQU0oeSk7CisgICAgVU5VU0VEX1BB
UkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsKKyAgICBVTlVTRURfUEFSQU0o
Zm9ybWF0KTsKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisgICAgVU5VU0VEX1BBUkFNKGRzdERh
dGEpOworICAgIFVOVVNFRF9QQVJBTShkc3RPZmZzZXQpOworCisgICAgTE9HKFdlYkdMLCAiW1sg
Tk9UIElNUExFTUVOVEVEIF1dIHJlYWRQaXhlbHMoKSIpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggY2VkMThjZDRmYThk
YWFkOGMyNDYwYjVhNzljMjEzMzI3Njg1MGIwOS4uYWYyYzQ3YWZmYjkyM2U4ZDNlYWViYTQyMTQ4
MmU0NTM3YTQ5OWRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMMlJlbmRlcmluZ0NvbnRleHQuaApAQCAtNzYsMzAgKzc2LDM1IEBAIHB1YmxpYzoKIAogICAg
IHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleEltYWdlMkQ7CiAgICAgdm9pZCB0
ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5h
bGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRl
ciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50NjQgcGJvT2Zmc2V0KTsK
LSAgICB2b2lkIHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNE
aW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdD
M0RpbnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291
cmNlJiYpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgs
IEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0Rl
bnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwogICAgIHZvaWQgdGV4SW1hZ2UyRChHQzNEZW51
bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXpl
aSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEdDM0RlbnVtIGZvcm1h
dCwgR0MzRGVudW0gdHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBzcmNEYXRhLCBHQzNE
dWludCBzcmNPZmZzZXQpOwogCiAgICAgdm9pZCB0ZXhJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwg
R0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBH
QzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVyLCBHQzNEZW51
bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIEdDM0RpbnQ2NCBwYm9PZmZzZXQpOwotICAgIHZvaWQg
dGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgaW50ZXJu
YWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRl
cHRoLCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBUZXhJ
bWFnZVNvdXJjZSYmKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiB0ZXhJbWFnZTNEKEdDM0RlbnVt
IHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVp
IHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVy
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwogICAg
IHZvaWQgdGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQg
aW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNp
emVpIGRlcHRoLCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBl
LCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmIHBpeGVscyk7CiAgICAgdm9pZCB0ZXhJbWFnZTNE
KEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwg
R0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0Rp
bnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFJlZlB0cjxBcnJheUJ1
ZmZlclZpZXc+JiYgc3JjRGF0YSwgR0MzRHVpbnQgc3JjT2Zmc2V0KTsKIAogICAgIHVzaW5nIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleFN1YkltYWdlMkQ7CiAgICAgdm9pZCB0ZXhTdWJJ
bWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBH
QzNEaW50IHlvZmZzZXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGVu
dW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50NjQgcGJvT2Zmc2V0KTsKLSAgICB2b2lk
IHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhv
ZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOworICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRo
LCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleElt
YWdlU291cmNlJiYpOwogICAgIHZvaWQgdGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdD
M0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkg
d2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwg
UmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBzcmNEYXRhLCBHQzNEdWludCBzcmNPZmZzZXQpOwog
CiAgICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwg
R0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0MzRHNp
emVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVtIGZv
cm1hdCwgR0MzRGVudW0gdHlwZSwgR0MzRGludDY0IHBib09mZnNldCk7CiAgICAgdm9pZCB0ZXhT
dWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0
LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNE
c2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0g
dHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBwaXhlbHMsIEdDM0R1aW50IHNyY09mZnNl
dCk7Ci0gICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZl
bCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0Mz
RHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVt
IGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2UmJik7CisgICAgRXhjZXB0aW9u
T3I8dm9pZD4gdGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RzaXpl
aSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEZW51bSBmb3Jt
YXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwogCiAgICAgdm9pZCBjb3B5VGV4
U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNl
dCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RpbnQgeCwgR0MzRGludCB5
LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQpOwogCisgICAgdXNpbmcgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29tcHJlc3NlZFRleEltYWdlMkQ7CiAgICAgdm9pZCBjb21w
cmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVt
IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0Rp
bnQgYm9yZGVyLCBHQzNEc2l6ZWkgaW1hZ2VTaXplLCBHQzNEaW50NjQgb2Zmc2V0KTsKLSAgICB2
b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwg
R0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdo
dCwgR0MzRGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0MzRHVpbnQsIEdDM0R1
aW50KTsKKyAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0Mz
RGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0Mz
RHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0Mz
RHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGhPdmVycmlkZSk7CiAgICAgdm9pZCBj
b21wcmVzc2VkVGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rl
bnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdD
M0RzaXplaSBkZXB0aCwgR0MzRGludCBib3JkZXIsIEdDM0RzaXplaSBpbWFnZVNpemUsIEdDM0Rp
bnQ2NCBvZmZzZXQpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0MzRGVudW0gdGFy
Z2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdp
ZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVyLCBB
cnJheUJ1ZmZlclZpZXcmIHNyY0RhdGEsIEdDM0R1aW50IHNyY09mZnNldCwgR0MzRHVpbnQgc3Jj
TGVuZ3RoT3ZlcnJpZGUpOwogCisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
Y29tcHJlc3NlZFRleFN1YkltYWdlMkQ7CisgICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNl
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMc2l6ZWkg
aW1hZ2VTaXplLCBHTGludHB0ciBvZmZzZXQpOworICAgIHZvaWQgY29tcHJlc3NlZFRleFN1Yklt
YWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlv
ZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBBcnJh
eUJ1ZmZlclZpZXcmIHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGhP
dmVycmlkZSk7CisKICAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRh
cmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdD
M0RpbnQgem9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6
ZWkgZGVwdGgsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRHNpemVpIGltYWdlU2l6ZSwgR0MzRGludDY0
IG9mZnNldCk7CiAgICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJn
ZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNE
aW50IHpvZmZzZXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVp
IGRlcHRoLCBHQzNEZW51bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0MzRHVpbnQg
c3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGhPdmVycmlkZSk7CiAKQEAgLTEyOCw3ICsxMzMs
MzIgQEAgcHVibGljOgogICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aShHQzNEdWludCBpbmRleCwg
R0MzRHVpbnQgeCwgR0MzRHVpbnQgeSwgR0MzRHVpbnQgeiwgR0MzRHVpbnQgdyk7CiAgICAgdm9p
ZCB2ZXJ0ZXhBdHRyaWJJNHVpdihHQzNEdWludCBpbmRleCwgVWludDMyTGlzdCYmIHYpOwogICAg
IHZvaWQgdmVydGV4QXR0cmliSVBvaW50ZXIoR0MzRHVpbnQgaW5kZXgsIEdDM0RpbnQgc2l6ZSwg
R0MzRGVudW0gdHlwZSwgR0MzRHNpemVpIHN0cmlkZSwgR0MzRGludDY0IG9mZnNldCk7Ci0gICAg
CisKKyAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtMWZ2OworICAg
IHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm0yZnY7CisgICAgdXNpbmcg
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTNmdjsKKyAgICB1c2luZyBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtNGZ2OworICAgIHZvaWQgdW5pZm9ybTFmdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNP
ZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTJmdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQs
IEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTNmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWlu
dCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiog
bG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNM
ZW5ndGgpOworCisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTFp
djsKKyAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtMml2OworICAg
IHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm0zaXY7CisgICAgdXNpbmcg
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTRpdjsKKyAgICB2b2lkIHVuaWZvcm0x
aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50
IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCk7CisgICAgdm9pZCB1bmlmb3JtMml2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZz
ZXQsIEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTNpdihXZWJHTFVuaWZvcm1M
b2NhdGlvbiogbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVp
bnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lkIHVuaWZvcm00aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24q
IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xl
bmd0aCk7CisKKyAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtTWF0
cml4MmZ2OworICAgIHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRy
aXgzZnY7CisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybU1hdHJp
eDRmdjsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxv
Y2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3Jj
T2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMy
TGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lk
IHVuaWZvcm1NYXRyaXg0ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xl
YW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQg
c3JjTGVuZ3RoKTsKKwogICAgIC8vIFdyaXRpbmcgdG8gdGhlIGRyYXdpbmcgYnVmZmVyCiAgICAg
dm9pZCBjbGVhcihHQzNEYml0ZmllbGQgbWFzaykgZmluYWw7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRy
aWJEaXZpc29yKEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29yKTsKQEAgLTIwMiw2ICsy
MzIsMTAgQEAgcHVibGljOgogICAgIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBnZXRTdXBwb3J0
ZWRFeHRlbnNpb25zKCkgZmluYWw7CiAgICAgV2ViR0xBbnkgZ2V0UGFyYW1ldGVyKEdDM0RlbnVt
IHBuYW1lKSBmaW5hbDsKIAorICAgIHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnJl
YWRQaXhlbHM7CisgICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRw
dHIgb2Zmc2V0KTsKKyAgICB2b2lkIHJlYWRQaXhlbHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJh
eUJ1ZmZlclZpZXcmIGRzdERhdGEsIEdMdWludCBkc3RPZmZzZXQpOworCiAgICAgdm9pZCByZW5k
ZXJidWZmZXJTdG9yYWdlKEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCkgZmluYWw7CiAgICAgdm9pZCBoaW50
KEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gbW9kZSkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKaW5kZXgg
ZGE3MDBlN2IyOWM3OWQ1MWEyOWRlNThlNDJkZmVkOTA4YzFkYmYyNC4uYzgwZWI5MmRmM2RiMDg2
YTMxZDcyZWE1ZWZiNTY0NTU5Yzg0MmY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKQEAgLTU5LDYgKzU5LDEyIEBA
IHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9y
IEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAgRG9Ob3RDaGVja0NvbnN0YW50cywKICAgICBD
YWxsVHJhY2luZ0NhbGxiYWNrPXJlY29yZENhbnZhc0FjdGlvbiwKIF0gaW50ZXJmYWNlIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHQgeworCisgICAgLy8gVGhlIHNwZWNpZmljYXRpb24gc3BsaXRzIHRo
ZSBBUEkgc3VyZmFjZSBpbnRvIGEgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2UKKyAgICAvLyBh
bmQgYSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LCBidXQgd2UgbWVyZ2UgYm90aCBpbnRvIG9uZSBj
bGFzcy4KKworICAgIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UgY29udGVudHMuCisKICAg
ICBjb25zdCBHTGVudW0gUkVBRF9CVUZGRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHgwQzAyOwogICAgIGNvbnN0IEdMZW51bSBVTlBBQ0tfUk9XX0xFTkdUSCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDBDRjI7CiAgICAgY29uc3QgR0xlbnVtIFVOUEFDS19T
S0lQX1JPV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MENGMzsKQEAgLTMyNSw3
MyArMzMxLDUxIEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1h
Z2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAKICAgICBjb25zdCBHTGludDY0
IFRJTUVPVVRfSUdOT1JFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gLTE7CiAKLSAg
ICAvKiBXZWJHTC1zcGVjaWZpYyBlbnVtcyAqLworICAgIC8vIFdlYkdMLXNwZWNpZmljIGVudW1z
LwogICAgIGNvbnN0IEdMZW51bSBNQVhfQ0xJRU5UX1dBSVRfVElNRU9VVF9XRUJHTCAgICAgICAg
ICAgICAgICAgPSAweDkyNDc7CiAKLSAgICAvKiBCdWZmZXIgb2JqZWN0cyAqLworICAgIC8vIEJ1
ZmZlciBvYmplY3RzLgogICAgIHZvaWQgYnVmZmVyRGF0YShHTGVudW0gdGFyZ2V0LCBBcnJheUJ1
ZmZlclZpZXcgZGF0YSwgR0xlbnVtIHVzYWdlLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBH
THVpbnQgbGVuZ3RoID0gMCk7CiAgICAgdm9pZCBidWZmZXJTdWJEYXRhKEdMZW51bSB0YXJnZXQs
IEdMaW50cHRyIGRzdEJ5dGVPZmZzZXQsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQg
c3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgbGVuZ3RoID0gMCk7CiAKICAgICB2b2lkIGNvcHlC
dWZmZXJTdWJEYXRhKEdMZW51bSByZWFkVGFyZ2V0LCBHTGVudW0gd3JpdGVUYXJnZXQsIEdMaW50
cHRyIHJlYWRPZmZzZXQsIEdMaW50cHRyIHdyaXRlT2Zmc2V0LCBHTHNpemVpcHRyIHNpemUpOwot
ICAgIC8vIE1hcEJ1ZmZlclJhbmdlLCBpbiBwYXJ0aWN1bGFyIGl0cyByZWFkLW9ubHkgYW5kIHdy
aXRlLW9ubHkgbW9kZXMsCi0gICAgLy8gY2FuIG5vdCBiZSBleHBvc2VkIHNhZmVseSB0byBKYXZh
U2NyaXB0LiBHZXRCdWZmZXJTdWJEYXRhCi0gICAgLy8gcmVwbGFjZXMgaXQgZm9yIHRoZSBwdXJw
b3NlIG9mIGZldGNoaW5nIGRhdGEgYmFjayBmcm9tIHRoZSBHUFUuCiAgICAgdm9pZCBnZXRCdWZm
ZXJTdWJEYXRhKEdMZW51bSB0YXJnZXQsIEdMaW50cHRyIHNyY0J5dGVPZmZzZXQsIEFycmF5QnVm
ZmVyVmlldyBkc3REYXRhLCBvcHRpb25hbCBHTHVpbnQgZHN0T2Zmc2V0ID0gMCwgb3B0aW9uYWwg
R0x1aW50IGxlbmd0aCA9IDApOwogCi0gICAgLyogRnJhbWVidWZmZXIgb2JqZWN0cyAqLworICAg
IC8vIEZyYW1lYnVmZmVyIG9iamVjdHMuCiAgICAgdm9pZCBibGl0RnJhbWVidWZmZXIoR0xpbnQg
c3JjWDAsIEdMaW50IHNyY1kwLCBHTGludCBzcmNYMSwgR0xpbnQgc3JjWTEsIEdMaW50IGRzdFgw
LCBHTGludCBkc3RZMCwgR0xpbnQgZHN0WDEsIEdMaW50IGRzdFkxLCBHTGJpdGZpZWxkIG1hc2ss
IEdMZW51bSBmaWx0ZXIpOwogICAgIHZvaWQgZnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIoR0xlbnVt
IHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIFdlYkdMVGV4dHVyZT8gdGV4dHVyZSwgR0xpbnQg
bGV2ZWwsIEdMaW50IGxheWVyKTsKICAgICB2b2lkIGludmFsaWRhdGVGcmFtZWJ1ZmZlcihHTGVu
dW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1lbnRzKTsKICAgICB2b2lkIGludmFs
aWRhdGVTdWJGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFj
aG1lbnRzLCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7
CiAgICAgdm9pZCByZWFkQnVmZmVyKEdMZW51bSBzcmMpOwogCi0gICAgLyogUmVuZGVyYnVmZmVy
IG9iamVjdHMgKi8KKyAgICAvLyBSZW5kZXJidWZmZXIgb2JqZWN0cy4KICAgICBbT3ZlcnJpZGVJ
RExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0SW50ZXJuYWxmb3JtYXRQYXJhbWV0ZXIoR0xlbnVt
IHRhcmdldCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVudW0gcG5hbWUpOwogICAgIHZvaWQg
cmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgc2Ft
cGxlcywgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCk7CiAKLSAgICAvKiBUZXh0dXJlIG9iamVjdHMgKi8KKyAgICAvLyBUZXh0dXJlIG9iamVjdHMu
CiAgICAgdm9pZCB0ZXhTdG9yYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xzaXplaSBsZXZlbHMsIEdM
ZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOwogICAg
IHZvaWQgdGV4U3RvcmFnZTNEKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRl
cHRoKTsKIAotICAgIC8vIFdlYkdMMSBsZWdhY3kgZW50cnlwb2ludHM6Ci0gICAgdm9pZCB0ZXhJ
bWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3Jt
YXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBpeGVscyk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdM
ZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdl
U291cmNlPyBzb3VyY2UpOwotCi0gICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQs
IEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVy
Vmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNl
dCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOwot
Ci0gICAgLy8gV2ViR0wyIGVudHJ5cG9pbnRzOgotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0g
dGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgs
IEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBl
LCBHTGludHB0ciBwYm9PZmZzZXQpOwotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6
ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJ
bWFnZVNvdXJjZSBzb3VyY2UpOwotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1
ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCk7Ci0KICAgICB2b2lkIHRleEltYWdl
M0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNp
emVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBH
TGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKICAgICB2b2lk
IHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9y
bWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQg
Ym9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNl
KTsKICAgICB2b2lkIHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50
IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBk
ZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZm
ZXJWaWV3PyBwaXhlbHMpOwogICAgIHZvaWQgdGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0
eXBlLCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCk7CiAKLSAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKLSAgICB2b2lkIHRleFN1
YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50
IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKLSAgICB2b2lkIHRleFN1YkltYWdl
MkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZz
ZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOwotCiAgICAg
dm9pZCB0ZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zm
c2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVp
IGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50
cHRyIHBib09mZnNldCk7CiAgICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdM
aW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBH
THNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJjZSk7CiAgICAgdm9pZCB0ZXhTdWJJ
bWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5
b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xz
aXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8g
c3JjRGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDApOwogCiAgICAgdm9pZCBjb3B5
VGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwg
R0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQpOwogCi0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdlU2l6ZSwg
R0xpbnRwdHIgb2Zmc2V0KTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0
YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgs
IEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBv
cHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92
ZXJyaWRlID0gMCk7Ci0KICAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTNEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdM
c2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMc2l6ZWkgaW1hZ2VT
aXplLCBHTGludHB0ciBvZmZzZXQpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0xl
bnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgQXJyYXlC
dWZmZXJWaWV3IHNyY0RhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25h
bCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKICAgICB2b2lkIGNvbXByZXNzZWRUZXhT
dWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGlu
dCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwg
R0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRy
IG9mZnNldCk7CiAgICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNl
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBm
b3JtYXQsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0
ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92ZXJyaWRlID0gMCk7CiAKLSAgICAvKiBQ
cm9ncmFtcyBhbmQgc2hhZGVycyAqLworICAgIC8vIFByb2dyYW1zIGFuZCBzaGFkZXJzLwogICAg
IEdMaW50IGdldEZyYWdEYXRhTG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIERPTVN0cmlu
ZyBuYW1lKTsKIAotICAgIC8qIFVuaWZvcm1zIGFuZCBhdHRyaWJ1dGVzICovCisgICAgLy8gVW5p
Zm9ybXMgYW5kIGF0dHJpYnV0ZXMuCiAgICAgdm9pZCB1bmlmb3JtMXVpKFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwKTsKICAgICB2b2lkIHVuaWZvcm0ydWkoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSk7CiAgICAgdm9p
ZCB1bmlmb3JtM3VpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwLCBH
THVpbnQgdjEsIEdMdWludCB2Mik7CkBAIC00MTIsMjAgKzM5NiwyMCBAQCB0eXBlZGVmIChJbWFn
ZUJpdG1hcCBvciBJbWFnZURhdGEgb3IgSFRNTEltYWdlRWxlbWVudCBvciBIVE1MQ2FudmFzRWxl
bWVudCkgVGV4SQogICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aXYoR0x1aW50IGluZGV4LCBVaW50
MzJMaXN0IHZhbHVlcyk7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJUG9pbnRlcihHTHVpbnQgaW5k
ZXgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTHNpemVpIHN0cmlkZSwgR0xpbnRwdHIgb2Zm
c2V0KTsKIAotICAgIC8qIFdyaXRpbmcgdG8gdGhlIGRyYXdpbmcgYnVmZmVyICovCisgICAgLy8g
V3JpdGluZyB0byB0aGUgZHJhd2luZyBidWZmZXIuCiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJEaXZp
c29yKEdMdWludCBpbmRleCwgR0x1aW50IGRpdmlzb3IpOwogICAgIHZvaWQgZHJhd0FycmF5c0lu
c3RhbmNlZChHTGVudW0gbW9kZSwgR0xpbnQgZmlyc3QsIEdMc2l6ZWkgY291bnQsIEdMc2l6ZWkg
aW5zdGFuY2VDb3VudCk7CiAgICAgdm9pZCBkcmF3RWxlbWVudHNJbnN0YW5jZWQoR0xlbnVtIG1v
ZGUsIEdMc2l6ZWkgY291bnQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQsIEdMc2l6ZWkg
aW5zdGFuY2VDb3VudCk7CiAgICAgdm9pZCBkcmF3UmFuZ2VFbGVtZW50cyhHTGVudW0gbW9kZSwg
R0x1aW50IHN0YXJ0LCBHTHVpbnQgZW5kLCBHTHNpemVpIGNvdW50LCBHTGVudW0gdHlwZSwgR0xp
bnRwdHIgb2Zmc2V0KTsKIAotICAgIC8qIE11bHRpcGxlIFJlbmRlciBUYXJnZXRzICovCisgICAg
Ly8gTXVsdGlwbGUgUmVuZGVyIFRhcmdldHMuCiAgICAgdm9pZCBkcmF3QnVmZmVycyhzZXF1ZW5j
ZTxHTGVudW0+IGJ1ZmZlcnMpOwogICAgIHZvaWQgY2xlYXJCdWZmZXJpdihHTGVudW0gYnVmZmVy
LCBHTGludCBkcmF3YnVmZmVyLCBJbnQzMkxpc3QgdmFsdWVzLCBvcHRpb25hbCBHTHVpbnQgc3Jj
T2Zmc2V0ID0gMCk7CiAgICAgdm9pZCBjbGVhckJ1ZmZlcnVpdihHTGVudW0gYnVmZmVyLCBHTGlu
dCBkcmF3YnVmZmVyLCBVaW50MzJMaXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNl
dCA9IDApOwogICAgIHZvaWQgY2xlYXJCdWZmZXJmdihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3
YnVmZmVyLCBGbG9hdDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAw
KTsKICAgICB2b2lkIGNsZWFyQnVmZmVyZmkoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZl
ciwgR0xmbG9hdCBkZXB0aCwgR0xpbnQgc3RlbmNpbCk7CiAKLSAgICAvKiBRdWVyeSBPYmplY3Rz
ICovCisgICAgLy8gUXVlcnkgT2JqZWN0cy4KICAgICBXZWJHTFF1ZXJ5PyBjcmVhdGVRdWVyeSgp
OwogICAgIHZvaWQgZGVsZXRlUXVlcnkoV2ViR0xRdWVyeT8gcXVlcnkpOwogICAgIEdMYm9vbGVh
biBpc1F1ZXJ5KFdlYkdMUXVlcnk/IHF1ZXJ5KTsKQEAgLTQzNCw3ICs0MTgsNyBAQCB0eXBlZGVm
IChJbWFnZUJpdG1hcCBvciBJbWFnZURhdGEgb3IgSFRNTEltYWdlRWxlbWVudCBvciBIVE1MQ2Fu
dmFzRWxlbWVudCkgVGV4SQogICAgIFdlYkdMUXVlcnk/IGdldFF1ZXJ5KEdMZW51bSB0YXJnZXQs
IEdMZW51bSBwbmFtZSk7CiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdl
dFF1ZXJ5UGFyYW1ldGVyKFdlYkdMUXVlcnkgcXVlcnksIEdMZW51bSBwbmFtZSk7CiAKLSAgICAv
KiBTYW1wbGVyIE9iamVjdHMgKi8KKyAgICAvLyBTYW1wbGVyIE9iamVjdHMuCiAgICAgV2ViR0xT
YW1wbGVyPyBjcmVhdGVTYW1wbGVyKCk7CiAgICAgdm9pZCBkZWxldGVTYW1wbGVyKFdlYkdMU2Ft
cGxlcj8gc2FtcGxlcik7CiAgICAgR0xib29sZWFuIGlzU2FtcGxlcihXZWJHTFNhbXBsZXI/IHNh
bXBsZXIpOwpAQCAtNDQzLDcgKzQyNyw3IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdl
RGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAg
dm9pZCBzYW1wbGVyUGFyYW1ldGVyZihXZWJHTFNhbXBsZXIgc2FtcGxlciwgR0xlbnVtIHBuYW1l
LCBHTGZsb2F0IHBhcmFtKTsKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0U2FtcGxlclBhcmFtZXRlcihXZWJHTFNhbXBsZXIgc2FtcGxlciwgR0xlbnVtIHBuYW1lKTsK
IAotICAgIC8qIFN5bmMgb2JqZWN0cyAqLworICAgIC8vIFN5bmMgb2JqZWN0cy4KICAgICBXZWJH
TFN5bmM/IGZlbmNlU3luYyhHTGVudW0gY29uZGl0aW9uLCBHTGJpdGZpZWxkIGZsYWdzKTsKICAg
ICBHTGJvb2xlYW4gaXNTeW5jKFdlYkdMU3luYz8gc3luYyk7CiAgICAgdm9pZCBkZWxldGVTeW5j
KFdlYkdMU3luYz8gc3luYyk7CkBAIC00NTEsNyArNDM1LDcgQEAgdHlwZWRlZiAoSW1hZ2VCaXRt
YXAgb3IgSW1hZ2VEYXRhIG9yIEhUTUxJbWFnZUVsZW1lbnQgb3IgSFRNTENhbnZhc0VsZW1lbnQp
IFRleEkKICAgICB2b2lkIHdhaXRTeW5jKFdlYkdMU3luYyBzeW5jLCBHTGJpdGZpZWxkIGZsYWdz
LCBHTGludDY0IHRpbWVvdXQpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFu
eSBnZXRTeW5jUGFyYW1ldGVyKFdlYkdMU3luYyBzeW5jLCBHTGVudW0gcG5hbWUpOwogCi0gICAg
LyogVHJhbnNmb3JtIEZlZWRiYWNrICovCisgICAgLy8gVHJhbnNmb3JtIEZlZWRiYWNrLgogICAg
IFdlYkdMVHJhbnNmb3JtRmVlZGJhY2s/IGNyZWF0ZVRyYW5zZm9ybUZlZWRiYWNrKCk7CiAgICAg
dm9pZCBkZWxldGVUcmFuc2Zvcm1GZWVkYmFjayhXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyBpZCk7
CiAgICAgR0xib29sZWFuIGlzVHJhbnNmb3JtRmVlZGJhY2soV2ViR0xUcmFuc2Zvcm1GZWVkYmFj
az8gaWQpOwpAQCAtNDYzLDcgKzQ0Nyw3IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdl
RGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAg
dm9pZCBwYXVzZVRyYW5zZm9ybUZlZWRiYWNrKCk7CiAgICAgdm9pZCByZXN1bWVUcmFuc2Zvcm1G
ZWVkYmFjaygpOwogCi0gICAgLyogVW5pZm9ybSBCdWZmZXIgT2JqZWN0cyBhbmQgVHJhbnNmb3Jt
IEZlZWRiYWNrIEJ1ZmZlcnMgKi8KKyAgICAvLyBVbmlmb3JtIEJ1ZmZlciBPYmplY3RzIGFuZCBU
cmFuc2Zvcm0gRmVlZGJhY2sgQnVmZmVycy4KICAgICB2b2lkIGJpbmRCdWZmZXJCYXNlKEdMZW51
bSB0YXJnZXQsIEdMdWludCBpbmRleCwgV2ViR0xCdWZmZXI/IGJ1ZmZlcik7CiAgICAgdm9pZCBi
aW5kQnVmZmVyUmFuZ2UoR0xlbnVtIHRhcmdldCwgR0x1aW50IGluZGV4LCBXZWJHTEJ1ZmZlcj8g
YnVmZmVyLCBHTGludHB0ciBvZmZzZXQsIEdMc2l6ZWlwdHIgc2l6ZSk7CiAgICAgW092ZXJyaWRl
SURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldEluZGV4ZWRQYXJhbWV0ZXIoR0xlbnVtIHRhcmdl
dCwgR0x1aW50IGluZGV4KTsKQEAgLTQ3NCwxMSArNDU4LDQ0IEBAIHR5cGVkZWYgKEltYWdlQml0
bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50
KSBUZXhJCiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gRE9NU3RyaW5nPyBnZXRB
Y3RpdmVVbmlmb3JtQmxvY2tOYW1lKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgdW5pZm9y
bUJsb2NrSW5kZXgpOwogICAgIHZvaWQgdW5pZm9ybUJsb2NrQmluZGluZyhXZWJHTFByb2dyYW0g
cHJvZ3JhbSwgR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4LCBHTHVpbnQgdW5pZm9ybUJsb2NrQmlu
ZGluZyk7CiAKLSAgICAvKiBWZXJ0ZXggQXJyYXkgT2JqZWN0cyAqLworICAgIC8vIFZlcnRleCBB
cnJheSBPYmplY3RzLgogICAgIFdlYkdMVmVydGV4QXJyYXlPYmplY3Q/IGNyZWF0ZVZlcnRleEFy
cmF5KCk7CiAgICAgdm9pZCBkZWxldGVWZXJ0ZXhBcnJheShXZWJHTFZlcnRleEFycmF5T2JqZWN0
PyB2ZXJ0ZXhBcnJheSk7CiAgICAgR0xib29sZWFuIGlzVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhB
cnJheU9iamVjdD8gdmVydGV4QXJyYXkpOwogICAgIHZvaWQgYmluZFZlcnRleEFycmF5KFdlYkdM
VmVydGV4QXJyYXlPYmplY3Q/IHZlcnRleEFycmF5KTsKKworICAgIC8vIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHQgQVBJLgorCisgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBi
b09mZnNldCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVt
IHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlw
ZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKKyAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
QXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOworCisgICAgdm9pZCB0
ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBH
TGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50
IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBH
TGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKKyAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNP
ZmZzZXQpOworCisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVp
IGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0
KTsKKyAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0
LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKKworICAgIHZvaWQgY29t
cHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhv
ZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVu
dW0gZm9ybWF0LCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB2b2lk
IGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGlu
dCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwg
R0xlbnVtIGZvcm1hdCwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQs
IG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGhPdmVycmlkZSA9IDApOworCisgICAgdm9pZCB1bmlm
b3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3QgZGF0YSwg
R0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHZv
aWQgdW5pZm9ybTJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0
IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsK
KyAgICB2b2lkIHVuaWZvcm0zZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9h
dDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3Ro
ID0gMCk7CisgICAgdm9pZCB1bmlmb3JtNGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlv
biwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNy
Y0xlbmd0aCA9IDApOworCisgICAgdm9pZCB1bmlmb3JtMWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9u
PyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdM
dWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9u
YWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHZvaWQgdW5pZm9ybTNpdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBv
cHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdm9pZCB1bmlmb3JtNGl2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZz
ZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKworICAgIHZvaWQgdW5pZm9ybU1h
dHJpeDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bv
c2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBz
cmNMZW5ndGggPSAwKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBH
THVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdm9p
ZCB1bmlmb3JtTWF0cml4NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29s
ZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9u
YWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworCisgICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgs
IEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB2b2lkIHJlYWRQaXhlbHMoR0xpbnQg
eCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQs
IEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXcgZHN0RGF0YSwgR0x1aW50IGRzdE9mZnNldCk7
CiB9OwogCiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IGltcGxlbWVudHMgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaWRsCmluZGV4IDFkMmY2ODgyNWI1NWZjYWE5OWEyNzY3MTk2NDIyZDdj
NWY5ZTk4NTMuLmZjNWQzMzBlM2M1OGM3YjkyY2E2NzYxNzg0NTJjZDIzMjNkNmU4MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmlkbApAQCAtNDIsMTYgKzQyLDYgQEAgdHlwZWRlZiAoSW1hZ2VCaXRtYXAgb3IgSW1hZ2VEYXRh
IG9yIEhUTUxJbWFnZUVsZW1lbnQgb3IgSFRNTENhbnZhc0VsZW1lbnQpIFRleEkKICAgICBFeHBv
cnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBDYWxsVHJhY2luZ0NhbGxiYWNrPXJlY29yZENh
bnZhc0FjdGlvbiwKIF0gaW50ZXJmYWNlIFdlYkdMUmVuZGVyaW5nQ29udGV4dCB7Ci0gICAgLy8g
VGhlc2UgbWV0aG9kcyBhcmUgcGxhY2VkIG91dHNpZGUgb2YgV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZSB0byBhdm9pZAotICAgIC8vIGNvbmZpY3RzIHdpdGggb3ZlcmxvYWRzIGluIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQuCi0KLSAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xp
bnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBo
ZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVm
ZmVyVmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4SW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2U/IHNvdXJjZSk7Ci0KLSAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSwgVGV4SW1hZ2VTb3VyY2U/IHNvdXJjZSk7Ci0KLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJ
bWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVy
VmlldyBkYXRhKTsKIH07CiAKIFdlYkdMUmVuZGVyaW5nQ29udGV4dCBpbXBsZW1lbnRzIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCmluZGV4IGM1NWEyZmZkMzA5Mjc5
MTQ3NDdlYzQ0MjE1OWQ2OTBiNWE0ZjVhMmUuLjQ1YTdiMzhhYzUyMTZiYzc3OWFmYzNmNGI5ZDRj
YjRkOGFjOWExNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCkBAIC01MDUsMTMgKzUwNSwxNSBAQCB0eXBl
ZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52YXM7CiAgICAgdm9pZCBjb2xvck1hc2so
R0xib29sZWFuIHJlZCwgR0xib29sZWFuIGdyZWVuLCBHTGJvb2xlYW4gYmx1ZSwgR0xib29sZWFu
IGFscGhhKTsKICAgICB2b2lkIGNvbXBpbGVTaGFkZXIoV2ViR0xTaGFkZXI/IHNoYWRlcik7CiAK
LSAgICAvLyBjb21wcmVzc2VkVGV4SW1hZ2UyRCBpcyBzcGxpdCBiZXR3ZWVuIFdlYkdMUmVuZGVy
aW5nQ29udGV4dCBhbmQKLSAgICAvLyBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IGJlY2F1c2UgdGhl
IEFycmF5QnVmZmVyVmlldyBvdmVybG9hZHMgYXJlCi0gICAgLy8gaW5kaXN0aW5ndWlzaGFibGUu
CisgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3Jk
ZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBpeGVscyk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwg
R0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVt
IHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworCisgICAgdm9pZCB0ZXhTdWJJbWFnZTJE
KEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0
LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5
cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNl
dCwgR0xpbnQgeW9mZnNldCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291
cmNlPyBzb3VyY2UpOworCisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFy
Z2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7CisgICAg
dm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwg
R0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMZW51bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyBkYXRhKTsKIAotICAgIHZvaWQgY29t
cHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhv
ZmZzZXQsIEdMaW50IHlvZmZzZXQsCi0gICAgICAgIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAgCiAgICAgdm9p
ZCBjb3B5VGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVy
bmFsZm9ybWF0LCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCwgR0xpbnQgYm9yZGVyKTsKICAgICB2b2lkIGNvcHlUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB4LCBH
TGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9taXNjL3ZpZXdzLXdpdGgtb2Zmc2V0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvbWlz
Yy92aWV3cy13aXRoLW9mZnNldHMtZXhwZWN0ZWQudHh0CmluZGV4IDhhZWJhNDU3NWQyYmM2ZWVj
ZTY2OTIyNzA3ZDQ5MGZmZDdlMjcwMTQuLmEyZmQ5MjVjN2MwNGY3OTQ1YjY4OGNiZGQxY2E4NThi
YmQ5ODIxOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNl
Mi9taXNjL3ZpZXdzLXdpdGgtb2Zmc2V0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL21pc2Mvdmlld3Mtd2l0aC1vZmZzZXRzLWV4cGVjdGVk
LnR4dApAQCAtNTEsMzAgKzUxLDIwIEBAIFRlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlMi9taXNjL3ZpZXdzLXdpdGgtb2Zmc2V0cy5odG1sCiBbIDQ4OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1Ig
OgogWyA0OTogRkFJTCBdIERvZXMgbm90IHN1cHBvcnQgdGV4U3ViSW1hZ2UzRCB3aXRoIG9mZnNl
dHMgaW50byB2aWV3cy4KIFsgNTA6IEZBSUwgXSBEb2VzIG5vdCBzdXBwb3J0IGNvbXByZXNzZWRU
ZXhJbWFnZTJEIHdpdGggb2Zmc2V0cyBpbnRvIHZpZXdzLgotWyA1MTogRkFJTCBdIGdldEVycm9y
IGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOgotWyA1MjogRkFJTCBdIGdl
dEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOgotWyA1MzogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6Ci1bIDU0OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDoKLVsgNTU6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyA1
NjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6Ci1b
IDU3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDoK
LVsgNTg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUg
OgotWyA1OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxV
RSA6Ci1bIDYwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZB
TFVFIDoKLVsgNjE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURf
VkFMVUUgOgotWyA2MjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOgotWyA2MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OgotWyA2NDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9f
RVJST1IgOgotWyA2NTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBX
YXMgTk9fRVJST1IgOgotWyA2NjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZB
TFVFLiBXYXMgTk9fRVJST1IgOgotWyA2NzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZB
TElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA2ODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA2OTogRkFJTCBdIGdldEVycm9yIGV4
cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA3MDogRkFJTCBdIGdldEVy
cm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA3MTogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA3Mjog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgot
WyA3MzogRkFJTCBdIERvZXMgbm90IHN1cHBvcnQgY29tcHJlc3NlZFRleFN1YkltYWdlM0Qgd2l0
aCBvZmZzZXRzIGludG8gdmlld3MuCi1bIDc0OiBGQUlMIF0gRG9lcyBub3Qgc3VwcG9ydCBkb1Jl
YWRQaXhlbHMgd2l0aCBvZmZzZXRzIGludG8gdmlld3MuCi1bIDc1OiBQQVNTIF0gc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLVsgRkFJTCBdIDM3IGZhaWx1cmVzIHJlcG9ydGVkCitbIDUxOiBG
QUlMIF0gRG9lcyBub3Qgc3VwcG9ydCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCB3aXRoIG9mZnNl
dHMgaW50byB2aWV3cy4KK1sgNTI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDoKK1sgNTM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDoKK1sgNTQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4g
V2FzIE5PX0VSUk9SIDoKK1sgNTU6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9W
QUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNTY6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5W
QUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNTc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNTg6IEZBSUwgXSBnZXRFcnJvciBl
eHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNTk6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNjA6IEZBSUwg
XSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNjE6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoK
K1sgNjI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VS
Uk9SIDoKK1sgNjM6IEZBSUwgXSBEb2VzIG5vdCBzdXBwb3J0IGNvbXByZXNzZWRUZXhTdWJJbWFn
ZTNEIHdpdGggb2Zmc2V0cyBpbnRvIHZpZXdzLgorWyA2NDogRkFJTCBdIERvZXMgbm90IHN1cHBv
cnQgZG9SZWFkUGl4ZWxzIHdpdGggb2Zmc2V0cyBpbnRvIHZpZXdzLgorWyA2NTogUEFTUyBdIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCitbIEZBSUwgXSAzNiBmYWlsdXJlcyByZXBvcnRlZAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGlu
Zy9yZWFkLXBpeGVscy1mcm9tLXJnYjgtaW50by1wYm8tYnVnLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20t
cmdiOC1pbnRvLXBiby1idWctZXhwZWN0ZWQudHh0CmluZGV4IGNmYjVmYWNkY2Y3YTExZDQzNTE1
NTA5OWYzZmVkNzRiM2JlYzBiMWYuLjMwYjNjYzc3NmFlYTdlZmRjYzc4MzhiOTA3Mjc3MTFhODYx
NzYwYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20tcmdiOC1pbnRvLXBiby1idWctZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4
ZWxzLWZyb20tcmdiOC1pbnRvLXBiby1idWctZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsOSBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDgyOiBUeXBlRXJyb3I6IEFyZ3VtZW50IDcgKCdwaXhlbHMn
KSB0byBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LnJlYWRQaXhlbHMgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBBcnJheUJ1ZmZlclZpZXcKIFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFk
LXBpeGVscy1mcm9tLXJnYjgtaW50by1wYm8tYnVnLmh0bWwKIFsgMTogUEFTUyBdIGNvbnRleHQg
ZXhpc3RzCi1bIDI6IEZBSUwgXSBzdWNjZXNzZnVsbHlQYXJzZWQgc2hvdWxkIGJlIHRydWUgKG9m
IHR5cGUgYm9vbGVhbikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KLVsgRkFJ
TCBdIDEgZmFpbHVyZXMgcmVwb3J0ZWQKK1sgMjogRkFJTCBdIEV4cGVjdGVkIGluIHBpeGVsIDA6
IFsyNTUsMCwwLDI1NV0sIGdvdDogMCwwLDAsMAorWyAzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9FTlVNIDogVGVzdHMgc2hvdWxkIGNvbXBsZXRlIHdp
dGhvdXQgZ2wgZXJyb3JzCitbIDQ6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
WyBGQUlMIF0gMiBmYWlsdXJlcyByZXBvcnRlZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1pbnRvLXBpeGVsLXBh
Y2stYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1h
bmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWludG8tcGl4ZWwtcGFjay1idWZmZXItZXhwZWN0ZWQu
dHh0CmluZGV4IGM1OTMwZjNjNjIzM2EwZDI5M2M5NjYyMTBlY2E5MDU0NmU1ODE1YTUuLjllYTlm
YTk3ZmI4YmUzYjUzN2RjMDViMmYxMzdhODZmNTNkNjZiZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWludG8tcGl4
ZWwtcGFjay1idWZmZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4w
L2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWludG8tcGl4ZWwtcGFjay1idWZmZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsMzMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTM6
IFR5cGVFcnJvcjogQXJndW1lbnQgNyAoJ3BpeGVscycpIHRvIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQucmVhZFBpeGVscyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFycmF5QnVmZmVyVmlldwogVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCiAKIFRlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWludG8tcGl4ZWwtcGFjay1i
dWZmZXIuaHRtbAogWyAxOiBQQVNTIF0gY29udGV4dCBleGlzdHMKIFsgMjogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBzaG91bGQgZ2VuZXJh
dGUgSU5WQUxJRF9PUEVSQVRJT04gaWYgcGl4ZWwgcGFjayBidWZmZXIgaXMgYm91bmQKLVsgMzog
RkFJTCBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBzaG91bGQgYmUgdHJ1ZSAob2YgdHlwZSBib29sZWFu
KS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgotWyBGQUlMIF0gMSBmYWlsdXJl
cyByZXBvcnRlZAorWyAzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6CitbIDQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2Fz
IE5PX0VSUk9SIDogb2Zmc2V0IDwgMAorWyA1OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElO
VkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBvZmZzZXQgPiBidWZmZXIgc2l6ZQorWyA2
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJS
T1IgOiBwaXhlbCBwYWNrIGJ1ZmZlciBpcyBub3QgbGFyZ2UgZW5vdWdoCitbIDc6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZGluZyBwaXhlbHMgb3V0
c2lkZSBvZiB0aGUgZnJhbWVidWZmZXIgc2hvdWxkIHN1Y2NlZWQuCitbIDg6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZGluZyBwaXhlbHMgb3V0c2lk
ZSBvZiB0aGUgZnJhbWVidWZmZXIgc2hvdWxkIHN1Y2NlZWQuCitbIDk6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDogcmVhZGluZyBwaXhlbHMg
d2l0aCBuZWdhdGl2ZSB3aWR0aCAvIGhlaWdodCBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9WQUxV
RS4KK1sgMTA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9FTlVNLiBXYXMgTk9f
RVJST1IgOiBGb3JtYXQgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgREVQVEhfQ09NUE9O
RU5UCitbIDExOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfRU5VTS4gV2FzIE5P
X0VSUk9SIDogRm9ybWF0IHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFzIERFUFRIX1NURU5D
SUwKK1sgMTI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9FTlVNLiBXYXMgTk9f
RVJST1IgOiBGb3JtYXQgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUjgKK1sgMTM6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9FTlVNLiBXYXMgTk9fRVJST1IgOiBGb3Jt
YXQgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUkdCQTQKK1sgMTQ6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogSU5WQUxJRF9FTlVNLiBXYXMgTk9fRVJST1IgOiBGb3JtYXQgc2hvdWxk
IG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgTFVNSU5BTkNFCitbIDE1OiBGQUlMIF0gZ2V0RXJyb3Ig
ZXhwZWN0ZWQ6IElOVkFMSURfRU5VTS4gV2FzIE5PX0VSUk9SIDogRm9ybWF0IHNob3VsZCBub3Qg
YmUgYWJsZSB0byByZWFkIGFzIExVTUlOQU5DRV9BTFBIQQorWyAxNjogRkFJTCBdIGdldEVycm9y
IGV4cGVjdGVkOiBJTlZBTElEX0VOVU0uIFdhcyBOT19FUlJPUiA6IFR5cGUgc2hvdWxkIG5vdCBi
ZSBhYmxlIHRvIHJlYWQgYXMgVU5TSUdORURfSU5UXzI0XzgKK1sgMTc6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogVGhlIGNvbWJpbmF0aW9uIG9mIGZvcm1h
dC90eXBlIHNob3VsZCBiZSBhYmxlIHRvIHJlYWQgYXMgUkdCQSAvIFVOU0lHTkVEX0JZVEUKK1sg
MTg6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19F
UlJPUiA6IFRoZSBjb21iaW5hdGlvbiBvZiBmb3JtYXQvdHlwZSBzaG91bGQgbm90IGJlIGFibGUg
dG8gcmVhZCBhcyBSR0IgLyBVTlNJR05FRF9CWVRFCitbIDE5OiBGQUlMIF0gZ2V0RXJyb3IgZXhw
ZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBUaGUgY29tYmluYXRpb24g
b2YgZm9ybWF0L3R5cGUgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUkdCIC8gVU5TSUdO
RURfU0hPUlRfNV82XzUKK1sgMjA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9P
UEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IFRoZSBjb21iaW5hdGlvbiBvZiBmb3JtYXQvdHlwZSBz
aG91bGQgbm90IGJlIGFibGUgdG8gcmVhZCBhcyBSR0JBIC8gVU5TSUdORURfU0hPUlRfNV81XzVf
MQorWyAyMTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2Fz
IE5PX0VSUk9SIDogVGhlIGNvbWJpbmF0aW9uIG9mIGZvcm1hdC90eXBlIHNob3VsZCBub3QgYmUg
YWJsZSB0byByZWFkIGFzIFJHQkEgLyBVTlNJR05FRF9TSE9SVF80XzRfNF80CitbIDIyOiBGQUlM
IF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBU
aGUgY29tYmluYXRpb24gb2YgZm9ybWF0L3R5cGUgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQg
YXMgQUxQSEEgLyBVTlNJR05FRF9CWVRFCitbIDIzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6
IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBUaGUgY29tYmluYXRpb24gb2YgZm9y
bWF0L3R5cGUgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUkVEIC8gVU5TSUdORURfQllU
RQorWyAyNDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2Fz
IE5PX0VSUk9SIDogVGhlIGNvbWJpbmF0aW9uIG9mIGZvcm1hdC90eXBlIHNob3VsZCBub3QgYmUg
YWJsZSB0byByZWFkIGFzIFJHQkFfSU5URUdFUiAvIFVOU0lHTkVEX0lOVAorWyAyNTogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogVGhl
IGNvbWJpbmF0aW9uIG9mIGZvcm1hdC90eXBlIHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFz
IFJHQkFfSU5URUdFUiAvIElOVAorWyAyNjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOgorWyAyNzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElE
X09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogbm8gcGl4ZWwgcGFjayBidWZmZXIgYm91bmQKK1sg
Mjg6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorWyBGQUlMIF0gMjAgZmFpbHVy
ZXMgcmVwb3J0ZWQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386999</attachid>
            <date>2020-01-07 11:15:11 -0800</date>
            <delta_ts>2020-01-07 11:15:11 -0800</delta_ts>
            <desc>EWS</desc>
            <filename>bug-205689-20200108061509.patch</filename>
            <type>text/plain</type>
            <size>103962</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU0ZGY1YTkwMzkyMTUz
N2Q5ZGU3YTM3Y2UyNjBhMjY3MGNjMTI3OS4uYzY3ZDlmMzgwYTQ2ZDVmZjE5MGU5MzcyMWJiYjI2
MTAyZGUwMjRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTAxLTA2ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEZpbGwgaW4gbWlz
c2luZyBXZWJHTDIgZW50cnkgcG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDU2ODkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4MjgwOTIw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpbGwg
aW4gdGhlIGJpdHMgb2YgdGhlIFdlYkdMMiBBUEkgdGhhdCB3ZXJlIG1pc3NpbmcuCisKKyAgICAg
ICAgVGhlIHNwZWNpZmljYXRpb24gc3BsaXRzIGludG8gQmFzZSBhbmQgSW1wbGVtZW50YXRpb24K
KyAgICAgICAgaW50ZXJmYWNlcywgYnV0IEkgcHV0IGV2ZXJ5dGhpbmcgaW4gb25lIHBsYWNlIHNp
bmNlCisgICAgICAgIHdlIGFscmVhZHkgaGF2ZSB0byBjaGVjayB0aGF0IHdlIGRvbid0IGhhdmUg
ZnVuY3Rpb24KKyAgICAgICAgc2lnbmF0dXJlIGNsYXNoZXMuCisKKyAgICAgICAgSSBhbHNvIGZp
eGVkIHNvbWUgc2l0dWF0aW9ucyB3aGVyZSB3ZSB3ZXJlIG5vdAorICAgICAgICBhbGxvd2luZyBm
b3IgYW4gRXhjZXB0aW9uIHRvIGJlIHJldHVybmVkLgorCisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRl
cmluZ0NvbnRleHQ6OnRleEltYWdlM0QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTNEKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xZnYpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJmdik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2Z2KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMml2KToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRmdik6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpyZWFkUGl4ZWxzKToK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoKKwogMjAyMC0wMS0wNSAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEdyYXBoaWNzQ29udGV4dDNE
IHRvIEdyYXBoaWNzQ29udGV4dEdMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IGU5MjMwODNlMjM0Y2JiOWU4Nzcw
OTIxMWUyNTUxNWNmOTg4YmQzZWIuLjgyNWU3NWE5OGMxYTRjMTNkZDk1NWM3ODUzMjMxZGE4N2E5
MzgxY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRl
cmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJl
bmRlcmluZ0NvbnRleHQuY3BwCkBAIC02NzcsOSArNjc3LDEwIEBAIHZvaWQgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRHNp
emVpLCBHCiAgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleEltYWdlMkQo
KSIpOwogfQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVu
dW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNE
ZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCitFeGNlcHRpb25Pcjx2b2lkPiBXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50
LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGludCwgR0MzRGVudW0sIEdDM0RlbnVtLCBUZXhJ
bWFnZVNvdXJjZSYmKQogewogICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0
ZXhJbWFnZTJEKCkiKTsKKyAgICByZXR1cm4geyB9OwogfQogCiB2b2lkIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXpl
aSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1
ZmZlclZpZXc+JiYsIEdDM0R1aW50KQpAQCAtNjkyLDkgKzY5MywxMCBAQCB2b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnRleEltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdD
M0RzaXplaSwgRwogICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhJbWFn
ZTNEKCkiKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTNEKEdD
M0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVp
LCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCitFeGNlcHRp
b25Pcjx2b2lkPiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTNEKEdDM0RlbnVtLCBH
QzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50
LCBHQzNEZW51bSwgR0MzRGVudW0sIFRleEltYWdlU291cmNlJiYpCiB7CiAgICAgTE9HKFdlYkdM
LCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleEltYWdlM0QoKSIpOworICAgIHJldHVybiB7IH07
CiB9CiAKIHZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UzRChHQzNEZW51bSwg
R0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RzaXplaSwgR0MzRGlu
dCwgR0MzRGVudW0sIEdDM0RlbnVtLCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmKQpAQCAtNzEy
LDkgKzcxNCwxMCBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQo
R0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsCiAgICAgTE9HKFdlYkdMLCAiW1sg
Tk9UIElNUExFTUVOVEVEIF1dIHRleFN1YkltYWdlMkQoKSIpOwogfQogCi12b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQs
IEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEZW51bSwgR0MzRGVudW0sIFRleElt
YWdlU291cmNlJiYpCitFeGNlcHRpb25Pcjx2b2lkPiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp0
ZXhTdWJJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6
ZWksIEdDM0RzaXplaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBUZXhJbWFnZVNvdXJjZSYmKQogewog
ICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSB0ZXhTdWJJbWFnZTJEKCkiKTsK
KyAgICByZXR1cm4geyB9OwogfQogCiB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1
YkltYWdlMkQoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwg
R0MzRHNpemVpLCBHQzNEZW51bSwgR0MzRGVudW0sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+JiYs
IEdDM0R1aW50KQpAQCAtNzMyLDkgKzczNSwxMCBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OnRleFN1YkltYWdlM0QoR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsCiAg
ICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHRleFN1YkltYWdlM0QoKSIpOwog
fQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlM0QoR0MzRGVudW0s
IEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVp
LCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwgVGV4SW1hZ2VTb3VyY2UmJikKK0V4Y2Vw
dGlvbk9yPHZvaWQ+IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlM0QoR0MzRGVu
dW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNp
emVpLCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwgVGV4SW1hZ2VTb3VyY2UmJikKIHsK
ICAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdGV4U3ViSW1hZ2UzRCgpIik7
CisgICAgcmV0dXJuIHsgfTsKIH0KIAogdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpjb3B5
VGV4U3ViSW1hZ2UzRChHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGlu
dCwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWkpCkBAIC03NDIsMTYgKzc0
Niw2IEBAIHZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y29weVRleFN1YkltYWdlM0QoR0Mz
RGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpCiAgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElN
UExFTUVOVEVEIF1dIGNvcHlUZXhTdWJJbWFnZTNEKCkiKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSwgR0MzRGludCwgR0Mz
RGVudW0sIEdDM0RzaXplaSwgR0MzRHNpemVpLCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RpbnQ2
NCkKLXsKLSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRl
eEltYWdlMkQoKSIpOwotfQotCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNz
ZWRUZXhJbWFnZTJEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRHNpemVpLCBHQzNE
c2l6ZWksIEdDM0RpbnQsIEFycmF5QnVmZmVyVmlldyYsIEdDM0R1aW50LCBHQzNEdWludCkKLXsK
LSAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleEltYWdl
MkQoKSIpOwotfQotCiB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhJ
bWFnZTNEKEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEZW51bSwgR0MzRHNpemVpLCBHQzNEc2l6ZWks
IEdDM0RzaXplaSwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEaW50NjQpCiB7CiAgICAgTE9HKFdl
YkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhJbWFnZTNEKCkiKTsKQEAg
LTIxODYsNiArMjE4MCwyMDcgQEAgYm9vbCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0
ZUNhcGFiaWxpdHkoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQzNEZW4KICAgICB9CiB9CiAK
K3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleEltYWdlMkQoR0MzRGVu
dW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNp
emVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgR0MzRHNpemVpIGlt
YWdlU2l6ZSwgR0MzRGludDY0IG9mZnNldCkKK3sKKyAgICBVTlVTRURfUEFSQU0odGFyZ2V0KTsK
KyAgICBVTlVTRURfUEFSQU0obGV2ZWwpOworICAgIFVOVVNFRF9QQVJBTShpbnRlcm5hbGZvcm1h
dCk7CisgICAgVU5VU0VEX1BBUkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsK
KyAgICBVTlVTRURfUEFSQU0oYm9yZGVyKTsKKyAgICBVTlVTRURfUEFSQU0oaW1hZ2VTaXplKTsK
KyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKKworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBM
RU1FTlRFRCBdXSBjb21wcmVzc2VkVGV4SW1hZ2UyRCgpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6Y29tcHJlc3NlZFRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNE
c2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3JiBzcmNEYXRhLCBH
QzNEdWludCBzcmNPZmZzZXQsIEdDM0R1aW50IHNyY0xlbmd0aE92ZXJyaWRlKQoreworICAgIFVO
VVNFRF9QQVJBTSh0YXJnZXQpOworICAgIFVOVVNFRF9QQVJBTShsZXZlbCk7CisgICAgVU5VU0VE
X1BBUkFNKGludGVybmFsZm9ybWF0KTsKKyAgICBVTlVTRURfUEFSQU0od2lkdGgpOworICAgIFVO
VVNFRF9QQVJBTShoZWlnaHQpOworICAgIFVOVVNFRF9QQVJBTShib3JkZXIpOworICAgIFVOVVNF
RF9QQVJBTShzcmNEYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBVTlVT
RURfUEFSQU0oc3JjTGVuZ3RoT3ZlcnJpZGUpOworCisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElN
UExFTUVOVEVEIF1dIGNvbXByZXNzZWRUZXhJbWFnZTJEKCkiKTsKK30KKwordm9pZCBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0Ojpjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMc2l6ZWkgaW1hZ2VTaXplLCBHTGludHB0
ciBvZmZzZXQpCit7CisgICAgVU5VU0VEX1BBUkFNKHRhcmdldCk7CisgICAgVU5VU0VEX1BBUkFN
KGxldmVsKTsKKyAgICBVTlVTRURfUEFSQU0oeG9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHlv
ZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdo
dCk7CisgICAgVU5VU0VEX1BBUkFNKGZvcm1hdCk7CisgICAgVU5VU0VEX1BBUkFNKGltYWdlU2l6
ZSk7CisgICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CisKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleFN1YkltYWdlMkQoKSIpOworfQorCit2b2lkIFdl
YkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdp
ZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgQXJyYXlCdWZmZXJWaWV3JiBzcmNE
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUpCit7CisgICAg
VU5VU0VEX1BBUkFNKHRhcmdldCk7CisgICAgVU5VU0VEX1BBUkFNKGxldmVsKTsKKyAgICBVTlVT
RURfUEFSQU0oeG9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHlvZmZzZXQpOworICAgIFVOVVNF
RF9QQVJBTSh3aWR0aCk7CisgICAgVU5VU0VEX1BBUkFNKGhlaWdodCk7CisgICAgVU5VU0VEX1BB
UkFNKGZvcm1hdCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0RhdGEpOworICAgIFVOVVNFRF9QQVJB
TShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGhPdmVycmlkZSk7CisKKyAg
ICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gY29tcHJlc3NlZFRleFN1YkltYWdl
MkQoKSIpOworCit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFmdihX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBz
cmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9u
KTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09mZnNldCk7
CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJbWyBOT1Qg
SU1QTEVNRU5URUQgXV0gdW5pZm9ybTFmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybTJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0
MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAg
VU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5V
U0VEX1BBUkFNKHNyY09mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAg
ICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTJmdigpIik7Cit9CisK
K3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWlu
dCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKKyAgICBVTlVTRURf
UEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09mZnNldCk7CisgICAgVU5VU0VEX1BB
UkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJbWyBOT1QgSU1QTEVNRU5URUQgXV0g
dW5pZm9ybTNmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9y
bTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxv
Y2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09m
ZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJb
WyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTRmdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24s
IEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQorewor
ICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAg
IFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwor
CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm0xaXYoKSIpOwor
fQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yaXYoV2ViR0xVbmlmb3Jt
TG9jYXRpb24qIGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1
aW50IHNyY0xlbmd0aCkKK3sKKyAgICBVTlVTRURfUEFSQU0obG9jYXRpb24pOworICAgIFVOVVNF
RF9QQVJBTShkYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBVTlVTRURf
UEFSQU0oc3JjTGVuZ3RoKTsKKworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBd
XSB1bmlmb3JtMml2KCkiKTsKK30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlm
b3JtM2l2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdM
dWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCit7CisgICAgVU5VU0VEX1BBUkFNKGxv
Y2F0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHNyY09m
ZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHNyY0xlbmd0aCk7CisKKyAgICBMT0coV2ViR0wsICJb
WyBOT1QgSU1QTEVNRU5URUQgXV0gdW5pZm9ybTNpdigpIik7Cit9CisKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24s
IEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQorewor
ICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAg
IFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOwor
CisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm00aXYoKSIpOwor
fQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyZnYoV2ViR0xV
bmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlz
dCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQoreworICAgIFVOVVNF
RF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKHRyYW5zcG9zZSk7CisgICAgVU5V
U0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNF
RF9QQVJBTShzcmNMZW5ndGgpOworCisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVE
IF1dIHVuaWZvcm1NYXRyaXgyZnYoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OnVuaWZvcm1NYXRyaXgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJv
b2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVp
bnQgc3JjTGVuZ3RoKQoreworICAgIFVOVVNFRF9QQVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VE
X1BBUkFNKHRyYW5zcG9zZSk7CisgICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9Q
QVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShzcmNMZW5ndGgpOworCisgICAgTE9H
KFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1dIHVuaWZvcm1NYXRyaXgzZnYoKSIpOworfQor
Cit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXg0ZnYoV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBk
YXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKQoreworICAgIFVOVVNFRF9Q
QVJBTShsb2NhdGlvbik7CisgICAgVU5VU0VEX1BBUkFNKHRyYW5zcG9zZSk7CisgICAgVU5VU0VE
X1BBUkFNKGRhdGEpOworICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIFVOVVNFRF9Q
QVJBTShzcmNMZW5ndGgpOworCisgICAgTE9HKFdlYkdMLCAiW1sgTk9UIElNUExFTUVOVEVEIF1d
IHVuaWZvcm1NYXRyaXg0ZnYoKSIpOworfQorCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6
OnJlYWRQaXhlbHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQpCit7CisgICAg
VU5VU0VEX1BBUkFNKHgpOworICAgIFVOVVNFRF9QQVJBTSh5KTsKKyAgICBVTlVTRURfUEFSQU0o
d2lkdGgpOworICAgIFVOVVNFRF9QQVJBTShoZWlnaHQpOworICAgIFVOVVNFRF9QQVJBTShmb3Jt
YXQpOworICAgIFVOVVNFRF9QQVJBTSh0eXBlKTsKKyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsK
KworICAgIExPRyhXZWJHTCwgIltbIE5PVCBJTVBMRU1FTlRFRCBdXSByZWFkUGl4ZWxzKCkiKTsK
K30KKwordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpyZWFkUGl4ZWxzKEdMaW50IHgsIEdM
aW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVu
dW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3JiBkc3REYXRhLCBHTHVpbnQgZHN0T2Zmc2V0KQorewor
ICAgIFVOVVNFRF9QQVJBTSh4KTsKKyAgICBVTlVTRURfUEFSQU0oeSk7CisgICAgVU5VU0VEX1BB
UkFNKHdpZHRoKTsKKyAgICBVTlVTRURfUEFSQU0oaGVpZ2h0KTsKKyAgICBVTlVTRURfUEFSQU0o
Zm9ybWF0KTsKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisgICAgVU5VU0VEX1BBUkFNKGRzdERh
dGEpOworICAgIFVOVVNFRF9QQVJBTShkc3RPZmZzZXQpOworCisgICAgTE9HKFdlYkdMLCAiW1sg
Tk9UIElNUExFTUVOVEVEIF1dIHJlYWRQaXhlbHMoKSIpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggY2VkMThjZDRmYThk
YWFkOGMyNDYwYjVhNzljMjEzMzI3Njg1MGIwOS4uYWYyYzQ3YWZmYjkyM2U4ZDNlYWViYTQyMTQ4
MmU0NTM3YTQ5OWRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMMlJlbmRlcmluZ0NvbnRleHQuaApAQCAtNzYsMzAgKzc2LDM1IEBAIHB1YmxpYzoKIAogICAg
IHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleEltYWdlMkQ7CiAgICAgdm9pZCB0
ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5h
bGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRl
ciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50NjQgcGJvT2Zmc2V0KTsK
LSAgICB2b2lkIHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNE
aW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdD
M0RpbnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291
cmNlJiYpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgs
IEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0Rl
bnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwogICAgIHZvaWQgdGV4SW1hZ2UyRChHQzNEZW51
bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXpl
aSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEdDM0RlbnVtIGZvcm1h
dCwgR0MzRGVudW0gdHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBzcmNEYXRhLCBHQzNE
dWludCBzcmNPZmZzZXQpOwogCiAgICAgdm9pZCB0ZXhJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwg
R0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBH
QzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVyLCBHQzNEZW51
bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIEdDM0RpbnQ2NCBwYm9PZmZzZXQpOwotICAgIHZvaWQg
dGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgaW50ZXJu
YWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRl
cHRoLCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBUZXhJ
bWFnZVNvdXJjZSYmKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiB0ZXhJbWFnZTNEKEdDM0RlbnVt
IHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVp
IHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVy
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwogICAg
IHZvaWQgdGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQg
aW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNp
emVpIGRlcHRoLCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBl
LCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmIHBpeGVscyk7CiAgICAgdm9pZCB0ZXhJbWFnZTNE
KEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCBpbnRlcm5hbGZvcm1hdCwg
R0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0Rp
bnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFJlZlB0cjxBcnJheUJ1
ZmZlclZpZXc+JiYgc3JjRGF0YSwgR0MzRHVpbnQgc3JjT2Zmc2V0KTsKIAogICAgIHVzaW5nIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleFN1YkltYWdlMkQ7CiAgICAgdm9pZCB0ZXhTdWJJ
bWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBH
QzNEaW50IHlvZmZzZXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGVu
dW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50NjQgcGJvT2Zmc2V0KTsKLSAgICB2b2lk
IHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhv
ZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOworICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRo
LCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIFRleElt
YWdlU291cmNlJiYpOwogICAgIHZvaWQgdGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdD
M0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkg
d2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwg
UmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBzcmNEYXRhLCBHQzNEdWludCBzcmNPZmZzZXQpOwog
CiAgICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwg
R0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0MzRHNp
emVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVtIGZv
cm1hdCwgR0MzRGVudW0gdHlwZSwgR0MzRGludDY0IHBib09mZnNldCk7CiAgICAgdm9pZCB0ZXhT
dWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0
LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNE
c2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0g
dHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBwaXhlbHMsIEdDM0R1aW50IHNyY09mZnNl
dCk7Ci0gICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZl
bCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RpbnQgem9mZnNldCwgR0Mz
RHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RlbnVt
IGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2UmJik7CisgICAgRXhjZXB0aW9u
T3I8dm9pZD4gdGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RzaXpl
aSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVpIGRlcHRoLCBHQzNEZW51bSBmb3Jt
YXQsIEdDM0RlbnVtIHR5cGUsIFRleEltYWdlU291cmNlJiYpOwogCiAgICAgdm9pZCBjb3B5VGV4
U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNl
dCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHpvZmZzZXQsIEdDM0RpbnQgeCwgR0MzRGludCB5
LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQpOwogCisgICAgdXNpbmcgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29tcHJlc3NlZFRleEltYWdlMkQ7CiAgICAgdm9pZCBjb21w
cmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVt
IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0Rp
bnQgYm9yZGVyLCBHQzNEc2l6ZWkgaW1hZ2VTaXplLCBHQzNEaW50NjQgb2Zmc2V0KTsKLSAgICB2
b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwg
R0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdo
dCwgR0MzRGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0MzRHVpbnQsIEdDM0R1
aW50KTsKKyAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0Mz
RGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0Mz
RHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0Mz
RHVpbnQgc3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGhPdmVycmlkZSk7CiAgICAgdm9pZCBj
b21wcmVzc2VkVGV4SW1hZ2UzRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rl
bnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdD
M0RzaXplaSBkZXB0aCwgR0MzRGludCBib3JkZXIsIEdDM0RzaXplaSBpbWFnZVNpemUsIEdDM0Rp
bnQ2NCBvZmZzZXQpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0MzRGVudW0gdGFy
Z2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdp
ZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6ZWkgZGVwdGgsIEdDM0RpbnQgYm9yZGVyLCBB
cnJheUJ1ZmZlclZpZXcmIHNyY0RhdGEsIEdDM0R1aW50IHNyY09mZnNldCwgR0MzRHVpbnQgc3Jj
TGVuZ3RoT3ZlcnJpZGUpOwogCisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
Y29tcHJlc3NlZFRleFN1YkltYWdlMkQ7CisgICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNl
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMc2l6ZWkg
aW1hZ2VTaXplLCBHTGludHB0ciBvZmZzZXQpOworICAgIHZvaWQgY29tcHJlc3NlZFRleFN1Yklt
YWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlv
ZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBBcnJh
eUJ1ZmZlclZpZXcmIHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGhP
dmVycmlkZSk7CisKICAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKEdDM0RlbnVtIHRh
cmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdD
M0RpbnQgem9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEc2l6
ZWkgZGVwdGgsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRHNpemVpIGltYWdlU2l6ZSwgR0MzRGludDY0
IG9mZnNldCk7CiAgICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHQzNEZW51bSB0YXJn
ZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNE
aW50IHpvZmZzZXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRHNpemVp
IGRlcHRoLCBHQzNEZW51bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyYgZGF0YSwgR0MzRHVpbnQg
c3JjT2Zmc2V0LCBHQzNEdWludCBzcmNMZW5ndGhPdmVycmlkZSk7CiAKQEAgLTEyOCw3ICsxMzMs
MzIgQEAgcHVibGljOgogICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aShHQzNEdWludCBpbmRleCwg
R0MzRHVpbnQgeCwgR0MzRHVpbnQgeSwgR0MzRHVpbnQgeiwgR0MzRHVpbnQgdyk7CiAgICAgdm9p
ZCB2ZXJ0ZXhBdHRyaWJJNHVpdihHQzNEdWludCBpbmRleCwgVWludDMyTGlzdCYmIHYpOwogICAg
IHZvaWQgdmVydGV4QXR0cmliSVBvaW50ZXIoR0MzRHVpbnQgaW5kZXgsIEdDM0RpbnQgc2l6ZSwg
R0MzRGVudW0gdHlwZSwgR0MzRHNpemVpIHN0cmlkZSwgR0MzRGludDY0IG9mZnNldCk7Ci0gICAg
CisKKyAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtMWZ2OworICAg
IHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm0yZnY7CisgICAgdXNpbmcg
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTNmdjsKKyAgICB1c2luZyBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtNGZ2OworICAgIHZvaWQgdW5pZm9ybTFmdihXZWJH
TFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNP
ZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTJmdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQs
IEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTNmdihXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWlu
dCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiog
bG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIEdMdWludCBzcmNM
ZW5ndGgpOworCisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTFp
djsKKyAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtMml2OworICAg
IHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm0zaXY7CisgICAgdXNpbmcg
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybTRpdjsKKyAgICB2b2lkIHVuaWZvcm0x
aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50
IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCk7CisgICAgdm9pZCB1bmlmb3JtMml2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZz
ZXQsIEdMdWludCBzcmNMZW5ndGgpOworICAgIHZvaWQgdW5pZm9ybTNpdihXZWJHTFVuaWZvcm1M
b2NhdGlvbiogbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVp
bnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lkIHVuaWZvcm00aXYoV2ViR0xVbmlmb3JtTG9jYXRpb24q
IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xl
bmd0aCk7CisKKyAgICB1c2luZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp1bmlmb3JtTWF0
cml4MmZ2OworICAgIHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnVuaWZvcm1NYXRy
aXgzZnY7CisgICAgdXNpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dW5pZm9ybU1hdHJp
eDRmdjsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxv
Y2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3Jj
T2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMy
TGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQgc3JjTGVuZ3RoKTsKKyAgICB2b2lk
IHVuaWZvcm1NYXRyaXg0ZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHTGJvb2xl
YW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVpbnQg
c3JjTGVuZ3RoKTsKKwogICAgIC8vIFdyaXRpbmcgdG8gdGhlIGRyYXdpbmcgYnVmZmVyCiAgICAg
dm9pZCBjbGVhcihHQzNEYml0ZmllbGQgbWFzaykgZmluYWw7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRy
aWJEaXZpc29yKEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29yKTsKQEAgLTIwMiw2ICsy
MzIsMTAgQEAgcHVibGljOgogICAgIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBnZXRTdXBwb3J0
ZWRFeHRlbnNpb25zKCkgZmluYWw7CiAgICAgV2ViR0xBbnkgZ2V0UGFyYW1ldGVyKEdDM0RlbnVt
IHBuYW1lKSBmaW5hbDsKIAorICAgIHVzaW5nIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnJl
YWRQaXhlbHM7CisgICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRw
dHIgb2Zmc2V0KTsKKyAgICB2b2lkIHJlYWRQaXhlbHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXpl
aSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJh
eUJ1ZmZlclZpZXcmIGRzdERhdGEsIEdMdWludCBkc3RPZmZzZXQpOworCiAgICAgdm9pZCByZW5k
ZXJidWZmZXJTdG9yYWdlKEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCkgZmluYWw7CiAgICAgdm9pZCBoaW50
KEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gbW9kZSkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKaW5kZXgg
ZGE3MDBlN2IyOWM3OWQ1MWEyOWRlNThlNDJkZmVkOTA4YzFkYmYyNC4uYzgwZWI5MmRmM2RiMDg2
YTMxZDcyZWE1ZWZiNTY0NTU5Yzg0MmY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKQEAgLTU5LDYgKzU5LDEyIEBA
IHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9y
IEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAgRG9Ob3RDaGVja0NvbnN0YW50cywKICAgICBD
YWxsVHJhY2luZ0NhbGxiYWNrPXJlY29yZENhbnZhc0FjdGlvbiwKIF0gaW50ZXJmYWNlIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHQgeworCisgICAgLy8gVGhlIHNwZWNpZmljYXRpb24gc3BsaXRzIHRo
ZSBBUEkgc3VyZmFjZSBpbnRvIGEgV2ViR0wyUmVuZGVyaW5nQ29udGV4dEJhc2UKKyAgICAvLyBh
bmQgYSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LCBidXQgd2UgbWVyZ2UgYm90aCBpbnRvIG9uZSBj
bGFzcy4KKworICAgIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UgY29udGVudHMuCisKICAg
ICBjb25zdCBHTGVudW0gUkVBRF9CVUZGRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMHgwQzAyOwogICAgIGNvbnN0IEdMZW51bSBVTlBBQ0tfUk9XX0xFTkdUSCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAweDBDRjI7CiAgICAgY29uc3QgR0xlbnVtIFVOUEFDS19T
S0lQX1JPV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MENGMzsKQEAgLTMyNSw3
MyArMzMxLDUxIEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1h
Z2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAKICAgICBjb25zdCBHTGludDY0
IFRJTUVPVVRfSUdOT1JFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gLTE7CiAKLSAg
ICAvKiBXZWJHTC1zcGVjaWZpYyBlbnVtcyAqLworICAgIC8vIFdlYkdMLXNwZWNpZmljIGVudW1z
LwogICAgIGNvbnN0IEdMZW51bSBNQVhfQ0xJRU5UX1dBSVRfVElNRU9VVF9XRUJHTCAgICAgICAg
ICAgICAgICAgPSAweDkyNDc7CiAKLSAgICAvKiBCdWZmZXIgb2JqZWN0cyAqLworICAgIC8vIEJ1
ZmZlciBvYmplY3RzLgogICAgIHZvaWQgYnVmZmVyRGF0YShHTGVudW0gdGFyZ2V0LCBBcnJheUJ1
ZmZlclZpZXcgZGF0YSwgR0xlbnVtIHVzYWdlLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBH
THVpbnQgbGVuZ3RoID0gMCk7CiAgICAgdm9pZCBidWZmZXJTdWJEYXRhKEdMZW51bSB0YXJnZXQs
IEdMaW50cHRyIGRzdEJ5dGVPZmZzZXQsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQg
c3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgbGVuZ3RoID0gMCk7CiAKICAgICB2b2lkIGNvcHlC
dWZmZXJTdWJEYXRhKEdMZW51bSByZWFkVGFyZ2V0LCBHTGVudW0gd3JpdGVUYXJnZXQsIEdMaW50
cHRyIHJlYWRPZmZzZXQsIEdMaW50cHRyIHdyaXRlT2Zmc2V0LCBHTHNpemVpcHRyIHNpemUpOwot
ICAgIC8vIE1hcEJ1ZmZlclJhbmdlLCBpbiBwYXJ0aWN1bGFyIGl0cyByZWFkLW9ubHkgYW5kIHdy
aXRlLW9ubHkgbW9kZXMsCi0gICAgLy8gY2FuIG5vdCBiZSBleHBvc2VkIHNhZmVseSB0byBKYXZh
U2NyaXB0LiBHZXRCdWZmZXJTdWJEYXRhCi0gICAgLy8gcmVwbGFjZXMgaXQgZm9yIHRoZSBwdXJw
b3NlIG9mIGZldGNoaW5nIGRhdGEgYmFjayBmcm9tIHRoZSBHUFUuCiAgICAgdm9pZCBnZXRCdWZm
ZXJTdWJEYXRhKEdMZW51bSB0YXJnZXQsIEdMaW50cHRyIHNyY0J5dGVPZmZzZXQsIEFycmF5QnVm
ZmVyVmlldyBkc3REYXRhLCBvcHRpb25hbCBHTHVpbnQgZHN0T2Zmc2V0ID0gMCwgb3B0aW9uYWwg
R0x1aW50IGxlbmd0aCA9IDApOwogCi0gICAgLyogRnJhbWVidWZmZXIgb2JqZWN0cyAqLworICAg
IC8vIEZyYW1lYnVmZmVyIG9iamVjdHMuCiAgICAgdm9pZCBibGl0RnJhbWVidWZmZXIoR0xpbnQg
c3JjWDAsIEdMaW50IHNyY1kwLCBHTGludCBzcmNYMSwgR0xpbnQgc3JjWTEsIEdMaW50IGRzdFgw
LCBHTGludCBkc3RZMCwgR0xpbnQgZHN0WDEsIEdMaW50IGRzdFkxLCBHTGJpdGZpZWxkIG1hc2ss
IEdMZW51bSBmaWx0ZXIpOwogICAgIHZvaWQgZnJhbWVidWZmZXJUZXh0dXJlTGF5ZXIoR0xlbnVt
IHRhcmdldCwgR0xlbnVtIGF0dGFjaG1lbnQsIFdlYkdMVGV4dHVyZT8gdGV4dHVyZSwgR0xpbnQg
bGV2ZWwsIEdMaW50IGxheWVyKTsKICAgICB2b2lkIGludmFsaWRhdGVGcmFtZWJ1ZmZlcihHTGVu
dW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFjaG1lbnRzKTsKICAgICB2b2lkIGludmFs
aWRhdGVTdWJGcmFtZWJ1ZmZlcihHTGVudW0gdGFyZ2V0LCBzZXF1ZW5jZTxHTGVudW0+IGF0dGFj
aG1lbnRzLCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7
CiAgICAgdm9pZCByZWFkQnVmZmVyKEdMZW51bSBzcmMpOwogCi0gICAgLyogUmVuZGVyYnVmZmVy
IG9iamVjdHMgKi8KKyAgICAvLyBSZW5kZXJidWZmZXIgb2JqZWN0cy4KICAgICBbT3ZlcnJpZGVJ
RExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0SW50ZXJuYWxmb3JtYXRQYXJhbWV0ZXIoR0xlbnVt
IHRhcmdldCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVudW0gcG5hbWUpOwogICAgIHZvaWQg
cmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgc2Ft
cGxlcywgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCk7CiAKLSAgICAvKiBUZXh0dXJlIG9iamVjdHMgKi8KKyAgICAvLyBUZXh0dXJlIG9iamVjdHMu
CiAgICAgdm9pZCB0ZXhTdG9yYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xzaXplaSBsZXZlbHMsIEdM
ZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQpOwogICAg
IHZvaWQgdGV4U3RvcmFnZTNEKEdMZW51bSB0YXJnZXQsIEdMc2l6ZWkgbGV2ZWxzLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRl
cHRoKTsKIAotICAgIC8vIFdlYkdMMSBsZWdhY3kgZW50cnlwb2ludHM6Ci0gICAgdm9pZCB0ZXhJ
bWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3Jt
YXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBpeGVscyk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdM
ZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdl
U291cmNlPyBzb3VyY2UpOwotCi0gICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQs
IEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVy
Vmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNl
dCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOwot
Ci0gICAgLy8gV2ViR0wyIGVudHJ5cG9pbnRzOgotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0g
dGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgs
IEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBl
LCBHTGludHB0ciBwYm9PZmZzZXQpOwotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6
ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJ
bWFnZVNvdXJjZSBzb3VyY2UpOwotICAgIHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0LCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1
ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCk7Ci0KICAgICB2b2lkIHRleEltYWdl
M0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNp
emVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQgYm9yZGVyLCBH
TGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKICAgICB2b2lk
IHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9y
bWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xpbnQg
Ym9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNl
KTsKICAgICB2b2lkIHRleEltYWdlM0QoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50
IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBk
ZXB0aCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZm
ZXJWaWV3PyBwaXhlbHMpOwogICAgIHZvaWQgdGV4SW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgR0xpbnQgaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0
eXBlLCBBcnJheUJ1ZmZlclZpZXcgc3JjRGF0YSwgR0x1aW50IHNyY09mZnNldCk7CiAKLSAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgR0xpbnRwdHIgcGJvT2Zmc2V0KTsKLSAgICB2b2lkIHRleFN1
YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50
IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKLSAgICB2b2lkIHRleFN1YkltYWdl
MkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZz
ZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOwotCiAgICAg
dm9pZCB0ZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zm
c2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVp
IGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50
cHRyIHBib09mZnNldCk7CiAgICAgdm9pZCB0ZXhTdWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdM
aW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBH
THNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlIHNvdXJjZSk7CiAgICAgdm9pZCB0ZXhTdWJJ
bWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5
b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xz
aXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8g
c3JjRGF0YSwgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNldCA9IDApOwogCiAgICAgdm9pZCBjb3B5
VGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwg
R0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNldCwgR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQpOwogCi0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVp
IHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdlU2l6ZSwg
R0xpbnRwdHIgb2Zmc2V0KTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0
YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgs
IEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBv
cHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92
ZXJyaWRlID0gMCk7Ci0KICAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTNEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdM
c2l6ZWkgaGVpZ2h0LCBHTHNpemVpIGRlcHRoLCBHTGludCBib3JkZXIsIEdMc2l6ZWkgaW1hZ2VT
aXplLCBHTGludHB0ciBvZmZzZXQpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlM0QoR0xl
bnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMaW50IGJvcmRlciwgQXJyYXlC
dWZmZXJWaWV3IHNyY0RhdGEsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAwLCBvcHRpb25h
bCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKICAgICB2b2lkIGNvbXByZXNzZWRUZXhT
dWJJbWFnZTNEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGlu
dCB5b2Zmc2V0LCBHTGludCB6b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwg
R0xzaXplaSBkZXB0aCwgR0xlbnVtIGZvcm1hdCwgR0xzaXplaSBpbWFnZVNpemUsIEdMaW50cHRy
IG9mZnNldCk7CiAgICAgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xpbnQgem9mZnNl
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMc2l6ZWkgZGVwdGgsIEdMZW51bSBm
b3JtYXQsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBvcHRpb25hbCBHTHVpbnQgc3JjT2Zmc2V0
ID0gMCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aE92ZXJyaWRlID0gMCk7CiAKLSAgICAvKiBQ
cm9ncmFtcyBhbmQgc2hhZGVycyAqLworICAgIC8vIFByb2dyYW1zIGFuZCBzaGFkZXJzLwogICAg
IEdMaW50IGdldEZyYWdEYXRhTG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIERPTVN0cmlu
ZyBuYW1lKTsKIAotICAgIC8qIFVuaWZvcm1zIGFuZCBhdHRyaWJ1dGVzICovCisgICAgLy8gVW5p
Zm9ybXMgYW5kIGF0dHJpYnV0ZXMuCiAgICAgdm9pZCB1bmlmb3JtMXVpKFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwKTsKICAgICB2b2lkIHVuaWZvcm0ydWkoV2ViR0xV
bmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBHTHVpbnQgdjAsIEdMdWludCB2MSk7CiAgICAgdm9p
ZCB1bmlmb3JtM3VpKFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0x1aW50IHYwLCBH
THVpbnQgdjEsIEdMdWludCB2Mik7CkBAIC00MTIsMjAgKzM5NiwyMCBAQCB0eXBlZGVmIChJbWFn
ZUJpdG1hcCBvciBJbWFnZURhdGEgb3IgSFRNTEltYWdlRWxlbWVudCBvciBIVE1MQ2FudmFzRWxl
bWVudCkgVGV4SQogICAgIHZvaWQgdmVydGV4QXR0cmliSTR1aXYoR0x1aW50IGluZGV4LCBVaW50
MzJMaXN0IHZhbHVlcyk7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJJUG9pbnRlcihHTHVpbnQgaW5k
ZXgsIEdMaW50IHNpemUsIEdMZW51bSB0eXBlLCBHTHNpemVpIHN0cmlkZSwgR0xpbnRwdHIgb2Zm
c2V0KTsKIAotICAgIC8qIFdyaXRpbmcgdG8gdGhlIGRyYXdpbmcgYnVmZmVyICovCisgICAgLy8g
V3JpdGluZyB0byB0aGUgZHJhd2luZyBidWZmZXIuCiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWJEaXZp
c29yKEdMdWludCBpbmRleCwgR0x1aW50IGRpdmlzb3IpOwogICAgIHZvaWQgZHJhd0FycmF5c0lu
c3RhbmNlZChHTGVudW0gbW9kZSwgR0xpbnQgZmlyc3QsIEdMc2l6ZWkgY291bnQsIEdMc2l6ZWkg
aW5zdGFuY2VDb3VudCk7CiAgICAgdm9pZCBkcmF3RWxlbWVudHNJbnN0YW5jZWQoR0xlbnVtIG1v
ZGUsIEdMc2l6ZWkgY291bnQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQsIEdMc2l6ZWkg
aW5zdGFuY2VDb3VudCk7CiAgICAgdm9pZCBkcmF3UmFuZ2VFbGVtZW50cyhHTGVudW0gbW9kZSwg
R0x1aW50IHN0YXJ0LCBHTHVpbnQgZW5kLCBHTHNpemVpIGNvdW50LCBHTGVudW0gdHlwZSwgR0xp
bnRwdHIgb2Zmc2V0KTsKIAotICAgIC8qIE11bHRpcGxlIFJlbmRlciBUYXJnZXRzICovCisgICAg
Ly8gTXVsdGlwbGUgUmVuZGVyIFRhcmdldHMuCiAgICAgdm9pZCBkcmF3QnVmZmVycyhzZXF1ZW5j
ZTxHTGVudW0+IGJ1ZmZlcnMpOwogICAgIHZvaWQgY2xlYXJCdWZmZXJpdihHTGVudW0gYnVmZmVy
LCBHTGludCBkcmF3YnVmZmVyLCBJbnQzMkxpc3QgdmFsdWVzLCBvcHRpb25hbCBHTHVpbnQgc3Jj
T2Zmc2V0ID0gMCk7CiAgICAgdm9pZCBjbGVhckJ1ZmZlcnVpdihHTGVudW0gYnVmZmVyLCBHTGlu
dCBkcmF3YnVmZmVyLCBVaW50MzJMaXN0IHZhbHVlcywgb3B0aW9uYWwgR0x1aW50IHNyY09mZnNl
dCA9IDApOwogICAgIHZvaWQgY2xlYXJCdWZmZXJmdihHTGVudW0gYnVmZmVyLCBHTGludCBkcmF3
YnVmZmVyLCBGbG9hdDMyTGlzdCB2YWx1ZXMsIG9wdGlvbmFsIEdMdWludCBzcmNPZmZzZXQgPSAw
KTsKICAgICB2b2lkIGNsZWFyQnVmZmVyZmkoR0xlbnVtIGJ1ZmZlciwgR0xpbnQgZHJhd2J1ZmZl
ciwgR0xmbG9hdCBkZXB0aCwgR0xpbnQgc3RlbmNpbCk7CiAKLSAgICAvKiBRdWVyeSBPYmplY3Rz
ICovCisgICAgLy8gUXVlcnkgT2JqZWN0cy4KICAgICBXZWJHTFF1ZXJ5PyBjcmVhdGVRdWVyeSgp
OwogICAgIHZvaWQgZGVsZXRlUXVlcnkoV2ViR0xRdWVyeT8gcXVlcnkpOwogICAgIEdMYm9vbGVh
biBpc1F1ZXJ5KFdlYkdMUXVlcnk/IHF1ZXJ5KTsKQEAgLTQzNCw3ICs0MTgsNyBAQCB0eXBlZGVm
IChJbWFnZUJpdG1hcCBvciBJbWFnZURhdGEgb3IgSFRNTEltYWdlRWxlbWVudCBvciBIVE1MQ2Fu
dmFzRWxlbWVudCkgVGV4SQogICAgIFdlYkdMUXVlcnk/IGdldFF1ZXJ5KEdMZW51bSB0YXJnZXQs
IEdMZW51bSBwbmFtZSk7CiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdl
dFF1ZXJ5UGFyYW1ldGVyKFdlYkdMUXVlcnkgcXVlcnksIEdMZW51bSBwbmFtZSk7CiAKLSAgICAv
KiBTYW1wbGVyIE9iamVjdHMgKi8KKyAgICAvLyBTYW1wbGVyIE9iamVjdHMuCiAgICAgV2ViR0xT
YW1wbGVyPyBjcmVhdGVTYW1wbGVyKCk7CiAgICAgdm9pZCBkZWxldGVTYW1wbGVyKFdlYkdMU2Ft
cGxlcj8gc2FtcGxlcik7CiAgICAgR0xib29sZWFuIGlzU2FtcGxlcihXZWJHTFNhbXBsZXI/IHNh
bXBsZXIpOwpAQCAtNDQzLDcgKzQyNyw3IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdl
RGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAg
dm9pZCBzYW1wbGVyUGFyYW1ldGVyZihXZWJHTFNhbXBsZXIgc2FtcGxlciwgR0xlbnVtIHBuYW1l
LCBHTGZsb2F0IHBhcmFtKTsKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0U2FtcGxlclBhcmFtZXRlcihXZWJHTFNhbXBsZXIgc2FtcGxlciwgR0xlbnVtIHBuYW1lKTsK
IAotICAgIC8qIFN5bmMgb2JqZWN0cyAqLworICAgIC8vIFN5bmMgb2JqZWN0cy4KICAgICBXZWJH
TFN5bmM/IGZlbmNlU3luYyhHTGVudW0gY29uZGl0aW9uLCBHTGJpdGZpZWxkIGZsYWdzKTsKICAg
ICBHTGJvb2xlYW4gaXNTeW5jKFdlYkdMU3luYz8gc3luYyk7CiAgICAgdm9pZCBkZWxldGVTeW5j
KFdlYkdMU3luYz8gc3luYyk7CkBAIC00NTEsNyArNDM1LDcgQEAgdHlwZWRlZiAoSW1hZ2VCaXRt
YXAgb3IgSW1hZ2VEYXRhIG9yIEhUTUxJbWFnZUVsZW1lbnQgb3IgSFRNTENhbnZhc0VsZW1lbnQp
IFRleEkKICAgICB2b2lkIHdhaXRTeW5jKFdlYkdMU3luYyBzeW5jLCBHTGJpdGZpZWxkIGZsYWdz
LCBHTGludDY0IHRpbWVvdXQpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFu
eSBnZXRTeW5jUGFyYW1ldGVyKFdlYkdMU3luYyBzeW5jLCBHTGVudW0gcG5hbWUpOwogCi0gICAg
LyogVHJhbnNmb3JtIEZlZWRiYWNrICovCisgICAgLy8gVHJhbnNmb3JtIEZlZWRiYWNrLgogICAg
IFdlYkdMVHJhbnNmb3JtRmVlZGJhY2s/IGNyZWF0ZVRyYW5zZm9ybUZlZWRiYWNrKCk7CiAgICAg
dm9pZCBkZWxldGVUcmFuc2Zvcm1GZWVkYmFjayhXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPyBpZCk7
CiAgICAgR0xib29sZWFuIGlzVHJhbnNmb3JtRmVlZGJhY2soV2ViR0xUcmFuc2Zvcm1GZWVkYmFj
az8gaWQpOwpAQCAtNDYzLDcgKzQ0Nyw3IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdl
RGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50KSBUZXhJCiAgICAg
dm9pZCBwYXVzZVRyYW5zZm9ybUZlZWRiYWNrKCk7CiAgICAgdm9pZCByZXN1bWVUcmFuc2Zvcm1G
ZWVkYmFjaygpOwogCi0gICAgLyogVW5pZm9ybSBCdWZmZXIgT2JqZWN0cyBhbmQgVHJhbnNmb3Jt
IEZlZWRiYWNrIEJ1ZmZlcnMgKi8KKyAgICAvLyBVbmlmb3JtIEJ1ZmZlciBPYmplY3RzIGFuZCBU
cmFuc2Zvcm0gRmVlZGJhY2sgQnVmZmVycy4KICAgICB2b2lkIGJpbmRCdWZmZXJCYXNlKEdMZW51
bSB0YXJnZXQsIEdMdWludCBpbmRleCwgV2ViR0xCdWZmZXI/IGJ1ZmZlcik7CiAgICAgdm9pZCBi
aW5kQnVmZmVyUmFuZ2UoR0xlbnVtIHRhcmdldCwgR0x1aW50IGluZGV4LCBXZWJHTEJ1ZmZlcj8g
YnVmZmVyLCBHTGludHB0ciBvZmZzZXQsIEdMc2l6ZWlwdHIgc2l6ZSk7CiAgICAgW092ZXJyaWRl
SURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldEluZGV4ZWRQYXJhbWV0ZXIoR0xlbnVtIHRhcmdl
dCwgR0x1aW50IGluZGV4KTsKQEAgLTQ3NCwxMSArNDU4LDQ0IEBAIHR5cGVkZWYgKEltYWdlQml0
bWFwIG9yIEltYWdlRGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52YXNFbGVtZW50
KSBUZXhJCiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gRE9NU3RyaW5nPyBnZXRB
Y3RpdmVVbmlmb3JtQmxvY2tOYW1lKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgdW5pZm9y
bUJsb2NrSW5kZXgpOwogICAgIHZvaWQgdW5pZm9ybUJsb2NrQmluZGluZyhXZWJHTFByb2dyYW0g
cHJvZ3JhbSwgR0x1aW50IHVuaWZvcm1CbG9ja0luZGV4LCBHTHVpbnQgdW5pZm9ybUJsb2NrQmlu
ZGluZyk7CiAKLSAgICAvKiBWZXJ0ZXggQXJyYXkgT2JqZWN0cyAqLworICAgIC8vIFZlcnRleCBB
cnJheSBPYmplY3RzLgogICAgIFdlYkdMVmVydGV4QXJyYXlPYmplY3Q/IGNyZWF0ZVZlcnRleEFy
cmF5KCk7CiAgICAgdm9pZCBkZWxldGVWZXJ0ZXhBcnJheShXZWJHTFZlcnRleEFycmF5T2JqZWN0
PyB2ZXJ0ZXhBcnJheSk7CiAgICAgR0xib29sZWFuIGlzVmVydGV4QXJyYXkoV2ViR0xWZXJ0ZXhB
cnJheU9iamVjdD8gdmVydGV4QXJyYXkpOwogICAgIHZvaWQgYmluZFZlcnRleEFycmF5KFdlYkdM
VmVydGV4QXJyYXlPYmplY3Q/IHZlcnRleEFycmF5KTsKKworICAgIC8vIFdlYkdMMlJlbmRlcmlu
Z0NvbnRleHQgQVBJLgorCisgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBi
b09mZnNldCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVt
IHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRo
LCBHTHNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlw
ZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKKyAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwg
QXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQpOworCisgICAgdm9pZCB0
ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBH
TGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIEdMaW50cHRyIHBib09mZnNldCk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50
IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBH
TGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKKyAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNP
ZmZzZXQpOworCisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBH
TGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVp
IGhlaWdodCwgR0xpbnQgYm9yZGVyLCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0
KTsKKyAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVyVmlldyBzcmNEYXRhLCBHTHVpbnQgc3JjT2Zmc2V0
LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoT3ZlcnJpZGUgPSAwKTsKKworICAgIHZvaWQgY29t
cHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhv
ZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVu
dW0gZm9ybWF0LCBHTHNpemVpIGltYWdlU2l6ZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB2b2lk
IGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGlu
dCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwg
R0xlbnVtIGZvcm1hdCwgQXJyYXlCdWZmZXJWaWV3IHNyY0RhdGEsIEdMdWludCBzcmNPZmZzZXQs
IG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGhPdmVycmlkZSA9IDApOworCisgICAgdm9pZCB1bmlm
b3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgRmxvYXQzMkxpc3QgZGF0YSwg
R0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHZv
aWQgdW5pZm9ybTJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEZsb2F0MzJMaXN0
IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsK
KyAgICB2b2lkIHVuaWZvcm0zZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24/IGxvY2F0aW9uLCBGbG9h
dDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3Ro
ID0gMCk7CisgICAgdm9pZCB1bmlmb3JtNGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlv
biwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9uYWwgR0x1aW50IHNy
Y0xlbmd0aCA9IDApOworCisgICAgdm9pZCB1bmlmb3JtMWl2KFdlYkdMVW5pZm9ybUxvY2F0aW9u
PyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdM
dWludCBzcmNMZW5ndGggPSAwKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBJbnQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9u
YWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworICAgIHZvaWQgdW5pZm9ybTNpdihXZWJHTFVuaWZv
cm1Mb2NhdGlvbj8gbG9jYXRpb24sIEludDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBv
cHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdm9pZCB1bmlmb3JtNGl2KFdlYkdM
VW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgSW50MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZz
ZXQsIG9wdGlvbmFsIEdMdWludCBzcmNMZW5ndGggPSAwKTsKKworICAgIHZvaWQgdW5pZm9ybU1h
dHJpeDJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bv
c2UsIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBzcmNPZmZzZXQsIG9wdGlvbmFsIEdMdWludCBz
cmNMZW5ndGggPSAwKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoV2ViR0xVbmlmb3JtTG9j
YXRpb24/IGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBGbG9hdDMyTGlzdCBkYXRhLCBH
THVpbnQgc3JjT2Zmc2V0LCBvcHRpb25hbCBHTHVpbnQgc3JjTGVuZ3RoID0gMCk7CisgICAgdm9p
ZCB1bmlmb3JtTWF0cml4NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbiwgR0xib29s
ZWFuIHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgb3B0aW9u
YWwgR0x1aW50IHNyY0xlbmd0aCA9IDApOworCisgICAgdm9pZCByZWFkUGl4ZWxzKEdMaW50IHgs
IEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBH
TGVudW0gdHlwZSwgR0xpbnRwdHIgb2Zmc2V0KTsKKyAgICB2b2lkIHJlYWRQaXhlbHMoR0xpbnQg
eCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQs
IEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXcgZHN0RGF0YSwgR0x1aW50IGRzdE9mZnNldCk7
CiB9OwogCiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IGltcGxlbWVudHMgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaWRsCmluZGV4IDFkMmY2ODgyNWI1NWZjYWE5OWEyNzY3MTk2NDIyZDdj
NWY5ZTk4NTMuLmZjNWQzMzBlM2M1OGM3YjkyY2E2NzYxNzg0NTJjZDIzMjNkNmU4MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmlkbApAQCAtNDIsMTYgKzQyLDYgQEAgdHlwZWRlZiAoSW1hZ2VCaXRtYXAgb3IgSW1hZ2VEYXRh
IG9yIEhUTUxJbWFnZUVsZW1lbnQgb3IgSFRNTENhbnZhc0VsZW1lbnQpIFRleEkKICAgICBFeHBv
cnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBDYWxsVHJhY2luZ0NhbGxiYWNrPXJlY29yZENh
bnZhc0FjdGlvbiwKIF0gaW50ZXJmYWNlIFdlYkdMUmVuZGVyaW5nQ29udGV4dCB7Ci0gICAgLy8g
VGhlc2UgbWV0aG9kcyBhcmUgcGxhY2VkIG91dHNpZGUgb2YgV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZSB0byBhdm9pZAotICAgIC8vIGNvbmZpY3RzIHdpdGggb3ZlcmxvYWRzIGluIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQuCi0KLSAgICB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xp
bnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBo
ZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVm
ZmVyVmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4SW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2U/IHNvdXJjZSk7Ci0KLSAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0g
Zm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3PyBwaXhlbHMpOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxl
dmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0g
dHlwZSwgVGV4SW1hZ2VTb3VyY2U/IHNvdXJjZSk7Ci0KLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJ
bWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3JkZXIsIEFycmF5QnVmZmVy
VmlldyBkYXRhKTsKIH07CiAKIFdlYkdMUmVuZGVyaW5nQ29udGV4dCBpbXBsZW1lbnRzIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCmluZGV4IGM1NWEyZmZkMzA5Mjc5
MTQ3NDdlYzQ0MjE1OWQ2OTBiNWE0ZjVhMmUuLjQ1YTdiMzhhYzUyMTZiYzc3OWFmYzNmNGI5ZDRj
YjRkOGFjOWExNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCkBAIC01MDUsMTMgKzUwNSwxNSBAQCB0eXBl
ZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52YXM7CiAgICAgdm9pZCBjb2xvck1hc2so
R0xib29sZWFuIHJlZCwgR0xib29sZWFuIGdyZWVuLCBHTGJvb2xlYW4gYmx1ZSwgR0xib29sZWFu
IGFscGhhKTsKICAgICB2b2lkIGNvbXBpbGVTaGFkZXIoV2ViR0xTaGFkZXI/IHNoYWRlcik7CiAK
LSAgICAvLyBjb21wcmVzc2VkVGV4SW1hZ2UyRCBpcyBzcGxpdCBiZXR3ZWVuIFdlYkdMUmVuZGVy
aW5nQ29udGV4dCBhbmQKLSAgICAvLyBXZWJHTDJSZW5kZXJpbmdDb250ZXh0IGJlY2F1c2UgdGhl
IEFycmF5QnVmZmVyVmlldyBvdmVybG9hZHMgYXJlCi0gICAgLy8gaW5kaXN0aW5ndWlzaGFibGUu
CisgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3Jk
ZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBpeGVscyk7
CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwg
R0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVt
IHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworCisgICAgdm9pZCB0ZXhTdWJJbWFnZTJE
KEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0
LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5
cGUsIEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNl
dCwgR0xpbnQgeW9mZnNldCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291
cmNlPyBzb3VyY2UpOworCisgICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHTGVudW0gdGFy
Z2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7CisgICAg
dm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwg
R0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsIEdMZW51bSBmb3JtYXQsIEFycmF5QnVmZmVyVmlldyBkYXRhKTsKIAotICAgIHZvaWQgY29t
cHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhv
ZmZzZXQsIEdMaW50IHlvZmZzZXQsCi0gICAgICAgIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVp
Z2h0LCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAgCiAgICAgdm9p
ZCBjb3B5VGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVy
bmFsZm9ybWF0LCBHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdo
dCwgR0xpbnQgYm9yZGVyKTsKICAgICB2b2lkIGNvcHlUZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJn
ZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGludCB4LCBH
TGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCk7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9taXNjL3ZpZXdzLXdpdGgtb2Zmc2V0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvbWlz
Yy92aWV3cy13aXRoLW9mZnNldHMtZXhwZWN0ZWQudHh0CmluZGV4IDhhZWJhNDU3NWQyYmM2ZWVj
ZTY2OTIyNzA3ZDQ5MGZmZDdlMjcwMTQuLmEyZmQ5MjVjN2MwNGY3OTQ1YjY4OGNiZGQxY2E4NThi
YmQ5ODIxOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNl
Mi9taXNjL3ZpZXdzLXdpdGgtb2Zmc2V0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL21pc2Mvdmlld3Mtd2l0aC1vZmZzZXRzLWV4cGVjdGVk
LnR4dApAQCAtNTEsMzAgKzUxLDIwIEBAIFRlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlMi9taXNjL3ZpZXdzLXdpdGgtb2Zmc2V0cy5odG1sCiBbIDQ4OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1Ig
OgogWyA0OTogRkFJTCBdIERvZXMgbm90IHN1cHBvcnQgdGV4U3ViSW1hZ2UzRCB3aXRoIG9mZnNl
dHMgaW50byB2aWV3cy4KIFsgNTA6IEZBSUwgXSBEb2VzIG5vdCBzdXBwb3J0IGNvbXByZXNzZWRU
ZXhJbWFnZTJEIHdpdGggb2Zmc2V0cyBpbnRvIHZpZXdzLgotWyA1MTogRkFJTCBdIGdldEVycm9y
IGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOgotWyA1MjogRkFJTCBdIGdl
dEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOgotWyA1MzogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6Ci1bIDU0OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDoKLVsgNTU6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyA1
NjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6Ci1b
IDU3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDoK
LVsgNTg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUg
OgotWyA1OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxV
RSA6Ci1bIDYwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZB
TFVFIDoKLVsgNjE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURf
VkFMVUUgOgotWyA2MjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOgotWyA2MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OgotWyA2NDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9f
RVJST1IgOgotWyA2NTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBX
YXMgTk9fRVJST1IgOgotWyA2NjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZB
TFVFLiBXYXMgTk9fRVJST1IgOgotWyA2NzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZB
TElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA2ODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA2OTogRkFJTCBdIGdldEVycm9yIGV4
cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA3MDogRkFJTCBdIGdldEVy
cm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA3MTogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgotWyA3Mjog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX1ZBTFVFLiBXYXMgTk9fRVJST1IgOgot
WyA3MzogRkFJTCBdIERvZXMgbm90IHN1cHBvcnQgY29tcHJlc3NlZFRleFN1YkltYWdlM0Qgd2l0
aCBvZmZzZXRzIGludG8gdmlld3MuCi1bIDc0OiBGQUlMIF0gRG9lcyBub3Qgc3VwcG9ydCBkb1Jl
YWRQaXhlbHMgd2l0aCBvZmZzZXRzIGludG8gdmlld3MuCi1bIDc1OiBQQVNTIF0gc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLVsgRkFJTCBdIDM3IGZhaWx1cmVzIHJlcG9ydGVkCitbIDUxOiBG
QUlMIF0gRG9lcyBub3Qgc3VwcG9ydCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCB3aXRoIG9mZnNl
dHMgaW50byB2aWV3cy4KK1sgNTI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDoKK1sgNTM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDoKK1sgNTQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4g
V2FzIE5PX0VSUk9SIDoKK1sgNTU6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9W
QUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNTY6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5W
QUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNTc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNTg6IEZBSUwgXSBnZXRFcnJvciBl
eHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNTk6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNjA6IEZBSUwg
XSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoKK1sgNjE6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDoK
K1sgNjI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VS
Uk9SIDoKK1sgNjM6IEZBSUwgXSBEb2VzIG5vdCBzdXBwb3J0IGNvbXByZXNzZWRUZXhTdWJJbWFn
ZTNEIHdpdGggb2Zmc2V0cyBpbnRvIHZpZXdzLgorWyA2NDogRkFJTCBdIERvZXMgbm90IHN1cHBv
cnQgZG9SZWFkUGl4ZWxzIHdpdGggb2Zmc2V0cyBpbnRvIHZpZXdzLgorWyA2NTogUEFTUyBdIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCitbIEZBSUwgXSAzNiBmYWlsdXJlcyByZXBvcnRlZAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGlu
Zy9yZWFkLXBpeGVscy1mcm9tLXJnYjgtaW50by1wYm8tYnVnLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20t
cmdiOC1pbnRvLXBiby1idWctZXhwZWN0ZWQudHh0CmluZGV4IGNmYjVmYWNkY2Y3YTExZDQzNTE1
NTA5OWYzZmVkNzRiM2JlYzBiMWYuLjMwYjNjYzc3NmFlYTdlZmRjYzc4MzhiOTA3Mjc3MTFhODYx
NzYwYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20tcmdiOC1pbnRvLXBiby1idWctZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4
ZWxzLWZyb20tcmdiOC1pbnRvLXBiby1idWctZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsOSBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDgyOiBUeXBlRXJyb3I6IEFyZ3VtZW50IDcgKCdwaXhlbHMn
KSB0byBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LnJlYWRQaXhlbHMgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBBcnJheUJ1ZmZlclZpZXcKIFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFk
LXBpeGVscy1mcm9tLXJnYjgtaW50by1wYm8tYnVnLmh0bWwKIFsgMTogUEFTUyBdIGNvbnRleHQg
ZXhpc3RzCi1bIDI6IEZBSUwgXSBzdWNjZXNzZnVsbHlQYXJzZWQgc2hvdWxkIGJlIHRydWUgKG9m
IHR5cGUgYm9vbGVhbikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KLVsgRkFJ
TCBdIDEgZmFpbHVyZXMgcmVwb3J0ZWQKK1sgMjogRkFJTCBdIEV4cGVjdGVkIGluIHBpeGVsIDA6
IFsyNTUsMCwwLDI1NV0sIGdvdDogMCwwLDAsMAorWyAzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9FTlVNIDogVGVzdHMgc2hvdWxkIGNvbXBsZXRlIHdp
dGhvdXQgZ2wgZXJyb3JzCitbIDQ6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
WyBGQUlMIF0gMiBmYWlsdXJlcyByZXBvcnRlZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1pbnRvLXBpeGVsLXBh
Y2stYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1h
bmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWludG8tcGl4ZWwtcGFjay1idWZmZXItZXhwZWN0ZWQu
dHh0CmluZGV4IGM1OTMwZjNjNjIzM2EwZDI5M2M5NjYyMTBlY2E5MDU0NmU1ODE1YTUuLjllYTlm
YTk3ZmI4YmUzYjUzN2RjMDViMmYxMzdhODZmNTNkNjZiZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWludG8tcGl4
ZWwtcGFjay1idWZmZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4w
L2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWludG8tcGl4ZWwtcGFjay1idWZmZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsMzMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTM6
IFR5cGVFcnJvcjogQXJndW1lbnQgNyAoJ3BpeGVscycpIHRvIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQucmVhZFBpeGVscyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFycmF5QnVmZmVyVmlldwogVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCiAKIFRlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWludG8tcGl4ZWwtcGFjay1i
dWZmZXIuaHRtbAogWyAxOiBQQVNTIF0gY29udGV4dCBleGlzdHMKIFsgMjogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBzaG91bGQgZ2VuZXJh
dGUgSU5WQUxJRF9PUEVSQVRJT04gaWYgcGl4ZWwgcGFjayBidWZmZXIgaXMgYm91bmQKLVsgMzog
RkFJTCBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBzaG91bGQgYmUgdHJ1ZSAob2YgdHlwZSBib29sZWFu
KS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgotWyBGQUlMIF0gMSBmYWlsdXJl
cyByZXBvcnRlZAorWyAzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6CitbIDQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2Fz
IE5PX0VSUk9SIDogb2Zmc2V0IDwgMAorWyA1OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElO
VkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBvZmZzZXQgPiBidWZmZXIgc2l6ZQorWyA2
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJS
T1IgOiBwaXhlbCBwYWNrIGJ1ZmZlciBpcyBub3QgbGFyZ2UgZW5vdWdoCitbIDc6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZGluZyBwaXhlbHMgb3V0
c2lkZSBvZiB0aGUgZnJhbWVidWZmZXIgc2hvdWxkIHN1Y2NlZWQuCitbIDg6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZGluZyBwaXhlbHMgb3V0c2lk
ZSBvZiB0aGUgZnJhbWVidWZmZXIgc2hvdWxkIHN1Y2NlZWQuCitbIDk6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogSU5WQUxJRF9WQUxVRS4gV2FzIE5PX0VSUk9SIDogcmVhZGluZyBwaXhlbHMg
d2l0aCBuZWdhdGl2ZSB3aWR0aCAvIGhlaWdodCBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9WQUxV
RS4KK1sgMTA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9FTlVNLiBXYXMgTk9f
RVJST1IgOiBGb3JtYXQgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgREVQVEhfQ09NUE9O
RU5UCitbIDExOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfRU5VTS4gV2FzIE5P
X0VSUk9SIDogRm9ybWF0IHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFzIERFUFRIX1NURU5D
SUwKK1sgMTI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9FTlVNLiBXYXMgTk9f
RVJST1IgOiBGb3JtYXQgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUjgKK1sgMTM6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9FTlVNLiBXYXMgTk9fRVJST1IgOiBGb3Jt
YXQgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUkdCQTQKK1sgMTQ6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogSU5WQUxJRF9FTlVNLiBXYXMgTk9fRVJST1IgOiBGb3JtYXQgc2hvdWxk
IG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgTFVNSU5BTkNFCitbIDE1OiBGQUlMIF0gZ2V0RXJyb3Ig
ZXhwZWN0ZWQ6IElOVkFMSURfRU5VTS4gV2FzIE5PX0VSUk9SIDogRm9ybWF0IHNob3VsZCBub3Qg
YmUgYWJsZSB0byByZWFkIGFzIExVTUlOQU5DRV9BTFBIQQorWyAxNjogRkFJTCBdIGdldEVycm9y
IGV4cGVjdGVkOiBJTlZBTElEX0VOVU0uIFdhcyBOT19FUlJPUiA6IFR5cGUgc2hvdWxkIG5vdCBi
ZSBhYmxlIHRvIHJlYWQgYXMgVU5TSUdORURfSU5UXzI0XzgKK1sgMTc6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogVGhlIGNvbWJpbmF0aW9uIG9mIGZvcm1h
dC90eXBlIHNob3VsZCBiZSBhYmxlIHRvIHJlYWQgYXMgUkdCQSAvIFVOU0lHTkVEX0JZVEUKK1sg
MTg6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19F
UlJPUiA6IFRoZSBjb21iaW5hdGlvbiBvZiBmb3JtYXQvdHlwZSBzaG91bGQgbm90IGJlIGFibGUg
dG8gcmVhZCBhcyBSR0IgLyBVTlNJR05FRF9CWVRFCitbIDE5OiBGQUlMIF0gZ2V0RXJyb3IgZXhw
ZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBUaGUgY29tYmluYXRpb24g
b2YgZm9ybWF0L3R5cGUgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUkdCIC8gVU5TSUdO
RURfU0hPUlRfNV82XzUKK1sgMjA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9P
UEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IFRoZSBjb21iaW5hdGlvbiBvZiBmb3JtYXQvdHlwZSBz
aG91bGQgbm90IGJlIGFibGUgdG8gcmVhZCBhcyBSR0JBIC8gVU5TSUdORURfU0hPUlRfNV81XzVf
MQorWyAyMTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2Fz
IE5PX0VSUk9SIDogVGhlIGNvbWJpbmF0aW9uIG9mIGZvcm1hdC90eXBlIHNob3VsZCBub3QgYmUg
YWJsZSB0byByZWFkIGFzIFJHQkEgLyBVTlNJR05FRF9TSE9SVF80XzRfNF80CitbIDIyOiBGQUlM
IF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBU
aGUgY29tYmluYXRpb24gb2YgZm9ybWF0L3R5cGUgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQg
YXMgQUxQSEEgLyBVTlNJR05FRF9CWVRFCitbIDIzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6
IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBUaGUgY29tYmluYXRpb24gb2YgZm9y
bWF0L3R5cGUgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgUkVEIC8gVU5TSUdORURfQllU
RQorWyAyNDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2Fz
IE5PX0VSUk9SIDogVGhlIGNvbWJpbmF0aW9uIG9mIGZvcm1hdC90eXBlIHNob3VsZCBub3QgYmUg
YWJsZSB0byByZWFkIGFzIFJHQkFfSU5URUdFUiAvIFVOU0lHTkVEX0lOVAorWyAyNTogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogVGhl
IGNvbWJpbmF0aW9uIG9mIGZvcm1hdC90eXBlIHNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFz
IFJHQkFfSU5URUdFUiAvIElOVAorWyAyNjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOgorWyAyNzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElE
X09QRVJBVElPTi4gV2FzIE5PX0VSUk9SIDogbm8gcGl4ZWwgcGFjayBidWZmZXIgYm91bmQKK1sg
Mjg6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorWyBGQUlMIF0gMjAgZmFpbHVy
ZXMgcmVwb3J0ZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9y
bWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtcGFjay1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXBhY2stcGFyYW1ldGVycy1leHBlY3RlZC50eHQKaW5kZXggODk0ODdlZmE5NDlkZjMwOWZlMDYw
NmI4ZWVmOWI2MjBkMGMyMzMwMS4uMTc4ZDZhZjNlM2I1MWUxNzdmYWY4YTNmOTUyMTlmNzQzM2Rk
MWFkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3Jl
YWRpbmcvcmVhZC1waXhlbHMtcGFjay1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1wYWNr
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0xLDE3NCArMSw1MDYgQEAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxNTk6IFR5cGVFcnJvcjogQXJndW1lbnQgNyAoJ3BpeGVscycpIHRvIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHQucmVhZFBpeGVscyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEFycmF5
QnVmZmVyVmlldwogVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCiAKIFRlc3Q6IC4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLXBh
Y2stcGFyYW1ldGVycy5odG1sCiBbIDE6IFBBU1MgXSBjb250ZXh0IGV4aXN0cwogWyAyOiBGQUlM
IF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVN
IDogYnVmZmVyIHRvbyBzbWFsbAogWyAzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VS
Uk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCi1b
IDQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZB
TElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCi1bIDU6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKK1sgNDogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEw
MiwwLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUsMjU1XQorWyA1OiBGQUlMIF0gbGFzdCBwaXhlbCBv
ZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0K
IFsgNjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElO
VkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKIFsgNzogRkFJTCBdIGdldEVycm9yIGV4cGVj
dGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQg
c3VjY2VlZAotWyA4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9O
LiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA5OiBGQUlMIF0gZ2V0RXJy
b3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxz
IHNob3VsZCBzdWNjZWVkCitbIDg6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0
ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgOTogRkFJTCBdIGxh
c3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsyNTUsMjU1
LDI1NSwyNTVdCiBbIDEwOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAogWyAxMTogRkFJTCBdIGdl
dEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBp
eGVscyBzaG91bGQgc3VjY2VlZAotWyAxMjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZB
TElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgMTM6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElP
TiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMTI6IEZBSUwgXSBmaXJzdCBwaXhlbCBv
ZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0K
K1sgMTM6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1
NV0sIGdvdCBbMjU1LDI1NSwyNTUsMjU1XQogWyAxNDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwK
IFsgMTU6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09Q
RVJBVElPTiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKLVsgMTY6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIg
dG9vIHNtYWxsCi1bIDE3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMg
SU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCi1bIDE4OiBGQUlM
IF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9FTlVNIDogcmVhZFBp
eGVscyBzaG91bGQgc3VjY2VlZAotWyAxOTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZB
TElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgMjA6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElP
TiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKLVsgMjE6IEZBSUwgXSBnZXRFcnJvciBleHBl
Y3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNt
YWxsCi1bIDIyOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJ
RF9PUEVSQVRJT04gOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDE2OiBGQUlMIF0gZmly
c3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsyNTUsMjU1
LDI1NSwyNTVdCitbIDE3OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0
OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTg6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIg
dG9vIHNtYWxsCitbIDE5OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMg
SU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDIwOiBGQUlM
IF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsy
NTUsMjU1LDI1NSwyNTVdCitbIDIxOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0
ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMjI6IEZBSUwgXSBs
YXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMjU1LDI1
NSwyNTUsMjU1XQogWyAyMzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJB
VElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgMjQ6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSW52YWxpZCBw
YWNrIHBhcmFtcyBjb21iaW5hdGlvbgotWyAyNTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJ
TlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsg
MjY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9O
IDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgotWyAyNzogRkFJTCBdIGdldEVycm9y
IGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0
b28gc21hbGwKLVsgMjg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFM
SURfT1BFUkFUSU9OIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgotWyAyOTogRkFJ
TCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5V
TSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgMzA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlv
bgotWyAzMTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2Fz
IElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgMzI6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSW52YWxpZCBwYWNrIHBhcmFt
cyBjb21iaW5hdGlvbgotWyAzMzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09Q
RVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgMzQ6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSW52YWxp
ZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgotWyAzNTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwK
LVsgMzY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFU
SU9OIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgotWyAzNzogRkFJTCBdIGdldEVy
cm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZl
ciB0b28gc21hbGwKLVsgMzg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElO
VkFMSURfT1BFUkFUSU9OIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgotWyAzOTog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURf
RU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgNDA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5h
dGlvbgorWyAyNDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFM
SURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAyNTogRkFJTCBdIGZp
cnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMjU1LDI1
NSwyNTUsMjU1XQorWyAyNjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsy
NDksMTAyLDAsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDI3OiBGQUlMIF0gbGFzdCBw
aXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1
LDI1NV0KK1sgMjg6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04u
IFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI5OiBGQUlMIF0gZ2V0RXJy
b3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxz
IHNob3VsZCBzdWNjZWVkCitbIDMwOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVj
dGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDMxOiBGQUlMIF0g
bGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwy
NTUsMjU1LDI1NV0KK1sgMzI6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBb
MiwyMDAsMTAyLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUsMjU1XQorWyAzMzogRkFJTCBdIGxhc3Qg
cGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMjU1LDI1NSwy
NTUsMjU1XQorWyAzNDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzU6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhl
bHMgc2hvdWxkIHN1Y2NlZWQKK1sgMzY6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhw
ZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMzc6IEZBSUwg
XSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMjU1
LDI1NSwyNTUsMjU1XQorWyAzODogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVk
IFsyLDIwMCwxMDIsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDM5OiBGQUlMIF0gbGFz
dCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsyNTUsMjU1
LDI1NSwyNTVdCitbIDQwOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMg
SU5WQUxJRF9FTlVNIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAogWyA0MTogRkFJTCBdIGdl
dEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1
ZmZlciB0b28gc21hbGwKLVsgNDI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IElOVkFMSURfT1BFUkFUSU9OIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21iaW5hdGlvbgotWyA0
MzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFM
SURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgNDQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSW52YWxpZCBwYWNrIHBhcmFtcyBjb21i
aW5hdGlvbgorWyA0MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElO
VkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA0MzogRkFJTCBd
IGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMjU1
LDI1NSwyNTUsMjU1XQorWyA0NDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVk
IFsyNDksMTAyLDAsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCiBbIDQ1OiBGQUlMIF0gZ2V0
RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVm
ZmVyIHRvbyBzbWFsbAotWyA0NjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9PUEVSQVRJT04gOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCi1bIDQ3
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJ
RF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA0ODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3Vj
Y2VlZAorWyA0NjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFM
SURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA0NzogRkFJTCBdIGZp
cnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMjU1LDI1
NSwyNTUsMjU1XQorWyA0ODogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsy
NDksMTAyLDAsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCiBbIDQ5OiBGQUlMIF0gZ2V0RXJy
b3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVy
IHRvbyBzbWFsbAotWyA1MDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2Fz
IElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA1MDogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBJbnZh
bGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCiBbIDUxOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFs
bAotWyA1MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURf
T1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA1MjogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBJbnZhbGlkIHBhY2sg
cGFyYW1zIGNvbWJpbmF0aW9uCiBbIDUzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFM
SURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA1NDog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9O
IDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA1NDogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNv
bWJpbmF0aW9uCiBbIDU1OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA1NjogRkFJTCBdIGdl
dEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBp
eGVscyBzaG91bGQgc3VjY2VlZAorWyA1NjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9u
CiBbIDU3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMg
SU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA1ODogRkFJTCBdIGdldEVycm9yIGV4
cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91
bGQgc3VjY2VlZAorWyA1ODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9PUEVSQVRJT04gOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCiBbIDU5OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA2MDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBO
T19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2Vl
ZAorWyA2MDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVS
QVRJT04gOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCiBbIDYxOiBGQUlMIF0gZ2V0
RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVm
ZmVyIHRvbyBzbWFsbAotWyA2MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4g
V2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA2Mjog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBJ
bnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCiBbIDYzOiBGQUlMIF0gZ2V0RXJyb3IgZXhw
ZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBz
bWFsbAotWyA2NDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFM
SURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA2NDogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBJbnZhbGlkIHBh
Y2sgcGFyYW1zIGNvbWJpbmF0aW9uCiBbIDY1OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElO
VkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA2
NjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFU
SU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA2NjogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBJbnZhbGlkIHBhY2sgcGFyYW1z
IGNvbWJpbmF0aW9uCiBbIDY3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA2ODogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVh
ZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA2ODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0
aW9uCiBbIDY5OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBX
YXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA3MDogRkFJTCBdIGdldEVycm9y
IGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBz
aG91bGQgc3VjY2VlZAorWyA3MDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9PUEVSQVRJT04gOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCiBbIDcx
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJ
RF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyA3MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3Vj
Y2VlZAorWyA3MjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9P
UEVSQVRJT04gOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCiBbIDczOiBGQUlMIF0g
Z2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDog
YnVmZmVyIHRvbyBzbWFsbAogWyA3NDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJP
Ui4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAotWyA3
NTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFM
SURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgNzY6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKLVsgNzc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04u
IFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCi1bIDc4OiBGQUlMIF0gZ2V0RXJy
b3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxz
IHNob3VsZCBzdWNjZWVkCitbIDc1OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVj
dGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDc2OiBGQUlMIF0g
bGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwy
NTUsMjU1LDI1NV0KK1sgNzc6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBb
MiwyMDAsMTAyLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUsMjU1XQorWyA3ODogRkFJTCBdIGxhc3Qg
cGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMjU1LDI1NSwy
NTUsMjU1XQogWyA3OTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKIFsgODA6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhl
bHMgc2hvdWxkIHN1Y2NlZWQKLVsgODE6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJ
RF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCi1bIDgyOiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04g
OiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDgxOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiBy
b3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sg
ODI6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0s
IGdvdCBbMjU1LDI1NSwyNTUsMjU1XQogWyA4MzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJ
TlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKIFsg
ODQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJB
VElPTiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKLVsgODU6IEZBSUwgXSBnZXRFcnJvciBl
eHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9v
IHNtYWxsCi1bIDg2OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5W
QUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCi1bIDg3OiBGQUlMIF0g
Z2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDog
YnVmZmVyIHRvbyBzbWFsbAotWyA4ODogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJP
Ui4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAotWyA4
OTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFM
SURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgOTA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKLVsgOTE6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04u
IFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCi1bIDkyOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2Nl
ZWQKLVsgOTM6IEZBSUwgXSBQYWRkaW5nIGJ5dGUgNCBvZiByb3cgMCBjaGFuZ2VkOiBleHBlY3Rl
ZCAxLCBnb3QgMgotWyA5NDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsy
LDIwMCwxMDIsMjU1XSwgZ290IFsxMzQsODcsMjM0LDI1NV0KLVsgOTU6IEZBSUwgXSBQYWRkaW5n
IGJ5dGUgMCBvZiByb3cgMSBjaGFuZ2VkOiBleHBlY3RlZCAxLCBnb3QgMTM0Ci1bIDk2OiBGQUlM
IF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBb
MSwyLDMsNF0KLVsgOTc6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0
LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCi1bIDk4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFs
bAotWyA5OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBy
ZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCi1bIDEwMDogRkFJTCBdIFBhZGRpbmcgYnl0ZSA4IG9m
IHJvdyAwIGNoYW5nZWQ6IGV4cGVjdGVkIDEsIGdvdCAyCi1bIDEwMTogRkFJTCBdIGZpcnN0IHBp
eGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMSwyLDMsNF0sIGdvdCBbMiwyMDAsMTAyLDI1NV0KLVsg
MTAyOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVd
LCBnb3QgWzEsMiwzLDRdCi1bIDEwMzogRkFJTCBdIFBhZGRpbmcgYnl0ZSAwIG9mIHJvdyAxIGNo
YW5nZWQ6IGV4cGVjdGVkIDEsIGdvdCAxMzQKLVsgMTA0OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiBy
b3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQotWyAxMDU6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VO
VU0gOiBidWZmZXIgdG9vIHNtYWxsCi1bIDEwNjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCi1bIDEwNzogRkFJ
TCBdIFBhZGRpbmcgYnl0ZSA0IG9mIHJvdyAwIGNoYW5nZWQ6IGV4cGVjdGVkIDEsIGdvdCAyNDkK
LVsgMTA4OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzI0OSwxMDIsMCwy
NTVdLCBnb3QgWzIsMjAwLDEwMiwyNTVdCi1bIDEwOTogRkFJTCBdIFBhZGRpbmcgYnl0ZSAwIG9m
IHJvdyAxIGNoYW5nZWQ6IGV4cGVjdGVkIDEsIGdvdCAyCi1bIDExMDogRkFJTCBdIGZpcnN0IHBp
eGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KLVsg
MTExOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVd
LCBnb3QgWzEsMiwzLDRdCi1bIDExMjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElE
X09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgMTEzOiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMg
c2hvdWxkIHN1Y2NlZWQKLVsgMTE0OiBGQUlMIF0gUGFkZGluZyBieXRlIDggb2Ygcm93IDAgY2hh
bmdlZDogZXhwZWN0ZWQgMSwgZ290IDI0OQotWyAxMTU6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiBy
b3cgMTogZXhwZWN0ZWQgWzEsMiwzLDRdLCBnb3QgWzI0OSwxMDIsMCwyNTVdCi1bIDExNjogRkFJ
TCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsx
LDIsMyw0XQotWyAxMTc6IEZBSUwgXSBQYWRkaW5nIGJ5dGUgMCBvZiByb3cgMSBjaGFuZ2VkOiBl
eHBlY3RlZCAxLCBnb3QgMgotWyAxMTg6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBl
Y3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KLVsgMTE5OiBGQUlMIF0gZ2V0RXJy
b3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVy
IHRvbyBzbWFsbAotWyAxMjA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA4NTogRkFJTCBdIGZpcnN0IHBp
eGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUs
MjU1XQorWyA4NjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyNDksMTAy
LDAsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDg3OiBGQUlMIF0gbGFzdCBwaXhlbCBv
ZiByb3cgMjogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0K
K1sgODg6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJ
TlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDg5OiBGQUlMIF0gZ2V0RXJyb3IgZXhw
ZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxzIHNob3Vs
ZCBzdWNjZWVkCitbIDkwOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzI0
OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgOTE6IEZBSUwgXSBsYXN0IHBp
eGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUs
MjU1XQorWyA5MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4g
V2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgOTM6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhlbHMg
c2hvdWxkIHN1Y2NlZWQKK1sgOTQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9P
UEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDk1OiBGQUlM
IF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiBy
ZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDk2OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6
IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAor
WyA5NzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BF
UkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA5ODogRkFJTCBdIGZpcnN0IHBp
eGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUs
MjU1XQorWyA5OTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAs
MTAyLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUsMjU1XQorWyAxMDA6IEZBSUwgXSBmaXJzdCBwaXhl
bCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwy
NTVdCitbIDEwMTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4g
V2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMTAyOiBGQUlMIF0gZ2V0RXJy
b3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxz
IHNob3VsZCBzdWNjZWVkCitbIDEwMzogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVj
dGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUsMjU1XQorWyAxMDQ6IEZBSUwg
XSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0g
OiBidWZmZXIgdG9vIHNtYWxsCitbIDEwNTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19F
UlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAor
WyAxMDY6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzEzNCw4NywyMzQs
MjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDEwNzogRkFJTCBdIGdldEVycm9yIGV4cGVj
dGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21h
bGwKK1sgMTA4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJ
RF9PUEVSQVRJT04gOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDEwOTogRkFJTCBdIGdl
dEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1
ZmZlciB0b28gc21hbGwKK1sgMTEwOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9S
LiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDEx
MTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFM
SURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMTEyOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4ZWxzIHNob3VsZCBz
dWNjZWVkCitbIDExMzogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5
LDEwMiwwLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUsMjU1XQorWyAxMTQ6IEZBSUwgXSBsYXN0IHBp
eGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUs
MjU1XQorWyAxMTU6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAs
MTAyLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUsMjU1XQorWyAxMTY6IEZBSUwgXSBsYXN0IHBpeGVs
IG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1
NV0KK1sgMTE3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBX
YXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAxMTg6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhlbHMg
c2hvdWxkIHN1Y2NlZWQKK1sgMTE5OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0
ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTIwOiBGQUlMIF0g
bGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzI1NSwy
NTUsMjU1LDI1NV0KIFsgMTIxOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyAxMjI6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91
bGQgc3VjY2VlZAotWyAxMjM6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVS
QVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCi1bIDEyNDogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBzdWNjZWVkCi1bIDEyNTogRkFJTCBdIFBhZGRpbmcgYnl0ZSA0IG9mIHJvdyAwIGNoYW5nZWQ6
IGV4cGVjdGVkIDEsIGdvdCAyCi1bIDEyNjogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBl
eHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KLVsgMTI3OiBGQUlMIF0gbGFz
dCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzEsMiwzLDRdLCBnb3QgWzEzNCw4NywyMzQsMjU1
XQotWyAxMjg6IEZBSUwgXSBQYWRkaW5nIGJ5dGUgMCBvZiByb3cgMSBjaGFuZ2VkOiBleHBlY3Rl
ZCAxLCBnb3QgMTM0Ci1bIDEyOTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3Rl
ZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDEyMjogRkFJTCBdIGdldEVycm9y
IGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBz
aG91bGQgc3VjY2VlZAorWyAxMjM6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0
ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTI0OiBGQUlMIF0g
bGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwy
NTUsMjU1LDI1NV0KK1sgMTI1OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQg
WzIsMjAwLDEwMiwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTI2OiBGQUlMIF0gZ2V0
RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVm
ZmVyIHRvbyBzbWFsbAorWyAxMjc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1Iu
IFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMTI4
OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBn
b3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTI5OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjog
ZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KIFsgMTMwOiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyAxMzE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAotWyAxMzI6IEZB
SUwgXSBQYWRkaW5nIGJ5dGUgNCBvZiByb3cgMCBjaGFuZ2VkOiBleHBlY3RlZCAxLCBnb3QgOTkK
LVsgMTMzOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzk5LDUsNzYsMjU1
XSwgZ290IFsxLDIsMyw0XQorWyAxMzE6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJS
T1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sg
MTMyOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5W
QUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAxMzM6IEZBSUwgXSBnZXRFcnJvciBleHBl
Y3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhlbHMgc2hvdWxk
IHN1Y2NlZWQKIFsgMTM0OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAotWyAxMzU6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
c3VjY2VlZAotWyAxMzY6IEZBSUwgXSBQYWRkaW5nIGJ5dGUgNCBvZiByb3cgMCBjaGFuZ2VkOiBl
eHBlY3RlZCAxLCBnb3QgOTkKLVsgMTM3OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4
cGVjdGVkIFs5OSw1LDc2LDI1NV0sIGdvdCBbMSwyLDMsNF0KLVsgMTM4OiBGQUlMIF0gZ2V0RXJy
b3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVy
IHRvbyBzbWFsbAotWyAxMzk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAotWyAxNDA6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIg
dG9vIHNtYWxsCi1bIDE0MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDEzNTogRkFJTCBdIGdldEVycm9y
IGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BFUkFUSU9OIDogcmVhZFBpeGVscyBz
aG91bGQgc3VjY2VlZAorWyAxMzY6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0
ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTM3OiBGQUlMIF0g
Zmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsyNTUs
MjU1LDI1NSwyNTVdCitbIDEzODogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3Rl
ZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTM5OiBGQUlMIF0g
Z2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDog
YnVmZmVyIHRvbyBzbWFsbAorWyAxNDA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJS
T1IuIFdhcyBJTlZBTElEX09QRVJBVElPTiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sg
MTQxOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1
XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCiBbIDE0MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwK
LVsgMTQzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMg
Tk9fRVJST1IgOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCi1bIDE0NDogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6
IGJ1ZmZlciB0b28gc21hbGwKLVsgMTQ1OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFM
SURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0
aW9uCi1bIDE0NjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4g
V2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgMTQ3OiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2Nl
ZWQKLVsgMTQ4OiBGQUlMIF0gc2tpcHBlZCBieXRlcyBjaGFuZ2VkIGF0IGluZGV4IDA6IGV4cGVj
dGVkIDEgZ290IDI0OQotWyAxNDk6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0
ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCi1bIDE1MDogRkFJTCBdIGxhc3QgcGl4
ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQotWyAx
NTE6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVd
LCBnb3QgWzEsMiwzLDRdCi1bIDE1MjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVj
dGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQotWyAxNTM6IEZBSUwgXSBmaXJzdCBw
aXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQot
WyAxNTQ6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwy
NTVdLCBnb3QgWzEsMiwzLDRdCi1bIDE1NTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZB
TElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKLVsgMTU2
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJS
T1IgOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCi1bIDE1NzogRkFJTCBdIGdldEVy
cm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZl
ciB0b28gc21hbGwKLVsgMTU4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgTk9fRVJST1IgOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCitb
IDE0MzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfT1BF
UkFUSU9OIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAxNDQ6IEZBSUwgXSBmaXJzdCBw
aXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsyNTUsMjU1LDI1
NSwyNTVdCitbIDE0NTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMTQ2OiBGQUlMIF0gZ2V0
RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJT04gOiByZWFkUGl4
ZWxzIHNob3VsZCBzdWNjZWVkCitbIDE0NzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZB
TElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMTQ4
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9PUEVSQVRJ
T04gOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDE0OTogRkFJTCBdIGdldEVycm9yIGV4
cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28g
c21hbGwKK1sgMTUwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMTUxOiBGQUlMIF0gZmlyc3QgcGl4ZWwg
b2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVd
CitbIDE1MjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAs
MjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDE1MzogRkFJTCBdIFBhZGRpbmcgYnl0ZSA0
IG9mIHJvdyAwIGNoYW5nZWQ6IGV4cGVjdGVkIDEsIGdvdCAyCitbIDE1NDogRkFJTCBdIGZpcnN0
IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMjU1LDI1NSwy
NTUsMjU1XQorWyAxNTU6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwy
MDAsMTAyLDI1NV0sIGdvdCBbMTM0LDg3LDIzNCwyNTVdCitbIDE1NjogRkFJTCBdIFBhZGRpbmcg
Ynl0ZSAwIG9mIHJvdyAxIGNoYW5nZWQ6IGV4cGVjdGVkIDEsIGdvdCAxMzQKK1sgMTU3OiBGQUlM
IF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgMTU4OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEz
NCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQogWyAxNTk6IEZBSUwgXSBnZXRFcnJvciBleHBl
Y3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNt
YWxsCiBbIDE2MDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCi1bIDE2MTogRkFJTCBdIHNraXBwZWQgYnl0ZXMg
Y2hhbmdlZCBhdCBpbmRleCAwOiBleHBlY3RlZCAxIGdvdCAyNDkKLVsgMTYyOiBGQUlMIF0gZmly
c3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0
XQotWyAxNjM6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiww
LDI1NV0sIGdvdCBbMSwyLDMsNF0KLVsgMTY0OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6
IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQotWyAxNjU6IEZBSUwgXSBs
YXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMs
NF0KLVsgMTY2OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcs
MjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KLVsgMTY3OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cg
MjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQotWyAxNjg6IEZBSUwg
XSBzdWNjZXNzZnVsbHlQYXJzZWQgc2hvdWxkIGJlIHRydWUgKG9mIHR5cGUgYm9vbGVhbikuIFdh
cyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KLVsgRkFJTCBdIDE0MiBmYWlsdXJlcyBy
ZXBvcnRlZAorWyAxNjE6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5
LDEwMiwwLDI1NV0sIGdvdCBbMjU1LDI1NSwyNTUsMjU1XQorWyAxNjI6IEZBSUwgXSBQYWRkaW5n
IGJ5dGUgOCBvZiByb3cgMCBjaGFuZ2VkOiBleHBlY3RlZCAxLCBnb3QgMgorWyAxNjM6IEZBSUwg
XSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzEsMiwzLDRdLCBnb3QgWzI1NSwyNTUs
MjU1LDI1NV0KK1sgMTY0OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIs
MjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDE2NTogRkFJTCBdIFBhZGRpbmcgYnl0ZSAw
IG9mIHJvdyAxIGNoYW5nZWQ6IGV4cGVjdGVkIDEsIGdvdCAxMzQKK1sgMTY2OiBGQUlMIF0gbGFz
dCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0
XQorWyAxNjc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdh
cyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDE2ODogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVk
CitbIDE2OTogRkFJTCBdIFBhZGRpbmcgYnl0ZSA0IG9mIHJvdyAwIGNoYW5nZWQ6IGV4cGVjdGVk
IDEsIGdvdCAyNTUKK1sgMTcwOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVk
IFsyNDksMTAyLDAsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDE3MTogRkFJTCBdIGxh
c3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsyLDIwMCwx
MDIsMjU1XQorWyAxNzI6IEZBSUwgXSBQYWRkaW5nIGJ5dGUgMCBvZiByb3cgMSBjaGFuZ2VkOiBl
eHBlY3RlZCAxLCBnb3QgMjU1CitbIDE3MzogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBl
eHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMTc0OiBGQUlMIF0gbGFz
dCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRd
CitbIDE3NTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2Fz
IElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMTc2OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQK
K1sgMTc3OiBGQUlMIF0gUGFkZGluZyBieXRlIDggb2Ygcm93IDAgY2hhbmdlZDogZXhwZWN0ZWQg
MSwgZ290IDI1NQorWyAxNzg6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQg
WzEsMiwzLDRdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTc5OiBGQUlMIF0gbGFzdCBwaXhl
bCBvZiByb3cgMTogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDE4
MDogRkFJTCBdIFBhZGRpbmcgYnl0ZSAwIG9mIHJvdyAxIGNoYW5nZWQ6IGV4cGVjdGVkIDEsIGdv
dCAyCitbIDE4MTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsyLDIwMCwx
MDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAxODI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDog
SU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitb
IDE4MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFk
UGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDE4NDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJ
TlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sg
MTg1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQ
aXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMTg2OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElO
VkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAx
ODc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBp
eGVscyBzaG91bGQgc3VjY2VlZAorWyAxODg6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDog
ZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTg5OiBG
QUlMIF0gUGFkZGluZyBieXRlIDQgb2Ygcm93IDAgY2hhbmdlZDogZXhwZWN0ZWQgMSwgZ290IDI1
NQorWyAxOTA6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEw
MiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDE5MTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6
IGV4cGVjdGVkIFsxLDIsMyw0XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDE5MjogRkFJTCBd
IFBhZGRpbmcgYnl0ZSAwIG9mIHJvdyAxIGNoYW5nZWQ6IGV4cGVjdGVkIDEsIGdvdCAyNTUKK1sg
MTkzOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1
NV0sIGdvdCBbMSwyLDMsNF0KK1sgMTk0OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFM
SURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAxOTU6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVs
cyBzaG91bGQgc3VjY2VlZAorWyAxOTY6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBl
Y3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzI1NSwyNTUsMjU1LDI1NV0KK1sgMTk3OiBGQUlM
IF0gUGFkZGluZyBieXRlIDQgb2Ygcm93IDAgY2hhbmdlZDogZXhwZWN0ZWQgMSwgZ290IDk5Citb
IDE5ODogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFs5OSw1LDc2LDI1NV0s
IGdvdCBbMSwyLDMsNF0KK1sgMTk5OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURf
T1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyMDA6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBz
aG91bGQgc3VjY2VlZAorWyAyMDE6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0
ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsyNTUsMjU1LDI1NSwyNTVdCitbIDIwMjogRkFJTCBd
IFBhZGRpbmcgYnl0ZSA0IG9mIHJvdyAwIGNoYW5nZWQ6IGV4cGVjdGVkIDEsIGdvdCA5OQorWyAy
MDM6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzk5LDUsNzYsMjU1XSwg
Z290IFsxLDIsMyw0XQorWyAyMDQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9P
UEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDIwNTogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNo
b3VsZCBzdWNjZWVkCitbIDIwNjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09Q
RVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMjA3OiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hv
dWxkIHN1Y2NlZWQKK1sgMjA4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyMDk6IEZBSUwg
XSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IElu
dmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMjEwOiBGQUlMIF0gZ2V0RXJyb3IgZXhw
ZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBz
bWFsbAorWyAyMTE6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04u
IFdhcyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMjEyOiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyMTM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAyMTQ6IEZB
SUwgXSBza2lwcGVkIGJ5dGVzIGNoYW5nZWQgYXQgaW5kZXggMDogZXhwZWN0ZWQgMSBnb3QgMjU1
CitbIDIxNTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiww
LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjE2OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDog
ZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIxNzogRkFJTCBdIGZp
cnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMs
NF0KK1sgMjE4OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEw
MiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIxOTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAy
OiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIyMDogRkFJTCBd
IGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwy
LDMsNF0KK1sgMjIxOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9O
LiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyMjI6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IEludmFsaWQg
cGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMjIzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6
IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAor
WyAyMjQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBO
T19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMjI1OiBGQUlMIF0g
Z2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDog
YnVmZmVyIHRvbyBzbWFsbAorWyAyMjY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAyMjc6IEZBSUwgXSBz
a2lwcGVkIGJ5dGVzIGNoYW5nZWQgYXQgaW5kZXggMDogZXhwZWN0ZWQgMSBnb3QgMjU1CitbIDIy
ODogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0s
IGdvdCBbMSwyLDMsNF0KK1sgMjI5OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0
ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIzMDogRkFJTCBdIGZpcnN0IHBp
eGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sg
MjMxOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVd
LCBnb3QgWzEsMiwzLDRdCitbIDIzMjogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBleHBl
Y3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDIzMzogRkFJTCBdIGxhc3Qg
cGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0K
K1sgMjM0OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMg
SU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyMzU6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAor
WyAyMzY6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwy
NTVdLCBnb3QgWzEsMiwzLDRdCitbIDIzNzogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4
cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyMzg6IEZBSUwgXSBmaXJz
dCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRd
CitbIDIzOTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIs
MjU1XSwgZ290IFsxLDIsMyw0XQorWyAyNDA6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMjog
ZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyNDE6IEZBSUwgXSBs
YXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwz
LDRdCitbIDI0MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4g
V2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMjQzOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2Nl
ZWQKK1sgMjQ0OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAy
LDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyNDU6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAw
OiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjQ2OiBGQUlMIF0g
Zmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIs
Myw0XQorWyAyNDc6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAs
MTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjQ4OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93
IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjQ5OiBGQUlM
IF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyAyNTA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJ
T04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI1MTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBz
dWNjZWVkCitbIDI1MjogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5
LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjUzOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiBy
b3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI1NDogRkFJ
TCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgMjU1OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIs
MjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI1NjogRkFJTCBdIGZpcnN0IHBpeGVsIG9m
IHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI1Nzog
RkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgMjU4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAyNTk6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91
bGQgc3VjY2VlZAorWyAyNjA6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQg
WzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI2MTogRkFJTCBdIGxhc3QgcGl4ZWwg
b2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyNjI6
IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBn
b3QgWzEsMiwzLDRdCitbIDI2MzogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVk
IFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyNjQ6IEZBSUwgXSBmaXJzdCBwaXhl
bCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAy
NjU6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVd
LCBnb3QgWzEsMiwzLDRdCitbIDI2NjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElE
X09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMjY3OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMg
c2hvdWxkIHN1Y2NlZWQKK1sgMjY4OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVj
dGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyNjk6IEZBSUwgXSBsYXN0IHBp
eGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sg
MjcwOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1
XSwgZ290IFsxLDIsMyw0XQorWyAyNzE6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBl
Y3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjcyOiBGQUlMIF0gZmlyc3Qg
cGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0K
K1sgMjczOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQs
MjU1XSwgZ290IFsxLDIsMyw0XQorWyAyNzQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5W
QUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDI3
NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4
ZWxzIHNob3VsZCBzdWNjZWVkCitbIDI3NjogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBl
eHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjc3OiBGQUlMIF0gbGFz
dCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRd
CitbIDI3ODogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAy
LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjc5OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTog
ZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI4MDogRkFJTCBdIGZp
cnN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwz
LDRdCitbIDI4MTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcs
MjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjgyOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6
IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAor
WyAyODM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAyODQ6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cg
MDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI4NTogRkFJTCBd
IGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIs
Myw0XQorWyAyODY6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAw
LDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI4NzogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93
IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyODg6IEZBSUwg
XSBmaXJzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyAyODk6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0
LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDI5MDogRkFJTCBdIGdldEVycm9yIGV4cGVj
dGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21h
bGwKK1sgMjkxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgMjkyOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Yg
cm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyOTM6IEZB
SUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgMjk0OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsy
LDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyOTU6IEZBSUwgXSBsYXN0IHBpeGVsIG9m
IHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMjk2OiBG
QUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgMjk3OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQg
WzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAyOTg6IEZBSUwgXSBnZXRFcnJvciBl
eHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX0VOVU0gOiByZWFkUGl4ZWxzIHNob3VsZCBz
dWNjZWVkCitbIDI5OTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzAwOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKK1sgMzAxOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDks
MTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzMDI6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJv
dyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzAzOiBGQUlM
IF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyAzMDQ6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwy
MDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzA1OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Yg
cm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzA2OiBG
QUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyAzMDc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVS
QVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDMwODogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBzdWNjZWVkCitbIDMwOTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBb
MjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzEwOiBGQUlMIF0gbGFzdCBwaXhlbCBv
ZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDMxMTog
RkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgMzEyOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQg
WzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDMxMzogRkFJTCBdIGZpcnN0IHBpeGVs
IG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDMx
NDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0s
IGdvdCBbMSwyLDMsNF0KK1sgMzE1OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURf
T1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzMTY6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6
IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMzE3OiBGQUlMIF0gZ2V0RXJyb3Ig
ZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRv
byBzbWFsbAorWyAzMTg6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJ
T04uIFdhcyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMzE5
OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJ
RF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzMjA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMg
Y29tYmluYXRpb24KK1sgMzIxOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzMjI6IEZBSUwg
XSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IElu
dmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMzIzOiBGQUlMIF0gZ2V0RXJyb3IgZXhw
ZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBz
bWFsbAorWyAzMjQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04u
IFdhcyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMzI1OiBG
QUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9F
TlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzMjY6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDog
SU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29t
YmluYXRpb24KK1sgMzI3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzMjg6IEZBSUwgXSBn
ZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IEludmFs
aWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMzI5OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFs
bAorWyAzMzA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdh
cyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMzMxOiBGQUlM
IF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVN
IDogYnVmZmVyIHRvbyBzbWFsbAorWyAzMzI6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5W
QUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmlu
YXRpb24KK1sgMzMzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9O
LiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzMzQ6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IEludmFsaWQg
cGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMzM1OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6
IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAor
WyAzMzY6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBO
T19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgMzM3OiBGQUlMIF0g
Z2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDog
YnVmZmVyIHRvbyBzbWFsbAorWyAzMzg6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJ
RF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRp
b24KK1sgMzM5OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBX
YXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzNDA6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2Vl
ZAorWyAzNDE6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIs
MCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM0MjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6
IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNDM6IEZBSUwgXSBm
aXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwz
LDRdCitbIDM0NDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwx
MDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNDU6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cg
MjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNDY6IEZBSUwg
XSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEs
MiwzLDRdCitbIDM0NzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzQ4OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKK1sgMzQ5OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwx
MDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM1MDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93
IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNTE6IEZBSUwg
XSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEs
MiwzLDRdCitbIDM1MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzUzOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKK1sgMzU0OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyNDks
MTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNTU6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJv
dyAxOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzU2OiBGQUlM
IF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyAzNTc6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMiwy
MDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzU4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFs
bAorWyAzNTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
cmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyAzNjA6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJv
dyAxOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzYxOiBGQUlM
IF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEs
MiwzLDRdCitbIDM2MjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzYzOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKK1sgMzY0OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9O
LiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzNjU6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3Vj
Y2VlZAorWyAzNjY6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04u
IFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDM2NzogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNj
ZWVkCitbIDM2ODogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEw
MiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzY5OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93
IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNzA6IEZBSUwg
XSBmaXJzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyAzNzE6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJ
T04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDM3MjogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBz
dWNjZWVkCitbIDM3MzogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMTM0
LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM3NDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Yg
cm93IDA6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzc1OiBG
QUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFs5OSw1LDc2LDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgMzc2OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzk5
LDUsNzYsMjU1XSwgZ290IFsxLDIsMyw0XQorWyAzNzc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3Rl
ZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxs
CitbIDM3ODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBy
ZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDM3OTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJv
dyAwOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM4MDogRkFJ
TCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbOTksNSw3NiwyNTVdLCBnb3QgWzEs
MiwzLDRdCitbIDM4MTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgMzgyOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKK1sgMzgzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9O
LiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzODQ6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3Vj
Y2VlZAorWyAzODU6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04u
IFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDM4NjogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBzdWNj
ZWVkCitbIDM4NzogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEw
MiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzg4OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cg
MDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM4OTogRkFJTCBd
IGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwy
LDMsNF0KK1sgMzkwOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzIsMjAw
LDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM5MTogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJv
dyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM5MjogRkFJ
TCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgMzkzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzOTQ6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
c3VjY2VlZAorWyAzOTU6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5
LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgMzk2OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiBy
b3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDM5NzogRkFJ
TCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgMzk4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyAzOTk6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
c3VjY2VlZAorWyA0MDA6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzI0
OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQwMTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Yg
cm93IDE6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0MDI6IEZB
SUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3Qg
WzEsMiwzLDRdCitbIDQwMzogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsy
LDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0MDQ6IEZBSUwgXSBnZXRFcnJvciBleHBl
Y3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNt
YWxsCitbIDQwNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBzdWNjZWVkCitbIDQwNjogRkFJTCBdIGxhc3QgcGl4ZWwgb2Yg
cm93IDE6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0MDc6IEZB
SUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgNDA4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyA0MDk6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
c3VjY2VlZAorWyA0MTA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJ
T04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDQxMTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBz
dWNjZWVkCitbIDQxMjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgNDEzOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKK1sgNDE0OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDks
MTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0MTU6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiBy
b3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQxNjogRkFJ
TCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3Qg
WzEsMiwzLDRdCitbIDQxNzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJB
VElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgNDE4OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxk
IHN1Y2NlZWQKK1sgNDE5OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsx
MzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDIwOiBGQUlMIF0gbGFzdCBwaXhlbCBv
ZiByb3cgMDogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0MjE6
IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzk5LDUsNzYsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyA0MjI6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBb
OTksNSw3NiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQyMzogRkFJTCBdIGdldEVycm9yIGV4cGVj
dGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21h
bGwKK1sgNDI0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgNDI1OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Yg
cm93IDA6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDI2OiBG
QUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFs5OSw1LDc2LDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgNDI3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyA0Mjg6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
c3VjY2VlZAorWyA0Mjk6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJ
T04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDQzMDogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBz
dWNjZWVkCitbIDQzMTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElP
Ti4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgNDMyOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1
Y2NlZWQKK1sgNDMzOiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDks
MTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0MzQ6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJv
dyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDM1OiBGQUlM
IF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyA0MzY6IEZBSUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbMiwy
MDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDM3OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Yg
cm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDM4OiBG
QUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyA0Mzk6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVS
QVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDQ0MDogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBzdWNjZWVkCitbIDQ0MTogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsy
NDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0NDI6IEZBSUwgXSBsYXN0IHBpeGVsIG9m
IHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDQzOiBG
QUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyA0NDQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVS
QVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDQ0NTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBzdWNjZWVkCitbIDQ0NjogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBb
MjQ5LDEwMiwwLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDQ3OiBGQUlMIF0gbGFzdCBwaXhlbCBv
ZiByb3cgMTogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQ0ODog
RkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAyOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgNDQ5OiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQg
WzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQ1MDogRkFJTCBdIGdldEVycm9yIGV4
cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28g
c21hbGwKK1sgNDUxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgNDUyOiBGQUlMIF0gbGFzdCBwaXhlbCBv
ZiByb3cgMTogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQ1Mzog
RkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyA0NTQ6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVS
QVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDQ1NTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBzdWNjZWVkCitbIDQ1NjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJB
VElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgNDU3OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxk
IHN1Y2NlZWQKK1sgNDU4OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyA0NTk6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
c3VjY2VlZAorWyA0NjA6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0
OSwxMDIsMCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQ2MTogRkFJTCBdIGZpcnN0IHBpeGVsIG9m
IHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDYyOiBG
QUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgNDYzOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BF
UkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyA0NjQ6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91
bGQgc3VjY2VlZAorWyA0NjU6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQg
WzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0NjY6IEZBSUwgXSBsYXN0IHBpeGVs
IG9mIHJvdyAwOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQ2
NzogRkFJTCBdIGZpcnN0IHBpeGVsIG9mIHJvdyAxOiBleHBlY3RlZCBbOTksNSw3NiwyNTVdLCBn
b3QgWzEsMiwzLDRdCitbIDQ2ODogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVk
IFs5OSw1LDc2LDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDY5OiBGQUlMIF0gZ2V0RXJyb3IgZXhw
ZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBz
bWFsbAorWyA0NzA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA0NzE6IEZBSUwgXSBmaXJzdCBwaXhlbCBv
ZiByb3cgMDogZXhwZWN0ZWQgWzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0NzI6
IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMTogZXhwZWN0ZWQgWzk5LDUsNzYsMjU1XSwgZ290
IFsxLDIsMyw0XQorWyA0NzM6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVS
QVRJT04uIFdhcyBJTlZBTElEX0VOVU0gOiBidWZmZXIgdG9vIHNtYWxsCitbIDQ3NDogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBzdWNjZWVkCitbIDQ3NTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJB
VElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgNDc2OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxk
IHN1Y2NlZWQKK1sgNDc3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFU
SU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFsbAorWyA0Nzg6IEZBSUwgXSBn
ZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdhcyBOT19FUlJPUiA6IEludmFs
aWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgNDc5OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0
ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVNIDogYnVmZmVyIHRvbyBzbWFs
bAorWyA0ODA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogSU5WQUxJRF9PUEVSQVRJT04uIFdh
cyBOT19FUlJPUiA6IEludmFsaWQgcGFjayBwYXJhbXMgY29tYmluYXRpb24KK1sgNDgxOiBGQUlM
IF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgSU5WQUxJRF9FTlVN
IDogYnVmZmVyIHRvbyBzbWFsbAorWyA0ODI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgc3VjY2VlZAorWyA0ODM6IEZBSUwg
XSBmaXJzdCBwaXhlbCBvZiByb3cgMDogZXhwZWN0ZWQgWzI0OSwxMDIsMCwyNTVdLCBnb3QgWzEs
MiwzLDRdCitbIDQ4NDogRkFJTCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDA6IGV4cGVjdGVkIFsyNDks
MTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0ODU6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiBy
b3cgMTogZXhwZWN0ZWQgWzIsMjAwLDEwMiwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQ4NjogRkFJ
TCBdIGxhc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsyLDIwMCwxMDIsMjU1XSwgZ290IFsx
LDIsMyw0XQorWyA0ODc6IEZBSUwgXSBmaXJzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQgWzEz
NCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0ODg6IEZBSUwgXSBsYXN0IHBpeGVsIG9m
IHJvdyAyOiBleHBlY3RlZCBbMTM0LDg3LDIzNCwyNTVdLCBnb3QgWzEsMiwzLDRdCitbIDQ4OTog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURf
RU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgNDkwOiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6
IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBJbnZhbGlkIHBhY2sgcGFyYW1zIGNv
bWJpbmF0aW9uCitbIDQ5MTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBJTlZBTElEX09QRVJB
VElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21hbGwKK1sgNDkyOiBGQUlMIF0g
Z2V0RXJyb3IgZXhwZWN0ZWQ6IElOVkFMSURfT1BFUkFUSU9OLiBXYXMgTk9fRVJST1IgOiBJbnZh
bGlkIHBhY2sgcGFyYW1zIGNvbWJpbmF0aW9uCitbIDQ5MzogRkFJTCBdIGdldEVycm9yIGV4cGVj
dGVkOiBJTlZBTElEX09QRVJBVElPTi4gV2FzIElOVkFMSURfRU5VTSA6IGJ1ZmZlciB0b28gc21h
bGwKK1sgNDk0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlYWRQaXhlbHMgc2hvdWxkIHN1Y2NlZWQKK1sgNDk1OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Yg
cm93IDA6IGV4cGVjdGVkIFsyNDksMTAyLDAsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0OTY6IEZB
SUwgXSBsYXN0IHBpeGVsIG9mIHJvdyAwOiBleHBlY3RlZCBbMjQ5LDEwMiwwLDI1NV0sIGdvdCBb
MSwyLDMsNF0KK1sgNDk3OiBGQUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDE6IGV4cGVjdGVkIFsy
LDIwMCwxMDIsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA0OTg6IEZBSUwgXSBsYXN0IHBpeGVsIG9m
IHJvdyAxOiBleHBlY3RlZCBbMiwyMDAsMTAyLDI1NV0sIGdvdCBbMSwyLDMsNF0KK1sgNDk5OiBG
QUlMIF0gZmlyc3QgcGl4ZWwgb2Ygcm93IDI6IGV4cGVjdGVkIFsxMzQsODcsMjM0LDI1NV0sIGdv
dCBbMSwyLDMsNF0KK1sgNTAwOiBGQUlMIF0gbGFzdCBwaXhlbCBvZiByb3cgMjogZXhwZWN0ZWQg
WzEzNCw4NywyMzQsMjU1XSwgZ290IFsxLDIsMyw0XQorWyA1MDE6IFBBU1MgXSBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorWyBGQUlMIF0gNDI5IGZhaWx1cmVzIHJlcG9ydGVkCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>