<?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>237479</bug_id>
          
          <creation_ts>2022-03-04 11:51:07 -0800</creation_ts>
          <short_desc>Delete WebIDBServer and WebIDBConnectionToClient</short_desc>
          <delta_ts>2022-03-07 10:03:16 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1848365</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-04 11:51:07 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848371</commentid>
    <comment_count>1</comment_count>
      <attachid>453864</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-04 12:03:03 -0800</bug_when>
    <thetext>Created attachment 453864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848502</commentid>
    <comment_count>2</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-04 21:42:12 -0800</bug_when>
    <thetext>I think we need clean build on debug bots..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848560</commentid>
    <comment_count>3</comment_count>
      <attachid>453864</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-05 13:35:39 -0800</bug_when>
    <thetext>Comment on attachment 453864
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848816</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-07 10:02:12 -0800</bug_when>
    <thetext>Committed r290896 (?): &lt;https://commits.webkit.org/r290896&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453864.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848818</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-07 10:03:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/89914137&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453864</attachid>
            <date>2022-03-04 12:03:03 -0800</date>
            <delta_ts>2022-03-07 10:02:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237479-20220304120302.patch</filename>
            <type>text/plain</type>
            <size>64891</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDUyY2ZlY2ZlMGRkMTEzNDY3
NWUxNDg2ZmIzMDZkZjNmMWI3MDM1ZjQuLjM0YmZhODc5NTZhODgyNWE3MDQ0MjA2ZmJmZTZkZTIw
NzJlMDNhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjItMDMtMDQgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsZXRlIFdlYklEQlNlcnZlciBh
bmQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc0NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgY29kZSBpcyB1bnVzZWQgc2luY2UgcjI4OTQ3NDsgcmVt
b3ZlIGl0IHRvIGF2b2lkIGNvbmZ1c2lvbiB3aGVuIGludmVzdGlnYXRpbmcgaXNzdWVzIGluY2x1
ZGluZyByZWxhdGVkCisgICAgICAgIHN5bWJvbHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvSW5k
ZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwOiBSZW1vdmVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmlu
OiBSZW1vdmVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9pb3MvTmV0d29ya1Byb2Nlc3NJT1MubW06CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjItMDMtMDMgIFJv
c3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIFJFR1JFU1NJ
T04ocjI5MDc3Nik6IE5ldHdvcmtTZXNzaW9uOjpzd1NlcnZlciBkZXBlbmRzIG9uIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IGE1NjY4NDk5MzQwYTAwODJjMjMw
YjMxOGRjOTA0ZjY3MzI2NjJiZjAuLjNhODExZTY4YmYxMTc3NTRiYTQ3M2I4NWQ0MjBjMzExNDRk
Y2IwMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dApAQCAtMTg5LDggKzE4OSw2IEBAIHNldChXZWJLaXRf
TUVTU0FHRVNfSU5fRklMRVMKIAogICAgIE5ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2ll
TWFuYWdlcgogCi0gICAgTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlcgotCiAg
ICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Jyb2FkY2FzdENoYW5uZWxSZWdpc3RyeQogICAgIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzCiAgICAgTmV0d29ya1By
b2Nlc3MvTmV0d29ya0NvbnRlbnRSdWxlTGlzdE1hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3Zjg2MDczNTQzODQxMmU0YjM0YmZj
NWIwYmI0YTVmN2EwM2QwNWVkLi5iYmJkZTYzYmQyZWI0MWE3ZTUyNjk2MjQxYWRmN2VkMDA3OGI5
NGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CkBAIC04MCw3ICs4MCw2IEBAICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVN
YW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Q
cm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLm1lc3NhZ2VzLmluCi0kKFBST0pF
Q1RfRElSKS9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQnJvYWRjYXN0Q2hhbm5lbFJl
Z2lzdHJ5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0NvbnRlbnRSdWxlTGlzdE1hbmFnZXIubWVzc2FnZXMuaW4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDM0ZWY5
MjlmNzgzOWQ3MWQxODkzMjU1NWZiMGEzYjVjNzBkNDExNjkuLjFhMzdiZWE2YjhjOTQ5ZjM0Yzkz
MWVkMGI1YzllNTE1M2QzMzEyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdApAQCAtNTMyLDkgKzUzMiw2IEBAICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHlNZXNz
YWdlc1JlCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1dlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2Fn
ZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9XZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlc1JlcGxpZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYktpdC9XZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCi0k
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1dlYklEQlNlcnZlck1l
c3NhZ2VzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvV2Vi
SURCU2VydmVyTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNl
aXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvV2Vi
SW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hl
ck1lc3NhZ2VzUmVwbGllcy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYjk3NTFi
ZDA1MGE3MDU3MmM4NzI2NzUwMTk1NzljNjE1MDg3MTQ2MS4uZDJkZjMzYmE2Mjc3NzVjNTRkOGM3
YTU2NDBiOWQ5MzJiYTU5ZmMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291
cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTI0
LDcgKzEyNCw2IEBAIGVuZGlmCiBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKIAlOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5IFwKIAlOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBcCi0JTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dl
YklEQlNlcnZlciBcCiAJTmV0d29ya1Byb2Nlc3MvTmV0d29ya0NvbnRlbnRSdWxlTGlzdE1hbmFn
ZXIgXAogCU5ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQgXAogCU5l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24gXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERC
L1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDE0OTBkOTkyYWVlMTM0NThjYmExNWRiMTYzZjFiOTBlNGM0ODI2ZDguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDE5OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSAiV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgiCi0KLSNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKLSNpbmNsdWRlICJXZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYklEQlJlc3VsdC5oIgotI2luY2x1ZGUgIldlYklE
QlNlcnZlci5oIgotI2luY2x1ZGUgPFdlYkNvcmUvSURCR2V0QWxsUmVjb3Jkc0RhdGEuaD4KLSNp
bmNsdWRlIDxXZWJDb3JlL0lEQkdldFJlY29yZERhdGEuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0lE
QlJlc3VsdERhdGEuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1VuaXF1ZUlEQkRhdGFiYXNlQ29ubmVj
dGlvbi5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
Ci1XZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudChJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlmaWVy
IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKQotICAgIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rp
b24pCi0gICAgLCBtX2lkZW50aWZpZXIoc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIpCi0gICAg
LCBtX2Nvbm5lY3Rpb25Ub0NsaWVudChJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6
Y3JlYXRlKCp0aGlzKSkKLXsKLX0KLQotV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Ojp+V2ViSURC
Q29ubmVjdGlvblRvQ2xpZW50KCkKLXsKLSAgICBtX2Nvbm5lY3Rpb25Ub0NsaWVudC0+Y2xlYXJE
ZWxlZ2F0ZSgpOwotfQotCi1JUEM6OkNvbm5lY3Rpb24qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dDo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdAotewotICAgIHJldHVybiBtX2Nvbm5l
Y3Rpb24ucHRyKCk7Ci19Ci0KLVdlYkNvcmU6OklEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xp
ZW50JiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmNvbm5lY3Rpb25Ub0NsaWVudCgpCi17Ci0g
ICAgcmV0dXJuIG1fY29ubmVjdGlvblRvQ2xpZW50OwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudDo6ZGlkRGVsZXRlRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0
YSYgcmVzdWx0RGF0YSkKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OkRpZERlbGV0ZURhdGFiYXNlKHJlc3VsdERhdGEpKTsKLX0KLQotdm9pZCBXZWJJREJD
b25uZWN0aW9uVG9DbGllbnQ6OmRpZE9wZW5EYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXN1
bHREYXRhJiByZXN1bHREYXRhKQotewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6RGlkT3BlbkRhdGFiYXNlKHJlc3VsdERhdGEpKTsKLX0KLQotdm9pZCBXZWJJ
REJDb25uZWN0aW9uVG9DbGllbnQ6OmRpZEFib3J0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6
SURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNv
cmU6OklEQkVycm9yJiBlcnJvcikKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXI6OkRpZEFib3J0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyLCBl
cnJvcikpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlkQ29tbWl0VHJh
bnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlv
bklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQkVycm9yJiBlcnJvcikKLXsKLSAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OkRpZENvbW1pdFRyYW5zYWN0aW9u
KHRyYW5zYWN0aW9uSWRlbnRpZmllciwgZXJyb3IpKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0
aW9uVG9DbGllbnQ6OmRpZENyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFdlYkNvcmU6OklEQlJlc3Vs
dERhdGEmIHJlc3VsdERhdGEpCi17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlv
blRvU2VydmVyOjpEaWRDcmVhdGVPYmplY3RTdG9yZShyZXN1bHREYXRhKSk7Ci19Ci0KLXZvaWQg
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkaWREZWxldGVPYmplY3RTdG9yZShjb25zdCBXZWJD
b3JlOjpJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQotewotICAgIHNlbmQoTWVzc2FnZXM6Oldl
YklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6RGlkRGVsZXRlT2JqZWN0U3RvcmUocmVzdWx0RGF0YSkp
OwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlkUmVuYW1lT2JqZWN0U3Rv
cmUoY29uc3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0YSkKLXsKLSAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OkRpZFJlbmFtZU9iamVjdFN0b3Jl
KHJlc3VsdERhdGEpKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRpZENs
ZWFyT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0YSkK
LXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OkRpZENsZWFy
T2JqZWN0U3RvcmUocmVzdWx0RGF0YSkpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0Ns
aWVudDo6ZGlkQ3JlYXRlSW5kZXgoY29uc3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0YSYgcmVzdWx0
RGF0YSkKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OkRp
ZENyZWF0ZUluZGV4KHJlc3VsdERhdGEpKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9D
bGllbnQ6OmRpZERlbGV0ZUluZGV4KGNvbnN0IFdlYkNvcmU6OklEQlJlc3VsdERhdGEmIHJlc3Vs
dERhdGEpCi17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpE
aWREZWxldGVJbmRleChyZXN1bHREYXRhKSk7Ci19Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlvblRv
Q2xpZW50OjpkaWRSZW5hbWVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRhJiByZXN1
bHREYXRhKQotewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6
RGlkUmVuYW1lSW5kZXgocmVzdWx0RGF0YSkpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25U
b0NsaWVudDo6ZGlkUHV0T3JBZGQoY29uc3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0YSYgcmVzdWx0
RGF0YSkKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OkRp
ZFB1dE9yQWRkKHJlc3VsdERhdGEpKTsKLX0KLQotdGVtcGxhdGU8Y2xhc3MgTWVzc2FnZVR5cGU+
IHZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpoYW5kbGVHZXRSZXN1bHQoY29uc3QgV2Vi
Q29yZTo6SURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0YSkKLXsKLSAgICBpZiAocmVzdWx0RGF0YS50
eXBlKCkgPT0gSURCUmVzdWx0VHlwZTo6RXJyb3IpIHsKLSAgICAgICAgc2VuZChNZXNzYWdlVHlw
ZShyZXN1bHREYXRhKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAocmVzdWx0
RGF0YS50eXBlKCkgPT0gSURCUmVzdWx0VHlwZTo6R2V0QWxsUmVjb3Jkc1N1Y2Nlc3MgJiYgcmVz
dWx0RGF0YS5nZXRBbGxSZXN1bHQoKS50eXBlKCkgPT0gSW5kZXhlZERCOjpHZXRBbGxUeXBlOjpL
ZXlzKSB7Ci0gICAgICAgIHNlbmQoTWVzc2FnZVR5cGUocmVzdWx0RGF0YSkpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgYXV0byBibG9iRmlsZVBhdGhzID0gcmVzdWx0RGF0YS50eXBl
KCkgPT0gSURCUmVzdWx0VHlwZTo6R2V0QWxsUmVjb3Jkc1N1Y2Nlc3MgPyByZXN1bHREYXRhLmdl
dEFsbFJlc3VsdCgpLmFsbEJsb2JGaWxlUGF0aHMoKSA6IHJlc3VsdERhdGEuZ2V0UmVzdWx0KCku
dmFsdWUoKS5ibG9iRmlsZVBhdGhzKCk7Ci0gICAgaWYgKGJsb2JGaWxlUGF0aHMuaXNFbXB0eSgp
KSB7Ci0gICAgICAgIHNlbmQoTWVzc2FnZVR5cGUocmVzdWx0RGF0YSkpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0gICAgc2VuZChNZXNzYWdlVHlwZShyZXN1bHREYXRhKSk7Ci19Ci0KLXZv
aWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkaWRHZXRSZWNvcmQoY29uc3QgV2ViQ29yZTo6
SURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0YSkKLXsKLSAgICBoYW5kbGVHZXRSZXN1bHQ8TWVzc2Fn
ZXM6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6RGlkR2V0UmVjb3JkPihyZXN1bHREYXRhKTsK
LX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRpZEdldEFsbFJlY29yZHMoY29u
c3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0YSkKLXsKLSAgICBoYW5kbGVHZXRS
ZXN1bHQ8TWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6RGlkR2V0QWxsUmVjb3Jk
cz4ocmVzdWx0RGF0YSk7Ci19Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkaWRH
ZXRDb3VudChjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQotewotICAg
IHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6RGlkR2V0Q291bnQocmVz
dWx0RGF0YSkpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlkRGVsZXRl
UmVjb3JkKGNvbnN0IFdlYkNvcmU6OklEQlJlc3VsdERhdGEmIHJlc3VsdERhdGEpCi17Ci0gICAg
c2VuZChNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpEaWREZWxldGVSZWNvcmQo
cmVzdWx0RGF0YSkpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlkT3Bl
bkN1cnNvcihjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQotewotICAg
IGhhbmRsZUdldFJlc3VsdDxNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpEaWRP
cGVuQ3Vyc29yPihyZXN1bHREYXRhKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGll
bnQ6OmRpZEl0ZXJhdGVDdXJzb3IoY29uc3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0YSYgcmVzdWx0
RGF0YSkKLXsKLSAgICBoYW5kbGVHZXRSZXN1bHQ8TWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6RGlkSXRlcmF0ZUN1cnNvcj4ocmVzdWx0RGF0YSk7Ci19Ci0KLXZvaWQgV2ViSURC
Q29ubmVjdGlvblRvQ2xpZW50OjpmaXJlVmVyc2lvbkNoYW5nZUV2ZW50KFdlYkNvcmU6OklEQlNl
cnZlcjo6VW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBXZWJD
b3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHJlcXVlc3RJZGVudGlmaWVyLCB1aW50NjRfdCBy
ZXF1ZXN0ZWRWZXJzaW9uKQotewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcjo6RmlyZVZlcnNpb25DaGFuZ2VFdmVudChjb25uZWN0aW9uLmlkZW50aWZpZXIoKSwg
cmVxdWVzdElkZW50aWZpZXIsIHJlcXVlc3RlZFZlcnNpb24pKTsKLX0KLQotdm9pZCBXZWJJREJD
b25uZWN0aW9uVG9DbGllbnQ6OmRpZFN0YXJ0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURC
UmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6
OklEQkVycm9yJiBlcnJvcikKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXI6OkRpZFN0YXJ0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JZGVudGlmaWVyLCBlcnJv
cikpOwotfQotCi12b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlkQ2xvc2VGcm9tU2Vy
dmVyKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpJREJFcnJvciYgZXJyb3IpCi17Ci0gICAgc2VuZChNZXNz
YWdlczo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpEaWRDbG9zZUZyb21TZXJ2ZXIoY29ubmVj
dGlvbi5pZGVudGlmaWVyKCksIGVycm9yKSk7Ci19Ci0KLXZvaWQgV2ViSURCQ29ubmVjdGlvblRv
Q2xpZW50Ojpub3RpZnlPcGVuREJSZXF1ZXN0QmxvY2tlZChjb25zdCBXZWJDb3JlOjpJREJSZXNv
dXJjZUlkZW50aWZpZXImIHJlcXVlc3RJZGVudGlmaWVyLCB1aW50NjRfdCBvbGRWZXJzaW9uLCB1
aW50NjRfdCBuZXdWZXJzaW9uKQotewotICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6Tm90aWZ5T3BlbkRCUmVxdWVzdEJsb2NrZWQocmVxdWVzdElkZW50aWZpZXIs
IG9sZFZlcnNpb24sIG5ld1ZlcnNpb24pKTsKLX0KLQotdm9pZCBXZWJJREJDb25uZWN0aW9uVG9D
bGllbnQ6OmRpZEdldEFsbERhdGFiYXNlTmFtZXNBbmRWZXJzaW9ucyhjb25zdCBXZWJDb3JlOjpJ
REJSZXNvdXJjZUlkZW50aWZpZXImIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8V2Vi
Q29yZTo6SURCRGF0YWJhc2VOYW1lQW5kVmVyc2lvbj4mIGRhdGFiYXNlcykKLXsKLSAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OkRpZEdldEFsbERhdGFiYXNlTmFt
ZXNBbmRWZXJzaW9ucyhyZXF1ZXN0SWRlbnRpZmllciwgZGF0YWJhc2VzKSk7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTlmYTJlNjcwMWVmYmIwMDFjMDg3Y2NkYTU0NjE5MGJk
OGVlNmQ0YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9D
bGllbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgotI2luY2x1ZGUgPFdl
YkNvcmUvSURCQ29ubmVjdGlvblRvQ2xpZW50Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9JbmRleGVk
REIuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBJREJTZXJ2ZXIgewotY2xhc3MgSURCU2VydmVyOwotfQot
fQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgTmV0d29ya1Byb2Nlc3M7Ci1jbGFzcyBX
ZWJJREJTZXJ2ZXI7Ci0KLWNsYXNzIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudCBmaW5hbCA6IHB1
YmxpYyBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLCBw
dWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
LXB1YmxpYzoKLSAgICBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQoSVBDOjpDb25uZWN0aW9uJiwg
V2ViQ29yZTo6SURCQ29ubmVjdGlvbklkZW50aWZpZXIpOwotCi0gICAgdmlydHVhbCB+V2ViSURC
Q29ubmVjdGlvblRvQ2xpZW50KCk7Ci0KLSAgICBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5l
Y3Rpb25Ub0NsaWVudCYgY29ubmVjdGlvblRvQ2xpZW50KCk7Ci0gICAgV2ViQ29yZTo6SURCQ29u
bmVjdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faWRl
bnRpZmllcjsgfQotCi1wcml2YXRlOgotICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRl
ckNvbm5lY3Rpb24oKSBjb25zdCBmaW5hbDsKLSAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVz
dGluYXRpb25JRCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIDA7IH0KLQotICAgIC8vIElEQkNvbm5l
Y3Rpb25Ub0NsaWVudERlbGVnYXRlCi0gICAgdm9pZCBkaWREZWxldGVEYXRhYmFzZShjb25zdCBX
ZWJDb3JlOjpJREJSZXN1bHREYXRhJikgZmluYWw7Ci0gICAgdm9pZCBkaWRPcGVuRGF0YWJhc2Uo
Y29uc3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0YSYpIGZpbmFsOwotICAgIHZvaWQgZGlkQWJvcnRU
cmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0
aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCRXJyb3ImKSBmaW5hbDsKLSAgICB2b2lk
IGRpZENvbW1pdFRyYW5zYWN0aW9uKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmll
ciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJREJFcnJvciYpIGZpbmFs
OwotICAgIHZvaWQgZGlkQ3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVzdWx0
RGF0YSYpIGZpbmFsOwotICAgIHZvaWQgZGlkRGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29y
ZTo6SURCUmVzdWx0RGF0YSYpIGZpbmFsOwotICAgIHZvaWQgZGlkUmVuYW1lT2JqZWN0U3RvcmUo
Y29uc3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0YSYpIGZpbmFsOwotICAgIHZvaWQgZGlkQ2xlYXJP
YmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRhJikgZmluYWw7Ci0gICAgdm9p
ZCBkaWRDcmVhdGVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRhJikgZmluYWw7Ci0g
ICAgdm9pZCBkaWREZWxldGVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRhJikgZmlu
YWw7Ci0gICAgdm9pZCBkaWRSZW5hbWVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRh
JikgZmluYWw7Ci0gICAgdm9pZCBkaWRQdXRPckFkZChjb25zdCBXZWJDb3JlOjpJREJSZXN1bHRE
YXRhJikgZmluYWw7Ci0gICAgdm9pZCBkaWRHZXRSZWNvcmQoY29uc3QgV2ViQ29yZTo6SURCUmVz
dWx0RGF0YSYpIGZpbmFsOwotICAgIHZvaWQgZGlkR2V0QWxsUmVjb3Jkcyhjb25zdCBXZWJDb3Jl
OjpJREJSZXN1bHREYXRhJikgZmluYWw7Ci0gICAgdm9pZCBkaWRHZXRDb3VudChjb25zdCBXZWJD
b3JlOjpJREJSZXN1bHREYXRhJikgZmluYWw7Ci0gICAgdm9pZCBkaWREZWxldGVSZWNvcmQoY29u
c3QgV2ViQ29yZTo6SURCUmVzdWx0RGF0YSYpIGZpbmFsOwotICAgIHZvaWQgZGlkT3BlbkN1cnNv
cihjb25zdCBXZWJDb3JlOjpJREJSZXN1bHREYXRhJikgZmluYWw7Ci0gICAgdm9pZCBkaWRJdGVy
YXRlQ3Vyc29yKGNvbnN0IFdlYkNvcmU6OklEQlJlc3VsdERhdGEmKSBmaW5hbDsKLQotICAgIHZv
aWQgZmlyZVZlcnNpb25DaGFuZ2VFdmVudChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRh
dGFiYXNlQ29ubmVjdGlvbiYsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciYg
cmVxdWVzdElkZW50aWZpZXIsIHVpbnQ2NF90IHJlcXVlc3RlZFZlcnNpb24pIGZpbmFsOwotICAg
IHZvaWQgZGlkU3RhcnRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50
aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCRXJyb3ImKSBm
aW5hbDsKLSAgICB2b2lkIGRpZENsb3NlRnJvbVNlcnZlcihXZWJDb3JlOjpJREJTZXJ2ZXI6OlVu
aXF1ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbiYsIGNvbnN0IFdlYkNvcmU6OklEQkVycm9yJikgZmlu
YWw7Ci0gICAgdm9pZCBub3RpZnlPcGVuREJSZXF1ZXN0QmxvY2tlZChjb25zdCBXZWJDb3JlOjpJ
REJSZXNvdXJjZUlkZW50aWZpZXImIHJlcXVlc3RJZGVudGlmaWVyLCB1aW50NjRfdCBvbGRWZXJz
aW9uLCB1aW50NjRfdCBuZXdWZXJzaW9uKSBmaW5hbDsKLQotICAgIHZvaWQgZGlkR2V0QWxsRGF0
YWJhc2VOYW1lc0FuZFZlcnNpb25zKGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmll
ciYsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpJREJEYXRhYmFzZU5hbWVBbmRWZXJzaW9uPiYpIGZp
bmFsOwotCi0gICAgdGVtcGxhdGU8Y2xhc3MgTWVzc2FnZVR5cGU+IHZvaWQgaGFuZGxlR2V0UmVz
dWx0KGNvbnN0IFdlYkNvcmU6OklEQlJlc3VsdERhdGEmKTsKLQotICAgIFJlZjxJUEM6OkNvbm5l
Y3Rpb24+IG1fY29ubmVjdGlvbjsKLSAgICBXZWJDb3JlOjpJREJDb25uZWN0aW9uSWRlbnRpZmll
ciBtX2lkZW50aWZpZXI7Ci0gICAgUmVmPFdlYkNvcmU6OklEQlNlcnZlcjo6SURCQ29ubmVjdGlv
blRvQ2xpZW50PiBtX2Nvbm5lY3Rpb25Ub0NsaWVudDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIv
V2ViSURCU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERC
L1dlYklEQlNlcnZlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3YWI5Mzgw
OWNjYjdmNjVmNDhiMWE1MTljZDk2N2FkYWI1YzZkNTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRl
eGVkREIvV2ViSURCU2VydmVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ4NiArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIldlYklEQlNlcnZlci5oIgotCi0jaW5jbHVkZSAiTG9nZ2luZy5o
IgotI2luY2x1ZGUgIldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIgotI2luY2x1ZGUgIldlYklE
QlNlcnZlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9TdG9yYWdlUXVvdGFNYW5hZ2Vy
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1SZWY8V2ViSURCU2VydmVyPiBXZWJJREJTZXJ2
ZXI6OmNyZWF0ZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgZGlyZWN0
b3J5LCBXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNlcnZlcjo6U3RvcmFnZVF1b3RhTWFuYWdlclNw
YWNlUmVxdWVzdGVyJiYgc3BhY2VSZXF1ZXN0ZXIpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViSURCU2VydmVyKHNlc3Npb25JRCwgZGlyZWN0b3J5LCBXVEZNb3ZlKHNwYWNlUmVxdWVz
dGVyKSkpOwotfQotCi1XZWJJREJTZXJ2ZXI6OldlYklEQlNlcnZlcihQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5LCBXZWJDb3JlOjpJREJTZXJ2ZXI6OklE
QlNlcnZlcjo6U3RvcmFnZVF1b3RhTWFuYWdlclNwYWNlUmVxdWVzdGVyJiYgc3BhY2VSZXF1ZXN0
ZXIpCi0gICAgOiBtX3F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0Lklu
ZGV4ZWREQlNlcnZlciIpKQotewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAg
ICBwb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIHNlc3Npb25J
RCwgZGlyZWN0b3J5ID0gZGlyZWN0b3J5Lmlzb2xhdGVkQ29weSgpLCBzcGFjZVJlcXVlc3RlciA9
IFdURk1vdmUoc3BhY2VSZXF1ZXN0ZXIpXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgQVNTRVJUKCFS
dW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICAgICAgTG9ja2VyIGxvY2tlciB7IG1fc2VydmVyTG9j
ayB9OwotICAgICAgICBtX3NlcnZlciA9IG1ha2VVbmlxdWU8V2ViQ29yZTo6SURCU2VydmVyOjpJ
REJTZXJ2ZXI+KHNlc3Npb25JRCwgZGlyZWN0b3J5LCBXVEZNb3ZlKHNwYWNlUmVxdWVzdGVyKSwg
bV9zZXJ2ZXJMb2NrKTsKLSAgICB9KTsKLX0KLQotV2ViSURCU2VydmVyOjp+V2ViSURCU2VydmVy
KCkKLXsKLSAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotICAgIEFTU0VSVCghbV9pc1N1
c3BlbmRlZCk7Ci19Ci0KLXZvaWQgV2ViSURCU2VydmVyOjpnZXRPcmlnaW5zKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoSGFzaFNldDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+JiYpPiYmIGNh
bGxiYWNrKQotewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBwb3N0VGFz
ayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIGNhbGxiYWNrID0gV1RGTW92
ZShjYWxsYmFjayldKCkgbXV0YWJsZSB7Ci0gICAgICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWlu
KCkpOwotCi0gICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICAgICAg
cG9zdFRhc2tSZXBseShbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgb3JpZ2lucyA9IGNy
b3NzVGhyZWFkQ29weShtX3NlcnZlci0+Z2V0T3JpZ2lucygpKV0oKSBtdXRhYmxlIHsKLSAgICAg
ICAgICAgIGNhbGxiYWNrKFdURk1vdmUob3JpZ2lucykpOwotICAgICAgICB9KTsKLSAgICB9KTsK
LX0KLQotdm9pZCBXZWJJREJTZXJ2ZXI6OmNsb3NlQW5kRGVsZXRlRGF0YWJhc2VzTW9kaWZpZWRT
aW5jZShXYWxsVGltZSBtb2RpZmljYXRpb25UaW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY2FsbGJhY2spCi17Ci0gICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIHBv
c3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgbW9kaWZpY2F0aW9u
VGltZSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSBtdXRhYmxlIHsKLSAgICAgICAg
QVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICAgICAgTG9ja2VyIGxvY2tlciB7IG1f
c2VydmVyTG9jayB9OwotICAgICAgICBtX3NlcnZlci0+Y2xvc2VBbmREZWxldGVEYXRhYmFzZXNN
b2RpZmllZFNpbmNlKG1vZGlmaWNhdGlvblRpbWUpOwotICAgICAgICBwb3N0VGFza1JlcGx5KFtj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgewotICAgICAgICAgICAgY2Fs
bGJhY2soKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViSURCU2VydmVyOjpj
bG9zZUFuZERlbGV0ZURhdGFiYXNlc0Zvck9yaWdpbnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luRGF0YT4mIG9yaWdpbkRhdGFzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY2FsbGJhY2spCi17Ci0gICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIHBv
c3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgb3JpZ2luRGF0YXMg
PSBvcmlnaW5EYXRhcy5pc29sYXRlZENvcHkoKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNr
KV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0g
ICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICAgICAgbV9zZXJ2ZXIt
PmNsb3NlQW5kRGVsZXRlRGF0YWJhc2VzRm9yT3JpZ2lucyhvcmlnaW5EYXRhcyk7Ci0gICAgICAg
IHBvc3RUYXNrUmVwbHkoW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgbXV0YWJsZSB7
Ci0gICAgICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQotdm9p
ZCBXZWJJREJTZXJ2ZXI6OnJlbmFtZU9yaWdpbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEmIG9sZE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBuZXdP
cmlnaW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjYWxsYmFjaykKLXsKLSAgICBBU1NF
UlQoUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgcG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRo
aXMgPSBSZWYgeyAqdGhpcyB9LCBvbGRPcmlnaW4gPSBvbGRPcmlnaW4uaXNvbGF0ZWRDb3B5KCks
IG5ld09yaWdpbiA9IG5ld09yaWdpbi5pc29sYXRlZENvcHkoKSwgY2FsbGJhY2sgPSBXVEZNb3Zl
KGNhbGxiYWNrKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWlu
KCkpOwotCi0gICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICAgICAg
bV9zZXJ2ZXItPnJlbmFtZU9yaWdpbihvbGRPcmlnaW4sIG5ld09yaWdpbik7Ci0gICAgICAgIHBv
c3RUYXNrUmVwbHkoW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgbXV0YWJsZSB7Ci0g
ICAgICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQotYm9vbCBX
ZWJJREJTZXJ2ZXI6OnN1c3BlbmQoU3VzcGVuc2lvbkNvbmRpdGlvbiBzdXNwZW5zaW9uQ29uZGl0
aW9uKSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCi17Ci0gICAgQVNTRVJUKFJ1
bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIGlmIChtX2lzU3VzcGVuZGVkKQotICAgICAgICByZXR1
cm4gdHJ1ZTsKLQotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJJ
REJTZXJ2ZXI6OnN1c3BlbmQoKSwgc3VzcGVuc2lvbkNvbmRpdGlvbj0lcyIsIHRoaXMsIHN1c3Bl
bnNpb25Db25kaXRpb24gPT0gU3VzcGVuc2lvbkNvbmRpdGlvbjo6QWx3YXlzID8gIkFsd2F5cyIg
OiAiSWZJZGxlIik7Ci0KLSAgICBtX2lzU3VzcGVuZGVkID0gdHJ1ZTsKLSAgICBtX3NlcnZlckxv
Y2subG9jaygpOwotCi0gICAgaWYgKCFtX3NlcnZlcikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0K
LSAgICBpZiAoc3VzcGVuc2lvbkNvbmRpdGlvbiA9PSBTdXNwZW5zaW9uQ29uZGl0aW9uOjpBbHdh
eXMpIHsKLSAgICAgICAgbV9zZXJ2ZXItPnN0b3BEYXRhYmFzZUFjdGl2aXRpZXNPbk1haW5UaHJl
YWQoKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgLy8gU3VzcGVuZCB0byBh
dm9pZCBzdGFydGluZyBuZXcgdHJhbnNhY3Rpb25zIGlmIHRoZXJlIGlzIG5vIG9uZ29pbmcgdHJh
bnNhY3Rpb24uCi0gICAgaWYgKCFtX3NlcnZlci0+aGFzRGF0YWJhc2VBY3Rpdml0aWVzT25NYWlu
VGhyZWFkKCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgLy8gUmVzdW1lIHRvIGFsbG93
IG9uZ29pbmcgdHJhbnNhY3Rpb25zIHRvIGJlIGZpbmlzaGVkLgotICAgIG1fc2VydmVyTG9jay51
bmxvY2soKTsKLSAgICBtX2lzU3VzcGVuZGVkID0gZmFsc2U7Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQotCi12b2lkIFdlYklEQlNlcnZlcjo6cmVzdW1lKCkgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVU
WV9BTkFMWVNJUwotewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBpZiAo
IW1faXNTdXNwZW5kZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIFJFTEVBU0VfTE9HKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJJREJTZXJ2ZXI6OnJlc3VtZSgpIiwgdGhpcyk7Ci0KLSAg
ICBtX2lzU3VzcGVuZGVkID0gZmFsc2U7Ci0gICAgbV9zZXJ2ZXJMb2NrLnVubG9jaygpOwotfQot
Ci12b2lkIFdlYklEQlNlcnZlcjo6b3BlbkRhdGFiYXNlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhJiByZXF1ZXN0RGF0YSkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsK
LQotICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICBtX3NlcnZlci0+b3Bl
bkRhdGFiYXNlKHJlcXVlc3REYXRhKTsKLX0KLQotdm9pZCBXZWJJREJTZXJ2ZXI6OmRlbGV0ZURh
dGFiYXNlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSkKLXsKLSAg
ICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIExvY2tlciBsb2NrZXIgeyBtX3Nl
cnZlckxvY2sgfTsKLSAgICBtX3NlcnZlci0+ZGVsZXRlRGF0YWJhc2UocmVxdWVzdERhdGEpOwot
fQotCi12b2lkIFdlYklEQlNlcnZlcjo6YWJvcnRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJ
REJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKLXsKLSAgICBBU1NF
UlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxv
Y2sgfTsKLSAgICBtX3NlcnZlci0+YWJvcnRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklkZW50aWZp
ZXIpOwotfQotCi12b2lkIFdlYklEQlNlcnZlcjo6Y29tbWl0VHJhbnNhY3Rpb24oY29uc3QgV2Vi
Q29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2
NF90IHBlbmRpbmdSZXF1ZXN0Q291bnQpCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4o
KSk7Ci0KLSAgICBMb2NrZXIgbG9ja2VyIHsgbV9zZXJ2ZXJMb2NrIH07Ci0gICAgbV9zZXJ2ZXIt
PmNvbW1pdFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSWRlbnRpZmllciwgcGVuZGluZ1JlcXVlc3RD
b3VudCk7Ci19Ci0KLXZvaWQgV2ViSURCU2VydmVyOjpkaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25D
aGFuZ2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBj
b25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmll
cikKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIExvY2tlciBsb2Nr
ZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICBtX3NlcnZlci0+ZGlkRmluaXNoSGFuZGxpbmdWZXJz
aW9uQ2hhbmdlVHJhbnNhY3Rpb24oZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgdHJhbnNh
Y3Rpb25JZGVudGlmaWVyKTsKLX0KLQotdm9pZCBXZWJJREJTZXJ2ZXI6OmNyZWF0ZU9iamVjdFN0
b3JlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgV2Vi
Q29yZTo6SURCT2JqZWN0U3RvcmVJbmZvJiBvYmplY3RTdG9yZUluZm8pCi17Ci0gICAgQVNTRVJU
KCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBMb2NrZXIgbG9ja2VyIHsgbV9zZXJ2ZXJMb2Nr
IH07Ci0gICAgbV9zZXJ2ZXItPmNyZWF0ZU9iamVjdFN0b3JlKHJlcXVlc3REYXRhLCBvYmplY3RT
dG9yZUluZm8pOwotfQotCi12b2lkIFdlYklEQlNlcnZlcjo6ZGVsZXRlT2JqZWN0U3RvcmUoY29u
c3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBTdHJpbmcmIG9i
amVjdFN0b3JlTmFtZSkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAg
IExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICBtX3NlcnZlci0+ZGVsZXRlT2Jq
ZWN0U3RvcmUocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlTmFtZSk7Ci19Ci0KLXZvaWQgV2ViSURC
U2VydmVyOjpyZW5hbWVPYmplY3RTdG9yZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYg
cmVxdWVzdERhdGEsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBuZXdOYW1lKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgTG9j
a2VyIGxvY2tlciB7IG1fc2VydmVyTG9jayB9OwotICAgIG1fc2VydmVyLT5yZW5hbWVPYmplY3RT
dG9yZShyZXF1ZXN0RGF0YSwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBuZXdOYW1lKTsKLX0KLQot
dm9pZCBXZWJJREJTZXJ2ZXI6OmNsZWFyT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6SURCUmVx
dWVzdERhdGEmIHJlcXVlc3REYXRhLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIpCi17
Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBMb2NrZXIgbG9ja2VyIHsg
bV9zZXJ2ZXJMb2NrIH07Ci0gICAgbV9zZXJ2ZXItPmNsZWFyT2JqZWN0U3RvcmUocmVxdWVzdERh
dGEsIG9iamVjdFN0b3JlSWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgV2ViSURCU2VydmVyOjpjcmVh
dGVJbmRleChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0
IFdlYkNvcmU6OklEQkluZGV4SW5mbyYgaW5kZXhJbmZvKQotewotICAgIEFTU0VSVCghUnVuTG9v
cDo6aXNNYWluKCkpOwotCi0gICAgTG9ja2VyIGxvY2tlciB7IG1fc2VydmVyTG9jayB9OwotICAg
IG1fc2VydmVyLT5jcmVhdGVJbmRleChyZXF1ZXN0RGF0YSwgaW5kZXhJbmZvKTsKLX0KLQotdm9p
ZCBXZWJJREJTZXJ2ZXI6OmRlbGV0ZUluZGV4KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRh
JiByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGluZGV4TmFtZSkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAg
IExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICBtX3NlcnZlci0+ZGVsZXRlSW5k
ZXgocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRlbnRpZmllciwgaW5kZXhOYW1lKTsKLX0KLQot
dm9pZCBXZWJJREJTZXJ2ZXI6OnJlbmFtZUluZGV4KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3RE
YXRhJiByZXF1ZXN0RGF0YSwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRf
dCBpbmRleElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbmV3TmFtZSkKLXsKLSAgICBBU1NFUlQo
IVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sg
fTsKLSAgICBtX3NlcnZlci0+cmVuYW1lSW5kZXgocmVxdWVzdERhdGEsIG9iamVjdFN0b3JlSWRl
bnRpZmllciwgaW5kZXhJZGVudGlmaWVyLCBuZXdOYW1lKTsKLX0KLQotdm9pZCBXZWJJREJTZXJ2
ZXI6OnB1dE9yQWRkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgV2ViQ29yZTo6
SURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBXZWJDb3JlOjpJREJLZXlEYXRhJiBr
ZXlEYXRhLCBjb25zdCBXZWJDb3JlOjpJREJWYWx1ZSYgdmFsdWUsIFdlYkNvcmU6OkluZGV4ZWRE
Qjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlIG92ZXJXcml0ZU1vZGUpCi17Ci0gICAgQVNTRVJU
KCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBpZiAodmFsdWUuYmxvYlVSTHMoKS5zaXplKCkg
IT0gdmFsdWUuYmxvYkZpbGVQYXRocygpLnNpemUoKSkgewotICAgICAgICBSRUxFQVNFX0xPR19G
QVVMVChJbmRleGVkREIsICJXZWJJREJTZXJ2ZXI6OnB1dE9yQWRkOiBOdW1iZXIgb2YgYmxvYiBV
UkxzIGRvZXNuJ3QgbWF0Y2ggdGhlIG51bWJlciBvZiBibG9iIGZpbGUgcGF0aHMuIik7Ci0gICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
Ly8gVmFsaWRhdGUgdGVtcG9yYXJ5IGJsb2IgcGF0aHMgaW4gfHZhbHVlfCB0byBtYWtlIHN1cmUg
dGhleSBiZWxvbmcgdG8gdGhlIHNvdXJjZSBwcm9jZXNzLgotICAgIGlmICghdmFsdWUuYmxvYkZp
bGVQYXRocygpLmlzRW1wdHkoKSkgewotICAgICAgICBhdXRvIGl0ID0gbV90ZW1wb3JhcnlCbG9i
UGF0aHNQZXJDb25uZWN0aW9uLmZpbmQoY29ubmVjdGlvbi51bmlxdWVJRCgpKTsKLSAgICAgICAg
aWYgKGl0ID09IG1fdGVtcG9yYXJ5QmxvYlBhdGhzUGVyQ29ubmVjdGlvbi5lbmQoKSkgewotICAg
ICAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoSW5kZXhlZERCLCAiV2ViSURCU2VydmVyOjpwdXRP
ckFkZDogSURCVmFsdWUgY29udGFpbnMgYmxvYiBwYXRocyBidXQgbm9uZSBhcmUgYWxsb3dlZCBm
b3IgdGhpcyBwcm9jZXNzIik7Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGF1dG8mIHRlbXBvcmFyeUJs
b2JQYXRoc0ZvckNvbm5lY3Rpb24gPSBpdC0+dmFsdWU7Ci0gICAgICAgIGZvciAoYXV0byYgYmxv
YkZpbGVQYXRoIDogdmFsdWUuYmxvYkZpbGVQYXRocygpKSB7Ci0gICAgICAgICAgICBpZiAoIXRl
bXBvcmFyeUJsb2JQYXRoc0ZvckNvbm5lY3Rpb24ucmVtb3ZlKGJsb2JGaWxlUGF0aCkpIHsKLSAg
ICAgICAgICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChJbmRleGVkREIsICJXZWJJREJTZXJ2ZXI6
OnB1dE9yQWRkOiBCbG9iIHBhdGggd2FzIG5vdCBjcmVhdGVkIGZvciB0aGlzIFdlYlByb2Nlc3Mi
KTsKLSAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBMb2NrZXIg
bG9ja2VyIHsgbV9zZXJ2ZXJMb2NrIH07Ci0gICAgbV9zZXJ2ZXItPnB1dE9yQWRkKHJlcXVlc3RE
YXRhLCBrZXlEYXRhLCB2YWx1ZSwgb3ZlcldyaXRlTW9kZSk7Ci19Ci0KLXZvaWQgV2ViSURCU2Vy
dmVyOjpnZXRSZWNvcmQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRh
LCBjb25zdCBXZWJDb3JlOjpJREJHZXRSZWNvcmREYXRhJiBnZXRSZWNvcmREYXRhKQotewotICAg
IEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgTG9ja2VyIGxvY2tlciB7IG1fc2Vy
dmVyTG9jayB9OwotICAgIG1fc2VydmVyLT5nZXRSZWNvcmQocmVxdWVzdERhdGEsIGdldFJlY29y
ZERhdGEpOwotfQotCi12b2lkIFdlYklEQlNlcnZlcjo6Z2V0QWxsUmVjb3Jkcyhjb25zdCBXZWJD
b3JlOjpJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IFdlYkNvcmU6OklEQkdldEFs
bFJlY29yZHNEYXRhJiBnZXRBbGxSZWNvcmRzRGF0YSkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6
OmlzTWFpbigpKTsKLQotICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICBt
X3NlcnZlci0+Z2V0QWxsUmVjb3JkcyhyZXF1ZXN0RGF0YSwgZ2V0QWxsUmVjb3Jkc0RhdGEpOwot
fQotCi12b2lkIFdlYklEQlNlcnZlcjo6Z2V0Q291bnQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVz
dERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmIGtleVJh
bmdlRGF0YSkKLXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIExvY2tl
ciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAgICBtX3NlcnZlci0+Z2V0Q291bnQocmVxdWVz
dERhdGEsIGtleVJhbmdlRGF0YSk7Ci19Ci0KLXZvaWQgV2ViSURCU2VydmVyOjpkZWxldGVSZWNv
cmQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBXZWJD
b3JlOjpJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlRGF0YSkKLXsKLSAgICBBU1NFUlQoIVJ1bkxv
b3A6OmlzTWFpbigpKTsKLQotICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sgfTsKLSAg
ICBtX3NlcnZlci0+ZGVsZXRlUmVjb3JkKHJlcXVlc3REYXRhLCBrZXlSYW5nZURhdGEpOwotfQot
Ci12b2lkIFdlYklEQlNlcnZlcjo6b3BlbkN1cnNvcihjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0
RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IFdlYkNvcmU6OklEQkN1cnNvckluZm8mIGN1cnNvcklu
Zm8pCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBMb2NrZXIgbG9j
a2VyIHsgbV9zZXJ2ZXJMb2NrIH07Ci0gICAgbV9zZXJ2ZXItPm9wZW5DdXJzb3IocmVxdWVzdERh
dGEsIGN1cnNvckluZm8pOwotfQotCi12b2lkIFdlYklEQlNlcnZlcjo6aXRlcmF0ZUN1cnNvcihj
b25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IFdlYkNvcmU6
OklEQkl0ZXJhdGVDdXJzb3JEYXRhJiBpdGVyYXRlQ3Vyc29yRGF0YSkKLXsKLSAgICBBU1NFUlQo
IVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZlckxvY2sg
fTsKLSAgICBtX3NlcnZlci0+aXRlcmF0ZUN1cnNvcihyZXF1ZXN0RGF0YSwgaXRlcmF0ZUN1cnNv
ckRhdGEpOwotfQotCi12b2lkIFdlYklEQlNlcnZlcjo6ZXN0YWJsaXNoVHJhbnNhY3Rpb24odWlu
dDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCVHJh
bnNhY3Rpb25JbmZvJiB0cmFuc2FjdGlvbkluZm8pCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjpp
c01haW4oKSk7Ci0KLSAgICBMb2NrZXIgbG9ja2VyIHsgbV9zZXJ2ZXJMb2NrIH07Ci0gICAgbV9z
ZXJ2ZXItPmVzdGFibGlzaFRyYW5zYWN0aW9uKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIs
IHRyYW5zYWN0aW9uSW5mbyk7Ci19Ci0KLXZvaWQgV2ViSURCU2VydmVyOjpkYXRhYmFzZUNvbm5l
Y3Rpb25QZW5kaW5nQ2xvc2UodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikK
LXsKLSAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIExvY2tlciBsb2NrZXIg
eyBtX3NlcnZlckxvY2sgfTsKLSAgICBtX3NlcnZlci0+ZGF0YWJhc2VDb25uZWN0aW9uUGVuZGlu
Z0Nsb3NlKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpOwotfQotCi12b2lkIFdlYklEQlNl
cnZlcjo6ZGF0YWJhc2VDb25uZWN0aW9uQ2xvc2VkKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlv
bklkZW50aWZpZXIpCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBM
b2NrZXIgbG9ja2VyIHsgbV9zZXJ2ZXJMb2NrIH07Ci0gICAgbV9zZXJ2ZXItPmRhdGFiYXNlQ29u
bmVjdGlvbkNsb3NlZChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLX0KLQotdm9pZCBX
ZWJJREJTZXJ2ZXI6OmFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQodWludDY0X3QgZGF0YWJhc2VD
b25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVy
JiB0cmFuc2FjdGlvbklkZW50aWZpZXIpCi17Ci0gICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4o
KSk7Ci0KLSAgICBMb2NrZXIgbG9ja2VyIHsgbV9zZXJ2ZXJMb2NrIH07Ci0gICAgbV9zZXJ2ZXIt
PmFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQoZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwg
dHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKLX0KLQotdm9pZCBXZWJJREJTZXJ2ZXI6OmRpZEZpcmVW
ZXJzaW9uQ2hhbmdlRXZlbnQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwg
Y29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJiByZXF1ZXN0SWRlbnRpZmllciwg
V2ViQ29yZTo6SW5kZXhlZERCOjpDb25uZWN0aW9uQ2xvc2VkT25CZWhhbGZPZlNlcnZlciBjb25u
ZWN0aW9uQ2xvc2VkKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAg
TG9ja2VyIGxvY2tlciB7IG1fc2VydmVyTG9jayB9OwotICAgIG1fc2VydmVyLT5kaWRGaXJlVmVy
c2lvbkNoYW5nZUV2ZW50KGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIHJlcXVlc3RJZGVu
dGlmaWVyLCBjb25uZWN0aW9uQ2xvc2VkKTsKLX0KLQotdm9pZCBXZWJJREJTZXJ2ZXI6Om9wZW5E
QlJlcXVlc3RDYW5jZWxsZWQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmIHJlcXVlc3RE
YXRhKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgTG9ja2VyIGxv
Y2tlciB7IG1fc2VydmVyTG9jayB9OwotICAgIG1fc2VydmVyLT5vcGVuREJSZXF1ZXN0Q2FuY2Vs
bGVkKHJlcXVlc3REYXRhKTsKLX0KLQotdm9pZCBXZWJJREJTZXJ2ZXI6OmdldEFsbERhdGFiYXNl
TmFtZXNBbmRWZXJzaW9ucyhJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFdlYkNv
cmU6OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdlYkNv
cmU6OkNsaWVudE9yaWdpbiYgb3JpZ2luKQotewotICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWlu
KCkpOwotCi0gICAgYXV0byogd2ViSURCQ29ubmVjdGlvbiA9IG1fY29ubmVjdGlvbk1hcC5nZXQo
Y29ubmVjdGlvbi51bmlxdWVJRCgpKTsKLSAgICBBU1NFUlQod2ViSURCQ29ubmVjdGlvbik7Ci0K
LSAgICBMb2NrZXIgbG9ja2VyIHsgbV9zZXJ2ZXJMb2NrIH07Ci0gICAgbV9zZXJ2ZXItPmdldEFs
bERhdGFiYXNlTmFtZXNBbmRWZXJzaW9ucyh3ZWJJREJDb25uZWN0aW9uLT5pZGVudGlmaWVyKCks
IHJlcXVlc3RJZGVudGlmaWVyLCBvcmlnaW4pOwotfQotCi12b2lkIFdlYklEQlNlcnZlcjo6YWRk
Q29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFdlYkNvcmU6OlByb2Nlc3NJ
ZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKQotewotICAgIEFTU0VSVChSdW5Mb29wOjppc01h
aW4oKSk7Ci0KLSAgICBwb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlz
IH0sIHByb3RlY3RlZENvbm5lY3Rpb24gPSBSZWYgeyBjb25uZWN0aW9uIH0sIHByb2Nlc3NJZGVu
dGlmaWVyXSB7Ci0gICAgICAgIGF1dG9baXRlciwgaXNOZXdFbnRyeV0gPSBtX2Nvbm5lY3Rpb25N
YXAuZW5zdXJlKHByb3RlY3RlZENvbm5lY3Rpb24tPnVuaXF1ZUlEKCksIFsmXSB7Ci0gICAgICAg
ICAgICByZXR1cm4gbWFrZVVuaXF1ZTxXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ+KHByb3RlY3Rl
ZENvbm5lY3Rpb24uZ2V0KCksIHByb2Nlc3NJZGVudGlmaWVyKTsKLSAgICAgICAgfSk7Ci0KLSAg
ICAgICAgQVNTRVJUX1VOVVNFRChpc05ld0VudHJ5LCBpc05ld0VudHJ5KTsKLQotICAgICAgICBM
b2NrZXIgbG9ja2VyIHsgbV9zZXJ2ZXJMb2NrIH07Ci0gICAgICAgIG1fc2VydmVyLT5yZWdpc3Rl
ckNvbm5lY3Rpb24oaXRlci0+dmFsdWUtPmNvbm5lY3Rpb25Ub0NsaWVudCgpKTsKLSAgICB9KTsK
LSAgICBtX2Nvbm5lY3Rpb25zLmFkZChjb25uZWN0aW9uKTsKLSAgICBjb25uZWN0aW9uLmFkZFdv
cmtRdWV1ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSURCU2VydmVyOjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCksIG1fcXVldWUuZ2V0KCksICp0aGlzKTsKLX0KLQotdm9pZCBXZWJJREJTZXJ2
ZXI6OnJlbW92ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKQotewotICAg
IEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBpZiAoIW1fY29ubmVjdGlvbnMucmVt
b3ZlKGNvbm5lY3Rpb24pKQotICAgICAgICByZXR1cm47Ci0KLSAgICBjb25uZWN0aW9uLnJlbW92
ZVdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSURCU2VydmVyOjptZXNzYWdl
UmVjZWl2ZXJOYW1lKCkpOwotICAgIHBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVm
IHsgKnRoaXMgfSwgY29ubmVjdGlvbklEID0gY29ubmVjdGlvbi51bmlxdWVJRCgpXSB7Ci0gICAg
ICAgIG1fdGVtcG9yYXJ5QmxvYlBhdGhzUGVyQ29ubmVjdGlvbi5yZW1vdmUoY29ubmVjdGlvbklE
KTsKLSAgICAgICAgYXV0byBjb25uZWN0aW9uID0gbV9jb25uZWN0aW9uTWFwLnRha2UoY29ubmVj
dGlvbklEKTsKLQotICAgICAgICBBU1NFUlQoY29ubmVjdGlvbik7Ci0KLSAgICAgICAgTG9ja2Vy
IGxvY2tlciB7IG1fc2VydmVyTG9jayB9OwotICAgICAgICBtX3NlcnZlci0+dW5yZWdpc3RlckNv
bm5lY3Rpb24oY29ubmVjdGlvbi0+Y29ubmVjdGlvblRvQ2xpZW50KCkpOwotICAgIH0pOwotfQot
Ci12b2lkIFdlYklEQlNlcnZlcjo6cmVnaXN0ZXJUZW1wb3JhcnlCbG9iRmlsZVBhdGhzKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVQYXRocykK
LXsKLSAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgcG9zdFRhc2soW3RoaXMs
IHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBjb25uZWN0aW9uSUQgPSBjb25uZWN0aW9u
LnVuaXF1ZUlEKCksIGZpbGVQYXRocyA9IGNyb3NzVGhyZWFkQ29weShmaWxlUGF0aHMpXSB7Ci0g
ICAgICAgIGlmICghbV9jb25uZWN0aW9uTWFwLmNvbnRhaW5zKGNvbm5lY3Rpb25JRCkpCi0gICAg
ICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgYXV0byYgdGVtcG9yYXJ5QmxvYlBhdGhzID0gbV90
ZW1wb3JhcnlCbG9iUGF0aHNQZXJDb25uZWN0aW9uLmVuc3VyZShjb25uZWN0aW9uSUQsIFtdIHsg
cmV0dXJuIEhhc2hTZXQ8U3RyaW5nPiB7IH07IH0pLml0ZXJhdG9yLT52YWx1ZTsKLSAgICAgICAg
dGVtcG9yYXJ5QmxvYlBhdGhzLmFkZChmaWxlUGF0aHMuYmVnaW4oKSwgZmlsZVBhdGhzLmVuZCgp
KTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJJREJTZXJ2ZXI6OnBvc3RUYXNrKEZ1bmN0aW9uPHZv
aWQoKT4mJiB0YXNrKQotewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBt
X3F1ZXVlLT5kaXNwYXRjaChXVEZNb3ZlKHRhc2spKTsKLX0KLQotdm9pZCBXZWJJREJTZXJ2ZXI6
OnBvc3RUYXNrUmVwbHkoRnVuY3Rpb248dm9pZCgpPiYmIHRhc2tSZXBseSkKLXsKLSAgICBBU1NF
UlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChX
VEZNb3ZlKHRhc2tSZXBseSkpOwotfQotCi12b2lkIFdlYklEQlNlcnZlcjo6Y2xvc2UoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIEFTU0VSVChS
dW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICAvLyBSZW1vdmUgdGhlIHJlZmVyZW5jZXMgaGVsZCBi
eSBJUEM6OkNvbm5lY3Rpb24uCi0gICAgZm9yIChhdXRvJiBjb25uZWN0aW9uIDogbV9jb25uZWN0
aW9ucykKLSAgICAgICAgY29ubmVjdGlvbi5yZW1vdmVXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIo
TWVzc2FnZXM6OldlYklEQlNlcnZlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKTsKLQotICAgIC8v
IERpc3BhdGNoIGxhc3QgdGFzayB0byBjbGVhbiB1cC4KLSAgICBwb3N0VGFzayhbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7Ci0gICAgICAgIG1fY29ubmVjdGlvbk1hcC5j
bGVhcigpOwotCi0gICAgICAgIHsKLSAgICAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3NlcnZl
ckxvY2sgfTsKLSAgICAgICAgICAgIG1fc2VydmVyID0gbnVsbHB0cjsKLSAgICAgICAgfQotCi0g
ICAgICAgIHBvc3RUYXNrUmVwbHkoW3Byb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRo
aXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11
dGFibGUgewotICAgICAgICAgICAgaWYgKGNvbXBsZXRpb25IYW5kbGVyKQotICAgICAgICAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9JbmRleGVkREIvV2ViSURCU2VydmVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBmYmZkZTIyYmIwODI3OTRlNDg0MGM3YWEwZDczZDVhODRkOGFkM2QuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFn
bWEgb25jZQotCi0jaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotCi0jaW5jbHVkZSAiV2ViSURCQ29u
bmVjdGlvblRvQ2xpZW50LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9JREJTZXJ2ZXIuaD4KLSNpbmNs
dWRlIDxXZWJDb3JlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaD4KLSNpbmNsdWRlIDx3dGYvQ3Jvc3NU
aHJlYWRUYXNrSGFuZGxlci5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVyLmg+Ci0jaW5jbHVk
ZSA8d3RmL1dlYWtIYXNoU2V0Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFN0b3Jh
Z2VRdW90YU1hbmFnZXI7Ci1uYW1lc3BhY2UgSURCU2VydmVyIHsKLWNsYXNzIElEQlNlcnZlcjsK
LX0KLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYklEQlNlcnZlciBmaW5hbCA6
IHB1YmxpYyBJUEM6OkNvbm5lY3Rpb246OldvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciB7Ci1wdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxXZWJJREJTZXJ2ZXI+IGNyZWF0ZShQQUw6OlNlc3Npb25JRCwg
Y29uc3QgU3RyaW5nJiBkaXJlY3RvcnksIFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyOjpT
dG9yYWdlUXVvdGFNYW5hZ2VyU3BhY2VSZXF1ZXN0ZXImJik7Ci0KLSAgICB2b2lkIGdldE9yaWdp
bnMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChIYXNoU2V0PFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YT4mJik+JiYpOwotICAgIHZvaWQgY2xvc2VBbmREZWxldGVEYXRhYmFzZXNNb2RpZmllZFNp
bmNlKFdhbGxUaW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY2FsbGJhY2spOwotICAg
IHZvaWQgY2xvc2VBbmREZWxldGVEYXRhYmFzZXNGb3JPcmlnaW5zKGNvbnN0IFZlY3RvcjxXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNh
bGxiYWNrKTsKLSAgICB2b2lkIHJlbmFtZU9yaWdpbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEmLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwotCi0gICAgZW51bSBjbGFzcyBTdXNwZW5zaW9uQ29uZGl0aW9u
IDogYm9vbCB7IEFsd2F5cywgSWZJZGxlIH07Ci0gICAgYm9vbCBzdXNwZW5kKFN1c3BlbnNpb25D
b25kaXRpb24gPSBTdXNwZW5zaW9uQ29uZGl0aW9uOjpBbHdheXMpOwotICAgIHZvaWQgcmVzdW1l
KCk7Ci0KLSAgICB2b2lkIHJlZ2lzdGVyVGVtcG9yYXJ5QmxvYkZpbGVQYXRocyhJUEM6OkNvbm5l
Y3Rpb24mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwotCi0gICAgLy8gTWVzc2FnZSBoYW5kbGVy
cy4KLSAgICB2b2lkIG9wZW5EYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYp
OwotICAgIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEm
KTsKLSAgICB2b2lkIGFib3J0VHJhbnNhY3Rpb24oY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJ
ZGVudGlmaWVyJik7Ci0gICAgdm9pZCBjb21taXRUcmFuc2FjdGlvbihjb25zdCBXZWJDb3JlOjpJ
REJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KTsKLSAg
ICB2b2lkIGRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90
IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlJlc291cmNl
SWRlbnRpZmllciYpOwotICAgIHZvaWQgY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViQ29yZTo6
SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJPYmplY3RTdG9yZUluZm8mKTsKLSAg
ICB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwg
Y29uc3QgU3RyaW5nJiBvYmplY3RTdG9yZU5hbWUpOwotICAgIHZvaWQgcmVuYW1lT2JqZWN0U3Rv
cmUoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCB1aW50NjRfdCBvYmplY3RTdG9yZUlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbmV3TmFtZSk7Ci0gICAgdm9pZCBjbGVhck9iamVjdFN0
b3JlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJ
ZGVudGlmaWVyKTsKLSAgICB2b2lkIGNyZWF0ZUluZGV4KGNvbnN0IFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCSW5kZXhJbmZvJik7Ci0gICAgdm9pZCBkZWxldGVJ
bmRleChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIHVpbnQ2NF90IG9iamVjdFN0b3Jl
SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBpbmRleE5hbWUpOwotICAgIHZvaWQgcmVuYW1lSW5k
ZXgoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCB1aW50NjRfdCBvYmplY3RTdG9yZUlk
ZW50aWZpZXIsIHVpbnQ2NF90IGluZGV4SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBuZXdOYW1l
KTsKLSAgICB2b2lkIHB1dE9yQWRkKElQQzo6Q29ubmVjdGlvbiYsIGNvbnN0IFdlYkNvcmU6OklE
QlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCS2V5RGF0YSYsIGNvbnN0IFdlYkNvcmU6
OklEQlZhbHVlJiwgV2ViQ29yZTo6SW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUp
OwotICAgIHZvaWQgZ2V0UmVjb3JkKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29u
c3QgV2ViQ29yZTo6SURCR2V0UmVjb3JkRGF0YSYpOwotICAgIHZvaWQgZ2V0QWxsUmVjb3Jkcyhj
b25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQkdldEFsbFJl
Y29yZHNEYXRhJik7Ci0gICAgdm9pZCBnZXRDb3VudChjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0
RGF0YSYsIGNvbnN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSYpOwotICAgIHZvaWQgZGVsZXRl
UmVjb3JkKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURC
S2V5UmFuZ2VEYXRhJik7Ci0gICAgdm9pZCBvcGVuQ3Vyc29yKGNvbnN0IFdlYkNvcmU6OklEQlJl
cXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCQ3Vyc29ySW5mbyYpOwotICAgIHZvaWQgaXRl
cmF0ZUN1cnNvcihjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IFdlYkNvcmU6
OklEQkl0ZXJhdGVDdXJzb3JEYXRhJik7Ci0gICAgdm9pZCBlc3RhYmxpc2hUcmFuc2FjdGlvbih1
aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJREJU
cmFuc2FjdGlvbkluZm8mKTsKLSAgICB2b2lkIGRhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9z
ZSh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLSAgICB2b2lkIGRhdGFi
YXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVy
KTsKLSAgICB2b2lkIGFib3J0T3BlbkFuZFVwZ3JhZGVOZWVkZWQodWludDY0X3QgZGF0YWJhc2VD
b25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVy
JiB0cmFuc2FjdGlvbklkZW50aWZpZXIpOwotICAgIHZvaWQgZGlkRmlyZVZlcnNpb25DaGFuZ2VF
dmVudCh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3Jl
OjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBXZWJDb3Jl
OjpJbmRleGVkREI6OkNvbm5lY3Rpb25DbG9zZWRPbkJlaGFsZk9mU2VydmVyKTsKLSAgICB2b2lk
IG9wZW5EQlJlcXVlc3RDYW5jZWxsZWQoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKTsK
LSAgICB2b2lkIGdldEFsbERhdGFiYXNlTmFtZXNBbmRWZXJzaW9ucyhJUEM6OkNvbm5lY3Rpb24m
LCBjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImLCBjb25zdCBXZWJDb3JlOjpD
bGllbnRPcmlnaW4mKTsKLQotICAgIHZvaWQgYWRkQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24m
LCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcik7Ci0gICAgdm9pZCByZW1vdmVDb25uZWN0aW9u
KElQQzo6Q29ubmVjdGlvbiYpOwotCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKLSAgICB2b2lkIGNsb3NlKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJiA9IHsgfSk7Ci0KLXByaXZhdGU6Ci0gICAgV2ViSURCU2VydmVyKFBBTDo6
U2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSwgV2ViQ29yZTo6SURCU2VydmVyOjpJ
REJTZXJ2ZXI6OlN0b3JhZ2VRdW90YU1hbmFnZXJTcGFjZVJlcXVlc3RlciYmKTsKLSAgICB+V2Vi
SURCU2VydmVyKCk7Ci0KLSAgICB2b2lkIHBvc3RUYXNrKFdURjo6RnVuY3Rpb248dm9pZCgpPiYm
KTsKLSAgICB2b2lkIHBvc3RUYXNrUmVwbHkoRnVuY3Rpb248dm9pZCgpPiYmKTsKLQotICAgIFJl
ZjxXb3JrUXVldWU+IG1fcXVldWU7Ci0KLSAgICBMb2NrIG1fc2VydmVyTG9jazsKLSAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI+IG1fc2VydmVyIFdURl9H
VUFSREVEX0JZX0xPQ0sobV9zZXJ2ZXJMb2NrKTsKLSAgICBib29sIG1faXNTdXNwZW5kZWQgeyBm
YWxzZSB9OwotCi0gICAgSGFzaE1hcDxJUEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlELCBIYXNoU2V0
PFN0cmluZz4+IG1fdGVtcG9yYXJ5QmxvYlBhdGhzUGVyQ29ubmVjdGlvbjsgLy8gT25seSB1c2Vk
IG9uIHRoZSB3b3JrIHF1ZXVlLgotICAgIEhhc2hNYXA8SVBDOjpDb25uZWN0aW9uOjpVbmlxdWVJ
RCwgc3RkOjp1bmlxdWVfcHRyPFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudD4+IG1fY29ubmVjdGlv
bk1hcDsKLSAgICBXZWFrSGFzaFNldDxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbnM7IC8v
IE9ubHkgdXNlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCi19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dl
YklEQlNlcnZlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5k
ZXhlZERCL1dlYklEQlNlcnZlci5tZXNzYWdlcy5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDZmZDdlNzdlMTZmOTI2NWE3Y2Y1MGFmNGVhNTQzN2FlY2Q1MWI1Ny4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIubWVzc2FnZXMuaW4KKysrIC9kZXYvbnVs
bApAQCAtMSw1MiArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoK
LSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSMgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKLSMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgotIyBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMCi0jIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi0jIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0jIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCi0jIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0KLW1lc3NhZ2VzIC0+IFdlYklEQlNlcnZlciB7Ci0gICAgRGVsZXRlRGF0YWJhc2UoV2ViQ29y
ZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEpCi0gICAgT3BlbkRhdGFiYXNlKFdlYkNvcmU6
OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhKQotICAgIEFib3J0VHJhbnNhY3Rpb24oV2ViQ29y
ZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcikKLSAgICBDb21t
aXRUcmFuc2FjdGlvbihXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXIgdHJhbnNhY3Rpb25J
ZGVudGlmaWVyLCB1aW50NjRfdCBwZW5kaW5nUmVxdWVzdENvdW50KQotICAgIERpZEZpbmlzaEhh
bmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlv
bklkZW50aWZpZXIsIFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlvbklk
ZW50aWZpZXIpCi0gICAgQ3JlYXRlT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEg
cmVxdWVzdERhdGEsIFdlYkNvcmU6OklEQk9iamVjdFN0b3JlSW5mbyBpbmZvKQotICAgIERlbGV0
ZU9iamVjdFN0b3JlKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBTdHJpbmcg
b2JqZWN0U3RvcmVOYW1lKQotICAgIFJlbmFtZU9iamVjdFN0b3JlKFdlYkNvcmU6OklEQlJlcXVl
c3REYXRhIHJlcXVlc3REYXRhLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIFN0cmlu
ZyBuZXdOYW1lKQotICAgIENsZWFyT2JqZWN0U3RvcmUoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEg
cmVxdWVzdERhdGEsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllcikKLSAgICBDcmVhdGVJ
bmRleChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwgV2ViQ29yZTo6SURCSW5k
ZXhJbmZvIGluZm8pCi0gICAgRGVsZXRlSW5kZXgoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVx
dWVzdERhdGEsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgU3RyaW5nIGluZGV4TmFt
ZSkKLSAgICBSZW5hbWVJbmRleChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSByZXF1ZXN0RGF0YSwg
dWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRfdCBpbmRleElkZW50aWZpZXIs
IFN0cmluZyBuZXdOYW1lKQotICAgIFB1dE9yQWRkKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJl
cXVlc3REYXRhLCBXZWJDb3JlOjpJREJLZXlEYXRhIGtleSwgV2ViQ29yZTo6SURCVmFsdWUgdmFs
dWUsIFdlYkNvcmU6OkluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlIG92ZXJ3cml0
ZU1vZGUpIFdhbnRzQ29ubmVjdGlvbgotICAgIEdldFJlY29yZChXZWJDb3JlOjpJREJSZXF1ZXN0
RGF0YSByZXF1ZXN0RGF0YSwgc3RydWN0IFdlYkNvcmU6OklEQkdldFJlY29yZERhdGEgZ2V0UmVj
b3JkRGF0YSkKLSAgICBHZXRBbGxSZWNvcmRzKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVl
c3REYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6SURCR2V0QWxsUmVjb3Jkc0RhdGEgZ2V0QWxsUmVjb3Jk
c0RhdGEpCi0gICAgR2V0Q291bnQoV2ViQ29yZTo6SURCUmVxdWVzdERhdGEgcmVxdWVzdERhdGEs
IHN0cnVjdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEgcmFuZ2UpCi0gICAgRGVsZXRlUmVjb3Jk
KFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6SURC
S2V5UmFuZ2VEYXRhIHJhbmdlKQotICAgIE9wZW5DdXJzb3IoV2ViQ29yZTo6SURCUmVxdWVzdERh
dGEgcmVxdWVzdERhdGEsIFdlYkNvcmU6OklEQkN1cnNvckluZm8gaW5mbykKLSAgICBJdGVyYXRl
Q3Vyc29yKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBzdHJ1Y3QgV2ViQ29y
ZTo6SURCSXRlcmF0ZUN1cnNvckRhdGEgZGF0YSkKLQotICAgIEVzdGFibGlzaFRyYW5zYWN0aW9u
KHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uSW5mbyBpbmZvKQotICAgIERhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9zZSh1aW50
NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKQotICAgIERhdGFiYXNlQ29ubmVjdGlv
bkNsb3NlZCh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKQotICAgIEFib3J0
T3BlbkFuZFVwZ3JhZGVOZWVkZWQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmll
ciwgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcikK
LSAgICBEaWRGaXJlVmVyc2lvbkNoYW5nZUV2ZW50KHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlv
bklkZW50aWZpZXIsIFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciByZXF1ZXN0SWRlbnRp
ZmllciwgV2ViQ29yZTo6SW5kZXhlZERCOjpDb25uZWN0aW9uQ2xvc2VkT25CZWhhbGZPZlNlcnZl
ciBjb25uZWN0aW9uQ2xvc2VkT25CZWhhbGZPZlNlcnZlcikKLSAgICBPcGVuREJSZXF1ZXN0Q2Fu
Y2VsbGVkKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhKQotCi0gICAgR2V0QWxs
RGF0YWJhc2VOYW1lc0FuZFZlcnNpb25zKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciBy
ZXF1ZXN0SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4pIFdh
bnRzQ29ubmVjdGlvbgotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcAppbmRleCAyMGQ5ZGU5MjAxOWM1OWI1YzNlYTUzYzMzNDE2MTA5ZTQ4NDlj
N2Q5Li4wYTczOTk5ZjkxYzJhZjg0NzU1ZjQ2MWYyMWVkZjNjNDliM2VkMzBkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtNTYsNyAr
NTYsNiBAQAogI2luY2x1ZGUgIlN0b3JhZ2VBY2Nlc3NTdGF0dXMuaCIKICNpbmNsdWRlICJTdG9y
YWdlTWFuYWdlclNldC5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKLSNpbmNsdWRl
ICJXZWJJREJTZXJ2ZXIuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQb29sTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQdXNoTWVzc2Fn
ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vz
c2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNw
cAppbmRleCA4NTgyNTFhODk2YmYxZjgxNjRkNzkyZWVkNzNjOTU2MTcxMzNkMjQ0Li44YTVkNTg4
NmEyZTMyNGEyYjE4YmUyNjNmNmNjMTQ0NGU3YjY3ZTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcApAQCAtNDMsNyArNDMsNiBAQAogI2lu
Y2x1ZGUgIlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAi
UmVtb3RlV29ya2VyVHlwZS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJGZXRjaFRhc2suaCIK
LSNpbmNsdWRlICJXZWJJREJTZXJ2ZXIuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNp
bmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94
eS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vz
c2lvbi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCmlu
ZGV4IDliNDM5YTgxOTRlNTViN2VmYmEwOGZkOWEyODg3ZTA2YjNmMGE4Y2UuLmYzZTAyZGU5YTI1
MzlmYzIzZjcxNGYxMDBiZTEwZjc1ZWY3MTljMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKQEAgLTc3LDcgKzc3LDYgQEAgY2xhc3MgTmV0d29y
a1Jlc291cmNlTG9hZGVyOwogY2xhc3MgTmV0d29ya1NvY2tldENoYW5uZWw7CiBjbGFzcyBOZXR3
b3JrU3RvcmFnZU1hbmFnZXI7CiBjbGFzcyBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOwotY2xhc3Mg
V2ViSURCU2VydmVyOwogY2xhc3MgV2ViUGFnZU5ldHdvcmtQYXJhbWV0ZXJzOwogY2xhc3MgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOwogY2xhc3MgV2ViU2hhcmVkV29ya2VyU2VydmVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9pb3MvTmV0d29ya1By
b2Nlc3NJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2lvcy9OZXR3b3JrUHJv
Y2Vzc0lPUy5tbQppbmRleCAyMTk2ZTllNzRkMjQ1MzFjMGRiNWIzOTQ1YWM2MDhmZTNlOThjNzRh
Li44MjdkZGY2ZWNmNGQ5MjkxZTBiZmY3NGZhNWViYjgxN2I3ZGNmZmQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2lvcy9OZXR3b3JrUHJvY2Vzc0lPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2lvcy9OZXR3b3JrUHJvY2Vzc0lPUy5tbQpA
QCAtMzMsNyArMzMsNiBAQAogI2ltcG9ydCAiUHJvY2Vzc0Fzc2VydGlvbi5oIgogI2ltcG9ydCAi
U2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU2VjSXRlbVNoaW0u
aCIKLSNpbXBvcnQgIldlYklEQlNlcnZlci5oIgogI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0
ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdl
YkNvcmUvV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNWY2
ZDA2YzMxNzdlMDFlNDQ4NzQ1Mzc5M2Q2MzNhMjQxOTkyZjkzNy4uYmVjMWEzZjEzNGUyZGQzOTIz
NjEyNzUyYTg5ZDg4MTU3OWUyMGY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0xMTcsOSArMTE3LDYgQEAg
TmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFwLmNwcAogTmV0d29ya1Byb2Nlc3Mv
RG93bmxvYWRzL0Rvd25sb2FkTW9uaXRvci5jcHAKIE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Q
ZW5kaW5nRG93bmxvYWQuY3BwCiAKLU5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQuY3BwCi1OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVy
LmNwcAotCiBOZXR3b3JrUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05ldHdvcmtOb3RpZmljYXRpb25N
YW5hZ2VyLmNwcAogTmV0d29ya1Byb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJQdXNoRGFlbW9uQ29u
bmVjdGlvbi5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMDZlYTgxODlmYTJiZjg2ZWViZmQ3N2M2YzU2MGQ4MDgyODEwNWUzYS4u
OTQ0NDM3YTZjYzA5N2E3YzVmNjI3NWY3YWYzMjAyNTc3Yjk2YTkyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDU3LDExICsxNDU3
LDcgQEAKIAkJOTMyMUQ1ODYxQTM4RUUzQzAwODA1MkJFIC8qIFdLSW1tZWRpYXRlQWN0aW9uQ29u
dHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTMyMUQ1ODUxQTM4RUUzQzAwODA1MkJFIC8qIFdLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5o
ICovOyB9OwogCQk5MzIxRDU4QTFBMzhGMTk2MDA4MDUyQkUgLyogV0tJbW1lZGlhdGVBY3Rpb25U
eXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMy
MUQ1ODkxQTM4RjE5NjAwODA1MkJFIC8qIFdLSW1tZWRpYXRlQWN0aW9uVHlwZXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzIzNjExRTFCMDE1
REE4MDBGQTkyMzIgLyogX1dLT3ZlcmxheVNjcm9sbGJhclN0eWxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzIzNjExRDFCMDE1REE4MDBGQTkyMzIg
LyogX1dLT3ZlcmxheVNjcm9sbGJhclN0eWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTMyNjExNjEyMTQwNTRGNDAwMDgwNkU3IC8qIFdlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTM5Mjg4REQyMTQwNEQ2QzAwRUJCQTMzIC8qIFdlYklEQkNvbm5lY3Rpb25U
b0NsaWVudC5oICovOyB9OwogCQk5MzNERjgyRTFCM0JDMDkwMDBBRUE5RTMgLyogV0tJbWFnZVBy
ZXZpZXdWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTMzREY4MkQxQjNCQzA5MDAwQUVBOUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmll
d0NvbnRyb2xsZXIuaCAqLzsgfTsKLQkJOTMzRTgzNTUyM0EwN0MwNjAwREVGMjg5IC8qIFdlYklE
QlNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTMzRTgzNTMyM0EwN0JGODAwREVGMjg5IC8qIFdlYklEQlNlcnZlci5oICovOyB9OwotCQk5MzNF
ODM1QTIzQTFBRTI4MDBERUYyODkgLyogV2ViSURCU2VydmVyTWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzM0U4MzU5MjNBMUFERjUwMERF
RjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlcy5oICovOyB9OwotCQk5MzNFODM1QjIzQTFCNzUw
MDBERUYyODkgLyogV2ViSURCU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzM0U4MzU4MjNBMUFERjUwMERFRjI4
OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk5MzQyNTg5QTI1
NUI1MzVBMDA1OUVFREQgLyogTWVkaWFQZXJtaXNzaW9uVXRpbGl0aWVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzQyNTg5ODI1NUI1MzRCMDA1OUVF
REQgLyogTWVkaWFQZXJtaXNzaW9uVXRpbGl0aWVzLmggKi87IH07CiAJCTkzNDY4RTZEMjcxNEFG
ODgwMDk5ODNFMyAvKiBTaGFyZWRGaWxlSGFuZGxlQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM0NjhFNkMyNzE0QUY4ODAwOTk4M0UzIC8q
IFNoYXJlZEZpbGVIYW5kbGVDb2NvYS5jcHAgKi87IH07CiAJCTkzNEI3MjQ0MTlGNUI5QkUwMEFF
OTZENiAvKiBXS0FjdGlvbk1lbnVJdGVtVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNEI3MjQzMTlGNUI5QkUwMEFFOTZENiAvKiBXS0FjdGlv
bk1lbnVJdGVtVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtNDkzNywxNiArNDkzMywxNiBAQAogCQk1QzJFQkRGOTI1NjQzNTIwMDBENTVC
MDUgLyogV0tEb3dubG9hZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS0Rvd25sb2FkQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDMzU5
QzBDMjE1NDczMjEwMDlFNzk0OCAvKiBXS0RlcHJlY2F0ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV0tEZXByZWNhdGVkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVDM0FFQThFMUZFMUYxREYwMDIzMThEMyAvKiBXZWJzaXRlUG9saWNpZXNEYXRhLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYnNpdGVQb2xpY2llc0RhdGEu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1QzQxMUQ5QjI3Q0VENDIwMDA2ODI0
MUEgLyogVW5pZmllZFNvdXJjZTEyMS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBVbmlmaWVkU291cmNlMTIxLmNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlMTIxLmNw
cCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTVDNDExRDlDMjdDRUQ0MjAwMDY4MjQx
QSAvKiBVbmlmaWVkU291cmNlMTIzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFVuaWZpZWRTb3VyY2UxMjMuY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2UxMjMuY3Bw
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNUM0MTFEOUQyN0NFRDQyMDAwNjgyNDFB
IC8qIFVuaWZpZWRTb3VyY2UxMzAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gVW5pZmllZFNvdXJjZTEzMC5jcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTEzMC5jcHAi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1QzQxMUQ5RTI3Q0VENDIxMDA2ODI0MUEg
LyogVW5pZmllZFNvdXJjZTEyNS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBVbmlmaWVkU291cmNlMTI1LmNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlMTI1LmNwcCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTVDNDExRDlGMjdDRUQ0MjEwMDY4MjQxQSAv
KiBVbmlmaWVkU291cmNlMTIyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IFVuaWZpZWRTb3VyY2UxMjIuY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2UxMjIuY3BwIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNUM0MTFEQTAyN0NFRDQyMTAwNjgyNDFBIC8q
IFVuaWZpZWRTb3VyY2UxMjguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gVW5pZmllZFNvdXJjZTEyOC5jcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTEyOC5jcHAiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1QzQxMURBMTI3Q0VENDIxMDA2ODI0MUEgLyog
VW5pZmllZFNvdXJjZTEyNi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBVbmlmaWVkU291cmNlMTI2LmNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlMTI2LmNwcCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTVDNDExREEyMjdDRUQ0MjEwMDY4MjQxQSAvKiBV
bmlmaWVkU291cmNlMTI3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IFVuaWZpZWRTb3VyY2UxMjcuY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2UxMjcuY3BwIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNUM0MTFEQTMyN0NFRDQyMjAwNjgyNDFBIC8qIFVu
aWZpZWRTb3VyY2UxMjkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
VW5pZmllZFNvdXJjZTEyOS5jcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTEyOS5jcHAiOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1QzQxMURBNDI3Q0VENDIyMDA2ODI0MUEgLyogVW5p
ZmllZFNvdXJjZTEyNC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBV
bmlmaWVkU291cmNlMTI0LmNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlMTI0LmNwcCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDNDExRDlCMjdDRUQ0MjAwMDY4MjQxQSAvKiBVbmlm
aWVkU291cmNlMTIxLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVu
aWZpZWRTb3VyY2UxMjEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1QzQxMUQ5
QzI3Q0VENDIwMDA2ODI0MUEgLyogVW5pZmllZFNvdXJjZTEyMy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVbmlmaWVkU291cmNlMTIzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNUM0MTFEOUQyN0NFRDQyMDAwNjgyNDFBIC8qIFVuaWZpZWRTb3Vy
Y2UxMzAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVW5pZmllZFNv
dXJjZTEzMC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDNDExRDlFMjdDRUQ0
MjEwMDY4MjQxQSAvKiBVbmlmaWVkU291cmNlMTI1LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2UxMjUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk1QzQxMUQ5RjI3Q0VENDIxMDA2ODI0MUEgLyogVW5pZmllZFNvdXJjZTEyMi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVbmlmaWVkU291cmNlMTIy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUM0MTFEQTAyN0NFRDQyMTAwNjgy
NDFBIC8qIFVuaWZpZWRTb3VyY2UxMjguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gVW5pZmllZFNvdXJjZTEyOC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTVDNDExREExMjdDRUQ0MjEwMDY4MjQxQSAvKiBVbmlmaWVkU291cmNlMTI2LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2UxMjYuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1QzQxMURBMjI3Q0VENDIxMDA2ODI0MUEgLyog
VW5pZmllZFNvdXJjZTEyNy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBVbmlmaWVkU291cmNlMTI3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUM0
MTFEQTMyN0NFRDQyMjAwNjgyNDFBIC8qIFVuaWZpZWRTb3VyY2UxMjkuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTEyOS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDNDExREE0MjdDRUQ0MjIwMDY4MjQxQSAvKiBVbmlmaWVk
U291cmNlMTI0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVuaWZp
ZWRTb3VyY2UxMjQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzQ2MDlFMjIy
NDMwRTRDMDA5OTQzQzIgLyogX1dLQ29udGVudFJ1bGVMaXN0QWN0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0NvbnRlbnRSdWxlTGlzdEFjdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1QzQ2MDlFMzIyNDMwRTREMDA5OTQzQzIgLyogX1dLQ29u
dGVudFJ1bGVMaXN0QWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gX1dLQ29udGVudFJ1bGVMaXN0QWN0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1QzQ2MDlFNDIyNDMwRTREMDA5OTQzQzIgLyogX1dLQ29udGVudFJ1bGVMaXN0QWN0
aW9uSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQ29udGVu
dFJ1bGVMaXN0QWN0aW9uSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTUzOTgsMTEgKzUzOTQsNiBAQAogCQk5MzIzNjExRDFCMDE1REE4MDBGQTkyMzIgLyogX1dLT3Zl
cmxheVNjcm9sbGJhclN0eWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9X
S092ZXJsYXlTY3JvbGxiYXJTdHlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzNERjgyRDFCM0JDMDkwMDBBRUE5RTMgLyogV0tJbWFnZVByZXZpZXdWaWV3Q29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0ltYWdlUHJldmlld1ZpZXdDb250
cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzM0RGODJGMUIzQkMwQjQw
MEFFQTlFMyAvKiBXS0ltYWdlUHJldmlld1ZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tJbWFnZVByZXZpZXdWaWV3Q29udHJvbGxlci5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTMzRTgzNTMyM0EwN0JGODAwREVGMjg5
IC8qIFdlYklEQlNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJ
REJTZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTMzRTgzNTQyM0EwN0JG
OTAwREVGMjg5IC8qIFdlYklEQlNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJJREJTZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk5MzNFODM1NzIzQTFBODcyMDBERUYyODkgLyogV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYklEQlNlcnZlci5tZXNzYWdlcy5pbjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTMzRTgzNTgyM0ExQURGNTAwREVGMjg5IC8qIFdlYklEQlNl
cnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBXZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0L1dlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTkzM0U4MzU5MjNBMUFERjUwMERFRjI4OSAvKiBXZWJJ
REJTZXJ2ZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJJ
REJTZXJ2ZXJNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1dlYklEQlNl
cnZlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTkz
NDI1ODhGMjU1NURDQTUwMDU5RUVERCAvKiBNZWRpYVBlcm1pc3Npb25VdGlsaXRpZXMubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYVBlcm1pc3Npb25VdGlsaXRpZXMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzNDI1ODk4MjU1QjUzNEIwMDU5RUVERCAvKiBNZWRpYVBl
cm1pc3Npb25VdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVk
aWFQZXJtaXNzaW9uVXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkz
NDY4RTZBMjcxNEFGNDcwMDk5ODNFMyAvKiBTaGFyZWRGaWxlSGFuZGxlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZEZpbGVIYW5kbGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTQyNSw4ICs1NDE2LDYgQEAKIAkJOTM5MTA3NEUxQkY2
QkM2NTAwOEMxN0FEIC8qIFdLUHJldmlld0VsZW1lbnRJbmZvSW50ZXJuYWwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQcmV2aWV3RWxlbWVudEluZm9JbnRlcm5hbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzkxRjI4MzEyMUIzOEY1MDBFQkY3RTggLyog
V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzOTFGMjg0MTIxQjM4RjUwMEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdvcmtpbmdDb250
ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRnJhbWVO
ZXR3b3JraW5nQ29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTM5Mjg4
REQyMTQwNEQ2QzAwRUJCQTMzIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJOTM5Mjg4RTEyMTQwNEUxMDAwRUJCQTMzIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0Ns
aWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5Mzk1RTY4
OTFCRjJDMzMyMDBGNDlCQ0UgLyogV0tQcmV2aWV3RWxlbWVudEluZm8uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQcmV2aWV3RWxlbWVudEluZm8uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTM5NUU2OEIxQkYyQzM1MjAwRjQ5QkNFIC8qIFdLUHJldmlld0Vs
ZW1lbnRJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tQ
cmV2aWV3RWxlbWVudEluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzOUFF
NzY1MTMxNkU5OUMwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk1NDUsNyArOTUzNCw2IEBACiAJCQkJNUMx
NDI2RjIxQzIzRjgyRDAwRDQxMTgzIC8qIEN1c3RvbVByb3RvY29scyAqLywKIAkJCQk1QzE0MjZG
MTFDMjNGODE3MDBENDExODMgLyogRG93bmxvYWRzICovLAogCQkJCUJDODI4MzdDMTZCNDVEQTUw
MEEyNzhGRSAvKiBFbnRyeVBvaW50ICovLAotCQkJCTkzOTI4OEUwMjE0MDRERjAwMEVCQkEzMyAv
KiBJbmRleGVkREIgKi8sCiAJCQkJMkRBOTQ0QkIxODg1MTFERDAwRUQ4NkRCIC8qIGlvcyAqLywK
IAkJCQk1MTBDQzdEQzE2MTM4RTI5MDBEMDNFRDMgLyogbWFjICovLAogCQkJCTUxNDUyNkVBMjcx
RTE2MTAwMDA0NjdCNiAvKiBOb3RpZmljYXRpb25zICovLApAQCAtMTA2NTksMTggKzEwNjQ3LDYg
QEAKIAkJCXBhdGggPSBzdG9yYWdlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsK
LQkJOTM5Mjg4RTAyMTQwNERGMDAwRUJCQTMzIC8qIEluZGV4ZWREQiAqLyA9IHsKLQkJCWlzYSA9
IFBCWEdyb3VwOwotCQkJY2hpbGRyZW4gPSAoCi0JCQkJOTM5Mjg4RTEyMTQwNEUxMDAwRUJCQTMz
IC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgKi8sCi0JCQkJOTM5Mjg4REQyMTQwNEQ2
QzAwRUJCQTMzIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oICovLAotCQkJCTkzM0U4MzU0
MjNBMDdCRjkwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXIuY3BwICovLAotCQkJCTkzM0U4MzUzMjNB
MDdCRjgwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXIuaCAqLywKLQkJCQk5MzNFODM1NzIzQTFBODcy
MDBERUYyODkgLyogV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluICovLAotCQkJKTsKLQkJCXBhdGgg
PSBJbmRleGVkREI7Ci0JCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwotCQl9OwogCQk5Mzk0QUU0
MTE3MDJCMjVCMDAzNDQyMzIgLyogbWFjICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKQEAgLTEyNTEwLDggKzEyNDg2LDYgQEAKIAkJCQlCQzBFNjE4MTEyRDZDQjFE
MDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovLAogCQkJ
CTUxMDUyMzcyMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxMDUyMzczMUM3M0QzN0IwMDc5OTNDQiAvKiBXZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oICovLAotCQkJCTkzM0U4MzU4MjNBMUFERjUw
MERFRjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAotCQkJCTkzM0U4
MzU5MjNBMUFERjUwMERFRjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlcy5oICovLAogCQkJCUZF
REJEQ0Q0MUU2OEQxOUMwMEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVy
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQlGRURCRENENTFFNjhEMTlDMDBBNTlGOEYgLyog
V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmggKi8sCiAJCQkJMUM4RTJB
MzExMjc3ODUyNDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8s
CkBAIC0xMzgwNSwxMSArMTM3NzksOCBAQAogCQkJCTFDQjc0NjREMjc0MzgwQzgwMEYxOTg3NCAv
KiBXZWJHUFVEb3duY2FzdENvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5M0E4OEIzMzFCQzZFOUNEMDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCUY0NERGRUIyMUU5RTc1MkYwMDM4RDE5NiAvKiBXZWJJY29uVXRp
bGl0aWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQk5MzI2MTE2MTIxNDA1NEY0MDAwODA2RTcgLyog
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTQxMjk5NDFD
NjQyOEJCMDA1OUU3MTQgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTA1MjM3NDFDNzNEMzhCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCTkzM0U4MzU1MjNBMDdDMDYwMERFRjI4
OSAvKiBXZWJJREJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTkzM0U4MzVBMjNBMUFFMjgw
MERFRjI4OSAvKiBXZWJJREJTZXJ2ZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkND
RjZBQkQxMkM5MUVGOTAwOEY5QzM1IC8qIFdlYkltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QzhFMjgyMDEyNzVEMTU0MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzAzMkQ4MjEwRjQzNzhEMDA1OEMxNUEgLyogV2ViSW5zcGVjdG9yQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKQEAgLTE2MDU5LDcgKzE2MDMwLDYgQEAKIAkJCQlCQzBFNjA2MTEyRDZCQTkx
MDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDMEU2MTgyMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlv
bk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTA1
MjM3NTFDNzNEMzhGMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTkzM0U4MzVCMjNBMUI3NTAwMERFRjI4OSAv
KiBXZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkVE
QkRDRDYxRTY4RDIwMDAwQTU5RjhGIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUM4RTJBMzUxMjc3ODUyNDAw
QkM3QkQwIC8qIFdlYkluc3BlY3Rvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlDMThGM0ExNTI1NjMzMzQzMDA3OTdFNjYgLyogV2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9i
c2VydmVyLm1tIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>