<?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>221732</bug_id>
          
          <creation_ts>2021-02-10 17:25:29 -0800</creation_ts>
          <short_desc>[Cocoa][GPUP] Move RemoteCommandListener into the GPU Process</short_desc>
          <delta_ts>2021-02-11 13:49:23 -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>Media</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>
          <dependson>221455</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>annulen</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mkwst</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1727893</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-10 17:25:29 -0800</bug_when>
    <thetext>[Cocoa][GPUP] Move RemoteCommandListener into the GPU Process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727899</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-10 17:34:58 -0800</bug_when>
    <thetext>&lt;rdar://71566601&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727902</commentid>
    <comment_count>2</comment_count>
      <attachid>419931</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-10 17:37:11 -0800</bug_when>
    <thetext>Created attachment 419931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727973</commentid>
    <comment_count>3</comment_count>
      <attachid>419949</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-10 23:29:59 -0800</bug_when>
    <thetext>Created attachment 419949
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727979</commentid>
    <comment_count>4</comment_count>
      <attachid>419951</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-11 00:01:25 -0800</bug_when>
    <thetext>Created attachment 419951
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728137</commentid>
    <comment_count>5</comment_count>
      <attachid>420000</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-11 09:26:21 -0800</bug_when>
    <thetext>Created attachment 420000
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728222</commentid>
    <comment_count>6</comment_count>
      <attachid>420022</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-02-11 12:12:15 -0800</bug_when>
    <thetext>Created attachment 420022
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728281</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-11 13:49:18 -0800</bug_when>
    <thetext>Committed r272748: &lt;https://commits.webkit.org/r272748&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420022.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419931</attachid>
            <date>2021-02-10 17:37:11 -0800</date>
            <delta_ts>2021-02-10 21:31:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221732-20210210173711.patch</filename>
            <type>text/plain</type>
            <size>85607</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU4MWM0YzJkMzRhYWQw
ZDhkMDg4ZWRiNjlhNzg5N2UwOGYzYTZlMS4uNzQxNThkZDQyYWZiNjZkMjRkNTZiM2EzY2M1NGJl
OGQ1ZDkzOGU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIxLTAyLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV1bR1BVUF0gTW92
ZSBSZW1vdGVDb21tYW5kTGlzdGVuZXIgaW50byB0aGUgR1BVIFByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTczMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yIFJlbW90ZUNvbW1h
bmRMaXN0ZW5lciB0byBhbGxvdyBpdHMgbWV0aG9kcyB0byB3b3JrIG92ZXIgWFBDOgorCisgICAg
ICAgIC0gUmF0aGVyIHRoYW4gaGF2aW5nIGEgc3luY2hyb25vdXMgY2xpZW50IG1ldGhvZCB0byBx
dWVyeSB3aGV0aGVyIHNlZWtpbmcgaXMKKyAgICAgICAgICBzdXBwb3J0ZWQsIHJlcXVpcmUgY2xp
ZW50cyB0byBzZXQgc2Vla2FiaWxpdHkgZXhwbGljaXRseS4KKyAgICAgICAgLSBDaGFuZ2UgdGhl
IFJlbW90ZUNvbW1hbmRBcmd1bWVudCBmcm9tIGEgdW5pb24gdG8gYW4gT3B0aW9uYWw8ZG91Ymxl
Pi4KKyAgICAgICAgLSBBbGxvdyBjbGllbnRzIHRvIHF1ZXJ5IHRoZSBNZWRpYVBsYXliYWNrVGFy
Z2V0IHRocm91Z2ggdGhlIHNlc3Npb24gcmF0aGVyCisgICAgICAgICAgdGhhbiB3YWl0IGZvciBh
IG5vdGlmaWNhdGlvbiB0aGF0IHRoZSBwbGF5YmFjayB0YXJnZXQgY2hhbmdlZC4KKworICAgICAg
ICBBZGRpdGlvbmFsbHksIGFkZCBhIG1pbmktZmFjdG9yeSBmdW5jdGlvbmFsaXR5IHRvIFJlbW90
ZUNvbW1hbmRMaXN0ZW5lciB0byBhbGxvdworICAgICAgICBjbGllbnRzIHRvIHNwZWNpZnkgYSBk
aWZmZXJlbnQgc3ViY2xhc3MgdG8gYmUgY3JlYXRlZCBhdCBydW50aW1lLgorCisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVj
ZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3dQbGF5
aW5nTWFuYWdlcjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vd1BsYXlpbmdNYW5hZ2VyOjpzZXROb3dQbGF5aW5nSW5mbyk6CisgICAgICAgIChX
ZWJDb3JlOjpOb3dQbGF5aW5nTWFuYWdlcjo6c3VwcG9ydHNTZWVraW5nIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZW1v
dGVDb21tYW5kTGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bW90ZUNvbW1hbmRMaXN0ZW5lcjo6c2V0Q3JlYXRpb25GdW5jdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnJlc2V0Q3JlYXRpb25GdW5jdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnNldFN1cHBvcnRzU2Vla2lu
Zyk6CisgICAgICAgICogcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnVwZGF0
ZVN1cHBvcnRlZENvbW1hbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6Y2xpZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnByb2Nlc3NEaWRSZWNlaXZlUmVt
b3RlQ29udHJvbENvbW1hbmQpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlh
U2Vzc2lvbk1hbmFnZXJDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL01l
ZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lv
bk1hbmFnZXJDb2NvYTo6c2NoZWR1bGVTZXNzaW9uU3RhdHVzVXBkYXRlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9TLmg6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5tbToKKyAgICAgICAgKE1lZGlh
U2Vzc2lvbkhlbHBlcmlPUzo6YWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZSk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW06CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjpzZXNzaW9uV2lsbEJlZ2luUGxheWJhY2sp
OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJ
T1MpOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjp1cGRhdGVT
dXBwb3J0ZWRDb21tYW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVu
ZXI6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1h
bmRMaXN0ZW5lck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlz
dGVuZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OnVw
ZGF0ZVN1cHBvcnRlZENvbW1hbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRM
aXN0ZW5lck1hYzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnBvc3RSZW1v
dGVDb250cm9sQ29tbWFuZCk6CisKIDIwMjEtMDItMDUgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBFbmNyeXB0ZWQgbWVkaWEgc2VnbWVudHMgc2hv
dWxkIGdlbmVyYXRlIGEgcGFyc2VyIGVycm9yIGlmIG5vIGVuY3J5cHRlZCBtZWRpYSBoYW5kbGVy
IGlzIHByZXNlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk5NWQ1MjVmNWI5MTQ3MmY3YjgwZmE1NTg1Mzk1ZjNm
NDkzNzZkYmEuLjU2MTY2YWQ2ZTJjYmJiODgyYmM2MGZiZTIxMDA4ZWI4ZWIzNWU0YWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjEtMDItMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXVtHUFVQXSBNb3ZlIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lciBpbnRvIHRoZSBHUFUgUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxNzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IFJlbW90ZS9Qcm94eSBjbGFzcyBwYWlyIHRvIGZh
Y2lsaXRhdGUgUmVtb3RlQ29tbWFuZExpc3RlbmVyIGJlaW5nCisgICAgICAgIGNyZWF0ZWQgaW4g
dGhlIEdQVSBQcm9jZXNzLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OmNyZWF0ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChXZWJLaXQ6
OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbGVhc2VSZW1vdGVDb21tYW5kTGlzdGVuZXIp
OgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJv
eHk6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclBy
b3h5Ojp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW46Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgICogU291cmNlcy50
eHQ6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyOjp+UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpncHVQcm9jZXNzQ29ubmVj
dGlvbkRpZENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXJJZGVudGlmaWVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1Jl
bW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
U2Vzc2lvbkhlbHBlcjo6YWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpz
ZXRVc2VHUFVQcm9jZXNzRm9yTWVkaWEpOgorCiAyMDIxLTAyLTA1ICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgQXVkaW9IYXJkd2FyZUxpc3RlbmVyIGlu
dG8gdGhlIEdQVSBQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NvbnRleHQuaAppbmRleCBhMjMyMjA2MDM4ODhhYjRiOWRkYTI5NjdkMmZjZDE4MjFiYWZj
OTQ3Li5mMWM0YjViYTM2NTc0MTE1M2YzZmRhOWYxYTllYjU1MTcxYTQ2YzJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKQEAgLTExNSw3ICsx
MTUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbWF5UmVzdW1lUGxheWJhY2soYm9vbCBzaG91bGRS
ZXN1bWUpIG92ZXJyaWRlOwogICAgIHZvaWQgc3VzcGVuZFBsYXliYWNrKCkgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRzKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gZmFsc2U7IH0KLSAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50Kikgb3ZlcnJpZGUgeyB9
CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Np
b246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpIG92ZXJyaWRlIHsgfQogICAgIGJvb2wgc3VwcG9y
dHNTZWVraW5nKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIHNo
b3VsZE92ZXJyaWRlQmFja2dyb3VuZFBsYXliYWNrUmVzdHJpY3Rpb24oUGxhdGZvcm1NZWRpYVNl
c3Npb246OkludGVycnVwdGlvblR5cGUpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA2YjRiZWI3YzZk
MTRlNWYzOWJiYmU1YzFiMzA5NjY0MjI1ZjdmYWM1Li43YTJmNGZmNTU1ZmNkMzgxYjg1NTg3Mzkw
YjUwMDFmYzdiYWZjNjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKQEAgLTc1MTQsNyArNzUxNCw3IEBAIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIgSFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFTZXNzaW9uVW5pcXVlSWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJu
IG1fbWVkaWFTZXNzaW9uLT5tZWRpYVNlc3Npb25JZGVudGlmaWVyKCk7CiB9CiAKLXZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJndW1lbnQpCit2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQogewogICAg
IEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgY29tbWFuZCk7CiAKQEAgLTc1NDMsMTggKzc1NDMs
MTggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1h
bmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW8KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEZvcndhcmRDb21tYW5kOgogICAgICAgICBpZiAoYXJn
dW1lbnQpCi0gICAgICAgICAgICBvZmZzZXQgPSBhcmd1bWVudC0+YXNEb3VibGU7CisgICAgICAg
ICAgICBvZmZzZXQgPSAqYXJndW1lbnQ7CiAgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9z
aXRpb24ob2Zmc2V0KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6U2tpcEJhY2t3YXJkQ29tbWFuZDoKICAgICAgICAgaWYgKGFyZ3VtZW50KQotICAgICAg
ICAgICAgb2Zmc2V0ID0gYXJndW1lbnQtPmFzRG91YmxlOworICAgICAgICAgICAgb2Zmc2V0ID0g
KmFyZ3VtZW50OwogICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKDAgLSBvZmZz
ZXQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTZWVr
VG9QbGF5YmFja1Bvc2l0aW9uQ29tbWFuZDoKICAgICAgICAgQVNTRVJUKGFyZ3VtZW50KTsKICAg
ICAgICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgaGFuZGxlU2Vla1RvUGxheWJhY2tQb3Np
dGlvbihhcmd1bWVudC0+YXNEb3VibGUpOworICAgICAgICAgICAgaGFuZGxlU2Vla1RvUGxheWJh
Y2tQb3NpdGlvbigqYXJndW1lbnQpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAg
ICAgICB7IH0gLy8gRG8gbm90aGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAppbmRleCBhNzAyM2EzNTlmOWY2OWRhYWJjMTUxYTMxZTQ2YjUzYjZlYTYxNmI4Li5jY2NiYjgz
MWUzYTI2YThjMTljYmM3NGQ3ZTFmYzg3ZGU1YTFiYTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaApAQCAtODYzLDcgKzg2Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBy
ZXN1bWVBdXRvcGxheWluZygpIG92ZXJyaWRlOwogICAgIHZvaWQgbWF5UmVzdW1lUGxheWJhY2so
Ym9vbCBzaG91bGRSZXN1bWUpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuUmVjZWl2ZVJlbW90ZUNv
bnRyb2xDb21tYW5kcygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2b2lk
IGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVt
b3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29tbWFuZEFyZ3VtZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29u
dHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlw
ZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpIG92
ZXJyaWRlOwogICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVCYWNrZ3JvdW5kUGxheWJhY2tSZXN0cmlj
dGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZSkgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgYm9vbCBzaG91bGRPdmVycmlkZUJhY2tncm91bmRMb2FkaW5nUmVzdHJpY3Rpb24o
KSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGNhblByb2R1Y2VBdWRpbygpIGNvbnN0IGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggZDFj
MDM3Mzg4ZTFjNzQzYTg3YjA4YzkyOTBiZDM5MzhlYTM4NjcyMy4uNTM4YzJhYTU5NWQ0NWRkZjMz
OGQxNDNkZmMxOTBhYjQ5YzRiYWI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwCkBAIC0xMDI4LDcgKzEwMjgsNyBAQCBib29sIE1lZGlhRWxlbWVudFNl
c3Npb246OmFsbG93c1BsYXliYWNrQ29udHJvbHNGb3JBdXRvcGxheWluZ0F1ZGlvKCkgY29uc3QK
IH0KIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQotdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBl
IGNvbW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQqIGFyZ3VtZW50KQordm9p
ZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVt
b3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJn
dW1lbnQmIGFyZ3VtZW50KQogewogICAgIGF1dG8qIHdpbmRvdyA9IG1fZWxlbWVudC5kb2N1bWVu
dCgpLmRvbVdpbmRvdygpOwogICAgIGF1dG8qIHNlc3Npb24gPSB3aW5kb3cgPyAmTmF2aWdhdG9y
TWVkaWFTZXNzaW9uOjptZWRpYVNlc3Npb24od2luZG93LT5uYXZpZ2F0b3IoKSkgOiBudWxscHRy
OwpAQCAtMTA1OCwxNiArMTA1OCwxNiBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cAogICAgICAg
ICBpZiAoIWFyZ3VtZW50KQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBhY3Rpb25EZXRh
aWxzLmFjdGlvbiA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6U2Vla3RvOwotICAgICAgICBhY3Rpb25E
ZXRhaWxzLnNlZWtUaW1lID0gYXJndW1lbnQtPmFzRG91YmxlOworICAgICAgICBhY3Rpb25EZXRh
aWxzLnNlZWtUaW1lID0gKmFyZ3VtZW50OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNraXBG
b3J3YXJkQ29tbWFuZDoKICAgICAgICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgYWN0aW9u
RGV0YWlscy5zZWVrT2Zmc2V0ID0gYXJndW1lbnQtPmFzRG91YmxlOworICAgICAgICAgICAgYWN0
aW9uRGV0YWlscy5zZWVrT2Zmc2V0ID0gKmFyZ3VtZW50OwogICAgICAgICBhY3Rpb25EZXRhaWxz
LmFjdGlvbiA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6U2Vla2ZvcndhcmQ7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgU2tpcEJhY2t3YXJkQ29tbWFuZDoKICAgICAgICAgaWYgKGFyZ3VtZW50KQot
ICAgICAgICAgICAgYWN0aW9uRGV0YWlscy5zZWVrT2Zmc2V0ID0gYXJndW1lbnQtPmFzRG91Ymxl
OworICAgICAgICAgICAgYWN0aW9uRGV0YWlscy5zZWVrT2Zmc2V0ID0gKmFyZ3VtZW50OwogICAg
ICAgICBhY3Rpb25EZXRhaWxzLmFjdGlvbiA9IE1lZGlhU2Vzc2lvbkFjdGlvbjo6U2Vla2JhY2t3
YXJkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIE5leHRUcmFja0NvbW1hbmQ6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCmluZGV4IGQ3MWU0ZGJiNGYwM2M0MzZl
ZjM0ZWM5NGNlZTQ3MDJhZWEyYTAxYmQuLjI2YmExYzlhNDYyNWMxNDJiZjk1ZTcyMGZjOWVjMjdh
MmI5YTUxNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCkBA
IC0xNzUsNyArMTc1LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFfU0VT
U0lPTikKLSAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCogPSBudWxscHRyKSBm
aW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCYgPSBXVEY6Om51bGxv
cHQpIGZpbmFsOwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Ob3dQbGF5aW5nTWFuYWdlci5jcHAKaW5kZXggNWQzZGM5M2VlNzY5ZDk5OTRjNmVhZjcwNTRh
MmNlOTM2YWJlNTQ2Ni4uMGJkZjQwNGQxOWU4NjcxNjMzN2M3ZDdlNGY5N2M4NDE5NDllMmQ3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmNwcApAQCAt
MzUsMjIgKzM1LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIE5vd1BsYXlpbmdNYW5hZ2VyOjpO
b3dQbGF5aW5nTWFuYWdlcigpID0gZGVmYXVsdDsKIE5vd1BsYXlpbmdNYW5hZ2VyOjp+Tm93UGxh
eWluZ01hbmFnZXIoKSA9IGRlZmF1bHQ7CiAKLXZvaWQgTm93UGxheWluZ01hbmFnZXI6OmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlIHR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQqIGFyZ3VtZW50KQordm9pZCBOb3dQbGF5aW5nTWFuYWdlcjo6ZGlkUmVj
ZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUgdHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCiB7CiAgICAgQVNTRVJUKG1fbm93UGxheWluZ0luZm8p
OwogCi0gICAgaWYgKCFtX2NsaWVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgT3B0aW9uYWw8
ZG91YmxlPiB2YWx1ZTsKLSAgICBpZiAoYXJndW1lbnQpCi0gICAgICAgIHZhbHVlID0gYXJndW1l
bnQtPmFzRG91YmxlOwotICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1h
bmQodHlwZSwgdmFsdWUpOwotfQotCi1ib29sIE5vd1BsYXlpbmdNYW5hZ2VyOjpzdXBwb3J0c1Nl
ZWtpbmcoKSBjb25zdAotewotICAgIHJldHVybiBtX25vd1BsYXlpbmdJbmZvICYmIG1fbm93UGxh
eWluZ0luZm8tPnN1cHBvcnRzU2Vla2luZzsKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1f
Y2xpZW50LT5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQodHlwZSwgYXJndW1lbnQpOwog
fQogCiB2b2lkIE5vd1BsYXlpbmdNYW5hZ2VyOjpjbGVhck5vd1BsYXlpbmdJbmZvQ2xpZW50KENs
aWVudCYgY2xpZW50KQpAQCAtNzIsNiArNjIsNyBAQCB2b2lkIE5vd1BsYXlpbmdNYW5hZ2VyOjpz
ZXROb3dQbGF5aW5nSW5mbyhDbGllbnQmIGNsaWVudCwgTm93UGxheWluZ0luZm8mJiBub3dQbAog
ICAgIGlmICghbV9yZW1vdGVDb21tYW5kTGlzdGVuZXIpCiAgICAgICAgIG1fcmVtb3RlQ29tbWFu
ZExpc3RlbmVyID0gUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVhdGUoKnRoaXMpOwogCisgICAg
bV9yZW1vdGVDb21tYW5kTGlzdGVuZXItPnNldFN1cHBvcnRzU2Vla2luZyhub3dQbGF5aW5nSW5m
by5zdXBwb3J0c1NlZWtpbmcpOwogICAgIG1fY2xpZW50ID0gbWFrZVdlYWtQdHIoY2xpZW50KTsK
ICAgICBtX25vd1BsYXlpbmdJbmZvID0gV1RGTW92ZShub3dQbGF5aW5nSW5mbyk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oCmluZGV4IDdjOWQ1ZmYwMWE5
YmZiZDFiOGUxNjQwYzkxYTFlN2Q4YzRhYTI3YTIuLjFiNjc4YzgyMDZmNWQwYWY5ZDdmNzc4NGEy
ZWM5NDNhYmZhMDAxM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1Bs
YXlpbmdNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01h
bmFnZXIuaApAQCAtNDAsOCArNDAsNyBAQCBwdWJsaWM6CiAgICAgTm93UGxheWluZ01hbmFnZXIo
KTsKICAgICB+Tm93UGxheWluZ01hbmFnZXIoKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQq
KSBmaW5hbDsKLSAgICBib29sIHN1cHBvcnRzU2Vla2luZygpIGNvbnN0IGZpbmFsOworICAgIHZv
aWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb21tYW5kQXJndW1lbnQmKSBmaW5hbDsKIAogICAgIGNsYXNzIENsaWVudCA6IHB1YmxpYyBD
YW5NYWtlV2Vha1B0cjxDbGllbnQ+IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcAppbmRleCA1YjJhOTFmMmM1YjQ4
MGZmZjVjZDg0MjI5NjMxMjI1ODQ4NTE1Y2ZmLi4wMmI1ZTdkYTMwMTY1NGU3MjMxNWE2NjczMjlk
MGQxMzQwNjJhM2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVD
b21tYW5kTGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lci5jcHAKQEAgLTI2LDE2ICsyNiw1NCBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIgogCisjaWYgUExBVEZPUk0oTUFD
KQorI2luY2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oIgorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQorI2luY2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmICFQTEFURk9STShDT0NPQSkK
K3N0YXRpYyBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OkNyZWF0aW9uRnVuY3Rpb24mIHJlbW90ZUNv
bW1hbmRMaXN0ZW5lckNyZWF0aW9uRnVuY3Rpb24oKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxSZW1vdGVDb21tYW5kTGlzdGVuZXI6OkNyZWF0aW9uRnVuY3Rpb24+IGNyZWF0aW9uRnVu
Y3Rpb247CisgICAgcmV0dXJuIGNyZWF0aW9uRnVuY3Rpb247Cit9CiAKLXN0ZDo6dW5pcXVlX3B0
cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKFJl
bW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQordm9pZCBSZW1vdGVDb21tYW5kTGlz
dGVuZXI6OnNldENyZWF0aW9uRnVuY3Rpb24oQ3JlYXRpb25GdW5jdGlvbiYmIGZ1bmN0aW9uKQog
ewotICAgIHJldHVybiBtYWtlVW5pcXVlPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4oY2xpZW50KTsK
KyAgICByZW1vdGVDb21tYW5kTGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKCkgPSBXVEZNb3ZlKGZ1
bmN0aW9uKTsKIH0KIAordm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnJlc2V0Q3JlYXRpb25G
dW5jdGlvbigpCit7CisgICAgcmVtb3RlQ29tbWFuZExpc3RlbmVyQ3JlYXRpb25GdW5jdGlvbigp
ID0gW10gKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KSB7CisjaWYgUExBVEZP
Uk0oTUFDKQorICAgICAgICByZXR1cm4gUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpjcmVhdGUo
Y2xpZW50KTsKKyNlbGlmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgICAgIHJldHVybiBSZW1v
dGVDb21tYW5kTGlzdGVuZXJJT1M6OmNyZWF0ZShjbGllbnQpOworI2Vsc2UKKyAgICAgICAgcmV0
dXJuIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKGNsaWVudCk7CiAjZW5kaWYKKyAgICB9
OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVyPiBSZW1vdGVDb21t
YW5kTGlzdGVuZXI6OmNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkK
K3sKKyAgICBpZiAoIXJlbW90ZUNvbW1hbmRMaXN0ZW5lckNyZWF0aW9uRnVuY3Rpb24oKSkKKyAg
ICAgICAgcmVzZXRDcmVhdGlvbkZ1bmN0aW9uKCk7CisgICAgcmV0dXJuIHJlbW90ZUNvbW1hbmRM
aXN0ZW5lckNyZWF0aW9uRnVuY3Rpb24oKShjbGllbnQpOworfQorCitSZW1vdGVDb21tYW5kTGlz
dGVuZXI6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQm
IGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKK3sKK30KKworUmVtb3RlQ29tbWFuZExp
c3RlbmVyOjp+UmVtb3RlQ29tbWFuZExpc3RlbmVyKCkgPSBkZWZhdWx0OworCiAKIHZvaWQgUmVt
b3RlQ29tbWFuZExpc3RlbmVyOjpzY2hlZHVsZVN1cHBvcnRlZENvbW1hbmRzVXBkYXRlKCkKIHsK
QEAgLTQ2LDYgKzg0LDE1IEBAIHZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpzY2hlZHVsZVN1
cHBvcnRlZENvbW1hbmRzVXBkYXRlKCkKICAgICB9CiB9CiAKK3ZvaWQgUmVtb3RlQ29tbWFuZExp
c3RlbmVyOjpzZXRTdXBwb3J0c1NlZWtpbmcoYm9vbCBzdXBwb3J0cykKK3sKKyAgICBpZiAobV9z
dXBwb3J0c1NlZWtpbmcgPT0gc3VwcG9ydHMpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc3Vw
cG9ydHNTZWVraW5nID0gc3VwcG9ydHM7CisgICAgc2NoZWR1bGVTdXBwb3J0ZWRDb21tYW5kc1Vw
ZGF0ZSgpOworfQorCiB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6YWRkU3VwcG9ydGVkQ29t
bWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1h
bmQpCiB7CiAgICAgbV9yZWdpc3RlcmVkQ29tbWFuZHMuYWRkKGNvbW1hbmQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuaAppbmRleCA2N2FjYmFh
ODY0ZDExNmJmMDIzMTFiMTQzNDg4MDM0YmEwNmM5NmJmLi44YWY2NWFkMjI3NWNiNzFkMzk0OTYy
YWJmNzNiZTg2MjQ4YmY5OTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9S
ZW1vdGVDb21tYW5kTGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1v
dGVDb21tYW5kTGlzdGVuZXIuaApAQCAtMzUsMjEgKzM1LDI1IEBAIGNsYXNzIFJlbW90ZUNvbW1h
bmRMaXN0ZW5lckNsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+UmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50KCkgPSBkZWZhdWx0Owot
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wg
c3VwcG9ydHNTZWVraW5nKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1
bWVudCYpID0gMDsKIH07CiAKLWNsYXNzIFJlbW90ZUNvbW1hbmRMaXN0ZW5lciB7CitjbGFzcyBX
RUJDT1JFX0VYUE9SVCBSZW1vdGVDb21tYW5kTGlzdGVuZXIgewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVyPiBjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVy
Q2xpZW50Jik7Ci0gICAgUmVtb3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZUNvbW1hbmRMaXN0ZW5l
ckNsaWVudCYgY2xpZW50KSA6IG1fY2xpZW50KGNsaWVudCkgeyB9Ci0gICAgdmlydHVhbCB+UmVt
b3RlQ29tbWFuZExpc3RlbmVyKCkgPSBkZWZhdWx0OworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8UmVtb3RlQ29tbWFuZExpc3RlbmVyPiBjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xp
ZW50Jik7CisgICAgUmVtb3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNs
aWVudCYpOworICAgIHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5lcigpOworCisgICAgdXNp
bmcgQ3JlYXRpb25GdW5jdGlvbiA9IEZ1bmN0aW9uPHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21t
YW5kTGlzdGVuZXI+KFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYpPjsKKyAgICBzdGF0aWMg
dm9pZCBzZXRDcmVhdGlvbkZ1bmN0aW9uKENyZWF0aW9uRnVuY3Rpb24mJik7CisgICAgc3RhdGlj
IHZvaWQgcmVzZXRDcmVhdGlvbkZ1bmN0aW9uKCk7CiAKICAgICB2b2lkIGFkZFN1cHBvcnRlZENv
bW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSk7CiAg
ICAgdm9pZCByZW1vdmVTdXBwb3J0ZWRDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb250cm9sQ29tbWFuZFR5cGUpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTdXBwb3J0ZWRD
b21tYW5kcygpIHsgfQogICAgIHZvaWQgc2NoZWR1bGVTdXBwb3J0ZWRDb21tYW5kc1VwZGF0ZSgp
OworICAgIHZvaWQgc2V0U3VwcG9ydHNTZWVraW5nKGJvb2wpOwogCiAgICAgUmVtb3RlQ29tbWFu
ZExpc3RlbmVyQ2xpZW50JiBjbGllbnQoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudDsgfQogCkBA
IC01OCw2ICs2Miw3IEBAIHByb3RlY3RlZDoKIAogICAgIHVzaW5nIFJlbW90ZUNvbW1hbmRzU2V0
ID0gSGFzaFNldDxQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBl
LCBXVEY6OkludEhhc2g8UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5k
VHlwZT4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZT4+OwogICAgIFJlbW90ZUNvbW1hbmRzU2V0IG1fcmVnaXN0
ZXJlZENvbW1hbmRzOworICAgIGJvb2wgbV9zdXBwb3J0c1NlZWtpbmcgeyBmYWxzZSB9OwogCiAg
ICAgRGVmZXJyYWJsZVRhc2s8VGltZXI+IG1fdXBkYXRlQ29tbWFuZHNUYXNrOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
LmNwcAppbmRleCA0MzdjNmQwYTUxNjY0NTkwYTQ2OWJhZDFiYjU4MjJjMTk4MmUxOTRkLi42Mjdh
MWUwZjU0YmNlY2UwZTIwYjY3YjA1YTE5ODM4ZTk3OGZkOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0y
OTEsNyArMjkxLDcgQEAgYm9vbCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2FuUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2xpZW50LmNhblJlY2VpdmVS
ZW1vdGVDb250cm9sQ29tbWFuZHMoKTsKIH0KIAotdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBj
b21tYW5kLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50
KiBhcmd1bWVudCkKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCiB7CiAg
ICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCBjb21tYW5kKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKaW5kZXggZDk1
MmZhOTViM2YyNzM3MGU2MGI0YzY5MTJlOTUxYTVkNjhkMGRiMS4uYjEzMzAzYzYwNTVlZjZhMjUx
Mzc5MTBmYWZmZTMyMTk4ZjI5OTIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCkBAIC0xMTQsMTAgKzExNCw4IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5kQnVmZmVyaW5nKCkgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHJlc3VtZUJ1ZmZlcmluZygpIHsgfQotICAgIAotICAgIHR5cGVkZWYgdW5pb24g
ewotICAgICAgICBkb3VibGUgYXNEb3VibGU7Ci0gICAgfSBSZW1vdGVDb21tYW5kQXJndW1lbnQ7
CisKKyAgICB1c2luZyBSZW1vdGVDb21tYW5kQXJndW1lbnQgPSBPcHRpb25hbDxkb3VibGU+Owog
CiAgICAgZW51bSBSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgOiB1aW50OF90IHsKICAgICAgICAg
Tm9Db21tYW5kLApAQCAtMTM2LDcgKzEzNCw3IEBAIHB1YmxpYzoKICAgICAgICAgUHJldmlvdXNU
cmFja0NvbW1hbmQsCiAgICAgfTsKICAgICBib29sIGNhblJlY2VpdmVSZW1vdGVDb250cm9sQ29t
bWFuZHMoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3Vt
ZW50KiA9IG51bGxwdHIpOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJn
dW1lbnQmID0gV1RGOjpudWxsb3B0KTsKICAgICBib29sIHN1cHBvcnRzU2Vla2luZygpIGNvbnN0
OwogCiAgICAgZW51bSBEaXNwbGF5VHlwZSA6IHVpbnQ4X3QgewpAQCAtMjM5LDcgKzIzNyw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZFBsYXliYWNrKCkgPSAwOwogCiAgICAg
dmlydHVhbCBib29sIGNhblJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZHMoKSBjb25zdCA9IDA7
Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KikgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbW1hbmRBcmd1bWVudCYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNTZWVraW5n
KCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGNhblByb2R1Y2VBdWRpbygpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCBmN2ZkNTcz
N2VjODgyZDliOTY2OTRkMmNhYTEzODJlZDQ4YTM5ZGQzLi4zZmZjNjI4ZWMyMDVkZDg0NThkODA0
NDViYjQ5ZTU4MGM4YWJiNjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKQEAgLTQzMCw3
ICs0MzAsNyBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2Vzc2lvbkNhblBy
b2R1Y2VBdWRpb0NoYW5nZWQoKQogICAgIHVwZGF0ZVNlc3Npb25TdGF0ZSgpOwogfQogCi12b2lk
IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6cHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBl
IGNvbW1hbmQsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQqIGFyZ3VtZW50KQordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnByb2Nlc3NE
aWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKIHsKICAgICBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbiogYWN0aXZlU2Vzc2lvbiA9IGN1cnJlbnRTZXNzaW9uKCk7CiAgICAgaWYgKCFhY3RpdmVT
ZXNzaW9uIHx8ICFhY3RpdmVTZXNzaW9uLT5jYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRz
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCmluZGV4IDIzZGQ5OWM2ZGVmMmZmNGRhZWY4N2EwNTA5
OGI3NzVhODA3ZGNhMTMuLjJiYzNjMmYyNDc0OGUxMTljYTNmZGYzNzE5ODE5MjM5YzczODlmYzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVtb3ZlQXVkaW9DYXB0dXJlU291cmNlKFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpBdWRpb0NhcHR1cmVTb3VyY2UmKTsKICAgICBib29sIGhhc0F1ZGlvQ2FwdHVy
ZVNvdXJjZShQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6QXVkaW9DYXB0dXJlU291cmNlJiBzb3VyY2Up
IGNvbnN0IHsgcmV0dXJuIG1fYXVkaW9DYXB0dXJlU291cmNlcy5jb250YWlucyhzb3VyY2UpOyB9
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwg
Y29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopOworICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgcHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50Jik7CiAKICAgICBib29s
IGlzSW50ZXJydXB0ZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVycnVwdGVkOyB9CiAgICAgYm9v
bCBoYXNOb1Nlc3Npb24oKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKaW5kZXgg
ZDllMzdhYTgzN2Q2NThhOTcyZTZiYjQzMjY2YzZjZGQ2MGRmYTk3OS4uMjM3OWVlYzRlNTI2NWZi
MGExYjk4NTI2NWExZGFlZjI2YTU0NDk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgK
QEAgLTkzLDggKzkzLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgLy8gUmVtb3RlQ29tbWFu
ZExpc3RlbmVyQ2xpZW50Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQo
UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBjb25z
dCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBhcmd1bWVudCkg
ZmluYWwgeyBwcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5cGUsIGFyZ3Vt
ZW50KTsgfQotICAgIGJvb2wgc3VwcG9ydHNTZWVraW5nKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
Y29tcHV0ZVN1cHBvcnRzU2Vla2luZygpOyB9CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29u
dHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlw
ZSB0eXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50
JiBhcmd1bWVudCkgZmluYWwgeyBwcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5k
KHR5cGUsIGFyZ3VtZW50KTsgfQogCiAgICAgLy8gQXVkaW9IYXJkd2FyZUxpc3RlbmVyQ2xpZW50
CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lQWN0aXZlKCkgZmluYWwgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KaW5kZXggZDM0ZmM5MGQ3YWE4YjY0MDgwNzlhMzE0ODhh
YjAyZjgwYjdmMjg5Ni4uM2RhM2U4OTQxYWJkNDZjMGE5NjcyMDYyMWJmMDJiNDg3NGVlZjNkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNz
aW9uTWFuYWdlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2Nv
Y29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQpAQCAtMTUzLDggKzE1MywxMCBAQCB2b2lk
IE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6cHJlcGFyZVRvU2VuZFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0KCkKIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpzY2hlZHVsZVNlc3Np
b25TdGF0dXNVcGRhdGUoKQogewogICAgIG1fdGFza1F1ZXVlLmVucXVldWVUYXNrKFt0aGlzXSAo
KSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKG1fcmVtb3RlQ29tbWFuZExpc3RlbmVyKQorICAgICAg
ICBpZiAobV9yZW1vdGVDb21tYW5kTGlzdGVuZXIpIHsKKyAgICAgICAgICAgIG1fcmVtb3RlQ29t
bWFuZExpc3RlbmVyLT5zZXRTdXBwb3J0c1NlZWtpbmcoY29tcHV0ZVN1cHBvcnRzU2Vla2luZygp
KTsKICAgICAgICAgICAgIG1fcmVtb3RlQ29tbWFuZExpc3RlbmVyLT51cGRhdGVTdXBwb3J0ZWRD
b21tYW5kcygpOworICAgICAgICB9CiAKICAgICAgICAgdXBkYXRlTm93UGxheWluZ0luZm8oKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vz
c2lvbkhlbHBlcklPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlh
U2Vzc2lvbkhlbHBlcklPUy5oCmluZGV4IGIxMmNjZDc0NWM2MDEyNTYxM2E4YzY1NTI3MTQ1NjY4
YjhlYWVlMTMuLjEwODc4NDYyYmQwMTFiMDg0ZDFiZGEwYTgzOTE4NDdmOGZhNThkZGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxw
ZXJJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNz
aW9uSGVscGVySU9TLmgKQEAgLTc5LDEyICs3OSwxNSBAQCBwdWJsaWM6CiAgICAgYm9vbCBhY3Rp
dmVWaWRlb1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW8oKSBjb25zdCB7IHJldHVybiBtX2FjdGl2
ZVZpZGVvUm91dGVTdXBwb3J0c0FpclBsYXlWaWRlbzsgfQogICAgIGJvb2wgaXNQbGF5aW5nVG9B
dXRvbW90aXZlSGVhZFVuaXQoKSBjb25zdCB7IHJldHVybiBtX2lzUGxheWluZ1RvQXV0b21vdGl2
ZUhlYWRVbml0OyB9CiAKKyAgICBNZWRpYVBsYXliYWNrVGFyZ2V0KiBwbGF5YmFja1RhcmdldCgp
IGNvbnN0IHsgcmV0dXJuIG1fcGxheWJhY2tUYXJnZXQuZ2V0KCk7IH0KKwogcHJvdGVjdGVkOgog
ICAgIFdlYWtIYXNoU2V0PE1lZGlhU2Vzc2lvbkhlbHBlckNsaWVudD4gbV9jbGllbnRzOwogICAg
IHVpbnQzMl90IG1fbW9uaXRvcmluZ1dpcmVsZXNzUm91dGVzQ291bnQgeyAwIH07CiAgICAgYm9v
bCBtX2lzRXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9hY3RpdmVWaWRlb1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW8geyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pc1BsYXlpbmdUb0F1dG9tb3RpdmVIZWFkVW5pdCB7IGZhbHNlIH07CisgICAgUmVmUHRy
PE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxheWJhY2tUYXJnZXQ7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVy
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhl
bHBlcklPUy5tbQppbmRleCBkODBkYmM4MjM3OTk5NGEyYmMwOGFiZjYwNTJiZmMxMTAzOTg0YTgw
Li4yMjQ3ZjI2NGZhODQ4MjdmZjQ0YWZiOTFkNmFhM2MxODE5ZWI0Mzk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxw
ZXJJT1MubW0KQEAgLTI4OCwxMCArMjg4LDEwIEBAIHZvaWQgTWVkaWFTZXNzaW9uSGVscGVyaU9T
OjphY3RpdmVBdWRpb1JvdXRlRGlkQ2hhbmdlKGJvb2wgc2hvdWxkUGF1c2UpCiAKIHZvaWQgTWVk
aWFTZXNzaW9uSGVscGVyaU9TOjphY3RpdmVWaWRlb1JvdXRlRGlkQ2hhbmdlKCkKIHsKLSAgICBh
dXRvIHBsYXliYWNrVGFyZ2V0ID0gTWVkaWFQbGF5YmFja1RhcmdldENvY29hOjpjcmVhdGUoKTsK
LSAgICBtX2FjdGl2ZVZpZGVvUm91dGVTdXBwb3J0c0FpclBsYXlWaWRlbyA9IHBsYXliYWNrVGFy
Z2V0LT5zdXBwb3J0c1JlbW90ZVZpZGVvUGxheWJhY2soKTsKKyAgICBtX3BsYXliYWNrVGFyZ2V0
ID0gTWVkaWFQbGF5YmFja1RhcmdldENvY29hOjpjcmVhdGUoKTsKKyAgICBtX2FjdGl2ZVZpZGVv
Um91dGVTdXBwb3J0c0FpclBsYXlWaWRlbyA9IG1fcGxheWJhY2tUYXJnZXQtPnN1cHBvcnRzUmVt
b3RlVmlkZW9QbGF5YmFjaygpOwogICAgIGZvciAoYXV0byYgY2xpZW50IDogbV9jbGllbnRzKQot
ICAgICAgICBjbGllbnQuYWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZShtX2FjdGl2ZVZpZGVvUm91
dGVTdXBwb3J0c0FpclBsYXlWaWRlbyA/IFN1cHBvcnRzQWlyUGxheVZpZGVvOjpZZXMgOiBTdXBw
b3J0c0FpclBsYXlWaWRlbzo6Tm8sIHBsYXliYWNrVGFyZ2V0LmNvcHlSZWYoKSk7CisgICAgICAg
IGNsaWVudC5hY3RpdmVWaWRlb1JvdXRlRGlkQ2hhbmdlKG1fYWN0aXZlVmlkZW9Sb3V0ZVN1cHBv
cnRzQWlyUGxheVZpZGVvID8gU3VwcG9ydHNBaXJQbGF5VmlkZW86OlllcyA6IFN1cHBvcnRzQWly
UGxheVZpZGVvOjpObywgKm1fcGxheWJhY2tUYXJnZXQpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2Vy
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1h
bmFnZXJJT1MubW0KaW5kZXggNWNlNjQzZTliMWYwOTUzMWIyNzUwMTc4OTRhNDI1N2U5NTRmY2My
Yy4uMzE2OTY1YTI2NTRiMzYyNDAwZmFhNDI0NTQxYTgxMDgxODBlNjA2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1Mu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1h
bmFnZXJJT1MubW0KQEAgLTE0MiwxNSArMTQyLDExIEBAIGJvb2wgTWVkaWFTZXNzaW9uTWFuYWdl
cmlPUzo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNz
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQ
TEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKSAm
JiAhUExBVEZPUk0oV0FUQ0hPUykKLSAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQpIHsKLSAgICAg
ICAgbV9wbGF5YmFja1RhcmdldCA9IE1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKCk7
Ci0gICAgICAgIG1fcGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbyA9IG1fcGxheWJh
Y2tUYXJnZXQtPnN1cHBvcnRzUmVtb3RlVmlkZW9QbGF5YmFjaygpOwotICAgIH0KLQotICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUiwgIlBsYXliYWNrIFRhcmdldCBTdXBwb3J0cyBBaXJQbGF5
IFZpZGVvID0gIiwgbV9wbGF5YmFja1RhcmdldFN1cHBvcnRzQWlyUGxheVZpZGVvKTsKLSAgICBp
ZiAobV9wbGF5YmFja1RhcmdldFN1cHBvcnRzQWlyUGxheVZpZGVvKQotICAgICAgICBzZXNzaW9u
LnNldFBsYXliYWNrVGFyZ2V0KCptX3BsYXliYWNrVGFyZ2V0LmNvcHlSZWYoKSk7Ci0gICAgc2Vz
c2lvbi5zZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChtX3BsYXliYWNrVGFyZ2V0U3VwcG9y
dHNBaXJQbGF5VmlkZW8pOworICAgIGF1dG8gcGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlW
aWRlbyA9IE1lZGlhU2Vzc2lvbkhlbHBlcjo6c2hhcmVkSGVscGVyKCkuYWN0aXZlVmlkZW9Sb3V0
ZVN1cHBvcnRzQWlyUGxheVZpZGVvKCk7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAi
UGxheWJhY2sgVGFyZ2V0IFN1cHBvcnRzIEFpclBsYXkgVmlkZW8gPSAiLCBwbGF5YmFja1Rhcmdl
dFN1cHBvcnRzQWlyUGxheVZpZGVvKTsKKyAgICBpZiAoYXV0byB0YXJnZXQgPSBNZWRpYVNlc3Np
b25IZWxwZXI6OnNoYXJlZEhlbHBlcigpLnBsYXliYWNrVGFyZ2V0KCk7IHRhcmdldCAmJiBwbGF5
YmFja1RhcmdldFN1cHBvcnRzQWlyUGxheVZpZGVvKQorICAgICAgICBzZXNzaW9uLnNldFBsYXli
YWNrVGFyZ2V0KCp0YXJnZXQpOworICAgIHNlc3Npb24uc2V0U2hvdWxkUGxheVRvUGxheWJhY2tU
YXJnZXQocGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbyk7CiAjZW5kaWYKIAogICAg
IHByb3ZpZGVQcmVzZW50aW5nQXBwbGljYXRpb25QSURJZk5lY2Vzc2FyeSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5o
CmluZGV4IDczOWU4MGQ3MzgzZmExOWI2NTA0NTJjYzY5YmQ1YWQ1MDNkMDk3M2MuLmY4ZDU2NTgw
NTlmNWExMGRlNDBiZTU5MjQ2NzQ3NjM2MjI3ZjlmNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmgKQEAgLTMzLDYg
KzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVu
ZXJJT1MgZmluYWwgOiBwdWJsaWMgUmVtb3RlQ29tbWFuZExpc3RlbmVyLCBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TPiB7CiBwdWJsaWM6CisgICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M+IGNyZWF0ZShSZW1vdGVD
b21tYW5kTGlzdGVuZXJDbGllbnQmKTsKICAgICBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVt
b3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50Jik7CiAgICAgdmlydHVhbCB+UmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9S
ZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCmluZGV4IDNjYWI1ZTQ0NGUwZGU4NmU5MzkwMTRi
Y2NiYTVmZmU3MTg1MDg5OTkuLmEzMzQzNWFhYjFjMmRkNTk5NGEwYWIyZGM0NGU4Y2Y3MWQxZmRj
NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUy5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZUX0xJTktfQ0xBU1MoTWVk
aWFQbGF5ZXIsIE1QQ2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRFdmVudCkKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVyPiBS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQm
IGNsaWVudCkKK3N0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M+IFJlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUzo6Y3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYg
Y2xpZW50KQogewogICAgIGlmICghTWVkaWFQbGF5ZXJMaWJyYXJ5KCkpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwpAQCAtNTgsNyArNTgsNyBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJl
bW90ZUNvbW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAg
ICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtU
aGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2Ns
aWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246
OlBhdXNlQ29tbWFuZCwgbnVsbHB0cik7CisgICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQu
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQYXVz
ZUNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIHJldHVybiBN
UFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAgLTY4LDcgKzY4LDcgQEAgUmVt
b3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29t
bWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10g
ewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5Q29tbWFuZCwgbnVsbHB0cik7CisgICAgICAg
ICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5Q29tbWFuZCwgV1RGOjpudWxsb3B0KTsKICAgICAgICAg
fSk7CiAKICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNz
OwpAQCAtNzgsNyArNzgsNyBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJlbW90ZUNvbW1h
bmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAgICAgIGNhbGxP
bk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlRvZ2dsZVBs
YXlQYXVzZUNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50
LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6VG9n
Z2xlUGxheVBhdXNlQ29tbWFuZCwgV1RGOjpudWxsb3B0KTsKICAgICAgICAgfSk7CiAKICAgICAg
ICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtOTMsNyAr
OTMsNyBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklP
UyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W3dlYWtUaGlzLCBjb21tYW5kXSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNl
aXZlUmVtb3RlQ29udHJvbENvbW1hbmQoY29tbWFuZCwgbnVsbHB0cik7CisgICAgICAgICAgICB3
ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKGNvbW1hbmQs
IFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIHJldHVybiBNUFJlbW90ZUNv
bW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAgLTEwOCw3ICsxMDgsNyBAQCBSZW1vdGVDb21t
YW5kTGlzdGVuZXJJT1M6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllbnQmCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzLCBjb21tYW5k
XSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmQoY29tbWFuZCwgbnVsbHB0cik7CisgICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQu
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKGNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAg
ICAgICAgIH0pOwogCiAgICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVz
U3VjY2VzczsKQEAgLTExNywxNiArMTE3LDE2IEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6
UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYKICAg
ICBtX3NlZWtUb1RpbWVUYXJnZXQgPSBbW2NlbnRlciBjaGFuZ2VQbGF5YmFja1Bvc2l0aW9uQ29t
bWFuZF0gYWRkVGFyZ2V0V2l0aEhhbmRsZXI6XihNUFJlbW90ZUNvbW1hbmRFdmVudCAqZXZlbnQp
IHsKICAgICAgICAgQVNTRVJUKFtldmVudCBpc0tpbmRPZkNsYXNzOmdldE1QQ2hhbmdlUGxheWJh
Y2tQb3NpdGlvbkNvbW1hbmRFdmVudENsYXNzKCldKTsKIAotICAgICAgICBpZiAoIWNsaWVudC5z
dXBwb3J0c1NlZWtpbmcoKSkKKyAgICAgICAgaWYgKCFtX3N1cHBvcnRzU2Vla2luZykKICAgICAg
ICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZDsK
IAogICAgICAgICBNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnQqIHNlZWtFdmVu
dCA9IHN0YXRpY19jYXN0PE1QQ2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRFdmVudCAqPihl
dmVudCk7CiAgICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQgYXJndW1lbnQgeyBbc2Vla0V2ZW50IHBvc2l0aW9uVGltZV0gfTsKIAotICAgICAgICBjYWxs
T25NYWluVGhyZWFkKFt3ZWFrVGhpcywgYXJndW1lbnRdIHsKKyAgICAgICAgY2FsbE9uTWFpblRo
cmVhZChbd2Vha1RoaXMsIGFyZ3VtZW50ID0gV1RGTW92ZShhcmd1bWVudCldIHsKICAgICAgICAg
ICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg
d2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQsICZhcmd1bWVudCk7
CisgICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTZWVrVG9QbGF5YmFja1Bvc2l0aW9uQ29tbWFu
ZCwgYXJndW1lbnQpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21t
YW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC0xNDYsNyArMTQ2LDcgQEAgUmVtb3RlQ29tbWFu
ZExpc3RlbmVySU9TOjp+UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKCkKIAogdm9pZCBSZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1M6OnVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzKCkKIHsKLSAgICBbW1tn
ZXRNUFJlbW90ZUNvbW1hbmRDZW50ZXJDbGFzcygpIHNoYXJlZENvbW1hbmRDZW50ZXJdIGNoYW5n
ZVBsYXliYWNrUG9zaXRpb25Db21tYW5kXSBzZXRFbmFibGVkOiEhY2xpZW50KCkuc3VwcG9ydHNT
ZWVraW5nKCldOworICAgIFtbW2dldE1QUmVtb3RlQ29tbWFuZENlbnRlckNsYXNzKCkgc2hhcmVk
Q29tbWFuZENlbnRlcl0gY2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRdIHNldEVuYWJsZWQ6
bV9zdXBwb3J0c1NlZWtpbmddOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLmgKaW5kZXggYjcxY2FkODY4MTg4
ODRkOTk0YWZhZWU4MzgyNjljOTVmNzFkY2M2NC4uODFjNzU5OWEwNDFkMTUyOGVlYTAxZWU2YWI3
ZDcwNWI0MTVjNzRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Jl
bW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMuaApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyA6IHB1YmxpYyBSZW1v
dGVDb21tYW5kTGlzdGVuZXIsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSZW1vdGVDb21tYW5kTGlz
dGVuZXJNYWM+IHsKIHB1YmxpYzoKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNv
bW1hbmRMaXN0ZW5lck1hYz4gY3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYpOwog
ICAgIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQm
KTsKICAgICB2aXJ0dWFsIH5SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMu
bW0KaW5kZXggMzhhYTU3Zjg3OGNkZmMzZjNlZGJjYmI2Y2RkOTdmN2QyNTM4M2Q2Yy4uNTc3OWQ2
OTUxNTRiZmJmYjM1YWE5ZmRkMDRmZTI0YTljZTNkMzhjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLm1tCkBAIC02
NCw3ICs2NCw3IEBAIHN0YXRpYyBPcHRpb25hbDxNUk1lZGlhUmVtb3RlQ29tbWFuZD4gbWVkaWFS
ZW1vdGVDb21tYW5kRm9yUGxhdGZvcm1Db21tYW5kKFBsYXRmCiAgICAgcmV0dXJuIHsgfTsKIH0K
IAotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVtb3RlQ29tbWFuZExp
c3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCitzdGQ6
OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjPiBSZW1vdGVDb21tYW5kTGlzdGVu
ZXJNYWM6OmNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkKIHsKICAg
ICByZXR1cm4gbWFrZVVuaXF1ZTxSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM+KGNsaWVudCk7CiB9
CkBAIC0xMDIsMTIgKzEwMiwxMiBAQCB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6dXBk
YXRlU3VwcG9ydGVkQ29tbWFuZHMoKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvJiBzdXBw
b3J0ZWRDb21tYW5kcyA9ICFtX3JlZ2lzdGVyZWRDb21tYW5kcy5pc0VtcHR5KCkgPyBtX3JlZ2lz
dGVyZWRDb21tYW5kcyA6IGRlZmF1bHRDb21tYW5kcygpOwotICAgIGlmIChtX3N1cHBvcnRzU2Vl
a2luZyA9PSBjbGllbnQoKS5zdXBwb3J0c1NlZWtpbmcoKSAmJiBtX2N1cnJlbnRDb21tYW5kcyA9
PSBzdXBwb3J0ZWRDb21tYW5kcykKKyAgICBpZiAobV9jdXJyZW50Q29tbWFuZHMgPT0gc3VwcG9y
dGVkQ29tbWFuZHMpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gY29tbWFuZEluZm9BcnJh
eSA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc3Vw
cG9ydGVkQ29tbWFuZHMuc2l6ZSgpLCAma0NGVHlwZUFycmF5Q2FsbEJhY2tzKSk7CiAgICAgZm9y
IChhdXRvIHBsYXRmb3JtQ29tbWFuZCA6IHN1cHBvcnRlZENvbW1hbmRzKSB7Ci0gICAgICAgIGlm
IChpc1NlZWtDb21tYW5kKHBsYXRmb3JtQ29tbWFuZCkgJiYgIWNsaWVudCgpLnN1cHBvcnRzU2Vl
a2luZygpKQorICAgICAgICBpZiAoaXNTZWVrQ29tbWFuZChwbGF0Zm9ybUNvbW1hbmQpICYmICFt
X3N1cHBvcnRzU2Vla2luZykKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGF1dG8g
Y29tbWFuZCA9IG1lZGlhUmVtb3RlQ29tbWFuZEZvclBsYXRmb3JtQ29tbWFuZChwbGF0Zm9ybUNv
bW1hbmQpOwpAQCAtMTIzLDcgKzEyMyw2IEBAIHZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
Ojp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpCiAKICAgICBNUk1lZGlhUmVtb3RlU2V0U3VwcG9y
dGVkQ29tbWFuZHMoY29tbWFuZEluZm9BcnJheS5nZXQoKSwgTVJNZWRpYVJlbW90ZUdldExvY2Fs
T3JpZ2luKCksIG51bGxwdHIsIG51bGxwdHIpOwogICAgIG1fY3VycmVudENvbW1hbmRzID0gc3Vw
cG9ydGVkQ29tbWFuZHM7Ci0gICAgbV9zdXBwb3J0c1NlZWtpbmcgPSBjbGllbnQoKS5zdXBwb3J0
c1NlZWtpbmcoKTsKIH0KIAogUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCkBAIC0xNDAs
OCArMTM5LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVDb21tYW5kTGlzdGVu
ZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBMT0coTWVkaWEsICJS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyAtIHJlY2Vp
dmVkIGNvbW1hbmQgJXUiLCBjb21tYW5kKTsKIAogICAgICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIHBsYXRmb3JtQ29tbWFuZCB7IFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpOb0NvbW1hbmQgfTsKLSAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1bWVudCB7IDAgfTsKLSAgICAgICAgUGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJndW1lbnRQdHIgPSBudWxscHRyOwor
ICAgICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50IGFyZ3Vt
ZW50OwogICAgICAgICBNUk1lZGlhUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXMgc3RhdHVzID0g
TVJNZWRpYVJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKIAogICAgICAgICBzd2l0
Y2ggKGNvbW1hbmQpIHsKQEAgLTE3MCw3ICsxNjgsNyBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJN
YWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQm
CiAgICAgICAgICAgICBwbGF0Zm9ybUNvbW1hbmQgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6RW5k
U2Vla2luZ0JhY2t3YXJkQ29tbWFuZDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IE1STWVkaWFSZW1vdGVDb21tYW5kU2Vla1RvUGxheWJhY2tQb3NpdGlvbjogewotICAgICAgICAg
ICAgaWYgKCFjbGllbnQuc3VwcG9ydHNTZWVraW5nKCkpIHsKKyAgICAgICAgICAgIGlmICghbV9z
dXBwb3J0c1NlZWtpbmcpIHsKICAgICAgICAgICAgICAgICBzdGF0dXMgPSBNUk1lZGlhUmVtb3Rl
Q29tbWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgfQpAQCAtMTgxLDIxICsxNzksMjMgQEAgUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFjOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xp
ZW50JgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAg
ICBDRk51bWJlckdldFZhbHVlKHBvc2l0aW9uUmVmLCBrQ0ZOdW1iZXJEb3VibGVUeXBlLCAmYXJn
dW1lbnQuYXNEb3VibGUpOwotICAgICAgICAgICAgYXJndW1lbnRQdHIgPSAmYXJndW1lbnQ7Cisg
ICAgICAgICAgICBkb3VibGUgcG9zaXRpb24gPSAwOworICAgICAgICAgICAgQ0ZOdW1iZXJHZXRW
YWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlwZSwgJnBvc2l0aW9uKTsKKyAgICAg
ICAgICAgIGFyZ3VtZW50ID0gcG9zaXRpb247CiAgICAgICAgICAgICBwbGF0Zm9ybUNvbW1hbmQg
PSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQ7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIE1STWVkaWFSZW1vdGVD
b21tYW5kU2tpcEZvcndhcmQ6CiAgICAgICAgIGNhc2UgTVJNZWRpYVJlbW90ZUNvbW1hbmRTa2lw
QmFja3dhcmQ6Ci0gICAgICAgICAgICBpZiAoIWNsaWVudC5zdXBwb3J0c1NlZWtpbmcoKSkgewor
ICAgICAgICAgICAgaWYgKCFtX3N1cHBvcnRzU2Vla2luZykgewogICAgICAgICAgICAgICAgIHN0
YXR1cyA9IE1STWVkaWFSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c0NvbW1hbmRGYWlsZWQ7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChh
dXRvIHBvc2l0aW9uUmVmID0gc3RhdGljX2Nhc3Q8Q0ZOdW1iZXJSZWY+KENGRGljdGlvbmFyeUdl
dFZhbHVlKG9wdGlvbnMsIGtNUk1lZGlhUmVtb3RlT3B0aW9uU2tpcEludGVydmFsKSkpIHsKLSAg
ICAgICAgICAgICAgICBDRk51bWJlckdldFZhbHVlKHBvc2l0aW9uUmVmLCBrQ0ZOdW1iZXJEb3Vi
bGVUeXBlLCAmYXJndW1lbnQuYXNEb3VibGUpOwotICAgICAgICAgICAgICAgIGFyZ3VtZW50UHRy
ID0gJmFyZ3VtZW50OworICAgICAgICAgICAgICAgIGRvdWJsZSBwb3NpdGlvbiA9IDA7CisgICAg
ICAgICAgICAgICAgQ0ZOdW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91Ymxl
VHlwZSwgJnBvc2l0aW9uKTsKKyAgICAgICAgICAgICAgICBhcmd1bWVudCA9IHBvc2l0aW9uOwog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBwbGF0Zm9ybUNvbW1hbmQgPSAoY29tbWFuZCA9
PSBNUk1lZGlhUmVtb3RlQ29tbWFuZFNraXBGb3J3YXJkKSA/IFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpTa2lwRm9yd2FyZENvbW1hbmQgOiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEJhY2t3YXJk
Q29tbWFuZDsKQEAgLTIxMiw3ICsyMTIsNyBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OlJl
bW90ZUNvbW1hbmRMaXN0ZW5lck1hYyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAg
ICAgIH07CiAKICAgICAgICAgaWYgKHdlYWtUaGlzICYmIHN0YXR1cyAhPSBNUk1lZGlhUmVtb3Rl
Q29tbWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkKQotICAgICAgICAgICAgd2Vha1RoaXMt
Pm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChwbGF0Zm9ybUNvbW1hbmQs
IGFyZ3VtZW50UHRyKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQocGxhdGZvcm1Db21tYW5kLCBhcmd1bWVudCk7CiAKICAgICAg
ICAgY29tcGxldGlvbigoX19icmlkZ2UgQ0ZBcnJheVJlZilAW0Aoc3RhdHVzKV0pOwogICAgIH0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDQ2YzkxN2NlOGI1NGNiMTVl
ZjNhNWU5MjI1YTVjMDkzMDUxMTk1ZTAuLmFmNzNmMDc4NDFkZmY4Njc3MjU5ZGJkYzU3MDEwYWI5
ZjE5MDlhYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQzMDUsNyAr
NDMwNSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsczo6cG9zdFJlbW90ZUNvbnRyb2xD
b21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZFN0cmluCiAgICAgZWxzZQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07CiAKLSAgICBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNv
bnRyb2xDb21tYW5kKGNvbW1hbmQsICZwYXJhbWV0ZXIpOworICAgIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmQoY29tbWFuZCwgcGFyYW1ldGVyKTsKICAgICByZXR1cm4geyB9OwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggM2NjNTkw
NTM1NTJjZmY4MTRjNTMzYWE0MjYyZGVmYWQyNGQ0Y2E5Zi4uZmZlNGI2OGM0M2Y0MzBmZGZlMzBj
YTQwZjdkZDQ5ZjI5MDE2ZTE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdApAQCAtMzksNiArMzksNyBAQCAkKFBST0pFQ1RfRElSKS9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBS
T0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVUZXh0VHJhY2tQ
cm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVW
aWRlb1RyYWNrUHJveHkubWVzc2FnZXMuaW4KQEAgLTE0Nyw2ICsxNDgsNyBAQCAkKFBST0pFQ1Rf
RElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdl
ci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
Q0RNSW5zdGFuY2UubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5tZXNzYWdlcy5pbgor
JChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9T
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1l
c3NhZ2VzLmluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAppbmRleCAwMGM4NDExZmM2NjI5ZGY3ZmNlN2UzZTYyMDgzNjY4MzkxZDUzYzUyLi4wMThi
YTU5NDc1ZmZlNTU3N2NlN2JiMDZkZmU3NGQ4M2U5OTNhZmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTIzOCw2ICsyMzgsMTIgQEAg
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFT
b3VyY2VQcm94eU1lc3NhZ2VzUmVwbGkKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlT2JqZWN0UmVn
aXN0cnlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlcy5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXJNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9S
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5TWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRNZXNzYWdlUmVjZWl2ZXIuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW5kZXJp
bmdCYWNrZW5kTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlUmVuZGVyaW5nQmFja2VuZE1lc3NhZ2VzUmVwbGllcy5oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZGM3Mjc1Y2YyMzI2ZWM5NWVhZTYzMjQ1MmYzY2UzYjIy
MmUyNzY5NS4uYzAzY2E2N2IyZjMwZjYxOTQ1NzA4OTkzMWJiYjRlYTQ3MTRkZjU1MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTg0LDYgKzE4NCw3IEBAIE1FU1NBR0VfUkVDRUlW
RVJTID0gXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlIFwKIAlXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24gXAogCVdlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24gXAorCVdlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90
ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VBcmVh
TWFwIFwKQEAgLTI1Nyw2ICsyNTgsNyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKIAlHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFT
b3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSBcCiAJ
V2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBcCiAJV2ViQXV0
aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYzVlMjZkMTM0ZWNm
YTgxZWJmOTMwZTk4NzcyMmI0YjA4YjY4YWUxZi4uODljMjYwOGMzZGYwMWU1ZGRkODA1MzI5Yjg2
YjBlZGQ1Zjg1OWU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUg
IlJlbW90ZU1lZGlhUmVjb3JkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVz
b3VyY2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNz
YWdlcy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgiCiAj
aW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgogI2luY2x1ZGUgIlJlbW90ZVNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuaCIKICNpbmNsdWRlICJSZW1vdGVTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyTWVzc2FnZXMuaCIKQEAgLTQwNCw2ICs0MDUsMjAgQEAgdm9p
ZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlQXVkaW9IYXJkd2FyZUxpc3RlbmVy
KFJlbW90ZUF1ZGlvSGFyZHdhcmUKICAgICBBU1NFUlRfVU5VU0VEKGZvdW5kLCBmb3VuZCk7CiB9
CiAKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVtb3RlQ29tbWFuZExp
c3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIgaWRlbnRpZmllcikK
K3sKKyAgICBhdXRvIGFkZFJlc3VsdCA9IG1fcmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFw
LmVuc3VyZShpZGVudGlmaWVyLCBbJl0oKSB7CisgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPFJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5PigqdGhpcywgV1RGTW92ZShpZGVudGlmaWVy
KSk7CisgICAgfSk7CisgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05l
d0VudHJ5KTsKK30KKwordm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlUmVt
b3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIg
aWRlbnRpZmllcikKK3sKKyAgICBib29sIGZvdW5kID0gbV9yZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXJNYXAucmVtb3ZlKGlkZW50aWZpZXIpOworICAgIEFTU0VSVF9VTlVTRUQoZm91bmQsIGZv
dW5kKTsKK30KKwogYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaXNwYXRjaE1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7
CiAjaWYgRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDM5YWYyZjI3OGY4YjUzNmRkMTMz
ZDFjOThiMTdjNWI5NDA1NTdkMDEuLjZjNWU3NGY0ODM2ZTU5NDBkMjYxMmM3M2ZmMGQ2NGM4NDNk
MTRkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNl
aXZlck1hcC5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcklkZW50aWZp
ZXIuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nlc3Npb25JZGVudGlmaWVyLmgiCisjaW5jbHVk
ZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJl
bmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCiAKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJU
Q0VudW1UcmFpdHMuaD4KQEAgLTYyLDYgKzYzLDcgQEAgY2xhc3MgUmVtb3RlTWVkaWFQbGF5ZXJN
YW5hZ2VyUHJveHk7CiBjbGFzcyBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjsKIGNsYXNzIFJl
bW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOwogY2xhc3MgUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVy
UHJveHk7CitjbGFzcyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTsKIGNsYXNzIFJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQ7CiBjbGFzcyBSZW1vdGVHcmFwaGljc0NvbnRleHRHTDsKIGNs
YXNzIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXI7CkBAIC0xNTYsNiArMTU4
LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY3JlYXRlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKFJl
bW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcklkZW50aWZpZXIpOwogICAgIHZvaWQgcmVsZWFzZUF1
ZGlvSGFyZHdhcmVMaXN0ZW5lcihSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJJZGVudGlmaWVy
KTsKKyAgICB2b2lkIGNyZWF0ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlbGVhc2VSZW1vdGVDb21tYW5kTGlz
dGVuZXIoUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllcik7CiAKICAgICAvLyBJ
UEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9u
JikgZmluYWw7CkBAIC0yMzEsNiArMjM1LDggQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIHVzaW5n
IFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlQXVkaW9IYXJk
d2FyZUxpc3RlbmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUF1ZGlvSGFyZHdh
cmVMaXN0ZW5lclByb3h5Pj47CiAgICAgUmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyTWFwIG1f
cmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyTWFwOworICAgIHVzaW5nIFJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRl
bnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5
Pj47CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFwIG1fcmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyTWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCmluZGV4IGI1Njk4ZGVhYjhhNTc4ZDE0MDQ5YTFiYTM0NWU2MGQyZDU4
MjhhMzMuLjMwZjVjMjk4ODYyMTRmOTEwNGYxYWZhMDgzNWIyMzhhMzZkYzZlZjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00Miw2ICs0Miw4IEBAIG1lc3NhZ2VzIC0+IEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MgV2FudHNEaXNwYXRjaE1lc3NhZ2UgewogI2VuZGlmCiAgICAg
Q3JlYXRlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKFdlYktpdDo6UmVtb3RlQXVkaW9IYXJkd2FyZUxp
c3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIFJlbGVhc2VBdWRpb0hhcmR3YXJlTGlz
dGVuZXIoV2ViS2l0OjpSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJJZGVudGlmaWVyIGlkZW50
aWZpZXIpCisgICAgQ3JlYXRlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFdlYktpdDo6UmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQorICAgIFJlbGVhc2VSZW1v
dGVDb21tYW5kTGlzdGVuZXIoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVu
dGlmaWVyIGlkZW50aWZpZXIpCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDU1ZDU5ZDJi
MDFhNmZkNjg3N2U4MDVlN2M0MDA1M2Y1M2M1MjY3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5
LmNwcApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgiCisKKyNpbmNsdWRl
ICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyTWVzc2FnZXMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1JlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94
eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBncHVDb25uZWN0aW9uLCBSZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJJZGVudGlmaWVyJiYgaWRlbnRpZmllcikKKyAgICA6IG1fZ3B1Q29ubmVj
dGlvbihncHVDb25uZWN0aW9uKQorICAgICwgbV9pZGVudGlmaWVyKFdURk1vdmUoaWRlbnRpZmll
cikpCisgICAgLCBtX2xpc3RlbmVyKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3Jl
YXRlKCp0aGlzKSkKK3sKK30KKworUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6On5S
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSgpID0gZGVmYXVsdDsKKwordm9pZCBSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFu
ZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJn
dW1lbnQpCit7CisgICAgbV9ncHVDb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2Vz
OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OkRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29t
bWFuZChjb21tYW5kLCBhcmd1bWVudCksIG1faWRlbnRpZmllcik7Cit9CisKK3ZvaWQgUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OnVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzKGJvb2wg
c3VwcG9ydHNTZWVraW5nKQoreworICAgIG1fbGlzdGVuZXItPnNldFN1cHBvcnRzU2Vla2luZyhz
dXBwb3J0c1NlZWtpbmcpOworICAgIG1fbGlzdGVuZXItPnVwZGF0ZVN1cHBvcnRlZENvbW1hbmRz
KCk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Y2E2OGYxYmI2ZWRhNzNjMzBmYTAzYjY1MWFlZjNkZGYyNWRlNThlYwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXJQcm94eS5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5o
IgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oPgorI2luY2x1ZGUgPHd0Zi9V
bmlxdWVSZWYuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworfQorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKKwor
Y2xhc3MgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkKKyAgICA6IHByaXZhdGUgV2Vi
Q29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50CisgICAgLCBwcml2YXRlIElQQzo6TWVz
c2FnZVJlY2VpdmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAg
ICBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiwgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciYmKTsKKyAgICB2aXJ0
dWFsIH5SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSgpOworCitwcml2YXRlOgorICAg
IC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKworICAgIC8vIFJlbW90ZUNvbW1h
bmRMaXN0ZW5lckNsaWVudAorICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5k
KFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUs
IGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQmKSBmaW5hbDsKKworICAgIC8vIE1lc3NhZ2VzCisgICAgdm9pZCB1cGRhdGVTdXBwb3J0ZWRD
b21tYW5kcyhib29sIHN1cHBvcnRzU2Vla2luZyk7CisKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzJiBtX2dwdUNvbm5lY3Rpb247CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlJl
bW90ZUNvbW1hbmRMaXN0ZW5lcj4gbV9saXN0ZW5lcjsKK307CisKK30KKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzQwOTM0YzI0ZDE3MjBhN2FlOGNlZDY3Zjk4ZDMwNGUzYjQyYWNiYgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworbWVzc2FnZXMgLT4gUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyUHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgVXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoYm9vbCBzdXBwb3J0c1NlZWtpbmcpCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggNWQ3NjFhNWNkMjU0ZmI3YmFmZjMwOTkxYjg0NzVm
ZmY2NzRkYzM3OS4uOTFiZDI1ODAwY2YzOGEwMjViZjcyNjQyNWI3ZWM1YTlhMDcyYzMwOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0zMTYsNiArMzE2LDcg
QEAgZGVmIHR5cGVzX3RoYXRfY2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQoKToKICAgICAgICAg
J1dlYktpdDo6UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXInLAogICAgICAgICAnV2Vi
S2l0OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJl
bW90ZU1lZGlhU291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVuZGVyaW5nQmFja2VuZElk
ZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmllcicsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dAppbmRleCA4NzU4NjJlOGQxN2VlMjRkYWQ0ZjdiMWVmZDA1ZDQ1ZGQxOTNmNDZiLi5kOGQz
YzllNGJlMDc1MTEyZWVlMzAwMDU5OTUxZjA0M2NmYWRhMzc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTQ2
LDYgKzQ2LDcgQEAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlLmNwcAogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTG9hZGVyLmNwcAogR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKK0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVUZXh0VHJhY2tQcm94eS5jcHAKIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9UcmFja1Byb3h5LmNwcApAQCAtNTk5LDYgKzYwMCw3
IEBAIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIu
Y3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUu
Y3BwIEBuby11bmlmeQogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZVBy
b3h5LmNwcAorV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAK
IFdlYlByb2Nlc3MvR1BVL21lZGlhL1RleHRUcmFja1ByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9WaWRlb1RyYWNrUHJpdmF0ZVJlbW90ZS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUxZmE3NTZlNzVjMmQ5
YTI0Y2RmODllYTNiOWIyZjExZTMwZmQzMDYuLjkyOWY3OTI2MWI3NGRjYjA5NzM5YzBmYTMzZTcx
ODhhMzFiOGYzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTg2MCw2ICsxODYwLDggQEAKIAkJQ0Q3OEUxMTUxREI3RDdFRDAwMTRB
MkRFIC8qIEZ1bGxzY3JlZW5DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENENzhFMTEzMURCN0Q3RUQwMDE0QTJERSAvKiBGdWxsc2NyZWVuQ2xp
ZW50LmggKi87IH07CiAJCUNENzhFMTE3MURCN0RDMEEwMDE0QTJERSAvKiBBUElGdWxsc2NyZWVu
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDc4RTExNjFEQjdEQzBBMDAxNEEyREUgLyogQVBJRnVsbHNjcmVlbkNsaWVudC5oICovOyB9Owog
CQlDRDc4RTExOTFEQjdFNUFEMDAxNEEyREUgLyogX1dLRnVsbHNjcmVlbkRlbGVnYXRlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDc4RTExODFEQjdF
NUFEMDAxNEEyREUgLyogX1dLRnVsbHNjcmVlbkRlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0Q4MjUyREUyNUQ0OTE2QzAwODYyRkQ4
IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODI1MkRBMjVE
NDkxNTQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CisJCUNEODI1MkUyMjVENDkxOTEwMDg2MkZEOCAvKiBSZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4MjUyRTAyNUQ0OTE4NDAwODYyRkQ4IC8q
IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJ
CUNEQTA0MUY0MUFDRTIxMDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNlc1NQSS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBMDQxRjMxQUNFMjEw
NTAwNEExM0VDIC8qIEJhY2tCb2FyZFNlcnZpY2VzU1BJLmggKi87IH07CiAJCUNEQTI5QTFCMUNC
REJGNDEwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREEyOUExOTFDQkRCRjQxMDA5MDFDQ0Yg
LyogUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oICovOyB9OwogCQlDREEyOUEyMDFDQkVCNUZCMDA5
MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREEyOUExRTFDQkVCNUZCMDA5MDFDQ0YgLyog
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmggKi87IH07CkBAIC01NTMxLDYgKzU1MzMsMTkg
QEAKIAkJQ0Q3OEUxMTMxREI3RDdFRDAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5DbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnVsbHNjcmVlbkNsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDRDc4RTExNjFEQjdEQzBBMDAxNEEyREUgLyogQVBJRnVs
bHNjcmVlbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElGdWxs
c2NyZWVuQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENzhFMTE4MURC
N0U1QUQwMDE0QTJERSAvKiBfV0tGdWxsc2NyZWVuRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gX1dLRnVsbHNjcmVlbkRlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNEODI1MkQxMjVENDY0QUIwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQyMjVENDY0QUIwMDg2
MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0Q4MjUyRDMyNUQ0NjRCRjAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVz
c2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQ0MjVENDY1MTAw
MDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyRDUyNUQ0NzYzMTAwODYyRkQ4IC8qIFJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNE
ODI1MkQ2MjVENDc2MzEwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQ3MjVENDc2NTkwMDg2
MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyRDgyNUQ0OTE1MzAwODYyRkQ4IC8qIFJlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2Fn
ZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQ5MjVENDkx
NTQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lclByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUy
REEyNUQ0OTE1NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyREYyNUQ0OTE4NDAwODYyRkQ4IC8qIFJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyRTAyNUQ0OTE4NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJFMTI1RDQ5MTg1MDA4NjJGRDggLyogUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0RBMDQxRjMxQUNFMjEwNTAwNEExM0VDIC8qIEJhY2tCb2FyZFNlcnZpY2VzU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhY2tCb2FyZFNlcnZpY2VzU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTI5QTE4MUNCREJGNDEwMDkwMUNDRiAvKiBQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0RBMjlBMTkxQ0JEQkY0MTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxheWJhY2tTZXNzaW9uTWFuYWdl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTk2MSw4ICs1OTc2LDggQEAKIAkJ
CQk5QjVCRUMyODI0MDEwMTU4MDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5
LmggKi8sCiAJCQkJQ0QyMENFNkYyNUNDOTA1MTAwNjlCNTQyIC8qIFJlbW90ZUF1ZGlvSGFyZHdh
cmVMaXN0ZW5lci5jcHAgKi8sCiAJCQkJQ0QyMENFNkUyNUNDOTA1MTAwNjlCNTQyIC8qIFJlbW90
ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lci5oICovLAotCQkJCUNEMjBDRTczMjVDQzk2NTAwMDY5QjU0
MiAvKiBSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJJZGVudGlmaWVyLmggKi8sCiAJCQkJQ0Qy
MENFNzEyNUNDOTJFODAwNjlCNTQyIC8qIFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lci5tZXNz
YWdlcy5pbiAqLywKKwkJCQlDRDIwQ0U3MzI1Q0M5NjUwMDA2OUI1NDIgLyogUmVtb3RlQXVkaW9I
YXJkd2FyZUxpc3RlbmVySWRlbnRpZmllci5oICovLAogCQkJCUNEQkI0OUY1MjQwRDhBQzYwMDE3
QzI5MiAvKiBSZW1vdGVBdWRpb1Nlc3Npb24uY3BwICovLAogCQkJCUNEQkI0OUY0MjQwRDhBQzYw
MDE3QzI5MiAvKiBSZW1vdGVBdWRpb1Nlc3Npb24uaCAqLywKIAkJCQlDREQ1MzU2RjI0MEREMzQz
MDBGN0I4QzQgLyogUmVtb3RlQXVkaW9TZXNzaW9uLm1lc3NhZ2VzLmluICovLApAQCAtNjAwOCw2
ICs2MDIzLDEwIEBACiAJCQkJMUQzMkY4OUQyM0E4NEM1QjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlh
UmVzb3VyY2VQcm94eS5jcHAgKi8sCiAJCQkJMUQzMkY4OUIyM0E4NEJBNjAwQjFFQTZBIC8qIFJl
bW90ZU1lZGlhUmVzb3VyY2VQcm94eS5oICovLAogCQkJCTFERDJBNjQ2MjU1RjMyQjEwMEZGN0I2
RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLywKKwkJCQlDRDgyNTJEMTI1RDQ2
NEFCMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmggKi8sCisJCQkJQ0Q4
MjUyRDIyNUQ0NjRBQjAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAg
Ki8sCisJCQkJQ0Q4MjUyRDMyNUQ0NjRCRjAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lci5tZXNzYWdlcy5pbiAqLywKKwkJCQlDRDgyNTJENDI1RDQ2NTEwMDA4NjJGRDggLyog
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oICovLAogCQkJCTFERDJBNjNB
MjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcCAqLywKIAkJ
CQkxREQyQTYzOTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5o
ICovLAogCQkJCTFERDJBNjZGMjU2MjJGMTEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLm1lc3NhZ2VzLmluICovLApAQCAtNjAzMSw4ICs2MDUwLDggQEAKIAkJCQk5QjEyMjlD
QzIzRkYyNUYyMDA4Q0E3NTEgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwICov
LAogCQkJCTlCMTIyOUNCMjNGRjI1RjIwMDhDQTc1MSAvKiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
TWFuYWdlci5oICovLAogCQkJCTlCMTIyOUNGMjNGRjI4MTQwMDhDQTc1MSAvKiBSZW1vdGVBdWRp
b0Rlc3RpbmF0aW9uTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKLQkJCQlDRDIwQ0U3NDI1Q0M5OTlG
MDA2OUI1NDIgLyogUmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyUHJveHkuaCAqLywKIAkJCQlD
RDIwQ0U3NTI1Q0M5OTlGMDA2OUI1NDIgLyogUmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyUHJv
eHkuY3BwICovLAorCQkJCUNEMjBDRTc0MjVDQzk5OUYwMDY5QjU0MiAvKiBSZW1vdGVBdWRpb0hh
cmR3YXJlTGlzdGVuZXJQcm94eS5oICovLAogCQkJCUNEQkI0OUY3MjQwRDhDOTUwMDE3QzI5MiAv
KiBSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eS5jcHAgKi8sCiAJCQkJQ0RCQjQ5RjYyNDBEOEM5NTAw
MTdDMjkyIC8qIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5LmggKi8sCiAJCQkJQ0RCQjQ5RjgyNDBE
OEQ1MzAwMTdDMjkyIC8qIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluICovLApA
QCAtNjA4NSw2ICs2MTA0LDkgQEAKIAkJCQkxREQyQTYzRjI1NUUzRjFGMDBGRjdCNkYgLyogUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgKi8sCiAJCQkJMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZG
IC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuaCAqLywKIAkJCQkxREQyQTY0QTI1NjBGNTRDMDBG
RjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbiAqLywKKwkJCQlDRDgy
NTJENTI1RDQ3NjMxMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHku
aCAqLywKKwkJCQlDRDgyNTJENjI1RDQ3NjMxMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyUHJveHkuY3BwICovLAorCQkJCUNEODI1MkQ3MjVENDc2NTkwMDg2MkZEOCAvKiBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbiAqLywKIAkJCQkxREQy
QTY2ODI1NjFGNjg0MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oICov
LAogCQkJCTFERDJBNjQzMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eS5jcHAgKi8sCiAJCQkJMUREMkE2NDIyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5LmggKi8sCkBAIC0xMDg1NSw2ICsxMDg3NywxMiBAQAogCQkJCTFERDJBNjYxMjU2
MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVzLmgg
Ki8sCiAJCQkJMUFDMTMzODMxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQUMxMzM4NDE4NTkwQzQ2MDBGM0VDMDUgLyog
UmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oICovLAorCQkJCUNEODI1MkUwMjVENDkxODQw
MDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAorCQkJCUNEODI1MkUxMjVENDkxODUwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXJNZXNzYWdlcy5oICovLAorCQkJCUNEODI1MkRGMjVENDkxODQwMDg2MkZEOCAvKiBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlc1JlcGxpZXMuaCAqLywKKwkJCQlDRDgy
NTJEQTI1RDQ5MTU0MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCUNEODI1MkQ5MjVENDkxNTQwMDg2MkZEOCAvKiBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJQ0Q4MjUy
RDgyNUQ0OTE1MzAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVz
c2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJMEY1OTQ3QTUxODdCNTE3NjAwNDM3ODU3IC8qIFJlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkwRjU5NDdB
NjE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlcy5o
ICovLAogCQkJCTFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCkBAIC0xMzcyNiw2ICsxMzc1NCw3IEBACiAJCQkJ
NTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxNzY5MDE0MjJGREQ0MUIwMEIxNTc2RCAvKiBO
ZXR3b3JrUlRDUHJvdmlkZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MkUgLyogTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUNEODI1MkRFMjVENDkxNkMwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkz
MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogTmV0d29ya1NvY2tldENoYW5uZWxNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUMwQjE3NzgxRTdDODgwRTAwRTkxMjNDIC8q
IE5ldHdvcmtTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ5MkE3OTAyMTJCNkFENDAwRjQ5M0ZEIC8qIE5QSWRlbnRpZmllckRhdGEuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0xMzg2Nyw2ICsxMzg5Niw3IEBACiAJCQkJMkQxMUI3OEQyMTI2QTI4MzAw
NkY4ODc4IC8qIFVuaWZpZWRTb3VyY2UzMS1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFC
NzhGMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlMzItbW0ubW0gaW4gU291cmNlcyAq
LywKIAkJCQkyRDExQjc5MDIxMjZBMjgzMDA2Rjg4NzggLyogVW5pZmllZFNvdXJjZTMyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUNEODI1MkUyMjVENDkxOTEwMDg2MkZEOCAvKiBSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQxMUI3OTEyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2UzMy1tbS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTJEMTFCNzkyMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlMzMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3OTQyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZp
ZWRTb3VyY2UzNC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXggYTI5MzA3ZjcwYjZl
ZGY3Zjg0OTM2ZWRhNmRiY2ZiOGRiM2E2ZDAwNy4uZWE5M2FlOThmZDcwYmNhMDU4NWJmMTQ5MjVh
NzFhMGQ5MmE3YmIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTE3OCw4ICsxNzgsNyBAQCBib29sIEdQVVBy
b2Nlc3NDb25uZWN0aW9uOjpkaXNwYXRjaFN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29u
bmVjdGlvbiwgSVBDOgogCiB2b2lkIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlUmVt
b3RlQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBl
IHR5cGUsIE9wdGlvbmFsPGRvdWJsZT4gYXJndW1lbnQpCiB7Ci0gICAgY29uc3QgUGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCB2YWx1ZSB7IGFyZ3VtZW50ID8gKmFy
Z3VtZW50IDogMCB9OwotICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFu
YWdlcigpLnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQodHlwZSwgYXJndW1l
bnQgPyAmdmFsdWUgOiBudWxscHRyKTsKKyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6
OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5
cGUsIGFyZ3VtZW50KTsKIH0KIAogdm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6dXBkYXRlUGFy
YW1ldGVycyhjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0YTgzOGY0MDc3OTFh
ZWQ1MTRhYzQyMDZlMzdjYzVmZGExMDg5YjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAK
QEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCIKKworI2lmIEVOQUJMRShHUFVfUFJP
Q0VTUykKKworI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgor
I2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eS5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK3N0ZDo6dW5pcXVlX3B0
cjxSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI+IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6Y3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50LCBXZWJQcm9jZXNz
JiB3ZWJQcm9jZXNzKQoreworICAgIHJldHVybiBtYWtlVW5pcXVlPFJlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lcj4oY2xpZW50LCB3ZWJQcm9jZXNzKTsKK30KKworUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyOjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlQ29tbWFuZExpc3Rl
bmVyQ2xpZW50JiBjbGllbnQsIFdlYlByb2Nlc3MmIHdlYlByb2Nlc3MpCisgICAgOiBSZW1vdGVD
b21tYW5kTGlzdGVuZXIoY2xpZW50KQorICAgICwgbV9wcm9jZXNzKHdlYlByb2Nlc3MpCisgICAg
LCBtX2lkZW50aWZpZXIoUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllcjo6Z2Vu
ZXJhdGUoKSkKK3sKKyAgICBhdXRvJiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKKyAgICBjb25uZWN0aW9uLmFkZENsaWVu
dCgqdGhpcyk7CisgICAgY29ubmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdl
UmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgKnRoaXMpOworICAgIGNvbm5l
Y3Rpb24uY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OkNyZWF0ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihtX2lkZW50aWZpZXIpLCB7IH0pOworfQor
CitSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6On5SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXIoKQoreworICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5l
bnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpOworICAgIGNvbm5lY3Rpb24ubWVzc2FnZVJlY2Vp
dmVyTWFwKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKCp0aGlzKTsKKyAgICBjb25uZWN0aW9uLmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpSZWxl
YXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKG1faWRlbnRpZmllciksIDApOworfQorCit2b2lkIFJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZShH
UFVQcm9jZXNzQ29ubmVjdGlvbiYpCit7Cit9CisKK3ZvaWQgUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBjb25zdCBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKK3sKKyAgICBt
X2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQodHlwZSwgYXJndW1lbnQpOwor
fQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjlhNGZjZWY3YzZlMDRiYmY1ZWUxNTdkYTU1YTYzYWIwY2ZkYmQ3YQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyLmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZW1v
dGVDb21tYW5kTGlzdGVuZXIuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9u
OworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVUHJvY2Vzc0Nvbm5lY3Rpb247
CitjbGFzcyBXZWJQcm9jZXNzOworCitjbGFzcyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIg
ZmluYWwKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXIKKyAgICAs
IHByaXZhdGUgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkNsaWVudAorICAgICwgcHJpdmF0ZSBJUEM6
Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI+
IGNyZWF0ZShXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmLCBXZWJQcm9jZXNz
Jik7CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFdlYkNvcmU6OlJlbW90ZUNvbW1h
bmRMaXN0ZW5lckNsaWVudCYsIFdlYlByb2Nlc3MmKTsKKyAgICB+UmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyKCk7CisKK3ByaXZhdGU6CisgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAg
ICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYp
IGZpbmFsOworCisgICAgLy8gR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkNsaWVudAorICAgIHZvaWQg
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYpIGZpbmFs
OworCisgICAgLy8gTWVzc2FnZXMKKyAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29t
bWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRU
eXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFy
Z3VtZW50Jik7CisKKyAgICBXZWJQcm9jZXNzJiBtX3Byb2Nlc3M7CisgICAgUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7Cit9OworCit9CisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5tZXNzYWdlcy5pbgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jOTVhMGUxOGI5YzY5NDkwZjMyZGFkMjNmY2JlOTczZWMxN2VhYTFjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKK21lc3NhZ2VzIC0+IFJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lciBOb3RSZWZDb3VudGVkIHsKKyAgICBEaWRSZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmQoZW51bTp1aW50OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgT3B0aW9uYWw8ZG91YmxlPiBhcmd1bWVudCkK
K30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRp
Zmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMzMTZmMjljNmY4NWYxMjQ5NjgyNjI4N2RmMTE5MjU3NDA0ODNj
OTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaApAQCAtMCwwICsxLDM5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisK
KyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworZW51bSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyVHlwZSB7IH07Cit1
c2luZyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRp
ZmllcjxSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyVHlwZT47CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxw
ZXIuY3BwCmluZGV4IGNjNGM5ZGE5NDY3Yjc2ODQ4YWRiZjRhN2EyMWY2Yzc3MGQ5ZWExNjMuLmQ2
NzQxYmQ1M2QwZDhjMzIzNDBmODU3YjJlZWRjMzZiOGI1Njg3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3Rl
TWVkaWFTZXNzaW9uSGVscGVyLmNwcApAQCAtMTM5LDE0ICsxMzksMTQgQEAgdm9pZCBSZW1vdGVN
ZWRpYVNlc3Npb25IZWxwZXI6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UoU3VwcG9ydHNBaXJQ
bGF5VmlkZW8gc3UKIHsKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4gdGFyZ2V0T2Jq
ZWN0OwogICAgIGlmICh0YXJnZXRDb250ZXh0LnR5cGUoKSA9PSBNZWRpYVBsYXliYWNrVGFyZ2V0
Q29udGV4dDo6QVZPdXRwdXRDb250ZXh0VHlwZSkKLSAgICAgICAgdGFyZ2V0T2JqZWN0ID0gV2Vi
Q29yZTo6TWVkaWFQbGF5YmFja1RhcmdldENvY29hOjpjcmVhdGUodGFyZ2V0Q29udGV4dC5hdk91
dHB1dENvbnRleHQoKSk7CisgICAgICAgIG1fcGxheWJhY2tUYXJnZXQgPSBXZWJDb3JlOjpNZWRp
YVBsYXliYWNrVGFyZ2V0Q29jb2E6OmNyZWF0ZSh0YXJnZXRDb250ZXh0LmF2T3V0cHV0Q29udGV4
dCgpKTsKICAgICBlbHNlIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fY2xpZW50cykKLSAg
ICAgICAgY2xpZW50LmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2Uoc3VwcG9ydHNBaXJQbGF5Vmlk
ZW8sIHRhcmdldE9iamVjdC5jb3B5UmVmKCkucmVsZWFzZU5vbk51bGwoKSk7CisgICAgICAgIGNs
aWVudC5hY3RpdmVWaWRlb1JvdXRlRGlkQ2hhbmdlKHN1cHBvcnRzQWlyUGxheVZpZGVvLCAqbV9w
bGF5YmFja1RhcmdldCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcAppbmRleCA1NDli
ODMyZjA2YWY1MjJmMTQ3MDU4M2VlZDg2MGM3ZjI1YWM1NTFiLi4xMWUxZTM3MmVkYWEzOTNmZDJl
OTM5N2E2NmZlN2U2OThkMmI2YjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCkBAIC00MSw2
ICs0MSw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1dlYkF1ZGlvQnVmZmVyTGlzdC5oPgogCisjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlh
U29mdExpbmsuaD4KKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgUEFMOwog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggZjZmYzhlMjVhNWM2MzkzM2U0NTc5ZmYyZWE1OWFmYWE3NmE3MGFhZi4uYWEz
ZjFiMmEwNWE5N2RkNGIxYjA0ZDVjYWJkMTA4MjU2ZThhZmUyMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIlJlbW90
ZUF1ZGlvU2Vzc2lvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUZhY3RvcnkuaCIKICNp
bmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCisjaW5jbHVk
ZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiU3BlZWNoUmVjb2du
aXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlci5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVh
TWFwLmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKQEAgLTEyMiw2ICsxMjMsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9Qcm9jZXNzV2FybWluZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaXN0cmFibGVEb21h
aW4uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmg+CkBAIC0xOTQ5LDYgKzE5NTEsMTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpz
ZXRVc2VHUFVQcm9jZXNzRm9yTWVkaWEoYm9vbCB1c2VHUFVQcm9jZXNzRm9yTWVkaWEpCiAgICAg
ICAgIFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6c2V0Q3JlYXRpb25GdW5jdGlvbihb
dGhpc10gKFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6Q2xpZW50JiBjbGllbnQpIHsg
cmV0dXJuIFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6Y3JlYXRlKGNsaWVudCwgKnRoaXMp
OyB9KTsKICAgICBlbHNlCiAgICAgICAgIFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6
cmVzZXRDcmVhdGlvbkZ1bmN0aW9uKCk7CisKKyAgICBpZiAodXNlR1BVUHJvY2Vzc0Zvck1lZGlh
KQorICAgICAgICBXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnNldENyZWF0aW9uRnVu
Y3Rpb24oW3RoaXNdIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVu
dCkgeyByZXR1cm4gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVhdGUoY2xpZW50LCAq
dGhpcyk7IH0pOworICAgIGVsc2UKKyAgICAgICAgV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3Rl
bmVyOjpyZXNldENyZWF0aW9uRnVuY3Rpb24oKTsKIH0KIAogYm9vbCBXZWJQcm9jZXNzOjpzaG91
bGRVc2VSZW1vdGVSZW5kZXJpbmdGb3IoUmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlKQo=
</data>
<flag name="review"
          id="438288"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419949</attachid>
            <date>2021-02-10 23:29:59 -0800</date>
            <delta_ts>2021-02-11 00:29:30 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-221732-20210210232958.patch</filename>
            <type>text/plain</type>
            <size>84595</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc5MjUxYzg0OWQzM2Yx
MTVlMzk2MzkwMzIyOTUxZDA4ZDliMmEwOS4uNDlhZmQzZDcyYzhlMmIwODQ5YmRkMDJkY2JiNzdk
YmM4NDM4YTJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIxLTAyLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV1bR1BVUF0gTW92
ZSBSZW1vdGVDb21tYW5kTGlzdGVuZXIgaW50byB0aGUgR1BVIFByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTczMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBSZWZhY3RvciBSZW1vdGVDb21tYW5k
TGlzdGVuZXIgdG8gYWxsb3cgaXRzIG1ldGhvZHMgdG8gd29yayBvdmVyIFhQQzoKKworICAgICAg
ICAtIFJhdGhlciB0aGFuIGhhdmluZyBhIHN5bmNocm9ub3VzIGNsaWVudCBtZXRob2QgdG8gcXVl
cnkgd2hldGhlciBzZWVraW5nIGlzCisgICAgICAgICAgc3VwcG9ydGVkLCByZXF1aXJlIGNsaWVu
dHMgdG8gc2V0IHNlZWthYmlsaXR5IGV4cGxpY2l0bHkuCisgICAgICAgIC0gQ2hhbmdlIHRoZSBS
ZW1vdGVDb21tYW5kQXJndW1lbnQgZnJvbSBhIHVuaW9uIHRvIGFuIE9wdGlvbmFsPGRvdWJsZT4u
CisgICAgICAgIC0gQWxsb3cgY2xpZW50cyB0byBxdWVyeSB0aGUgTWVkaWFQbGF5YmFja1Rhcmdl
dCB0aHJvdWdoIHRoZSBzZXNzaW9uIHJhdGhlcgorICAgICAgICAgIHRoYW4gd2FpdCBmb3IgYSBu
b3RpZmljYXRpb24gdGhhdCB0aGUgcGxheWJhY2sgdGFyZ2V0IGNoYW5nZWQuCisKKyAgICAgICAg
QWRkaXRpb25hbGx5LCBhZGQgYSBtaW5pLWZhY3RvcnkgZnVuY3Rpb25hbGl0eSB0byBSZW1vdGVD
b21tYW5kTGlzdGVuZXIgdG8gYWxsb3cKKyAgICAgICAgY2xpZW50cyB0byBzcGVjaWZ5IGEgZGlm
ZmVyZW50IHN1YmNsYXNzIHRvIGJlIGNyZWF0ZWQgYXQgcnVudGltZS4KKworICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2Vp
dmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZCk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6CisgICAgICAgICogcGxh
dGZvcm0vTm93UGxheWluZ01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm93UGxheWlu
Z01hbmFnZXI6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAgIChXZWJD
b3JlOjpOb3dQbGF5aW5nTWFuYWdlcjo6c2V0Tm93UGxheWluZ0luZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6Tm93UGxheWluZ01hbmFnZXI6OnN1cHBvcnRzU2Vla2luZyBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3Rl
Q29tbWFuZExpc3RlbmVyQ3JlYXRpb25GdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW1v
dGVDb21tYW5kTGlzdGVuZXI6OnNldENyZWF0aW9uRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVDb21tYW5kTGlzdGVuZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpzZXRTdXBwb3J0c1NlZWtpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVDb21tYW5kTGlzdGVuZXIpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjp1cGRhdGVT
dXBwb3J0ZWRDb21tYW5kcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21t
YW5kTGlzdGVuZXI6OmNsaWVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwcm9jZXNzRGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2E6OnNjaGVkdWxlU2Vzc2lvblN0YXR1c1VwZGF0ZSk6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJT1MubW06CisgICAgICAgIChNZWRpYVNl
c3Npb25IZWxwZXJpT1M6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UpOgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmg6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9T
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6dXBkYXRlU3Vw
cG9ydGVkQ29tbWFuZHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjp1cGRh
dGVTdXBwb3J0ZWRDb21tYW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpwb3N0UmVtb3Rl
Q29udHJvbENvbW1hbmQpOgorCiAyMDIxLTAyLTA1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIE1vdmUgQXVkaW9IYXJkd2FyZUxpc3RlbmVyIGludG8gdGhlIEdQ
VSBQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmZGJkMzk5ODAxMzRkZDMwNzAwMmRlODUwMGQxOTZmNDE2
MzQ1ZjUuLmM5MWQ0NDI5NjU3ZjdjZTlmZjkzNzYwYjQ0MjZjMGQyZmRhYjYwM2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDcgQEAKKzIwMjEtMDItMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0NvY29hXVtHUFVQXSBNb3ZlIFJlbW90ZUNvbW1hbmRMaXN0ZW5l
ciBpbnRvIHRoZSBHUFUgUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIxNzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29u
LgorCisgICAgICAgIEFkZCBhIG5ldyBSZW1vdGUvUHJveHkgY2xhc3MgcGFpciB0byBmYWNpbGl0
YXRlIFJlbW90ZUNvbW1hbmRMaXN0ZW5lciBiZWluZworICAgICAgICBjcmVhdGVkIGluIHRoZSBH
UFUgUHJvY2Vzcy4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpjcmVhdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKToKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAg
ICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1h
bmQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6
dXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVSZW1vdGVDb21tYW5kKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVh
dGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6flJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25E
aWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
SWRlbnRpZmllci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVN
ZWRpYVNlc3Npb25IZWxwZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Np
b25IZWxwZXI6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0VXNl
R1BVUHJvY2Vzc0Zvck1lZGlhKToKKwogMjAyMS0wMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lciBpbnRvIHRo
ZSBHUFUgUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgKaW5kZXggYTIzMjIwNjAzODg4YWI0YjlkZGEyOTY3ZDJmY2QxODIxYmFmYzk0Ny4u
ZjFjNGI1YmEzNjU3NDExNTNmM2ZkYTlmMWE5ZWI1NTE3MWE0NmMyZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0xMTUsNyArMTE1LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG1heVJlc3VtZVBsYXliYWNrKGJvb2wgc2hvdWxkUmVzdW1l
KSBvdmVycmlkZTsKICAgICB2b2lkIHN1c3BlbmRQbGF5YmFjaygpIG92ZXJyaWRlOwogICAgIGJv
b2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopIG92ZXJyaWRlIHsgfQorICAg
IHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb21tYW5kQXJndW1lbnQmKSBvdmVycmlkZSB7IH0KICAgICBib29sIHN1cHBvcnRzU2Vl
a2luZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBzaG91bGRP
dmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpJbnRlcnJ1cHRpb25UeXBlKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAg
IGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYjdjZjEyZjQzZjgyZjgz
MzI4N2Y4NzQ2YjI2MjhhYjJiNWRlYmQwZi4uYzhhZTJkNjZiMWU5OWMxY2VlMTQ4N2Q1ZjAwOGVi
MWY2ODA1NzVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC03NTE1LDcgKzc1MTUsNyBAQCBNZWRpYVNlc3Npb25JZGVudGlmaWVyIEhUTUxNZWRpYUVsZW1l
bnQ6Om1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZpZXIoKSBjb25zdAogICAgIHJldHVybiBtX21l
ZGlhU2Vzc2lvbi0+bWVkaWFTZXNzaW9uSWRlbnRpZmllcigpOwogfQogCi12b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqIGFyZ3VtZW50KQordm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKIHsKICAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsIGNvbW1hbmQpOwogCkBAIC03NTQ0LDE4ICs3NTQ0LDE4IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlNraXBGb3J3YXJkQ29tbWFuZDoKICAgICAgICAgaWYgKGFyZ3VtZW50
KQotICAgICAgICAgICAgb2Zmc2V0ID0gYXJndW1lbnQtPmFzRG91YmxlOworICAgICAgICAgICAg
b2Zmc2V0ID0gKmFyZ3VtZW50OwogICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9u
KG9mZnNldCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246
OlNraXBCYWNrd2FyZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAgICAgICAg
IG9mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgICAgIG9mZnNldCA9ICphcmd1
bWVudDsKICAgICAgICAgaGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbigwIC0gb2Zmc2V0KTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxh
eWJhY2tQb3NpdGlvbkNvbW1hbmQ6CiAgICAgICAgIEFTU0VSVChhcmd1bWVudCk7CiAgICAgICAg
IGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24o
YXJndW1lbnQtPmFzRG91YmxlKTsKKyAgICAgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9z
aXRpb24oKmFyZ3VtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
eyB9IC8vIERvIG5vdGhpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5k
ZXggYTcwMjNhMzU5ZjlmNjlkYWFiYzE1MWEzMWU0NmI1M2I2ZWE2MTZiOC4uY2NjYmI4MzFlM2Ey
NmE4YzE5Y2JjNzRkN2UxZmM4N2RlNWExYmE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKQEAgLTg2Myw3ICs4NjMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVzdW1l
QXV0b3BsYXlpbmcoKSBvdmVycmlkZTsKICAgICB2b2lkIG1heVJlc3VtZVBsYXliYWNrKGJvb2wg
c2hvdWxkUmVzdW1lKSBvdmVycmlkZTsKICAgICBib29sIGNhblJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Ci0gICAgdm9pZCBkaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1h
bmRBcmd1bWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNv
bnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKSBvdmVycmlk
ZTsKICAgICBib29sIHNob3VsZE92ZXJyaWRlQmFja2dyb3VuZFBsYXliYWNrUmVzdHJpY3Rpb24o
UGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVCYWNrZ3JvdW5kTG9hZGluZ1Jlc3RyaWN0aW9uKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDgzOTZmZjZm
NDYzMjgyOGU2MDM5YTVkM2Y0OWQ2ODNiMTE5MTdiMjUuLmY1OGNkY2Q4YTg1NjRjMTA3NTQxMTFk
YTljZjdkZjMzOTc5MTI4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcApAQCAtMTAyNiw3ICsxMDI2LDcgQEAgYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjphbGxvd3NQbGF5YmFja0NvbnRyb2xzRm9yQXV0b3BsYXlpbmdBdWRpbygpIGNvbnN0CiB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKLXZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21t
YW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBhcmd1bWVudCkKK3ZvaWQgTWVk
aWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSBjb21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50
JiBhcmd1bWVudCkKIHsKICAgICBhdXRvKiB3aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5k
b21XaW5kb3coKTsKICAgICBhdXRvKiBzZXNzaW9uID0gd2luZG93ID8gJk5hdmlnYXRvck1lZGlh
U2Vzc2lvbjo6bWVkaWFTZXNzaW9uKHdpbmRvdy0+bmF2aWdhdG9yKCkpIDogbnVsbHB0cjsKQEAg
LTEwNTYsMTYgKzEwNTYsMTYgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXAKICAgICAgICAgaWYg
KCFhcmd1bWVudCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgYWN0aW9uRGV0YWlscy5h
Y3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWt0bzsKLSAgICAgICAgYWN0aW9uRGV0YWls
cy5zZWVrVGltZSA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgYWN0aW9uRGV0YWlscy5z
ZWVrVGltZSA9ICphcmd1bWVudDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTa2lwRm9yd2Fy
ZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGFjdGlvbkRldGFp
bHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgICAgIGFjdGlvbkRl
dGFpbHMuc2Vla09mZnNldCA9ICphcmd1bWVudDsKICAgICAgICAgYWN0aW9uRGV0YWlscy5hY3Rp
b24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtmb3J3YXJkOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFNraXBCYWNrd2FyZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAg
ICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAg
ICAgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9ICphcmd1bWVudDsKICAgICAgICAg
YWN0aW9uRGV0YWlscy5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtiYWNrd2FyZDsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBOZXh0VHJhY2tDb21tYW5kOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCAwNzU3OTBiNTRkYWJiODVkMTljYzg5
M2ViMDFlOTUyNTk2ZTYwMjJkLi43Y2JmN2EzMzE0MWM0MjUyMjE4NGYwMDE2MzhhYWE3Y2RjMGVl
NmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtMTc1
LDcgKzE3NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04p
Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQqID0gbnVsbHB0cikgZmluYWw7
CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQmID0gV1RGOjpudWxsb3B0KSBm
aW5hbDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTm93UGxheWluZ01hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93
UGxheWluZ01hbmFnZXIuY3BwCmluZGV4IDVkM2RjOTNlZTc2OWQ5OTk0YzZlYWY3MDU0YTJjZTkz
NmFiZTU0NjYuLjBiZGY0MDRkMTllODY3MTYzMzdjN2Q3ZTRmOTdjODQxOTQ5ZTJkNzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5jcHAKQEAgLTM1LDIy
ICszNSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBOb3dQbGF5aW5nTWFuYWdlcjo6Tm93UGxh
eWluZ01hbmFnZXIoKSA9IGRlZmF1bHQ7CiBOb3dQbGF5aW5nTWFuYWdlcjo6fk5vd1BsYXlpbmdN
YW5hZ2VyKCkgPSBkZWZhdWx0OwogCi12b2lkIE5vd1BsYXlpbmdNYW5hZ2VyOjpkaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSB0eXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFu
ZEFyZ3VtZW50KiBhcmd1bWVudCkKK3ZvaWQgTm93UGxheWluZ01hbmFnZXI6OmRpZFJlY2VpdmVS
ZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlIHR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5k
QXJndW1lbnQmIGFyZ3VtZW50KQogewogICAgIEFTU0VSVChtX25vd1BsYXlpbmdJbmZvKTsKIAot
ICAgIGlmICghbV9jbGllbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIE9wdGlvbmFsPGRvdWJs
ZT4gdmFsdWU7Ci0gICAgaWYgKGFyZ3VtZW50KQotICAgICAgICB2YWx1ZSA9IGFyZ3VtZW50LT5h
c0RvdWJsZTsKLSAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5
cGUsIHZhbHVlKTsKLX0KLQotYm9vbCBOb3dQbGF5aW5nTWFuYWdlcjo6c3VwcG9ydHNTZWVraW5n
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ub3dQbGF5aW5nSW5mbyAmJiBtX25vd1BsYXlpbmdJ
bmZvLT5zdXBwb3J0c1NlZWtpbmc7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVu
dC0+ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50KTsKIH0KIAog
dm9pZCBOb3dQbGF5aW5nTWFuYWdlcjo6Y2xlYXJOb3dQbGF5aW5nSW5mb0NsaWVudChDbGllbnQm
IGNsaWVudCkKQEAgLTcyLDYgKzYyLDcgQEAgdm9pZCBOb3dQbGF5aW5nTWFuYWdlcjo6c2V0Tm93
UGxheWluZ0luZm8oQ2xpZW50JiBjbGllbnQsIE5vd1BsYXlpbmdJbmZvJiYgbm93UGwKICAgICBp
ZiAoIW1fcmVtb3RlQ29tbWFuZExpc3RlbmVyKQogICAgICAgICBtX3JlbW90ZUNvbW1hbmRMaXN0
ZW5lciA9IFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKCp0aGlzKTsKIAorICAgIG1fcmVt
b3RlQ29tbWFuZExpc3RlbmVyLT5zZXRTdXBwb3J0c1NlZWtpbmcobm93UGxheWluZ0luZm8uc3Vw
cG9ydHNTZWVraW5nKTsKICAgICBtX2NsaWVudCA9IG1ha2VXZWFrUHRyKGNsaWVudCk7CiAgICAg
bV9ub3dQbGF5aW5nSW5mbyA9IFdURk1vdmUobm93UGxheWluZ0luZm8pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaAppbmRleCA3YzlkNWZmMDFhOWJmYmQx
YjhlMTY0MGM5MWExZTdkOGM0YWEyN2EyLi4xYjY3OGM4MjA2ZjVkMGFmOWQ3Zjc3ODRhMmVjOTQz
YWJmYTAwMTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5n
TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2Vy
LmgKQEAgLTQwLDggKzQwLDcgQEAgcHVibGljOgogICAgIE5vd1BsYXlpbmdNYW5hZ2VyKCk7CiAg
ICAgfk5vd1BsYXlpbmdNYW5hZ2VyKCk7CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBl
LCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KikgZmlu
YWw7Ci0gICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29t
bWFuZEFyZ3VtZW50JikgZmluYWw7CiAKICAgICBjbGFzcyBDbGllbnQgOiBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8Q2xpZW50PiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAKaW5kZXggNWIyYTkxZjJjNWI0ODBmZmY1
Y2Q4NDIyOTYzMTIyNTg0ODUxNWNmZi4uMDJiNWU3ZGEzMDE2NTRlNzIzMTVhNjY3MzI5ZDBkMTM0
MDYyYTNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFu
ZExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5k
TGlzdGVuZXIuY3BwCkBAIC0yNiwxNiArMjYsNTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCIKIAorI2lmIFBMQVRGT1JNKE1BQykKKyNp
bmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMuaCIKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyNpbmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaCIKKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpCitzdGF0
aWMgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpDcmVhdGlvbkZ1bmN0aW9uJiByZW1vdGVDb21tYW5k
TGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpDcmVhdGlvbkZ1bmN0aW9uPiBjcmVhdGlvbkZ1bmN0aW9u
OworICAgIHJldHVybiBjcmVhdGlvbkZ1bmN0aW9uOworfQogCi1zdGQ6OnVuaXF1ZV9wdHI8UmVt
b3RlQ29tbWFuZExpc3RlbmVyPiBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShSZW1vdGVD
b21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkKK3ZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpzZXRDcmVhdGlvbkZ1bmN0aW9uKENyZWF0aW9uRnVuY3Rpb24mJiBmdW5jdGlvbikKIHsKLSAg
ICByZXR1cm4gbWFrZVVuaXF1ZTxSZW1vdGVDb21tYW5kTGlzdGVuZXI+KGNsaWVudCk7CisgICAg
cmVtb3RlQ29tbWFuZExpc3RlbmVyQ3JlYXRpb25GdW5jdGlvbigpID0gV1RGTW92ZShmdW5jdGlv
bik7CiB9CiAKK3ZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rp
b24oKQoreworICAgIHJlbW90ZUNvbW1hbmRMaXN0ZW5lckNyZWF0aW9uRnVuY3Rpb24oKSA9IFtd
IChSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkgeworI2lmIFBMQVRGT1JNKE1B
QykKKyAgICAgICAgcmV0dXJuIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6Y3JlYXRlKGNsaWVu
dCk7CisjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAgICByZXR1cm4gUmVtb3RlQ29t
bWFuZExpc3RlbmVySU9TOjpjcmVhdGUoY2xpZW50KTsKKyNlbHNlCisgICAgICAgIHJldHVybiBS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShjbGllbnQpOwogI2VuZGlmCisgICAgfTsKK30K
Kworc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVtb3RlQ29tbWFuZExp
c3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCit7Cisg
ICAgaWYgKCFyZW1vdGVDb21tYW5kTGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKCkpCisgICAgICAg
IHJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOworICAgIHJldHVybiByZW1vdGVDb21tYW5kTGlzdGVu
ZXJDcmVhdGlvbkZ1bmN0aW9uKCkoY2xpZW50KTsKK30KKworUmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpSZW1vdGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGll
bnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCit7Cit9CisKK1JlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6flJlbW90ZUNvbW1hbmRMaXN0ZW5lcigpID0gZGVmYXVsdDsKKwogCiB2b2lkIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6c2NoZWR1bGVTdXBwb3J0ZWRDb21tYW5kc1VwZGF0ZSgpCiB7CkBAIC00
Niw2ICs4NCwxNSBAQCB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6c2NoZWR1bGVTdXBwb3J0
ZWRDb21tYW5kc1VwZGF0ZSgpCiAgICAgfQogfQogCit2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6c2V0U3VwcG9ydHNTZWVraW5nKGJvb2wgc3VwcG9ydHMpCit7CisgICAgaWYgKG1fc3VwcG9y
dHNTZWVraW5nID09IHN1cHBvcnRzKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3N1cHBvcnRz
U2Vla2luZyA9IHN1cHBvcnRzOworICAgIHNjaGVkdWxlU3VwcG9ydGVkQ29tbWFuZHNVcGRhdGUo
KTsKK30KKwogdm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmFkZFN1cHBvcnRlZENvbW1hbmQo
UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kKQog
ewogICAgIG1fcmVnaXN0ZXJlZENvbW1hbmRzLmFkZChjb21tYW5kKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgKaW5kZXggNjdhY2JhYTg2NGQx
MTZiZjAyMzExYjE0MzQ4ODAzNGJhMDZjOTZiZi4uOGFmNjVhZDIyNzVjYjcxZDM5NDk2MmFiZjcz
YmU4NjI0OGJmOTk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3Rl
Q29tbWFuZExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29t
bWFuZExpc3RlbmVyLmgKQEAgLTM1LDIxICszNSwyNSBAQCBjbGFzcyBSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCgpID0gZGVmYXVsdDsKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHN1cHBv
cnRzU2Vla2luZygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQm
KSA9IDA7CiB9OwogCi1jbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXIgeworY2xhc3MgV0VCQ09S
RV9FWFBPUlQgUmVtb3RlQ29tbWFuZExpc3RlbmVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gY3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVu
dCYpOwotICAgIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGll
bnQmIGNsaWVudCkgOiBtX2NsaWVudChjbGllbnQpIHsgfQotICAgIHZpcnR1YWwgflJlbW90ZUNv
bW1hbmRMaXN0ZW5lcigpID0gZGVmYXVsdDsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJl
bW90ZUNvbW1hbmRMaXN0ZW5lcj4gY3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYp
OworICAgIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQm
KTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVDb21tYW5kTGlzdGVuZXIoKTsKKworICAgIHVzaW5nIENy
ZWF0aW9uRnVuY3Rpb24gPSBGdW5jdGlvbjxzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExp
c3RlbmVyPihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmKT47CisgICAgc3RhdGljIHZvaWQg
c2V0Q3JlYXRpb25GdW5jdGlvbihDcmVhdGlvbkZ1bmN0aW9uJiYpOworICAgIHN0YXRpYyB2b2lk
IHJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOwogCiAgICAgdm9pZCBhZGRTdXBwb3J0ZWRDb21tYW5k
KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpOwogICAgIHZv
aWQgcmVtb3ZlU3VwcG9ydGVkQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoKSB7IH0KICAgICB2b2lkIHNjaGVkdWxlU3VwcG9ydGVkQ29tbWFuZHNVcGRhdGUoKTsKKyAg
ICB2b2lkIHNldFN1cHBvcnRzU2Vla2luZyhib29sKTsKIAogICAgIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIApAQCAtNTgs
NiArNjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB1c2luZyBSZW1vdGVDb21tYW5kc1NldCA9IEhh
c2hTZXQ8UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgV1RG
OjpJbnRIYXNoPFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU+
LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRzPFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGU+PjsKICAgICBSZW1vdGVDb21tYW5kc1NldCBtX3JlZ2lzdGVyZWRD
b21tYW5kczsKKyAgICBib29sIG1fc3VwcG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKIAogICAgIERl
ZmVycmFibGVUYXNrPFRpbWVyPiBtX3VwZGF0ZUNvbW1hbmRzVGFzazsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAK
aW5kZXggNDM3YzZkMGE1MTY2NDU5MGE0NjliYWQxYmI1ODIyYzE5ODJlMTk0ZC4uNjI3YTFlMGY1
NGJjZWNlMGUyMGI2N2IwNWExOTgzOGU5NzhmZDkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtMjkxLDcg
KzI5MSw3IEBAIGJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb246OmNhblJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZHMoKSBjb25zdAogICAgIHJldHVybiBtX2NsaWVudC5jYW5SZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmRzKCk7CiB9CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFu
ZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJn
dW1lbnQpCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQogewogICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUiwgY29tbWFuZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCmluZGV4IGQ5NTJmYTk1
YjNmMjczNzBlNjBiNGM2OTEyZTk1MWE1ZDY4ZDBkYjEuLmIxMzMwM2M2MDU1ZWY2YTI1MTM3OTEw
ZmFmZmUzMjE5OGYyOTkyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaApAQCAtMTE0LDEwICsxMTQsOCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEJ1ZmZlcmluZygpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCByZXN1bWVCdWZmZXJpbmcoKSB7IH0KLSAgICAKLSAgICB0eXBlZGVmIHVuaW9uIHsKLSAg
ICAgICAgZG91YmxlIGFzRG91YmxlOwotICAgIH0gUmVtb3RlQ29tbWFuZEFyZ3VtZW50OworCisg
ICAgdXNpbmcgUmVtb3RlQ29tbWFuZEFyZ3VtZW50ID0gT3B0aW9uYWw8ZG91YmxlPjsKIAogICAg
IGVudW0gUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIDogdWludDhfdCB7CiAgICAgICAgIE5vQ29t
bWFuZCwKQEAgLTEzNiw3ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFByZXZpb3VzVHJhY2tD
b21tYW5kLAogICAgIH07CiAgICAgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRz
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCog
PSBudWxscHRyKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50
JiA9IFdURjo6bnVsbG9wdCk7CiAgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdDsKIAog
ICAgIGVudW0gRGlzcGxheVR5cGUgOiB1aW50OF90IHsKQEAgLTIzOSw3ICsyMzcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRQbGF5YmFjaygpID0gMDsKIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRzKCkgY29uc3QgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21t
YW5kQXJndW1lbnQmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2Vla2luZygpIGNv
bnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXggZjdmZDU3MzdlYzg4
MmQ5Yjk2Njk0ZDJjYWExMzgyZWQ0OGEzOWRkMy4uM2ZmYzYyOGVjMjA1ZGQ4NDU4ZDgwNDQ1YmI0
OWU1ODBjOGFiYjYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC00MzAsNyArNDMw
LDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25DYW5Qcm9kdWNl
QXVkaW9DaGFuZ2VkKCkKICAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAotdm9pZCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21t
YW5kLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBh
cmd1bWVudCkKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwcm9jZXNzRGlkUmVj
ZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCiB7CiAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb24q
IGFjdGl2ZVNlc3Npb24gPSBjdXJyZW50U2Vzc2lvbigpOwogICAgIGlmICghYWN0aXZlU2Vzc2lv
biB8fCAhYWN0aXZlU2Vzc2lvbi0+Y2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCAyM2RkOTljNmRlZjJmZjRkYWVmODdhMDUwOThiNzc1
YTgwN2RjYTEzLi4yYmMzYzJmMjQ3NDhlMTE5Y2EzZmRmMzcxOTgxOTIzOWM3Mzg5ZmM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJlbW92ZUF1ZGlvQ2FwdHVyZVNvdXJjZShQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6QXVkaW9DYXB0dXJlU291cmNlJik7CiAgICAgYm9vbCBoYXNBdWRpb0NhcHR1cmVTb3Vy
Y2UoUGxhdGZvcm1NZWRpYVNlc3Npb246OkF1ZGlvQ2FwdHVyZVNvdXJjZSYgc291cmNlKSBjb25z
dCB7IHJldHVybiBtX2F1ZGlvQ2FwdHVyZVNvdXJjZXMuY29udGFpbnMoc291cmNlKTsgfQogCi0g
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0
IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpOwogCiAgICAgYm9vbCBpc0lu
dGVycnVwdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcnJ1cHRlZDsgfQogICAgIGJvb2wgaGFz
Tm9TZXNzaW9uKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCmluZGV4IGQ5ZTM3
YWE4MzdkNjU4YTk3MmU2YmI0MzI2NmM2Y2RkNjBkZmE5NzkuLjIzNzllZWM0ZTUyNjVmYjBhMWI5
ODUyNjVhMWRhZWYyNmE1NDQ5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCkBAIC05
Myw4ICs5Myw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIC8vIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudAotICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgY29uc3QgUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJndW1lbnQpIGZpbmFs
IHsgcHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBlLCBhcmd1bWVudCk7
IH0KLSAgICBib29sIHN1cHBvcnRzU2Vla2luZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGNvbXB1
dGVTdXBwb3J0c1NlZWtpbmcoKTsgfQorICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlw
ZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJn
dW1lbnQpIGZpbmFsIHsgcHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBl
LCBhcmd1bWVudCk7IH0KIAogICAgIC8vIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lckNsaWVudAogICAg
IHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdl
ckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNz
aW9uTWFuYWdlckNvY29hLm1tCmluZGV4IGQzNGZjOTBkN2FhOGI2NDA4MDc5YTMxNDg4YWIwMmY4
MGI3ZjI4OTYuLjNkYTNlODk0MWFiZDQ2YzBhOTY3MjA2MjFiZjAyYjQ4NzRlZWYzZGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1h
bmFnZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9N
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KQEAgLTE1Myw4ICsxNTMsMTAgQEAgdm9pZCBNZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2E6OnByZXBhcmVUb1NlbmRVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdCgpCiB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6c2NoZWR1bGVTZXNzaW9uU3Rh
dHVzVXBkYXRlKCkKIHsKICAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpc10gKCkgbXV0
YWJsZSB7Ci0gICAgICAgIGlmIChtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lcikKKyAgICAgICAgaWYg
KG1fcmVtb3RlQ29tbWFuZExpc3RlbmVyKSB7CisgICAgICAgICAgICBtX3JlbW90ZUNvbW1hbmRM
aXN0ZW5lci0+c2V0U3VwcG9ydHNTZWVraW5nKGNvbXB1dGVTdXBwb3J0c1NlZWtpbmcoKSk7CiAg
ICAgICAgICAgICBtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lci0+dXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoKTsKKyAgICAgICAgfQogCiAgICAgICAgIHVwZGF0ZU5vd1BsYXlpbmdJbmZvKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25I
ZWxwZXJJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Np
b25IZWxwZXJJT1MuaAppbmRleCBiMTJjY2Q3NDVjNjAxMjU2MTNhOGM2NTUyNzE0NTY2OGI4ZWFl
ZTEzLi4xMDg3ODQ2MmJkMDExYjA4NGQxYmRhMGE4MzkxODQ3ZjhmYTU4ZGRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9T
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhl
bHBlcklPUy5oCkBAIC03OSwxMiArNzksMTUgQEAgcHVibGljOgogICAgIGJvb2wgYWN0aXZlVmlk
ZW9Sb3V0ZVN1cHBvcnRzQWlyUGxheVZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVWaWRl
b1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW87IH0KICAgICBib29sIGlzUGxheWluZ1RvQXV0b21v
dGl2ZUhlYWRVbml0KCkgY29uc3QgeyByZXR1cm4gbV9pc1BsYXlpbmdUb0F1dG9tb3RpdmVIZWFk
VW5pdDsgfQogCisgICAgTWVkaWFQbGF5YmFja1RhcmdldCogcGxheWJhY2tUYXJnZXQoKSBjb25z
dCB7IHJldHVybiBtX3BsYXliYWNrVGFyZ2V0LmdldCgpOyB9CisKIHByb3RlY3RlZDoKICAgICBX
ZWFrSGFzaFNldDxNZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ+IG1fY2xpZW50czsKICAgICB1aW50
MzJfdCBtX21vbml0b3JpbmdXaXJlbGVzc1JvdXRlc0NvdW50IHsgMCB9OwogICAgIGJvb2wgbV9p
c0V4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWN0
aXZlVmlkZW9Sb3V0ZVN1cHBvcnRzQWlyUGxheVZpZGVvIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aXNQbGF5aW5nVG9BdXRvbW90aXZlSGVhZFVuaXQgeyBmYWxzZSB9OworICAgIFJlZlB0cjxNZWRp
YVBsYXliYWNrVGFyZ2V0PiBtX3BsYXliYWNrVGFyZ2V0OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJ
T1MubW0KaW5kZXggZDgwZGJjODIzNzk5OTRhMmJjMDhhYmY2MDUyYmZjMTEwMzk4NGE4MC4uMjI0
N2YyNjRmYTg0ODI3ZmY0NGFmYjkxZDZhYTNjMTgxOWViNDM5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9T
Lm1tCkBAIC0yODgsMTAgKzI4OCwxMCBAQCB2b2lkIE1lZGlhU2Vzc2lvbkhlbHBlcmlPUzo6YWN0
aXZlQXVkaW9Sb3V0ZURpZENoYW5nZShib29sIHNob3VsZFBhdXNlKQogCiB2b2lkIE1lZGlhU2Vz
c2lvbkhlbHBlcmlPUzo6YWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZSgpCiB7Ci0gICAgYXV0byBw
bGF5YmFja1RhcmdldCA9IE1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKCk7Ci0gICAg
bV9hY3RpdmVWaWRlb1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBwbGF5YmFja1RhcmdldC0+
c3VwcG9ydHNSZW1vdGVWaWRlb1BsYXliYWNrKCk7CisgICAgbV9wbGF5YmFja1RhcmdldCA9IE1l
ZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKCk7CisgICAgbV9hY3RpdmVWaWRlb1JvdXRl
U3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBtX3BsYXliYWNrVGFyZ2V0LT5zdXBwb3J0c1JlbW90ZVZp
ZGVvUGxheWJhY2soKTsKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fY2xpZW50cykKLSAgICAg
ICAgY2xpZW50LmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UobV9hY3RpdmVWaWRlb1JvdXRlU3Vw
cG9ydHNBaXJQbGF5VmlkZW8gPyBTdXBwb3J0c0FpclBsYXlWaWRlbzo6WWVzIDogU3VwcG9ydHNB
aXJQbGF5VmlkZW86Ok5vLCBwbGF5YmFja1RhcmdldC5jb3B5UmVmKCkpOworICAgICAgICBjbGll
bnQuYWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZShtX2FjdGl2ZVZpZGVvUm91dGVTdXBwb3J0c0Fp
clBsYXlWaWRlbyA/IFN1cHBvcnRzQWlyUGxheVZpZGVvOjpZZXMgOiBTdXBwb3J0c0FpclBsYXlW
aWRlbzo6Tm8sICptX3BsYXliYWNrVGFyZ2V0KTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2Vy
SU9TLm1tCmluZGV4IDVjZTY0M2U5YjFmMDk1MzFiMjc1MDE3ODk0YTQyNTdlOTU0ZmNjMmMuLjMx
Njk2NWEyNjU0YjM2MjQwMGZhYTQyNDU0MWE4MTA4MTgwZTYwNjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2Vy
SU9TLm1tCkBAIC0xNDIsMTUgKzE0MiwxMSBAQCBib29sIE1lZGlhU2Vzc2lvbk1hbmFnZXJpT1M6
OnNlc3Npb25XaWxsQmVnaW5QbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgc2VzcwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBM
QVRGT1JNKFdBVENIT1MpCi0gICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0KSB7Ci0gICAgICAgIG1f
cGxheWJhY2tUYXJnZXQgPSBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2E6OmNyZWF0ZSgpOwotICAg
ICAgICBtX3BsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBtX3BsYXliYWNrVGFy
Z2V0LT5zdXBwb3J0c1JlbW90ZVZpZGVvUGxheWJhY2soKTsKLSAgICB9Ci0KLSAgICBBTFdBWVNf
TE9HKExPR0lERU5USUZJRVIsICJQbGF5YmFjayBUYXJnZXQgU3VwcG9ydHMgQWlyUGxheSBWaWRl
byA9ICIsIG1fcGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbyk7Ci0gICAgaWYgKG1f
cGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbykKLSAgICAgICAgc2Vzc2lvbi5zZXRQ
bGF5YmFja1RhcmdldCgqbV9wbGF5YmFja1RhcmdldC5jb3B5UmVmKCkpOwotICAgIHNlc3Npb24u
c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQobV9wbGF5YmFja1RhcmdldFN1cHBvcnRzQWly
UGxheVZpZGVvKTsKKyAgICBhdXRvIHBsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8g
PSBNZWRpYVNlc3Npb25IZWxwZXI6OnNoYXJlZEhlbHBlcigpLmFjdGl2ZVZpZGVvUm91dGVTdXBw
b3J0c0FpclBsYXlWaWRlbygpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIlBsYXli
YWNrIFRhcmdldCBTdXBwb3J0cyBBaXJQbGF5IFZpZGVvID0gIiwgcGxheWJhY2tUYXJnZXRTdXBw
b3J0c0FpclBsYXlWaWRlbyk7CisgICAgaWYgKGF1dG8gdGFyZ2V0ID0gTWVkaWFTZXNzaW9uSGVs
cGVyOjpzaGFyZWRIZWxwZXIoKS5wbGF5YmFja1RhcmdldCgpOyB0YXJnZXQgJiYgcGxheWJhY2tU
YXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbykKKyAgICAgICAgc2Vzc2lvbi5zZXRQbGF5YmFja1Rh
cmdldCgqdGFyZ2V0KTsKKyAgICBzZXNzaW9uLnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0
KHBsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8pOwogI2VuZGlmCiAKICAgICBwcm92
aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElESWZOZWNlc3NhcnkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaAppbmRl
eCA3MzllODBkNzM4M2ZhMTliNjUwNDUyY2M2OWJkNWFkNTAzZDA5NzNjLi5mOGQ1NjU4MDU5ZjVh
MTBkZTQwYmU1OTI0Njc0NzYzNjIyN2Y5ZjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oCkBAIC0zMyw2ICszMyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9T
IGZpbmFsIDogcHVibGljIFJlbW90ZUNvbW1hbmRMaXN0ZW5lciwgcHVibGljIENhbk1ha2VXZWFr
UHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUz4gewogcHVibGljOgorICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TPiBjcmVhdGUoUmVtb3RlQ29tbWFu
ZExpc3RlbmVyQ2xpZW50Jik7CiAgICAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNv
bW1hbmRMaXN0ZW5lckNsaWVudCYpOwogICAgIHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklPUygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3Rl
Q29tbWFuZExpc3RlbmVySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQppbmRleCAzY2FiNWU0NDRlMGRlODZlOTM5MDE0YmNjYmE1
ZmZlNzE4NTA4OTk5Li5hMzM0MzVhYWIxYzJkZDU5OTRhMGFiMmRjNDRlOGNmNzFkMWZkYzc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3Rl
bmVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1MubW0KQEAgLTQwLDcgKzQwLDcgQEAgU09GVF9MSU5LX0NMQVNTKE1lZGlhUGxh
eWVyLCBNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnQpCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVtb3Rl
Q29tbWFuZExpc3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGll
bnQpCitzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TPiBSZW1vdGVDb21t
YW5kTGlzdGVuZXJJT1M6OmNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVu
dCkKIHsKICAgICBpZiAoIU1lZGlhUGxheWVyTGlicmFyeSgpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKQEAgLTU4LDcgKzU4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBj
YWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykK
ICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQu
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQYXVz
ZUNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGF1c2VDb21t
YW5kLCBXVEY6Om51bGxvcHQpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1v
dGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC02OCw3ICs2OCw3IEBAIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNvbW1hbmRM
aXN0ZW5lckNsaWVudCYKICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXNdIHsKICAg
ICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAg
d2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwog
CiAgICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAg
LTc4LDcgKzc4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWlu
VGhyZWFkKFt3ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpUb2dnbGVQbGF5UGF1
c2VDb21tYW5kLCBudWxscHRyKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlRvZ2dsZVBs
YXlQYXVzZUNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIHJl
dHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAgLTkzLDcgKzkzLDcg
QEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVt
b3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFr
VGhpcywgY29tbWFuZF0gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJl
bW90ZUNvbnRyb2xDb21tYW5kKGNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBXVEY6
Om51bGxvcHQpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5k
SGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC0xMDgsNyArMTA4LDcgQEAgUmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVy
Q2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcywgY29tbWFuZF0gewog
ICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5k
KGNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBXVEY6Om51bGxvcHQpOwogICAgICAg
ICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nl
c3M7CkBAIC0xMTcsMTYgKzExNywxNiBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAgbV9z
ZWVrVG9UaW1lVGFyZ2V0ID0gW1tjZW50ZXIgY2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRd
IGFkZFRhcmdldFdpdGhIYW5kbGVyOl4oTVBSZW1vdGVDb21tYW5kRXZlbnQgKmV2ZW50KSB7CiAg
ICAgICAgIEFTU0VSVChbZXZlbnQgaXNLaW5kT2ZDbGFzczpnZXRNUENoYW5nZVBsYXliYWNrUG9z
aXRpb25Db21tYW5kRXZlbnRDbGFzcygpXSk7CiAKLSAgICAgICAgaWYgKCFjbGllbnQuc3VwcG9y
dHNTZWVraW5nKCkpCisgICAgICAgIGlmICghbV9zdXBwb3J0c1NlZWtpbmcpCiAgICAgICAgICAg
ICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c0NvbW1hbmRGYWlsZWQ7CiAKICAg
ICAgICAgTVBDaGFuZ2VQbGF5YmFja1Bvc2l0aW9uQ29tbWFuZEV2ZW50KiBzZWVrRXZlbnQgPSBz
dGF0aWNfY2FzdDxNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnQgKj4oZXZlbnQp
OwogICAgICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50IGFy
Z3VtZW50IHsgW3NlZWtFdmVudCBwb3NpdGlvblRpbWVdIH07CiAKLSAgICAgICAgY2FsbE9uTWFp
blRocmVhZChbd2Vha1RoaXMsIGFyZ3VtZW50XSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W3dlYWtUaGlzLCBhcmd1bWVudCA9IFdURk1vdmUoYXJndW1lbnQpXSB7CiAgICAgICAgICAgICBp
ZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtU
aGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kLCAmYXJndW1lbnQpOworICAg
ICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQsIGFy
Z3VtZW50KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhh
bmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lcklPUzo6flJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUygpCiAKIHZvaWQgUmVtb3RlQ29tbWFu
ZExpc3RlbmVySU9TOjp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpCiB7Ci0gICAgW1tbZ2V0TVBS
ZW1vdGVDb21tYW5kQ2VudGVyQ2xhc3MoKSBzaGFyZWRDb21tYW5kQ2VudGVyXSBjaGFuZ2VQbGF5
YmFja1Bvc2l0aW9uQ29tbWFuZF0gc2V0RW5hYmxlZDohIWNsaWVudCgpLnN1cHBvcnRzU2Vla2lu
ZygpXTsKKyAgICBbW1tnZXRNUFJlbW90ZUNvbW1hbmRDZW50ZXJDbGFzcygpIHNoYXJlZENvbW1h
bmRDZW50ZXJdIGNoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kXSBzZXRFbmFibGVkOm1fc3Vw
cG9ydHNTZWVraW5nXTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oCmluZGV4IGI3MWNhZDg2ODE4ODg0ZDk5
NGFmYWVlODM4MjY5Yzk1ZjcxZGNjNjQuLjgxYzc1OTlhMDQxZDE1MjhlZWEwMWVlNmFiN2Q3MDVi
NDE1Yzc0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVD
b21tYW5kTGlzdGVuZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWFjLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMgOiBwdWJsaWMgUmVtb3RlQ29t
bWFuZExpc3RlbmVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVy
TWFjPiB7CiBwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWM+IGNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmKTsKICAgICBS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50Jik7CiAg
ICAgdmlydHVhbCB+UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLm1tCmlu
ZGV4IDM4YWE1N2Y4NzhjZGZjM2YzZWRiY2JiNmNkZDk3ZjdkMjUzODNkNmMuLjU3NzlkNjk1MTU0
YmZiZmIzNWFhOWZkZDA0ZmUyNGE5Y2UzZDM4YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5tbQpAQCAtNjQsNyAr
NjQsNyBAQCBzdGF0aWMgT3B0aW9uYWw8TVJNZWRpYVJlbW90ZUNvbW1hbmQ+IG1lZGlhUmVtb3Rl
Q29tbWFuZEZvclBsYXRmb3JtQ29tbWFuZChQbGF0ZgogICAgIHJldHVybiB7IH07CiB9CiAKLXN0
ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IFJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6Y3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQorc3RkOjp1bmlx
dWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYz4gUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
OjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCiB7CiAgICAgcmV0
dXJuIG1ha2VVbmlxdWU8UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjPihjbGllbnQpOwogfQpAQCAt
MTAyLDEyICsxMDIsMTIgQEAgdm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OnVwZGF0ZVN1
cHBvcnRlZENvbW1hbmRzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byYgc3VwcG9ydGVk
Q29tbWFuZHMgPSAhbV9yZWdpc3RlcmVkQ29tbWFuZHMuaXNFbXB0eSgpID8gbV9yZWdpc3RlcmVk
Q29tbWFuZHMgOiBkZWZhdWx0Q29tbWFuZHMoKTsKLSAgICBpZiAobV9zdXBwb3J0c1NlZWtpbmcg
PT0gY2xpZW50KCkuc3VwcG9ydHNTZWVraW5nKCkgJiYgbV9jdXJyZW50Q29tbWFuZHMgPT0gc3Vw
cG9ydGVkQ29tbWFuZHMpCisgICAgaWYgKG1fY3VycmVudENvbW1hbmRzID09IHN1cHBvcnRlZENv
bW1hbmRzKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGNvbW1hbmRJbmZvQXJyYXkgPSBh
ZG9wdENGKENGQXJyYXlDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHN1cHBvcnRl
ZENvbW1hbmRzLnNpemUoKSwgJmtDRlR5cGVBcnJheUNhbGxCYWNrcykpOwogICAgIGZvciAoYXV0
byBwbGF0Zm9ybUNvbW1hbmQgOiBzdXBwb3J0ZWRDb21tYW5kcykgewotICAgICAgICBpZiAoaXNT
ZWVrQ29tbWFuZChwbGF0Zm9ybUNvbW1hbmQpICYmICFjbGllbnQoKS5zdXBwb3J0c1NlZWtpbmco
KSkKKyAgICAgICAgaWYgKGlzU2Vla0NvbW1hbmQocGxhdGZvcm1Db21tYW5kKSAmJiAhbV9zdXBw
b3J0c1NlZWtpbmcpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBhdXRvIGNvbW1h
bmQgPSBtZWRpYVJlbW90ZUNvbW1hbmRGb3JQbGF0Zm9ybUNvbW1hbmQocGxhdGZvcm1Db21tYW5k
KTsKQEAgLTEyMyw3ICsxMjMsNiBAQCB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6dXBk
YXRlU3VwcG9ydGVkQ29tbWFuZHMoKQogCiAgICAgTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENv
bW1hbmRzKGNvbW1hbmRJbmZvQXJyYXkuZ2V0KCksIE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdp
bigpLCBudWxscHRyLCBudWxscHRyKTsKICAgICBtX2N1cnJlbnRDb21tYW5kcyA9IHN1cHBvcnRl
ZENvbW1hbmRzOwotICAgIG1fc3VwcG9ydHNTZWVraW5nID0gY2xpZW50KCkuc3VwcG9ydHNTZWVr
aW5nKCk7CiB9CiAKIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6UmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFjKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQpAQCAtMTQwLDggKzEz
OSw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
KFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYKICAgICAgICAgTE9HKE1lZGlhLCAiUmVtb3Rl
Q29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMgLSByZWNlaXZlZCBj
b21tYW5kICV1IiwgY29tbWFuZCk7CiAKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZSBwbGF0Zm9ybUNvbW1hbmQgeyBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6Tm9Db21tYW5kIH07Ci0gICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQgYXJndW1lbnQgeyAwIH07Ci0gICAgICAgIFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqIGFyZ3VtZW50UHRyID0gbnVsbHB0cjsKKyAgICAg
ICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1bWVudDsK
ICAgICAgICAgTVJNZWRpYVJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzIHN0YXR1cyA9IE1STWVk
aWFSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CiAKICAgICAgICAgc3dpdGNoIChj
b21tYW5kKSB7CkBAIC0xNzAsNyArMTY4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAg
ICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gUGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZFNlZWtp
bmdCYWNrd2FyZENvbW1hbmQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBNUk1l
ZGlhUmVtb3RlQ29tbWFuZFNlZWtUb1BsYXliYWNrUG9zaXRpb246IHsKLSAgICAgICAgICAgIGlm
ICghY2xpZW50LnN1cHBvcnRzU2Vla2luZygpKSB7CisgICAgICAgICAgICBpZiAoIW1fc3VwcG9y
dHNTZWVraW5nKSB7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gTVJNZWRpYVJlbW90ZUNvbW1h
bmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZDsKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KQEAgLTE4MSwyMSArMTc5LDIzIEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1h
Yzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgQ0ZO
dW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlwZSwgJmFyZ3VtZW50
LmFzRG91YmxlKTsKLSAgICAgICAgICAgIGFyZ3VtZW50UHRyID0gJmFyZ3VtZW50OworICAgICAg
ICAgICAgZG91YmxlIHBvc2l0aW9uID0gMDsKKyAgICAgICAgICAgIENGTnVtYmVyR2V0VmFsdWUo
cG9zaXRpb25SZWYsIGtDRk51bWJlckRvdWJsZVR5cGUsICZwb3NpdGlvbik7CisgICAgICAgICAg
ICBhcmd1bWVudCA9IHBvc2l0aW9uOwogICAgICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gUGxh
dGZvcm1NZWRpYVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBNUk1lZGlhUmVtb3RlQ29tbWFu
ZFNraXBGb3J3YXJkOgogICAgICAgICBjYXNlIE1STWVkaWFSZW1vdGVDb21tYW5kU2tpcEJhY2t3
YXJkOgotICAgICAgICAgICAgaWYgKCFjbGllbnQuc3VwcG9ydHNTZWVraW5nKCkpIHsKKyAgICAg
ICAgICAgIGlmICghbV9zdXBwb3J0c1NlZWtpbmcpIHsKICAgICAgICAgICAgICAgICBzdGF0dXMg
PSBNUk1lZGlhUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkOwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoYXV0byBw
b3NpdGlvblJlZiA9IHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1
ZShvcHRpb25zLCBrTVJNZWRpYVJlbW90ZU9wdGlvblNraXBJbnRlcnZhbCkpKSB7Ci0gICAgICAg
ICAgICAgICAgQ0ZOdW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlw
ZSwgJmFyZ3VtZW50LmFzRG91YmxlKTsKLSAgICAgICAgICAgICAgICBhcmd1bWVudFB0ciA9ICZh
cmd1bWVudDsKKyAgICAgICAgICAgICAgICBkb3VibGUgcG9zaXRpb24gPSAwOworICAgICAgICAg
ICAgICAgIENGTnVtYmVyR2V0VmFsdWUocG9zaXRpb25SZWYsIGtDRk51bWJlckRvdWJsZVR5cGUs
ICZwb3NpdGlvbik7CisgICAgICAgICAgICAgICAgYXJndW1lbnQgPSBwb3NpdGlvbjsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gKGNvbW1hbmQgPT0gTVJN
ZWRpYVJlbW90ZUNvbW1hbmRTa2lwRm9yd2FyZCkgPyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tp
cEZvcndhcmRDb21tYW5kIDogUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBCYWNrd2FyZENvbW1h
bmQ7CkBAIC0yMTIsNyArMjEyLDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICB9
OwogCiAgICAgICAgIGlmICh3ZWFrVGhpcyAmJiBzdGF0dXMgIT0gTVJNZWRpYVJlbW90ZUNvbW1h
bmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZCkKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2Ns
aWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQocGxhdGZvcm1Db21tYW5kLCBhcmd1
bWVudFB0cik7CisgICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKHBsYXRmb3JtQ29tbWFuZCwgYXJndW1lbnQpOwogCiAgICAgICAgIGNv
bXBsZXRpb24oKF9fYnJpZGdlIENGQXJyYXlSZWYpQFtAKHN0YXR1cyldKTsKICAgICB9KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA5NzdmMTQ4MzhhODMyYjgxN2VlOTU5
ZDkyN2NjMDE0Yjg0NzEyYzQ3Li4zNGY4OWMwN2I2MjM1NTAzNzg1YjQyNTM3ODBmNzI2YmY5ZGIw
YzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00MzA1LDcgKzQzMDUs
NyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbHM6OnBvc3RSZW1vdGVDb250cm9sQ29tbWFu
ZChjb25zdCBTdHJpbmcmIGNvbW1hbmRTdHJpbgogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwogCi0gICAgUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZChjb21tYW5kLCAmcGFyYW1ldGVyKTsKKyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKGNvbW1hbmQsIHBhcmFtZXRlcik7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKaW5kZXggNjM1ODUyNmE2NTcxOWQ5YThmMzgzYzg2Nzg3NTM0YzA5ZGU4NmQ1NS4uM2Vh
Nzk0NjA4NDEwNzA2NWJlODI4ZDRkYTJhOWQ2ZGE2MDdlOTkyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0
CkBAIC0xMzgsNiArMTM4LDcgQEAgc2V0KFdlYktpdF9NRVNTQUdFU19JTl9GSUxFUwogICAgIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eQogICAgIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhU291cmNlUHJveHkKKyAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lclByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eQogCiAgICAgR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkKQEAgLTIz
MCw2ICsyMzEsNyBAQCBzZXQoV2ViS2l0X01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2UKICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24KICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVM
ZWdhY3lDRE1TZXNzaW9uCisgICAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyCiAgICAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZQogCiAgICAgV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGNhOTRl
NzYwYTAxZDM1NzIxMzFmZGE2MzY3YTg3N2YyYTI1NjgxMzUuLmZiNjIxM2M0Y2MzNmYzMzg1Mjhj
MThiOTQ4ZjlhYzg4OTM4YjEyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKQEAgLTQwLDYgKzQwLDcgQEAgJChQUk9KRUNUX0RJUikvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4KICQo
UFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVGV4dFRyYWNr
UHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VmlkZW9UcmFja1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0xNTAsNiArMTUxLDcgQEAgJChQUk9KRUNU
X0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURl
Y29kZXJBVkYubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIp
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24ubWVzc2FnZXMuaW4K
KyQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5t
ZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKaW5kZXggOWI1YjBmZWY4NWVlYTM5NTFlZjY0OTc2M2U2YWVkZGM1NjhjMjY1Ni4uNDYz
NTVhMTE4ZjI5MDkzZGU0ZjFkMmY2ZWY4MjBmZGE5ZGFlZTVmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yNDcsNiArMjQ3LDEyIEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
U291cmNlUHJveHlNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJl
Z2lzdHJ5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyTWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWVzc2FnZVJlY2VpdmVyLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZE1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDU3NWFmN2E0NGEyNDEzYmE2YjY1MmY4YjM3ZDA0NWNm
OTRlZDVhZTUuLmNiMDRlMWE2NmVjODI0Y2U0YzQxYzkyYzUwOGYzNWEzMTI5NWM3MmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE4NSw2ICsxODUsNyBAQCBNRVNTQUdFX1JFQ0VJ
VkVSUyA9IFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24g
XAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXIgXAog
CVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24gXAorCVdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciBcCiAJV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9XZWJTdG9yYWdl
L1N0b3JhZ2VBcmVhTWFwIFwKQEAgLTI1OSw2ICsyNjAsNyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9
IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAogCUdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAogCUdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXgg
ODkxYTdhMGMzOGM3NTY0YjEyNzRmZTkyYmE5OWE2YTFkMWUzNjliYS4uNmI5NzI2MzBlMWM5MjI4
YzEzODNjNDc3OTZjYzFkYWI5NDA5N2MzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNDgsNiArNDgsNyBA
QAogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVjb3JkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJl
bW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgogI2luY2x1ZGUg
IlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuaCIKICNpbmNsdWRlICJSZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyTWVzc2FnZXMuaCIKQEAgLTQxOSw2ICs0
MjAsMjAgQEAgdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlQXVkaW9IYXJk
d2FyZUxpc3RlbmVyKFJlbW90ZUF1ZGlvSGFyZHdhcmUKICAgICBBU1NFUlRfVU5VU0VEKGZvdW5k
LCBmb3VuZCk7CiB9CiAKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVt
b3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIg
aWRlbnRpZmllcikKK3sKKyAgICBhdXRvIGFkZFJlc3VsdCA9IG1fcmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyTWFwLmVuc3VyZShpZGVudGlmaWVyLCBbJl0oKSB7CisgICAgICAgIHJldHVybiBt
YWtlVW5pcXVlPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5PigqdGhpcywgV1RGTW92
ZShpZGVudGlmaWVyKSk7CisgICAgfSk7CisgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFk
ZFJlc3VsdC5pc05ld0VudHJ5KTsKK30KKwordm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpyZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICBib29sIGZvdW5kID0gbV9yZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJNYXAucmVtb3ZlKGlkZW50aWZpZXIpOworICAgIEFTU0VSVF9VTlVT
RUQoZm91bmQsIGZvdW5kKTsKK30KKwogYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpk
aXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXIm
IGRlY29kZXIpCiB7CiAjaWYgRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDgzOWZmOGY1
OWQ0NjNiY2FlYjRlOGMyMTg1YzRlMzVhMmViZWQ3YjIuLmY3NmI3YTZjYzllNTdkZjU3YjYyYWZl
NmRjOTY1ODdhNDU2ZGEwNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlck1hcC5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0
ZW5lcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nlc3Npb25JZGVudGlmaWVy
LmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oIgog
I2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCiAKICNpbmNsdWRlIDxXZWJD
b3JlL0xpYldlYlJUQ0VudW1UcmFpdHMuaD4KQEAgLTYzLDYgKzY0LDcgQEAgY2xhc3MgUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk7CiBjbGFzcyBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
cjsKIGNsYXNzIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOwogY2xhc3MgUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyUHJveHk7CitjbGFzcyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94
eTsKIGNsYXNzIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ7CiBjbGFzcyBSZW1vdGVHcmFwaGljc0Nv
bnRleHRHTDsKIGNsYXNzIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXI7CkBA
IC0xNjAsNiArMTYyLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY3JlYXRlQXVkaW9IYXJkd2Fy
ZUxpc3RlbmVyKFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcklkZW50aWZpZXIpOwogICAgIHZv
aWQgcmVsZWFzZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcihSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVu
ZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIGNyZWF0ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlbGVhc2VSZW1v
dGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllcik7
CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZvaWQgZGlkQ2xvc2UoSVBD
OjpDb25uZWN0aW9uJikgZmluYWw7CkBAIC0yMzgsNiArMjQyLDggQEAgcHJpdmF0ZToKIAogICAg
IHVzaW5nIFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlQXVk
aW9IYXJkd2FyZUxpc3RlbmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUF1ZGlv
SGFyZHdhcmVMaXN0ZW5lclByb3h5Pj47CiAgICAgUmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVy
TWFwIG1fcmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyTWFwOworICAgIHVzaW5nIFJlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5Pj47CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFwIG1fcmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGI1Njk4ZGVhYjhhNTc4ZDE0MDQ5YTFiYTM0NWU2
MGQyZDU4MjhhMzMuLjMwZjVjMjk4ODYyMTRmOTEwNGYxYWZhMDgzNWIyMzhhMzZkYzZlZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00Miw2ICs0Miw4IEBAIG1lc3NhZ2VzIC0+
IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgV2FudHNEaXNwYXRjaE1lc3NhZ2UgewogI2VuZGlm
CiAgICAgQ3JlYXRlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKFdlYktpdDo6UmVtb3RlQXVkaW9IYXJk
d2FyZUxpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIFJlbGVhc2VBdWRpb0hhcmR3
YXJlTGlzdGVuZXIoV2ViS2l0OjpSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJJZGVudGlmaWVy
IGlkZW50aWZpZXIpCisgICAgQ3JlYXRlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFdlYktpdDo6UmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQorICAgIFJlbGVh
c2VSZW1vdGVDb21tYW5kTGlzdGVuZXIoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDU1
ZDU5ZDJiMDFhNmZkNjg3N2U4MDVlN2M0MDA1M2Y1M2M1MjY3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5LmNwcApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgiCisKKyNp
bmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1Jl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBncHVDb25uZWN0aW9uLCBSZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyJiYgaWRlbnRpZmllcikKKyAgICA6IG1fZ3B1
Q29ubmVjdGlvbihncHVDb25uZWN0aW9uKQorICAgICwgbV9pZGVudGlmaWVyKFdURk1vdmUoaWRl
bnRpZmllcikpCisgICAgLCBtX2xpc3RlbmVyKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6Y3JlYXRlKCp0aGlzKSkKK3sKK30KKworUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJv
eHk6On5SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSgpID0gZGVmYXVsdDsKKwordm9p
ZCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRy
b2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUg
Y29tbWFuZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVu
dCYgYXJndW1lbnQpCit7CisgICAgbV9ncHVDb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1l
c3NhZ2VzOjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OkRpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZChjb21tYW5kLCBhcmd1bWVudCksIG1faWRlbnRpZmllcik7Cit9CisKK3ZvaWQg
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OnVwZGF0ZVN1cHBvcnRlZENvbW1hbmRz
KGJvb2wgc3VwcG9ydHNTZWVraW5nKQoreworICAgIG1fbGlzdGVuZXItPnNldFN1cHBvcnRzU2Vl
a2luZyhzdXBwb3J0c1NlZWtpbmcpOworICAgIG1fbGlzdGVuZXItPnVwZGF0ZVN1cHBvcnRlZENv
bW1hbmRzKCk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2E2OGYxYmI2ZWRhNzNjMzBmYTAzYjY1MWFlZjNkZGYyNWRlNThlYwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJQcm94eS5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIk1lc3NhZ2VSZWNl
aXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIu
aCIKKyNpbmNsdWRlIDxXZWJDb3JlL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oPgorI2luY2x1ZGUg
PHd0Zi9VbmlxdWVSZWYuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOwor
fQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czsKKworY2xhc3MgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkKKyAgICA6IHByaXZh
dGUgV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50CisgICAgLCBwcml2YXRlIElQ
Qzo6TWVzc2FnZVJlY2VpdmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKKyAgICBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eShHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzJiwgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciYmKTsKKyAg
ICB2aXJ0dWFsIH5SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSgpOworCitwcml2YXRl
OgorICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKworICAgIC8vIFJlbW90
ZUNvbW1hbmRMaXN0ZW5lckNsaWVudAorICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5k
QXJndW1lbnQmKSBmaW5hbDsKKworICAgIC8vIE1lc3NhZ2VzCisgICAgdm9pZCB1cGRhdGVTdXBw
b3J0ZWRDb21tYW5kcyhib29sIHN1cHBvcnRzU2Vla2luZyk7CisKKyAgICBHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzJiBtX2dwdUNvbm5lY3Rpb247CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gbV9saXN0ZW5lcjsKK307CisKK30KKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzQwOTM0YzI0ZDE3MjBhN2FlOGNlZDY3Zjk4ZDMwNGUzYjQyYWNiYgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworbWVzc2FnZXMgLT4gUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVyUHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgVXBkYXRlU3VwcG9ydGVk
Q29tbWFuZHMoYm9vbCBzdXBwb3J0c1NlZWtpbmcpCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggYTM2MTc3ZWUwZTJiZWJhZGRiMTkyZDNi
MzdiNTRjM2IxNTNiMWI5YS4uODNiNzlhOTA1NTIzNTRmNGY0ZTBiNWRiNTVhYWFiYTM2Njg5NmM4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0zMTcsNiAr
MzE3LDcgQEAgZGVmIHR5cGVzX3RoYXRfY2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQoKToKICAg
ICAgICAgJ1dlYktpdDo6UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXInLAogICAgICAg
ICAnV2ViS2l0OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJL
aXQ6OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVuZGVyaW5nQmFj
a2VuZElkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmllcics
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dAppbmRleCA4NzU4NjJlOGQxN2VlMjRkYWQ0ZjdiMWVmZDA1ZDQ1ZGQxOTNmNDZi
Li5kOGQzYzllNGJlMDc1MTEyZWVlMzAwMDU5OTUxZjA0M2NmYWRhMzc3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQK
QEAgLTQ2LDYgKzQ2LDcgQEAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlLmNw
cAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTG9hZGVyLmNwcAogR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAKIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKK0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVUZXh0VHJhY2tQcm94eS5j
cHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9UcmFja1Byb3h5LmNwcApAQCAtNTk5LDYg
KzYwMCw3IEBAIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnkuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXIuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1JTUVUeXBl
Q2FjaGUuY3BwIEBuby11bmlmeQogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFSZXNv
dXJjZVByb3h5LmNwcAorV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1RleHRUcmFja1ByaXZhdGVSZW1vdGUuY3BwCiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9WaWRlb1RyYWNrUHJpdmF0ZVJlbW90ZS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGMxMDYxMzFh
OWIxNjlhNTQ3OTU2YzZhYTg5ZDBhZGQ0NzYwNTZmZTQuLmMwYTliMjU5ZjYwMTU4ZTIxMWU3Y2Fi
MTFjZGU0OWI0ZDljOTgyMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTg2MSw2ICsxODYxLDggQEAKIAkJQ0Q3OEUxMTUxREI3RDdF
RDAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENzhFMTEzMURCN0Q3RUQwMDE0QTJERSAvKiBGdWxsc2Ny
ZWVuQ2xpZW50LmggKi87IH07CiAJCUNENzhFMTE3MURCN0RDMEEwMDE0QTJERSAvKiBBUElGdWxs
c2NyZWVuQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDc4RTExNjFEQjdEQzBBMDAxNEEyREUgLyogQVBJRnVsbHNjcmVlbkNsaWVudC5oICov
OyB9OwogCQlDRDc4RTExOTFEQjdFNUFEMDAxNEEyREUgLyogX1dLRnVsbHNjcmVlbkRlbGVnYXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDc4RTEx
ODFEQjdFNUFEMDAxNEEyREUgLyogX1dLRnVsbHNjcmVlbkRlbGVnYXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0Q4MjUyREUyNUQ0OTE2QzAw
ODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODI1
MkRBMjVENDkxNTQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCUNEODI1MkUyMjVENDkxOTEwMDg2MkZEOCAvKiBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4MjUyRTAyNUQ0OTE4NDAwODYy
RkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CiAJCUNEQTA0MUY0MUFDRTIxMDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNlc1NQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBMDQxRjMx
QUNFMjEwNTAwNEExM0VDIC8qIEJhY2tCb2FyZFNlcnZpY2VzU1BJLmggKi87IH07CiAJCUNEQTI5
QTFCMUNCREJGNDEwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREEyOUExOTFDQkRCRjQxMDA5
MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oICovOyB9OwogCQlDREEyOUEyMDFDQkVC
NUZCMDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREEyOUExRTFDQkVCNUZCMDA5MDFD
Q0YgLyogUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmggKi87IH07CkBAIC01NTQ4LDYgKzU1
NTAsMTkgQEAKIAkJQ0Q3OEUxMTMxREI3RDdFRDAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5DbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnVsbHNjcmVlbkNsaWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDc4RTExNjFEQjdEQzBBMDAxNEEyREUgLyog
QVBJRnVsbHNjcmVlbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
UElGdWxsc2NyZWVuQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENzhF
MTE4MURCN0U1QUQwMDE0QTJERSAvKiBfV0tGdWxsc2NyZWVuRGVsZWdhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLRnVsbHNjcmVlbkRlbGVnYXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQxMjVENDY0QUIwMDg2MkZEOCAvKiBSZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQyMjVENDY0
QUIwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyRDMyNUQ0NjRCRjAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQ0MjVE
NDY1MTAwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyRDUyNUQ0NzYzMTAwODYyRkQ4IC8q
IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNEODI1MkQ2MjVENDc2MzEwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQ3MjVENDc2
NTkwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5p
biAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyRDgyNUQ0OTE1MzAwODYyRkQ4IC8qIFJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5
TWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQ5
MjVENDkxNTQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3Nh
Z2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lclByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0Q4MjUyREEyNUQ0OTE1NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyREYyNUQ0OTE4NDAwODYyRkQ4IC8q
IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyRTAyNUQ0OTE4NDAwODYyRkQ4IC8qIFJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJFMTI1RDQ5MTg1MDA4NjJGRDggLyogUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0RBMDQxRjMxQUNFMjEwNTAwNEExM0VDIC8qIEJhY2tCb2FyZFNlcnZpY2VzU1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhY2tCb2FyZFNlcnZpY2VzU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTI5QTE4MUNCREJGNDEwMDkwMUNDRiAv
KiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0RBMjlBMTkxQ0JEQkY0MTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1h
bmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxheWJhY2tTZXNzaW9u
TWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjAzMCw2ICs2MDQ1LDEw
IEBACiAJCQkJMUQzMkY4OUQyM0E4NEM1QjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VQ
cm94eS5jcHAgKi8sCiAJCQkJMUQzMkY4OUIyM0E4NEJBNjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlh
UmVzb3VyY2VQcm94eS5oICovLAogCQkJCTFERDJBNjQ2MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1v
dGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLywKKwkJCQlDRDgyNTJEMTI1RDQ2NEFCMDA4NjJG
RDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmggKi8sCisJCQkJQ0Q4MjUyRDIyNUQ0
NjRBQjAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAgKi8sCisJCQkJ
Q0Q4MjUyRDMyNUQ0NjRCRjAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5t
ZXNzYWdlcy5pbiAqLywKKwkJCQlDRDgyNTJENDI1RDQ2NTEwMDA4NjJGRDggLyogUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oICovLAogCQkJCTFERDJBNjNBMjU1REU2RDEw
MEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcCAqLywKIAkJCQkxREQyQTYz
OTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJ
CTFERDJBNjZGMjU2MjJGMTEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1l
c3NhZ2VzLmluICovLApAQCAtNjExMCw2ICs2MTI5LDkgQEAKIAkJCQkxREQyQTYzRjI1NUUzRjFG
MDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgKi8sCiAJCQkJMUREMkE2M0Uy
NTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuaCAqLywKIAkJCQkxREQy
QTY0QTI1NjBGNTRDMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5p
biAqLywKKwkJCQlDRDgyNTJENTI1RDQ3NjMxMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyUHJveHkuaCAqLywKKwkJCQlDRDgyNTJENjI1RDQ3NjMxMDA4NjJGRDggLyogUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwICovLAorCQkJCUNEODI1MkQ3MjVENDc2
NTkwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5p
biAqLywKIAkJCQkxREQyQTY2ODI1NjFGNjg0MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllci5oICovLAogCQkJCTFERDJBNjQzMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5jcHAgKi8sCiAJCQkJMUREMkE2NDIyNTVFM0YzRDAwRkY3QjZGIC8q
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi8sCkBAIC0xMDg4OCw2ICsxMDkxMCwxMiBAQAog
CQkJCTFERDJBNjYxMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVz
c2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJMUFDMTMzODMxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90
ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQUMxMzM4NDE4NTkw
QzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oICovLAorCQkJCUNE
ODI1MkUwMjVENDkxODQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCUNEODI1MkUxMjVENDkxODUwMDg2MkZEOCAvKiBSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlcy5oICovLAorCQkJCUNEODI1MkRGMjVENDkx
ODQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlc1JlcGxpZXMu
aCAqLywKKwkJCQlDRDgyNTJEQTI1RDQ5MTU0MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCUNEODI1MkQ5MjVENDkx
NTQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VzLmgg
Ki8sCisJCQkJQ0Q4MjUyRDgyNUQ0OTE1MzAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJMEY1OTQ3QTUxODdCNTE3NjAw
NDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKIAkJCQkwRjU5NDdBNjE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNZXNzYWdlcy5oICovLAogCQkJCTFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCkBAIC0xMzc2Niw2ICsx
Mzc5NCw3IEBACiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25p
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxNzY5MDE0MjJGREQ0
MUIwMEIxNTc2RCAvKiBOZXR3b3JrUlRDUHJvdmlkZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk1
MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkUgLyogTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNEODI1MkRFMjVENDkxNkMwMDg2MkZEOCAvKiBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkzMUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogTmV0d29ya1NvY2tldENo
YW5uZWxNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUMwQjE3NzgxRTdD
ODgwRTAwRTkxMjNDIC8qIE5ldHdvcmtTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3OTAyMTJCNkFENDAwRjQ5M0ZEIC8qIE5QSWRlbnRpZmll
ckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMzkwNyw2ICsxMzkzNiw3IEBACiAJCQkJMkQx
MUI3OEQyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2UzMS1tbS5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTJEMTFCNzhGMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlMzItbW0u
bW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjc5MDIxMjZBMjgzMDA2Rjg4NzggLyogVW5pZmll
ZFNvdXJjZTMyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNEODI1MkUyMjVENDkxOTEwMDg2MkZE
OCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMkQxMUI3OTEyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2Uz
My1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCNzkyMjEyNkEyODMwMDZGODg3OCAvKiBV
bmlmaWVkU291cmNlMzMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3OTQyMTI2QTI4MzAw
NkY4ODc4IC8qIFVuaWZpZWRTb3VyY2UzNC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5k
ZXggY2U0MDc5ODJiZThmN2U2N2IyZTlhY2QzZDNmNTE1NDhiOWJhNjNiOC4uNDQ3YTIxYTRkNTgx
OWFjOGZkY2VlZDFlODA4NzY5ODRhMzgzNzE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTE5MSw4ICsxOTEs
NyBAQCBib29sIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaXNwYXRjaFN5bmNNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOgogCiB2b2lkIEdQVVByb2Nlc3NDb25uZWN0aW9u
OjpkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlIHR5cGUsIE9wdGlvbmFsPGRvdWJsZT4gYXJndW1lbnQpCiB7Ci0gICAg
Y29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCB2YWx1ZSB7
IGFyZ3VtZW50ID8gKmFyZ3VtZW50IDogMCB9OwotICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjo6c2hhcmVkTWFuYWdlcigpLnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1h
bmQodHlwZSwgYXJndW1lbnQgPyAmdmFsdWUgOiBudWxscHRyKTsKKyAgICBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNv
bnRyb2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50KTsKIH0KIAogdm9pZCBHUFVQcm9jZXNzQ29ubmVj
dGlvbjo6dXBkYXRlUGFyYW1ldGVycyhjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY0YTgzOGY0MDc3OTFhZWQ1MTRhYzQyMDZlMzdjYzVmZGExMDg5YjcKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lci5jcHAKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCIKKworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eS5oIgorI2luY2x1ZGUgIlJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vz
cy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisK
K3N0ZDo6dW5pcXVlX3B0cjxSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI+IFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xp
ZW50LCBXZWJQcm9jZXNzJiB3ZWJQcm9jZXNzKQoreworICAgIHJldHVybiBtYWtlVW5pcXVlPFJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4oY2xpZW50LCB3ZWJQcm9jZXNzKTsKK30KKworUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIoUmVt
b3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQsIFdlYlByb2Nlc3MmIHdlYlByb2Nlc3Mp
CisgICAgOiBSZW1vdGVDb21tYW5kTGlzdGVuZXIoY2xpZW50KQorICAgICwgbV9wcm9jZXNzKHdl
YlByb2Nlc3MpCisgICAgLCBtX2lkZW50aWZpZXIoUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSkKK3sKKyAgICBhdXRvJiBjb25uZWN0aW9uID0gV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKKyAgICBjb25u
ZWN0aW9uLmFkZENsaWVudCgqdGhpcyk7CisgICAgY29ubmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJN
YXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgKnRo
aXMpOworICAgIGNvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihtX2lkZW50aWZp
ZXIpLCB7IH0pOworfQorCitSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6On5SZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXIoKQoreworICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpOworICAgIGNvbm5lY3Rp
b24ubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKCp0aGlzKTsKKyAg
ICBjb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpSZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKG1faWRlbnRpZmllciksIDAp
OworfQorCit2b2lkIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Z3B1UHJvY2Vzc0Nvbm5l
Y3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYpCit7Cit9CisKK3ZvaWQgUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBl
LCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1
bWVudCkKK3sKKyAgICBtX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQodHlw
ZSwgYXJndW1lbnQpOworfQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjlhNGZjZWY3YzZlMDRiYmY1ZWUxNTdkYTU1YTYzYWIwY2ZkYmQ3
YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSAi
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNp
bmNsdWRlICJSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmgiCisjaW5jbHVk
ZSA8V2ViQ29yZS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuaD4KKworbmFtZXNwYWNlIElQQyB7Citj
bGFzcyBDb25uZWN0aW9uOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb247CitjbGFzcyBXZWJQcm9jZXNzOworCitjbGFzcyBSZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXIgZmluYWwKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpSZW1vdGVDb21tYW5k
TGlzdGVuZXIKKyAgICAsIHByaXZhdGUgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkNsaWVudAorICAg
ICwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXI+IGNyZWF0ZShXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGll
bnQmLCBXZWJQcm9jZXNzJik7CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFdlYkNv
cmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYsIFdlYlByb2Nlc3MmKTsKKyAgICB+UmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKCk7CisKK3ByaXZhdGU6CisgICAgLy8gSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOworCisgICAgLy8gR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkNs
aWVudAorICAgIHZvaWQgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29u
bmVjdGlvbiYpIGZpbmFsOworCisgICAgLy8gTWVzc2FnZXMKKyAgICB2b2lkIGRpZFJlY2VpdmVS
ZW1vdGVDb250cm9sQ29tbWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UmVtb3RlQ29tbWFuZEFyZ3VtZW50Jik7CisKKyAgICBXZWJQcm9jZXNzJiBtX3Byb2Nlc3M7Cisg
ICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7Cit9
OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5t
ZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTVhMGUxOGI5YzY5NDkwZjMyZGFkMjNmY2JlOTczZWMx
N2VhYTFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwz
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKK21lc3NhZ2VzIC0+
IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciBOb3RSZWZDb3VudGVkIHsKKyAgICBEaWRSZWNl
aXZlUmVtb3RlQ29udHJvbENvbW1hbmQoZW51bTp1aW50OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgT3B0aW9uYWw8ZG91
YmxlPiBhcmd1bWVudCkKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVySWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzMTZmMjljNmY4NWYxMjQ5NjgyNjI4
N2RmMTE5MjU3NDA0ODNjOTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaApA
QCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworZW51bSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlm
aWVyVHlwZSB7IH07Cit1c2luZyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVy
ID0gT2JqZWN0SWRlbnRpZmllcjxSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVy
VHlwZT47CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhl
bHBlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVN
ZWRpYVNlc3Npb25IZWxwZXIuY3BwCmluZGV4IGNjNGM5ZGE5NDY3Yjc2ODQ4YWRiZjRhN2EyMWY2
Yzc3MGQ5ZWExNjMuLmQ2NzQxYmQ1M2QwZDhjMzIzNDBmODU3YjJlZWRjMzZiOGI1Njg3MjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1l
ZGlhU2Vzc2lvbkhlbHBlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLmNwcApAQCAtMTM5LDE0ICsxMzksMTQg
QEAgdm9pZCBSZW1vdGVNZWRpYVNlc3Npb25IZWxwZXI6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFu
Z2UoU3VwcG9ydHNBaXJQbGF5VmlkZW8gc3UKIHsKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1Rh
cmdldD4gdGFyZ2V0T2JqZWN0OwogICAgIGlmICh0YXJnZXRDb250ZXh0LnR5cGUoKSA9PSBNZWRp
YVBsYXliYWNrVGFyZ2V0Q29udGV4dDo6QVZPdXRwdXRDb250ZXh0VHlwZSkKLSAgICAgICAgdGFy
Z2V0T2JqZWN0ID0gV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldENvY29hOjpjcmVhdGUodGFy
Z2V0Q29udGV4dC5hdk91dHB1dENvbnRleHQoKSk7CisgICAgICAgIG1fcGxheWJhY2tUYXJnZXQg
PSBXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2E6OmNyZWF0ZSh0YXJnZXRDb250ZXh0
LmF2T3V0cHV0Q29udGV4dCgpKTsKICAgICBlbHNlIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6
IG1fY2xpZW50cykKLSAgICAgICAgY2xpZW50LmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2Uoc3Vw
cG9ydHNBaXJQbGF5VmlkZW8sIHRhcmdldE9iamVjdC5jb3B5UmVmKCkucmVsZWFzZU5vbk51bGwo
KSk7CisgICAgICAgIGNsaWVudC5hY3RpdmVWaWRlb1JvdXRlRGlkQ2hhbmdlKHN1cHBvcnRzQWly
UGxheVZpZGVvLCAqbV9wbGF5YmFja1RhcmdldCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBiNzI2NmNhOThhOGNiY2M1ODcyYjIwNzkwZjAxOTJl
MjNiNjhkOTBlLi44NmJhZGUyMTc1NDEzNmFkM2IzNjNmMjMxMThmMWFhYmQ2OWI2MjJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAj
aW5jbHVkZSAiUmVtb3RlQXVkaW9TZXNzaW9uLmgiCiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RN
RmFjdG9yeS5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnkuaCIKKyNpbmNsdWRlICJSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCIKICNpbmNsdWRl
ICJTcGVlY2hSZWNvZ25pdGlvblJlYWx0aW1lTWVkaWFTb3VyY2VNYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiU3RvcmFnZUFyZWFNYXAuaCIKICNpbmNsdWRlICJVc2VyRGF0YS5oIgpAQCAtMTIyLDYgKzEy
Myw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NXYXJtaW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZWdpc3RyYWJsZURvbWFpbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlQ29tbWFuZExpc3Rl
bmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaD4KQEAgLTE5NTgsNiArMTk2MCwxMSBAQCB2b2lk
IFdlYlByb2Nlc3M6OnNldFVzZUdQVVByb2Nlc3NGb3JNZWRpYShib29sIHVzZUdQVVByb2Nlc3NG
b3JNZWRpYSkKICAgICAgICAgV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUxpc3RlbmVyOjpzZXRDcmVh
dGlvbkZ1bmN0aW9uKFt0aGlzXSAoV2ViQ29yZTo6QXVkaW9IYXJkd2FyZUxpc3RlbmVyOjpDbGll
bnQmIGNsaWVudCkgeyByZXR1cm4gUmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyOjpjcmVhdGUo
Y2xpZW50LCAqdGhpcyk7IH0pOwogICAgIGVsc2UKICAgICAgICAgV2ViQ29yZTo6QXVkaW9IYXJk
d2FyZUxpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rpb24oKTsKKworICAgIGlmICh1c2VHUFVQ
cm9jZXNzRm9yTWVkaWEpCisgICAgICAgIFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6
c2V0Q3JlYXRpb25GdW5jdGlvbihbdGhpc10gKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5l
ckNsaWVudCYgY2xpZW50KSB7IHJldHVybiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNy
ZWF0ZShjbGllbnQsICp0aGlzKTsgfSk7CisgICAgZWxzZQorICAgICAgICBXZWJDb3JlOjpSZW1v
dGVDb21tYW5kTGlzdGVuZXI6OnJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOwogfQogCiBib29sIFdl
YlByb2Nlc3M6OnNob3VsZFVzZVJlbW90ZVJlbmRlcmluZ0ZvcihSZW5kZXJpbmdQdXJwb3NlIHB1
cnBvc2UpCg==
</data>
<flag name="commit-queue"
          id="438327"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419951</attachid>
            <date>2021-02-11 00:01:25 -0800</date>
            <delta_ts>2021-02-11 09:26:34 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-221732-20210211000124.patch</filename>
            <type>text/plain</type>
            <size>84632</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc5MjUxYzg0OWQzM2Yx
MTVlMzk2MzkwMzIyOTUxZDA4ZDliMmEwOS4uNDlhZmQzZDcyYzhlMmIwODQ5YmRkMDJkY2JiNzdk
YmM4NDM4YTJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIxLTAyLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV1bR1BVUF0gTW92
ZSBSZW1vdGVDb21tYW5kTGlzdGVuZXIgaW50byB0aGUgR1BVIFByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTczMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBSZWZhY3RvciBSZW1vdGVDb21tYW5k
TGlzdGVuZXIgdG8gYWxsb3cgaXRzIG1ldGhvZHMgdG8gd29yayBvdmVyIFhQQzoKKworICAgICAg
ICAtIFJhdGhlciB0aGFuIGhhdmluZyBhIHN5bmNocm9ub3VzIGNsaWVudCBtZXRob2QgdG8gcXVl
cnkgd2hldGhlciBzZWVraW5nIGlzCisgICAgICAgICAgc3VwcG9ydGVkLCByZXF1aXJlIGNsaWVu
dHMgdG8gc2V0IHNlZWthYmlsaXR5IGV4cGxpY2l0bHkuCisgICAgICAgIC0gQ2hhbmdlIHRoZSBS
ZW1vdGVDb21tYW5kQXJndW1lbnQgZnJvbSBhIHVuaW9uIHRvIGFuIE9wdGlvbmFsPGRvdWJsZT4u
CisgICAgICAgIC0gQWxsb3cgY2xpZW50cyB0byBxdWVyeSB0aGUgTWVkaWFQbGF5YmFja1Rhcmdl
dCB0aHJvdWdoIHRoZSBzZXNzaW9uIHJhdGhlcgorICAgICAgICAgIHRoYW4gd2FpdCBmb3IgYSBu
b3RpZmljYXRpb24gdGhhdCB0aGUgcGxheWJhY2sgdGFyZ2V0IGNoYW5nZWQuCisKKyAgICAgICAg
QWRkaXRpb25hbGx5LCBhZGQgYSBtaW5pLWZhY3RvcnkgZnVuY3Rpb25hbGl0eSB0byBSZW1vdGVD
b21tYW5kTGlzdGVuZXIgdG8gYWxsb3cKKyAgICAgICAgY2xpZW50cyB0byBzcGVjaWZ5IGEgZGlm
ZmVyZW50IHN1YmNsYXNzIHRvIGJlIGNyZWF0ZWQgYXQgcnVudGltZS4KKworICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2Vp
dmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZCk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6CisgICAgICAgICogcGxh
dGZvcm0vTm93UGxheWluZ01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm93UGxheWlu
Z01hbmFnZXI6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAgIChXZWJD
b3JlOjpOb3dQbGF5aW5nTWFuYWdlcjo6c2V0Tm93UGxheWluZ0luZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6Tm93UGxheWluZ01hbmFnZXI6OnN1cHBvcnRzU2Vla2luZyBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3Rl
Q29tbWFuZExpc3RlbmVyQ3JlYXRpb25GdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW1v
dGVDb21tYW5kTGlzdGVuZXI6OnNldENyZWF0aW9uRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVDb21tYW5kTGlzdGVuZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpzZXRTdXBwb3J0c1NlZWtpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVDb21tYW5kTGlzdGVuZXIpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjp1cGRhdGVT
dXBwb3J0ZWRDb21tYW5kcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21t
YW5kTGlzdGVuZXI6OmNsaWVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwcm9jZXNzRGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2E6OnNjaGVkdWxlU2Vzc2lvblN0YXR1c1VwZGF0ZSk6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJT1MubW06CisgICAgICAgIChNZWRpYVNl
c3Npb25IZWxwZXJpT1M6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UpOgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmg6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9T
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6dXBkYXRlU3Vw
cG9ydGVkQ29tbWFuZHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjp1cGRh
dGVTdXBwb3J0ZWRDb21tYW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpwb3N0UmVtb3Rl
Q29udHJvbENvbW1hbmQpOgorCiAyMDIxLTAyLTA1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIE1vdmUgQXVkaW9IYXJkd2FyZUxpc3RlbmVyIGludG8gdGhlIEdQ
VSBQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmZGJkMzk5ODAxMzRkZDMwNzAwMmRlODUwMGQxOTZmNDE2
MzQ1ZjUuLmM5MWQ0NDI5NjU3ZjdjZTlmZjkzNzYwYjQ0MjZjMGQyZmRhYjYwM2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDcgQEAKKzIwMjEtMDItMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0NvY29hXVtHUFVQXSBNb3ZlIFJlbW90ZUNvbW1hbmRMaXN0ZW5l
ciBpbnRvIHRoZSBHUFUgUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIxNzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29u
LgorCisgICAgICAgIEFkZCBhIG5ldyBSZW1vdGUvUHJveHkgY2xhc3MgcGFpciB0byBmYWNpbGl0
YXRlIFJlbW90ZUNvbW1hbmRMaXN0ZW5lciBiZWluZworICAgICAgICBjcmVhdGVkIGluIHRoZSBH
UFUgUHJvY2Vzcy4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpjcmVhdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKToKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAg
ICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1h
bmQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6
dXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVSZW1vdGVDb21tYW5kKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVh
dGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6flJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25E
aWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
SWRlbnRpZmllci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVN
ZWRpYVNlc3Npb25IZWxwZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Np
b25IZWxwZXI6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0VXNl
R1BVUHJvY2Vzc0Zvck1lZGlhKToKKwogMjAyMS0wMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lciBpbnRvIHRo
ZSBHUFUgUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgKaW5kZXggYTIzMjIwNjAzODg4YWI0YjlkZGEyOTY3ZDJmY2QxODIxYmFmYzk0Ny4u
ZjFjNGI1YmEzNjU3NDExNTNmM2ZkYTlmMWE5ZWI1NTE3MWE0NmMyZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0xMTUsNyArMTE1LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG1heVJlc3VtZVBsYXliYWNrKGJvb2wgc2hvdWxkUmVzdW1l
KSBvdmVycmlkZTsKICAgICB2b2lkIHN1c3BlbmRQbGF5YmFjaygpIG92ZXJyaWRlOwogICAgIGJv
b2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopIG92ZXJyaWRlIHsgfQorICAg
IHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb21tYW5kQXJndW1lbnQmKSBvdmVycmlkZSB7IH0KICAgICBib29sIHN1cHBvcnRzU2Vl
a2luZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBzaG91bGRP
dmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpJbnRlcnJ1cHRpb25UeXBlKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAg
IGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYjdjZjEyZjQzZjgyZjgz
MzI4N2Y4NzQ2YjI2MjhhYjJiNWRlYmQwZi4uYzhhZTJkNjZiMWU5OWMxY2VlMTQ4N2Q1ZjAwOGVi
MWY2ODA1NzVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC03NTE1LDcgKzc1MTUsNyBAQCBNZWRpYVNlc3Npb25JZGVudGlmaWVyIEhUTUxNZWRpYUVsZW1l
bnQ6Om1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZpZXIoKSBjb25zdAogICAgIHJldHVybiBtX21l
ZGlhU2Vzc2lvbi0+bWVkaWFTZXNzaW9uSWRlbnRpZmllcigpOwogfQogCi12b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqIGFyZ3VtZW50KQordm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKIHsKICAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsIGNvbW1hbmQpOwogCkBAIC03NTQ0LDE4ICs3NTQ0LDE4IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlNraXBGb3J3YXJkQ29tbWFuZDoKICAgICAgICAgaWYgKGFyZ3VtZW50
KQotICAgICAgICAgICAgb2Zmc2V0ID0gYXJndW1lbnQtPmFzRG91YmxlOworICAgICAgICAgICAg
b2Zmc2V0ID0gKmFyZ3VtZW50OwogICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9u
KG9mZnNldCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246
OlNraXBCYWNrd2FyZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAgICAgICAg
IG9mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgICAgIG9mZnNldCA9ICphcmd1
bWVudDsKICAgICAgICAgaGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbigwIC0gb2Zmc2V0KTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxh
eWJhY2tQb3NpdGlvbkNvbW1hbmQ6CiAgICAgICAgIEFTU0VSVChhcmd1bWVudCk7CiAgICAgICAg
IGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24o
YXJndW1lbnQtPmFzRG91YmxlKTsKKyAgICAgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9z
aXRpb24oKmFyZ3VtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
eyB9IC8vIERvIG5vdGhpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5k
ZXggYTcwMjNhMzU5ZjlmNjlkYWFiYzE1MWEzMWU0NmI1M2I2ZWE2MTZiOC4uY2NjYmI4MzFlM2Ey
NmE4YzE5Y2JjNzRkN2UxZmM4N2RlNWExYmE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKQEAgLTg2Myw3ICs4NjMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVzdW1l
QXV0b3BsYXlpbmcoKSBvdmVycmlkZTsKICAgICB2b2lkIG1heVJlc3VtZVBsYXliYWNrKGJvb2wg
c2hvdWxkUmVzdW1lKSBvdmVycmlkZTsKICAgICBib29sIGNhblJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Ci0gICAgdm9pZCBkaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1h
bmRBcmd1bWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNv
bnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKSBvdmVycmlk
ZTsKICAgICBib29sIHNob3VsZE92ZXJyaWRlQmFja2dyb3VuZFBsYXliYWNrUmVzdHJpY3Rpb24o
UGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVCYWNrZ3JvdW5kTG9hZGluZ1Jlc3RyaWN0aW9uKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDgzOTZmZjZm
NDYzMjgyOGU2MDM5YTVkM2Y0OWQ2ODNiMTE5MTdiMjUuLmY1OGNkY2Q4YTg1NjRjMTA3NTQxMTFk
YTljZjdkZjMzOTc5MTI4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcApAQCAtMTAyNiw3ICsxMDI2LDcgQEAgYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjphbGxvd3NQbGF5YmFja0NvbnRyb2xzRm9yQXV0b3BsYXlpbmdBdWRpbygpIGNvbnN0CiB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKLXZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21t
YW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBhcmd1bWVudCkKK3ZvaWQgTWVk
aWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSBjb21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50
JiBhcmd1bWVudCkKIHsKICAgICBhdXRvKiB3aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5k
b21XaW5kb3coKTsKICAgICBhdXRvKiBzZXNzaW9uID0gd2luZG93ID8gJk5hdmlnYXRvck1lZGlh
U2Vzc2lvbjo6bWVkaWFTZXNzaW9uKHdpbmRvdy0+bmF2aWdhdG9yKCkpIDogbnVsbHB0cjsKQEAg
LTEwNTYsMTYgKzEwNTYsMTYgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXAKICAgICAgICAgaWYg
KCFhcmd1bWVudCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgYWN0aW9uRGV0YWlscy5h
Y3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWt0bzsKLSAgICAgICAgYWN0aW9uRGV0YWls
cy5zZWVrVGltZSA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgYWN0aW9uRGV0YWlscy5z
ZWVrVGltZSA9ICphcmd1bWVudDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTa2lwRm9yd2Fy
ZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGFjdGlvbkRldGFp
bHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgICAgIGFjdGlvbkRl
dGFpbHMuc2Vla09mZnNldCA9ICphcmd1bWVudDsKICAgICAgICAgYWN0aW9uRGV0YWlscy5hY3Rp
b24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtmb3J3YXJkOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFNraXBCYWNrd2FyZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAg
ICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAg
ICAgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9ICphcmd1bWVudDsKICAgICAgICAg
YWN0aW9uRGV0YWlscy5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtiYWNrd2FyZDsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBOZXh0VHJhY2tDb21tYW5kOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCAwNzU3OTBiNTRkYWJiODVkMTljYzg5
M2ViMDFlOTUyNTk2ZTYwMjJkLi43Y2JmN2EzMzE0MWM0MjUyMjE4NGYwMDE2MzhhYWE3Y2RjMGVl
NmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtMTc1
LDcgKzE3NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04p
Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQqID0gbnVsbHB0cikgZmluYWw7
CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQmID0gV1RGOjpudWxsb3B0KSBm
aW5hbDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTm93UGxheWluZ01hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93
UGxheWluZ01hbmFnZXIuY3BwCmluZGV4IDVkM2RjOTNlZTc2OWQ5OTk0YzZlYWY3MDU0YTJjZTkz
NmFiZTU0NjYuLjBiZGY0MDRkMTllODY3MTYzMzdjN2Q3ZTRmOTdjODQxOTQ5ZTJkNzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5jcHAKQEAgLTM1LDIy
ICszNSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBOb3dQbGF5aW5nTWFuYWdlcjo6Tm93UGxh
eWluZ01hbmFnZXIoKSA9IGRlZmF1bHQ7CiBOb3dQbGF5aW5nTWFuYWdlcjo6fk5vd1BsYXlpbmdN
YW5hZ2VyKCkgPSBkZWZhdWx0OwogCi12b2lkIE5vd1BsYXlpbmdNYW5hZ2VyOjpkaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSB0eXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFu
ZEFyZ3VtZW50KiBhcmd1bWVudCkKK3ZvaWQgTm93UGxheWluZ01hbmFnZXI6OmRpZFJlY2VpdmVS
ZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlIHR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5k
QXJndW1lbnQmIGFyZ3VtZW50KQogewogICAgIEFTU0VSVChtX25vd1BsYXlpbmdJbmZvKTsKIAot
ICAgIGlmICghbV9jbGllbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIE9wdGlvbmFsPGRvdWJs
ZT4gdmFsdWU7Ci0gICAgaWYgKGFyZ3VtZW50KQotICAgICAgICB2YWx1ZSA9IGFyZ3VtZW50LT5h
c0RvdWJsZTsKLSAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5
cGUsIHZhbHVlKTsKLX0KLQotYm9vbCBOb3dQbGF5aW5nTWFuYWdlcjo6c3VwcG9ydHNTZWVraW5n
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ub3dQbGF5aW5nSW5mbyAmJiBtX25vd1BsYXlpbmdJ
bmZvLT5zdXBwb3J0c1NlZWtpbmc7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVu
dC0+ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50KTsKIH0KIAog
dm9pZCBOb3dQbGF5aW5nTWFuYWdlcjo6Y2xlYXJOb3dQbGF5aW5nSW5mb0NsaWVudChDbGllbnQm
IGNsaWVudCkKQEAgLTcyLDYgKzYyLDcgQEAgdm9pZCBOb3dQbGF5aW5nTWFuYWdlcjo6c2V0Tm93
UGxheWluZ0luZm8oQ2xpZW50JiBjbGllbnQsIE5vd1BsYXlpbmdJbmZvJiYgbm93UGwKICAgICBp
ZiAoIW1fcmVtb3RlQ29tbWFuZExpc3RlbmVyKQogICAgICAgICBtX3JlbW90ZUNvbW1hbmRMaXN0
ZW5lciA9IFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKCp0aGlzKTsKIAorICAgIG1fcmVt
b3RlQ29tbWFuZExpc3RlbmVyLT5zZXRTdXBwb3J0c1NlZWtpbmcobm93UGxheWluZ0luZm8uc3Vw
cG9ydHNTZWVraW5nKTsKICAgICBtX2NsaWVudCA9IG1ha2VXZWFrUHRyKGNsaWVudCk7CiAgICAg
bV9ub3dQbGF5aW5nSW5mbyA9IFdURk1vdmUobm93UGxheWluZ0luZm8pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaAppbmRleCA3YzlkNWZmMDFhOWJmYmQx
YjhlMTY0MGM5MWExZTdkOGM0YWEyN2EyLi4xYjY3OGM4MjA2ZjVkMGFmOWQ3Zjc3ODRhMmVjOTQz
YWJmYTAwMTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5n
TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2Vy
LmgKQEAgLTQwLDggKzQwLDcgQEAgcHVibGljOgogICAgIE5vd1BsYXlpbmdNYW5hZ2VyKCk7CiAg
ICAgfk5vd1BsYXlpbmdNYW5hZ2VyKCk7CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBl
LCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KikgZmlu
YWw7Ci0gICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29t
bWFuZEFyZ3VtZW50JikgZmluYWw7CiAKICAgICBjbGFzcyBDbGllbnQgOiBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8Q2xpZW50PiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAKaW5kZXggNWIyYTkxZjJjNWI0ODBmZmY1
Y2Q4NDIyOTYzMTIyNTg0ODUxNWNmZi4uMDJiNWU3ZGEzMDE2NTRlNzIzMTVhNjY3MzI5ZDBkMTM0
MDYyYTNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFu
ZExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5k
TGlzdGVuZXIuY3BwCkBAIC0yNiwxNiArMjYsNTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCIKIAorI2lmIFBMQVRGT1JNKE1BQykKKyNp
bmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMuaCIKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyNpbmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaCIKKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpCitzdGF0
aWMgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpDcmVhdGlvbkZ1bmN0aW9uJiByZW1vdGVDb21tYW5k
TGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpDcmVhdGlvbkZ1bmN0aW9uPiBjcmVhdGlvbkZ1bmN0aW9u
OworICAgIHJldHVybiBjcmVhdGlvbkZ1bmN0aW9uOworfQogCi1zdGQ6OnVuaXF1ZV9wdHI8UmVt
b3RlQ29tbWFuZExpc3RlbmVyPiBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShSZW1vdGVD
b21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkKK3ZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpzZXRDcmVhdGlvbkZ1bmN0aW9uKENyZWF0aW9uRnVuY3Rpb24mJiBmdW5jdGlvbikKIHsKLSAg
ICByZXR1cm4gbWFrZVVuaXF1ZTxSZW1vdGVDb21tYW5kTGlzdGVuZXI+KGNsaWVudCk7CisgICAg
cmVtb3RlQ29tbWFuZExpc3RlbmVyQ3JlYXRpb25GdW5jdGlvbigpID0gV1RGTW92ZShmdW5jdGlv
bik7CiB9CiAKK3ZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rp
b24oKQoreworICAgIHJlbW90ZUNvbW1hbmRMaXN0ZW5lckNyZWF0aW9uRnVuY3Rpb24oKSA9IFtd
IChSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkgeworI2lmIFBMQVRGT1JNKE1B
QykKKyAgICAgICAgcmV0dXJuIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6Y3JlYXRlKGNsaWVu
dCk7CisjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAgICByZXR1cm4gUmVtb3RlQ29t
bWFuZExpc3RlbmVySU9TOjpjcmVhdGUoY2xpZW50KTsKKyNlbHNlCisgICAgICAgIHJldHVybiBS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShjbGllbnQpOwogI2VuZGlmCisgICAgfTsKK30K
Kworc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVtb3RlQ29tbWFuZExp
c3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCit7Cisg
ICAgaWYgKCFyZW1vdGVDb21tYW5kTGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKCkpCisgICAgICAg
IHJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOworICAgIHJldHVybiByZW1vdGVDb21tYW5kTGlzdGVu
ZXJDcmVhdGlvbkZ1bmN0aW9uKCkoY2xpZW50KTsKK30KKworUmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpSZW1vdGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGll
bnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCit7Cit9CisKK1JlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6flJlbW90ZUNvbW1hbmRMaXN0ZW5lcigpID0gZGVmYXVsdDsKKwogCiB2b2lkIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6c2NoZWR1bGVTdXBwb3J0ZWRDb21tYW5kc1VwZGF0ZSgpCiB7CkBAIC00
Niw2ICs4NCwxNSBAQCB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6c2NoZWR1bGVTdXBwb3J0
ZWRDb21tYW5kc1VwZGF0ZSgpCiAgICAgfQogfQogCit2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6c2V0U3VwcG9ydHNTZWVraW5nKGJvb2wgc3VwcG9ydHMpCit7CisgICAgaWYgKG1fc3VwcG9y
dHNTZWVraW5nID09IHN1cHBvcnRzKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3N1cHBvcnRz
U2Vla2luZyA9IHN1cHBvcnRzOworICAgIHNjaGVkdWxlU3VwcG9ydGVkQ29tbWFuZHNVcGRhdGUo
KTsKK30KKwogdm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmFkZFN1cHBvcnRlZENvbW1hbmQo
UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kKQog
ewogICAgIG1fcmVnaXN0ZXJlZENvbW1hbmRzLmFkZChjb21tYW5kKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgKaW5kZXggNjdhY2JhYTg2NGQx
MTZiZjAyMzExYjE0MzQ4ODAzNGJhMDZjOTZiZi4uOGFmNjVhZDIyNzVjYjcxZDM5NDk2MmFiZjcz
YmU4NjI0OGJmOTk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3Rl
Q29tbWFuZExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29t
bWFuZExpc3RlbmVyLmgKQEAgLTM1LDIxICszNSwyNSBAQCBjbGFzcyBSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCgpID0gZGVmYXVsdDsKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHN1cHBv
cnRzU2Vla2luZygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQm
KSA9IDA7CiB9OwogCi1jbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXIgeworY2xhc3MgV0VCQ09S
RV9FWFBPUlQgUmVtb3RlQ29tbWFuZExpc3RlbmVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gY3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVu
dCYpOwotICAgIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGll
bnQmIGNsaWVudCkgOiBtX2NsaWVudChjbGllbnQpIHsgfQotICAgIHZpcnR1YWwgflJlbW90ZUNv
bW1hbmRMaXN0ZW5lcigpID0gZGVmYXVsdDsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJl
bW90ZUNvbW1hbmRMaXN0ZW5lcj4gY3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYp
OworICAgIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQm
KTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVDb21tYW5kTGlzdGVuZXIoKTsKKworICAgIHVzaW5nIENy
ZWF0aW9uRnVuY3Rpb24gPSBGdW5jdGlvbjxzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExp
c3RlbmVyPihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmKT47CisgICAgc3RhdGljIHZvaWQg
c2V0Q3JlYXRpb25GdW5jdGlvbihDcmVhdGlvbkZ1bmN0aW9uJiYpOworICAgIHN0YXRpYyB2b2lk
IHJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOwogCiAgICAgdm9pZCBhZGRTdXBwb3J0ZWRDb21tYW5k
KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpOwogICAgIHZv
aWQgcmVtb3ZlU3VwcG9ydGVkQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoKSB7IH0KICAgICB2b2lkIHNjaGVkdWxlU3VwcG9ydGVkQ29tbWFuZHNVcGRhdGUoKTsKKyAg
ICB2b2lkIHNldFN1cHBvcnRzU2Vla2luZyhib29sKTsKIAogICAgIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIApAQCAtNTgs
NiArNjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB1c2luZyBSZW1vdGVDb21tYW5kc1NldCA9IEhh
c2hTZXQ8UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgV1RG
OjpJbnRIYXNoPFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU+
LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRzPFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGU+PjsKICAgICBSZW1vdGVDb21tYW5kc1NldCBtX3JlZ2lzdGVyZWRD
b21tYW5kczsKKyAgICBib29sIG1fc3VwcG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKIAogICAgIERl
ZmVycmFibGVUYXNrPFRpbWVyPiBtX3VwZGF0ZUNvbW1hbmRzVGFzazsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAK
aW5kZXggNDM3YzZkMGE1MTY2NDU5MGE0NjliYWQxYmI1ODIyYzE5ODJlMTk0ZC4uNjI3YTFlMGY1
NGJjZWNlMGUyMGI2N2IwNWExOTgzOGU5NzhmZDkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtMjkxLDcg
KzI5MSw3IEBAIGJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb246OmNhblJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZHMoKSBjb25zdAogICAgIHJldHVybiBtX2NsaWVudC5jYW5SZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmRzKCk7CiB9CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFu
ZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJn
dW1lbnQpCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQogewogICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUiwgY29tbWFuZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCmluZGV4IGQ5NTJmYTk1
YjNmMjczNzBlNjBiNGM2OTEyZTk1MWE1ZDY4ZDBkYjEuLmIxMzMwM2M2MDU1ZWY2YTI1MTM3OTEw
ZmFmZmUzMjE5OGYyOTkyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaApAQCAtMTE0LDEwICsxMTQsOCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEJ1ZmZlcmluZygpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCByZXN1bWVCdWZmZXJpbmcoKSB7IH0KLSAgICAKLSAgICB0eXBlZGVmIHVuaW9uIHsKLSAg
ICAgICAgZG91YmxlIGFzRG91YmxlOwotICAgIH0gUmVtb3RlQ29tbWFuZEFyZ3VtZW50OworCisg
ICAgdXNpbmcgUmVtb3RlQ29tbWFuZEFyZ3VtZW50ID0gT3B0aW9uYWw8ZG91YmxlPjsKIAogICAg
IGVudW0gUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIDogdWludDhfdCB7CiAgICAgICAgIE5vQ29t
bWFuZCwKQEAgLTEzNiw3ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFByZXZpb3VzVHJhY2tD
b21tYW5kLAogICAgIH07CiAgICAgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRz
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCog
PSBudWxscHRyKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50
JiA9IFdURjo6bnVsbG9wdCk7CiAgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdDsKIAog
ICAgIGVudW0gRGlzcGxheVR5cGUgOiB1aW50OF90IHsKQEAgLTIzOSw3ICsyMzcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRQbGF5YmFjaygpID0gMDsKIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRzKCkgY29uc3QgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21t
YW5kQXJndW1lbnQmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2Vla2luZygpIGNv
bnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXggZjdmZDU3MzdlYzg4
MmQ5Yjk2Njk0ZDJjYWExMzgyZWQ0OGEzOWRkMy4uM2ZmYzYyOGVjMjA1ZGQ4NDU4ZDgwNDQ1YmI0
OWU1ODBjOGFiYjYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC00MzAsNyArNDMw
LDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25DYW5Qcm9kdWNl
QXVkaW9DaGFuZ2VkKCkKICAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAotdm9pZCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21t
YW5kLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBh
cmd1bWVudCkKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwcm9jZXNzRGlkUmVj
ZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCiB7CiAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb24q
IGFjdGl2ZVNlc3Npb24gPSBjdXJyZW50U2Vzc2lvbigpOwogICAgIGlmICghYWN0aXZlU2Vzc2lv
biB8fCAhYWN0aXZlU2Vzc2lvbi0+Y2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCAyM2RkOTljNmRlZjJmZjRkYWVmODdhMDUwOThiNzc1
YTgwN2RjYTEzLi4yYmMzYzJmMjQ3NDhlMTE5Y2EzZmRmMzcxOTgxOTIzOWM3Mzg5ZmM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJlbW92ZUF1ZGlvQ2FwdHVyZVNvdXJjZShQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6QXVkaW9DYXB0dXJlU291cmNlJik7CiAgICAgYm9vbCBoYXNBdWRpb0NhcHR1cmVTb3Vy
Y2UoUGxhdGZvcm1NZWRpYVNlc3Npb246OkF1ZGlvQ2FwdHVyZVNvdXJjZSYgc291cmNlKSBjb25z
dCB7IHJldHVybiBtX2F1ZGlvQ2FwdHVyZVNvdXJjZXMuY29udGFpbnMoc291cmNlKTsgfQogCi0g
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0
IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpOwogCiAgICAgYm9vbCBpc0lu
dGVycnVwdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcnJ1cHRlZDsgfQogICAgIGJvb2wgaGFz
Tm9TZXNzaW9uKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCmluZGV4IGQ5ZTM3
YWE4MzdkNjU4YTk3MmU2YmI0MzI2NmM2Y2RkNjBkZmE5NzkuLjIzNzllZWM0ZTUyNjVmYjBhMWI5
ODUyNjVhMWRhZWYyNmE1NDQ5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCkBAIC05
Myw4ICs5Myw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIC8vIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudAotICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgY29uc3QgUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJndW1lbnQpIGZpbmFs
IHsgcHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBlLCBhcmd1bWVudCk7
IH0KLSAgICBib29sIHN1cHBvcnRzU2Vla2luZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGNvbXB1
dGVTdXBwb3J0c1NlZWtpbmcoKTsgfQorICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlw
ZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJn
dW1lbnQpIGZpbmFsIHsgcHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBl
LCBhcmd1bWVudCk7IH0KIAogICAgIC8vIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lckNsaWVudAogICAg
IHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdl
ckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNz
aW9uTWFuYWdlckNvY29hLm1tCmluZGV4IGQzNGZjOTBkN2FhOGI2NDA4MDc5YTMxNDg4YWIwMmY4
MGI3ZjI4OTYuLjNkYTNlODk0MWFiZDQ2YzBhOTY3MjA2MjFiZjAyYjQ4NzRlZWYzZGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1h
bmFnZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9N
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KQEAgLTE1Myw4ICsxNTMsMTAgQEAgdm9pZCBNZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2E6OnByZXBhcmVUb1NlbmRVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdCgpCiB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6c2NoZWR1bGVTZXNzaW9uU3Rh
dHVzVXBkYXRlKCkKIHsKICAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpc10gKCkgbXV0
YWJsZSB7Ci0gICAgICAgIGlmIChtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lcikKKyAgICAgICAgaWYg
KG1fcmVtb3RlQ29tbWFuZExpc3RlbmVyKSB7CisgICAgICAgICAgICBtX3JlbW90ZUNvbW1hbmRM
aXN0ZW5lci0+c2V0U3VwcG9ydHNTZWVraW5nKGNvbXB1dGVTdXBwb3J0c1NlZWtpbmcoKSk7CiAg
ICAgICAgICAgICBtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lci0+dXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoKTsKKyAgICAgICAgfQogCiAgICAgICAgIHVwZGF0ZU5vd1BsYXlpbmdJbmZvKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25I
ZWxwZXJJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Np
b25IZWxwZXJJT1MuaAppbmRleCBiMTJjY2Q3NDVjNjAxMjU2MTNhOGM2NTUyNzE0NTY2OGI4ZWFl
ZTEzLi4xMDg3ODQ2MmJkMDExYjA4NGQxYmRhMGE4MzkxODQ3ZjhmYTU4ZGRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9T
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhl
bHBlcklPUy5oCkBAIC03OSwxMiArNzksMTUgQEAgcHVibGljOgogICAgIGJvb2wgYWN0aXZlVmlk
ZW9Sb3V0ZVN1cHBvcnRzQWlyUGxheVZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVWaWRl
b1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW87IH0KICAgICBib29sIGlzUGxheWluZ1RvQXV0b21v
dGl2ZUhlYWRVbml0KCkgY29uc3QgeyByZXR1cm4gbV9pc1BsYXlpbmdUb0F1dG9tb3RpdmVIZWFk
VW5pdDsgfQogCisgICAgTWVkaWFQbGF5YmFja1RhcmdldCogcGxheWJhY2tUYXJnZXQoKSBjb25z
dCB7IHJldHVybiBtX3BsYXliYWNrVGFyZ2V0LmdldCgpOyB9CisKIHByb3RlY3RlZDoKICAgICBX
ZWFrSGFzaFNldDxNZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ+IG1fY2xpZW50czsKICAgICB1aW50
MzJfdCBtX21vbml0b3JpbmdXaXJlbGVzc1JvdXRlc0NvdW50IHsgMCB9OwogICAgIGJvb2wgbV9p
c0V4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWN0
aXZlVmlkZW9Sb3V0ZVN1cHBvcnRzQWlyUGxheVZpZGVvIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aXNQbGF5aW5nVG9BdXRvbW90aXZlSGVhZFVuaXQgeyBmYWxzZSB9OworICAgIFJlZlB0cjxNZWRp
YVBsYXliYWNrVGFyZ2V0PiBtX3BsYXliYWNrVGFyZ2V0OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJ
T1MubW0KaW5kZXggZDgwZGJjODIzNzk5OTRhMmJjMDhhYmY2MDUyYmZjMTEwMzk4NGE4MC4uMjI0
N2YyNjRmYTg0ODI3ZmY0NGFmYjkxZDZhYTNjMTgxOWViNDM5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9T
Lm1tCkBAIC0yODgsMTAgKzI4OCwxMCBAQCB2b2lkIE1lZGlhU2Vzc2lvbkhlbHBlcmlPUzo6YWN0
aXZlQXVkaW9Sb3V0ZURpZENoYW5nZShib29sIHNob3VsZFBhdXNlKQogCiB2b2lkIE1lZGlhU2Vz
c2lvbkhlbHBlcmlPUzo6YWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZSgpCiB7Ci0gICAgYXV0byBw
bGF5YmFja1RhcmdldCA9IE1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKCk7Ci0gICAg
bV9hY3RpdmVWaWRlb1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBwbGF5YmFja1RhcmdldC0+
c3VwcG9ydHNSZW1vdGVWaWRlb1BsYXliYWNrKCk7CisgICAgbV9wbGF5YmFja1RhcmdldCA9IE1l
ZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKCk7CisgICAgbV9hY3RpdmVWaWRlb1JvdXRl
U3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBtX3BsYXliYWNrVGFyZ2V0LT5zdXBwb3J0c1JlbW90ZVZp
ZGVvUGxheWJhY2soKTsKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fY2xpZW50cykKLSAgICAg
ICAgY2xpZW50LmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UobV9hY3RpdmVWaWRlb1JvdXRlU3Vw
cG9ydHNBaXJQbGF5VmlkZW8gPyBTdXBwb3J0c0FpclBsYXlWaWRlbzo6WWVzIDogU3VwcG9ydHNB
aXJQbGF5VmlkZW86Ok5vLCBwbGF5YmFja1RhcmdldC5jb3B5UmVmKCkpOworICAgICAgICBjbGll
bnQuYWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZShtX2FjdGl2ZVZpZGVvUm91dGVTdXBwb3J0c0Fp
clBsYXlWaWRlbyA/IFN1cHBvcnRzQWlyUGxheVZpZGVvOjpZZXMgOiBTdXBwb3J0c0FpclBsYXlW
aWRlbzo6Tm8sICptX3BsYXliYWNrVGFyZ2V0KTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2Vy
SU9TLm1tCmluZGV4IDVjZTY0M2U5YjFmMDk1MzFiMjc1MDE3ODk0YTQyNTdlOTU0ZmNjMmMuLjMx
Njk2NWEyNjU0YjM2MjQwMGZhYTQyNDU0MWE4MTA4MTgwZTYwNjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2Vy
SU9TLm1tCkBAIC0xNDIsMTUgKzE0MiwxMSBAQCBib29sIE1lZGlhU2Vzc2lvbk1hbmFnZXJpT1M6
OnNlc3Npb25XaWxsQmVnaW5QbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgc2VzcwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBM
QVRGT1JNKFdBVENIT1MpCi0gICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0KSB7Ci0gICAgICAgIG1f
cGxheWJhY2tUYXJnZXQgPSBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2E6OmNyZWF0ZSgpOwotICAg
ICAgICBtX3BsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBtX3BsYXliYWNrVGFy
Z2V0LT5zdXBwb3J0c1JlbW90ZVZpZGVvUGxheWJhY2soKTsKLSAgICB9Ci0KLSAgICBBTFdBWVNf
TE9HKExPR0lERU5USUZJRVIsICJQbGF5YmFjayBUYXJnZXQgU3VwcG9ydHMgQWlyUGxheSBWaWRl
byA9ICIsIG1fcGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbyk7Ci0gICAgaWYgKG1f
cGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbykKLSAgICAgICAgc2Vzc2lvbi5zZXRQ
bGF5YmFja1RhcmdldCgqbV9wbGF5YmFja1RhcmdldC5jb3B5UmVmKCkpOwotICAgIHNlc3Npb24u
c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQobV9wbGF5YmFja1RhcmdldFN1cHBvcnRzQWly
UGxheVZpZGVvKTsKKyAgICBhdXRvIHBsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8g
PSBNZWRpYVNlc3Npb25IZWxwZXI6OnNoYXJlZEhlbHBlcigpLmFjdGl2ZVZpZGVvUm91dGVTdXBw
b3J0c0FpclBsYXlWaWRlbygpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIlBsYXli
YWNrIFRhcmdldCBTdXBwb3J0cyBBaXJQbGF5IFZpZGVvID0gIiwgcGxheWJhY2tUYXJnZXRTdXBw
b3J0c0FpclBsYXlWaWRlbyk7CisgICAgaWYgKGF1dG8gdGFyZ2V0ID0gTWVkaWFTZXNzaW9uSGVs
cGVyOjpzaGFyZWRIZWxwZXIoKS5wbGF5YmFja1RhcmdldCgpOyB0YXJnZXQgJiYgcGxheWJhY2tU
YXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbykKKyAgICAgICAgc2Vzc2lvbi5zZXRQbGF5YmFja1Rh
cmdldCgqdGFyZ2V0KTsKKyAgICBzZXNzaW9uLnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0
KHBsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8pOwogI2VuZGlmCiAKICAgICBwcm92
aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElESWZOZWNlc3NhcnkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaAppbmRl
eCA3MzllODBkNzM4M2ZhMTliNjUwNDUyY2M2OWJkNWFkNTAzZDA5NzNjLi5mOGQ1NjU4MDU5ZjVh
MTBkZTQwYmU1OTI0Njc0NzYzNjIyN2Y5ZjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oCkBAIC0zMyw2ICszMyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9T
IGZpbmFsIDogcHVibGljIFJlbW90ZUNvbW1hbmRMaXN0ZW5lciwgcHVibGljIENhbk1ha2VXZWFr
UHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUz4gewogcHVibGljOgorICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TPiBjcmVhdGUoUmVtb3RlQ29tbWFu
ZExpc3RlbmVyQ2xpZW50Jik7CiAgICAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNv
bW1hbmRMaXN0ZW5lckNsaWVudCYpOwogICAgIHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklPUygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3Rl
Q29tbWFuZExpc3RlbmVySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQppbmRleCAzY2FiNWU0NDRlMGRlODZlOTM5MDE0YmNjYmE1
ZmZlNzE4NTA4OTk5Li5hMzM0MzVhYWIxYzJkZDU5OTRhMGFiMmRjNDRlOGNmNzFkMWZkYzc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3Rl
bmVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1MubW0KQEAgLTQwLDcgKzQwLDcgQEAgU09GVF9MSU5LX0NMQVNTKE1lZGlhUGxh
eWVyLCBNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnQpCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVtb3Rl
Q29tbWFuZExpc3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGll
bnQpCitzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TPiBSZW1vdGVDb21t
YW5kTGlzdGVuZXJJT1M6OmNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVu
dCkKIHsKICAgICBpZiAoIU1lZGlhUGxheWVyTGlicmFyeSgpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKQEAgLTU4LDcgKzU4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBj
YWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykK
ICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQu
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQYXVz
ZUNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGF1c2VDb21t
YW5kLCBXVEY6Om51bGxvcHQpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1v
dGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC02OCw3ICs2OCw3IEBAIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNvbW1hbmRM
aXN0ZW5lckNsaWVudCYKICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXNdIHsKICAg
ICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAg
d2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwog
CiAgICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAg
LTc4LDcgKzc4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWlu
VGhyZWFkKFt3ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpUb2dnbGVQbGF5UGF1
c2VDb21tYW5kLCBudWxscHRyKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlRvZ2dsZVBs
YXlQYXVzZUNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIHJl
dHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAgLTkzLDcgKzkzLDcg
QEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVt
b3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFr
VGhpcywgY29tbWFuZF0gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJl
bW90ZUNvbnRyb2xDb21tYW5kKGNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBXVEY6
Om51bGxvcHQpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5k
SGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC0xMDgsNyArMTA4LDcgQEAgUmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVy
Q2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcywgY29tbWFuZF0gewog
ICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5k
KGNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBXVEY6Om51bGxvcHQpOwogICAgICAg
ICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nl
c3M7CkBAIC0xMTcsMTYgKzExNywxNiBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAgbV9z
ZWVrVG9UaW1lVGFyZ2V0ID0gW1tjZW50ZXIgY2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRd
IGFkZFRhcmdldFdpdGhIYW5kbGVyOl4oTVBSZW1vdGVDb21tYW5kRXZlbnQgKmV2ZW50KSB7CiAg
ICAgICAgIEFTU0VSVChbZXZlbnQgaXNLaW5kT2ZDbGFzczpnZXRNUENoYW5nZVBsYXliYWNrUG9z
aXRpb25Db21tYW5kRXZlbnRDbGFzcygpXSk7CiAKLSAgICAgICAgaWYgKCFjbGllbnQuc3VwcG9y
dHNTZWVraW5nKCkpCisgICAgICAgIGlmICghbV9zdXBwb3J0c1NlZWtpbmcpCiAgICAgICAgICAg
ICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c0NvbW1hbmRGYWlsZWQ7CiAKICAg
ICAgICAgTVBDaGFuZ2VQbGF5YmFja1Bvc2l0aW9uQ29tbWFuZEV2ZW50KiBzZWVrRXZlbnQgPSBz
dGF0aWNfY2FzdDxNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnQgKj4oZXZlbnQp
OwogICAgICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50IGFy
Z3VtZW50IHsgW3NlZWtFdmVudCBwb3NpdGlvblRpbWVdIH07CiAKLSAgICAgICAgY2FsbE9uTWFp
blRocmVhZChbd2Vha1RoaXMsIGFyZ3VtZW50XSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W3dlYWtUaGlzLCBhcmd1bWVudCA9IFdURk1vdmUoYXJndW1lbnQpXSB7CiAgICAgICAgICAgICBp
ZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtU
aGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kLCAmYXJndW1lbnQpOworICAg
ICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQsIGFy
Z3VtZW50KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhh
bmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lcklPUzo6flJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUygpCiAKIHZvaWQgUmVtb3RlQ29tbWFu
ZExpc3RlbmVySU9TOjp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpCiB7Ci0gICAgW1tbZ2V0TVBS
ZW1vdGVDb21tYW5kQ2VudGVyQ2xhc3MoKSBzaGFyZWRDb21tYW5kQ2VudGVyXSBjaGFuZ2VQbGF5
YmFja1Bvc2l0aW9uQ29tbWFuZF0gc2V0RW5hYmxlZDohIWNsaWVudCgpLnN1cHBvcnRzU2Vla2lu
ZygpXTsKKyAgICBbW1tnZXRNUFJlbW90ZUNvbW1hbmRDZW50ZXJDbGFzcygpIHNoYXJlZENvbW1h
bmRDZW50ZXJdIGNoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kXSBzZXRFbmFibGVkOm1fc3Vw
cG9ydHNTZWVraW5nXTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oCmluZGV4IGI3MWNhZDg2ODE4ODg0ZDk5
NGFmYWVlODM4MjY5Yzk1ZjcxZGNjNjQuLjgxYzc1OTlhMDQxZDE1MjhlZWEwMWVlNmFiN2Q3MDVi
NDE1Yzc0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVD
b21tYW5kTGlzdGVuZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWFjLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMgOiBwdWJsaWMgUmVtb3RlQ29t
bWFuZExpc3RlbmVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVy
TWFjPiB7CiBwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWM+IGNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmKTsKICAgICBS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50Jik7CiAg
ICAgdmlydHVhbCB+UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLm1tCmlu
ZGV4IDM4YWE1N2Y4NzhjZGZjM2YzZWRiY2JiNmNkZDk3ZjdkMjUzODNkNmMuLjU3NzlkNjk1MTU0
YmZiZmIzNWFhOWZkZDA0ZmUyNGE5Y2UzZDM4YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5tbQpAQCAtNjQsNyAr
NjQsNyBAQCBzdGF0aWMgT3B0aW9uYWw8TVJNZWRpYVJlbW90ZUNvbW1hbmQ+IG1lZGlhUmVtb3Rl
Q29tbWFuZEZvclBsYXRmb3JtQ29tbWFuZChQbGF0ZgogICAgIHJldHVybiB7IH07CiB9CiAKLXN0
ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IFJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6Y3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQorc3RkOjp1bmlx
dWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYz4gUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
OjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCiB7CiAgICAgcmV0
dXJuIG1ha2VVbmlxdWU8UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjPihjbGllbnQpOwogfQpAQCAt
MTAyLDEyICsxMDIsMTIgQEAgdm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OnVwZGF0ZVN1
cHBvcnRlZENvbW1hbmRzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byYgc3VwcG9ydGVk
Q29tbWFuZHMgPSAhbV9yZWdpc3RlcmVkQ29tbWFuZHMuaXNFbXB0eSgpID8gbV9yZWdpc3RlcmVk
Q29tbWFuZHMgOiBkZWZhdWx0Q29tbWFuZHMoKTsKLSAgICBpZiAobV9zdXBwb3J0c1NlZWtpbmcg
PT0gY2xpZW50KCkuc3VwcG9ydHNTZWVraW5nKCkgJiYgbV9jdXJyZW50Q29tbWFuZHMgPT0gc3Vw
cG9ydGVkQ29tbWFuZHMpCisgICAgaWYgKG1fY3VycmVudENvbW1hbmRzID09IHN1cHBvcnRlZENv
bW1hbmRzKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGNvbW1hbmRJbmZvQXJyYXkgPSBh
ZG9wdENGKENGQXJyYXlDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHN1cHBvcnRl
ZENvbW1hbmRzLnNpemUoKSwgJmtDRlR5cGVBcnJheUNhbGxCYWNrcykpOwogICAgIGZvciAoYXV0
byBwbGF0Zm9ybUNvbW1hbmQgOiBzdXBwb3J0ZWRDb21tYW5kcykgewotICAgICAgICBpZiAoaXNT
ZWVrQ29tbWFuZChwbGF0Zm9ybUNvbW1hbmQpICYmICFjbGllbnQoKS5zdXBwb3J0c1NlZWtpbmco
KSkKKyAgICAgICAgaWYgKGlzU2Vla0NvbW1hbmQocGxhdGZvcm1Db21tYW5kKSAmJiAhbV9zdXBw
b3J0c1NlZWtpbmcpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBhdXRvIGNvbW1h
bmQgPSBtZWRpYVJlbW90ZUNvbW1hbmRGb3JQbGF0Zm9ybUNvbW1hbmQocGxhdGZvcm1Db21tYW5k
KTsKQEAgLTEyMyw3ICsxMjMsNiBAQCB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6dXBk
YXRlU3VwcG9ydGVkQ29tbWFuZHMoKQogCiAgICAgTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENv
bW1hbmRzKGNvbW1hbmRJbmZvQXJyYXkuZ2V0KCksIE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdp
bigpLCBudWxscHRyLCBudWxscHRyKTsKICAgICBtX2N1cnJlbnRDb21tYW5kcyA9IHN1cHBvcnRl
ZENvbW1hbmRzOwotICAgIG1fc3VwcG9ydHNTZWVraW5nID0gY2xpZW50KCkuc3VwcG9ydHNTZWVr
aW5nKCk7CiB9CiAKIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6UmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFjKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQpAQCAtMTQwLDggKzEz
OSw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
KFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYKICAgICAgICAgTE9HKE1lZGlhLCAiUmVtb3Rl
Q29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMgLSByZWNlaXZlZCBj
b21tYW5kICV1IiwgY29tbWFuZCk7CiAKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZSBwbGF0Zm9ybUNvbW1hbmQgeyBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6Tm9Db21tYW5kIH07Ci0gICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQgYXJndW1lbnQgeyAwIH07Ci0gICAgICAgIFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqIGFyZ3VtZW50UHRyID0gbnVsbHB0cjsKKyAgICAg
ICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1bWVudDsK
ICAgICAgICAgTVJNZWRpYVJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzIHN0YXR1cyA9IE1STWVk
aWFSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CiAKICAgICAgICAgc3dpdGNoIChj
b21tYW5kKSB7CkBAIC0xNzAsNyArMTY4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAg
ICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gUGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZFNlZWtp
bmdCYWNrd2FyZENvbW1hbmQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBNUk1l
ZGlhUmVtb3RlQ29tbWFuZFNlZWtUb1BsYXliYWNrUG9zaXRpb246IHsKLSAgICAgICAgICAgIGlm
ICghY2xpZW50LnN1cHBvcnRzU2Vla2luZygpKSB7CisgICAgICAgICAgICBpZiAoIW1fc3VwcG9y
dHNTZWVraW5nKSB7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gTVJNZWRpYVJlbW90ZUNvbW1h
bmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZDsKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KQEAgLTE4MSwyMSArMTc5LDIzIEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1h
Yzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgQ0ZO
dW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlwZSwgJmFyZ3VtZW50
LmFzRG91YmxlKTsKLSAgICAgICAgICAgIGFyZ3VtZW50UHRyID0gJmFyZ3VtZW50OworICAgICAg
ICAgICAgZG91YmxlIHBvc2l0aW9uID0gMDsKKyAgICAgICAgICAgIENGTnVtYmVyR2V0VmFsdWUo
cG9zaXRpb25SZWYsIGtDRk51bWJlckRvdWJsZVR5cGUsICZwb3NpdGlvbik7CisgICAgICAgICAg
ICBhcmd1bWVudCA9IHBvc2l0aW9uOwogICAgICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gUGxh
dGZvcm1NZWRpYVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBNUk1lZGlhUmVtb3RlQ29tbWFu
ZFNraXBGb3J3YXJkOgogICAgICAgICBjYXNlIE1STWVkaWFSZW1vdGVDb21tYW5kU2tpcEJhY2t3
YXJkOgotICAgICAgICAgICAgaWYgKCFjbGllbnQuc3VwcG9ydHNTZWVraW5nKCkpIHsKKyAgICAg
ICAgICAgIGlmICghbV9zdXBwb3J0c1NlZWtpbmcpIHsKICAgICAgICAgICAgICAgICBzdGF0dXMg
PSBNUk1lZGlhUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkOwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoYXV0byBw
b3NpdGlvblJlZiA9IHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1
ZShvcHRpb25zLCBrTVJNZWRpYVJlbW90ZU9wdGlvblNraXBJbnRlcnZhbCkpKSB7Ci0gICAgICAg
ICAgICAgICAgQ0ZOdW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlw
ZSwgJmFyZ3VtZW50LmFzRG91YmxlKTsKLSAgICAgICAgICAgICAgICBhcmd1bWVudFB0ciA9ICZh
cmd1bWVudDsKKyAgICAgICAgICAgICAgICBkb3VibGUgcG9zaXRpb24gPSAwOworICAgICAgICAg
ICAgICAgIENGTnVtYmVyR2V0VmFsdWUocG9zaXRpb25SZWYsIGtDRk51bWJlckRvdWJsZVR5cGUs
ICZwb3NpdGlvbik7CisgICAgICAgICAgICAgICAgYXJndW1lbnQgPSBwb3NpdGlvbjsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gKGNvbW1hbmQgPT0gTVJN
ZWRpYVJlbW90ZUNvbW1hbmRTa2lwRm9yd2FyZCkgPyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tp
cEZvcndhcmRDb21tYW5kIDogUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBCYWNrd2FyZENvbW1h
bmQ7CkBAIC0yMTIsNyArMjEyLDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICB9
OwogCiAgICAgICAgIGlmICh3ZWFrVGhpcyAmJiBzdGF0dXMgIT0gTVJNZWRpYVJlbW90ZUNvbW1h
bmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZCkKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2Ns
aWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQocGxhdGZvcm1Db21tYW5kLCBhcmd1
bWVudFB0cik7CisgICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKHBsYXRmb3JtQ29tbWFuZCwgYXJndW1lbnQpOwogCiAgICAgICAgIGNv
bXBsZXRpb24oKF9fYnJpZGdlIENGQXJyYXlSZWYpQFtAKHN0YXR1cyldKTsKICAgICB9KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA5NzdmMTQ4MzhhODMyYjgxN2VlOTU5
ZDkyN2NjMDE0Yjg0NzEyYzQ3Li4zNGY4OWMwN2I2MjM1NTAzNzg1YjQyNTM3ODBmNzI2YmY5ZGIw
YzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00MzA1LDcgKzQzMDUs
NyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbHM6OnBvc3RSZW1vdGVDb250cm9sQ29tbWFu
ZChjb25zdCBTdHJpbmcmIGNvbW1hbmRTdHJpbgogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwogCi0gICAgUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZChjb21tYW5kLCAmcGFyYW1ldGVyKTsKKyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKGNvbW1hbmQsIHBhcmFtZXRlcik7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKaW5kZXggNjM1ODUyNmE2NTcxOWQ5YThmMzgzYzg2Nzg3NTM0YzA5ZGU4NmQ1NS4uM2Vh
Nzk0NjA4NDEwNzA2NWJlODI4ZDRkYTJhOWQ2ZGE2MDdlOTkyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0
CkBAIC0xMzgsNiArMTM4LDcgQEAgc2V0KFdlYktpdF9NRVNTQUdFU19JTl9GSUxFUwogICAgIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eQogICAgIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhU291cmNlUHJveHkKKyAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lclByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eQogCiAgICAgR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkKQEAgLTIz
MCw2ICsyMzEsNyBAQCBzZXQoV2ViS2l0X01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2UKICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24KICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVM
ZWdhY3lDRE1TZXNzaW9uCisgICAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyCiAgICAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZQogCiAgICAgV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGNhOTRl
NzYwYTAxZDM1NzIxMzFmZGE2MzY3YTg3N2YyYTI1NjgxMzUuLmZiNjIxM2M0Y2MzNmYzMzg1Mjhj
MThiOTQ4ZjlhYzg4OTM4YjEyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKQEAgLTQwLDYgKzQwLDcgQEAgJChQUk9KRUNUX0RJUikvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4KICQo
UFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVGV4dFRyYWNr
UHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VmlkZW9UcmFja1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0xNTAsNiArMTUxLDcgQEAgJChQUk9KRUNU
X0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURl
Y29kZXJBVkYubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIp
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24ubWVzc2FnZXMuaW4K
KyQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5t
ZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKaW5kZXggOWI1YjBmZWY4NWVlYTM5NTFlZjY0OTc2M2U2YWVkZGM1NjhjMjY1Ni4uNDYz
NTVhMTE4ZjI5MDkzZGU0ZjFkMmY2ZWY4MjBmZGE5ZGFlZTVmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yNDcsNiArMjQ3LDEyIEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
U291cmNlUHJveHlNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJl
Z2lzdHJ5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyTWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWVzc2FnZVJlY2VpdmVyLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZE1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDU3NWFmN2E0NGEyNDEzYmE2YjY1MmY4YjM3ZDA0NWNm
OTRlZDVhZTUuLmNiMDRlMWE2NmVjODI0Y2U0YzQxYzkyYzUwOGYzNWEzMTI5NWM3MmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE4NSw2ICsxODUsNyBAQCBNRVNTQUdFX1JFQ0VJ
VkVSUyA9IFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24g
XAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXIgXAog
CVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24gXAorCVdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciBcCiAJV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9XZWJTdG9yYWdl
L1N0b3JhZ2VBcmVhTWFwIFwKQEAgLTI1OSw2ICsyNjAsNyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9
IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAogCUdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAogCUdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXgg
ODkxYTdhMGMzOGM3NTY0YjEyNzRmZTkyYmE5OWE2YTFkMWUzNjliYS4uNmI5NzI2MzBlMWM5MjI4
YzEzODNjNDc3OTZjYzFkYWI5NDA5N2MzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNDgsNiArNDgsNyBA
QAogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVjb3JkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJl
bW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgogI2luY2x1ZGUg
IlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuaCIKICNpbmNsdWRlICJSZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyTWVzc2FnZXMuaCIKQEAgLTQxOSw2ICs0
MjAsMjAgQEAgdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlQXVkaW9IYXJk
d2FyZUxpc3RlbmVyKFJlbW90ZUF1ZGlvSGFyZHdhcmUKICAgICBBU1NFUlRfVU5VU0VEKGZvdW5k
LCBmb3VuZCk7CiB9CiAKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVt
b3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIg
aWRlbnRpZmllcikKK3sKKyAgICBhdXRvIGFkZFJlc3VsdCA9IG1fcmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyTWFwLmVuc3VyZShpZGVudGlmaWVyLCBbJl0oKSB7CisgICAgICAgIHJldHVybiBt
YWtlVW5pcXVlPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5PigqdGhpcywgV1RGTW92
ZShpZGVudGlmaWVyKSk7CisgICAgfSk7CisgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFk
ZFJlc3VsdC5pc05ld0VudHJ5KTsKK30KKwordm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpyZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICBib29sIGZvdW5kID0gbV9yZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJNYXAucmVtb3ZlKGlkZW50aWZpZXIpOworICAgIEFTU0VSVF9VTlVT
RUQoZm91bmQsIGZvdW5kKTsKK30KKwogYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpk
aXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXIm
IGRlY29kZXIpCiB7CiAjaWYgRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDgzOWZmOGY1
OWQ0NjNiY2FlYjRlOGMyMTg1YzRlMzVhMmViZWQ3YjIuLmY3NmI3YTZjYzllNTdkZjU3YjYyYWZl
NmRjOTY1ODdhNDU2ZGEwNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlck1hcC5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0
ZW5lcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nlc3Npb25JZGVudGlmaWVy
LmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oIgog
I2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCiAKICNpbmNsdWRlIDxXZWJD
b3JlL0xpYldlYlJUQ0VudW1UcmFpdHMuaD4KQEAgLTYzLDYgKzY0LDcgQEAgY2xhc3MgUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk7CiBjbGFzcyBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
cjsKIGNsYXNzIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOwogY2xhc3MgUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyUHJveHk7CitjbGFzcyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94
eTsKIGNsYXNzIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ7CiBjbGFzcyBSZW1vdGVHcmFwaGljc0Nv
bnRleHRHTDsKIGNsYXNzIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXI7CkBA
IC0xNjAsNiArMTYyLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY3JlYXRlQXVkaW9IYXJkd2Fy
ZUxpc3RlbmVyKFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcklkZW50aWZpZXIpOwogICAgIHZv
aWQgcmVsZWFzZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcihSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVu
ZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIGNyZWF0ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlbGVhc2VSZW1v
dGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllcik7
CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZvaWQgZGlkQ2xvc2UoSVBD
OjpDb25uZWN0aW9uJikgZmluYWw7CkBAIC0yMzgsNiArMjQyLDggQEAgcHJpdmF0ZToKIAogICAg
IHVzaW5nIFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlQXVk
aW9IYXJkd2FyZUxpc3RlbmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUF1ZGlv
SGFyZHdhcmVMaXN0ZW5lclByb3h5Pj47CiAgICAgUmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVy
TWFwIG1fcmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyTWFwOworICAgIHVzaW5nIFJlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5Pj47CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFwIG1fcmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGI1Njk4ZGVhYjhhNTc4ZDE0MDQ5YTFiYTM0NWU2
MGQyZDU4MjhhMzMuLjMwZjVjMjk4ODYyMTRmOTEwNGYxYWZhMDgzNWIyMzhhMzZkYzZlZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00Miw2ICs0Miw4IEBAIG1lc3NhZ2VzIC0+
IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgV2FudHNEaXNwYXRjaE1lc3NhZ2UgewogI2VuZGlm
CiAgICAgQ3JlYXRlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKFdlYktpdDo6UmVtb3RlQXVkaW9IYXJk
d2FyZUxpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIFJlbGVhc2VBdWRpb0hhcmR3
YXJlTGlzdGVuZXIoV2ViS2l0OjpSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJJZGVudGlmaWVy
IGlkZW50aWZpZXIpCisgICAgQ3JlYXRlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFdlYktpdDo6UmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQorICAgIFJlbGVh
c2VSZW1vdGVDb21tYW5kTGlzdGVuZXIoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTRl
ZDgyNGQwOTQ4ZDYyNmI3YWYwN2U5MjQwYWIwNTdkOTMwOTUyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5LmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgiCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaCIK
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5
OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBncHVDb25uZWN0aW9uLCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVy
JiYgaWRlbnRpZmllcikKKyAgICA6IG1fZ3B1Q29ubmVjdGlvbihncHVDb25uZWN0aW9uKQorICAg
ICwgbV9pZGVudGlmaWVyKFdURk1vdmUoaWRlbnRpZmllcikpCisgICAgLCBtX2xpc3RlbmVyKFdl
YkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKCp0aGlzKSkKK3sKK30KKworUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6On5SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eSgpID0gZGVmYXVsdDsKKwordm9pZCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQ
cm94eTo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCit7CisgICAgbV9ncHVDb25u
ZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXI6OkRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBhcmd1bWVudCks
IG1faWRlbnRpZmllcik7Cit9CisKK3ZvaWQgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJv
eHk6OnVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzKGJvb2wgc3VwcG9ydHNTZWVraW5nKQoreworICAg
IG1fbGlzdGVuZXItPnNldFN1cHBvcnRzU2Vla2luZyhzdXBwb3J0c1NlZWtpbmcpOworICAgIG1f
bGlzdGVuZXItPnVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzKCk7Cit9CisKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhNjhmMWJiNmVkYTcz
YzMwZmEwM2I2NTFhZWYzZGRmMjVkZTU4ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaApA
QCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuaD4KKyNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CisK
K25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK30KKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK2NsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisKK2NsYXNzIFJlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5CisgICAgOiBwcml2YXRlIFdlYkNvcmU6OlJlbW90ZUNv
bW1hbmRMaXN0ZW5lckNsaWVudAorICAgICwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVyUHJveHkoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXImJik7CisgICAgdmlydHVhbCB+UmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHkoKTsKKworcHJpdmF0ZToKKyAgICAvLyBJUEM6Ok1lc3Nh
Z2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwg
SVBDOjpEZWNvZGVyJikgZmluYWw7CisKKyAgICAvLyBSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGll
bnQKKyAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBXZWJDb3Jl
OjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JikgZmluYWw7CisK
KyAgICAvLyBNZXNzYWdlcworICAgIHZvaWQgdXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMoYm9vbCBz
dXBwb3J0c1NlZWtpbmcpOworCisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9ncHVD
b25uZWN0aW9uOworICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIgbV9p
ZGVudGlmaWVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXI+IG1fbGlzdGVuZXI7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0MDkzNGMyNGQx
NzIwYTdhZThjZWQ2N2Y5OGQzMDRlM2I0MmFjYmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHku
bWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpCisKK21lc3NhZ2VzIC0+IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5
IE5vdFJlZkNvdW50ZWQgeworICAgIFVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzKGJvb2wgc3VwcG9y
dHNTZWVraW5nKQorfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5CmluZGV4IGEzNjE3N2VlMGUyYmViYWRkYjE5MmQzYjM3YjU0YzNiMTUzYjFiOWEuLjgz
Yjc5YTkwNTUyMzU0ZjRmNGUwYjVkYjU1YWFhYmEzNjY4OTZjODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9T
Y3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMzE3LDYgKzMxNyw3IEBAIGRlZiB0eXBlc190
aGF0X2Nhbm5vdF9iZV9mb3J3YXJkX2RlY2xhcmVkKCk6CiAgICAgICAgICdXZWJLaXQ6OlJlbW90
ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVtb3RlTWVk
aWFSZXNvdXJjZUlkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJj
ZUlkZW50aWZpZXInLAorICAgICAgICAnV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVtb3RlU291cmNlQnVmZmVySWRlbnRp
ZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyJywKICAg
ICAgICAgJ1dlYktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggODc1
ODYyZThkMTdlZTI0ZGFkNGY3YjFlZmQwNWQ0NWRkMTkzZjQ2Yi4uZDhkM2M5ZTRiZTA3NTExMmVl
ZTMwMDA1OTk1MWYwNDNjZmFkYTM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC00Niw2ICs0Niw3IEBAIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXIuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNl
UHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclBy
b3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlVGV4dFRyYWNrUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVZpZGVvVHJhY2tQcm94eS5jcHAKQEAgLTU5OSw2ICs2MDAsNyBAQCBXZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmNwcAogV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcAogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNwcCBAbm8tdW5pZnkK
IFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAKK1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAKIFdlYlByb2Nl
c3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
VmlkZW9UcmFja1ByaXZhdGVSZW1vdGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjMTA2MTMxYTliMTY5YTU0Nzk1NmM2YWE4OWQw
YWRkNDc2MDU2ZmU0Li5jMGE5YjI1OWY2MDE1OGUyMTFlN2NhYjExY2RlNDliNGQ5Yzk4MjJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTE4NjEsNiArMTg2MSw4IEBACiAJCUNENzhFMTE1MURCN0Q3RUQwMDE0QTJERSAvKiBGdWxsc2Ny
ZWVuQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDc4RTExMzFEQjdEN0VEMDAxNEEyREUgLyogRnVsbHNjcmVlbkNsaWVudC5oICovOyB9Owog
CQlDRDc4RTExNzFEQjdEQzBBMDAxNEEyREUgLyogQVBJRnVsbHNjcmVlbkNsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3OEUxMTYxREI3REMw
QTAwMTRBMkRFIC8qIEFQSUZ1bGxzY3JlZW5DbGllbnQuaCAqLzsgfTsKIAkJQ0Q3OEUxMTkxREI3
RTVBRDAwMTRBMkRFIC8qIF9XS0Z1bGxzY3JlZW5EZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3OEUxMTgxREI3RTVBRDAwMTRBMkRFIC8q
IF9XS0Z1bGxzY3JlZW5EZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUNEODI1MkRFMjVENDkxNkMwMDg2MkZEOCAvKiBSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDgyNTJEQTI1RDQ5MTU0MDA4NjJGRDgg
LyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OworCQlDRDgyNTJFMjI1RDQ5MTkxMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEODI1MkUwMjVENDkxODQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQlDREEwNDFGNDFBQ0Uy
MTA1MDA0QTEzRUMgLyogQmFja0JvYXJkU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTA0MUYzMUFDRTIxMDUwMDRBMTNFQyAvKiBC
YWNrQm9hcmRTZXJ2aWNlc1NQSS5oICovOyB9OwogCQlDREEyOUExQjFDQkRCRjQxMDA5MDFDQ0Yg
LyogUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RBMjlBMTkxQ0JEQkY0MTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vz
c2lvbk1hbmFnZXIuaCAqLzsgfTsKIAkJQ0RBMjlBMjAxQ0JFQjVGQjAwOTAxQ0NGIC8qIFBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RBMjlBMUUxQ0JFQjVGQjAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lv
bk1hbmFnZXJQcm94eS5oICovOyB9OwpAQCAtNTU0OCw2ICs1NTUwLDE5IEBACiAJCUNENzhFMTEz
MURCN0Q3RUQwMDE0QTJERSAvKiBGdWxsc2NyZWVuQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEZ1bGxzY3JlZW5DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0Q3OEUxMTYxREI3REMwQTAwMTRBMkRFIC8qIEFQSUZ1bGxzY3JlZW5DbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJRnVsbHNjcmVlbkNsaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDc4RTExODFEQjdFNUFEMDAxNEEyREUg
LyogX1dLRnVsbHNjcmVlbkRlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IF9XS0Z1bGxzY3JlZW5EZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDRDgyNTJEMTI1RDQ2NEFCMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJEMjI1RDQ2NEFCMDA4NjJGRDggLyogUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1
MkQzMjVENDY0QkYwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2Fn
ZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLm1lc3NhZ2VzLmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJENDI1RDQ2NTEwMDA4NjJGRDggLyogUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNEODI1MkQ1MjVENDc2MzEwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXJQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJENjI1RDQ3NjMx
MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJENzI1RDQ3NjU5MDA4NjJGRDggLyogUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUNEODI1MkQ4MjVENDkxNTMwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJEOTI1RDQ5MTU0MDA4NjJGRDggLyog
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3Nh
Z2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkRBMjVENDkxNTQwMDg2
MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNEODI1MkRGMjVENDkxODQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXJNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNEODI1MkUwMjVENDkxODQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0Q4MjUyRTEyNUQ0OTE4NTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
ck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTA0MUYzMUFDRTIx
MDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNlc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBCYWNrQm9hcmRTZXJ2aWNlc1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDREEyOUExODFDQkRCRjQxMDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uTWFu
YWdlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsYXliYWNr
U2Vzc2lvbk1hbmFnZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTI5QTE5
MUNCREJGNDEwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYwMzAsNiArNjA0NSwxMCBAQAogCQkJCTFEMzJGODlEMjNB
ODRDNUIwMEIxRUE2QSAvKiBSZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3BwICovLAogCQkJCTFE
MzJGODlCMjNBODRCQTYwMEIxRUE2QSAvKiBSZW1vdGVNZWRpYVJlc291cmNlUHJveHkuaCAqLywK
IAkJCQkxREQyQTY0NjI1NUYzMkIxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlm
aWVyLmggKi8sCisJCQkJQ0Q4MjUyRDEyNUQ0NjRBQjAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lci5oICovLAorCQkJCUNEODI1MkQyMjVENDY0QUIwMDg2MkZEOCAvKiBSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwICovLAorCQkJCUNEODI1MkQzMjVENDY0QkYwMDg2
MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJ
Q0Q4MjUyRDQyNUQ0NjUxMDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklk
ZW50aWZpZXIuaCAqLywKIAkJCQkxREQyQTYzQTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMUREMkE2MzkyNTVERTZEMTAwRkY3QjZGIC8q
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQkxREQyQTY2RjI1NjIyRjExMDBG
RjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiAqLywKQEAgLTYx
MTAsNiArNjEyOSw5IEBACiAJCQkJMUREMkE2M0YyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1l
ZGlhU291cmNlUHJveHkuY3BwICovLAogCQkJCTFERDJBNjNFMjU1RTNGMUYwMEZGN0I2RiAvKiBS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggKi8sCiAJCQkJMUREMkE2NEEyNTYwRjU0QzAwRkY3QjZG
IC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gKi8sCisJCQkJQ0Q4MjUyRDUy
NUQ0NzYzMTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmggKi8s
CisJCQkJQ0Q4MjUyRDYyNUQ0NzYzMTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lclByb3h5LmNwcCAqLywKKwkJCQlDRDgyNTJENzI1RDQ3NjU5MDA4NjJGRDggLyogUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkJMUREMkE2Njgy
NTYxRjY4NDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCAqLywKIAkJ
CQkxREQyQTY0MzI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3Bw
ICovLAogCQkJCTFERDJBNjQyMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5oICovLApAQCAtMTA4ODgsNiArMTA5MTAsMTIgQEAKIAkJCQkxREQyQTY2MTI1NjEyMkYx
MDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAog
CQkJCTFBQzEzMzgzMTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUFDMTMzODQxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90
ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLywKKwkJCQlDRDgyNTJFMDI1RDQ5MTg0MDA4NjJG
RDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywK
KwkJCQlDRDgyNTJFMTI1RDQ5MTg1MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWVzc2FnZXMuaCAqLywKKwkJCQlDRDgyNTJERjI1RDQ5MTg0MDA4NjJGRDggLyogUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXNSZXBsaWVzLmggKi8sCisJCQkJQ0Q4MjUyREEy
NUQ0OTE1NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLywKKwkJCQlDRDgyNTJEOTI1RDQ5MTU0MDA4NjJGRDggLyogUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlcy5oICovLAorCQkJCUNEODI1MkQ4MjVE
NDkxNTMwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2Vz
UmVwbGllcy5oICovLAogCQkJCTBGNTk0N0E1MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMEY1OTQ3QTYxODdC
NTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXMuaCAqLywK
IAkJCQkxREQyQTY2QjI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLApAQCAtMTM3NjYsNiArMTM3OTQsNyBAQAogCQkJCTUxRjA2
MEUxMTY1NDMxODUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTc2OTAxNDIyRkRENDFCMDBCMTU3NkQgLyogTmV0d29y
a1JUQ1Byb3ZpZGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMy
ODJFIC8qIE5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlDRDgyNTJERTI1RDQ5MTZDMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFGMDYw
RTExNjU0MzE4NTAwRjMyODFDIC8qIE5ldHdvcmtTb2NrZXRDaGFubmVsTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVDMEIxNzc4MUU3Qzg4MEUwMEU5MTIzQyAvKiBOZXR3
b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTJBNzkwMjEyQjZBRDQwMEY0OTNGRCAvKiBOUElkZW50aWZpZXJEYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMTM5MDcsNiArMTM5MzYsNyBAQAogCQkJCTJEMTFCNzhEMjEyNkEyODMwMDZGODg3
OCAvKiBVbmlmaWVkU291cmNlMzEtbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjc4RjIx
MjZBMjgzMDA2Rjg4NzggLyogVW5pZmllZFNvdXJjZTMyLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQxMUI3OTAyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2UzMi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlDRDgyNTJFMjI1RDQ5MTkxMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFC
NzkxMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlMzMtbW0ubW0gaW4gU291cmNlcyAq
LywKIAkJCQkyRDExQjc5MjIxMjZBMjgzMDA2Rjg4NzggLyogVW5pZmllZFNvdXJjZTMzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTJEMTFCNzk0MjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291
cmNlMzQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IGNlNDA3OTgyYmU4ZjdlNjdi
MmU5YWNkM2QzZjUxNTQ4YjliYTYzYjguLjQ0N2EyMWE0ZDU4MTlhYzhmZGNlZWQxZTgwODc2OTg0
YTM4MzcxNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BV
UHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0xOTEsOCArMTkxLDcgQEAgYm9vbCBHUFVQcm9jZXNz
Q29ubmVjdGlvbjo6ZGlzcGF0Y2hTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24sIElQQzoKIAogdm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNv
bW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBl
LCBPcHRpb25hbDxkb3VibGU+IGFyZ3VtZW50KQogewotICAgIGNvbnN0IFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQgdmFsdWUgeyBhcmd1bWVudCA/ICphcmd1bWVu
dCA6IDAgfTsKLSAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIo
KS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50ID8g
JnZhbHVlIDogbnVsbHB0cik7CisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFy
ZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBlLCBh
cmd1bWVudCk7CiB9CiAKIHZvaWQgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OnVwZGF0ZVBhcmFtZXRl
cnMoY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGE4MzhmNDA3NzkxYWVkNTE0
YWM0MjA2ZTM3Y2M1ZmRhMTA4OWI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwCkBAIC0w
LDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1Mp
CisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNs
dWRlICJHUFVQcm9jZXNzUHJveHkuaCIKKyNpbmNsdWRlICJSZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitzdGQ6OnVuaXF1ZV9wdHI8UmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyPiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNy
ZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCwgV2ViUHJvY2VzcyYgd2Vi
UHJvY2VzcykKK3sKKyAgICByZXR1cm4gbWFrZVVuaXF1ZTxSZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXI+KGNsaWVudCwgd2ViUHJvY2Vzcyk7Cit9CisKK1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lcjo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNs
aWVudCYgY2xpZW50LCBXZWJQcm9jZXNzJiB3ZWJQcm9jZXNzKQorICAgIDogUmVtb3RlQ29tbWFu
ZExpc3RlbmVyKGNsaWVudCkKKyAgICAsIG1fcHJvY2Vzcyh3ZWJQcm9jZXNzKQorICAgICwgbV9p
ZGVudGlmaWVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXI6OmdlbmVyYXRl
KCkpCit7CisgICAgYXV0byYgY29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVu
c3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7CisgICAgY29ubmVjdGlvbi5hZGRDbGllbnQoKnRo
aXMpOworICAgIGNvbm5lY3Rpb24ubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCksICp0aGlzKTsKKyAgICBjb25uZWN0aW9u
LmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpD
cmVhdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIobV9pZGVudGlmaWVyKSwgeyB9KTsKK30KKworUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjp+UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKCkK
K3sKKyAgICBhdXRvJiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJl
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKKyAgICBjb25uZWN0aW9uLm1lc3NhZ2VSZWNlaXZlck1h
cCgpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcigqdGhpcyk7CisgICAgY29ubmVjdGlvbi5jb25uZWN0
aW9uKCkuc2VuZChNZXNzYWdlczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UmVsZWFzZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lcihtX2lkZW50aWZpZXIpLCAwKTsKK30KKwordm9pZCBSZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmdwdVByb2Nlc3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24mKQoreworfQorCit2b2lkIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgY29uc3QgUGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCit7CisgICAgbV9jbGll
bnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50KTsKK30KKwor
fQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5
YTRmY2VmN2M2ZTA0YmJmNWVlMTU3ZGE1NWE2M2FiMGNmZGJkN2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lci5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9u
LmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlQ29t
bWFuZExpc3RlbmVyLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK30K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEdQVVByb2Nlc3NDb25uZWN0aW9uOworY2xh
c3MgV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyIGZpbmFs
CisgICAgOiBwdWJsaWMgV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyCisgICAgLCBwcml2
YXRlIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpDbGllbnQKKyAgICAsIHByaXZhdGUgSVBDOjpNZXNz
YWdlUmVjZWl2ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyPiBjcmVh
dGUoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiwgV2ViUHJvY2VzcyYpOwor
ICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllbnQmLCBXZWJQcm9jZXNzJik7CisgICAgflJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lcigpOworCitwcml2YXRlOgorICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5h
bDsKKworICAgIC8vIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpDbGllbnQKKyAgICB2b2lkIGdwdVBy
b2Nlc3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mKSBmaW5hbDsKKwor
ICAgIC8vIE1lc3NhZ2VzCisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQo
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwg
Y29uc3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVu
dCYpOworCisgICAgV2ViUHJvY2VzcyYgbV9wcm9jZXNzOworICAgIFJlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lcklkZW50aWZpZXIgbV9pZGVudGlmaWVyOworfTsKKworfQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzk1YTBlMThiOWM2OTQ5MGYzMmRhZDIzZmNiZTk3M2VjMTdlYWExYwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCittZXNzYWdlcyAtPiBSZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXIgTm90UmVmQ291bnRlZCB7CisgICAgRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKGVudW06dWludDhfdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIE9wdGlvbmFsPGRvdWJsZT4gYXJndW1lbnQpCit9CisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jMzE2ZjI5YzZmODVmMTI0OTY4MjYyODdkZjExOTI1NzQwNDgzYzk0Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwzOSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5j
bHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Vu
dW0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllclR5cGUgeyB9OwordXNpbmcg
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllclR5cGU+OworCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLmNw
cAppbmRleCBjYzRjOWRhOTQ2N2I3Njg0OGFkYmY0YTdhMjFmNmM3NzBkOWVhMTYzLi5kNjc0MWJk
NTNkMGQ4YzMyMzQwZjg1N2IyZWVkYzM2YjhiNTY4NzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlh
U2Vzc2lvbkhlbHBlci5jcHAKQEAgLTEzOSwxNCArMTM5LDE0IEBAIHZvaWQgUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyOjphY3RpdmVWaWRlb1JvdXRlRGlkQ2hhbmdlKFN1cHBvcnRzQWlyUGxheVZp
ZGVvIHN1CiB7CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IHRhcmdldE9iamVjdDsK
ICAgICBpZiAodGFyZ2V0Q29udGV4dC50eXBlKCkgPT0gTWVkaWFQbGF5YmFja1RhcmdldENvbnRl
eHQ6OkFWT3V0cHV0Q29udGV4dFR5cGUpCi0gICAgICAgIHRhcmdldE9iamVjdCA9IFdlYkNvcmU6
Ok1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKHRhcmdldENvbnRleHQuYXZPdXRwdXRD
b250ZXh0KCkpOworICAgICAgICBtX3BsYXliYWNrVGFyZ2V0ID0gV2ViQ29yZTo6TWVkaWFQbGF5
YmFja1RhcmdldENvY29hOjpjcmVhdGUodGFyZ2V0Q29udGV4dC5hdk91dHB1dENvbnRleHQoKSk7
CiAgICAgZWxzZSB7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgZm9yIChhdXRvJiBjbGllbnQgOiBtX2NsaWVudHMpCi0gICAgICAg
IGNsaWVudC5hY3RpdmVWaWRlb1JvdXRlRGlkQ2hhbmdlKHN1cHBvcnRzQWlyUGxheVZpZGVvLCB0
YXJnZXRPYmplY3QuY29weVJlZigpLnJlbGVhc2VOb25OdWxsKCkpOworICAgICAgICBjbGllbnQu
YWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZShzdXBwb3J0c0FpclBsYXlWaWRlbywgKm1fcGxheWJh
Y2tUYXJnZXQpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
aW5kZXggYjcyNjZjYTk4YThjYmNjNTg3MmIyMDc5MGYwMTkyZTIzYjY4ZDkwZS4uODZiYWRlMjE3
NTQxMzZhZDNiMzYzZjIzMTE4ZjFhYWJkNjliNjIyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIlJlbW90ZUF1ZGlv
U2Vzc2lvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUZhY3RvcnkuaCIKICNpbmNsdWRl
ICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCisjaW5jbHVkZSAiUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiU3BlZWNoUmVjb2duaXRpb25S
ZWFsdGltZU1lZGlhU291cmNlTWFuYWdlci5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhTWFwLmgi
CiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKQEAgLTEyMiw2ICsxMjMsNyBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
cm9jZXNzV2FybWluZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaXN0cmFibGVEb21haW4uaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmg+CkBAIC0xOTU4LDYgKzE5NjAsMTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRVc2VH
UFVQcm9jZXNzRm9yTWVkaWEoYm9vbCB1c2VHUFVQcm9jZXNzRm9yTWVkaWEpCiAgICAgICAgIFdl
YkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6c2V0Q3JlYXRpb25GdW5jdGlvbihbdGhpc10g
KFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6Q2xpZW50JiBjbGllbnQpIHsgcmV0dXJu
IFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6Y3JlYXRlKGNsaWVudCwgKnRoaXMpOyB9KTsK
ICAgICBlbHNlCiAgICAgICAgIFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6cmVzZXRD
cmVhdGlvbkZ1bmN0aW9uKCk7CisKKyAgICBpZiAodXNlR1BVUHJvY2Vzc0Zvck1lZGlhKQorICAg
ICAgICBXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6OnNldENyZWF0aW9uRnVuY3Rpb24o
W3RoaXNdIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkgeyBy
ZXR1cm4gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVhdGUoY2xpZW50LCAqdGhpcyk7
IH0pOworICAgIGVsc2UKKyAgICAgICAgV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpy
ZXNldENyZWF0aW9uRnVuY3Rpb24oKTsKIH0KIAogYm9vbCBXZWJQcm9jZXNzOjpzaG91bGRVc2VS
ZW1vdGVSZW5kZXJpbmdGb3IoUmVuZGVyaW5nUHVycG9zZSBwdXJwb3NlKQo=
</data>
<flag name="commit-queue"
          id="438337"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420000</attachid>
            <date>2021-02-11 09:26:21 -0800</date>
            <delta_ts>2021-02-11 12:12:03 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-221732-20210211092621.patch</filename>
            <type>text/plain</type>
            <size>84659</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI2YzEwNWQyNzRmOGQ5
NGI4ODRhNTM1MGU4MDBiMTlmMzFiMmZiOC4uZTE4ODk3NTBmZWUwNDlhNThjMzMzMDUwZGRlY2Fl
NTY2ZmY5YjVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIxLTAyLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV1bR1BVUF0gTW92
ZSBSZW1vdGVDb21tYW5kTGlzdGVuZXIgaW50byB0aGUgR1BVIFByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTczMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBSZWZhY3RvciBSZW1vdGVDb21tYW5k
TGlzdGVuZXIgdG8gYWxsb3cgaXRzIG1ldGhvZHMgdG8gd29yayBvdmVyIFhQQzoKKworICAgICAg
ICAtIFJhdGhlciB0aGFuIGhhdmluZyBhIHN5bmNocm9ub3VzIGNsaWVudCBtZXRob2QgdG8gcXVl
cnkgd2hldGhlciBzZWVraW5nIGlzCisgICAgICAgICAgc3VwcG9ydGVkLCByZXF1aXJlIGNsaWVu
dHMgdG8gc2V0IHNlZWthYmlsaXR5IGV4cGxpY2l0bHkuCisgICAgICAgIC0gQ2hhbmdlIHRoZSBS
ZW1vdGVDb21tYW5kQXJndW1lbnQgZnJvbSBhIHVuaW9uIHRvIGFuIE9wdGlvbmFsPGRvdWJsZT4u
CisgICAgICAgIC0gQWxsb3cgY2xpZW50cyB0byBxdWVyeSB0aGUgTWVkaWFQbGF5YmFja1Rhcmdl
dCB0aHJvdWdoIHRoZSBzZXNzaW9uIHJhdGhlcgorICAgICAgICAgIHRoYW4gd2FpdCBmb3IgYSBu
b3RpZmljYXRpb24gdGhhdCB0aGUgcGxheWJhY2sgdGFyZ2V0IGNoYW5nZWQuCisKKyAgICAgICAg
QWRkaXRpb25hbGx5LCBhZGQgYSBtaW5pLWZhY3RvcnkgZnVuY3Rpb25hbGl0eSB0byBSZW1vdGVD
b21tYW5kTGlzdGVuZXIgdG8gYWxsb3cKKyAgICAgICAgY2xpZW50cyB0byBzcGVjaWZ5IGEgZGlm
ZmVyZW50IHN1YmNsYXNzIHRvIGJlIGNyZWF0ZWQgYXQgcnVudGltZS4KKworICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2Vp
dmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZCk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6CisgICAgICAgICogcGxh
dGZvcm0vTm93UGxheWluZ01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm93UGxheWlu
Z01hbmFnZXI6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAgIChXZWJD
b3JlOjpOb3dQbGF5aW5nTWFuYWdlcjo6c2V0Tm93UGxheWluZ0luZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6Tm93UGxheWluZ01hbmFnZXI6OnN1cHBvcnRzU2Vla2luZyBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3Rl
Q29tbWFuZExpc3RlbmVyQ3JlYXRpb25GdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW1v
dGVDb21tYW5kTGlzdGVuZXI6OnNldENyZWF0aW9uRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVDb21tYW5kTGlzdGVuZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpzZXRTdXBwb3J0c1NlZWtpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVDb21tYW5kTGlzdGVuZXIpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjp1cGRhdGVT
dXBwb3J0ZWRDb21tYW5kcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21t
YW5kTGlzdGVuZXI6OmNsaWVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwcm9jZXNzRGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2E6OnNjaGVkdWxlU2Vzc2lvblN0YXR1c1VwZGF0ZSk6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJT1MubW06CisgICAgICAgIChNZWRpYVNl
c3Npb25IZWxwZXJpT1M6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UpOgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmg6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9T
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6dXBkYXRlU3Vw
cG9ydGVkQ29tbWFuZHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjp1cGRh
dGVTdXBwb3J0ZWRDb21tYW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpwb3N0UmVtb3Rl
Q29udHJvbENvbW1hbmQpOgorCiAyMDIxLTAyLTA1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIE1vdmUgQXVkaW9IYXJkd2FyZUxpc3RlbmVyIGludG8gdGhlIEdQ
VSBQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGEzOTlmZDcyZTUzY2JiMTQ2N2IxYmYzZmM4Nzk5ODhkMTUz
ZDQxMmQuLmQ5NmQ5ZTk5OTViMGFmZjlmZThmOTEwODUyNGEzOTU1NjFjYWQ5YWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDcgQEAKKzIwMjEtMDItMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0NvY29hXVtHUFVQXSBNb3ZlIFJlbW90ZUNvbW1hbmRMaXN0ZW5l
ciBpbnRvIHRoZSBHUFUgUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIxNzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29u
LgorCisgICAgICAgIEFkZCBhIG5ldyBSZW1vdGUvUHJveHkgY2xhc3MgcGFpciB0byBmYWNpbGl0
YXRlIFJlbW90ZUNvbW1hbmRMaXN0ZW5lciBiZWluZworICAgICAgICBjcmVhdGVkIGluIHRoZSBH
UFUgUHJvY2Vzcy4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpjcmVhdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKToKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAg
ICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1h
bmQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6
dXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVSZW1vdGVDb21tYW5kKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVh
dGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6flJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25E
aWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
SWRlbnRpZmllci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVN
ZWRpYVNlc3Npb25IZWxwZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Np
b25IZWxwZXI6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0VXNl
R1BVUHJvY2Vzc0Zvck1lZGlhKToKKwogMjAyMS0wMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lciBpbnRvIHRo
ZSBHUFUgUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgKaW5kZXggYTIzMjIwNjAzODg4YWI0YjlkZGEyOTY3ZDJmY2QxODIxYmFmYzk0Ny4u
ZjFjNGI1YmEzNjU3NDExNTNmM2ZkYTlmMWE5ZWI1NTE3MWE0NmMyZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0xMTUsNyArMTE1LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG1heVJlc3VtZVBsYXliYWNrKGJvb2wgc2hvdWxkUmVzdW1l
KSBvdmVycmlkZTsKICAgICB2b2lkIHN1c3BlbmRQbGF5YmFjaygpIG92ZXJyaWRlOwogICAgIGJv
b2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopIG92ZXJyaWRlIHsgfQorICAg
IHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb21tYW5kQXJndW1lbnQmKSBvdmVycmlkZSB7IH0KICAgICBib29sIHN1cHBvcnRzU2Vl
a2luZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBzaG91bGRP
dmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpJbnRlcnJ1cHRpb25UeXBlKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAg
IGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYjdjZjEyZjQzZjgyZjgz
MzI4N2Y4NzQ2YjI2MjhhYjJiNWRlYmQwZi4uYzhhZTJkNjZiMWU5OWMxY2VlMTQ4N2Q1ZjAwOGVi
MWY2ODA1NzVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC03NTE1LDcgKzc1MTUsNyBAQCBNZWRpYVNlc3Npb25JZGVudGlmaWVyIEhUTUxNZWRpYUVsZW1l
bnQ6Om1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZpZXIoKSBjb25zdAogICAgIHJldHVybiBtX21l
ZGlhU2Vzc2lvbi0+bWVkaWFTZXNzaW9uSWRlbnRpZmllcigpOwogfQogCi12b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqIGFyZ3VtZW50KQordm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKIHsKICAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsIGNvbW1hbmQpOwogCkBAIC03NTQ0LDE4ICs3NTQ0LDE4IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlNraXBGb3J3YXJkQ29tbWFuZDoKICAgICAgICAgaWYgKGFyZ3VtZW50
KQotICAgICAgICAgICAgb2Zmc2V0ID0gYXJndW1lbnQtPmFzRG91YmxlOworICAgICAgICAgICAg
b2Zmc2V0ID0gKmFyZ3VtZW50OwogICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9u
KG9mZnNldCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246
OlNraXBCYWNrd2FyZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAgICAgICAg
IG9mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgICAgIG9mZnNldCA9ICphcmd1
bWVudDsKICAgICAgICAgaGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbigwIC0gb2Zmc2V0KTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxh
eWJhY2tQb3NpdGlvbkNvbW1hbmQ6CiAgICAgICAgIEFTU0VSVChhcmd1bWVudCk7CiAgICAgICAg
IGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24o
YXJndW1lbnQtPmFzRG91YmxlKTsKKyAgICAgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9z
aXRpb24oKmFyZ3VtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
eyB9IC8vIERvIG5vdGhpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5k
ZXggYTcwMjNhMzU5ZjlmNjlkYWFiYzE1MWEzMWU0NmI1M2I2ZWE2MTZiOC4uY2NjYmI4MzFlM2Ey
NmE4YzE5Y2JjNzRkN2UxZmM4N2RlNWExYmE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKQEAgLTg2Myw3ICs4NjMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVzdW1l
QXV0b3BsYXlpbmcoKSBvdmVycmlkZTsKICAgICB2b2lkIG1heVJlc3VtZVBsYXliYWNrKGJvb2wg
c2hvdWxkUmVzdW1lKSBvdmVycmlkZTsKICAgICBib29sIGNhblJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Ci0gICAgdm9pZCBkaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1h
bmRBcmd1bWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNv
bnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKSBvdmVycmlk
ZTsKICAgICBib29sIHNob3VsZE92ZXJyaWRlQmFja2dyb3VuZFBsYXliYWNrUmVzdHJpY3Rpb24o
UGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVCYWNrZ3JvdW5kTG9hZGluZ1Jlc3RyaWN0aW9uKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDgzOTZmZjZm
NDYzMjgyOGU2MDM5YTVkM2Y0OWQ2ODNiMTE5MTdiMjUuLmY1OGNkY2Q4YTg1NjRjMTA3NTQxMTFk
YTljZjdkZjMzOTc5MTI4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcApAQCAtMTAyNiw3ICsxMDI2LDcgQEAgYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjphbGxvd3NQbGF5YmFja0NvbnRyb2xzRm9yQXV0b3BsYXlpbmdBdWRpbygpIGNvbnN0CiB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKLXZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21t
YW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBhcmd1bWVudCkKK3ZvaWQgTWVk
aWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSBjb21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50
JiBhcmd1bWVudCkKIHsKICAgICBhdXRvKiB3aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5k
b21XaW5kb3coKTsKICAgICBhdXRvKiBzZXNzaW9uID0gd2luZG93ID8gJk5hdmlnYXRvck1lZGlh
U2Vzc2lvbjo6bWVkaWFTZXNzaW9uKHdpbmRvdy0+bmF2aWdhdG9yKCkpIDogbnVsbHB0cjsKQEAg
LTEwNTYsMTYgKzEwNTYsMTYgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXAKICAgICAgICAgaWYg
KCFhcmd1bWVudCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgYWN0aW9uRGV0YWlscy5h
Y3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWt0bzsKLSAgICAgICAgYWN0aW9uRGV0YWls
cy5zZWVrVGltZSA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgYWN0aW9uRGV0YWlscy5z
ZWVrVGltZSA9ICphcmd1bWVudDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTa2lwRm9yd2Fy
ZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGFjdGlvbkRldGFp
bHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgICAgIGFjdGlvbkRl
dGFpbHMuc2Vla09mZnNldCA9ICphcmd1bWVudDsKICAgICAgICAgYWN0aW9uRGV0YWlscy5hY3Rp
b24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtmb3J3YXJkOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFNraXBCYWNrd2FyZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAg
ICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAg
ICAgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9ICphcmd1bWVudDsKICAgICAgICAg
YWN0aW9uRGV0YWlscy5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtiYWNrd2FyZDsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBOZXh0VHJhY2tDb21tYW5kOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCAwNzU3OTBiNTRkYWJiODVkMTljYzg5
M2ViMDFlOTUyNTk2ZTYwMjJkLi43Y2JmN2EzMzE0MWM0MjUyMjE4NGYwMDE2MzhhYWE3Y2RjMGVl
NmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtMTc1
LDcgKzE3NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04p
Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQqID0gbnVsbHB0cikgZmluYWw7
CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQmID0gV1RGOjpudWxsb3B0KSBm
aW5hbDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTm93UGxheWluZ01hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93
UGxheWluZ01hbmFnZXIuY3BwCmluZGV4IDVkM2RjOTNlZTc2OWQ5OTk0YzZlYWY3MDU0YTJjZTkz
NmFiZTU0NjYuLjBiZGY0MDRkMTllODY3MTYzMzdjN2Q3ZTRmOTdjODQxOTQ5ZTJkNzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5jcHAKQEAgLTM1LDIy
ICszNSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBOb3dQbGF5aW5nTWFuYWdlcjo6Tm93UGxh
eWluZ01hbmFnZXIoKSA9IGRlZmF1bHQ7CiBOb3dQbGF5aW5nTWFuYWdlcjo6fk5vd1BsYXlpbmdN
YW5hZ2VyKCkgPSBkZWZhdWx0OwogCi12b2lkIE5vd1BsYXlpbmdNYW5hZ2VyOjpkaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSB0eXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFu
ZEFyZ3VtZW50KiBhcmd1bWVudCkKK3ZvaWQgTm93UGxheWluZ01hbmFnZXI6OmRpZFJlY2VpdmVS
ZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlIHR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5k
QXJndW1lbnQmIGFyZ3VtZW50KQogewogICAgIEFTU0VSVChtX25vd1BsYXlpbmdJbmZvKTsKIAot
ICAgIGlmICghbV9jbGllbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIE9wdGlvbmFsPGRvdWJs
ZT4gdmFsdWU7Ci0gICAgaWYgKGFyZ3VtZW50KQotICAgICAgICB2YWx1ZSA9IGFyZ3VtZW50LT5h
c0RvdWJsZTsKLSAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5
cGUsIHZhbHVlKTsKLX0KLQotYm9vbCBOb3dQbGF5aW5nTWFuYWdlcjo6c3VwcG9ydHNTZWVraW5n
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ub3dQbGF5aW5nSW5mbyAmJiBtX25vd1BsYXlpbmdJ
bmZvLT5zdXBwb3J0c1NlZWtpbmc7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVu
dC0+ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50KTsKIH0KIAog
dm9pZCBOb3dQbGF5aW5nTWFuYWdlcjo6Y2xlYXJOb3dQbGF5aW5nSW5mb0NsaWVudChDbGllbnQm
IGNsaWVudCkKQEAgLTcyLDYgKzYyLDcgQEAgdm9pZCBOb3dQbGF5aW5nTWFuYWdlcjo6c2V0Tm93
UGxheWluZ0luZm8oQ2xpZW50JiBjbGllbnQsIE5vd1BsYXlpbmdJbmZvJiYgbm93UGwKICAgICBp
ZiAoIW1fcmVtb3RlQ29tbWFuZExpc3RlbmVyKQogICAgICAgICBtX3JlbW90ZUNvbW1hbmRMaXN0
ZW5lciA9IFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKCp0aGlzKTsKIAorICAgIG1fcmVt
b3RlQ29tbWFuZExpc3RlbmVyLT5zZXRTdXBwb3J0c1NlZWtpbmcobm93UGxheWluZ0luZm8uc3Vw
cG9ydHNTZWVraW5nKTsKICAgICBtX2NsaWVudCA9IG1ha2VXZWFrUHRyKGNsaWVudCk7CiAgICAg
bV9ub3dQbGF5aW5nSW5mbyA9IFdURk1vdmUobm93UGxheWluZ0luZm8pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaAppbmRleCA3YzlkNWZmMDFhOWJmYmQx
YjhlMTY0MGM5MWExZTdkOGM0YWEyN2EyLi4xYjY3OGM4MjA2ZjVkMGFmOWQ3Zjc3ODRhMmVjOTQz
YWJmYTAwMTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5n
TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2Vy
LmgKQEAgLTQwLDggKzQwLDcgQEAgcHVibGljOgogICAgIE5vd1BsYXlpbmdNYW5hZ2VyKCk7CiAg
ICAgfk5vd1BsYXlpbmdNYW5hZ2VyKCk7CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBl
LCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KikgZmlu
YWw7Ci0gICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29t
bWFuZEFyZ3VtZW50JikgZmluYWw7CiAKICAgICBjbGFzcyBDbGllbnQgOiBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8Q2xpZW50PiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAKaW5kZXggNWIyYTkxZjJjNWI0ODBmZmY1
Y2Q4NDIyOTYzMTIyNTg0ODUxNWNmZi4uMDJiNWU3ZGEzMDE2NTRlNzIzMTVhNjY3MzI5ZDBkMTM0
MDYyYTNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFu
ZExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5k
TGlzdGVuZXIuY3BwCkBAIC0yNiwxNiArMjYsNTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCIKIAorI2lmIFBMQVRGT1JNKE1BQykKKyNp
bmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMuaCIKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyNpbmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaCIKKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpCitzdGF0
aWMgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpDcmVhdGlvbkZ1bmN0aW9uJiByZW1vdGVDb21tYW5k
TGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpDcmVhdGlvbkZ1bmN0aW9uPiBjcmVhdGlvbkZ1bmN0aW9u
OworICAgIHJldHVybiBjcmVhdGlvbkZ1bmN0aW9uOworfQogCi1zdGQ6OnVuaXF1ZV9wdHI8UmVt
b3RlQ29tbWFuZExpc3RlbmVyPiBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShSZW1vdGVD
b21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkKK3ZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpzZXRDcmVhdGlvbkZ1bmN0aW9uKENyZWF0aW9uRnVuY3Rpb24mJiBmdW5jdGlvbikKIHsKLSAg
ICByZXR1cm4gbWFrZVVuaXF1ZTxSZW1vdGVDb21tYW5kTGlzdGVuZXI+KGNsaWVudCk7CisgICAg
cmVtb3RlQ29tbWFuZExpc3RlbmVyQ3JlYXRpb25GdW5jdGlvbigpID0gV1RGTW92ZShmdW5jdGlv
bik7CiB9CiAKK3ZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rp
b24oKQoreworICAgIHJlbW90ZUNvbW1hbmRMaXN0ZW5lckNyZWF0aW9uRnVuY3Rpb24oKSA9IFtd
IChSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkgeworI2lmIFBMQVRGT1JNKE1B
QykKKyAgICAgICAgcmV0dXJuIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6Y3JlYXRlKGNsaWVu
dCk7CisjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAgICByZXR1cm4gUmVtb3RlQ29t
bWFuZExpc3RlbmVySU9TOjpjcmVhdGUoY2xpZW50KTsKKyNlbHNlCisgICAgICAgIHJldHVybiBS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShjbGllbnQpOwogI2VuZGlmCisgICAgfTsKK30K
Kworc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVtb3RlQ29tbWFuZExp
c3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCit7Cisg
ICAgaWYgKCFyZW1vdGVDb21tYW5kTGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKCkpCisgICAgICAg
IHJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOworICAgIHJldHVybiByZW1vdGVDb21tYW5kTGlzdGVu
ZXJDcmVhdGlvbkZ1bmN0aW9uKCkoY2xpZW50KTsKK30KKworUmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpSZW1vdGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGll
bnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCit7Cit9CisKK1JlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6flJlbW90ZUNvbW1hbmRMaXN0ZW5lcigpID0gZGVmYXVsdDsKKwogCiB2b2lkIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6c2NoZWR1bGVTdXBwb3J0ZWRDb21tYW5kc1VwZGF0ZSgpCiB7CkBAIC00
Niw2ICs4NCwxNSBAQCB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6c2NoZWR1bGVTdXBwb3J0
ZWRDb21tYW5kc1VwZGF0ZSgpCiAgICAgfQogfQogCit2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6c2V0U3VwcG9ydHNTZWVraW5nKGJvb2wgc3VwcG9ydHMpCit7CisgICAgaWYgKG1fc3VwcG9y
dHNTZWVraW5nID09IHN1cHBvcnRzKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3N1cHBvcnRz
U2Vla2luZyA9IHN1cHBvcnRzOworICAgIHNjaGVkdWxlU3VwcG9ydGVkQ29tbWFuZHNVcGRhdGUo
KTsKK30KKwogdm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmFkZFN1cHBvcnRlZENvbW1hbmQo
UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kKQog
ewogICAgIG1fcmVnaXN0ZXJlZENvbW1hbmRzLmFkZChjb21tYW5kKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgKaW5kZXggNjdhY2JhYTg2NGQx
MTZiZjAyMzExYjE0MzQ4ODAzNGJhMDZjOTZiZi4uOGFmNjVhZDIyNzVjYjcxZDM5NDk2MmFiZjcz
YmU4NjI0OGJmOTk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3Rl
Q29tbWFuZExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29t
bWFuZExpc3RlbmVyLmgKQEAgLTM1LDIxICszNSwyNSBAQCBjbGFzcyBSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCgpID0gZGVmYXVsdDsKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHN1cHBv
cnRzU2Vla2luZygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQm
KSA9IDA7CiB9OwogCi1jbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXIgeworY2xhc3MgV0VCQ09S
RV9FWFBPUlQgUmVtb3RlQ29tbWFuZExpc3RlbmVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gY3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVu
dCYpOwotICAgIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGll
bnQmIGNsaWVudCkgOiBtX2NsaWVudChjbGllbnQpIHsgfQotICAgIHZpcnR1YWwgflJlbW90ZUNv
bW1hbmRMaXN0ZW5lcigpID0gZGVmYXVsdDsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJl
bW90ZUNvbW1hbmRMaXN0ZW5lcj4gY3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYp
OworICAgIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQm
KTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVDb21tYW5kTGlzdGVuZXIoKTsKKworICAgIHVzaW5nIENy
ZWF0aW9uRnVuY3Rpb24gPSBGdW5jdGlvbjxzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExp
c3RlbmVyPihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmKT47CisgICAgc3RhdGljIHZvaWQg
c2V0Q3JlYXRpb25GdW5jdGlvbihDcmVhdGlvbkZ1bmN0aW9uJiYpOworICAgIHN0YXRpYyB2b2lk
IHJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOwogCiAgICAgdm9pZCBhZGRTdXBwb3J0ZWRDb21tYW5k
KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpOwogICAgIHZv
aWQgcmVtb3ZlU3VwcG9ydGVkQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoKSB7IH0KICAgICB2b2lkIHNjaGVkdWxlU3VwcG9ydGVkQ29tbWFuZHNVcGRhdGUoKTsKKyAg
ICB2b2lkIHNldFN1cHBvcnRzU2Vla2luZyhib29sKTsKIAogICAgIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIApAQCAtNTgs
NiArNjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB1c2luZyBSZW1vdGVDb21tYW5kc1NldCA9IEhh
c2hTZXQ8UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgV1RG
OjpJbnRIYXNoPFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU+
LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRzPFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGU+PjsKICAgICBSZW1vdGVDb21tYW5kc1NldCBtX3JlZ2lzdGVyZWRD
b21tYW5kczsKKyAgICBib29sIG1fc3VwcG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKIAogICAgIERl
ZmVycmFibGVUYXNrPFRpbWVyPiBtX3VwZGF0ZUNvbW1hbmRzVGFzazsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAK
aW5kZXggNDM3YzZkMGE1MTY2NDU5MGE0NjliYWQxYmI1ODIyYzE5ODJlMTk0ZC4uNjI3YTFlMGY1
NGJjZWNlMGUyMGI2N2IwNWExOTgzOGU5NzhmZDkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtMjkxLDcg
KzI5MSw3IEBAIGJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb246OmNhblJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZHMoKSBjb25zdAogICAgIHJldHVybiBtX2NsaWVudC5jYW5SZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmRzKCk7CiB9CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFu
ZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJn
dW1lbnQpCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQogewogICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUiwgY29tbWFuZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCmluZGV4IGQ5NTJmYTk1
YjNmMjczNzBlNjBiNGM2OTEyZTk1MWE1ZDY4ZDBkYjEuLmIxMzMwM2M2MDU1ZWY2YTI1MTM3OTEw
ZmFmZmUzMjE5OGYyOTkyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaApAQCAtMTE0LDEwICsxMTQsOCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEJ1ZmZlcmluZygpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCByZXN1bWVCdWZmZXJpbmcoKSB7IH0KLSAgICAKLSAgICB0eXBlZGVmIHVuaW9uIHsKLSAg
ICAgICAgZG91YmxlIGFzRG91YmxlOwotICAgIH0gUmVtb3RlQ29tbWFuZEFyZ3VtZW50OworCisg
ICAgdXNpbmcgUmVtb3RlQ29tbWFuZEFyZ3VtZW50ID0gT3B0aW9uYWw8ZG91YmxlPjsKIAogICAg
IGVudW0gUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIDogdWludDhfdCB7CiAgICAgICAgIE5vQ29t
bWFuZCwKQEAgLTEzNiw3ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFByZXZpb3VzVHJhY2tD
b21tYW5kLAogICAgIH07CiAgICAgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRz
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCog
PSBudWxscHRyKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50
JiA9IFdURjo6bnVsbG9wdCk7CiAgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdDsKIAog
ICAgIGVudW0gRGlzcGxheVR5cGUgOiB1aW50OF90IHsKQEAgLTIzOSw3ICsyMzcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRQbGF5YmFjaygpID0gMDsKIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRzKCkgY29uc3QgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21t
YW5kQXJndW1lbnQmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2Vla2luZygpIGNv
bnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXggZjdmZDU3MzdlYzg4
MmQ5Yjk2Njk0ZDJjYWExMzgyZWQ0OGEzOWRkMy4uM2ZmYzYyOGVjMjA1ZGQ4NDU4ZDgwNDQ1YmI0
OWU1ODBjOGFiYjYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC00MzAsNyArNDMw
LDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25DYW5Qcm9kdWNl
QXVkaW9DaGFuZ2VkKCkKICAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAotdm9pZCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21t
YW5kLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBh
cmd1bWVudCkKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwcm9jZXNzRGlkUmVj
ZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCiB7CiAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb24q
IGFjdGl2ZVNlc3Npb24gPSBjdXJyZW50U2Vzc2lvbigpOwogICAgIGlmICghYWN0aXZlU2Vzc2lv
biB8fCAhYWN0aXZlU2Vzc2lvbi0+Y2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCAyM2RkOTljNmRlZjJmZjRkYWVmODdhMDUwOThiNzc1
YTgwN2RjYTEzLi4yYmMzYzJmMjQ3NDhlMTE5Y2EzZmRmMzcxOTgxOTIzOWM3Mzg5ZmM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJlbW92ZUF1ZGlvQ2FwdHVyZVNvdXJjZShQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6QXVkaW9DYXB0dXJlU291cmNlJik7CiAgICAgYm9vbCBoYXNBdWRpb0NhcHR1cmVTb3Vy
Y2UoUGxhdGZvcm1NZWRpYVNlc3Npb246OkF1ZGlvQ2FwdHVyZVNvdXJjZSYgc291cmNlKSBjb25z
dCB7IHJldHVybiBtX2F1ZGlvQ2FwdHVyZVNvdXJjZXMuY29udGFpbnMoc291cmNlKTsgfQogCi0g
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0
IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpOwogCiAgICAgYm9vbCBpc0lu
dGVycnVwdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcnJ1cHRlZDsgfQogICAgIGJvb2wgaGFz
Tm9TZXNzaW9uKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCmluZGV4IGQ5ZTM3
YWE4MzdkNjU4YTk3MmU2YmI0MzI2NmM2Y2RkNjBkZmE5NzkuLjIzNzllZWM0ZTUyNjVmYjBhMWI5
ODUyNjVhMWRhZWYyNmE1NDQ5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCkBAIC05
Myw4ICs5Myw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIC8vIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudAotICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgY29uc3QgUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJndW1lbnQpIGZpbmFs
IHsgcHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBlLCBhcmd1bWVudCk7
IH0KLSAgICBib29sIHN1cHBvcnRzU2Vla2luZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGNvbXB1
dGVTdXBwb3J0c1NlZWtpbmcoKTsgfQorICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlw
ZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJn
dW1lbnQpIGZpbmFsIHsgcHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBl
LCBhcmd1bWVudCk7IH0KIAogICAgIC8vIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lckNsaWVudAogICAg
IHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdl
ckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNz
aW9uTWFuYWdlckNvY29hLm1tCmluZGV4IGQzNGZjOTBkN2FhOGI2NDA4MDc5YTMxNDg4YWIwMmY4
MGI3ZjI4OTYuLjNkYTNlODk0MWFiZDQ2YzBhOTY3MjA2MjFiZjAyYjQ4NzRlZWYzZGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1h
bmFnZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9N
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KQEAgLTE1Myw4ICsxNTMsMTAgQEAgdm9pZCBNZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2E6OnByZXBhcmVUb1NlbmRVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdCgpCiB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6c2NoZWR1bGVTZXNzaW9uU3Rh
dHVzVXBkYXRlKCkKIHsKICAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpc10gKCkgbXV0
YWJsZSB7Ci0gICAgICAgIGlmIChtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lcikKKyAgICAgICAgaWYg
KG1fcmVtb3RlQ29tbWFuZExpc3RlbmVyKSB7CisgICAgICAgICAgICBtX3JlbW90ZUNvbW1hbmRM
aXN0ZW5lci0+c2V0U3VwcG9ydHNTZWVraW5nKGNvbXB1dGVTdXBwb3J0c1NlZWtpbmcoKSk7CiAg
ICAgICAgICAgICBtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lci0+dXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoKTsKKyAgICAgICAgfQogCiAgICAgICAgIHVwZGF0ZU5vd1BsYXlpbmdJbmZvKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25I
ZWxwZXJJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Np
b25IZWxwZXJJT1MuaAppbmRleCBiMTJjY2Q3NDVjNjAxMjU2MTNhOGM2NTUyNzE0NTY2OGI4ZWFl
ZTEzLi4xMDg3ODQ2MmJkMDExYjA4NGQxYmRhMGE4MzkxODQ3ZjhmYTU4ZGRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9T
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhl
bHBlcklPUy5oCkBAIC03OSwxMiArNzksMTUgQEAgcHVibGljOgogICAgIGJvb2wgYWN0aXZlVmlk
ZW9Sb3V0ZVN1cHBvcnRzQWlyUGxheVZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVWaWRl
b1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW87IH0KICAgICBib29sIGlzUGxheWluZ1RvQXV0b21v
dGl2ZUhlYWRVbml0KCkgY29uc3QgeyByZXR1cm4gbV9pc1BsYXlpbmdUb0F1dG9tb3RpdmVIZWFk
VW5pdDsgfQogCisgICAgTWVkaWFQbGF5YmFja1RhcmdldCogcGxheWJhY2tUYXJnZXQoKSBjb25z
dCB7IHJldHVybiBtX3BsYXliYWNrVGFyZ2V0LmdldCgpOyB9CisKIHByb3RlY3RlZDoKICAgICBX
ZWFrSGFzaFNldDxNZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ+IG1fY2xpZW50czsKICAgICB1aW50
MzJfdCBtX21vbml0b3JpbmdXaXJlbGVzc1JvdXRlc0NvdW50IHsgMCB9OwogICAgIGJvb2wgbV9p
c0V4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWN0
aXZlVmlkZW9Sb3V0ZVN1cHBvcnRzQWlyUGxheVZpZGVvIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aXNQbGF5aW5nVG9BdXRvbW90aXZlSGVhZFVuaXQgeyBmYWxzZSB9OworICAgIFJlZlB0cjxNZWRp
YVBsYXliYWNrVGFyZ2V0PiBtX3BsYXliYWNrVGFyZ2V0OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJ
T1MubW0KaW5kZXggZDgwZGJjODIzNzk5OTRhMmJjMDhhYmY2MDUyYmZjMTEwMzk4NGE4MC4uMjI0
N2YyNjRmYTg0ODI3ZmY0NGFmYjkxZDZhYTNjMTgxOWViNDM5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9T
Lm1tCkBAIC0yODgsMTAgKzI4OCwxMCBAQCB2b2lkIE1lZGlhU2Vzc2lvbkhlbHBlcmlPUzo6YWN0
aXZlQXVkaW9Sb3V0ZURpZENoYW5nZShib29sIHNob3VsZFBhdXNlKQogCiB2b2lkIE1lZGlhU2Vz
c2lvbkhlbHBlcmlPUzo6YWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZSgpCiB7Ci0gICAgYXV0byBw
bGF5YmFja1RhcmdldCA9IE1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKCk7Ci0gICAg
bV9hY3RpdmVWaWRlb1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBwbGF5YmFja1RhcmdldC0+
c3VwcG9ydHNSZW1vdGVWaWRlb1BsYXliYWNrKCk7CisgICAgbV9wbGF5YmFja1RhcmdldCA9IE1l
ZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKCk7CisgICAgbV9hY3RpdmVWaWRlb1JvdXRl
U3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBtX3BsYXliYWNrVGFyZ2V0LT5zdXBwb3J0c1JlbW90ZVZp
ZGVvUGxheWJhY2soKTsKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fY2xpZW50cykKLSAgICAg
ICAgY2xpZW50LmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UobV9hY3RpdmVWaWRlb1JvdXRlU3Vw
cG9ydHNBaXJQbGF5VmlkZW8gPyBTdXBwb3J0c0FpclBsYXlWaWRlbzo6WWVzIDogU3VwcG9ydHNB
aXJQbGF5VmlkZW86Ok5vLCBwbGF5YmFja1RhcmdldC5jb3B5UmVmKCkpOworICAgICAgICBjbGll
bnQuYWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZShtX2FjdGl2ZVZpZGVvUm91dGVTdXBwb3J0c0Fp
clBsYXlWaWRlbyA/IFN1cHBvcnRzQWlyUGxheVZpZGVvOjpZZXMgOiBTdXBwb3J0c0FpclBsYXlW
aWRlbzo6Tm8sICptX3BsYXliYWNrVGFyZ2V0KTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2Vy
SU9TLm1tCmluZGV4IDVjZTY0M2U5YjFmMDk1MzFiMjc1MDE3ODk0YTQyNTdlOTU0ZmNjMmMuLjMx
Njk2NWEyNjU0YjM2MjQwMGZhYTQyNDU0MWE4MTA4MTgwZTYwNjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2Vy
SU9TLm1tCkBAIC0xNDIsMTUgKzE0MiwxMSBAQCBib29sIE1lZGlhU2Vzc2lvbk1hbmFnZXJpT1M6
OnNlc3Npb25XaWxsQmVnaW5QbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgc2VzcwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBM
QVRGT1JNKFdBVENIT1MpCi0gICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0KSB7Ci0gICAgICAgIG1f
cGxheWJhY2tUYXJnZXQgPSBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2E6OmNyZWF0ZSgpOwotICAg
ICAgICBtX3BsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBtX3BsYXliYWNrVGFy
Z2V0LT5zdXBwb3J0c1JlbW90ZVZpZGVvUGxheWJhY2soKTsKLSAgICB9Ci0KLSAgICBBTFdBWVNf
TE9HKExPR0lERU5USUZJRVIsICJQbGF5YmFjayBUYXJnZXQgU3VwcG9ydHMgQWlyUGxheSBWaWRl
byA9ICIsIG1fcGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbyk7Ci0gICAgaWYgKG1f
cGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbykKLSAgICAgICAgc2Vzc2lvbi5zZXRQ
bGF5YmFja1RhcmdldCgqbV9wbGF5YmFja1RhcmdldC5jb3B5UmVmKCkpOwotICAgIHNlc3Npb24u
c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQobV9wbGF5YmFja1RhcmdldFN1cHBvcnRzQWly
UGxheVZpZGVvKTsKKyAgICBhdXRvIHBsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8g
PSBNZWRpYVNlc3Npb25IZWxwZXI6OnNoYXJlZEhlbHBlcigpLmFjdGl2ZVZpZGVvUm91dGVTdXBw
b3J0c0FpclBsYXlWaWRlbygpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIlBsYXli
YWNrIFRhcmdldCBTdXBwb3J0cyBBaXJQbGF5IFZpZGVvID0gIiwgcGxheWJhY2tUYXJnZXRTdXBw
b3J0c0FpclBsYXlWaWRlbyk7CisgICAgaWYgKGF1dG8gdGFyZ2V0ID0gTWVkaWFTZXNzaW9uSGVs
cGVyOjpzaGFyZWRIZWxwZXIoKS5wbGF5YmFja1RhcmdldCgpOyB0YXJnZXQgJiYgcGxheWJhY2tU
YXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbykKKyAgICAgICAgc2Vzc2lvbi5zZXRQbGF5YmFja1Rh
cmdldCgqdGFyZ2V0KTsKKyAgICBzZXNzaW9uLnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0
KHBsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8pOwogI2VuZGlmCiAKICAgICBwcm92
aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElESWZOZWNlc3NhcnkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaAppbmRl
eCA3MzllODBkNzM4M2ZhMTliNjUwNDUyY2M2OWJkNWFkNTAzZDA5NzNjLi5mOGQ1NjU4MDU5ZjVh
MTBkZTQwYmU1OTI0Njc0NzYzNjIyN2Y5ZjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oCkBAIC0zMyw2ICszMyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9T
IGZpbmFsIDogcHVibGljIFJlbW90ZUNvbW1hbmRMaXN0ZW5lciwgcHVibGljIENhbk1ha2VXZWFr
UHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUz4gewogcHVibGljOgorICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TPiBjcmVhdGUoUmVtb3RlQ29tbWFu
ZExpc3RlbmVyQ2xpZW50Jik7CiAgICAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNv
bW1hbmRMaXN0ZW5lckNsaWVudCYpOwogICAgIHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklPUygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3Rl
Q29tbWFuZExpc3RlbmVySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQppbmRleCAzY2FiNWU0NDRlMGRlODZlOTM5MDE0YmNjYmE1
ZmZlNzE4NTA4OTk5Li5hMzM0MzVhYWIxYzJkZDU5OTRhMGFiMmRjNDRlOGNmNzFkMWZkYzc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3Rl
bmVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1MubW0KQEAgLTQwLDcgKzQwLDcgQEAgU09GVF9MSU5LX0NMQVNTKE1lZGlhUGxh
eWVyLCBNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnQpCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVtb3Rl
Q29tbWFuZExpc3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGll
bnQpCitzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TPiBSZW1vdGVDb21t
YW5kTGlzdGVuZXJJT1M6OmNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVu
dCkKIHsKICAgICBpZiAoIU1lZGlhUGxheWVyTGlicmFyeSgpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKQEAgLTU4LDcgKzU4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBj
YWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykK
ICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQu
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQYXVz
ZUNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGF1c2VDb21t
YW5kLCBXVEY6Om51bGxvcHQpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1v
dGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC02OCw3ICs2OCw3IEBAIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNvbW1hbmRM
aXN0ZW5lckNsaWVudCYKICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXNdIHsKICAg
ICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAg
d2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwog
CiAgICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAg
LTc4LDcgKzc4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWlu
VGhyZWFkKFt3ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpUb2dnbGVQbGF5UGF1
c2VDb21tYW5kLCBudWxscHRyKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlRvZ2dsZVBs
YXlQYXVzZUNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIHJl
dHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAgLTkzLDcgKzkzLDcg
QEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVt
b3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFr
VGhpcywgY29tbWFuZF0gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJl
bW90ZUNvbnRyb2xDb21tYW5kKGNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBXVEY6
Om51bGxvcHQpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5k
SGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC0xMDgsNyArMTA4LDcgQEAgUmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVy
Q2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcywgY29tbWFuZF0gewog
ICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5k
KGNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBXVEY6Om51bGxvcHQpOwogICAgICAg
ICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nl
c3M7CkBAIC0xMTcsMTYgKzExNywxNiBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAgbV9z
ZWVrVG9UaW1lVGFyZ2V0ID0gW1tjZW50ZXIgY2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRd
IGFkZFRhcmdldFdpdGhIYW5kbGVyOl4oTVBSZW1vdGVDb21tYW5kRXZlbnQgKmV2ZW50KSB7CiAg
ICAgICAgIEFTU0VSVChbZXZlbnQgaXNLaW5kT2ZDbGFzczpnZXRNUENoYW5nZVBsYXliYWNrUG9z
aXRpb25Db21tYW5kRXZlbnRDbGFzcygpXSk7CiAKLSAgICAgICAgaWYgKCFjbGllbnQuc3VwcG9y
dHNTZWVraW5nKCkpCisgICAgICAgIGlmICghbV9zdXBwb3J0c1NlZWtpbmcpCiAgICAgICAgICAg
ICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c0NvbW1hbmRGYWlsZWQ7CiAKICAg
ICAgICAgTVBDaGFuZ2VQbGF5YmFja1Bvc2l0aW9uQ29tbWFuZEV2ZW50KiBzZWVrRXZlbnQgPSBz
dGF0aWNfY2FzdDxNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnQgKj4oZXZlbnQp
OwogICAgICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50IGFy
Z3VtZW50IHsgW3NlZWtFdmVudCBwb3NpdGlvblRpbWVdIH07CiAKLSAgICAgICAgY2FsbE9uTWFp
blRocmVhZChbd2Vha1RoaXMsIGFyZ3VtZW50XSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W3dlYWtUaGlzLCBhcmd1bWVudCA9IFdURk1vdmUoYXJndW1lbnQpXSB7CiAgICAgICAgICAgICBp
ZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtU
aGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kLCAmYXJndW1lbnQpOworICAg
ICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQsIGFy
Z3VtZW50KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhh
bmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lcklPUzo6flJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUygpCiAKIHZvaWQgUmVtb3RlQ29tbWFu
ZExpc3RlbmVySU9TOjp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpCiB7Ci0gICAgW1tbZ2V0TVBS
ZW1vdGVDb21tYW5kQ2VudGVyQ2xhc3MoKSBzaGFyZWRDb21tYW5kQ2VudGVyXSBjaGFuZ2VQbGF5
YmFja1Bvc2l0aW9uQ29tbWFuZF0gc2V0RW5hYmxlZDohIWNsaWVudCgpLnN1cHBvcnRzU2Vla2lu
ZygpXTsKKyAgICBbW1tnZXRNUFJlbW90ZUNvbW1hbmRDZW50ZXJDbGFzcygpIHNoYXJlZENvbW1h
bmRDZW50ZXJdIGNoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kXSBzZXRFbmFibGVkOm1fc3Vw
cG9ydHNTZWVraW5nXTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oCmluZGV4IGI3MWNhZDg2ODE4ODg0ZDk5
NGFmYWVlODM4MjY5Yzk1ZjcxZGNjNjQuLjgxYzc1OTlhMDQxZDE1MjhlZWEwMWVlNmFiN2Q3MDVi
NDE1Yzc0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVD
b21tYW5kTGlzdGVuZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWFjLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMgOiBwdWJsaWMgUmVtb3RlQ29t
bWFuZExpc3RlbmVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVy
TWFjPiB7CiBwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWM+IGNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmKTsKICAgICBS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50Jik7CiAg
ICAgdmlydHVhbCB+UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLm1tCmlu
ZGV4IDM4YWE1N2Y4NzhjZGZjM2YzZWRiY2JiNmNkZDk3ZjdkMjUzODNkNmMuLjU3NzlkNjk1MTU0
YmZiZmIzNWFhOWZkZDA0ZmUyNGE5Y2UzZDM4YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5tbQpAQCAtNjQsNyAr
NjQsNyBAQCBzdGF0aWMgT3B0aW9uYWw8TVJNZWRpYVJlbW90ZUNvbW1hbmQ+IG1lZGlhUmVtb3Rl
Q29tbWFuZEZvclBsYXRmb3JtQ29tbWFuZChQbGF0ZgogICAgIHJldHVybiB7IH07CiB9CiAKLXN0
ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IFJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6Y3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQorc3RkOjp1bmlx
dWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYz4gUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
OjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCiB7CiAgICAgcmV0
dXJuIG1ha2VVbmlxdWU8UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjPihjbGllbnQpOwogfQpAQCAt
MTAyLDEyICsxMDIsMTIgQEAgdm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OnVwZGF0ZVN1
cHBvcnRlZENvbW1hbmRzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byYgc3VwcG9ydGVk
Q29tbWFuZHMgPSAhbV9yZWdpc3RlcmVkQ29tbWFuZHMuaXNFbXB0eSgpID8gbV9yZWdpc3RlcmVk
Q29tbWFuZHMgOiBkZWZhdWx0Q29tbWFuZHMoKTsKLSAgICBpZiAobV9zdXBwb3J0c1NlZWtpbmcg
PT0gY2xpZW50KCkuc3VwcG9ydHNTZWVraW5nKCkgJiYgbV9jdXJyZW50Q29tbWFuZHMgPT0gc3Vw
cG9ydGVkQ29tbWFuZHMpCisgICAgaWYgKG1fY3VycmVudENvbW1hbmRzID09IHN1cHBvcnRlZENv
bW1hbmRzKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGNvbW1hbmRJbmZvQXJyYXkgPSBh
ZG9wdENGKENGQXJyYXlDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHN1cHBvcnRl
ZENvbW1hbmRzLnNpemUoKSwgJmtDRlR5cGVBcnJheUNhbGxCYWNrcykpOwogICAgIGZvciAoYXV0
byBwbGF0Zm9ybUNvbW1hbmQgOiBzdXBwb3J0ZWRDb21tYW5kcykgewotICAgICAgICBpZiAoaXNT
ZWVrQ29tbWFuZChwbGF0Zm9ybUNvbW1hbmQpICYmICFjbGllbnQoKS5zdXBwb3J0c1NlZWtpbmco
KSkKKyAgICAgICAgaWYgKGlzU2Vla0NvbW1hbmQocGxhdGZvcm1Db21tYW5kKSAmJiAhbV9zdXBw
b3J0c1NlZWtpbmcpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBhdXRvIGNvbW1h
bmQgPSBtZWRpYVJlbW90ZUNvbW1hbmRGb3JQbGF0Zm9ybUNvbW1hbmQocGxhdGZvcm1Db21tYW5k
KTsKQEAgLTEyMyw3ICsxMjMsNiBAQCB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6dXBk
YXRlU3VwcG9ydGVkQ29tbWFuZHMoKQogCiAgICAgTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENv
bW1hbmRzKGNvbW1hbmRJbmZvQXJyYXkuZ2V0KCksIE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdp
bigpLCBudWxscHRyLCBudWxscHRyKTsKICAgICBtX2N1cnJlbnRDb21tYW5kcyA9IHN1cHBvcnRl
ZENvbW1hbmRzOwotICAgIG1fc3VwcG9ydHNTZWVraW5nID0gY2xpZW50KCkuc3VwcG9ydHNTZWVr
aW5nKCk7CiB9CiAKIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6UmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFjKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQpAQCAtMTQwLDggKzEz
OSw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
KFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYKICAgICAgICAgTE9HKE1lZGlhLCAiUmVtb3Rl
Q29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMgLSByZWNlaXZlZCBj
b21tYW5kICV1IiwgY29tbWFuZCk7CiAKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZSBwbGF0Zm9ybUNvbW1hbmQgeyBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6Tm9Db21tYW5kIH07Ci0gICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQgYXJndW1lbnQgeyAwIH07Ci0gICAgICAgIFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqIGFyZ3VtZW50UHRyID0gbnVsbHB0cjsKKyAgICAg
ICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1bWVudDsK
ICAgICAgICAgTVJNZWRpYVJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzIHN0YXR1cyA9IE1STWVk
aWFSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CiAKICAgICAgICAgc3dpdGNoIChj
b21tYW5kKSB7CkBAIC0xNzAsNyArMTY4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAg
ICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gUGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZFNlZWtp
bmdCYWNrd2FyZENvbW1hbmQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBNUk1l
ZGlhUmVtb3RlQ29tbWFuZFNlZWtUb1BsYXliYWNrUG9zaXRpb246IHsKLSAgICAgICAgICAgIGlm
ICghY2xpZW50LnN1cHBvcnRzU2Vla2luZygpKSB7CisgICAgICAgICAgICBpZiAoIW1fc3VwcG9y
dHNTZWVraW5nKSB7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gTVJNZWRpYVJlbW90ZUNvbW1h
bmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZDsKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KQEAgLTE4MSwyMSArMTc5LDIzIEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1h
Yzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgQ0ZO
dW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlwZSwgJmFyZ3VtZW50
LmFzRG91YmxlKTsKLSAgICAgICAgICAgIGFyZ3VtZW50UHRyID0gJmFyZ3VtZW50OworICAgICAg
ICAgICAgZG91YmxlIHBvc2l0aW9uID0gMDsKKyAgICAgICAgICAgIENGTnVtYmVyR2V0VmFsdWUo
cG9zaXRpb25SZWYsIGtDRk51bWJlckRvdWJsZVR5cGUsICZwb3NpdGlvbik7CisgICAgICAgICAg
ICBhcmd1bWVudCA9IHBvc2l0aW9uOwogICAgICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gUGxh
dGZvcm1NZWRpYVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBNUk1lZGlhUmVtb3RlQ29tbWFu
ZFNraXBGb3J3YXJkOgogICAgICAgICBjYXNlIE1STWVkaWFSZW1vdGVDb21tYW5kU2tpcEJhY2t3
YXJkOgotICAgICAgICAgICAgaWYgKCFjbGllbnQuc3VwcG9ydHNTZWVraW5nKCkpIHsKKyAgICAg
ICAgICAgIGlmICghbV9zdXBwb3J0c1NlZWtpbmcpIHsKICAgICAgICAgICAgICAgICBzdGF0dXMg
PSBNUk1lZGlhUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkOwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoYXV0byBw
b3NpdGlvblJlZiA9IHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1
ZShvcHRpb25zLCBrTVJNZWRpYVJlbW90ZU9wdGlvblNraXBJbnRlcnZhbCkpKSB7Ci0gICAgICAg
ICAgICAgICAgQ0ZOdW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlw
ZSwgJmFyZ3VtZW50LmFzRG91YmxlKTsKLSAgICAgICAgICAgICAgICBhcmd1bWVudFB0ciA9ICZh
cmd1bWVudDsKKyAgICAgICAgICAgICAgICBkb3VibGUgcG9zaXRpb24gPSAwOworICAgICAgICAg
ICAgICAgIENGTnVtYmVyR2V0VmFsdWUocG9zaXRpb25SZWYsIGtDRk51bWJlckRvdWJsZVR5cGUs
ICZwb3NpdGlvbik7CisgICAgICAgICAgICAgICAgYXJndW1lbnQgPSBwb3NpdGlvbjsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gKGNvbW1hbmQgPT0gTVJN
ZWRpYVJlbW90ZUNvbW1hbmRTa2lwRm9yd2FyZCkgPyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tp
cEZvcndhcmRDb21tYW5kIDogUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBCYWNrd2FyZENvbW1h
bmQ7CkBAIC0yMTIsNyArMjEyLDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICB9
OwogCiAgICAgICAgIGlmICh3ZWFrVGhpcyAmJiBzdGF0dXMgIT0gTVJNZWRpYVJlbW90ZUNvbW1h
bmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZCkKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2Ns
aWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQocGxhdGZvcm1Db21tYW5kLCBhcmd1
bWVudFB0cik7CisgICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKHBsYXRmb3JtQ29tbWFuZCwgYXJndW1lbnQpOwogCiAgICAgICAgIGNv
bXBsZXRpb24oKF9fYnJpZGdlIENGQXJyYXlSZWYpQFtAKHN0YXR1cyldKTsKICAgICB9KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA1OGE0NDAxOTk2NGVkYTAyNGI1ZGE0
MDkxMzAzYmMzZTRmMjM1ZDkzLi44YzZjNmRlNzUwMjMxMmUwODgzMjNlNjA0YTVkZGMyM2RlOWRk
NjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00MzA1LDcgKzQzMDUs
NyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbHM6OnBvc3RSZW1vdGVDb250cm9sQ29tbWFu
ZChjb25zdCBTdHJpbmcmIGNvbW1hbmRTdHJpbgogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwogCi0gICAgUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZChjb21tYW5kLCAmcGFyYW1ldGVyKTsKKyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKGNvbW1hbmQsIHBhcmFtZXRlcik7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKaW5kZXggNjM1ODUyNmE2NTcxOWQ5YThmMzgzYzg2Nzg3NTM0YzA5ZGU4NmQ1NS4uM2Vh
Nzk0NjA4NDEwNzA2NWJlODI4ZDRkYTJhOWQ2ZGE2MDdlOTkyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0
CkBAIC0xMzgsNiArMTM4LDcgQEAgc2V0KFdlYktpdF9NRVNTQUdFU19JTl9GSUxFUwogICAgIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eQogICAgIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhU291cmNlUHJveHkKKyAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lclByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eQogCiAgICAgR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkKQEAgLTIz
MCw2ICsyMzEsNyBAQCBzZXQoV2ViS2l0X01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2UKICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24KICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVM
ZWdhY3lDRE1TZXNzaW9uCisgICAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyCiAgICAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZQogCiAgICAgV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGNhOTRl
NzYwYTAxZDM1NzIxMzFmZGE2MzY3YTg3N2YyYTI1NjgxMzUuLmZiNjIxM2M0Y2MzNmYzMzg1Mjhj
MThiOTQ4ZjlhYzg4OTM4YjEyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKQEAgLTQwLDYgKzQwLDcgQEAgJChQUk9KRUNUX0RJUikvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4KICQo
UFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVGV4dFRyYWNr
UHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VmlkZW9UcmFja1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0xNTAsNiArMTUxLDcgQEAgJChQUk9KRUNU
X0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURl
Y29kZXJBVkYubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIp
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24ubWVzc2FnZXMuaW4K
KyQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5t
ZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKaW5kZXggOWI1YjBmZWY4NWVlYTM5NTFlZjY0OTc2M2U2YWVkZGM1NjhjMjY1Ni4uNDYz
NTVhMTE4ZjI5MDkzZGU0ZjFkMmY2ZWY4MjBmZGE5ZGFlZTVmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yNDcsNiArMjQ3LDEyIEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
U291cmNlUHJveHlNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJl
Z2lzdHJ5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyTWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWVzc2FnZVJlY2VpdmVyLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZE1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDU3NWFmN2E0NGEyNDEzYmE2YjY1MmY4YjM3ZDA0NWNm
OTRlZDVhZTUuLmNiMDRlMWE2NmVjODI0Y2U0YzQxYzkyYzUwOGYzNWEzMTI5NWM3MmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE4NSw2ICsxODUsNyBAQCBNRVNTQUdFX1JFQ0VJ
VkVSUyA9IFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24g
XAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXIgXAog
CVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24gXAorCVdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciBcCiAJV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9XZWJTdG9yYWdl
L1N0b3JhZ2VBcmVhTWFwIFwKQEAgLTI1OSw2ICsyNjAsNyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9
IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAogCUdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAogCUdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXgg
ODkxYTdhMGMzOGM3NTY0YjEyNzRmZTkyYmE5OWE2YTFkMWUzNjliYS4uNmI5NzI2MzBlMWM5MjI4
YzEzODNjNDc3OTZjYzFkYWI5NDA5N2MzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNDgsNiArNDgsNyBA
QAogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVjb3JkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJl
bW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgogI2luY2x1ZGUg
IlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuaCIKICNpbmNsdWRlICJSZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyTWVzc2FnZXMuaCIKQEAgLTQxOSw2ICs0
MjAsMjAgQEAgdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlQXVkaW9IYXJk
d2FyZUxpc3RlbmVyKFJlbW90ZUF1ZGlvSGFyZHdhcmUKICAgICBBU1NFUlRfVU5VU0VEKGZvdW5k
LCBmb3VuZCk7CiB9CiAKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVt
b3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIg
aWRlbnRpZmllcikKK3sKKyAgICBhdXRvIGFkZFJlc3VsdCA9IG1fcmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyTWFwLmVuc3VyZShpZGVudGlmaWVyLCBbJl0oKSB7CisgICAgICAgIHJldHVybiBt
YWtlVW5pcXVlPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5PigqdGhpcywgV1RGTW92
ZShpZGVudGlmaWVyKSk7CisgICAgfSk7CisgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFk
ZFJlc3VsdC5pc05ld0VudHJ5KTsKK30KKwordm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpyZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICBib29sIGZvdW5kID0gbV9yZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJNYXAucmVtb3ZlKGlkZW50aWZpZXIpOworICAgIEFTU0VSVF9VTlVT
RUQoZm91bmQsIGZvdW5kKTsKK30KKwogYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpk
aXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXIm
IGRlY29kZXIpCiB7CiAjaWYgRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDgzOWZmOGY1
OWQ0NjNiY2FlYjRlOGMyMTg1YzRlMzVhMmViZWQ3YjIuLmY3NmI3YTZjYzllNTdkZjU3YjYyYWZl
NmRjOTY1ODdhNDU2ZGEwNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlck1hcC5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0
ZW5lcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nlc3Npb25JZGVudGlmaWVy
LmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oIgog
I2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCiAKICNpbmNsdWRlIDxXZWJD
b3JlL0xpYldlYlJUQ0VudW1UcmFpdHMuaD4KQEAgLTYzLDYgKzY0LDcgQEAgY2xhc3MgUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk7CiBjbGFzcyBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
cjsKIGNsYXNzIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOwogY2xhc3MgUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyUHJveHk7CitjbGFzcyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94
eTsKIGNsYXNzIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ7CiBjbGFzcyBSZW1vdGVHcmFwaGljc0Nv
bnRleHRHTDsKIGNsYXNzIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXI7CkBA
IC0xNjAsNiArMTYyLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY3JlYXRlQXVkaW9IYXJkd2Fy
ZUxpc3RlbmVyKFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcklkZW50aWZpZXIpOwogICAgIHZv
aWQgcmVsZWFzZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcihSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVu
ZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIGNyZWF0ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlbGVhc2VSZW1v
dGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllcik7
CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZvaWQgZGlkQ2xvc2UoSVBD
OjpDb25uZWN0aW9uJikgZmluYWw7CkBAIC0yMzgsNiArMjQyLDggQEAgcHJpdmF0ZToKIAogICAg
IHVzaW5nIFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlQXVk
aW9IYXJkd2FyZUxpc3RlbmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUF1ZGlv
SGFyZHdhcmVMaXN0ZW5lclByb3h5Pj47CiAgICAgUmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVy
TWFwIG1fcmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyTWFwOworICAgIHVzaW5nIFJlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5Pj47CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFwIG1fcmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGI1Njk4ZGVhYjhhNTc4ZDE0MDQ5YTFiYTM0NWU2
MGQyZDU4MjhhMzMuLjMwZjVjMjk4ODYyMTRmOTEwNGYxYWZhMDgzNWIyMzhhMzZkYzZlZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00Miw2ICs0Miw4IEBAIG1lc3NhZ2VzIC0+
IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgV2FudHNEaXNwYXRjaE1lc3NhZ2UgewogI2VuZGlm
CiAgICAgQ3JlYXRlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKFdlYktpdDo6UmVtb3RlQXVkaW9IYXJk
d2FyZUxpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIFJlbGVhc2VBdWRpb0hhcmR3
YXJlTGlzdGVuZXIoV2ViS2l0OjpSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJJZGVudGlmaWVy
IGlkZW50aWZpZXIpCisgICAgQ3JlYXRlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFdlYktpdDo6UmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQorICAgIFJlbGVh
c2VSZW1vdGVDb21tYW5kTGlzdGVuZXIoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTUy
MDg0Y2E5MTEyYTY3YjRhYTI1ZDY2ZGRhZjk3ZTRjMjNlYmY2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5LmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgiCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaCIK
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlCisKK1JlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQ
cm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBncHVDb25uZWN0aW9uLCBSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyJiYgaWRlbnRpZmllcikKKyAgICA6IG1fZ3B1Q29u
bmVjdGlvbihncHVDb25uZWN0aW9uKQorICAgICwgbV9pZGVudGlmaWVyKFdURk1vdmUoaWRlbnRp
ZmllcikpCisgICAgLCBtX2xpc3RlbmVyKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6
Y3JlYXRlKCp0aGlzKSkKK3sKK30KKworUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6
On5SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSgpID0gZGVmYXVsdDsKKwordm9pZCBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29t
bWFuZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYg
YXJndW1lbnQpCit7CisgICAgbV9ncHVDb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OkRpZFJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZChjb21tYW5kLCBhcmd1bWVudCksIG1faWRlbnRpZmllcik7Cit9CisKK3ZvaWQgUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OnVwZGF0ZVN1cHBvcnRlZENvbW1hbmRzKGJv
b2wgc3VwcG9ydHNTZWVraW5nKQoreworICAgIG1fbGlzdGVuZXItPnNldFN1cHBvcnRzU2Vla2lu
ZyhzdXBwb3J0c1NlZWtpbmcpOworICAgIG1fbGlzdGVuZXItPnVwZGF0ZVN1cHBvcnRlZENvbW1h
bmRzKCk7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNhNjhmMWJiNmVkYTczYzMwZmEwM2I2NTFhZWYzZGRmMjVkZTU4ZWMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJNZXNz
YWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVu
dGlmaWVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuaD4KKyNp
bmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVj
dGlvbjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M7CisKK2NsYXNzIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5CisgICAg
OiBwcml2YXRlIFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudAorICAgICwgcHJp
dmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitwdWJsaWM6CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkoR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyYsIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIm
Jik7CisgICAgdmlydHVhbCB+UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkoKTsKKwor
cHJpdmF0ZToKKyAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisKKyAgICAv
LyBSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQKKyAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJv
bENvbW1hbmRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29tbWFuZEFyZ3VtZW50JikgZmluYWw7CisKKyAgICAvLyBNZXNzYWdlcworICAgIHZvaWQgdXBk
YXRlU3VwcG9ydGVkQ29tbWFuZHMoYm9vbCBzdXBwb3J0c1NlZWtpbmcpOworCisgICAgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyYgbV9ncHVDb25uZWN0aW9uOworICAgIFJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lcklkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI+IG1fbGlzdGVuZXI7Cit9OworCit9CisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2Vz
LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM0MDkzNGMyNGQxNzIwYTdhZThjZWQ2N2Y5OGQzMDRlM2I0MmFjYmIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKK21lc3NhZ2VzIC0+IFJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5IE5vdFJlZkNvdW50ZWQgeworICAgIFVwZGF0ZVN1
cHBvcnRlZENvbW1hbmRzKGJvb2wgc3VwcG9ydHNTZWVraW5nKQorfQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IGEzNjE3N2VlMGUyYmViYWRk
YjE5MmQzYjM3YjU0YzNiMTUzYjFiOWEuLjgzYjc5YTkwNTUyMzU0ZjRmNGUwYjVkYjU1YWFhYmEz
NjY4OTZjODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAt
MzE3LDYgKzMxNyw3IEBAIGRlZiB0eXBlc190aGF0X2Nhbm5vdF9iZV9mb3J3YXJkX2RlY2xhcmVk
KCk6CiAgICAgICAgICdXZWJLaXQ6OlJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVyJywK
ICAgICAgICAgJ1dlYktpdDo6UmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXInLAogICAgICAg
ICAnV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXInLAorICAgICAgICAnV2ViS2l0
OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktp
dDo6UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJlbmRl
cmluZ0JhY2tlbmRJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UlRDRGVjb2RlcklkZW50
aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJLaXQvU291cmNlcy50eHQKaW5kZXggODc1ODYyZThkMTdlZTI0ZGFkNGY3YjFlZmQwNWQ0NWRk
MTkzZjQ2Yi4uZDhkM2M5ZTRiZTA3NTExMmVlZTMwMDA1OTk1MWYwNDNjZmFkYTM3NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXMudHh0CkBAIC00Niw2ICs0Niw3IEBAIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNv
dXJjZS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAK
IEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwCiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVGV4dFRyYWNr
UHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvVHJhY2tQcm94eS5jcHAKQEAg
LTU5OSw2ICs2MDAsNyBAQCBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJN
SU1FVHlwZUNhY2hlLmNwcCBAbm8tdW5pZnkKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1l
ZGlhUmVzb3VyY2VQcm94eS5jcHAKK1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lci5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3Rl
LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVmlkZW9UcmFja1ByaXZhdGVSZW1vdGUuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBj
MTA2MTMxYTliMTY5YTU0Nzk1NmM2YWE4OWQwYWRkNDc2MDU2ZmU0Li5jMGE5YjI1OWY2MDE1OGUy
MTFlN2NhYjExY2RlNDliNGQ5Yzk4MjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE4NjEsNiArMTg2MSw4IEBACiAJCUNENzhFMTE1
MURCN0Q3RUQwMDE0QTJERSAvKiBGdWxsc2NyZWVuQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDc4RTExMzFEQjdEN0VEMDAxNEEyREUgLyog
RnVsbHNjcmVlbkNsaWVudC5oICovOyB9OwogCQlDRDc4RTExNzFEQjdEQzBBMDAxNEEyREUgLyog
QVBJRnVsbHNjcmVlbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0Q3OEUxMTYxREI3REMwQTAwMTRBMkRFIC8qIEFQSUZ1bGxzY3JlZW5DbGll
bnQuaCAqLzsgfTsKIAkJQ0Q3OEUxMTkxREI3RTVBRDAwMTRBMkRFIC8qIF9XS0Z1bGxzY3JlZW5E
ZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0Q3OEUxMTgxREI3RTVBRDAwMTRBMkRFIC8qIF9XS0Z1bGxzY3JlZW5EZWxlZ2F0ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEODI1MkRFMjVE
NDkxNkMwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDgyNTJEQTI1RDQ5MTU0MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQlDRDgyNTJFMjI1RDQ5MTkxMDA4NjJG
RDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODI1MkUwMjVENDkx
ODQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OwogCQlDREEwNDFGNDFBQ0UyMTA1MDA0QTEzRUMgLyogQmFja0JvYXJkU2Vydmlj
ZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
QTA0MUYzMUFDRTIxMDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNlc1NQSS5oICovOyB9Owog
CQlDREEyOUExQjFDQkRCRjQxMDA5MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBMjlBMTkxQ0JE
QkY0MTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCAqLzsgfTsKIAkJQ0RBMjlB
MjAxQ0JFQjVGQjAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBMjlBMUUxQ0JFQjVG
QjAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oICovOyB9OwpAQCAtNTU0
OCw2ICs1NTUwLDE5IEBACiAJCUNENzhFMTEzMURCN0Q3RUQwMDE0QTJERSAvKiBGdWxsc2NyZWVu
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZ1bGxzY3JlZW5DbGll
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q3OEUxMTYxREI3REMwQTAwMTRB
MkRFIC8qIEFQSUZ1bGxzY3JlZW5DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQVBJRnVsbHNjcmVlbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDRDc4RTExODFEQjdFNUFEMDAxNEEyREUgLyogX1dLRnVsbHNjcmVlbkRlbGVnYXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0Z1bGxzY3JlZW5EZWxlZ2F0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJEMTI1RDQ2NEFCMDA4NjJGRDggLyog
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJE
MjI1RDQ2NEFCMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQzMjVENDY0QkYwMDg2MkZEOCAvKiBSZW1vdGVS
ZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgy
NTJENDI1RDQ2NTEwMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRp
Zmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlm
aWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQ1MjVENDc2MzEwMDg2
MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRDgyNTJENjI1RDQ3NjMxMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJE
NzI1RDQ3NjU5MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVz
c2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMu
aW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkQ4MjVENDkxNTMwMDg2MkZE
OCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
RDgyNTJEOTI1RDQ5MTU0MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJv
eHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUNEODI1MkRBMjVENDkxNTQwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkRGMjVENDkxODQwMDg2
MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlc1JlcGxpZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXNSZXBsaWVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkUwMjVENDkxODQwMDg2MkZEOCAv
KiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZVJlY2VpdmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyRTEyNUQ0OTE4NTAwODYyRkQ4
IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNEQTA0MUYzMUFDRTIxMDUwMDRBMTNFQyAvKiBCYWNrQm9hcmRTZXJ2aWNl
c1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCYWNrQm9hcmRTZXJ2aWNl
c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREEyOUExODFDQkRCRjQxMDA5
MDFDQ0YgLyogUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNEQTI5QTE5MUNCREJGNDEwMDkwMUNDRiAvKiBQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXliYWNr
U2Vzc2lvbk1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYwMzAsNiAr
NjA0NSwxMCBAQAogCQkJCTFEMzJGODlEMjNBODRDNUIwMEIxRUE2QSAvKiBSZW1vdGVNZWRpYVJl
c291cmNlUHJveHkuY3BwICovLAogCQkJCTFEMzJGODlCMjNBODRCQTYwMEIxRUE2QSAvKiBSZW1v
dGVNZWRpYVJlc291cmNlUHJveHkuaCAqLywKIAkJCQkxREQyQTY0NjI1NUYzMkIxMDBGRjdCNkYg
LyogUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggKi8sCisJCQkJQ0Q4MjUyRDEyNUQ0NjRB
QjAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oICovLAorCQkJCUNEODI1
MkQyMjVENDY0QUIwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwICov
LAorCQkJCUNEODI1MkQzMjVENDY0QkYwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJQ0Q4MjUyRDQyNUQ0NjUxMDAwODYyRkQ4IC8qIFJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaCAqLywKIAkJCQkxREQyQTYzQTI1
NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJ
MUREMkE2MzkyNTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCAq
LywKIAkJCQkxREQyQTY2RjI1NjIyRjExMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5tZXNzYWdlcy5pbiAqLywKQEAgLTYxMTAsNiArNjEyOSw5IEBACiAJCQkJMUREMkE2M0Yy
NTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwICovLAogCQkJCTFE
RDJBNjNFMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggKi8sCiAJ
CQkJMUREMkE2NEEyNTYwRjU0QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkubWVz
c2FnZXMuaW4gKi8sCisJCQkJQ0Q4MjUyRDUyNUQ0NzYzMTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmggKi8sCisJCQkJQ0Q4MjUyRDYyNUQ0NzYzMTAwODYyRkQ4
IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmNwcCAqLywKKwkJCQlDRDgyNTJE
NzI1RDQ3NjU5MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVz
c2FnZXMuaW4gKi8sCiAJCQkJMUREMkE2NjgyNTYxRjY4NDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJj
ZUJ1ZmZlcklkZW50aWZpZXIuaCAqLywKIAkJCQkxREQyQTY0MzI1NUUzRjNEMDBGRjdCNkYgLyog
UmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwICovLAogCQkJCTFERDJBNjQyMjU1RTNGM0QwMEZG
N0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oICovLApAQCAtMTA4ODgsNiArMTA5MTAs
MTIgQEAKIAkJCQkxREQyQTY2MTI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQ
cm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAogCQkJCTFBQzEzMzgzMTg1OTBDNDYwMEYzRUMwNSAv
KiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUFDMTMz
ODQxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLywK
KwkJCQlDRDgyNTJFMDI1RDQ5MTg0MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQlDRDgyNTJFMTI1RDQ5MTg1MDA4NjJGRDgg
LyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaCAqLywKKwkJCQlDRDgyNTJE
RjI1RDQ5MTg0MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXNS
ZXBsaWVzLmggKi8sCisJCQkJQ0Q4MjUyREEyNUQ0OTE1NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQlDRDgyNTJE
OTI1RDQ5MTU0MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNz
YWdlcy5oICovLAorCQkJCUNEODI1MkQ4MjVENDkxNTMwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAogCQkJCTBGNTk0N0E1MTg3
QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8sCiAJCQkJMEY1OTQ3QTYxODdCNTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yTWVzc2FnZXMuaCAqLywKIAkJCQkxREQyQTY2QjI1NjIwMjFFMDBGRjdCNkYg
LyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLApAQCAtMTM3
NjYsNiArMTM3OTQsNyBAQAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRSAvKiBOZXR3b3Jr
UlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTc2OTAx
NDIyRkRENDFCMDBCMTU3NkQgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJFIC8qIE5ldHdvcmtSVENQcm92aWRlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDRDgyNTJERTI1RDQ5MTZDMDA4NjJG
RDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMzFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIE5ldHdvcmtT
b2NrZXRDaGFubmVsTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVDMEIx
Nzc4MUU3Qzg4MEUwMEU5MTIzQyAvKiBOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzkwMjEyQjZBRDQwMEY0OTNGRCAvKiBOUElk
ZW50aWZpZXJEYXRhLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTM5MDcsNiArMTM5MzYsNyBAQAog
CQkJCTJEMTFCNzhEMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlMzEtbW0ubW0gaW4g
U291cmNlcyAqLywKIAkJCQkyRDExQjc4RjIxMjZBMjgzMDA2Rjg4NzggLyogVW5pZmllZFNvdXJj
ZTMyLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3OTAyMTI2QTI4MzAwNkY4ODc4IC8q
IFVuaWZpZWRTb3VyY2UzMi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDRDgyNTJFMjI1RDQ5MTkx
MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCNzkxMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVk
U291cmNlMzMtbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjc5MjIxMjZBMjgzMDA2Rjg4
NzggLyogVW5pZmllZFNvdXJjZTMzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCNzk0MjEy
NkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlMzQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwCmluZGV4IGNlNDA3OTgyYmU4ZjdlNjdiMmU5YWNkM2QzZjUxNTQ4YjliYTYzYjguLjQ0N2Ey
MWE0ZDU4MTlhYzhmZGNlZWQxZTgwODc2OTg0YTM4MzcxNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0xOTEs
OCArMTkxLDcgQEAgYm9vbCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlzcGF0Y2hTeW5jTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzoKIAogdm9pZCBHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBPcHRpb25hbDxkb3VibGU+IGFyZ3VtZW50KQog
ewotICAgIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQg
dmFsdWUgeyBhcmd1bWVudCA/ICphcmd1bWVudCA6IDAgfTsKLSAgICBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRy
b2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50ID8gJnZhbHVlIDogbnVsbHB0cik7CisgICAgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVS
ZW1vdGVDb250cm9sQ29tbWFuZCh0eXBlLCBhcmd1bWVudCk7CiB9CiAKIHZvaWQgR1BVUHJvY2Vz
c0Nvbm5lY3Rpb246OnVwZGF0ZVBhcmFtZXRlcnMoY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42NGE4MzhmNDA3NzkxYWVkNTE0YWM0MjA2ZTM3Y2M1ZmRhMTA4OWI3Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXIuY3BwCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgi
CisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJHUFVQcm9jZXNzUHJveHkuaCIKKyNpbmNs
dWRlICJSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldl
YlByb2Nlc3MuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCitzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyPiBSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGll
bnQmIGNsaWVudCwgV2ViUHJvY2VzcyYgd2ViUHJvY2VzcykKK3sKKyAgICByZXR1cm4gbWFrZVVu
aXF1ZTxSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI+KGNsaWVudCwgd2ViUHJvY2Vzcyk7Cit9
CisKK1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50LCBXZWJQcm9jZXNzJiB3ZWJQ
cm9jZXNzKQorICAgIDogUmVtb3RlQ29tbWFuZExpc3RlbmVyKGNsaWVudCkKKyAgICAsIG1fcHJv
Y2Vzcyh3ZWJQcm9jZXNzKQorICAgICwgbV9pZGVudGlmaWVyKFJlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lcklkZW50aWZpZXI6OmdlbmVyYXRlKCkpCit7CisgICAgYXV0byYgY29ubmVjdGlvbiA9
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7Cisg
ICAgY29ubmVjdGlvbi5hZGRDbGllbnQoKnRoaXMpOworICAgIGNvbm5lY3Rpb24ubWVzc2FnZVJl
Y2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0
KCksICp0aGlzKTsKKyAgICBjb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIobV9p
ZGVudGlmaWVyKSwgeyB9KTsKK30KKworUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjp+UmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyKCkKK3sKKyAgICBhdXRvJiBjb25uZWN0aW9uID0gV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKKyAgICBj
b25uZWN0aW9uLm1lc3NhZ2VSZWNlaXZlck1hcCgpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcigqdGhp
cyk7CisgICAgY29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6R1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6UmVsZWFzZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihtX2lkZW50aWZp
ZXIpLCAwKTsKK30KKwordm9pZCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmdwdVByb2Nl
c3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mKQoreworfQorCit2b2lk
IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5
cGUgdHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVu
dCYgYXJndW1lbnQpCit7CisgICAgbV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKHR5cGUsIGFyZ3VtZW50KTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5YTRmY2VmN2M2ZTA0YmJmNWVlMTU3ZGE1NWE2M2Fi
MGNmZGJkN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oCkBAIC0wLDAgKzEsNzAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2lu
Y2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVy
LmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlQ29tbWFuZExpc3RlbmVyLmg+CisKK25hbWVzcGFjZSBJ
UEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNz
IEdQVVByb2Nlc3NDb25uZWN0aW9uOworY2xhc3MgV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyIGZpbmFsCisgICAgOiBwdWJsaWMgV2ViQ29yZTo6UmVtb3Rl
Q29tbWFuZExpc3RlbmVyCisgICAgLCBwcml2YXRlIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpDbGll
bnQKKyAgICAsIHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyPiBjcmVhdGUoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3Rl
bmVyQ2xpZW50JiwgV2ViUHJvY2VzcyYpOworICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cihXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmLCBXZWJQcm9jZXNzJik7Cisg
ICAgflJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcigpOworCitwcml2YXRlOgorICAgIC8vIElQ
Qzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKworICAgIC8vIEdQVVByb2Nlc3NDb25uZWN0
aW9uOjpDbGllbnQKKyAgICB2b2lkIGdwdVByb2Nlc3NDb25uZWN0aW9uRGlkQ2xvc2UoR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24mKSBmaW5hbDsKKworICAgIC8vIE1lc3NhZ2VzCisgICAgdm9pZCBkaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246
OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpOworCisgICAgV2ViUHJvY2VzcyYgbV9wcm9j
ZXNzOworICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIgbV9pZGVudGlm
aWVyOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlz
dGVuZXIubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzk1YTBlMThiOWM2OTQ5MGYzMmRhZDIzZmNi
ZTk3M2VjMTdlYWExYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLm1lc3NhZ2VzLmluCkBAIC0w
LDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCittZXNz
YWdlcyAtPiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIgTm90UmVmQ291bnRlZCB7CisgICAg
RGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKGVudW06dWludDhfdCBXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIE9wdGlv
bmFsPGRvdWJsZT4gYXJndW1lbnQpCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVu
dGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzE2ZjI5YzZmODVmMTI0
OTY4MjYyODdkZjExOTI1NzQwNDgzYzk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlm
aWVyLmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2VudW0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
SWRlbnRpZmllclR5cGUgeyB9OwordXNpbmcgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRl
bnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRl
bnRpZmllclR5cGU+OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNl
c3Npb25IZWxwZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3Mv
UmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLmNwcAppbmRleCBjYzRjOWRhOTQ2N2I3Njg0OGFkYmY0
YTdhMjFmNmM3NzBkOWVhMTYzLi5kNjc0MWJkNTNkMGQ4YzMyMzQwZjg1N2IyZWVkYzM2YjhiNTY4
NzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9S
ZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5jcHAKQEAgLTEzOSwxNCAr
MTM5LDE0IEBAIHZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyOjphY3RpdmVWaWRlb1JvdXRl
RGlkQ2hhbmdlKFN1cHBvcnRzQWlyUGxheVZpZGVvIHN1CiB7CiAgICAgUmVmUHRyPE1lZGlhUGxh
eWJhY2tUYXJnZXQ+IHRhcmdldE9iamVjdDsKICAgICBpZiAodGFyZ2V0Q29udGV4dC50eXBlKCkg
PT0gTWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQ6OkFWT3V0cHV0Q29udGV4dFR5cGUpCi0gICAg
ICAgIHRhcmdldE9iamVjdCA9IFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3Jl
YXRlKHRhcmdldENvbnRleHQuYXZPdXRwdXRDb250ZXh0KCkpOworICAgICAgICBtX3BsYXliYWNr
VGFyZ2V0ID0gV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldENvY29hOjpjcmVhdGUodGFyZ2V0
Q29udGV4dC5hdk91dHB1dENvbnRleHQoKSk7CiAgICAgZWxzZSB7CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgZm9yIChhdXRvJiBj
bGllbnQgOiBtX2NsaWVudHMpCi0gICAgICAgIGNsaWVudC5hY3RpdmVWaWRlb1JvdXRlRGlkQ2hh
bmdlKHN1cHBvcnRzQWlyUGxheVZpZGVvLCB0YXJnZXRPYmplY3QuY29weVJlZigpLnJlbGVhc2VO
b25OdWxsKCkpOworICAgICAgICBjbGllbnQuYWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZShzdXBw
b3J0c0FpclBsYXlWaWRlbywgKm1fcGxheWJhY2tUYXJnZXQpOwogfQogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYjcyNjZjYTk4YThjYmNjNTg3MmIyMDc5
MGYwMTkyZTIzYjY4ZDkwZS4uODZiYWRlMjE3NTQxMzZhZDNiMzYzZjIzMTE4ZjFhYWJkNjliNjIy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNDcsNiArNDcs
NyBAQAogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU2Vzc2lvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUxl
Z2FjeUNETUZhY3RvcnkuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5LmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgiCiAj
aW5jbHVkZSAiU3BlZWNoUmVjb2duaXRpb25SZWFsdGltZU1lZGlhU291cmNlTWFuYWdlci5oIgog
I2luY2x1ZGUgIlN0b3JhZ2VBcmVhTWFwLmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKQEAgLTEy
Miw2ICsxMjMsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzV2FybWluZy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVnaXN0cmFibGVEb21haW4uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JlbW90ZUNvbW1h
bmRMaXN0ZW5lci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CkBAIC0xOTU4LDYgKzE5NjAsMTEg
QEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRVc2VHUFVQcm9jZXNzRm9yTWVkaWEoYm9vbCB1c2VHUFVQ
cm9jZXNzRm9yTWVkaWEpCiAgICAgICAgIFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6
c2V0Q3JlYXRpb25GdW5jdGlvbihbdGhpc10gKFdlYkNvcmU6OkF1ZGlvSGFyZHdhcmVMaXN0ZW5l
cjo6Q2xpZW50JiBjbGllbnQpIHsgcmV0dXJuIFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6
Y3JlYXRlKGNsaWVudCwgKnRoaXMpOyB9KTsKICAgICBlbHNlCiAgICAgICAgIFdlYkNvcmU6OkF1
ZGlvSGFyZHdhcmVMaXN0ZW5lcjo6cmVzZXRDcmVhdGlvbkZ1bmN0aW9uKCk7CisKKyAgICBpZiAo
dXNlR1BVUHJvY2Vzc0Zvck1lZGlhKQorICAgICAgICBXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXI6OnNldENyZWF0aW9uRnVuY3Rpb24oW3RoaXNdIChXZWJDb3JlOjpSZW1vdGVDb21tYW5k
TGlzdGVuZXJDbGllbnQmIGNsaWVudCkgeyByZXR1cm4gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyOjpjcmVhdGUoY2xpZW50LCAqdGhpcyk7IH0pOworICAgIGVsc2UKKyAgICAgICAgV2ViQ29y
ZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rpb24oKTsKIH0KIAog
Ym9vbCBXZWJQcm9jZXNzOjpzaG91bGRVc2VSZW1vdGVSZW5kZXJpbmdGb3IoUmVuZGVyaW5nUHVy
cG9zZSBwdXJwb3NlKQo=
</data>
<flag name="commit-queue"
          id="438384"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420022</attachid>
            <date>2021-02-11 12:12:15 -0800</date>
            <delta_ts>2021-02-11 13:49:20 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-221732-20210211121214.patch</filename>
            <type>text/plain</type>
            <size>84660</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI2YzEwNWQyNzRmOGQ5
NGI4ODRhNTM1MGU4MDBiMTlmMzFiMmZiOC4uZTE4ODk3NTBmZWUwNDlhNThjMzMzMDUwZGRlY2Fl
NTY2ZmY5YjVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIxLTAyLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV1bR1BVUF0gTW92
ZSBSZW1vdGVDb21tYW5kTGlzdGVuZXIgaW50byB0aGUgR1BVIFByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTczMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBSZWZhY3RvciBSZW1vdGVDb21tYW5k
TGlzdGVuZXIgdG8gYWxsb3cgaXRzIG1ldGhvZHMgdG8gd29yayBvdmVyIFhQQzoKKworICAgICAg
ICAtIFJhdGhlciB0aGFuIGhhdmluZyBhIHN5bmNocm9ub3VzIGNsaWVudCBtZXRob2QgdG8gcXVl
cnkgd2hldGhlciBzZWVraW5nIGlzCisgICAgICAgICAgc3VwcG9ydGVkLCByZXF1aXJlIGNsaWVu
dHMgdG8gc2V0IHNlZWthYmlsaXR5IGV4cGxpY2l0bHkuCisgICAgICAgIC0gQ2hhbmdlIHRoZSBS
ZW1vdGVDb21tYW5kQXJndW1lbnQgZnJvbSBhIHVuaW9uIHRvIGFuIE9wdGlvbmFsPGRvdWJsZT4u
CisgICAgICAgIC0gQWxsb3cgY2xpZW50cyB0byBxdWVyeSB0aGUgTWVkaWFQbGF5YmFja1Rhcmdl
dCB0aHJvdWdoIHRoZSBzZXNzaW9uIHJhdGhlcgorICAgICAgICAgIHRoYW4gd2FpdCBmb3IgYSBu
b3RpZmljYXRpb24gdGhhdCB0aGUgcGxheWJhY2sgdGFyZ2V0IGNoYW5nZWQuCisKKyAgICAgICAg
QWRkaXRpb25hbGx5LCBhZGQgYSBtaW5pLWZhY3RvcnkgZnVuY3Rpb25hbGl0eSB0byBSZW1vdGVD
b21tYW5kTGlzdGVuZXIgdG8gYWxsb3cKKyAgICAgICAgY2xpZW50cyB0byBzcGVjaWZ5IGEgZGlm
ZmVyZW50IHN1YmNsYXNzIHRvIGJlIGNyZWF0ZWQgYXQgcnVudGltZS4KKworICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2Vp
dmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZCk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmg6CisgICAgICAgICogcGxh
dGZvcm0vTm93UGxheWluZ01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm93UGxheWlu
Z01hbmFnZXI6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAgIChXZWJD
b3JlOjpOb3dQbGF5aW5nTWFuYWdlcjo6c2V0Tm93UGxheWluZ0luZm8pOgorICAgICAgICAoV2Vi
Q29yZTo6Tm93UGxheWluZ01hbmFnZXI6OnN1cHBvcnRzU2Vla2luZyBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9SZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3Rl
Q29tbWFuZExpc3RlbmVyQ3JlYXRpb25GdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW1v
dGVDb21tYW5kTGlzdGVuZXI6OnNldENyZWF0aW9uRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVDb21tYW5kTGlzdGVuZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpzZXRTdXBwb3J0c1NlZWtpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpSZW1vdGVDb21tYW5kTGlzdGVuZXIpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyOjp1cGRhdGVT
dXBwb3J0ZWRDb21tYW5kcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21t
YW5kTGlzdGVuZXI6OmNsaWVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6CisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwcm9jZXNzRGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2E6OnNjaGVkdWxlU2Vzc2lvblN0YXR1c1VwZGF0ZSk6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJT1MubW06CisgICAgICAgIChNZWRpYVNl
c3Npb25IZWxwZXJpT1M6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UpOgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmg6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9T
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6dXBkYXRlU3Vw
cG9ydGVkQ29tbWFuZHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjp1cGRh
dGVTdXBwb3J0ZWRDb21tYW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpwb3N0UmVtb3Rl
Q29udHJvbENvbW1hbmQpOgorCiAyMDIxLTAyLTA1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIE1vdmUgQXVkaW9IYXJkd2FyZUxpc3RlbmVyIGludG8gdGhlIEdQ
VSBQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGEzOTlmZDcyZTUzY2JiMTQ2N2IxYmYzZmM4Nzk5ODhkMTUz
ZDQxMmQuLmQ5NmQ5ZTk5OTViMGFmZjlmZThmOTEwODUyNGEzOTU1NjFjYWQ5YWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDcgQEAKKzIwMjEtMDItMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0NvY29hXVtHUFVQXSBNb3ZlIFJlbW90ZUNvbW1hbmRMaXN0ZW5l
ciBpbnRvIHRoZSBHUFUgUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIxNzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29u
LgorCisgICAgICAgIEFkZCBhIG5ldyBSZW1vdGUvUHJveHkgY2xhc3MgcGFpciB0byBmYWNpbGl0
YXRlIFJlbW90ZUNvbW1hbmRMaXN0ZW5lciBiZWluZworICAgICAgICBjcmVhdGVkIGluIHRoZSBH
UFUgUHJvY2Vzcy4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpjcmVhdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKToKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAg
ICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1h
bmQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6
dXBkYXRlU3VwcG9ydGVkQ29tbWFuZHMpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVSZW1vdGVDb21tYW5kKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVh
dGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6flJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcik6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25E
aWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
SWRlbnRpZmllci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVN
ZWRpYVNlc3Npb25IZWxwZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNlc3Np
b25IZWxwZXI6OmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0VXNl
R1BVUHJvY2Vzc0Zvck1lZGlhKToKKwogMjAyMS0wMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lciBpbnRvIHRo
ZSBHUFUgUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgKaW5kZXggYTIzMjIwNjAzODg4YWI0YjlkZGEyOTY3ZDJmY2QxODIxYmFmYzk0Ny4u
ZjFjNGI1YmEzNjU3NDExNTNmM2ZkYTlmMWE5ZWI1NTE3MWE0NmMyZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0xMTUsNyArMTE1LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG1heVJlc3VtZVBsYXliYWNrKGJvb2wgc2hvdWxkUmVzdW1l
KSBvdmVycmlkZTsKICAgICB2b2lkIHN1c3BlbmRQbGF5YmFjaygpIG92ZXJyaWRlOwogICAgIGJv
b2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopIG92ZXJyaWRlIHsgfQorICAg
IHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb21tYW5kQXJndW1lbnQmKSBvdmVycmlkZSB7IH0KICAgICBib29sIHN1cHBvcnRzU2Vl
a2luZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBzaG91bGRP
dmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpJbnRlcnJ1cHRpb25UeXBlKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAg
IGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYjdjZjEyZjQzZjgyZjgz
MzI4N2Y4NzQ2YjI2MjhhYjJiNWRlYmQwZi4uYzhhZTJkNjZiMWU5OWMxY2VlMTQ4N2Q1ZjAwOGVi
MWY2ODA1NzVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC03NTE1LDcgKzc1MTUsNyBAQCBNZWRpYVNlc3Npb25JZGVudGlmaWVyIEhUTUxNZWRpYUVsZW1l
bnQ6Om1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZpZXIoKSBjb25zdAogICAgIHJldHVybiBtX21l
ZGlhU2Vzc2lvbi0+bWVkaWFTZXNzaW9uSWRlbnRpZmllcigpOwogfQogCi12b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqIGFyZ3VtZW50KQordm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKIHsKICAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsIGNvbW1hbmQpOwogCkBAIC03NTQ0LDE4ICs3NTQ0LDE4IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlNraXBGb3J3YXJkQ29tbWFuZDoKICAgICAgICAgaWYgKGFyZ3VtZW50
KQotICAgICAgICAgICAgb2Zmc2V0ID0gYXJndW1lbnQtPmFzRG91YmxlOworICAgICAgICAgICAg
b2Zmc2V0ID0gKmFyZ3VtZW50OwogICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9u
KG9mZnNldCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246
OlNraXBCYWNrd2FyZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAgICAgICAg
IG9mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgICAgIG9mZnNldCA9ICphcmd1
bWVudDsKICAgICAgICAgaGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbigwIC0gb2Zmc2V0KTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxh
eWJhY2tQb3NpdGlvbkNvbW1hbmQ6CiAgICAgICAgIEFTU0VSVChhcmd1bWVudCk7CiAgICAgICAg
IGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24o
YXJndW1lbnQtPmFzRG91YmxlKTsKKyAgICAgICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9z
aXRpb24oKmFyZ3VtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
eyB9IC8vIERvIG5vdGhpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5k
ZXggYTcwMjNhMzU5ZjlmNjlkYWFiYzE1MWEzMWU0NmI1M2I2ZWE2MTZiOC4uY2NjYmI4MzFlM2Ey
NmE4YzE5Y2JjNzRkN2UxZmM4N2RlNWExYmE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKQEAgLTg2Myw3ICs4NjMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVzdW1l
QXV0b3BsYXlpbmcoKSBvdmVycmlkZTsKICAgICB2b2lkIG1heVJlc3VtZVBsYXliYWNrKGJvb2wg
c2hvdWxkUmVzdW1lKSBvdmVycmlkZTsKICAgICBib29sIGNhblJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Ci0gICAgdm9pZCBkaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1h
bmRBcmd1bWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNv
bnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKSBvdmVycmlk
ZTsKICAgICBib29sIHNob3VsZE92ZXJyaWRlQmFja2dyb3VuZFBsYXliYWNrUmVzdHJpY3Rpb24o
UGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVCYWNrZ3JvdW5kTG9hZGluZ1Jlc3RyaWN0aW9uKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDgzOTZmZjZm
NDYzMjgyOGU2MDM5YTVkM2Y0OWQ2ODNiMTE5MTdiMjUuLmY1OGNkY2Q4YTg1NjRjMTA3NTQxMTFk
YTljZjdkZjMzOTc5MTI4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcApAQCAtMTAyNiw3ICsxMDI2LDcgQEAgYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjphbGxvd3NQbGF5YmFja0NvbnRyb2xzRm9yQXV0b3BsYXlpbmdBdWRpbygpIGNvbnN0CiB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKLXZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21t
YW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBhcmd1bWVudCkKK3ZvaWQgTWVk
aWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSBjb21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50
JiBhcmd1bWVudCkKIHsKICAgICBhdXRvKiB3aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5k
b21XaW5kb3coKTsKICAgICBhdXRvKiBzZXNzaW9uID0gd2luZG93ID8gJk5hdmlnYXRvck1lZGlh
U2Vzc2lvbjo6bWVkaWFTZXNzaW9uKHdpbmRvdy0+bmF2aWdhdG9yKCkpIDogbnVsbHB0cjsKQEAg
LTEwNTYsMTYgKzEwNTYsMTYgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXAKICAgICAgICAgaWYg
KCFhcmd1bWVudCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgYWN0aW9uRGV0YWlscy5h
Y3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWt0bzsKLSAgICAgICAgYWN0aW9uRGV0YWls
cy5zZWVrVGltZSA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgYWN0aW9uRGV0YWlscy5z
ZWVrVGltZSA9ICphcmd1bWVudDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTa2lwRm9yd2Fy
ZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGFjdGlvbkRldGFp
bHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAgICAgICAgICAgIGFjdGlvbkRl
dGFpbHMuc2Vla09mZnNldCA9ICphcmd1bWVudDsKICAgICAgICAgYWN0aW9uRGV0YWlscy5hY3Rp
b24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtmb3J3YXJkOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFNraXBCYWNrd2FyZENvbW1hbmQ6CiAgICAgICAgIGlmIChhcmd1bWVudCkKLSAgICAg
ICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LT5hc0RvdWJsZTsKKyAg
ICAgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9ICphcmd1bWVudDsKICAgICAgICAg
YWN0aW9uRGV0YWlscy5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtiYWNrd2FyZDsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBOZXh0VHJhY2tDb21tYW5kOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCAwNzU3OTBiNTRkYWJiODVkMTljYzg5
M2ViMDFlOTUyNTk2ZTYwMjJkLi43Y2JmN2EzMzE0MWM0MjUyMjE4NGYwMDE2MzhhYWE3Y2RjMGVl
NmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtMTc1
LDcgKzE3NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04p
Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQqID0gbnVsbHB0cikgZmluYWw7
CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQmID0gV1RGOjpudWxsb3B0KSBm
aW5hbDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTm93UGxheWluZ01hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93
UGxheWluZ01hbmFnZXIuY3BwCmluZGV4IDVkM2RjOTNlZTc2OWQ5OTk0YzZlYWY3MDU0YTJjZTkz
NmFiZTU0NjYuLjBiZGY0MDRkMTllODY3MTYzMzdjN2Q3ZTRmOTdjODQxOTQ5ZTJkNzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5jcHAKQEAgLTM1LDIy
ICszNSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBOb3dQbGF5aW5nTWFuYWdlcjo6Tm93UGxh
eWluZ01hbmFnZXIoKSA9IGRlZmF1bHQ7CiBOb3dQbGF5aW5nTWFuYWdlcjo6fk5vd1BsYXlpbmdN
YW5hZ2VyKCkgPSBkZWZhdWx0OwogCi12b2lkIE5vd1BsYXlpbmdNYW5hZ2VyOjpkaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSB0eXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFu
ZEFyZ3VtZW50KiBhcmd1bWVudCkKK3ZvaWQgTm93UGxheWluZ01hbmFnZXI6OmRpZFJlY2VpdmVS
ZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlIHR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5k
QXJndW1lbnQmIGFyZ3VtZW50KQogewogICAgIEFTU0VSVChtX25vd1BsYXlpbmdJbmZvKTsKIAot
ICAgIGlmICghbV9jbGllbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIE9wdGlvbmFsPGRvdWJs
ZT4gdmFsdWU7Ci0gICAgaWYgKGFyZ3VtZW50KQotICAgICAgICB2YWx1ZSA9IGFyZ3VtZW50LT5h
c0RvdWJsZTsKLSAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5
cGUsIHZhbHVlKTsKLX0KLQotYm9vbCBOb3dQbGF5aW5nTWFuYWdlcjo6c3VwcG9ydHNTZWVraW5n
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ub3dQbGF5aW5nSW5mbyAmJiBtX25vd1BsYXlpbmdJ
bmZvLT5zdXBwb3J0c1NlZWtpbmc7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVu
dC0+ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50KTsKIH0KIAog
dm9pZCBOb3dQbGF5aW5nTWFuYWdlcjo6Y2xlYXJOb3dQbGF5aW5nSW5mb0NsaWVudChDbGllbnQm
IGNsaWVudCkKQEAgLTcyLDYgKzYyLDcgQEAgdm9pZCBOb3dQbGF5aW5nTWFuYWdlcjo6c2V0Tm93
UGxheWluZ0luZm8oQ2xpZW50JiBjbGllbnQsIE5vd1BsYXlpbmdJbmZvJiYgbm93UGwKICAgICBp
ZiAoIW1fcmVtb3RlQ29tbWFuZExpc3RlbmVyKQogICAgICAgICBtX3JlbW90ZUNvbW1hbmRMaXN0
ZW5lciA9IFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6Y3JlYXRlKCp0aGlzKTsKIAorICAgIG1fcmVt
b3RlQ29tbWFuZExpc3RlbmVyLT5zZXRTdXBwb3J0c1NlZWtpbmcobm93UGxheWluZ0luZm8uc3Vw
cG9ydHNTZWVraW5nKTsKICAgICBtX2NsaWVudCA9IG1ha2VXZWFrUHRyKGNsaWVudCk7CiAgICAg
bV9ub3dQbGF5aW5nSW5mbyA9IFdURk1vdmUobm93UGxheWluZ0luZm8pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaAppbmRleCA3YzlkNWZmMDFhOWJmYmQx
YjhlMTY0MGM5MWExZTdkOGM0YWEyN2EyLi4xYjY3OGM4MjA2ZjVkMGFmOWQ3Zjc3ODRhMmVjOTQz
YWJmYTAwMTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5n
TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2Vy
LmgKQEAgLTQwLDggKzQwLDcgQEAgcHVibGljOgogICAgIE5vd1BsYXlpbmdNYW5hZ2VyKCk7CiAg
ICAgfk5vd1BsYXlpbmdNYW5hZ2VyKCk7CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBl
LCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KikgZmlu
YWw7Ci0gICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29t
bWFuZEFyZ3VtZW50JikgZmluYWw7CiAKICAgICBjbGFzcyBDbGllbnQgOiBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8Q2xpZW50PiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAKaW5kZXggNWIyYTkxZjJjNWI0ODBmZmY1
Y2Q4NDIyOTYzMTIyNTg0ODUxNWNmZi4uMDJiNWU3ZGEzMDE2NTRlNzIzMTVhNjY3MzI5ZDBkMTM0
MDYyYTNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFu
ZExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SZW1vdGVDb21tYW5k
TGlzdGVuZXIuY3BwCkBAIC0yNiwxNiArMjYsNTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCIKIAorI2lmIFBMQVRGT1JNKE1BQykKKyNp
bmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMuaCIKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyNpbmNsdWRlICJSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaCIKKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpCitzdGF0
aWMgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpDcmVhdGlvbkZ1bmN0aW9uJiByZW1vdGVDb21tYW5k
TGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
UmVtb3RlQ29tbWFuZExpc3RlbmVyOjpDcmVhdGlvbkZ1bmN0aW9uPiBjcmVhdGlvbkZ1bmN0aW9u
OworICAgIHJldHVybiBjcmVhdGlvbkZ1bmN0aW9uOworfQogCi1zdGQ6OnVuaXF1ZV9wdHI8UmVt
b3RlQ29tbWFuZExpc3RlbmVyPiBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShSZW1vdGVD
b21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkKK3ZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpzZXRDcmVhdGlvbkZ1bmN0aW9uKENyZWF0aW9uRnVuY3Rpb24mJiBmdW5jdGlvbikKIHsKLSAg
ICByZXR1cm4gbWFrZVVuaXF1ZTxSZW1vdGVDb21tYW5kTGlzdGVuZXI+KGNsaWVudCk7CisgICAg
cmVtb3RlQ29tbWFuZExpc3RlbmVyQ3JlYXRpb25GdW5jdGlvbigpID0gV1RGTW92ZShmdW5jdGlv
bik7CiB9CiAKK3ZvaWQgUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpyZXNldENyZWF0aW9uRnVuY3Rp
b24oKQoreworICAgIHJlbW90ZUNvbW1hbmRMaXN0ZW5lckNyZWF0aW9uRnVuY3Rpb24oKSA9IFtd
IChSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCkgeworI2lmIFBMQVRGT1JNKE1B
QykKKyAgICAgICAgcmV0dXJuIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6Y3JlYXRlKGNsaWVu
dCk7CisjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgICAgICByZXR1cm4gUmVtb3RlQ29t
bWFuZExpc3RlbmVySU9TOjpjcmVhdGUoY2xpZW50KTsKKyNlbHNlCisgICAgICAgIHJldHVybiBS
ZW1vdGVDb21tYW5kTGlzdGVuZXI6OmNyZWF0ZShjbGllbnQpOwogI2VuZGlmCisgICAgfTsKK30K
Kworc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVtb3RlQ29tbWFuZExp
c3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCit7Cisg
ICAgaWYgKCFyZW1vdGVDb21tYW5kTGlzdGVuZXJDcmVhdGlvbkZ1bmN0aW9uKCkpCisgICAgICAg
IHJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOworICAgIHJldHVybiByZW1vdGVDb21tYW5kTGlzdGVu
ZXJDcmVhdGlvbkZ1bmN0aW9uKCkoY2xpZW50KTsKK30KKworUmVtb3RlQ29tbWFuZExpc3RlbmVy
OjpSZW1vdGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGll
bnQpCisgICAgOiBtX2NsaWVudChjbGllbnQpCit7Cit9CisKK1JlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6flJlbW90ZUNvbW1hbmRMaXN0ZW5lcigpID0gZGVmYXVsdDsKKwogCiB2b2lkIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lcjo6c2NoZWR1bGVTdXBwb3J0ZWRDb21tYW5kc1VwZGF0ZSgpCiB7CkBAIC00
Niw2ICs4NCwxNSBAQCB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6c2NoZWR1bGVTdXBwb3J0
ZWRDb21tYW5kc1VwZGF0ZSgpCiAgICAgfQogfQogCit2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6c2V0U3VwcG9ydHNTZWVraW5nKGJvb2wgc3VwcG9ydHMpCit7CisgICAgaWYgKG1fc3VwcG9y
dHNTZWVraW5nID09IHN1cHBvcnRzKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3N1cHBvcnRz
U2Vla2luZyA9IHN1cHBvcnRzOworICAgIHNjaGVkdWxlU3VwcG9ydGVkQ29tbWFuZHNVcGRhdGUo
KTsKK30KKwogdm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmFkZFN1cHBvcnRlZENvbW1hbmQo
UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kKQog
ewogICAgIG1fcmVnaXN0ZXJlZENvbW1hbmRzLmFkZChjb21tYW5kKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgKaW5kZXggNjdhY2JhYTg2NGQx
MTZiZjAyMzExYjE0MzQ4ODAzNGJhMDZjOTZiZi4uOGFmNjVhZDIyNzVjYjcxZDM5NDk2MmFiZjcz
YmU4NjI0OGJmOTk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3Rl
Q29tbWFuZExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUmVtb3RlQ29t
bWFuZExpc3RlbmVyLmgKQEAgLTM1LDIxICszNSwyNSBAQCBjbGFzcyBSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCgpID0gZGVmYXVsdDsKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHN1cHBv
cnRzU2Vla2luZygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQm
KSA9IDA7CiB9OwogCi1jbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXIgeworY2xhc3MgV0VCQ09S
RV9FWFBPUlQgUmVtb3RlQ29tbWFuZExpc3RlbmVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gY3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVu
dCYpOwotICAgIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGll
bnQmIGNsaWVudCkgOiBtX2NsaWVudChjbGllbnQpIHsgfQotICAgIHZpcnR1YWwgflJlbW90ZUNv
bW1hbmRMaXN0ZW5lcigpID0gZGVmYXVsdDsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJl
bW90ZUNvbW1hbmRMaXN0ZW5lcj4gY3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYp
OworICAgIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQm
KTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVDb21tYW5kTGlzdGVuZXIoKTsKKworICAgIHVzaW5nIENy
ZWF0aW9uRnVuY3Rpb24gPSBGdW5jdGlvbjxzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExp
c3RlbmVyPihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmKT47CisgICAgc3RhdGljIHZvaWQg
c2V0Q3JlYXRpb25GdW5jdGlvbihDcmVhdGlvbkZ1bmN0aW9uJiYpOworICAgIHN0YXRpYyB2b2lk
IHJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOwogCiAgICAgdm9pZCBhZGRTdXBwb3J0ZWRDb21tYW5k
KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpOwogICAgIHZv
aWQgcmVtb3ZlU3VwcG9ydGVkQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoKSB7IH0KICAgICB2b2lkIHNjaGVkdWxlU3VwcG9ydGVkQ29tbWFuZHNVcGRhdGUoKTsKKyAg
ICB2b2lkIHNldFN1cHBvcnRzU2Vla2luZyhib29sKTsKIAogICAgIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIApAQCAtNTgs
NiArNjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB1c2luZyBSZW1vdGVDb21tYW5kc1NldCA9IEhh
c2hTZXQ8UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgV1RG
OjpJbnRIYXNoPFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU+
LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRzPFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGU+PjsKICAgICBSZW1vdGVDb21tYW5kc1NldCBtX3JlZ2lzdGVyZWRD
b21tYW5kczsKKyAgICBib29sIG1fc3VwcG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKIAogICAgIERl
ZmVycmFibGVUYXNrPFRpbWVyPiBtX3VwZGF0ZUNvbW1hbmRzVGFzazsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAK
aW5kZXggNDM3YzZkMGE1MTY2NDU5MGE0NjliYWQxYmI1ODIyYzE5ODJlMTk0ZC4uNjI3YTFlMGY1
NGJjZWNlMGUyMGI2N2IwNWExOTgzOGU5NzhmZDkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtMjkxLDcg
KzI5MSw3IEBAIGJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb246OmNhblJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZHMoKSBjb25zdAogICAgIHJldHVybiBtX2NsaWVudC5jYW5SZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmRzKCk7CiB9CiAKLXZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFu
ZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJn
dW1lbnQpCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQogewogICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUiwgY29tbWFuZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCmluZGV4IGQ5NTJmYTk1
YjNmMjczNzBlNjBiNGM2OTEyZTk1MWE1ZDY4ZDBkYjEuLmIxMzMwM2M2MDU1ZWY2YTI1MTM3OTEw
ZmFmZmUzMjE5OGYyOTkyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaApAQCAtMTE0LDEwICsxMTQsOCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEJ1ZmZlcmluZygpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCByZXN1bWVCdWZmZXJpbmcoKSB7IH0KLSAgICAKLSAgICB0eXBlZGVmIHVuaW9uIHsKLSAg
ICAgICAgZG91YmxlIGFzRG91YmxlOwotICAgIH0gUmVtb3RlQ29tbWFuZEFyZ3VtZW50OworCisg
ICAgdXNpbmcgUmVtb3RlQ29tbWFuZEFyZ3VtZW50ID0gT3B0aW9uYWw8ZG91YmxlPjsKIAogICAg
IGVudW0gUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIDogdWludDhfdCB7CiAgICAgICAgIE5vQ29t
bWFuZCwKQEAgLTEzNiw3ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFByZXZpb3VzVHJhY2tD
b21tYW5kLAogICAgIH07CiAgICAgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRz
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCog
PSBudWxscHRyKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50
JiA9IFdURjo6bnVsbG9wdCk7CiAgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdDsKIAog
ICAgIGVudW0gRGlzcGxheVR5cGUgOiB1aW50OF90IHsKQEAgLTIzOSw3ICsyMzcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRQbGF5YmFjaygpID0gMDsKIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRzKCkgY29uc3QgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21t
YW5kQXJndW1lbnQmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2Vla2luZygpIGNv
bnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXggZjdmZDU3MzdlYzg4
MmQ5Yjk2Njk0ZDJjYWExMzgyZWQ0OGEzOWRkMy4uM2ZmYzYyOGVjMjA1ZGQ4NDU4ZDgwNDQ1YmI0
OWU1ODBjOGFiYjYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC00MzAsNyArNDMw
LDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25DYW5Qcm9kdWNl
QXVkaW9DaGFuZ2VkKCkKICAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAotdm9pZCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21t
YW5kLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KiBh
cmd1bWVudCkKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpwcm9jZXNzRGlkUmVj
ZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCiB7CiAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb24q
IGFjdGl2ZVNlc3Npb24gPSBjdXJyZW50U2Vzc2lvbigpOwogICAgIGlmICghYWN0aXZlU2Vzc2lv
biB8fCAhYWN0aXZlU2Vzc2lvbi0+Y2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCAyM2RkOTljNmRlZjJmZjRkYWVmODdhMDUwOThiNzc1
YTgwN2RjYTEzLi4yYmMzYzJmMjQ3NDhlMTE5Y2EzZmRmMzcxOTgxOTIzOWM3Mzg5ZmM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJlbW92ZUF1ZGlvQ2FwdHVyZVNvdXJjZShQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6QXVkaW9DYXB0dXJlU291cmNlJik7CiAgICAgYm9vbCBoYXNBdWRpb0NhcHR1cmVTb3Vy
Y2UoUGxhdGZvcm1NZWRpYVNlc3Npb246OkF1ZGlvQ2FwdHVyZVNvdXJjZSYgc291cmNlKSBjb25z
dCB7IHJldHVybiBtX2F1ZGlvQ2FwdHVyZVNvdXJjZXMuY29udGFpbnMoc291cmNlKTsgfQogCi0g
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0
IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpOwogCiAgICAgYm9vbCBpc0lu
dGVycnVwdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcnJ1cHRlZDsgfQogICAgIGJvb2wgaGFz
Tm9TZXNzaW9uKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCmluZGV4IGQ5ZTM3
YWE4MzdkNjU4YTk3MmU2YmI0MzI2NmM2Y2RkNjBkZmE5NzkuLjIzNzllZWM0ZTUyNjVmYjBhMWI5
ODUyNjVhMWRhZWYyNmE1NDQ5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCkBAIC05
Myw4ICs5Myw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIC8vIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudAotICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgY29uc3QgUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCogYXJndW1lbnQpIGZpbmFs
IHsgcHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBlLCBhcmd1bWVudCk7
IH0KLSAgICBib29sIHN1cHBvcnRzU2Vla2luZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGNvbXB1
dGVTdXBwb3J0c1NlZWtpbmcoKTsgfQorICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlw
ZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJn
dW1lbnQpIGZpbmFsIHsgcHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBl
LCBhcmd1bWVudCk7IH0KIAogICAgIC8vIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lckNsaWVudAogICAg
IHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdl
ckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNz
aW9uTWFuYWdlckNvY29hLm1tCmluZGV4IGQzNGZjOTBkN2FhOGI2NDA4MDc5YTMxNDg4YWIwMmY4
MGI3ZjI4OTYuLjNkYTNlODk0MWFiZDQ2YzBhOTY3MjA2MjFiZjAyYjQ4NzRlZWYzZGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1h
bmFnZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9N
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KQEAgLTE1Myw4ICsxNTMsMTAgQEAgdm9pZCBNZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2E6OnByZXBhcmVUb1NlbmRVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdCgpCiB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6c2NoZWR1bGVTZXNzaW9uU3Rh
dHVzVXBkYXRlKCkKIHsKICAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpc10gKCkgbXV0
YWJsZSB7Ci0gICAgICAgIGlmIChtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lcikKKyAgICAgICAgaWYg
KG1fcmVtb3RlQ29tbWFuZExpc3RlbmVyKSB7CisgICAgICAgICAgICBtX3JlbW90ZUNvbW1hbmRM
aXN0ZW5lci0+c2V0U3VwcG9ydHNTZWVraW5nKGNvbXB1dGVTdXBwb3J0c1NlZWtpbmcoKSk7CiAg
ICAgICAgICAgICBtX3JlbW90ZUNvbW1hbmRMaXN0ZW5lci0+dXBkYXRlU3VwcG9ydGVkQ29tbWFu
ZHMoKTsKKyAgICAgICAgfQogCiAgICAgICAgIHVwZGF0ZU5vd1BsYXlpbmdJbmZvKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25I
ZWxwZXJJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Np
b25IZWxwZXJJT1MuaAppbmRleCBiMTJjY2Q3NDVjNjAxMjU2MTNhOGM2NTUyNzE0NTY2OGI4ZWFl
ZTEzLi4xMDg3ODQ2MmJkMDExYjA4NGQxYmRhMGE4MzkxODQ3ZjhmYTU4ZGRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9T
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhl
bHBlcklPUy5oCkBAIC03OSwxMiArNzksMTUgQEAgcHVibGljOgogICAgIGJvb2wgYWN0aXZlVmlk
ZW9Sb3V0ZVN1cHBvcnRzQWlyUGxheVZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVWaWRl
b1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW87IH0KICAgICBib29sIGlzUGxheWluZ1RvQXV0b21v
dGl2ZUhlYWRVbml0KCkgY29uc3QgeyByZXR1cm4gbV9pc1BsYXlpbmdUb0F1dG9tb3RpdmVIZWFk
VW5pdDsgfQogCisgICAgTWVkaWFQbGF5YmFja1RhcmdldCogcGxheWJhY2tUYXJnZXQoKSBjb25z
dCB7IHJldHVybiBtX3BsYXliYWNrVGFyZ2V0LmdldCgpOyB9CisKIHByb3RlY3RlZDoKICAgICBX
ZWFrSGFzaFNldDxNZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ+IG1fY2xpZW50czsKICAgICB1aW50
MzJfdCBtX21vbml0b3JpbmdXaXJlbGVzc1JvdXRlc0NvdW50IHsgMCB9OwogICAgIGJvb2wgbV9p
c0V4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWN0
aXZlVmlkZW9Sb3V0ZVN1cHBvcnRzQWlyUGxheVZpZGVvIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aXNQbGF5aW5nVG9BdXRvbW90aXZlSGVhZFVuaXQgeyBmYWxzZSB9OworICAgIFJlZlB0cjxNZWRp
YVBsYXliYWNrVGFyZ2V0PiBtX3BsYXliYWNrVGFyZ2V0OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJ
T1MubW0KaW5kZXggZDgwZGJjODIzNzk5OTRhMmJjMDhhYmY2MDUyYmZjMTEwMzk4NGE4MC4uMjI0
N2YyNjRmYTg0ODI3ZmY0NGFmYjkxZDZhYTNjMTgxOWViNDM5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9T
Lm1tCkBAIC0yODgsMTAgKzI4OCwxMCBAQCB2b2lkIE1lZGlhU2Vzc2lvbkhlbHBlcmlPUzo6YWN0
aXZlQXVkaW9Sb3V0ZURpZENoYW5nZShib29sIHNob3VsZFBhdXNlKQogCiB2b2lkIE1lZGlhU2Vz
c2lvbkhlbHBlcmlPUzo6YWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZSgpCiB7Ci0gICAgYXV0byBw
bGF5YmFja1RhcmdldCA9IE1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKCk7Ci0gICAg
bV9hY3RpdmVWaWRlb1JvdXRlU3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBwbGF5YmFja1RhcmdldC0+
c3VwcG9ydHNSZW1vdGVWaWRlb1BsYXliYWNrKCk7CisgICAgbV9wbGF5YmFja1RhcmdldCA9IE1l
ZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKCk7CisgICAgbV9hY3RpdmVWaWRlb1JvdXRl
U3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBtX3BsYXliYWNrVGFyZ2V0LT5zdXBwb3J0c1JlbW90ZVZp
ZGVvUGxheWJhY2soKTsKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fY2xpZW50cykKLSAgICAg
ICAgY2xpZW50LmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2UobV9hY3RpdmVWaWRlb1JvdXRlU3Vw
cG9ydHNBaXJQbGF5VmlkZW8gPyBTdXBwb3J0c0FpclBsYXlWaWRlbzo6WWVzIDogU3VwcG9ydHNB
aXJQbGF5VmlkZW86Ok5vLCBwbGF5YmFja1RhcmdldC5jb3B5UmVmKCkpOworICAgICAgICBjbGll
bnQuYWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZShtX2FjdGl2ZVZpZGVvUm91dGVTdXBwb3J0c0Fp
clBsYXlWaWRlbyA/IFN1cHBvcnRzQWlyUGxheVZpZGVvOjpZZXMgOiBTdXBwb3J0c0FpclBsYXlW
aWRlbzo6Tm8sICptX3BsYXliYWNrVGFyZ2V0KTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2Vy
SU9TLm1tCmluZGV4IDVjZTY0M2U5YjFmMDk1MzFiMjc1MDE3ODk0YTQyNTdlOTU0ZmNjMmMuLjMx
Njk2NWEyNjU0YjM2MjQwMGZhYTQyNDU0MWE4MTA4MTgwZTYwNjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2Vy
SU9TLm1tCkBAIC0xNDIsMTUgKzE0MiwxMSBAQCBib29sIE1lZGlhU2Vzc2lvbk1hbmFnZXJpT1M6
OnNlc3Npb25XaWxsQmVnaW5QbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgc2VzcwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBM
QVRGT1JNKFdBVENIT1MpCi0gICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0KSB7Ci0gICAgICAgIG1f
cGxheWJhY2tUYXJnZXQgPSBNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2E6OmNyZWF0ZSgpOwotICAg
ICAgICBtX3BsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBtX3BsYXliYWNrVGFy
Z2V0LT5zdXBwb3J0c1JlbW90ZVZpZGVvUGxheWJhY2soKTsKLSAgICB9Ci0KLSAgICBBTFdBWVNf
TE9HKExPR0lERU5USUZJRVIsICJQbGF5YmFjayBUYXJnZXQgU3VwcG9ydHMgQWlyUGxheSBWaWRl
byA9ICIsIG1fcGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbyk7Ci0gICAgaWYgKG1f
cGxheWJhY2tUYXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbykKLSAgICAgICAgc2Vzc2lvbi5zZXRQ
bGF5YmFja1RhcmdldCgqbV9wbGF5YmFja1RhcmdldC5jb3B5UmVmKCkpOwotICAgIHNlc3Npb24u
c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQobV9wbGF5YmFja1RhcmdldFN1cHBvcnRzQWly
UGxheVZpZGVvKTsKKyAgICBhdXRvIHBsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8g
PSBNZWRpYVNlc3Npb25IZWxwZXI6OnNoYXJlZEhlbHBlcigpLmFjdGl2ZVZpZGVvUm91dGVTdXBw
b3J0c0FpclBsYXlWaWRlbygpOworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIlBsYXli
YWNrIFRhcmdldCBTdXBwb3J0cyBBaXJQbGF5IFZpZGVvID0gIiwgcGxheWJhY2tUYXJnZXRTdXBw
b3J0c0FpclBsYXlWaWRlbyk7CisgICAgaWYgKGF1dG8gdGFyZ2V0ID0gTWVkaWFTZXNzaW9uSGVs
cGVyOjpzaGFyZWRIZWxwZXIoKS5wbGF5YmFja1RhcmdldCgpOyB0YXJnZXQgJiYgcGxheWJhY2tU
YXJnZXRTdXBwb3J0c0FpclBsYXlWaWRlbykKKyAgICAgICAgc2Vzc2lvbi5zZXRQbGF5YmFja1Rh
cmdldCgqdGFyZ2V0KTsKKyAgICBzZXNzaW9uLnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0
KHBsYXliYWNrVGFyZ2V0U3VwcG9ydHNBaXJQbGF5VmlkZW8pOwogI2VuZGlmCiAKICAgICBwcm92
aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElESWZOZWNlc3NhcnkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MuaAppbmRl
eCA3MzllODBkNzM4M2ZhMTliNjUwNDUyY2M2OWJkNWFkNTAzZDA5NzNjLi5mOGQ1NjU4MDU5ZjVh
MTBkZTQwYmU1OTI0Njc0NzYzNjIyN2Y5ZjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oCkBAIC0zMyw2ICszMyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9T
IGZpbmFsIDogcHVibGljIFJlbW90ZUNvbW1hbmRMaXN0ZW5lciwgcHVibGljIENhbk1ha2VXZWFr
UHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUz4gewogcHVibGljOgorICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TPiBjcmVhdGUoUmVtb3RlQ29tbWFu
ZExpc3RlbmVyQ2xpZW50Jik7CiAgICAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNv
bW1hbmRMaXN0ZW5lckNsaWVudCYpOwogICAgIHZpcnR1YWwgflJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklPUygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3Rl
Q29tbWFuZExpc3RlbmVySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQppbmRleCAzY2FiNWU0NDRlMGRlODZlOTM5MDE0YmNjYmE1
ZmZlNzE4NTA4OTk5Li5hMzM0MzVhYWIxYzJkZDU5OTRhMGFiMmRjNDRlOGNmNzFkMWZkYzc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3Rl
bmVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1MubW0KQEAgLTQwLDcgKzQwLDcgQEAgU09GVF9MSU5LX0NMQVNTKE1lZGlhUGxh
eWVyLCBNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnQpCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVtb3Rl
Q29tbWFuZExpc3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGll
bnQpCitzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TPiBSZW1vdGVDb21t
YW5kTGlzdGVuZXJJT1M6OmNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVu
dCkKIHsKICAgICBpZiAoIU1lZGlhUGxheWVyTGlicmFyeSgpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKQEAgLTU4LDcgKzU4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBj
YWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykK
ICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQu
ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQYXVz
ZUNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGF1c2VDb21t
YW5kLCBXVEY6Om51bGxvcHQpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1v
dGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC02OCw3ICs2OCw3IEBAIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNvbW1hbmRM
aXN0ZW5lckNsaWVudCYKICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXNdIHsKICAg
ICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAg
d2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwog
CiAgICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAg
LTc4LDcgKzc4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlz
dGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWlu
VGhyZWFkKFt3ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpUb2dnbGVQbGF5UGF1
c2VDb21tYW5kLCBudWxscHRyKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlRvZ2dsZVBs
YXlQYXVzZUNvbW1hbmQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIHJl
dHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAgLTkzLDcgKzkzLDcg
QEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVt
b3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFr
VGhpcywgY29tbWFuZF0gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJl
bW90ZUNvbnRyb2xDb21tYW5kKGNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBXVEY6
Om51bGxvcHQpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5k
SGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC0xMDgsNyArMTA4LDcgQEAgUmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVy
Q2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcywgY29tbWFuZF0gewog
ICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5k
KGNvbW1hbmQsIG51bGxwdHIpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBXVEY6Om51bGxvcHQpOwogICAgICAg
ICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nl
c3M7CkBAIC0xMTcsMTYgKzExNywxNiBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJlbW90
ZUNvbW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAgbV9z
ZWVrVG9UaW1lVGFyZ2V0ID0gW1tjZW50ZXIgY2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRd
IGFkZFRhcmdldFdpdGhIYW5kbGVyOl4oTVBSZW1vdGVDb21tYW5kRXZlbnQgKmV2ZW50KSB7CiAg
ICAgICAgIEFTU0VSVChbZXZlbnQgaXNLaW5kT2ZDbGFzczpnZXRNUENoYW5nZVBsYXliYWNrUG9z
aXRpb25Db21tYW5kRXZlbnRDbGFzcygpXSk7CiAKLSAgICAgICAgaWYgKCFjbGllbnQuc3VwcG9y
dHNTZWVraW5nKCkpCisgICAgICAgIGlmICghbV9zdXBwb3J0c1NlZWtpbmcpCiAgICAgICAgICAg
ICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c0NvbW1hbmRGYWlsZWQ7CiAKICAg
ICAgICAgTVBDaGFuZ2VQbGF5YmFja1Bvc2l0aW9uQ29tbWFuZEV2ZW50KiBzZWVrRXZlbnQgPSBz
dGF0aWNfY2FzdDxNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kRXZlbnQgKj4oZXZlbnQp
OwogICAgICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50IGFy
Z3VtZW50IHsgW3NlZWtFdmVudCBwb3NpdGlvblRpbWVdIH07CiAKLSAgICAgICAgY2FsbE9uTWFp
blRocmVhZChbd2Vha1RoaXMsIGFyZ3VtZW50XSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W3dlYWtUaGlzLCBhcmd1bWVudCA9IFdURk1vdmUoYXJndW1lbnQpXSB7CiAgICAgICAgICAgICBp
ZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtU
aGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kLCAmYXJndW1lbnQpOworICAg
ICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFu
ZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQsIGFy
Z3VtZW50KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhh
bmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0
ZW5lcklPUzo6flJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUygpCiAKIHZvaWQgUmVtb3RlQ29tbWFu
ZExpc3RlbmVySU9TOjp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcygpCiB7Ci0gICAgW1tbZ2V0TVBS
ZW1vdGVDb21tYW5kQ2VudGVyQ2xhc3MoKSBzaGFyZWRDb21tYW5kQ2VudGVyXSBjaGFuZ2VQbGF5
YmFja1Bvc2l0aW9uQ29tbWFuZF0gc2V0RW5hYmxlZDohIWNsaWVudCgpLnN1cHBvcnRzU2Vla2lu
ZygpXTsKKyAgICBbW1tnZXRNUFJlbW90ZUNvbW1hbmRDZW50ZXJDbGFzcygpIHNoYXJlZENvbW1h
bmRDZW50ZXJdIGNoYW5nZVBsYXliYWNrUG9zaXRpb25Db21tYW5kXSBzZXRFbmFibGVkOm1fc3Vw
cG9ydHNTZWVraW5nXTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5oCmluZGV4IGI3MWNhZDg2ODE4ODg0ZDk5
NGFmYWVlODM4MjY5Yzk1ZjcxZGNjNjQuLjgxYzc1OTlhMDQxZDE1MjhlZWEwMWVlNmFiN2Q3MDVi
NDE1Yzc0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVD
b21tYW5kTGlzdGVuZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWFjLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMgOiBwdWJsaWMgUmVtb3RlQ29t
bWFuZExpc3RlbmVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UmVtb3RlQ29tbWFuZExpc3RlbmVy
TWFjPiB7CiBwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5k
TGlzdGVuZXJNYWM+IGNyZWF0ZShSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmKTsKICAgICBS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50Jik7CiAg
ICAgdmlydHVhbCB+UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLm1tCmlu
ZGV4IDM4YWE1N2Y4NzhjZGZjM2YzZWRiY2JiNmNkZDk3ZjdkMjUzODNkNmMuLjU3NzlkNjk1MTU0
YmZiZmIzNWFhOWZkZDA0ZmUyNGE5Y2UzZDM4YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5tbQpAQCAtNjQsNyAr
NjQsNyBAQCBzdGF0aWMgT3B0aW9uYWw8TVJNZWRpYVJlbW90ZUNvbW1hbmQ+IG1lZGlhUmVtb3Rl
Q29tbWFuZEZvclBsYXRmb3JtQ29tbWFuZChQbGF0ZgogICAgIHJldHVybiB7IH07CiB9CiAKLXN0
ZDo6dW5pcXVlX3B0cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IFJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjo6Y3JlYXRlKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQorc3RkOjp1bmlx
dWVfcHRyPFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYz4gUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
OjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpCiB7CiAgICAgcmV0
dXJuIG1ha2VVbmlxdWU8UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjPihjbGllbnQpOwogfQpAQCAt
MTAyLDEyICsxMDIsMTIgQEAgdm9pZCBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OnVwZGF0ZVN1
cHBvcnRlZENvbW1hbmRzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byYgc3VwcG9ydGVk
Q29tbWFuZHMgPSAhbV9yZWdpc3RlcmVkQ29tbWFuZHMuaXNFbXB0eSgpID8gbV9yZWdpc3RlcmVk
Q29tbWFuZHMgOiBkZWZhdWx0Q29tbWFuZHMoKTsKLSAgICBpZiAobV9zdXBwb3J0c1NlZWtpbmcg
PT0gY2xpZW50KCkuc3VwcG9ydHNTZWVraW5nKCkgJiYgbV9jdXJyZW50Q29tbWFuZHMgPT0gc3Vw
cG9ydGVkQ29tbWFuZHMpCisgICAgaWYgKG1fY3VycmVudENvbW1hbmRzID09IHN1cHBvcnRlZENv
bW1hbmRzKQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGNvbW1hbmRJbmZvQXJyYXkgPSBh
ZG9wdENGKENGQXJyYXlDcmVhdGVNdXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHN1cHBvcnRl
ZENvbW1hbmRzLnNpemUoKSwgJmtDRlR5cGVBcnJheUNhbGxCYWNrcykpOwogICAgIGZvciAoYXV0
byBwbGF0Zm9ybUNvbW1hbmQgOiBzdXBwb3J0ZWRDb21tYW5kcykgewotICAgICAgICBpZiAoaXNT
ZWVrQ29tbWFuZChwbGF0Zm9ybUNvbW1hbmQpICYmICFjbGllbnQoKS5zdXBwb3J0c1NlZWtpbmco
KSkKKyAgICAgICAgaWYgKGlzU2Vla0NvbW1hbmQocGxhdGZvcm1Db21tYW5kKSAmJiAhbV9zdXBw
b3J0c1NlZWtpbmcpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBhdXRvIGNvbW1h
bmQgPSBtZWRpYVJlbW90ZUNvbW1hbmRGb3JQbGF0Zm9ybUNvbW1hbmQocGxhdGZvcm1Db21tYW5k
KTsKQEAgLTEyMyw3ICsxMjMsNiBAQCB2b2lkIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6dXBk
YXRlU3VwcG9ydGVkQ29tbWFuZHMoKQogCiAgICAgTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENv
bW1hbmRzKGNvbW1hbmRJbmZvQXJyYXkuZ2V0KCksIE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdp
bigpLCBudWxscHRyLCBudWxscHRyKTsKICAgICBtX2N1cnJlbnRDb21tYW5kcyA9IHN1cHBvcnRl
ZENvbW1hbmRzOwotICAgIG1fc3VwcG9ydHNTZWVraW5nID0gY2xpZW50KCkuc3VwcG9ydHNTZWVr
aW5nKCk7CiB9CiAKIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6UmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWFjKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYgY2xpZW50KQpAQCAtMTQwLDggKzEz
OSw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
KFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYKICAgICAgICAgTE9HKE1lZGlhLCAiUmVtb3Rl
Q29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMgLSByZWNlaXZlZCBj
b21tYW5kICV1IiwgY29tbWFuZCk7CiAKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZSBwbGF0Zm9ybUNvbW1hbmQgeyBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6Tm9Db21tYW5kIH07Ci0gICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQgYXJndW1lbnQgeyAwIH07Ci0gICAgICAgIFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqIGFyZ3VtZW50UHRyID0gbnVsbHB0cjsKKyAgICAg
ICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1bWVudDsK
ICAgICAgICAgTVJNZWRpYVJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzIHN0YXR1cyA9IE1STWVk
aWFSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CiAKICAgICAgICAgc3dpdGNoIChj
b21tYW5kKSB7CkBAIC0xNzAsNyArMTY4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpS
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAg
ICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gUGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZFNlZWtp
bmdCYWNrd2FyZENvbW1hbmQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBNUk1l
ZGlhUmVtb3RlQ29tbWFuZFNlZWtUb1BsYXliYWNrUG9zaXRpb246IHsKLSAgICAgICAgICAgIGlm
ICghY2xpZW50LnN1cHBvcnRzU2Vla2luZygpKSB7CisgICAgICAgICAgICBpZiAoIW1fc3VwcG9y
dHNTZWVraW5nKSB7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gTVJNZWRpYVJlbW90ZUNvbW1h
bmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZDsKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KQEAgLTE4MSwyMSArMTc5LDIzIEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1h
Yzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgQ0ZO
dW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlwZSwgJmFyZ3VtZW50
LmFzRG91YmxlKTsKLSAgICAgICAgICAgIGFyZ3VtZW50UHRyID0gJmFyZ3VtZW50OworICAgICAg
ICAgICAgZG91YmxlIHBvc2l0aW9uID0gMDsKKyAgICAgICAgICAgIENGTnVtYmVyR2V0VmFsdWUo
cG9zaXRpb25SZWYsIGtDRk51bWJlckRvdWJsZVR5cGUsICZwb3NpdGlvbik7CisgICAgICAgICAg
ICBhcmd1bWVudCA9IHBvc2l0aW9uOwogICAgICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gUGxh
dGZvcm1NZWRpYVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBNUk1lZGlhUmVtb3RlQ29tbWFu
ZFNraXBGb3J3YXJkOgogICAgICAgICBjYXNlIE1STWVkaWFSZW1vdGVDb21tYW5kU2tpcEJhY2t3
YXJkOgotICAgICAgICAgICAgaWYgKCFjbGllbnQuc3VwcG9ydHNTZWVraW5nKCkpIHsKKyAgICAg
ICAgICAgIGlmICghbV9zdXBwb3J0c1NlZWtpbmcpIHsKICAgICAgICAgICAgICAgICBzdGF0dXMg
PSBNUk1lZGlhUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkOwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoYXV0byBw
b3NpdGlvblJlZiA9IHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1
ZShvcHRpb25zLCBrTVJNZWRpYVJlbW90ZU9wdGlvblNraXBJbnRlcnZhbCkpKSB7Ci0gICAgICAg
ICAgICAgICAgQ0ZOdW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlw
ZSwgJmFyZ3VtZW50LmFzRG91YmxlKTsKLSAgICAgICAgICAgICAgICBhcmd1bWVudFB0ciA9ICZh
cmd1bWVudDsKKyAgICAgICAgICAgICAgICBkb3VibGUgcG9zaXRpb24gPSAwOworICAgICAgICAg
ICAgICAgIENGTnVtYmVyR2V0VmFsdWUocG9zaXRpb25SZWYsIGtDRk51bWJlckRvdWJsZVR5cGUs
ICZwb3NpdGlvbik7CisgICAgICAgICAgICAgICAgYXJndW1lbnQgPSBwb3NpdGlvbjsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gKGNvbW1hbmQgPT0gTVJN
ZWRpYVJlbW90ZUNvbW1hbmRTa2lwRm9yd2FyZCkgPyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tp
cEZvcndhcmRDb21tYW5kIDogUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBCYWNrd2FyZENvbW1h
bmQ7CkBAIC0yMTIsNyArMjEyLDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICB9
OwogCiAgICAgICAgIGlmICh3ZWFrVGhpcyAmJiBzdGF0dXMgIT0gTVJNZWRpYVJlbW90ZUNvbW1h
bmRIYW5kbGVyU3RhdHVzQ29tbWFuZEZhaWxlZCkKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2Ns
aWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQocGxhdGZvcm1Db21tYW5kLCBhcmd1
bWVudFB0cik7CisgICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKHBsYXRmb3JtQ29tbWFuZCwgYXJndW1lbnQpOwogCiAgICAgICAgIGNv
bXBsZXRpb24oKF9fYnJpZGdlIENGQXJyYXlSZWYpQFtAKHN0YXR1cyldKTsKICAgICB9KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA1OGE0NDAxOTk2NGVkYTAyNGI1ZGE0
MDkxMzAzYmMzZTRmMjM1ZDkzLi44YzZjNmRlNzUwMjMxMmUwODgzMjNlNjA0YTVkZGMyM2RlOWRk
NjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00MzA1LDcgKzQzMDUs
NyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbHM6OnBvc3RSZW1vdGVDb250cm9sQ29tbWFu
ZChjb25zdCBTdHJpbmcmIGNvbW1hbmRTdHJpbgogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwogCi0gICAgUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZChjb21tYW5kLCAmcGFyYW1ldGVyKTsKKyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKGNvbW1hbmQsIHBhcmFtZXRlcik7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0
cy50eHQKaW5kZXggNjM1ODUyNmE2NTcxOWQ5YThmMzgzYzg2Nzg3NTM0YzA5ZGU4NmQ1NS4uM2Vh
Nzk0NjA4NDEwNzA2NWJlODI4ZDRkYTJhOWQ2ZGE2MDdlOTkyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0
CkBAIC0xMzgsNiArMTM4LDcgQEAgc2V0KFdlYktpdF9NRVNTQUdFU19JTl9GSUxFUwogICAgIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eQogICAgIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhU291cmNlUHJveHkKKyAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lclByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eQogCiAgICAgR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkKQEAgLTIz
MCw2ICsyMzEsNyBAQCBzZXQoV2ViS2l0X01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2UKICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24KICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVM
ZWdhY3lDRE1TZXNzaW9uCisgICAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyCiAgICAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZQogCiAgICAgV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGNhOTRl
NzYwYTAxZDM1NzIxMzFmZGE2MzY3YTg3N2YyYTI1NjgxMzUuLmZiNjIxM2M0Y2MzNmYzMzg1Mjhj
MThiOTQ4ZjlhYzg4OTM4YjEyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKQEAgLTQwLDYgKzQwLDcgQEAgJChQUk9KRUNUX0RJUikvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkubWVzc2FnZXMuaW4KICQo
UFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVGV4dFRyYWNr
UHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VmlkZW9UcmFja1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0xNTAsNiArMTUxLDcgQEAgJChQUk9KRUNU
X0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVJbWFnZURl
Y29kZXJBVkYubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIp
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24ubWVzc2FnZXMuaW4K
KyQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRM
aXN0ZW5lci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5t
ZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKaW5kZXggOWI1YjBmZWY4NWVlYTM5NTFlZjY0OTc2M2U2YWVkZGM1NjhjMjY1Ni4uNDYz
NTVhMTE4ZjI5MDkzZGU0ZjFkMmY2ZWY4MjBmZGE5ZGFlZTVmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yNDcsNiArMjQ3LDEyIEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
U291cmNlUHJveHlNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJl
Z2lzdHJ5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyTWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWVzc2FnZVJlY2VpdmVyLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZE1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDU3NWFmN2E0NGEyNDEzYmE2YjY1MmY4YjM3ZDA0NWNm
OTRlZDVhZTUuLmNiMDRlMWE2NmVjODI0Y2U0YzQxYzkyYzUwOGYzNWEzMTI5NWM3MmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE4NSw2ICsxODUsNyBAQCBNRVNTQUdFX1JFQ0VJ
VkVSUyA9IFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24g
XAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXIgXAog
CVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24gXAorCVdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciBcCiAJV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9XZWJTdG9yYWdl
L1N0b3JhZ2VBcmVhTWFwIFwKQEAgLTI1OSw2ICsyNjAsNyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9
IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAogCUdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAogCUdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXgg
ODkxYTdhMGMzOGM3NTY0YjEyNzRmZTkyYmE5OWE2YTFkMWUzNjliYS4uNmI5NzI2MzBlMWM5MjI4
YzEzODNjNDc3OTZjYzFkYWI5NDA5N2MzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNDgsNiArNDgsNyBA
QAogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVjb3JkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJl
bW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIgogI2luY2x1ZGUg
IlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuaCIKICNpbmNsdWRlICJSZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyTWVzc2FnZXMuaCIKQEAgLTQxOSw2ICs0
MjAsMjAgQEAgdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNlQXVkaW9IYXJk
d2FyZUxpc3RlbmVyKFJlbW90ZUF1ZGlvSGFyZHdhcmUKICAgICBBU1NFUlRfVU5VU0VEKGZvdW5k
LCBmb3VuZCk7CiB9CiAKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVt
b3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIg
aWRlbnRpZmllcikKK3sKKyAgICBhdXRvIGFkZFJlc3VsdCA9IG1fcmVtb3RlUmVtb3RlQ29tbWFu
ZExpc3RlbmVyTWFwLmVuc3VyZShpZGVudGlmaWVyLCBbJl0oKSB7CisgICAgICAgIHJldHVybiBt
YWtlVW5pcXVlPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5PigqdGhpcywgV1RGTW92
ZShpZGVudGlmaWVyKSk7CisgICAgfSk7CisgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFk
ZFJlc3VsdC5pc05ld0VudHJ5KTsKK30KKwordm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpyZWxlYXNlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICBib29sIGZvdW5kID0gbV9yZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJNYXAucmVtb3ZlKGlkZW50aWZpZXIpOworICAgIEFTU0VSVF9VTlVT
RUQoZm91bmQsIGZvdW5kKTsKK30KKwogYm9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpk
aXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXIm
IGRlY29kZXIpCiB7CiAjaWYgRU5BQkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDgzOWZmOGY1
OWQ0NjNiY2FlYjRlOGMyMTg1YzRlMzVhMmViZWQ3YjIuLmY3NmI3YTZjYzllNTdkZjU3YjYyYWZl
NmRjOTY1ODdhNDU2ZGEwNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlck1hcC5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0
ZW5lcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nlc3Npb25JZGVudGlmaWVy
LmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllci5oIgog
I2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCiAKICNpbmNsdWRlIDxXZWJD
b3JlL0xpYldlYlJUQ0VudW1UcmFpdHMuaD4KQEAgLTYzLDYgKzY0LDcgQEAgY2xhc3MgUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk7CiBjbGFzcyBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
cjsKIGNsYXNzIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOwogY2xhc3MgUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyUHJveHk7CitjbGFzcyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94
eTsKIGNsYXNzIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ7CiBjbGFzcyBSZW1vdGVHcmFwaGljc0Nv
bnRleHRHTDsKIGNsYXNzIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXI7CkBA
IC0xNjAsNiArMTYyLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY3JlYXRlQXVkaW9IYXJkd2Fy
ZUxpc3RlbmVyKFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcklkZW50aWZpZXIpOwogICAgIHZv
aWQgcmVsZWFzZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lcihSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVu
ZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIGNyZWF0ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcihSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlbGVhc2VSZW1v
dGVDb21tYW5kTGlzdGVuZXIoUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllcik7
CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZvaWQgZGlkQ2xvc2UoSVBD
OjpDb25uZWN0aW9uJikgZmluYWw7CkBAIC0yMzgsNiArMjQyLDggQEAgcHJpdmF0ZToKIAogICAg
IHVzaW5nIFJlbW90ZUF1ZGlvSGFyZHdhcmVMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlQXVk
aW9IYXJkd2FyZUxpc3RlbmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUF1ZGlv
SGFyZHdhcmVMaXN0ZW5lclByb3h5Pj47CiAgICAgUmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVy
TWFwIG1fcmVtb3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVyTWFwOworICAgIHVzaW5nIFJlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lck1hcCA9IEhhc2hNYXA8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5Pj47CisgICAgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFwIG1fcmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyTWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGI1Njk4ZGVhYjhhNTc4ZDE0MDQ5YTFiYTM0NWU2
MGQyZDU4MjhhMzMuLjMwZjVjMjk4ODYyMTRmOTEwNGYxYWZhMDgzNWIyMzhhMzZkYzZlZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00Miw2ICs0Miw4IEBAIG1lc3NhZ2VzIC0+
IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgV2FudHNEaXNwYXRjaE1lc3NhZ2UgewogI2VuZGlm
CiAgICAgQ3JlYXRlQXVkaW9IYXJkd2FyZUxpc3RlbmVyKFdlYktpdDo6UmVtb3RlQXVkaW9IYXJk
d2FyZUxpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIFJlbGVhc2VBdWRpb0hhcmR3
YXJlTGlzdGVuZXIoV2ViS2l0OjpSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXJJZGVudGlmaWVy
IGlkZW50aWZpZXIpCisgICAgQ3JlYXRlUmVtb3RlQ29tbWFuZExpc3RlbmVyKFdlYktpdDo6UmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciBpZGVudGlmaWVyKQorICAgIFJlbGVh
c2VSZW1vdGVDb21tYW5kTGlzdGVuZXIoV2ViS2l0OjpSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWUy
YjEyYjViYTM0NzE4YTVkNDY2YWM1NDgzNTI4N2QxYjkzZmI1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5LmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgiCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaCIK
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eTo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
UHJveHkoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgZ3B1Q29ubmVjdGlvbiwgUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllciYmIGlkZW50aWZpZXIpCisgICAgOiBtX2dwdUNv
bm5lY3Rpb24oZ3B1Q29ubmVjdGlvbikKKyAgICAsIG1faWRlbnRpZmllcihXVEZNb3ZlKGlkZW50
aWZpZXIpKQorICAgICwgbV9saXN0ZW5lcihXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXI6
OmNyZWF0ZSgqdGhpcykpCit7Cit9CisKK1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5
Ojp+UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkoKSA9IGRlZmF1bHQ7CisKK3ZvaWQg
UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHk6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9s
Q29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNv
bW1hbmQsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQm
IGFyZ3VtZW50KQoreworICAgIG1fZ3B1Q29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChNZXNz
YWdlczo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpEaWRSZWNlaXZlUmVtb3RlQ29udHJv
bENvbW1hbmQoY29tbWFuZCwgYXJndW1lbnQpLCBtX2lkZW50aWZpZXIpOworfQorCit2b2lkIFJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Ojp1cGRhdGVTdXBwb3J0ZWRDb21tYW5kcyhi
b29sIHN1cHBvcnRzU2Vla2luZykKK3sKKyAgICBtX2xpc3RlbmVyLT5zZXRTdXBwb3J0c1NlZWtp
bmcoc3VwcG9ydHNTZWVraW5nKTsKKyAgICBtX2xpc3RlbmVyLT51cGRhdGVTdXBwb3J0ZWRDb21t
YW5kcygpOworfQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHku
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jYTY4ZjFiYjZlZGE3M2MzMGZhMDNiNjUxYWVmM2RkZjI1ZGU1OGVjCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVJl
bW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5LmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSAiTWVz
c2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRl
bnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlQ29tbWFuZExpc3RlbmVyLmg+Cisj
aW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5l
Y3Rpb247Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOworCitjbGFzcyBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eQorICAg
IDogcHJpdmF0ZSBXZWJDb3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQKKyAgICAsIHBy
aXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgorICAgIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5KEdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MmLCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVy
JiYpOworICAgIHZpcnR1YWwgflJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5KCk7CisK
K3ByaXZhdGU6CisgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2Vp
dmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworCisgICAg
Ly8gUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRy
b2xDb21tYW5kVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbW1hbmRBcmd1bWVudCYpIGZpbmFsOworCisgICAgLy8gTWVzc2FnZXMKKyAgICB2b2lkIHVw
ZGF0ZVN1cHBvcnRlZENvbW1hbmRzKGJvb2wgc3VwcG9ydHNTZWVraW5nKTsKKworICAgIEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fZ3B1Q29ubmVjdGlvbjsKKyAgICBSZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyPiBtX2xpc3RlbmVyOworfTsKKworfQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5tZXNzYWdl
cy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNDA5MzRjMjRkMTcyMGE3YWU4Y2VkNjdmOThkMzA0ZTNiNDJhY2Ji
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCittZXNzYWdlcyAtPiBSZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKKyAgICBVcGRhdGVT
dXBwb3J0ZWRDb21tYW5kcyhib29sIHN1cHBvcnRzU2Vla2luZykKK30KKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCBhMzYxNzdlZTBlMmJlYmFk
ZGIxOTJkM2IzN2I1NGMzYjE1M2IxYjlhLi44M2I3OWE5MDU1MjM1NGY0ZjRlMGI1ZGI1NWFhYWJh
MzY2ODk2YzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAg
LTMxNyw2ICszMTcsNyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJl
ZCgpOgogICAgICAgICAnV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1TZXNzaW9uSWRlbnRpZmllcics
CiAgICAgICAgICdXZWJLaXQ6OlJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyJywKICAgICAg
ICAgJ1dlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyJywKKyAgICAgICAgJ1dlYktp
dDo6UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRpZmllcicsCiAgICAgICAgICdXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW5k
ZXJpbmdCYWNrZW5kSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJUQ0RlY29kZXJJZGVu
dGlmaWVyJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDg3NTg2MmU4ZDE3ZWUyNGRhZDRmN2IxZWZkMDVkNDVk
ZDE5M2Y0NmIuLmQ4ZDNjOWU0YmUwNzUxMTJlZWUzMDAwNTk5NTFmMDQzY2ZhZGEzNzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzLnR4dApAQCAtNDYsNiArNDYsNyBAQCBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVz
b3VyY2UuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VMb2FkZXIuY3Bw
CiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcAogR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcAorR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlU291cmNlQnVmZmVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVRleHRUcmFj
a1Byb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb1RyYWNrUHJveHkuY3BwCkBA
IC01OTksNiArNjAwLDcgQEAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TUlNRVR5cGVDYWNoZS5jcHAgQG5vLXVuaWZ5CiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVN
ZWRpYVJlc291cmNlUHJveHkuY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVD
b21tYW5kTGlzdGVuZXIuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90
ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1ZpZGVvVHJhY2tQcml2YXRlUmVtb3RlLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
YzEwNjEzMWE5YjE2OWE1NDc5NTZjNmFhODlkMGFkZDQ3NjA1NmZlNC4uYzBhOWIyNTlmNjAxNThl
MjExZTdjYWIxMWNkZTQ5YjRkOWM5ODIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODYxLDYgKzE4NjEsOCBAQAogCQlDRDc4RTEx
NTFEQjdEN0VEMDAxNEEyREUgLyogRnVsbHNjcmVlbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3OEUxMTMxREI3RDdFRDAwMTRBMkRFIC8q
IEZ1bGxzY3JlZW5DbGllbnQuaCAqLzsgfTsKIAkJQ0Q3OEUxMTcxREI3REMwQTAwMTRBMkRFIC8q
IEFQSUZ1bGxzY3JlZW5DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENENzhFMTE2MURCN0RDMEEwMDE0QTJERSAvKiBBUElGdWxsc2NyZWVuQ2xp
ZW50LmggKi87IH07CiAJCUNENzhFMTE5MURCN0U1QUQwMDE0QTJERSAvKiBfV0tGdWxsc2NyZWVu
RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENENzhFMTE4MURCN0U1QUQwMDE0QTJERSAvKiBfV0tGdWxsc2NyZWVuRGVsZWdhdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDgyNTJERTI1
RDQ5MTZDMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0Q4MjUyREEyNUQ0OTE1NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJQ0Q4MjUyRTIyNUQ0OTE5MTAwODYy
RkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDgyNTJFMDI1RDQ5
MTg0MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLzsgfTsKIAkJQ0RBMDQxRjQxQUNFMjEwNTAwNEExM0VDIC8qIEJhY2tCb2FyZFNlcnZp
Y2VzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
REEwNDFGMzFBQ0UyMTA1MDA0QTEzRUMgLyogQmFja0JvYXJkU2VydmljZXNTUEkuaCAqLzsgfTsK
IAkJQ0RBMjlBMUIxQ0JEQkY0MTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTI5QTE5MUNC
REJGNDEwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmggKi87IH07CiAJCUNEQTI5
QTIwMUNCRUI1RkIwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTI5QTFFMUNCRUI1
RkIwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaCAqLzsgfTsKQEAgLTU1
NDgsNiArNTU1MCwxOSBAQAogCQlDRDc4RTExMzFEQjdEN0VEMDAxNEEyREUgLyogRnVsbHNjcmVl
bkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGdWxsc2NyZWVuQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENzhFMTE2MURCN0RDMEEwMDE0
QTJERSAvKiBBUElGdWxsc2NyZWVuQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEFQSUZ1bGxzY3JlZW5DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0Q3OEUxMTgxREI3RTVBRDAwMTRBMkRFIC8qIF9XS0Z1bGxzY3JlZW5EZWxlZ2F0ZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tGdWxsc2NyZWVuRGVsZWdhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUyRDEyNUQ0NjRBQjAwODYyRkQ4IC8q
IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUy
RDIyNUQ0NjRBQjAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJEMzI1RDQ2NEJGMDA4NjJGRDggLyogUmVtb3Rl
UmVtb3RlQ29tbWFuZExpc3RlbmVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4
MjUyRDQyNUQ0NjUxMDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50
aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRp
Zmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJENTI1RDQ3NjMxMDA4
NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0Q4MjUyRDYyNUQ0NzYzMTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1h
bmRMaXN0ZW5lclByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjUy
RDcyNUQ0NzY1OTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1lc3NhZ2Vz
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJEODI1RDQ5MTUzMDA4NjJG
RDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0Q4MjUyRDkyNUQ0OTE1NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclBy
b3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRDgyNTJEQTI1RDQ5MTU0MDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJERjI1RDQ5MTg0MDA4
NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXNSZXBsaWVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VzUmVwbGllcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyNTJFMDI1RDQ5MTg0MDA4NjJGRDgg
LyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VSZWNlaXZlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODI1MkUxMjVENDkxODUwMDg2MkZE
OCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDREEwNDFGMzFBQ0UyMTA1MDA0QTEzRUMgLyogQmFja0JvYXJkU2Vydmlj
ZXNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmFja0JvYXJkU2Vydmlj
ZXNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBMjlBMTgxQ0JEQkY0MTAw
OTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDREEyOUExOTFDQkRCRjQxMDA5MDFDQ0YgLyogUGxheWJhY2tT
ZXNzaW9uTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MDMwLDYg
KzYwNDUsMTAgQEAKIAkJCQkxRDMyRjg5RDIzQTg0QzVCMDBCMUVBNkEgLyogUmVtb3RlTWVkaWFS
ZXNvdXJjZVByb3h5LmNwcCAqLywKIAkJCQkxRDMyRjg5QjIzQTg0QkE2MDBCMUVBNkEgLyogUmVt
b3RlTWVkaWFSZXNvdXJjZVByb3h5LmggKi8sCiAJCQkJMUREMkE2NDYyNTVGMzJCMTAwRkY3QjZG
IC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICovLAorCQkJCUNEODI1MkQxMjVENDY0
QUIwMDg2MkZEOCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCAqLywKKwkJCQlDRDgy
NTJEMjI1RDQ2NEFCMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLmNwcCAq
LywKKwkJCQlDRDgyNTJEMzI1RDQ2NEJGMDA4NjJGRDggLyogUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyLm1lc3NhZ2VzLmluICovLAorCQkJCUNEODI1MkQ0MjVENDY1MTAwMDg2MkZEOCAvKiBS
ZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmggKi8sCiAJCQkJMUREMkE2M0Ey
NTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwICovLAogCQkJ
CTFERDJBNjM5MjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmgg
Ki8sCiAJCQkJMUREMkE2NkYyNTYyMkYxMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGUubWVzc2FnZXMuaW4gKi8sCkBAIC02MTEwLDYgKzYxMjksOSBAQAogCQkJCTFERDJBNjNG
MjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCAqLywKIAkJCQkx
REQyQTYzRTI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oICovLAog
CQkJCTFERDJBNjRBMjU2MEY1NEMwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1l
c3NhZ2VzLmluICovLAorCQkJCUNEODI1MkQ1MjVENDc2MzEwMDg2MkZEOCAvKiBSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJQcm94eS5oICovLAorCQkJCUNEODI1MkQ2MjVENDc2MzEwMDg2MkZE
OCAvKiBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJQcm94eS5jcHAgKi8sCisJCQkJQ0Q4MjUy
RDcyNUQ0NzY1OTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5Lm1l
c3NhZ2VzLmluICovLAogCQkJCTFERDJBNjY4MjU2MUY2ODQwMEZGN0I2RiAvKiBSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyLmggKi8sCiAJCQkJMUREMkE2NDMyNTVFM0YzRDAwRkY3QjZGIC8q
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcCAqLywKIAkJCQkxREQyQTY0MjI1NUUzRjNEMDBG
RjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCAqLywKQEAgLTEwODg4LDYgKzEwOTEw
LDEyIEBACiAJCQkJMUREMkE2NjEyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNl
UHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQkxQUMxMzM4MzE4NTkwQzQ2MDBGM0VDMDUg
LyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFBQzEz
Mzg0MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmggKi8s
CisJCQkJQ0Q4MjUyRTAyNUQ0OTE4NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJQ0Q4MjUyRTEyNUQ0OTE4NTAwODYyRkQ4
IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VzLmggKi8sCisJCQkJQ0Q4MjUy
REYyNUQ0OTE4NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2Vz
UmVwbGllcy5oICovLAorCQkJCUNEODI1MkRBMjVENDkxNTQwMDg2MkZEOCAvKiBSZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJQ0Q4MjUy
RDkyNUQ0OTE1NDAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVz
c2FnZXMuaCAqLywKKwkJCQlDRDgyNTJEODI1RDQ5MTUzMDA4NjJGRDggLyogUmVtb3RlUmVtb3Rl
Q29tbWFuZExpc3RlbmVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQkwRjU5NDdBNTE4
N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAogCQkJCTBGNTk0N0E2MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvck1lc3NhZ2VzLmggKi8sCiAJCQkJMUREMkE2NkIyNTYyMDIxRTAwRkY3QjZG
IC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTEz
NzY2LDYgKzEzNzk0LDcgQEAKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUUgLyogTmV0d29y
a1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE3Njkw
MTQyMkZERDQxQjAwQjE1NzZEIC8qIE5ldHdvcmtSVENQcm92aWRlci5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyRSAvKiBOZXR3b3JrUlRDUHJvdmlkZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q4MjUyREUyNUQ0OTE2QzAwODYy
RkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTMxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBOZXR3b3Jr
U29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1QzBC
MTc3ODFFN0M4ODBFMDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc5MDIxMkI2QUQ0MDBGNDkzRkQgLyogTlBJ
ZGVudGlmaWVyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEzOTA3LDYgKzEzOTM2LDcgQEAK
IAkJCQkyRDExQjc4RDIxMjZBMjgzMDA2Rjg4NzggLyogVW5pZmllZFNvdXJjZTMxLW1tLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3OEYyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3Vy
Y2UzMi1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCNzkwMjEyNkEyODMwMDZGODg3OCAv
KiBVbmlmaWVkU291cmNlMzIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q4MjUyRTIyNUQ0OTE5
MTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lck1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjc5MTIxMjZBMjgzMDA2Rjg4NzggLyogVW5pZmll
ZFNvdXJjZTMzLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3OTIyMTI2QTI4MzAwNkY4
ODc4IC8qIFVuaWZpZWRTb3VyY2UzMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjc5NDIx
MjZBMjgzMDA2Rjg4NzggLyogVW5pZmllZFNvdXJjZTM0LmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9u
LmNwcAppbmRleCBjZTQwNzk4MmJlOGY3ZTY3YjJlOWFjZDNkM2Y1MTU0OGI5YmE2M2I4Li40NDdh
MjFhNGQ1ODE5YWM4ZmRjZWVkMWU4MDg3Njk4NGEzODM3MTY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMTkx
LDggKzE5MSw3IEBAIGJvb2wgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpc3BhdGNoU3luY01lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6CiAKIHZvaWQgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb246OmRpZFJlY2VpdmVSZW1vdGVDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgT3B0aW9uYWw8ZG91YmxlPiBhcmd1bWVudCkK
IHsKLSAgICBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50
IHZhbHVlIHsgYXJndW1lbnQgPyAqYXJndW1lbnQgOiAwIH07Ci0gICAgUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZCh0eXBlLCBhcmd1bWVudCA/ICZ2YWx1ZSA6IG51bGxwdHIpOworICAgIFBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnByb2Nlc3NEaWRSZWNlaXZl
UmVtb3RlQ29udHJvbENvbW1hbmQodHlwZSwgYXJndW1lbnQpOwogfQogCiB2b2lkIEdQVVByb2Nl
c3NDb25uZWN0aW9uOjp1cGRhdGVQYXJhbWV0ZXJzKGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjRhODM4ZjQwNzc5MWFlZDUxNGFjNDIwNmUzN2NjNWZkYTEwODliNwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVt
b3RlQ29tbWFuZExpc3RlbmVyLmNwcApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5o
IgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzc1Byb3h5LmgiCisjaW5j
bHVkZSAiUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJX
ZWJQcm9jZXNzLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKKworc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gUmVt
b3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpjcmVhdGUoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xp
ZW50JiBjbGllbnQsIFdlYlByb2Nlc3MmIHdlYlByb2Nlc3MpCit7CisgICAgcmV0dXJuIG1ha2VV
bmlxdWU8UmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyPihjbGllbnQsIHdlYlByb2Nlc3MpOwor
fQorCitSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lcihSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmIGNsaWVudCwgV2ViUHJvY2VzcyYgd2Vi
UHJvY2VzcykKKyAgICA6IFJlbW90ZUNvbW1hbmRMaXN0ZW5lcihjbGllbnQpCisgICAgLCBtX3By
b2Nlc3Mod2ViUHJvY2VzcykKKyAgICAsIG1faWRlbnRpZmllcihSZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQoreworICAgIGF1dG8mIGNvbm5lY3Rpb24g
PSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpOwor
ICAgIGNvbm5lY3Rpb24uYWRkQ2xpZW50KCp0aGlzKTsKKyAgICBjb25uZWN0aW9uLm1lc3NhZ2VS
ZWNlaXZlck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlUmVtb3RlQ29t
bWFuZExpc3RlbmVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2
NCgpLCAqdGhpcyk7CisgICAgY29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Q3JlYXRlUmVtb3RlQ29tbWFuZExpc3RlbmVyKG1f
aWRlbnRpZmllciksIHsgfSk7Cit9CisKK1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6flJl
bW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcigpCit7CisgICAgYXV0byYgY29ubmVjdGlvbiA9IFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7CisgICAg
Y29ubmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoKnRo
aXMpOworICAgIGNvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OlJlbGVhc2VSZW1vdGVDb21tYW5kTGlzdGVuZXIobV9pZGVudGlm
aWVyKSwgMCk7Cit9CisKK3ZvaWQgUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyOjpncHVQcm9j
ZXNzQ29ubmVjdGlvbkRpZENsb3NlKEdQVVByb2Nlc3NDb25uZWN0aW9uJikKK3sKK30KKwordm9p
ZCBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXI6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29t
bWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRU
eXBlIHR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQmIGFyZ3VtZW50KQoreworICAgIG1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29t
bWFuZCh0eXBlLCBhcmd1bWVudCk7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
ci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21t
YW5kTGlzdGVuZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOWE0ZmNlZjdjNmUwNGJiZjVlZTE1N2RhNTVhNjNh
YjBjZmRiZDdhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIuaApAQCAtMCwwICsxLDcwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNp
bmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZl
ci5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaCIK
KyNpbmNsdWRlIDxXZWJDb3JlL1JlbW90ZUNvbW1hbmRMaXN0ZW5lci5oPgorCituYW1lc3BhY2Ug
SVBDIHsKK2NsYXNzIENvbm5lY3Rpb247Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFz
cyBHUFVQcm9jZXNzQ29ubmVjdGlvbjsKK2NsYXNzIFdlYlByb2Nlc3M7CisKK2NsYXNzIFJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciBmaW5hbAorICAgIDogcHVibGljIFdlYkNvcmU6OlJlbW90
ZUNvbW1hbmRMaXN0ZW5lcgorICAgICwgcHJpdmF0ZSBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6Q2xp
ZW50CisgICAgLCBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcj4gY3JlYXRlKFdlYkNvcmU6OlJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudCYsIFdlYlByb2Nlc3MmKTsKKyAgICBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXIoV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JiwgV2ViUHJvY2VzcyYpOwor
ICAgIH5SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIoKTsKKworcHJpdmF0ZToKKyAgICAvLyBJ
UEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisKKyAgICAvLyBHUFVQcm9jZXNzQ29ubmVj
dGlvbjo6Q2xpZW50CisgICAgdm9pZCBncHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKEdQVVBy
b2Nlc3NDb25uZWN0aW9uJikgZmluYWw7CisKKyAgICAvLyBNZXNzYWdlcworICAgIHZvaWQgZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKTsKKworICAgIFdlYlByb2Nlc3MmIG1fcHJv
Y2VzczsKKyAgICBSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyIG1faWRlbnRp
ZmllcjsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExp
c3RlbmVyLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5NWEwZTE4YjljNjk0OTBmMzJkYWQyM2Zj
YmU5NzNlYzE3ZWFhMWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5tZXNzYWdlcy5pbgpAQCAt
MCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworbWVz
c2FnZXMgLT4gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyIE5vdFJlZkNvdW50ZWQgeworICAg
IERpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBPcHRp
b25hbDxkb3VibGU+IGFyZ3VtZW50KQorfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRl
bnRpZmllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1v
dGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzMxNmYyOWM2Zjg1ZjEy
NDk2ODI2Mjg3ZGYxMTkyNTc0MDQ4M2M5NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVySWRlbnRp
Zmllci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklk
ZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklk
ZW50aWZpZXJUeXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9z
L1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5jcHAKaW5kZXggY2M0YzlkYTk0NjdiNzY4NDhhZGJm
NGE3YTIxZjZjNzcwZDllYTE2My4uZDY3NDFiZDUzZDBkOGMzMjM0MGY4NTdiMmVlZGMzNmI4YjU2
ODcyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3Mv
UmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIuY3BwCkBAIC0xMzksMTQg
KzEzOSwxNCBAQCB2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlcjo6YWN0aXZlVmlkZW9Sb3V0
ZURpZENoYW5nZShTdXBwb3J0c0FpclBsYXlWaWRlbyBzdQogewogICAgIFJlZlB0cjxNZWRpYVBs
YXliYWNrVGFyZ2V0PiB0YXJnZXRPYmplY3Q7CiAgICAgaWYgKHRhcmdldENvbnRleHQudHlwZSgp
ID09IE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0OjpBVk91dHB1dENvbnRleHRUeXBlKQotICAg
ICAgICB0YXJnZXRPYmplY3QgPSBXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0Q29jb2E6OmNy
ZWF0ZSh0YXJnZXRDb250ZXh0LmF2T3V0cHV0Q29udGV4dCgpKTsKKyAgICAgICAgbV9wbGF5YmFj
a1RhcmdldCA9IFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRDb2NvYTo6Y3JlYXRlKHRhcmdl
dENvbnRleHQuYXZPdXRwdXRDb250ZXh0KCkpOwogICAgIGVsc2UgewogICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGZvciAoYXV0byYg
Y2xpZW50IDogbV9jbGllbnRzKQotICAgICAgICBjbGllbnQuYWN0aXZlVmlkZW9Sb3V0ZURpZENo
YW5nZShzdXBwb3J0c0FpclBsYXlWaWRlbywgdGFyZ2V0T2JqZWN0LmNvcHlSZWYoKS5yZWxlYXNl
Tm9uTnVsbCgpKTsKKyAgICAgICAgY2xpZW50LmFjdGl2ZVZpZGVvUm91dGVEaWRDaGFuZ2Uoc3Vw
cG9ydHNBaXJQbGF5VmlkZW8sICptX3BsYXliYWNrVGFyZ2V0KTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGI3MjY2Y2E5OGE4Y2JjYzU4NzJiMjA3
OTBmMDE5MmUyM2I2OGQ5MGUuLjg2YmFkZTIxNzU0MTM2YWQzYjM2M2YyMzExOGYxYWFiZDY5YjYy
MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTQ3LDYgKzQ3
LDcgQEAKICNpbmNsdWRlICJSZW1vdGVBdWRpb1Nlc3Npb24uaCIKICNpbmNsdWRlICJSZW1vdGVM
ZWdhY3lDRE1GYWN0b3J5LmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeS5oIgorI2luY2x1ZGUgIlJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIgog
I2luY2x1ZGUgIlNwZWVjaFJlY29nbml0aW9uUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXIuaCIK
ICNpbmNsdWRlICJTdG9yYWdlQXJlYU1hcC5oIgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCkBAIC0x
MjIsNiArMTIzLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvY2Vzc1dhcm1pbmcuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1JlZ2lzdHJhYmxlRG9tYWluLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVDb21t
YW5kTGlzdGVuZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZFN0YXRpc3RpY3Mu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgpAQCAtMTk1OCw2ICsxOTYwLDEx
IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0VXNlR1BVUHJvY2Vzc0Zvck1lZGlhKGJvb2wgdXNlR1BV
UHJvY2Vzc0Zvck1lZGlhKQogICAgICAgICBXZWJDb3JlOjpBdWRpb0hhcmR3YXJlTGlzdGVuZXI6
OnNldENyZWF0aW9uRnVuY3Rpb24oW3RoaXNdIChXZWJDb3JlOjpBdWRpb0hhcmR3YXJlTGlzdGVu
ZXI6OkNsaWVudCYgY2xpZW50KSB7IHJldHVybiBSZW1vdGVBdWRpb0hhcmR3YXJlTGlzdGVuZXI6
OmNyZWF0ZShjbGllbnQsICp0aGlzKTsgfSk7CiAgICAgZWxzZQogICAgICAgICBXZWJDb3JlOjpB
dWRpb0hhcmR3YXJlTGlzdGVuZXI6OnJlc2V0Q3JlYXRpb25GdW5jdGlvbigpOworCisgICAgaWYg
KHVzZUdQVVByb2Nlc3NGb3JNZWRpYSkKKyAgICAgICAgV2ViQ29yZTo6UmVtb3RlQ29tbWFuZExp
c3RlbmVyOjpzZXRDcmVhdGlvbkZ1bmN0aW9uKFt0aGlzXSAoV2ViQ29yZTo6UmVtb3RlQ29tbWFu
ZExpc3RlbmVyQ2xpZW50JiBjbGllbnQpIHsgcmV0dXJuIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lcjo6Y3JlYXRlKGNsaWVudCwgKnRoaXMpOyB9KTsKKyAgICBlbHNlCisgICAgICAgIFdlYkNv
cmU6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcjo6cmVzZXRDcmVhdGlvbkZ1bmN0aW9uKCk7CiB9CiAK
IGJvb2wgV2ViUHJvY2Vzczo6c2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yKFJlbmRlcmluZ1B1
cnBvc2UgcHVycG9zZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>