<?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>234899</bug_id>
          
          <creation_ts>2022-01-05 14:52:28 -0800</creation_ts>
          <short_desc>Drop implementation for COOP / COEP violation reporting</short_desc>
          <delta_ts>2022-01-06 09:29:49 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>ayumi_kojima</cc>
    
    <cc>ehutchison</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1828393</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-05 14:52:28 -0800</bug_when>
    <thetext>Drop implementation for COOP / COEP violation reporting. The implementation was based on an outdated version of the specification and has never shipped. Many COOP/COEP reporting tests are also flaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828397</commentid>
    <comment_count>1</comment_count>
      <attachid>448431</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-05 15:00:09 -0800</bug_when>
    <thetext>Created attachment 448431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828430</commentid>
    <comment_count>2</comment_count>
      <attachid>448445</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-05 15:38:43 -0800</bug_when>
    <thetext>Created attachment 448445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828629</commentid>
    <comment_count>3</comment_count>
      <attachid>448445</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-01-06 08:52:53 -0800</bug_when>
    <thetext>Comment on attachment 448445
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828638</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-06 09:22:21 -0800</bug_when>
    <thetext>Committed r287693 (245787@main): &lt;https://commits.webkit.org/245787@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448445.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828639</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-06 09:23:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/87201545&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828642</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-06 09:29:45 -0800</bug_when>
    <thetext>*** Bug 232028 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828644</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-06 09:29:49 -0800</bug_when>
    <thetext>*** Bug 232337 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448431</attachid>
            <date>2022-01-05 15:00:09 -0800</date>
            <delta_ts>2022-01-05 16:03:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234899-20220105150008.patch</filename>
            <type>text/plain</type>
            <size>79788</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM3ZWFjOGE5Zjg2ZmU2
YzY2MTBhODUzZjdmZjZiYjA1OTM2YmNmYy4uODZiMTgzMDMyMzRmYmEwMTZkYjU1OGFmNjIyNzU0
NjdkNmI4ZTczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIyLTAxLTA1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBpbXBsZW1lbnRhdGlv
biBmb3IgQ09PUCAvIENPRVAgdmlvbGF0aW9uIHJlcG9ydGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0ODk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBpbXBsZW1lbnRhdGlvbiBmb3IgQ09P
UCAvIENPRVAgdmlvbGF0aW9uIHJlcG9ydGluZy4gVGhlIGltcGxlbWVudGF0aW9uIHdhcyBiYXNl
ZCBvbiBhbiBvdXRkYXRlZCB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZpY2F0aW9uCisgICAgICAgIGFu
ZCBoYXMgbmV2ZXIgc2hpcHBlZC4gTWFueSBDT09QL0NPRVAgcmVwb3J0aW5nIHRlc3RzIGFyZSBh
bHNvIGZsYWt5LgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRVUkxGb3JSZXBvcnQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2VuZENPRVBQb2xpY3lJbmhlcml0ZW5jZVZp
b2xhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpzZW5kQ09FUENPUlBWaW9sYXRp
b24pOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
Lmg6CisgICAgICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmVuZm9yY2VSZXNwb25zZUNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KToKKyAg
ICAgICAgKFdlYkNvcmU6OmRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9uc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZVRvRWZmZWN0aXZl
UG9saWN5U3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNlbmRWaW9sYXRpb25S
ZXBvcnRXaGVuTmF2aWdhdGluZ1RvQ09PUFJlc3BvbnNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OnNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJlc3Bv
bnNlKTogRGVsZXRlZC4KKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3ku
aDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudExvYWRlcjo6ZG9Dcm9zc09yaWdpbk9wZW5lckhhbmRsaW5nT2ZSZXNwb25zZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZCk6CisgICAg
ICAgICogbG9hZGVyL1BpbmdMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGluZ0xvYWRl
cjo6c2VuZFJlcG9ydFRvRW5kcG9pbnQpOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9QaW5n
TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL1JlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjpFbmRw
b2ludDo6RW5kcG9pbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVwb3J0aW5nRW5k
cG9pbnRzQ2FjaGU6OkVuZHBvaW50OjpoYXNFeHBpcmVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjpjcmVhdGUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGU6OmFkZEVuZHBvaW50c0Zy
b21SZXNwb25zZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXBvcnRpbmdFbmRwb2lu
dHNDYWNoZTo6YWRkRW5kcG9pbnRzRnJvbVJlcG9ydFRvSGVhZGVyKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjphZGRFbmRwb2ludEZyb21EaWN0
aW9uYXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0Nh
Y2hlOjplbmRwb2ludFVSTCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogbG9hZGVyL1JlcG9y
dGluZ0VuZHBvaW50c0NhY2hlLmg6IFJlbW92ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoK
KyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJlcG9ydGlu
Z0VuZHBvaW50c0NhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisKIDIwMjItMDEt
MDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1lZGlhUmVj
b3JkZXIgc2hvdWxkIHN1cHBvcnQgdGhlIGJpdHNQZXJTZWNvbmQgb3B0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDRiMzY2YjM4MWYzYWQyYWVmN2Y3ZjY2ZGQ4YmE0ZjVlMTQ3NzlhNmIuLjZjNGJhMTZjN2FlMGNj
NmJmNjRkYjA5ZTIwMzMzZjI4NTg2MzliYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIw
MjItMDEtMDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9w
IGltcGxlbWVudGF0aW9uIGZvciBDT09QIC8gQ09FUCB2aW9sYXRpb24gcmVwb3J0aW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ4OTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIGltcGxlbWVu
dGF0aW9uIGZvciBDT09QIC8gQ09FUCB2aW9sYXRpb24gcmVwb3J0aW5nLiBUaGUgaW1wbGVtZW50
YXRpb24gd2FzIGJhc2VkIG9uIGFuIG91dGRhdGVkIHZlcnNpb24gb2YgdGhlIHNwZWNpZmljYXRp
b24KKyAgICAgICAgYW5kIGhhcyBuZXZlciBzaGlwcGVkLiBNYW55IENPT1AvQ09FUCByZXBvcnRp
bmcgdGVzdHMgYXJlIGFsc28gZmxha3kuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrTG9hZENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpwZXJmb3JtQ09SUENoZWNrKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnNob3VsZEludGVycnVwdE5hdmln
YXRpb25Gb3JDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Jlc291cmNlTG9hZGVyOjpzaG91bGRJbnRlcnJ1cHRXb3JrZXJMb2FkRm9yQ3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6ZG9Dcm9zc09yaWdpbk9wZW5lckhhbmRsaW5nT2ZSZXNwb25zZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2FwcEhpZ2hs
aWdodHNWaXNpYmxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2VuZENPRVBQb2xpY3lJ
bmhlcml0ZW5jZVZpb2xhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnNlbmRDT0VQQ09SUFZpb2xhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OnNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ1RvQ09PUFJlc3BvbnNlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2VuZFZpb2xhdGlvblJlcG9ydFdoZW5O
YXZpZ2F0aW5nQXdheUZyb21DT09QUmVzcG9uc2UpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJvY2Vzcyk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OndlYlNv
Y2tldENoYW5uZWxNYW5hZ2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cmVwb3J0
aW5nRW5kcG9pbnRzQ2FjaGUpOiBEZWxldGVkLgorCiAyMDIyLTAxLTA1ICBUaW0gSG9ydG9uICA8
dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVy
aW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggODdhOTllNjAwMDM3M2I1NmI4NjM4YmNlMWNiMjY3
NDMyMzc5YTBhMS4uNDZjNDA5MzgzODYxOWQ0MDU3OGUyZDA3ZWM2MWJmMzVlNGQzZWIzOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhw
ZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTQwOSwxOCArNDA5LDYgQEAgQ29udGFjdFBp
Y2tlckFQSUVuYWJsZWQ6CiAgICAgV2ViQ29yZToKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKLUNv
b3BDb2VwVmlvbGF0aW9uUmVwb3J0aW5nRW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBodW1hblJl
YWRhYmxlTmFtZTogIkNPT1AgYW5kIENPRVAgdmlvbGF0aW9ucyByZXBvcnRpbmciCi0gIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkNyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IGFuZCBDcm9z
cy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IHJlcG9ydGluZyIKLSAgZGVmYXVsdFZhbHVlOgotICAg
IFdlYktpdExlZ2FjeToKLSAgICAgIGRlZmF1bHQ6IGZhbHNlCi0gICAgV2ViS2l0OgotICAgICAg
ZGVmYXVsdDogZmFsc2UKLSAgICBXZWJDb3JlOgotICAgICAgZGVmYXVsdDogZmFsc2UKLQogQ29y
ZUltYWdlQWNjZWxlcmF0ZWRGaWx0ZXJSZW5kZXJFbmFibGVkOgogICB0eXBlOiBib29sCiAgIHdl
YmNvcmVPbkNoYW5nZTogc2V0TmVlZHNSZWxheW91dEFsbEZyYW1lcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCA0ZWM4MzliNTNjNDliMTI5MzM1YjZmYjlkM2M3OWI3Nzc1OWYzODlhLi45ZmYwMGZiNzgxY2Rh
YTQyYzczY2E4ZjNjYzUzYjA5NWMzMGMyYzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTYzNiw3ICsx
NjM2LDYgQEAgbG9hZGVyL1BpbmdMb2FkZXIuY3BwCiBsb2FkZXIvUG9saWN5Q2hlY2tlci5jcHAK
IGxvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5jcHAKIGxvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwCi1sb2FkZXIvUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuY3BwCiBsb2FkZXIvUmVzb3Vy
Y2VDcnlwdG9ncmFwaGljRGlnZXN0LmNwcAogbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwCiBs
b2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODQzNzIxMjZkOWFhYTRmMmM3MzU2
N2Q0NDllODI4ZTliNDI5MDY1OS4uODIwM2Q3N2EzMWZkYWY1MDBmMWFjYzYwZmRiZDIxOTBmYzM2
ZDBlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTI0Myw3ICsxMjQzLDYgQEAKIAkJNDM2NzA4QzcxMkQ5Q0E0QjAwMDQ0MjM0
IC8qIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4ODgxMkQ5Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lci5oICovOyB9OwogCQk0MzY3MDhDOTEyRDlDQTRCMDAwNDQyMzQgLyog
UmVuZGVyU1ZHSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQzNjcwODhBMTJEOUNBNEEwMDA0NDIzNCAvKiBSZW5kZXJTVkdJbWFnZS5oICovOyB9
OwogCQk0MzY3MDhDQjEyRDlDQTRCMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmpl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcw
ODhDMTJEOUNBNEEwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdC5oICovOyB9
OwotCQk0MzY3MEM5MzQyRDlCQzRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHTW9kZWxPYmplY3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwOEZEMTJE
OUNBNEEwMDAzMjExNCAvKiBSZW5kZXJTVkdNb2RlbE9iamVjdC5oICovOyB9OwogCQk0MzY3MDhD
RDEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwODhFMTJEOUNBNEEwMDA0NDIzNCAv
KiBSZW5kZXJTVkdSZXNvdXJjZS5oICovOyB9OwogCQk0MzY3MDhDRjEyRDlDQTRCMDAwNDQyMzQg
LyogUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDg5MDEyRDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmggKi87IH07CiAJCTQzNjcwOEQxMTJEOUNBNEIwMDA0NDIzNCAvKiBS
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4OTIxMkQ5Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyLmggKi87IH07CkBAIC0xMjY2LDYgKzEyNjUsNyBAQAogCQk0MzY3MDhG
NjEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhCNzEyRDlDQTRCMDAwNDQyMzQgLyogU1ZH
UmVzb3VyY2VzLmggKi87IH07CiAJCTQzNjcwOEY4MTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNv
dXJjZXNDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDM2NzA4QjkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0NhY2hlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDM2NzA4RkExMkQ5
Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhCQjEyRDlDQTRCMDAwNDQyMzQg
LyogU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaCAqLzsgfTsKKwkJNDM2NzBDOTM0MkQ5QkM0QjAw
MDQ0MjM0IC8qIFJlbmRlclNWR01vZGVsT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhGRDEyRDlDQTRBMDAwMzIxMTQgLyogUmVuZGVy
U1ZHTW9kZWxPYmplY3QuaCAqLzsgfTsKIAkJNDM5MDQ2RDgxMkRBMjVFODAwQUY4MEEyIC8qIFJl
bmRlck1hdGhNTEJsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MzkwNDZDNDEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MQmxvY2suaCAq
LzsgfTsKIAkJNDM5MDQ2REExMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTEZlbmNlZC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5MDQ2QzYx
MkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTEZlbmNlZC5oICovOyB9OwogCQk0MzkwNDZE
QTEyREEyNUU4MDBBRjgxQjMgLyogUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOTA0NkM2MTJEQTI1RTgw
MEFGODFCMyAvKiBSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvci5oICovOyB9OwpAQCAtMTM2OCw3
ICsxMzY4LDYgQEAKIAkJNDZDQTlDNDQxRjk3QkJFOTAwNENGQzNBIC8qIFZpc2liaWxpdHlTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDQTlD
NDExRjk3QkJFNzAwNENGQzNBIC8qIFZpc2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2RDAwMDQwMjZBMEZFQjMwMEQxQkYx
RSAvKiBTdWJtaXRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDZEMDAwM0UyNkEwRkU2RjAwRDFCRjFFIC8qIFN1Ym1pdEV2ZW50LmggKi87IH07
CiAJCTQ2REJCNjUwMUFCOEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9ic2VydmVyTWFjLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRCQjY0RTFBQjhDOTZG
MDBEOUE4MTMgLyogUG93ZXJPYnNlcnZlck1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQ2REQ2RTFGMjZFN0RCRTcwMDhDMUY0QyAvKiBSZXBv
cnRpbmdFbmRwb2ludHNDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDZERDZFMUMyNkU3REJFNjAwOEMxRjRDIC8qIFJlcG9ydGluZ0VuZHBvaW50
c0NhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDZERDkzRDcyNjlERTc1NjAwMUFGRDg4IC8qIEJyb2FkY2FzdENoYW5uZWxJZGVudGlmaWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkREOTNE
NTI2OURFNzRCMDAxQUZEODggLyogQnJvYWRjYXN0Q2hhbm5lbElkZW50aWZpZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkRFOUJCNTI2OURG
OTNFMDAyNEM1QTYgLyogQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRFOUJCNDI2OURGOTMyMDAyNEM1QTYg
LyogQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZERkY0OTgxREMyNjAzMTAwQjgwQjQ4IC8qIFNoYWRv
d1Jvb3RNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NkRGRjQ5NjFEQzI2MDEzMDBCODBCNDggLyogU2hhZG93Um9vdE1vZGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODk4NiwxMSArODk4NSwx
MCBAQAogCQk0MzY3MDg4ODEyRDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDg4OTEyRDlDQTRB
MDAwNDQyMzQgLyogUmVuZGVyU1ZHSW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVuZGVyU1ZHSW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MzY3MDg4QTEyRDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHSW1hZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHSW1hZ2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNDM2NzA4OEQzNEU5Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNWR01v
ZGVsT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRl
clNWR01vZGVsT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDM2NzA4
RkQxMkQ5Q0E0QTAwMDMyMTE0IC8qIFJlbmRlclNWR01vZGVsT2JqZWN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR01vZGVsT2JqZWN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwODhCMTJEOUNBNEEwMDA0NDIzNCAvKiBMZWdhY3lSZW5k
ZXJTVkdNb2RlbE9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBMZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQzNjcwODhDMTJEOUNBNEEwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdNb2RlbE9i
amVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lSZW5kZXJTVkdN
b2RlbE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDg4RDEyRDlD
QTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MzY3MDg4RDM0RTlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHTW9kZWxP
YmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZH
TW9kZWxPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDg4RTEy
RDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDM2NzA4OEYxMkQ5Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdS
ZXNvdXJjZUNsaXBwZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDg5
MDEyRDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTAzMyw2ICs5MDMxLDcgQEAKIAkJNDM2NzA4Qjkx
MkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0NhY2hlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNWR1Jlc291cmNlc0NhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQzNjcwOEJBMTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdSZXNvdXJj
ZXNDeWNsZVNvbHZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEJC
MTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MzY3MDhGRDEyRDlDQTRBMDAwMzIxMTQgLyogUmVuZGVy
U1ZHTW9kZWxPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVy
U1ZHTW9kZWxPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM5MDQ2QzMx
MkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTEJsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck1hdGhNTEJsb2NrLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDM5MDQ2QzQxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhN
TEJsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlck1hdGhNTEJs
b2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzOTA0NkM1MTJEQTI1RTgwMEFG
ODBBMiAvKiBSZW5kZXJNYXRoTUxGZW5jZWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVuZGVyTWF0aE1MRmVuY2VkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTkyNTIsOCArOTI1MSw2IEBACiAJCTQ2RDAwMDNFMjZBMEZFNkYwMEQxQkYxRSAv
KiBTdWJtaXRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdWJtaXRF
dmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkQwMDAzRjI2QTBGRTcwMDBE
MUJGMUUgLyogU3VibWl0RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN1Ym1pdEV2
ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZEQkI2NEUxQUI4Qzk2RjAw
RDlBODEzIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUG93ZXJPYnNlcnZlck1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
NkRENkUxQzI2RTdEQkU2MDA4QzFGNEMgLyogUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDZERDZFMUUyNkU3REJFNzAwOEMxRjRDIC8q
IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDZERDkzRDUyNjlERTc0QjAwMUFGRDg4IC8qIEJyb2FkY2FzdENoYW5uZWxJ
ZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJyb2FkY2FzdENoYW5uZWxJZGVudGlmaWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REU5QkI0MjY5REY5MzIwMDI0QzVBNiAv
KiBCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnJvYWRjYXN0Q2hh
bm5lbFJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REZGNDk2MURD
MjYwMTMwMEI4MEI0OCAvKiBTaGFkb3dSb290TW9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTaGFkb3dSb290TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjk2MjcsOCArMjk2MjQsNiBAQAogCQkJCTFBMkE2ODIxMEI1QkVERTcwMDAyQTQ4MCAvKiBQ
cm9ncmVzc1RyYWNrZXIuY3BwICovLAogCQkJCTFBMkE2ODIyMEI1QkVERTcwMDAyQTQ4MCAvKiBQ
cm9ncmVzc1RyYWNrZXIuaCAqLywKIAkJCQkxQUNBREQ3ODE4ODBEOTFDMDBEOEI3MUQgLyogUHJv
Z3Jlc3NUcmFja2VyQ2xpZW50LmggKi8sCi0JCQkJNDZERDZFMUUyNkU3REJFNzAwOEMxRjRDIC8q
IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcCAqLywKLQkJCQk0NkRENkUxQzI2RTdEQkU2MDA4
QzFGNEMgLyogUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuaCAqLywKIAkJCQk3QzJGQTYwRjFFQTk1
QTMyMDBBMDMxMDggLyogUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmNwcCAqLywKIAkJCQk3
QzJGQTYxMDFFQTk1QTMyMDBBMDMxMDggLyogUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0Lmgg
Ki8sCiAJCQkJOTNFMjI3REUwQUY1ODlBRDAwRDQ4MzI0IC8qIFJlc291cmNlTG9hZGVyLmNwcCAq
LywKQEAgLTM2ODAwLDcgKzM2Nzk1LDYgQEAKIAkJCQkyREY1MTJDRTFEODczRTQ3MDAxRDY3ODAg
LyogUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMw
OUUwQTA5OUU2NDkyMDA1NkU1ODEgLyogUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTA3MUMwMDM0MjcwN0Q5NTUwMEQwMjdDNyAvKiBSZXBsYXlLaXRDYXB0dXJl
U291cmNlLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NkRENkUxRjI2RTdEQkU3MDA4QzFGNEMgLyog
UmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OThBRUM2MTNG
OUQwRUEwMDkwQjFBQSAvKiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRjQwMzRGQUMyNzVFQUQ2RTAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25z
ZW50T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNERDAxMjUxRjEyRDAwM0VGMjY5
IC8qIFJlc2V0SW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmNwcAppbmRleCA3MTM1YThjZmFl
MGY2NjhhYWY3MmE0YTc3MjgwNTNhNGZjZjM1ZTBkLi40YmY3MDUwY2NjYjdlMGM3M2IwZDE5NzNl
M2MwMWEyNTM4OTA2YjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NP
cmlnaW5FbWJlZGRlclBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3kuY3BwCkBAIC0zOCwxOCArMzgsNiBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0YXRpYyBVUkwgY29udGV4dFVSTEZvclJlcG9ydChGcmFtZSYgZnJhbWUp
Ci17Ci0gICAgYXV0byByZXBvcnRVUkwgPSBmcmFtZS5kb2N1bWVudCgpID8gZnJhbWUuZG9jdW1l
bnQoKS0+dXJsKCkgOiBhYm91dEJsYW5rVVJMKCk7Ci0gICAgaWYgKHJlcG9ydFVSTC5pc0Fib3V0
QmxhbmsoKSkgewotICAgICAgICBpZiAoYXV0byogcGFyZW50RnJhbWUgPSBmcmFtZS50cmVlKCku
cGFyZW50KCk7IHBhcmVudEZyYW1lLT5kb2N1bWVudCgpKQotICAgICAgICAgICAgcmVwb3J0VVJM
ID0gcGFyZW50RnJhbWUtPmRvY3VtZW50KCktPnVybCgpOwotICAgICAgICBlbHNlIGlmIChhdXRv
KiBvcGVuZXJGcmFtZSA9IGZyYW1lLmxvYWRlcigpLm9wZW5lcigpOyBvcGVuZXJGcmFtZS0+ZG9j
dW1lbnQoKSkKLSAgICAgICAgICAgIHJlcG9ydFVSTCA9IG9wZW5lckZyYW1lLT5kb2N1bWVudCgp
LT51cmwoKTsKLSAgICB9Ci0gICAgcmV0dXJuIHJlcG9ydFVSTDsKLX0KLQogLy8gaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvb3JpZ2luLmh0bWwjb2J0YWluLWFuLWVtYmVk
ZGVyLXBvbGljeQogQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSBvYnRhaW5Dcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewpAQCAtMTEwLDMzICs5OCw0IEBAIHZvaWQg
YWRkQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeUhlYWRlcnMoUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIGNvbnN0IENyb3NzCiAgICAgfQogfQogCi0vLyBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9vcmlnaW4uaHRtbCNxdWV1ZS1hLWNyb3NzLW9yaWdpbi1lbWJlZGRl
ci1wb2xpY3ktaW5oZXJpdGFuY2UtdmlvbGF0aW9uCi12b2lkIHNlbmRDT0VQUG9saWN5SW5oZXJp
dGVuY2VWaW9sYXRpb24oRnJhbWUmIGZyYW1lLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEmIGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBDT0VQRGlzcG9z
aXRpb24gZGlzcG9zaXRpb24sIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgVVJMJiBibG9ja2Vk
VVJMKQotewotICAgIGlmICghZnJhbWUuc2V0dGluZ3MoKS5jb29wQ29lcFZpb2xhdGlvblJlcG9y
dGluZ0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKCFlbmRwb2ludC5p
c0VtcHR5KCkpOwotICAgIFBpbmdMb2FkZXI6OnNlbmRSZXBvcnRUb0VuZHBvaW50KGZyYW1lLCBl
bWJlZGRlck9yaWdpbiwgZW5kcG9pbnQsICJjb2VwIl9zLCBjb250ZXh0VVJMRm9yUmVwb3J0KGZy
YW1lKSwgZnJhbWUubG9hZGVyKCkudXNlckFnZW50KGJsb2NrZWRVUkwpLCBbJl0oYXV0byYgYm9k
eSkgewotICAgICAgICBib2R5LnNldFN0cmluZygiZGlzcG9zaXRpb24iX3MsIGRpc3Bvc2l0aW9u
ID09IENPRVBEaXNwb3NpdGlvbjo6UmVwb3J0aW5nID8gInJlcG9ydGluZyJfcyA6ICJlbmZvcmNl
Il9zKTsKLSAgICAgICAgYm9keS5zZXRTdHJpbmcoInR5cGUiX3MsIHR5cGUpOwotICAgICAgICBi
b2R5LnNldFN0cmluZygiYmxvY2tlZFVSTCJfcywgUGluZ0xvYWRlcjo6c2FuaXRpemVVUkxGb3JS
ZXBvcnQoYmxvY2tlZFVSTCkpOwotICAgIH0pOwotfQotCi0vLyBodHRwczovL2ZldGNoLnNwZWMu
d2hhdHdnLm9yZy8jcXVldWUtYS1jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LWNvcnAtdmlv
bGF0aW9uLXJlcG9ydAotdm9pZCBzZW5kQ09FUENPUlBWaW9sYXRpb24oRnJhbWUmIGZyYW1lLCBj
b25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVu
ZHBvaW50LCBDT0VQRGlzcG9zaXRpb24gZGlzcG9zaXRpb24sIEZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb24gZGVzdGluYXRpb24sIGNvbnN0IFVSTCYgYmxvY2tlZFVSTCkKLXsKLSAgICBBU1NFUlQo
IWVuZHBvaW50LmlzRW1wdHkoKSk7Ci0gICAgaWYgKCFmcmFtZS5zZXR0aW5ncygpLmNvb3BDb2Vw
VmlvbGF0aW9uUmVwb3J0aW5nRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBQaW5n
TG9hZGVyOjpzZW5kUmVwb3J0VG9FbmRwb2ludChmcmFtZSwgZW1iZWRkZXJPcmlnaW4sIGVuZHBv
aW50LCAiY29lcCJfcywgY29udGV4dFVSTEZvclJlcG9ydChmcmFtZSksIGZyYW1lLmxvYWRlcigp
LnVzZXJBZ2VudChibG9ja2VkVVJMKSwgWyZdKGF1dG8mIGJvZHkpIHsKLSAgICAgICAgYm9keS5z
ZXRTdHJpbmcoImRpc3Bvc2l0aW9uIl9zLCBkaXNwb3NpdGlvbiA9PSBDT0VQRGlzcG9zaXRpb246
OlJlcG9ydGluZyA/ICJyZXBvcnRpbmciX3MgOiAiZW5mb3JjZSJfcyk7Ci0gICAgICAgIGJvZHku
c2V0U3RyaW5nKCJ0eXBlIl9zLCAiY29ycCIpOwotICAgICAgICBib2R5LnNldFN0cmluZygiYmxv
Y2tlZFVSTCJfcywgUGluZ0xvYWRlcjo6c2FuaXRpemVVUkxGb3JSZXBvcnQoYmxvY2tlZFVSTCkp
OwotICAgICAgICBib2R5LnNldFN0cmluZygiZGVzdGluYXRpb24iX3MsIGNvbnZlcnRFbnVtZXJh
dGlvblRvU3RyaW5nKGRlc3RpbmF0aW9uKSk7Ci0gICAgfSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeS5oCmluZGV4IDEzYWZiZjUyMmI4MjQwYjUzZmM2OWNhMGRjZDdkZDRkZTVhYjhhZTYu
Ljk3OTBhZTliNmIzZmRhNGVjNGQxZTM0M2M5YjJkOGI2OTQyODNlNjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaApAQCAtMTAxLDcg
KzEwMSw1IEBAIGVudW0gY2xhc3MgQ09FUERpc3Bvc2l0aW9uIDogYm9vbCB7IFJlcG9ydGluZyAs
IEVuZm9yY2UgfTsKIAogV0VCQ09SRV9FWFBPUlQgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSBv
YnRhaW5Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBj
b25zdCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZENy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lIZWFkZXJzKFJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBD
cm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Jik7Ci1XRUJDT1JFX0VYUE9SVCB2b2lkIHNlbmRDT0VQ
UG9saWN5SW5oZXJpdGVuY2VWaW9sYXRpb24oRnJhbWUmLCBjb25zdCBTZWN1cml0eU9yaWdpbkRh
dGEmIGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBDT0VQRGlzcG9zaXRp
b24sIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgVVJMJiBibG9ja2VkVVJMKTsKLVdFQkNPUkVf
RVhQT1JUIHZvaWQgc2VuZENPRVBDT1JQVmlvbGF0aW9uKEZyYW1lJiwgY29uc3QgU2VjdXJpdHlP
cmlnaW5EYXRhJiBlbWJlZGRlck9yaWdpbiwgY29uc3QgU3RyaW5nJiBlbmRwb2ludCwgQ09FUERp
c3Bvc2l0aW9uLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uLCBjb25zdCBVUkwmIGJsb2NrZWRV
UkwpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Nyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmNwcAppbmRleCAwOWMxMTkwNzEwOTU2ZmI3ZjMy
YTYwYTQ0NzEwNTIzMTU4Yjc4NjYxLi5jZWU1NzZiODNlNDhkMmZlN2E0M2M0MDc3N2RkOWMwMTRh
MjVhMThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5PcGVu
ZXJQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbk9wZW5l
clBvbGljeS5jcHAKQEAgLTU2LDIxICs1Niw2IEBAIHN0YXRpYyBBU0NJSUxpdGVyYWwgY3Jvc3NP
cmlnaW5PcGVuZXJQb2xpY3lUb1N0cmluZyhjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljCiAg
ICAgcmV0dXJuICJ1bnNhZmUtbm9uZSJfczsKIH0KIAotc3RhdGljIEFTQ0lJTGl0ZXJhbCBjcm9z
c09yaWdpbk9wZW5lclBvbGljeVZhbHVlVG9FZmZlY3RpdmVQb2xpY3lTdHJpbmcoQ3Jvc3NPcmln
aW5PcGVuZXJQb2xpY3lWYWx1ZSBjb29wKQotewotICAgIHN3aXRjaCAoY29vcCkgewotICAgIGNh
c2UgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZTo6U2FtZU9yaWdpbkFsbG93UG9wdXBzOgot
ICAgICAgICByZXR1cm4gInNhbWUtb3JpZ2luLWFsbG93LXBvcHVwcyJfczsKLSAgICBjYXNlIENy
b3NzT3JpZ2luT3BlbmVyUG9saWN5VmFsdWU6OlNhbWVPcmlnaW46Ci0gICAgICAgIHJldHVybiAi
c2FtZS1vcmlnaW4iX3M7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wZW5lclBvbGljeVZhbHVlOjpT
YW1lT3JpZ2luUGx1c0NPRVA6Ci0gICAgICAgIHJldHVybiAic2FtZS1vcmlnaW4tcGx1cy1jb2Vw
Il9zOwotICAgIGNhc2UgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9uZToK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIHJldHVybiAidW5zYWZlLW5vbmUiX3M7Ci19Ci0K
IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL29yaWdpbi5odG1sI2No
ZWNrLWJyb3dzaW5nLWNvbnRleHQtZ3JvdXAtc3dpdGNoLWNvb3AtdmFsdWUKIHN0YXRpYyBib29s
IGNoZWNrSWZDT09QVmFsdWVzUmVxdWlyZUJyb3dzaW5nQ29udGV4dEdyb3VwU3dpdGNoKGJvb2wg
aXNJbml0aWFsQWJvdXRCbGFuaywgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZSBhY3RpdmVE
b2N1bWVudENPT1BWYWx1ZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGFjdGl2ZURvY3VtZW50TmF2
aWdhdGlvbk9yaWdpbiwgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZSByZXNwb25zZUNPT1BW
YWx1ZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHJlc3BvbnNlT3JpZ2luKQogewpAQCAtMTIxLDcg
KzEwNiw3IEBAIHN0YXRpYyBzdGQ6OnR1cGxlPFJlZjxTZWN1cml0eU9yaWdpbj4sIENyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5PiBjb21wdXRlUmVzcG9uc2VPCiB9CiAKIC8vIGh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL29yaWdpbi5odG1sI2Nvb3AtZW5mb3JjZQotc3RhdGlj
IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQgZW5mb3JjZVJlc3BvbnNl
Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZv
cmNlbWVudFJlc3VsdCYgY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCwgY29uc3QgVVJMJiBy
ZXNwb25zZVVSTCwgU2VjdXJpdHlPcmlnaW4mIHJlc3BvbnNlT3JpZ2luLCBjb25zdCBDcm9zc09y
aWdpbk9wZW5lclBvbGljeSYgcmVzcG9uc2VDT09QLCBib29sIGlzRGlzcGxheWluZ0luaXRpYWxF
bXB0eURvY3VtZW50LCBjb25zdCBGdW5jdGlvbjx2b2lkKENPT1BEaXNwb3NpdGlvbik+JiBzZW5k
VmlvbGF0aW9uUmVwb3J0cykKK3N0YXRpYyBDcm9zc09yaWdpbk9wZW5lclBvbGljeUVuZm9yY2Vt
ZW50UmVzdWx0IGVuZm9yY2VSZXNwb25zZUNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KGNvbnN0IENy
b3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQmIGN1cnJlbnRDb29wRW5mb3Jj
ZW1lbnRSZXN1bHQsIGNvbnN0IFVSTCYgcmVzcG9uc2VVUkwsIFNlY3VyaXR5T3JpZ2luJiByZXNw
b25zZU9yaWdpbiwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIHJlc3BvbnNlQ09PUCwg
Ym9vbCBpc0Rpc3BsYXlpbmdJbml0aWFsRW1wdHlEb2N1bWVudCkKIHsKICAgICBDcm9zc09yaWdp
bk9wZW5lclBvbGljeUVuZm9yY2VtZW50UmVzdWx0IG5ld0NPT1BFbmZvcmNlbWVudFJlc3VsdCA9
IHsKICAgICAgICAgcmVzcG9uc2VVUkwsCkBAIC0xMzIsMTUgKzExNywxMSBAQCBzdGF0aWMgQ3Jv
c3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZvcmNlbWVudFJlc3VsdCBlbmZvcmNlUmVzcG9uc2VDcm9z
c09yaWdpbk9wZW5lcgogICAgICAgICBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0Lm5lZWRz
QnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hEdWVUb1JlcG9ydE9ubHkKICAgICB9OwogCi0gICAg
aWYgKGNoZWNrSWZDT09QVmFsdWVzUmVxdWlyZUJyb3dzaW5nQ29udGV4dEdyb3VwU3dpdGNoKGlz
RGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVz
dWx0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LnZhbHVlLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50
UmVzdWx0LmN1cnJlbnRPcmlnaW4sIHJlc3BvbnNlQ09PUC52YWx1ZSwgcmVzcG9uc2VPcmlnaW4p
KSB7CisgICAgaWYgKGNoZWNrSWZDT09QVmFsdWVzUmVxdWlyZUJyb3dzaW5nQ29udGV4dEdyb3Vw
U3dpdGNoKGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjdXJyZW50Q29vcEVuZm9y
Y2VtZW50UmVzdWx0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LnZhbHVlLCBjdXJyZW50Q29vcEVu
Zm9yY2VtZW50UmVzdWx0LmN1cnJlbnRPcmlnaW4sIHJlc3BvbnNlQ09PUC52YWx1ZSwgcmVzcG9u
c2VPcmlnaW4pKQogICAgICAgICBuZXdDT09QRW5mb3JjZW1lbnRSZXN1bHQubmVlZHNCcm93c2lu
Z0NvbnRleHRHcm91cFN3aXRjaCA9IHRydWU7Ci0gICAgICAgIHNlbmRWaW9sYXRpb25SZXBvcnRz
KENPT1BEaXNwb3NpdGlvbjo6RW5mb3JjZSk7Ci0gICAgfQogCi0gICAgaWYgKGNoZWNrSWZFbmZv
cmNpbmdSZXBvcnRPbmx5Q09PUFdvdWxkUmVxdWlyZUJyb3dzaW5nQ29udGV4dEdyb3VwU3dpdGNo
KGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjdXJyZW50Q29vcEVuZm9yY2VtZW50
UmVzdWx0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVz
dWx0LmN1cnJlbnRPcmlnaW4sIHJlc3BvbnNlQ09PUCwgcmVzcG9uc2VPcmlnaW4pKSB7CisgICAg
aWYgKGNoZWNrSWZFbmZvcmNpbmdSZXBvcnRPbmx5Q09PUFdvdWxkUmVxdWlyZUJyb3dzaW5nQ29u
dGV4dEdyb3VwU3dpdGNoKGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjdXJyZW50
Q29vcEVuZm9yY2VtZW50UmVzdWx0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LCBjdXJyZW50Q29v
cEVuZm9yY2VtZW50UmVzdWx0LmN1cnJlbnRPcmlnaW4sIHJlc3BvbnNlQ09PUCwgcmVzcG9uc2VP
cmlnaW4pKQogICAgICAgICBuZXdDT09QRW5mb3JjZW1lbnRSZXN1bHQubmVlZHNCcm93c2luZ0Nv
bnRleHRHcm91cFN3aXRjaER1ZVRvUmVwb3J0T25seSA9IHRydWU7Ci0gICAgICAgIHNlbmRWaW9s
YXRpb25SZXBvcnRzKENPT1BEaXNwb3NpdGlvbjo6UmVwb3J0aW5nKTsKLSAgICB9CiAKICAgICBy
ZXR1cm4gbmV3Q09PUEVuZm9yY2VtZW50UmVzdWx0OwogfQpAQCAtMjA2LDQ1ICsxODcsOCBAQCB2
b2lkIGFkZENyb3NzT3JpZ2luT3BlbmVyUG9saWN5SGVhZGVycyhSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSwgY29uc3QgQ3Jvc3NPcgogICAgIH0KIH0KIAotLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvb3JpZ2luLmh0bWwjY29vcC12aW9sYXRpb24tbmF2aWdhdGlv
bi10bwotdm9pZCBzZW5kVmlvbGF0aW9uUmVwb3J0V2hlbk5hdmlnYXRpbmdUb0NPT1BSZXNwb25z
ZShGcmFtZSYgZnJhbWUsIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5IGNvb3AsIENPT1BEaXNwb3Np
dGlvbiBkaXNwb3NpdGlvbiwgY29uc3QgVVJMJiBjb29wVVJMLCBjb25zdCBVUkwmIHByZXZpb3Vz
UmVzcG9uc2VVUkwsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBjb29wT3JpZ2luLCBjb25zdCBTZWN1
cml0eU9yaWdpbiYgcHJldmlvdXNSZXNwb25zZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZlcnJl
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCi17Ci0gICAgaWYgKCFmcmFtZS5zZXR0aW5ncygp
LmNvb3BDb2VwVmlvbGF0aW9uUmVwb3J0aW5nRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBhdXRvJiBlbmRwb2ludCA9IGNvb3AucmVwb3J0aW5nRW5kcG9pbnRGb3JEaXNwb3NpdGlv
bihkaXNwb3NpdGlvbik7Ci0gICAgaWYgKGVuZHBvaW50LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgUGluZ0xvYWRlcjo6c2VuZFJlcG9ydFRvRW5kcG9pbnQoZnJhbWUsIGNvb3BP
cmlnaW4uZGF0YSgpLCBlbmRwb2ludCwgImNvb3AiX3MsIGNvb3BVUkwsIHVzZXJBZ2VudCwgWyZd
KGF1dG8mIGJvZHkpIHsKLSAgICAgICAgYm9keS5zZXRTdHJpbmcoImRpc3Bvc2l0aW9uIl9zLCBk
aXNwb3NpdGlvbiA9PSBDT09QRGlzcG9zaXRpb246OlJlcG9ydGluZyA/ICJyZXBvcnRpbmciX3Mg
OiAiZW5mb3JjZSJfcyk7Ci0gICAgICAgIGJvZHkuc2V0U3RyaW5nKCJlZmZlY3RpdmVQb2xpY3ki
X3MsIGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5VmFsdWVUb0VmZmVjdGl2ZVBvbGljeVN0cmluZyhk
aXNwb3NpdGlvbiA9PSBDT09QRGlzcG9zaXRpb246OlJlcG9ydGluZyA/IGNvb3AucmVwb3J0T25s
eVZhbHVlIDogY29vcC52YWx1ZSkpOwotICAgICAgICBib2R5LnNldFN0cmluZygicHJldmlvdXNS
ZXNwb25zZVVSTCJfcywgY29vcE9yaWdpbi5pc1NhbWVPcmlnaW5BcyhwcmV2aW91c1Jlc3BvbnNl
T3JpZ2luKSA/IFBpbmdMb2FkZXI6OnNhbml0aXplVVJMRm9yUmVwb3J0KHByZXZpb3VzUmVzcG9u
c2VVUkwpIDogU3RyaW5nKCkpOwotICAgICAgICBib2R5LnNldFN0cmluZygidHlwZSJfcywgIm5h
dmlnYXRpb24tdG8tcmVzcG9uc2UiX3MpOwotICAgICAgICBib2R5LnNldFN0cmluZygicmVmZXJy
ZXIiX3MsIHJlZmVycmVyKTsKLSAgICB9KTsKLX0KLQotLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy9tdWx0aXBhZ2Uvb3JpZ2luLmh0bWwjY29vcC12aW9sYXRpb24tbmF2aWdhdGlvbi1m
cm9tCi12b2lkIHNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJl
c3BvbnNlKEZyYW1lJiBmcmFtZSwgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kgY29vcCwgQ09PUERp
c3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBjb25zdCBVUkwmIGNvb3BVUkwsIGNvbnN0IFVSTCYgbmV4
dFJlc3BvbnNlVVJMLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgY29vcE9yaWdpbiwgY29uc3QgU2Vj
dXJpdHlPcmlnaW4mIG5leHRSZXNwb25zZU9yaWdpbiwgYm9vbCBpc0NPT1BSZXNwb25zZU5hdmln
YXRpb25Tb3VyY2UsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KQotewotICAgIGlmICghZnJhbWUu
c2V0dGluZ3MoKS5jb29wQ29lcFZpb2xhdGlvblJlcG9ydGluZ0VuYWJsZWQoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgYXV0byYgZW5kcG9pbnQgPSBjb29wLnJlcG9ydGluZ0VuZHBvaW50Rm9y
RGlzcG9zaXRpb24oZGlzcG9zaXRpb24pOwotICAgIGlmIChlbmRwb2ludC5pc0VtcHR5KCkpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIFBpbmdMb2FkZXI6OnNlbmRSZXBvcnRUb0VuZHBvaW50KGZy
YW1lLCBjb29wT3JpZ2luLmRhdGEoKSwgZW5kcG9pbnQsICJjb29wIl9zLCBjb29wVVJMLCB1c2Vy
QWdlbnQsIFsmXShhdXRvJiBib2R5KSB7Ci0gICAgICAgIGJvZHkuc2V0U3RyaW5nKCJkaXNwb3Np
dGlvbiJfcywgZGlzcG9zaXRpb24gPT0gQ09PUERpc3Bvc2l0aW9uOjpSZXBvcnRpbmcgPyAicmVw
b3J0aW5nIl9zIDogImVuZm9yY2UiX3MpOwotICAgICAgICBib2R5LnNldFN0cmluZygiZWZmZWN0
aXZlUG9saWN5Il9zLCBjcm9zc09yaWdpbk9wZW5lclBvbGljeVZhbHVlVG9FZmZlY3RpdmVQb2xp
Y3lTdHJpbmcoZGlzcG9zaXRpb24gPT0gQ09PUERpc3Bvc2l0aW9uOjpSZXBvcnRpbmcgPyBjb29w
LnJlcG9ydE9ubHlWYWx1ZSA6IGNvb3AudmFsdWUpKTsKLSAgICAgICAgYm9keS5zZXRTdHJpbmco
Im5leHRSZXNwb25zZVVSTCJfcywgY29vcE9yaWdpbi5pc1NhbWVPcmlnaW5BcyhuZXh0UmVzcG9u
c2VPcmlnaW4pIHx8IGlzQ09PUFJlc3BvbnNlTmF2aWdhdGlvblNvdXJjZSA/IFBpbmdMb2FkZXI6
OnNhbml0aXplVVJMRm9yUmVwb3J0KG5leHRSZXNwb25zZVVSTCkgOiBTdHJpbmcoKSk7Ci0gICAg
ICAgIGJvZHkuc2V0U3RyaW5nKCJ0eXBlIl9zLCAibmF2aWdhdGlvbi1mcm9tLXJlc3BvbnNlIl9z
KTsKLSAgICB9KTsKLX0KLQogLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2UvYnJvd3NpbmctdGhlLXdlYi5odG1sI3Byb2Nlc3MtYS1uYXZpZ2F0ZS1mZXRjaCAoU3RlcCAx
My41LjYpCi1zdGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRS
ZXN1bHQ+IGRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9uc2UoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGlvblJlcXVl
c3Rlcj4mIHJlcXVlc3RlciwgQ29udGVudFNlY3VyaXR5UG9saWN5KiByZXNwb25zZUNTUCwgU2Fu
ZGJveEZsYWdzIGVmZmVjdGl2ZVNhbmRib3hGbGFncywgYm9vbCBpc0Rpc3BsYXlpbmdJbml0aWFs
RW1wdHlEb2N1bWVudCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZvcmNlbWVudFJl
c3VsdCYgY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCwgY29uc3QgRnVuY3Rpb248dm9pZChD
T09QRGlzcG9zaXRpb24gZGlzcG9zaXRpb24sIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5
JiByZXNwb25zZUNPT1AsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiByZXNwb25zZU9yaWdpbik+JiBz
ZW5kVmlvbGF0aW9uUmVwb3J0cykKK3N0ZDo6b3B0aW9uYWw8Q3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3lFbmZvcmNlbWVudFJlc3VsdD4gZG9Dcm9zc09yaWdpbk9wZW5lckhhbmRsaW5nT2ZSZXNwb25z
ZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxO
YXZpZ2F0aW9uUmVxdWVzdGVyPiYgcmVxdWVzdGVyLCBDb250ZW50U2VjdXJpdHlQb2xpY3kqIHJl
c3BvbnNlQ1NQLCBTYW5kYm94RmxhZ3MgZWZmZWN0aXZlU2FuZGJveEZsYWdzLCBib29sIGlzRGlz
cGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGlj
eUVuZm9yY2VtZW50UmVzdWx0JiBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0KQogewogICAg
IGF1dG8gW3Jlc3BvbnNlT3JpZ2luLCByZXNwb25zZUNPT1BdID0gY29tcHV0ZVJlc3BvbnNlT3Jp
Z2luQW5kQ09PUChyZXNwb25zZSwgcmVxdWVzdGVyLCByZXNwb25zZUNTUCk7CiAKQEAgLTI1Myw5
ICsxOTcsNyBAQCBzdGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1l
bnRSZXN1bHQ+IGRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbAogICAgIGlmIChyZXNwb25zZUNPT1Au
dmFsdWUgIT0gQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9uZSAmJiBlZmZl
Y3RpdmVTYW5kYm94RmxhZ3MgIT0gU2FuZGJveE5vbmUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKLSAgICByZXR1cm4gZW5mb3JjZVJlc3BvbnNlQ3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3koY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCwgcmVzcG9uc2UudXJsKCksIHJlc3BvbnNl
T3JpZ2luLCByZXNwb25zZUNPT1AsIGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBb
JiwgcmVzcG9uc2VPcmlnaW4gPSByZXNwb25zZU9yaWdpbiwgcmVzcG9uc2VDT09QID0gcmVzcG9u
c2VDT09QXShDT09QRGlzcG9zaXRpb24gZGlzcG9zaXRpb24pIHsKLSAgICAgICAgc2VuZFZpb2xh
dGlvblJlcG9ydHMoZGlzcG9zaXRpb24sIHJlc3BvbnNlQ09PUCwgcmVzcG9uc2VPcmlnaW4pOwot
ICAgIH0pOworICAgIHJldHVybiBlbmZvcmNlUmVzcG9uc2VDcm9zc09yaWdpbk9wZW5lclBvbGlj
eShjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LCByZXNwb25zZS51cmwoKSwgcmVzcG9uc2VP
cmlnaW4sIHJlc3BvbnNlQ09PUCwgaXNEaXNwbGF5aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQpOwog
fQogCiBDcm9zc09yaWdpbk9wZW5lclBvbGljeUVuZm9yY2VtZW50UmVzdWx0IENyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQ6OmZyb20oY29uc3QgVVJMJiBjdXJyZW50VVJM
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgY3VycmVudE9yaWdpbiwgY29uc3QgQ3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3kmIGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LCBzdGQ6Om9wdGlvbmFsPE5hdmln
YXRpb25SZXF1ZXN0ZXI+IHJlcXVlc3RlciwgY29uc3QgVVJMJiBvcGVuZXJVUkwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbk9wZW5lclBvbGljeS5oCmluZGV4IDU4Yzdi
Yjc5Mzg4YWM2ZjAzZjJjODIwZDg5NjhmYTRhMzUyMWZmNGEuLjUyMjEwNjk4NjQ4ZTA4M2ZhMGQ5
ZjI5Y2VmZjA3MzFmOWVlNDk4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9D
cm9zc09yaWdpbk9wZW5lclBvbGljeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpbk9wZW5lclBvbGljeS5oCkBAIC0xMzEsOSArMTMxLDcgQEAgc3RydWN0IENyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQgewogCiBDcm9zc09yaWdpbk9wZW5lclBv
bGljeSBvYnRhaW5Dcm9zc09yaWdpbk9wZW5lclBvbGljeShjb25zdCBSZXNvdXJjZVJlc3BvbnNl
Jik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZENyb3NzT3JpZ2luT3BlbmVyUG9saWN5SGVhZGVy
cyhSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmKTsKLVdF
QkNPUkVfRVhQT1JUIHZvaWQgc2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nVG9DT09Q
UmVzcG9uc2UoRnJhbWUmLCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSwgQ09PUERpc3Bvc2l0aW9u
LCBjb25zdCBVUkwmIGNvb3BVUkwsIGNvbnN0IFVSTCYgcHJldmlvdXNSZXNwb25zZVVSTCwgY29u
c3QgU2VjdXJpdHlPcmlnaW4mIGNvb3BPcmlnaW4sIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBwcmV2
aW91c1Jlc3BvbnNlT3JpZ2luLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCk7Ci1XRUJDT1JFX0VYUE9SVCB2b2lkIHNlbmRWaW9sYXRpb25SZXBvcnRXaGVu
TmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJlc3BvbnNlKEZyYW1lJiwgQ3Jvc3NPcmlnaW5PcGVuZXJQ
b2xpY3ksIENPT1BEaXNwb3NpdGlvbiwgY29uc3QgVVJMJiBjb29wVVJMLCBjb25zdCBVUkwmIG5l
eHRSZXNwb25zZVVSTCwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGNvb3BPcmlnaW4sIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJiBuZXh0UmVzcG9uc2VPcmlnaW4sIGJvb2wgaXNDT09QUmVzcG9uc2VOYXZp
Z2F0aW9uU291cmNlLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7Ci1XRUJDT1JFX0VYUE9SVCBz
dGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQ+IGRv
Q3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGlvblJlcXVlc3Rlcj4mLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3kqIHJlc3BvbnNlQ1NQLCBTYW5kYm94RmxhZ3MgZWZmZWN0aXZlU2FuZGJveEZs
YWdzLCBib29sIGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjb25zdCBDcm9zc09y
aWdpbk9wZW5lclBvbGljeUVuZm9yY2VtZW50UmVzdWx0JiBjdXJyZW50Q29vcEVuZm9yY2VtZW50
UmVzdWx0LCBjb25zdCBGdW5jdGlvbjx2b2lkKENPT1BEaXNwb3NpdGlvbiBkaXNwb3NpdGlvbiwg
Y29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIHJlc3BvbnNlQ09PUCwgY29uc3QgU2VjdXJp
dHlPcmlnaW4mIHJlc3BvbnNlT3JpZ2luKT4mIHNlbmRWaW9sYXRpb25SZXBvcnRzKTsKK1dFQkNP
UkVfRVhQT1JUIHN0ZDo6b3B0aW9uYWw8Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZvcmNlbWVu
dFJlc3VsdD4gZG9Dcm9zc09yaWdpbk9wZW5lckhhbmRsaW5nT2ZSZXNwb25zZShjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxOYXZpZ2F0aW9uUmVxdWVzdGVyPiYs
IENvbnRlbnRTZWN1cml0eVBvbGljeSogcmVzcG9uc2VDU1AsIFNhbmRib3hGbGFncyBlZmZlY3Rp
dmVTYW5kYm94RmxhZ3MsIGJvb2wgaXNEaXNwbGF5aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQsIGNv
bnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQmIGN1cnJlbnRDb29w
RW5mb3JjZW1lbnRSZXN1bHQpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDZiZjNhYzI5N2VjNmIyNjNhMDc4
NjQwYmNmM2FkNTc3OWRiMGZlZGIuLjEwMTUyNDU0YjhmNTAxYWFhZDUyYzZkZjgxZmNlODVkOGIz
NzIxMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtODAs
NyArODAsNiBAQAogI2luY2x1ZGUgIlBvbGljeUNoZWNrZXIuaCIKICNpbmNsdWRlICJQcm9ncmVz
c1RyYWNrZXIuaCIKICNpbmNsdWRlICJRdWlya3MuaCIKLSNpbmNsdWRlICJSZXBvcnRpbmdFbmRw
b2ludHNDYWNoZS5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VMb2FkT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgi
CkBAIC02MzUsMTEgKzYzNCw2IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OndpbGxTZW5kUmVxdWVz
dChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdXJjCiAgICAgICAgIERP
Q1VNRU5UTE9BREVSX1JFTEVBU0VfTE9HKCJ3aWxsU2VuZFJlcXVlc3Q6IFdpdGggbm8gcHJvdmlz
aW9uYWwgZG9jdW1lbnQgbG9hZGVyIik7CiAKICAgICBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJl
c3BvbnNlID0gIXJlZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCk7Ci0gICAgaWYgKGRpZFJlY2VpdmVS
ZWRpcmVjdFJlc3BvbnNlICYmIG1fZnJhbWUtPmlzTWFpbkZyYW1lKCkpIHsKLSAgICAgICAgaWYg
KGF1dG8gcmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUgPSBtX2ZyYW1lLT5wYWdlKCkgPyBtX2ZyYW1l
LT5wYWdlKCktPnJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCkgOiBudWxscHRyKQotICAgICAgICAg
ICAgcmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUtPmFkZEVuZHBvaW50c0Zyb21SZXNwb25zZShyZWRp
cmVjdFJlc3BvbnNlKTsKLSAgICB9Ci0KICAgICBpZiAoIWZyYW1lTG9hZGVyKCktPmNoZWNrSWZG
b3JtQWN0aW9uQWxsb3dlZEJ5Q1NQKG5ld1JlcXVlc3QudXJsKCksIGRpZFJlY2VpdmVSZWRpcmVj
dFJlc3BvbnNlLCByZWRpcmVjdFJlc3BvbnNlLnVybCgpKSkgewogICAgICAgICBET0NVTUVOVExP
QURFUl9SRUxFQVNFX0xPRygid2lsbFNlbmRSZXF1ZXN0OiBjYW5jZWxpbmcgLSBmb3JtIGFjdGlv
biBub3QgYWxsb3dlZCBieSBDU1AiKTsKICAgICAgICAgY2FuY2VsTWFpblJlc291cmNlTG9hZChm
cmFtZUxvYWRlcigpLT5jYW5jZWxsZWRFcnJvcihuZXdSZXF1ZXN0KSk7CkBAIC03NTksMTMgKzc1
Myw3IEBAIHN0ZDo6b3B0aW9uYWw8Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZvcmNlbWVudFJl
c3VsdD4gRG9jdW1lbnRMb2FkZXI6OmRvQ3Jvc3NPCiAKICAgICBhdXRvIGN1cnJlbnRDb29wRW5m
b3JjZW1lbnRSZXN1bHQgPSBDcm9zc09yaWdpbk9wZW5lclBvbGljeUVuZm9yY2VtZW50UmVzdWx0
Ojpmcm9tKG1fZnJhbWUtPmRvY3VtZW50KCktPnVybCgpLCBtX2ZyYW1lLT5kb2N1bWVudCgpLT5z
ZWN1cml0eU9yaWdpbigpLCBtX2ZyYW1lLT5kb2N1bWVudCgpLT5jcm9zc09yaWdpbk9wZW5lclBv
bGljeSgpLCBtX3RyaWdnZXJpbmdBY3Rpb24ucmVxdWVzdGVyKCksIG9wZW5lclVSTCk7CiAKLSAg
ICBhdXRvIG5ld0Nvb3BFbmZvcmNlbWVudFJlc3VsdCA9IFdlYkNvcmU6OmRvQ3Jvc3NPcmlnaW5P
cGVuZXJIYW5kbGluZ09mUmVzcG9uc2UocmVzcG9uc2UsIG1fdHJpZ2dlcmluZ0FjdGlvbi5yZXF1
ZXN0ZXIoKSwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3kuZ2V0KCksIGZyYW1lTG9hZGVyKCktPmVm
ZmVjdGl2ZVNhbmRib3hGbGFncygpLCBmcmFtZUxvYWRlcigpLT5zdGF0ZU1hY2hpbmUoKS5pc0Rp
c3BsYXlpbmdJbml0aWFsRW1wdHlEb2N1bWVudCgpLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVz
dWx0LCBbJl0oQ09PUERpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBjb25zdCBDcm9zc09yaWdpbk9w
ZW5lclBvbGljeSYgcmVzcG9uc2VDT09QLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgcmVzcG9uc2VP
cmlnaW4pIHsKLSAgICAgICAgLy8gRklYTUU6IEFkZCB0aGUgY29uY2VwdCBvZiBicm93c2luZyBj
b250ZXh0IGdyb3VwIGxpa2UgaW4gdGhlIHNwZWNpZmljYXRpb24gaW5zdGVhZCBvZiB0cmVhdGlu
ZyB0aGUgd2hvbGUgcHJvY2VzcyBhcyBhIGdyb3VwLgotICAgICAgICBpZiAoUGFnZTo6bm9uVXRp
bGl0eVBhZ2VDb3VudCgpID4gMSkgewotICAgICAgICAgICAgc2VuZFZpb2xhdGlvblJlcG9ydFdo
ZW5OYXZpZ2F0aW5nVG9DT09QUmVzcG9uc2UoKm1fZnJhbWUsIHJlc3BvbnNlQ09PUCwgZGlzcG9z
aXRpb24sIHJlc3BvbnNlLnVybCgpLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LnVybCwg
cmVzcG9uc2VPcmlnaW4sIGN1cnJlbnRDb29wRW5mb3JjZW1lbnRSZXN1bHQuY3VycmVudE9yaWdp
biwgbV9yZXF1ZXN0Lmh0dHBSZWZlcnJlcigpLCBtX3JlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsK
LSAgICAgICAgICAgIHNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09P
UFJlc3BvbnNlKCptX2ZyYW1lLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LmNyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5LCBkaXNwb3NpdGlvbiwgY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3Vs
dC51cmwsIHJlc3BvbnNlLnVybCgpLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LmN1cnJl
bnRPcmlnaW4sIHJlc3BvbnNlT3JpZ2luLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0Lmlz
Q3VycmVudENvbnRleHROYXZpZ2F0aW9uU291cmNlLCBtX3JlcXVlc3QuaHR0cFVzZXJBZ2VudCgp
KTsKLSAgICAgICAgfQotICAgIH0pOworICAgIGF1dG8gbmV3Q29vcEVuZm9yY2VtZW50UmVzdWx0
ID0gV2ViQ29yZTo6ZG9Dcm9zc09yaWdpbk9wZW5lckhhbmRsaW5nT2ZSZXNwb25zZShyZXNwb25z
ZSwgbV90cmlnZ2VyaW5nQWN0aW9uLnJlcXVlc3RlcigpLCBtX2NvbnRlbnRTZWN1cml0eVBvbGlj
eS5nZXQoKSwgZnJhbWVMb2FkZXIoKS0+ZWZmZWN0aXZlU2FuZGJveEZsYWdzKCksIGZyYW1lTG9h
ZGVyKCktPnN0YXRlTWFjaGluZSgpLmlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50KCks
IGN1cnJlbnRDb29wRW5mb3JjZW1lbnRSZXN1bHQpOwogICAgIGlmICghbmV3Q29vcEVuZm9yY2Vt
ZW50UmVzdWx0KSB7CiAgICAgICAgIGNhbmNlbE1haW5SZXNvdXJjZUxvYWQoZnJhbWVMb2FkZXIo
KS0+Y2FuY2VsbGVkRXJyb3IobV9yZXF1ZXN0KSk7CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CkBAIC05MjQsMTEgKzkxMiw2IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVj
ZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIENvbXBsZXRpCiAgICAgaWYg
KHdpbGxMb2FkRmFsbGJhY2spCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX2ZyYW1lLT5p
c01haW5GcmFtZSgpKSB7Ci0gICAgICAgIGlmIChhdXRvIHJlcG9ydGluZ0VuZHBvaW50c0NhY2hl
ID0gbV9mcmFtZS0+cGFnZSgpID8gbV9mcmFtZS0+cGFnZSgpLT5yZXBvcnRpbmdFbmRwb2ludHND
YWNoZSgpIDogbnVsbHB0cikKLSAgICAgICAgICAgIHJlcG9ydGluZ0VuZHBvaW50c0NhY2hlLT5h
ZGRFbmRwb2ludHNGcm9tUmVzcG9uc2UocmVzcG9uc2UpOwotICAgIH0KLQogICAgIEFTU0VSVCht
X2lkZW50aWZpZXJGb3JMb2FkV2l0aG91dFJlc291cmNlTG9hZGVyIHx8IG1fbWFpblJlc291cmNl
KTsKICAgICBSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRpZmllciA9IG1faWRlbnRpZmll
ckZvckxvYWRXaXRob3V0UmVzb3VyY2VMb2FkZXIgPyBtX2lkZW50aWZpZXJGb3JMb2FkV2l0aG91
dFJlc291cmNlTG9hZGVyIDogbV9tYWluUmVzb3VyY2UtPmlkZW50aWZpZXIoKTsKICAgICBBU1NF
UlQoaWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAKaW5kZXggYTQ2
ZTYwMGFiY2FhZWNiNGU4NjlkN2VjMWU3NWY1NWJmYTY2ODYyMy4uNjZlN2EzOTNmMzRjZTM3MmVj
MzBmZmNiNTQ2ODA3N2UxMjM4MThjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1BpbmdMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNw
cApAQCAtNDksNyArNDksNiBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKLSNpbmNsdWRlICJS
ZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZEluZm8uaCIK
QEAgLTI1MCwzMyArMjQ5LDQgQEAgU3RyaW5nIFBpbmdMb2FkZXI6OnNhbml0aXplVVJMRm9yUmVw
b3J0KGNvbnN0IFVSTCYgdXJsKQogICAgIHJldHVybiBzYW5pdGl6ZWRVUkwuc3RyaW5nKCk7CiB9
CiAKLS8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXBvcnRpbmcvI3RyeS1kZWxpdmVyeQotdm9p
ZCBQaW5nTG9hZGVyOjpzZW5kUmVwb3J0VG9FbmRwb2ludChGcmFtZSYgZnJhbWUsIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBjb25zdCBT
dHJpbmcmIHR5cGUsIGNvbnN0IFVSTCYgcmVwb3J0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgY29uc3QgRnVuY3Rpb248dm9pZChKU09OOjpPYmplY3QmKT4mIHBvcHVsYXRlUmVwb3J0Qm9k
eSkKLXsKLSAgICBBU1NFUlQoIWVuZHBvaW50LmlzRW1wdHkoKSk7Ci0gICAgYXV0byByZXBvcnRp
bmdFbmRwb2ludHNDYWNoZSA9IGZyYW1lLnBhZ2UoKSA/IGZyYW1lLnBhZ2UoKS0+cmVwb3J0aW5n
RW5kcG9pbnRzQ2FjaGUoKSA6IG51bGxwdHI7Ci0gICAgaWYgKCFyZXBvcnRpbmdFbmRwb2ludHND
YWNoZSkKLSAgICAgICAgcmV0dXJuOwotICAgIGF1dG8gZW5kcG9pbnRVUkwgPSByZXBvcnRpbmdF
bmRwb2ludHNDYWNoZS0+ZW5kcG9pbnRVUkwob3JpZ2luLCBlbmRwb2ludCk7Ci0gICAgaWYgKCFl
bmRwb2ludFVSTC5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8gYm9keSA9
IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgcG9wdWxhdGVSZXBvcnRCb2R5KGJvZHkpOwot
Ci0gICAgYXV0byByZXBvcnRPYmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwotICAgIHJl
cG9ydE9iamVjdC0+c2V0U3RyaW5nKCJ0eXBlIl9zLCB0eXBlKTsKLSAgICBpZiAocmVwb3J0VVJM
LmlzVmFsaWQoKSkKLSAgICAgICAgcmVwb3J0T2JqZWN0LT5zZXRTdHJpbmcoInVybCJfcywgcmVw
b3J0VVJMLnN0cmluZygpKTsKLSAgICByZXBvcnRPYmplY3QtPnNldFN0cmluZygidXNlcl9hZ2Vu
dCIsIHVzZXJBZ2VudCk7Ci0gICAgcmVwb3J0T2JqZWN0LT5zZXRJbnRlZ2VyKCJhZ2UiLCAwKTsg
Ly8gV2UgY3VycmVudGx5IGRvIG5vdCBkZWxheSBzZW5kaW5nIHRoZSByZXBvcnRzLgotICAgIHJl
cG9ydE9iamVjdC0+c2V0T2JqZWN0KCJib2R5Il9zLCBXVEZNb3ZlKGJvZHkpKTsKLQotICAgIGF1
dG8gcmVwb3J0TGlzdCA9IEpTT046OkFycmF5OjpjcmVhdGUoKTsKLSAgICByZXBvcnRMaXN0LT5w
dXNoT2JqZWN0KHJlcG9ydE9iamVjdCk7Ci0KLSAgICBhdXRvIHJlcG9ydCA9IEZvcm1EYXRhOjpj
cmVhdGUocmVwb3J0TGlzdC0+dG9KU09OU3RyaW5nKCkudXRmOCgpKTsKLSAgICBzZW5kVmlvbGF0
aW9uUmVwb3J0KGZyYW1lLCBlbmRwb2ludFVSTCwgV1RGTW92ZShyZXBvcnQpLCBWaW9sYXRpb25S
ZXBvcnRUeXBlOjpTdGFuZGFyZFJlcG9ydGluZ0FQSVZpb2xhdGlvbik7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IGEyNDhhOTI0
NTM3MzhmMjljOTBiMGFiYTFlZGNkODJjZDI1ZTU3NjMuLmZiZjkxZDhlYTAxMzk1NDFmMzEwNzI5
OGM3OTBkNjBjNGQxY2Y0YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5n
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtNTks
NyArNTksNiBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2VuZFZp
b2xhdGlvblJlcG9ydChGcmFtZSYsIGNvbnN0IFVSTCYgcmVwb3J0VVJMLCBSZWY8Rm9ybURhdGE+
JiYgcmVwb3J0LCBWaW9sYXRpb25SZXBvcnRUeXBlKTsKIAogICAgIHN0YXRpYyBTdHJpbmcgc2Fu
aXRpemVVUkxGb3JSZXBvcnQoY29uc3QgVVJMJik7Ci0gICAgc3RhdGljIHZvaWQgc2VuZFJlcG9y
dFRvRW5kcG9pbnQoRnJhbWUmLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTdHJp
bmcmIGVuZHBvaW50LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFVSTCYgcmVwb3J0VVJMLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgRnVuY3Rpb248dm9pZChKU09OOjpPYmplY3Qm
KT4mIHBvcHVsYXRlUmVwb3J0Qm9keSk7CiAKIHByaXZhdGU6CiAgICAgZW51bSBjbGFzcyBTaG91
bGRGb2xsb3dSZWRpcmVjdHMgeyBObywgWWVzIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1JlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZWJkNjA1OTRjMTI3YjE0OTA2NWMxMjk5ZDliYTFlYTY0N2M1ZDJiNi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTgyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUmVwb3J0
aW5nRW5kcG9pbnRzQ2FjaGUuaCIKLQotI2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgotI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgot
I2luY2x1ZGUgPHd0Zi9KU09OVmFsdWVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3Ry
dWN0IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjpFbmRwb2ludCB7Ci0gICAgRW5kcG9pbnQoKSA9
IGRlZmF1bHQ7Ci0gICAgRW5kcG9pbnQoVVJMJiYsIFNlY29uZHMgbWF4QWdlKTsKLQotICAgIGJv
b2wgaGFzRXhwaXJlZCgpIGNvbnN0OwotCi0gICAgVVJMIHVybDsKLSAgICBNb25vdG9uaWNUaW1l
IGFkZFRpbWU7Ci0gICAgU2Vjb25kcyBtYXhBZ2U7Ci19OwotCi1SZXBvcnRpbmdFbmRwb2ludHND
YWNoZTo6RW5kcG9pbnQ6OkVuZHBvaW50KFVSTCYmIHVybCwgU2Vjb25kcyBtYXhBZ2UpCi0gICAg
OiB1cmwoV1RGTW92ZSh1cmwpKQotICAgICwgYWRkVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkK
LSAgICAsIG1heEFnZShtYXhBZ2UpCi17Ci19Ci0KLWJvb2wgUmVwb3J0aW5nRW5kcG9pbnRzQ2Fj
aGU6OkVuZHBvaW50OjpoYXNFeHBpcmVkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gTW9ub3Rvbmlj
VGltZTo6bm93KCkgLSBhZGRUaW1lID4gbWF4QWdlOwotfQotCi1SZWY8UmVwb3J0aW5nRW5kcG9p
bnRzQ2FjaGU+IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjpjcmVhdGUoKQotewotICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKTsKLX0KLQotUmVwb3J0aW5n
RW5kcG9pbnRzQ2FjaGU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCkgPSBkZWZhdWx0OwotUmVw
b3J0aW5nRW5kcG9pbnRzQ2FjaGU6On5SZXBvcnRpbmdFbmRwb2ludHNDYWNoZSgpID0gZGVmYXVs
dDsKLQotLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3JlcG9ydGluZy8jcHJvY2Vzcy1oZWFkZXIK
LXZvaWQgUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGU6OmFkZEVuZHBvaW50c0Zyb21SZXNwb25zZShj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLXsKLSAgICByZXR1cm4gYWRkRW5kcG9p
bnRzRnJvbVJlcG9ydFRvSGVhZGVyKHJlc3BvbnNlLnVybCgpLCByZXNwb25zZS5odHRwSGVhZGVy
RmllbGQoSFRUUEhlYWRlck5hbWU6OlJlcG9ydFRvKSk7Ci19Ci0KLXZvaWQgUmVwb3J0aW5nRW5k
cG9pbnRzQ2FjaGU6OmFkZEVuZHBvaW50c0Zyb21SZXBvcnRUb0hlYWRlcihjb25zdCBVUkwmIHJl
c3BvbnNlVVJMLCBjb25zdCBTdHJpbmcmIHJlcG9ydFRvSGVhZGVyVmFsdWUpCi17Ci0gICAgaWYg
KHJlcG9ydFRvSGVhZGVyVmFsdWUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBh
dXRvIHNlY3VyaXR5T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZVVSTCk7
Ci0gICAgaWYgKHNlY3VyaXR5T3JpZ2luLT5pc1VuaXF1ZSgpIHx8ICFzZWN1cml0eU9yaWdpbi0+
aXNQb3RlbnRpYWxseVRydXN0d29ydGh5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8g
ZmluZE5leHRUb3BMZXZlbENvbW1hID0gWyZyZXBvcnRUb0hlYWRlclZhbHVlXShzaXplX3Qgc3Rh
cnRJbmRleCkgewotICAgICAgICB1bnNpZ25lZCBkZXB0aCA9IDA7Ci0gICAgICAgIGZvciAoc2l6
ZV90IGkgPSBzdGFydEluZGV4OyBpIDwgcmVwb3J0VG9IZWFkZXJWYWx1ZS5sZW5ndGgoKTsgKytp
KSB7Ci0gICAgICAgICAgICBhdXRvIGMgPSByZXBvcnRUb0hlYWRlclZhbHVlW2ldOwotICAgICAg
ICAgICAgaWYgKGMgPT0gJ3snKQotICAgICAgICAgICAgICAgICsrZGVwdGg7Ci0gICAgICAgICAg
ICBlbHNlIGlmIChjID09ICd9JykgewotICAgICAgICAgICAgICAgIGlmICghZGVwdGgpCi0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIC0tZGVwdGg7Ci0gICAgICAg
ICAgICB9IGVsc2UgaWYgKGMgPT0gJywnICYmICFkZXB0aCkKLSAgICAgICAgICAgICAgICByZXR1
cm4gaTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gbm90Rm91bmQ7Ci0gICAgfTsKLSAgICBz
aXplX3QgZGljdGlvbmFyeVN0YXJ0ID0gMDsKLSAgICB3aGlsZSAoZGljdGlvbmFyeVN0YXJ0IDwg
cmVwb3J0VG9IZWFkZXJWYWx1ZS5sZW5ndGgoKSkgewotICAgICAgICBhdXRvIGluZGV4T2ZOZXh0
VG9wTGV2ZWxDb21tYSA9IGZpbmROZXh0VG9wTGV2ZWxDb21tYShkaWN0aW9uYXJ5U3RhcnQpOwot
ICAgICAgICBpZiAoaW5kZXhPZk5leHRUb3BMZXZlbENvbW1hID09IG5vdEZvdW5kKSB7Ci0gICAg
ICAgICAgICBhZGRFbmRwb2ludEZyb21EaWN0aW9uYXJ5KHNlY3VyaXR5T3JpZ2luLT5kYXRhKCks
IHJlc3BvbnNlVVJMLCByZXBvcnRUb0hlYWRlclZhbHVlLnN1YnN0cmluZyhkaWN0aW9uYXJ5U3Rh
cnQpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGFkZEVuZHBvaW50
RnJvbURpY3Rpb25hcnkoc2VjdXJpdHlPcmlnaW4tPmRhdGEoKSwgcmVzcG9uc2VVUkwsIHJlcG9y
dFRvSGVhZGVyVmFsdWUuc3Vic3RyaW5nKGRpY3Rpb25hcnlTdGFydCwgaW5kZXhPZk5leHRUb3BM
ZXZlbENvbW1hIC0gZGljdGlvbmFyeVN0YXJ0KSk7Ci0gICAgICAgIGRpY3Rpb25hcnlTdGFydCA9
IGluZGV4T2ZOZXh0VG9wTGV2ZWxDb21tYSArIDE7Ci0gICAgfQotfQotCi0vLyBodHRwczovL3d3
dy53My5vcmcvVFIvcmVwb3J0aW5nLyNwcm9jZXNzLWhlYWRlcgotdm9pZCBSZXBvcnRpbmdFbmRw
b2ludHNDYWNoZTo6YWRkRW5kcG9pbnRGcm9tRGljdGlvbmFyeShjb25zdCBTZWN1cml0eU9yaWdp
bkRhdGEmIHNlY3VyaXR5T3JpZ2luLCBjb25zdCBVUkwmIHJlc3BvbnNlVVJMLCBTdHJpbmdWaWV3
IGRpY3Rpb25hcnlTdHJpbmcpCi17Ci0gICAgYXV0byBqc29uID0gSlNPTjo6VmFsdWU6OnBhcnNl
SlNPTihkaWN0aW9uYXJ5U3RyaW5nLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSk7Ci0gICAgaWYg
KCFqc29uKQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvIGpzb25EaWN0aW9uYXJ5ID0ganNv
bi0+YXNPYmplY3QoKTsKLSAgICBpZiAoIWpzb25EaWN0aW9uYXJ5KQotICAgICAgICByZXR1cm47
Ci0KLSAgICBhdXRvIGdyb3VwID0ganNvbkRpY3Rpb25hcnktPmdldFN0cmluZygiZ3JvdXAiX3Mp
OwotICAgIGlmIChncm91cC5pc0VtcHR5KCkpCi0gICAgICAgIGdyb3VwID0gImRlZmF1bHQiX3M7
Ci0KLSAgICBhdXRvIG1heEFnZSA9IGpzb25EaWN0aW9uYXJ5LT5nZXRJbnRlZ2VyKCJtYXhfYWdl
Iik7Ci0gICAgaWYgKCFtYXhBZ2UgfHwgKm1heEFnZSA8IDApCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmICghKm1heEFnZSkgewotICAgICAgICAvLyBBIHZhbHVlIG9mIDAgaW5kaWNhdGVzIHdl
IHNob3VsZCByZW1vdmUgdGhlIGdyb3VwIGZyb20gdGhlIGNhY2hlLgotICAgICAgICBhdXRvIGl0
ID0gbV9lbmRwb2ludHNQZXJPcmlnaW4uZmluZChzZWN1cml0eU9yaWdpbik7Ci0gICAgICAgIGlm
IChpdCA9PSBtX2VuZHBvaW50c1Blck9yaWdpbi5lbmQoKSkKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgaXQtPnZhbHVlLnJlbW92ZShncm91cCk7Ci0gICAgICAgIGlmIChpdC0+dmFsdWUu
aXNFbXB0eSgpKQotICAgICAgICAgICAgbV9lbmRwb2ludHNQZXJPcmlnaW4ucmVtb3ZlKGl0KTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGF1dG8gZW5kcG9pbnRzID0ganNvbkRpY3Rp
b25hcnktPmdldEFycmF5KCJlbmRwb2ludHMiX3MpOwotICAgIGlmICghZW5kcG9pbnRzIHx8ICFl
bmRwb2ludHMtPmxlbmd0aCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGVuZHBvaW50cy0+bGVuZ3RoKCk7ICsraSkgewotICAgICAgICBhdXRvIGVuZHBv
aW50ID0gZW5kcG9pbnRzLT5nZXQoaSktPmFzT2JqZWN0KCk7Ci0gICAgICAgIGlmICghZW5kcG9p
bnQpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBhdXRvIGVuZHBvaW50VVJMU3Ry
aW5nID0gZW5kcG9pbnQtPmdldFN0cmluZygidXJsIl9zKTsKLSAgICAgICAgaWYgKGVuZHBvaW50
VVJMU3RyaW5nLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGF1
dG8gZW5kcG9pbnRVUkwgPSBVUkwocmVzcG9uc2VVUkwsIGVuZHBvaW50VVJMU3RyaW5nKTsKLSAg
ICAgICAgaWYgKCFlbmRwb2ludFVSTC5pc1ZhbGlkKCkpCi0gICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICBhdXRvJiBlbmRwb2ludHNGb3JPcmlnaW4gPSBtX2VuZHBvaW50c1Blck9yaWdp
bi5lbnN1cmUoc2VjdXJpdHlPcmlnaW4sIFtdIHsKLSAgICAgICAgICAgIHJldHVybiBIYXNoTWFw
PFN0cmluZywgRW5kcG9pbnQ+IHsgfTsKLSAgICAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwotICAg
ICAgICBlbmRwb2ludHNGb3JPcmlnaW4uYWRkKFdURk1vdmUoZ3JvdXApLCBFbmRwb2ludChXVEZN
b3ZlKGVuZHBvaW50VVJMKSwgU2Vjb25kcyB7IHN0YXRpY19jYXN0PGRvdWJsZT4oKm1heEFnZSkg
fSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotfQotCi1VUkwgUmVwb3J0aW5nRW5kcG9pbnRz
Q2FjaGU6OmVuZHBvaW50VVJMKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luLCBjb25z
dCBTdHJpbmcmIGdyb3VwKSBjb25zdAotewotICAgIGF1dG8gb3V0ZXJJdGVyYXRvciA9IG1fZW5k
cG9pbnRzUGVyT3JpZ2luLmZpbmQob3JpZ2luKTsKLSAgICBpZiAob3V0ZXJJdGVyYXRvciA9PSBt
X2VuZHBvaW50c1Blck9yaWdpbi5lbmQoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICBhdXRv
JiBlbmRwb2ludHNGb3JPcmlnaW4gPSBvdXRlckl0ZXJhdG9yLT52YWx1ZTsKLSAgICBhdXRvIGlu
bmVySXRlcmF0b3IgPSBlbmRwb2ludHNGb3JPcmlnaW4uZmluZChncm91cCk7Ci0gICAgaWYgKGlu
bmVySXRlcmF0b3IgPT0gZW5kcG9pbnRzRm9yT3JpZ2luLmVuZCgpKQotICAgICAgICByZXR1cm4g
eyB9OwotICAgIGlmIChpbm5lckl0ZXJhdG9yLT52YWx1ZS5oYXNFeHBpcmVkKCkpIHsKLSAgICAg
ICAgZW5kcG9pbnRzRm9yT3JpZ2luLnJlbW92ZShpbm5lckl0ZXJhdG9yKTsKLSAgICAgICAgaWYg
KGVuZHBvaW50c0Zvck9yaWdpbi5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX2VuZHBvaW50c1Bl
ck9yaWdpbi5yZW1vdmUob3V0ZXJJdGVyYXRvcik7Ci0gICAgICAgIHJldHVybiB7IH07Ci0gICAg
fQotICAgIHJldHVybiBpbm5lckl0ZXJhdG9yLT52YWx1ZS51cmw7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXBvcnRpbmdF
bmRwb2ludHNDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1JlcG9ydGluZ0VuZHBvaW50
c0NhY2hlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllYTE2NGRhMDk1OTU3YTg3
NjJmZmE3NTZkNWM1YWEzYzAwNjBlMzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1JlcG9ydGluZ0VuZHBvaW50c0Nh
Y2hlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKLSNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVVJMSGFzaC5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci0KLS8vIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9yZXBvcnRpbmcvI2NvbmNlcHQtc3RvcmFnZQotY2xhc3MgUmVwb3J0aW5nRW5kcG9pbnRz
Q2FjaGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZXBvcnRpbmdFbmRwb2ludHNDYWNoZT4gewotICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBSZWY8UmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGU+IGNyZWF0ZSgpOwotICAgIFdFQkNPUkVf
RVhQT1JUIH5SZXBvcnRpbmdFbmRwb2ludHNDYWNoZSgpOwotCi0gICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBhZGRFbmRwb2ludHNGcm9tUmVwb3J0VG9IZWFkZXIoY29uc3QgVVJMJiwgY29uc3QgU3Ry
aW5nJik7Ci0gICAgdm9pZCBhZGRFbmRwb2ludHNGcm9tUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYpOwotICAgIFVSTCBlbmRwb2ludFVSTChjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
LCBjb25zdCBTdHJpbmcmIGdyb3VwKSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBSZXBvcnRpbmdF
bmRwb2ludHNDYWNoZSgpOwotICAgIHZvaWQgYWRkRW5kcG9pbnRGcm9tRGljdGlvbmFyeShjb25z
dCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBVUkwmIHJlc3BvbnNlVVJMLCBTdHJpbmdWaWV3
KTsKLQotICAgIHN0cnVjdCBFbmRwb2ludDsKLSAgICBtdXRhYmxlIEhhc2hNYXA8U2VjdXJpdHlP
cmlnaW5EYXRhLCBIYXNoTWFwPFN0cmluZywgRW5kcG9pbnQ+PiBtX2VuZHBvaW50c1Blck9yaWdp
bjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDNm
YjJiNjdjZjJiNTQ5ZDI0YTgzNzlmODE4NDI2MjkzOTliMWFmYjEuLjhhZWNiYTY0MTM4ODcwMDZj
Y2EzOTY4N2RlY2IyMWU5OTE2ODRhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTIyLDcgKzEy
Miw2IEBACiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5o
IgogI2luY2x1ZGUgIlJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5oIgotI2luY2x1ZGUgIlJlcG9y
dGluZ0VuZHBvaW50c0NhY2hlLmgiCiAjaW5jbHVkZSAiUmVzaXplT2JzZXJ2ZXIuaCIKICNpbmNs
dWRlICJSZXNvdXJjZVVzYWdlT3ZlcmxheS5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaCIKQEAgLTM0MSw3ICszNDAsNiBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9u
JiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tp
ZUJsb2NraW5nKHBhZ2VDb25maWd1cmF0aW9uLnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJs
b2NraW5nKQogICAgICwgbV9odHRwc1VwZ3JhZGVFbmFibGVkKHBhZ2VDb25maWd1cmF0aW9uLmh0
dHBzVXBncmFkZUVuYWJsZWQpCiAgICAgLCBtX3Blcm1pc3Npb25Db250cm9sbGVyKFdURk1vdmUo
cGFnZUNvbmZpZ3VyYXRpb24ucGVybWlzc2lvbkNvbnRyb2xsZXIpKQotICAgICwgbV9yZXBvcnRp
bmdFbmRwb2ludHNDYWNoZShXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnJlcG9ydGluZ0VuZHBv
aW50c0NhY2hlKSkKICAgICAsIG1fc3RvcmFnZVByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3Vy
YXRpb24uc3RvcmFnZVByb3ZpZGVyKSkKICAgICAsIG1fbW9kZWxQbGF5ZXJQcm92aWRlcihXVEZN
b3ZlKHBhZ2VDb25maWd1cmF0aW9uLm1vZGVsUGxheWVyUHJvdmlkZXIpKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAppbmRleCBkNmQ1YWUyYzU2NjQ0ZTI1Mzg5OGEwNGEwZjljYjNjY2FhNTM2YWYyLi44Y2ZlYTFh
ZGY5MTdkMzllODM4MDBiYTI4NDcxMjQ4MGFhNDg2ODIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTQ1
LDcgKzE0NSw2IEBAIGNsYXNzIFBvaW50ZXJDYXB0dXJlQ29udHJvbGxlcjsKIGNsYXNzIFBvaW50
ZXJMb2NrQ29udHJvbGxlcjsKIGNsYXNzIFByb2dyZXNzVHJhY2tlcjsKIGNsYXNzIFJlbmRlck9i
amVjdDsKLWNsYXNzIFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOwogY2xhc3MgUmVzb3VyY2VVc2Fn
ZU92ZXJsYXk7CiBjbGFzcyBSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI7CiBjbGFzcyBTY3JvbGxM
YXRjaGluZ0NvbnRyb2xsZXI7CkBAIC0zMjAsOCArMzE5LDYgQEAgcHVibGljOgogICAgIHZvaWQg
cmVtb3RlSW5zcGVjdG9ySW5mb3JtYXRpb25EaWRDaGFuZ2UoKSBjb25zdDsKICNlbmRpZgogCi0g
ICAgUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUqIHJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCkgeyBy
ZXR1cm4gbV9yZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5nZXQoKTsgfQotCiAgICAgQ2hyb21lJiBj
aHJvbWUoKSBjb25zdCB7IHJldHVybiAqbV9jaHJvbWU7IH0KICAgICBEcmFnQ2FyZXRDb250cm9s
bGVyJiBkcmFnQ2FyZXRDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gKm1fZHJhZ0NhcmV0Q29u
dHJvbGxlcjsgfQogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCkBAIC0xMjY4LDcgKzEyNjUsNiBA
QCBwcml2YXRlOgogICAgIG11dGFibGUgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1fbWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyOwogCiAgICAgUmVmPFBlcm1pc3Npb25Db250cm9sbGVy
PiBtX3Blcm1pc3Npb25Db250cm9sbGVyOwotICAgIFJlZlB0cjxSZXBvcnRpbmdFbmRwb2ludHND
YWNoZT4gbV9yZXBvcnRpbmdFbmRwb2ludHNDYWNoZTsKICAgICBVbmlxdWVSZWY8U3RvcmFnZVBy
b3ZpZGVyPiBtX3N0b3JhZ2VQcm92aWRlcjsKICAgICBVbmlxdWVSZWY8TW9kZWxQbGF5ZXJQcm92
aWRlcj4gbV9tb2RlbFBsYXllclByb3ZpZGVyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwCmluZGV4IGFlNDI3YjdkMmNmZTdiMjIyYTU1ZDg1ZTk4MThiMDQ0Nzg1
NGNjYzYuLmMyMTY1ZmNmNzE4MzAwMDc5ZWEyZTE2NDU0YjRlYTIzMDk3N2I4ZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC00NCw3ICs0NCw2IEBACiAj
aW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbHVnaW5JbmZvUHJv
dmlkZXIuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCIKLSNpbmNsdWRlICJS
ZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5oIgogI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCiAj
aW5jbHVkZSAiU3BlZWNoUmVjb2duaXRpb25Qcm92aWRlci5oIgogI2luY2x1ZGUgIlNwZWVjaFN5
bnRoZXNpc0NsaWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29u
ZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmlu
ZGV4IDFlNmE4ODBjNzYxN2ZkZWEzOGNiMTAxZmMyM2I3NTY2MzkxZDFjMmQuLjYwYWZkNzE5ZWZi
OTA3MTExYmNiZTI0MmI2ZjRhMWY0ZDc4NGYwN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmgKQEAgLTY3LDcgKzY3LDYgQEAgY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5n
Q2xpZW50OwogY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZvUHJv
dmlkZXI7CiBjbGFzcyBQcm9ncmVzc1RyYWNrZXJDbGllbnQ7Ci1jbGFzcyBSZXBvcnRpbmdFbmRw
b2ludHNDYWNoZTsKIGNsYXNzIFNvY2tldFByb3ZpZGVyOwogY2xhc3MgU3BlZWNoUmVjb2duaXRp
b25Qcm92aWRlcjsKIGNsYXNzIFNwZWVjaFN5bnRoZXNpc0NsaWVudDsKQEAgLTE0MSw3ICsxNDAs
NiBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPFVzZXJDb250ZW50VVJMUGF0dGVybj4gY29yc0Rpc2Fi
bGluZ1BhdHRlcm5zOwogICAgIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiBz
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyOwogICAgIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJv
dmlkZXI+IG1lZGlhUmVjb3JkZXJQcm92aWRlcjsKLSAgICBSZWZQdHI8UmVwb3J0aW5nRW5kcG9p
bnRzQ2FjaGU+IHJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOwogCiAgICAgLy8gRklYTUU6IFRoZXNl
IHNob3VsZCBiZSBhbGwgYmUgU2V0dGluZ3MuCiAgICAgYm9vbCBsb2Fkc1N1YnJlc291cmNlcyB7
IHRydWUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xv
YWRDaGVja2VyLmNwcAppbmRleCBkODRjZmNmMGFiZDExZTc1MTkxODgwNmRiNjRhMTQ5MWJjNTY3
ZjdjLi42NzIzMGRlZTA1ZTQ0M2EzZjQ1ODdkOWQ3N2Q3NzA4Zjc0YzgyOWQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCkBA
IC0xNjUsMTcgKzE2NSw5IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJlc291cmNlRXJyb3I+IHBl
cmZvcm1DT1JQQ2hlY2soY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvCiAgICAgaWYgKGF1dG8g
ZXJyb3IgPSB2YWxpZGF0ZUNyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3koQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeVZhbHVlOjpVbnNhZmVOb25lLCBlbWJlZGRlck9yaWdpbiwgdXJsLCByZXNwb25z
ZSwgZm9yTmF2aWdhdGlvbikpCiAgICAgICAgIHJldHVybiBlcnJvcjsKIAotICAgIGlmIChlbWJl
ZGRlckNPRVAucmVwb3J0T25seVZhbHVlID09IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1
ZTo6UmVxdWlyZUNPUlAgJiYgIWVtYmVkZGVyQ09FUC5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9p
bnQuaXNFbXB0eSgpICYmIGxvYWRlcikgewotICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlk
YXRlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeShlbWJlZGRlckNPRVAucmVwb3J0T25seVZhbHVl
LCBlbWJlZGRlck9yaWdpbiwgdXJsLCByZXNwb25zZSwgZm9yTmF2aWdhdGlvbikpCi0gICAgICAg
ICAgICBsb2FkZXItPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNlbmRDT0VQQ09SUFZpb2xhdGlv
biB7IGxvYWRlci0+ZnJhbWVJRCgpLCBlbWJlZGRlck9yaWdpbi5kYXRhKCksIGVtYmVkZGVyQ09F
UC5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQsIENPRVBEaXNwb3NpdGlvbjo6UmVwb3J0aW5n
LCBsb2FkZXItPnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uLCBsb2FkZXItPmZpcnN0
UmVzcG9uc2VVUkwoKSB9LCBsb2FkZXItPnBhZ2VJRCgpKTsKLSAgICB9Ci0KICAgICBpZiAoZW1i
ZWRkZXJDT0VQLnZhbHVlID09IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1ZTo6UmVxdWly
ZUNPUlApIHsKLSAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSB2YWxpZGF0ZUNyb3NzT3JpZ2luUmVz
b3VyY2VQb2xpY3koZW1iZWRkZXJDT0VQLnZhbHVlLCBlbWJlZGRlck9yaWdpbiwgdXJsLCByZXNw
b25zZSwgZm9yTmF2aWdhdGlvbikpIHsKLSAgICAgICAgICAgIGlmIChsb2FkZXIgJiYgIWVtYmVk
ZGVyQ09FUC5yZXBvcnRpbmdFbmRwb2ludC5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgbG9h
ZGVyLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZW5kQ09FUENPUlBWaW9sYXRpb24geyBsb2Fk
ZXItPmZyYW1lSUQoKSwgZW1iZWRkZXJPcmlnaW4uZGF0YSgpLCBlbWJlZGRlckNPRVAucmVwb3J0
aW5nRW5kcG9pbnQsIENPRVBEaXNwb3NpdGlvbjo6RW5mb3JjZSwgbG9hZGVyLT5wYXJhbWV0ZXJz
KCkub3B0aW9ucy5kZXN0aW5hdGlvbiwgbG9hZGVyLT5maXJzdFJlc3BvbnNlVVJMKCkgfSwgbG9h
ZGVyLT5wYWdlSUQoKSk7CisgICAgICAgIGlmIChhdXRvIGVycm9yID0gdmFsaWRhdGVDcm9zc09y
aWdpblJlc291cmNlUG9saWN5KGVtYmVkZGVyQ09FUC52YWx1ZSwgZW1iZWRkZXJPcmlnaW4sIHVy
bCwgcmVzcG9uc2UsIGZvck5hdmlnYXRpb24pKQogICAgICAgICAgICAgcmV0dXJuIGVycm9yOwot
ICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAK
aW5kZXggMzZhY2M2MzE0NWY0MDViMTk1NWQzMzU0MGRhYTcwOGY5YTYyOTM0MS4uNDk1ZmQ3N2Nk
YjhkODUwMjg0OWQ2Y2ZkNjEyM2RjZjNiMjI3NzUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNjIyLDE2
ICs2MjIsMTAgQEAgYm9vbCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnNob3VsZEludGVycnVwdE5h
dmlnYXRpb25Gb3JDcm9zc09yaWdpbkVtYmVkZGVyUG9saWMKICAgICAvLyBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9vcmlnaW4uaHRtbCNjaGVjay1hLW5hdmlnYXRpb24t
cmVzcG9uc2Uncy1hZGhlcmVuY2UtdG8taXRzLWVtYmVkZGVyLXBvbGljeQogICAgIGlmIChtX3Bh
cmFtZXRlcnMucGFyZW50Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS52YWx1ZSA9PSBXZWJDb3Jl
OjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5VmFsdWU6OlJlcXVpcmVDT1JQIHx8IG1fcGFyYW1l
dGVycy5wYXJlbnRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnJlcG9ydE9ubHlWYWx1ZSA9PSBX
ZWJDb3JlOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5VmFsdWU6OlJlcXVpcmVDT1JQKSB7CiAg
ICAgICAgIGF1dG8gcmVzcG9uc2VDT0VQID0gV2ViQ29yZTo6b2J0YWluQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeShyZXNwb25zZSwgbnVsbHB0cik7Ci0gICAgICAgIGlmIChtX3BhcmFtZXRlcnMu
cGFyZW50Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5yZXBvcnRPbmx5VmFsdWUgPT0gV2ViQ29y
ZTo6Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeVZhbHVlOjpSZXF1aXJlQ09SUCAmJiByZXNwb25z
ZUNPRVAudmFsdWUgIT0gV2ViQ29yZTo6Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeVZhbHVlOjpS
ZXF1aXJlQ09SUCkgewotICAgICAgICAgICAgaWYgKGF1dG8gcGFyZW50T3JpZ2luID0gbV9wYXJh
bWV0ZXJzLnBhcmVudE9yaWdpbigpOyBwYXJlbnRPcmlnaW4gJiYgIW1fcGFyYW1ldGVycy5wYXJl
bnRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnJlcG9ydE9ubHlSZXBvcnRpbmdFbmRwb2ludC5p
c0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2VuZENP
RVBQb2xpY3lJbmhlcml0ZW5jZVZpb2xhdGlvbiB7IG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBw
YXJlbnRPcmlnaW4tPmRhdGEoKSwgbV9wYXJhbWV0ZXJzLnBhcmVudENyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3kucmVwb3J0T25seVJlcG9ydGluZ0VuZHBvaW50LCBDT0VQRGlzcG9zaXRpb246OlJl
cG9ydGluZywgIm5hdmlnYXRpb24iX3MsIG1fZmlyc3RSZXNwb25zZVVSTCB9LCBtX3BhcmFtZXRl
cnMud2ViUGFnZUlEKTsKLSAgICAgICAgfQogCiAgICAgICAgIGlmIChtX3BhcmFtZXRlcnMucGFy
ZW50Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS52YWx1ZSAhPSBXZWJDb3JlOjpDcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5VmFsdWU6OlVuc2FmZU5vbmUgJiYgcmVzcG9uc2VDT0VQLnZhbHVlICE9
IFdlYkNvcmU6OkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1ZTo6UmVxdWlyZUNPUlApIHsK
ICAgICAgICAgICAgIFN0cmluZyBlcnJvck1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJSZWZ1c2VkIHRv
IGRpc3BsYXkgJyIsIHJlc3BvbnNlLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0
aCgpLCAiJyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGlj
eS4iKTsKICAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkFkZENvbnNvbGVNZXNz
YWdlIHsgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsICBNZXNzYWdlU291cmNlOjpTZWN1cml0eSwg
TWVzc2FnZUxldmVsOjpFcnJvciwgZXJyb3JNZXNzYWdlLCBjb3JlSWRlbnRpZmllcigpIH0sIG1f
cGFyYW1ldGVycy53ZWJQYWdlSUQpOwotICAgICAgICAgICAgaWYgKGF1dG8gcGFyZW50T3JpZ2lu
ID0gbV9wYXJhbWV0ZXJzLnBhcmVudE9yaWdpbigpOyBwYXJlbnRPcmlnaW4gJiYgIW1fcGFyYW1l
dGVycy5wYXJlbnRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnJlcG9ydGluZ0VuZHBvaW50Lmlz
RW1wdHkoKSkKLSAgICAgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZW5kQ09F
UFBvbGljeUluaGVyaXRlbmNlVmlvbGF0aW9uIHsgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIHBh
cmVudE9yaWdpbi0+ZGF0YSgpLCBtX3BhcmFtZXRlcnMucGFyZW50Q3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeS5yZXBvcnRpbmdFbmRwb2ludCwgQ09FUERpc3Bvc2l0aW9uOjpFbmZvcmNlLCAibmF2
aWdhdGlvbiJfcywgbV9maXJzdFJlc3BvbnNlVVJMIH0sIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQp
OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAgICB9CkBAIC02NDcsMTYg
KzY0MSwxMCBAQCBib29sIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0V29y
a2VyTG9hZEZvckNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpYwogCiAgICAgaWYgKG1fcGFyYW1ldGVy
cy5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnZhbHVlID09IFdlYkNvcmU6OkNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3lWYWx1ZTo6UmVxdWlyZUNPUlAgfHwgbV9wYXJhbWV0ZXJzLmNyb3NzT3Jp
Z2luRW1iZWRkZXJQb2xpY3kucmVwb3J0T25seVZhbHVlID09IFdlYkNvcmU6OkNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3lWYWx1ZTo6UmVxdWlyZUNPUlApIHsKICAgICAgICAgYXV0byByZXNwb25z
ZUNPRVAgPSBXZWJDb3JlOjpvYnRhaW5Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KHJlc3BvbnNl
LCBudWxscHRyKTsKLSAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5jcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5LnJlcG9ydE9ubHlWYWx1ZSA9PSBXZWJDb3JlOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5VmFsdWU6OlJlcXVpcmVDT1JQICYmIHJlc3BvbnNlQ09FUC52YWx1ZSA9PSBXZWJDb3JlOjpD
cm9zc09yaWdpbkVtYmVkZGVyUG9saWN5VmFsdWU6OlVuc2FmZU5vbmUpIHsKLSAgICAgICAgICAg
IGlmIChtX3BhcmFtZXRlcnMuc291cmNlT3JpZ2luICYmICFtX3BhcmFtZXRlcnMuY3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeS5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQuaXNFbXB0eSgpKQot
ICAgICAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNlbmRDT0VQUG9saWN5SW5o
ZXJpdGVuY2VWaW9sYXRpb24geyBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9wYXJhbWV0ZXJz
LnNvdXJjZU9yaWdpbi0+ZGF0YSgpLCBtX3BhcmFtZXRlcnMuY3Jvc3NPcmlnaW5FbWJlZGRlclBv
bGljeS5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQsIENPRVBEaXNwb3NpdGlvbjo6UmVwb3J0
aW5nLCAid29ya2VyIGluaXRpYWxpemF0aW9uIl9zLCBtX2ZpcnN0UmVzcG9uc2VVUkwgfSwgbV9w
YXJhbWV0ZXJzLndlYlBhZ2VJRCk7Ci0gICAgICAgIH0KIAogICAgICAgICBpZiAobV9wYXJhbWV0
ZXJzLmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kudmFsdWUgPT0gV2ViQ29yZTo6Q3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeVZhbHVlOjpSZXF1aXJlQ09SUCAmJiByZXNwb25zZUNPRVAudmFsdWUg
PT0gV2ViQ29yZTo6Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeVZhbHVlOjpVbnNhZmVOb25lKSB7
CiAgICAgICAgICAgICBTdHJpbmcgZXJyb3JNZXNzYWdlID0gbWFrZVN0cmluZygiUmVmdXNlZCB0
byBsb2FkICciLCByZXNwb25zZS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgo
KSwgIicgd29ya2VyIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4iKTsK
ICAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkFkZENvbnNvbGVNZXNzYWdlIHsg
bV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsICBNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgZXJyb3JNZXNzYWdlLCBjb3JlSWRlbnRpZmllcigpIH0sIG1fcGFyYW1l
dGVycy53ZWJQYWdlSUQpOwotICAgICAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5zb3VyY2VPcmln
aW4gJiYgIW1fcGFyYW1ldGVycy5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnJlcG9ydGluZ0Vu
ZHBvaW50LmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
OjpTZW5kQ09FUFBvbGljeUluaGVyaXRlbmNlVmlvbGF0aW9uIHsgbV9wYXJhbWV0ZXJzLndlYkZy
YW1lSUQsIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4tPmRhdGEoKSwgbV9wYXJhbWV0ZXJzLmNy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kucmVwb3J0aW5nRW5kcG9pbnQsIENPRVBEaXNwb3NpdGlv
bjo6RW5mb3JjZSwgIndvcmtlciBpbml0aWFsaXphdGlvbiJfcywgbV9maXJzdFJlc3BvbnNlVVJM
IH0sIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIH0KICAgICB9CkBAIC02ODUsMTIgKzY3Myw3IEBAIHN0ZDo6b3B0aW9uYWw8UmVzb3Vy
Y2VFcnJvcj4gTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkb0Nyb3NzT3JpZ2luT3BlbmVySGFuZGxp
bmdPCiAgICAgICAgIG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCA9IENyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQ6OmZyb20obV9wYXJhbWV0ZXJzLmRvY3VtZW50
VVJMLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbiksIG1fcGFyYW1ldGVycy5zb3VyY2VDcm9zc09yaWdp
bk9wZW5lclBvbGljeSwgbV9wYXJhbWV0ZXJzLm5hdmlnYXRpb25SZXF1ZXN0ZXIsIG1fcGFyYW1l
dGVycy5vcGVuZXJVUkwpOwogICAgIH0KIAotICAgIG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJl
c3VsdCA9IFdlYkNvcmU6OmRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9uc2UocmVz
cG9uc2UsIG1fcGFyYW1ldGVycy5uYXZpZ2F0aW9uUmVxdWVzdGVyLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3kuZ2V0KCksIG1fcGFyYW1ldGVycy5lZmZlY3RpdmVTYW5kYm94RmxhZ3MsIG1fcGFyYW1l
dGVycy5pc0Rpc3BsYXlpbmdJbml0aWFsRW1wdHlEb2N1bWVudCwgKm1fY3VycmVudENvb3BFbmZv
cmNlbWVudFJlc3VsdCwgWyZdKENPT1BEaXNwb3NpdGlvbiBkaXNwb3NpdGlvbiwgY29uc3QgQ3Jv
c3NPcmlnaW5PcGVuZXJQb2xpY3kmIHJlc3BvbnNlQ09PUCwgY29uc3QgU2VjdXJpdHlPcmlnaW4m
IHJlc3BvbnNlT3JpZ2luKSB7Ci0gICAgICAgIGlmIChyZXNwb25zZUNPT1AuaGFzUmVwb3J0aW5n
RW5kcG9pbnQoZGlzcG9zaXRpb24pKQotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6U2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nVG9DT09QUmVzcG9uc2UgeyBtX3Bh
cmFtZXRlcnMud2ViRnJhbWVJRCwgcmVzcG9uc2VDT09QLCBkaXNwb3NpdGlvbiwgcmVzcG9uc2Uu
dXJsKCksIG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdC0+dXJsLCByZXNwb25zZU9yaWdp
bi5kYXRhKCksIG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdC0+Y3VycmVudE9yaWdpbi0+
ZGF0YSgpLCBvcmlnaW5hbFJlcXVlc3QoKS5odHRwUmVmZXJyZXIoKSwgb3JpZ2luYWxSZXF1ZXN0
KCkuaHR0cFVzZXJBZ2VudCgpLCByZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5h
bWU6OlJlcG9ydFRvKSB9LCBtX3BhcmFtZXRlcnMud2ViUGFnZUlEKTsKLSAgICAgICAgaWYgKG1f
Y3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdC0+Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaGFz
UmVwb3J0aW5nRW5kcG9pbnQoZGlzcG9zaXRpb24pKQotICAgICAgICAgICAgc2VuZChNZXNzYWdl
czo6V2ViUGFnZTo6U2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nQXdheUZyb21DT09Q
UmVzcG9uc2UgeyBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9jdXJyZW50Q29vcEVuZm9yY2Vt
ZW50UmVzdWx0LT5jcm9zc09yaWdpbk9wZW5lclBvbGljeSwgZGlzcG9zaXRpb24sIG1fY3VycmVu
dENvb3BFbmZvcmNlbWVudFJlc3VsdC0+dXJsLCByZXNwb25zZS51cmwoKSwgbV9jdXJyZW50Q29v
cEVuZm9yY2VtZW50UmVzdWx0LT5jdXJyZW50T3JpZ2luLT5kYXRhKCksIHJlc3BvbnNlT3JpZ2lu
LmRhdGEoKSwgbV9jdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LT5pc0N1cnJlbnRDb250ZXh0
TmF2aWdhdGlvblNvdXJjZSwgb3JpZ2luYWxSZXF1ZXN0KCkuaHR0cFVzZXJBZ2VudCgpIH0sIG1f
cGFyYW1ldGVycy53ZWJQYWdlSUQpOwotICAgIH0pOworICAgIG1fY3VycmVudENvb3BFbmZvcmNl
bWVudFJlc3VsdCA9IFdlYkNvcmU6OmRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9u
c2UocmVzcG9uc2UsIG1fcGFyYW1ldGVycy5uYXZpZ2F0aW9uUmVxdWVzdGVyLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3kuZ2V0KCksIG1fcGFyYW1ldGVycy5lZmZlY3RpdmVTYW5kYm94RmxhZ3MsIG1f
cGFyYW1ldGVycy5pc0Rpc3BsYXlpbmdJbml0aWFsRW1wdHlEb2N1bWVudCwgKm1fY3VycmVudENv
b3BFbmZvcmNlbWVudFJlc3VsdCk7CiAgICAgaWYgKCFtX2N1cnJlbnRDb29wRW5mb3JjZW1lbnRS
ZXN1bHQpCiAgICAgICAgIHJldHVybiBSZXNvdXJjZUVycm9yIHsgZXJyb3JEb21haW5XZWJLaXRJ
bnRlcm5hbCwgMCwgcmVzcG9uc2UudXJsKCksICJOYXZpZ2F0aW9uIHdhcyBibG9ja2VkIGJ5IENy
b3NzLU9yaWdpbi1PcGVuZXItUG9saWN5Il9zLCBSZXNvdXJjZUVycm9yOjpUeXBlOjpBY2Nlc3ND
b250cm9sIH07CiAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggOTQyZWRjNjIzYTRlNjUzYmIxODhhZWUw
NTA2NDRhM2Y0YTAzMmU4OS4uYTYwNTYyNjAyNmE0M2EzYTk1NWNkYmNmOGIxYWM3M2QyYTE2ZTJi
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTIzNCw3ICsyMzQsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVGhlbWUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1JlbmRlclRyZWVBc1RleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRl
clZpZXcuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1JlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9u
c2UuaD4KQEAgLTYyMCw3ICs2MTksNiBAQCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVy
IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24ucGx1Z2luSW5mb1Byb3ZpZGVyID0gJldlYlBsdWdpbkluZm9Qcm92aWRl
cjo6c2luZ2xldG9uKCk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVBy
b3ZpZGVyID0gV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOjpnZXRPckNyZWF0ZSgqbV9wYWdl
R3JvdXApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLnZpc2l0ZWRMaW5rU3RvcmUgPSBWaXNpdGVk
TGlua1RhYmxlQ29udHJvbGxlcjo6Z2V0T3JDcmVhdGUocGFyYW1ldGVycy52aXNpdGVkTGlua1Rh
YmxlSUQpOwotICAgIHBhZ2VDb25maWd1cmF0aW9uLnJlcG9ydGluZ0VuZHBvaW50c0NhY2hlID0g
JldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCk7CiAKICNp
ZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLnBheW1lbnRDb29yZGlu
YXRvckNsaWVudCA9IG5ldyBXZWJQYXltZW50Q29vcmRpbmF0b3IoKnRoaXMpOwpAQCAtNDQwNiw0
MSArNDQwNCw2IEBAIHZvaWQgV2ViUGFnZTo6c2VuZENTUFZpb2xhdGlvblJlcG9ydChGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgVVJMJiByZXBvcnRVCiAgICAgICAgIFBpbmdMb2FkZXI6
OnNlbmRWaW9sYXRpb25SZXBvcnQoKmZyYW1lLT5jb3JlRnJhbWUoKSwgcmVwb3J0VVJMLCByZXBv
cnQucmVsZWFzZU5vbk51bGwoKSwgVmlvbGF0aW9uUmVwb3J0VHlwZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5KTsKIH0KIAotdm9pZCBXZWJQYWdlOjpzZW5kQ09FUFBvbGljeUluaGVyaXRlbmNlVmlv
bGF0aW9uKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
IGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBDT0VQRGlzcG9zaXRpb24g
ZGlzcG9zaXRpb24sIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgVVJMJiBibG9ja2VkVVJMKQot
ewotICAgIGlmIChhdXRvKiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1l
KGZyYW1lSUQpOyBmcmFtZSAmJiBmcmFtZS0+Y29yZUZyYW1lKCkpCi0gICAgICAgIFdlYkNvcmU6
OnNlbmRDT0VQUG9saWN5SW5oZXJpdGVuY2VWaW9sYXRpb24oKmZyYW1lLT5jb3JlRnJhbWUoKSwg
ZW1iZWRkZXJPcmlnaW4sIGVuZHBvaW50LCBkaXNwb3NpdGlvbiwgdHlwZSwgYmxvY2tlZFVSTCk7
Ci19Ci0KLXZvaWQgV2ViUGFnZTo6c2VuZENPRVBDT1JQVmlvbGF0aW9uKEZyYW1lSWRlbnRpZmll
ciBmcmFtZUlELCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIGVtYmVkZGVyT3JpZ2luLCBjb25z
dCBTdHJpbmcmIGVuZHBvaW50LCBDT0VQRGlzcG9zaXRpb24gZGlzcG9zaXRpb24sIEZldGNoT3B0
aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb24sIGNvbnN0IFVSTCYgYmxvY2tlZFVSTCkKLXsK
LSAgICBpZiAoYXV0byogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShm
cmFtZUlEKTsgZnJhbWUgJiYgZnJhbWUtPmNvcmVGcmFtZSgpKQotICAgICAgICBXZWJDb3JlOjpz
ZW5kQ09FUENPUlBWaW9sYXRpb24oKmZyYW1lLT5jb3JlRnJhbWUoKSwgZW1iZWRkZXJPcmlnaW4s
IGVuZHBvaW50LCBkaXNwb3NpdGlvbiwgZGVzdGluYXRpb24sIGJsb2NrZWRVUkwpOwotfQotCi12
b2lkIFdlYlBhZ2U6OnNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ1RvQ09PUFJlc3Bv
bnNlKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGlj
eSYgY29vcCwgQ09PUERpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBjb25zdCBVUkwmIGNvb3BVUkws
IGNvbnN0IFVSTCYgcHJldmlvdXNSZXNwb25zZVVSTCwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiBjb29wT3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHByZXZpb3VzUmVzcG9uc2VP
cmlnaW4sIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBj
b25zdCBTdHJpbmcmIHJlcG9ydFRvSGVhZGVyVmFsdWUpCi17Ci0gICAgaWYgKCFyZXBvcnRUb0hl
YWRlclZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucmVw
b3J0aW5nRW5kcG9pbnRzQ2FjaGUoKS5hZGRFbmRwb2ludHNGcm9tUmVwb3J0VG9IZWFkZXIoY29v
cFVSTCwgcmVwb3J0VG9IZWFkZXJWYWx1ZSk7Ci0KLSAgICAvLyBGSVhNRTogQWRkIHRoZSBjb25j
ZXB0IG9mIGJyb3dzaW5nIGNvbnRleHQgZ3JvdXAgbGlrZSBpbiB0aGUgc3BlY2lmaWNhdGlvbiBp
bnN0ZWFkIG9mIHRyZWF0aW5nIHRoZSB3aG9sZSBwcm9jZXNzIGFzIGEgZ3JvdXAuCi0gICAgaWYg
KFBhZ2U6Om5vblV0aWxpdHlQYWdlQ291bnQoKSA8PSAxKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBpZiAoYXV0byogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShmcmFt
ZUlEKTsgZnJhbWUgJiYgZnJhbWUtPmNvcmVGcmFtZSgpKQotICAgICAgICBXZWJDb3JlOjpzZW5k
VmlvbGF0aW9uUmVwb3J0V2hlbk5hdmlnYXRpbmdUb0NPT1BSZXNwb25zZSgqZnJhbWUtPmNvcmVG
cmFtZSgpLCBjb29wLCBkaXNwb3NpdGlvbiwgY29vcFVSTCwgcHJldmlvdXNSZXNwb25zZVVSTCwg
Y29vcE9yaWdpbi5zZWN1cml0eU9yaWdpbigpLCBwcmV2aW91c1Jlc3BvbnNlT3JpZ2luLnNlY3Vy
aXR5T3JpZ2luKCksIHJlZmVycmVyLCB1c2VyQWdlbnQpOwotfQotCi12b2lkIFdlYlBhZ2U6OnNl
bmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJlc3BvbnNlKEZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29vcCwg
Q09PUERpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBjb25zdCBVUkwmIGNvb3BVUkwsIGNvbnN0IFVS
TCYgbmV4dFJlc3BvbnNlVVJMLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIGNvb3BPcmlnaW4s
IGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgbmV4dFJlc3BvbnNlT3JpZ2luLCBib29sIGlzQ09P
UFJlc3BvbnNlTmF2aWdhdGlvblNvdXJjZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCi17Ci0g
ICAgLy8gRklYTUU6IEFkZCB0aGUgY29uY2VwdCBvZiBicm93c2luZyBjb250ZXh0IGdyb3VwIGxp
a2UgaW4gdGhlIHNwZWNpZmljYXRpb24gaW5zdGVhZCBvZiB0cmVhdGluZyB0aGUgd2hvbGUgcHJv
Y2VzcyBhcyBhIGdyb3VwLgotICAgIGlmIChQYWdlOjpub25VdGlsaXR5UGFnZUNvdW50KCkgPD0g
MSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGF1dG8qIGZyYW1lID0gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkud2ViRnJhbWUoZnJhbWVJRCk7IGZyYW1lICYmIGZyYW1lLT5jb3JlRnJhbWUo
KSkKLSAgICAgICAgV2ViQ29yZTo6c2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nQXdh
eUZyb21DT09QUmVzcG9uc2UoKmZyYW1lLT5jb3JlRnJhbWUoKSwgY29vcCwgZGlzcG9zaXRpb24s
IGNvb3BVUkwsIG5leHRSZXNwb25zZVVSTCwgY29vcE9yaWdpbi5zZWN1cml0eU9yaWdpbigpLCBu
ZXh0UmVzcG9uc2VPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgaXNDT09QUmVzcG9uc2VOYXZpZ2F0
aW9uU291cmNlLCB1c2VyQWdlbnQpOwotfQotCiB2b2lkIFdlYlBhZ2U6OmVucXVldWVTZWN1cml0
eVBvbGljeVZpb2xhdGlvbkV2ZW50KEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBTZWN1cml0eVBv
bGljeVZpb2xhdGlvbkV2ZW50SW5pdCYmIGV2ZW50SW5pdCkKIHsKICAgICBhdXRvKiBmcmFtZSA9
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKGZyYW1lSUQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGE5NGI1YjlkN2ZlMzJmMjRhODZk
YWFhZDQ0ODQyYjBjZGQwYWViMmYuLjA4YjNhYzIzODhjMTExOGE4NTdmN2VhMWYwNWFiZTVhYWQ1
NjZkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAg
LTQ0MiwxMCArNDQyLDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXI+ID0gc3RkOjpudWxsb3B0KTsKICAgICB2b2lkIHNlbmRDU1BWaW9sYXRpb25SZXBvcnQoV2Vi
Q29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBVUkwmIHJlcG9ydFVSTCwgSVBDOjpGb3JtRGF0
YVJlZmVyZW5jZSYmKTsKLSAgICB2b2lkIHNlbmRDT0VQUG9saWN5SW5oZXJpdGVuY2VWaW9sYXRp
b24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEmIGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBXZWJDb3JlOjpD
T0VQRGlzcG9zaXRpb24sIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgVVJMJiBibG9ja2VkVVJM
KTsKLSAgICB2b2lkIHNlbmRDT0VQQ09SUFZpb2xhdGlvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZp
ZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgZW1iZWRkZXJPcmlnaW4sIGNv
bnN0IFN0cmluZyYgZW5kcG9pbnQsIFdlYkNvcmU6OkNPRVBEaXNwb3NpdGlvbiwgV2ViQ29yZTo6
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiwgY29uc3QgVVJMJiBibG9ja2VkVVJMKTsKLSAgICB2
b2lkIHNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ1RvQ09PUFJlc3BvbnNlKFdlYkNv
cmU6OkZyYW1lSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3kmLCBXZWJDb3JlOjpDT09QRGlzcG9zaXRpb24sIGNvbnN0IFVSTCYgY29vcFVSTCwgY29uc3Qg
VVJMJiBwcmV2aW91c1Jlc3BvbnNlVVJMLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEmIGNvb3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgcHJldmlv
dXNSZXNwb25zZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgcmVwb3J0VG9IZWFkZXJWYWx1ZSk7Ci0gICAgdm9pZCBz
ZW5kVmlvbGF0aW9uUmVwb3J0V2hlbk5hdmlnYXRpbmdBd2F5RnJvbUNPT1BSZXNwb25zZShXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkNyb3NzT3JpZ2luT3BlbmVyUG9s
aWN5JiwgV2ViQ29yZTo6Q09PUERpc3Bvc2l0aW9uLCBjb25zdCBVUkwmIGNvb3BVUkwsIGNvbnN0
IFVSTCYgbmV4dFJlc3BvbnNlVVJMLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEm
IGNvb3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgbmV4dFJlc3Bv
bnNlT3JpZ2luLCBib29sIGlzQ09PUFJlc3BvbnNlTmF2aWdhdGlvblNvdXJjZSwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQpOwogICAgIHZvaWQgZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9u
RXZlbnQoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBXZWJDb3JlOjpTZWN1cml0eVBvbGljeVZp
b2xhdGlvbkV2ZW50SW5pdCYmKTsKIAogICAgIC8vIC0tIENhbGxlZCBieSB0aGUgRHJhd2luZ0Fy
ZWEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgppbmRleCBiMjcyMjk0NzFlYWU4NmVlNTk4MTk4M2RkNTdiNWU3YTgyOTFjZDRi
Li41MDIxYjRkY2Y0YzYzNDQwZmUxN2M5MDljOGQyMmU2NGM0Y2NhMTYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAg
LTI5LDEwICsyOSw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogCiAg
ICAgQWRkQ29uc29sZU1lc3NhZ2UoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGVu
dW06dWludDhfdCBKU0M6Ok1lc3NhZ2VTb3VyY2UgbWVzc2FnZVNvdXJjZSwgZW51bTp1aW50OF90
IEpTQzo6TWVzc2FnZUxldmVsIG1lc3NhZ2VMZXZlbCwgU3RyaW5nIG1lc3NhZ2UsIHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6UmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyPiByZXF1ZXN0SUQpCiAgICAg
U2VuZENTUFZpb2xhdGlvblJlcG9ydChXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwg
VVJMIHJlcG9ydFVSTCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSByZXBvcnREYXRhKQotICAgIFNl
bmRDT0VQUG9saWN5SW5oZXJpdGVuY2VWaW9sYXRpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVy
IGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgZW1iZWRkZXJPcmln
aW4sIFN0cmluZyBlbmRwb2ludCwgZW51bTpib29sIFdlYkNvcmU6OkNPRVBEaXNwb3NpdGlvbiBk
aXNwb3NpdGlvbiwgU3RyaW5nIHR5cGUsIFVSTCBibG9ja2VkVVJMKQotICAgIFNlbmRDT0VQQ09S
UFZpb2xhdGlvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBlbWJlZGRlck9yaWdpbiwgU3RyaW5nIGVuZHBvaW50LCBl
bnVtOmJvb2wgV2ViQ29yZTo6Q09FUERpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBlbnVtOnVpbnQ4
X3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbiwgVVJMIGJs
b2NrZWRVUkwpCi0gICAgU2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nVG9DT09QUmVz
cG9uc2UoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpD
cm9zc09yaWdpbk9wZW5lclBvbGljeSBjb29wLCBlbnVtOmJvb2wgV2ViQ29yZTo6Q09PUERpc3Bv
c2l0aW9uIGRpc3Bvc2l0aW9uLCBVUkwgY29vcFVSTCwgVVJMIHByZXZpb3VzUmVzcG9uc2VVUkws
IHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgY29vcE9yaWdpbiwgc3RydWN0IFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBwcmV2aW91c1Jlc3BvbnNlT3JpZ2luLCBTdHJpbmcg
cmVmZXJyZXIsIFN0cmluZyB1c2VyQWdlbnQsIFN0cmluZyByZXBvcnRUb0hlYWRlclZhbHVlKQot
ICAgIFNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJlc3BvbnNl
KFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViQ29yZTo6Q3Jvc3NP
cmlnaW5PcGVuZXJQb2xpY3kgY29vcCwgZW51bTpib29sIFdlYkNvcmU6OkNPT1BEaXNwb3NpdGlv
biBkaXNwb3NpdGlvbiwgVVJMIGNvb3BVUkwsIFVSTCBuZXh0UmVzcG9uc2VVUkwsIHN0cnVjdCBX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgY29vcE9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luRGF0YSBuZXh0UmVzcG9uc2VPcmlnaW4sIGJvb2wgaXNDT09QUmVzcG9uc2VO
YXZpZ2F0aW9uU291cmNlLCBTdHJpbmcgdXNlckFnZW50KQogICAgIEVucXVldWVTZWN1cml0eVBv
bGljeVZpb2xhdGlvbkV2ZW50KFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1
Y3QgV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQgZXZlbnRJbml0KQog
CiAgICAgVGVzdFByb2Nlc3NJbmNvbWluZ1N5bmNNZXNzYWdlc1doZW5XYWl0aW5nRm9yU3luY1Jl
cGx5KCkgLT4gKGJvb2wgaGFuZGxlZCkgU3luY2hyb25vdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAppbmRleCBmYTk5MzI4N2NmYjZkMDgzNGRlOTE5ZDE4ZGRkZTg5MDJi
YTk0NjZjLi5mODE2Nzc1YTc5OTRhYjIyY2MyZmJjMjYwMDBlOWQyMmYyZmMyYzZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xMjYsNyArMTI2LDYgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NXYXJtaW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWdp
c3RyYWJsZURvbWFpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlQ29tbWFuZExpc3RlbmVy
Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmg+CkBAIC0yODEsNyArMjgwLDYgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2Vz
cygpCiAgICAgLCBtX2Jyb2FkY2FzdENoYW5uZWxSZWdpc3RyeShXZWJCcm9hZGNhc3RDaGFubmVs
UmVnaXN0cnk6OmNyZWF0ZSgpKQogICAgICwgbV93ZWJMb2NrUmVnaXN0cnkoUmVtb3RlV2ViTG9j
a1JlZ2lzdHJ5OjpjcmVhdGUoKnRoaXMpKQogICAgICwgbV9jb29raWVKYXIoV2ViQ29va2llSmFy
OjpjcmVhdGUoKSkKLSAgICAsIG1fcmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUoUmVwb3J0aW5nRW5k
cG9pbnRzQ2FjaGU6OmNyZWF0ZSgpKQogICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3Ro
aXNdKFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBQQUw6Okh5c3Rl
cmVzaXNTdGF0ZTo6U3RvcHBlZCkgbV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKICAg
ICAsIG1fbm9uVmlzaWJsZVByb2Nlc3NHcmFwaGljc0NsZWFudXBUaW1lcigqdGhpcywgJldlYlBy
b2Nlc3M6Om5vblZpc2libGVQcm9jZXNzR3JhcGhpY3NDbGVhbnVwVGltZXJGaXJlZCkKICNpZiBF
TkFCTEUoTk9OX1ZJU0lCTEVfV0VCUFJPQ0VTU19NRU1PUllfQ0xFQU5VUF9USU1FUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDE0Y2RmNzUxNWM2MmM0NWRhYjlmOWRi
ODE2ZmRjYjJkODg1Y2YzM2MuLjk3YWZiY2EyYjhmZjQ4ZWY4MjgyNDVmY2Q4Yjk0NThiM2FkZDUx
NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtOTcsNyArOTcsNiBA
QCBjbGFzcyBDUFVNb25pdG9yOwogY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUGFnZUdy
b3VwOwogY2xhc3MgUmVnaXN0cmFibGVEb21haW47Ci1jbGFzcyBSZXBvcnRpbmdFbmRwb2ludHND
YWNoZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFVzZXJHZXN0dXJlVG9rZW47CiAK
QEAgLTM0NCw3ICszNDMsNiBAQCBwdWJsaWM6CiAgICAgUmVtb3RlV2ViTG9ja1JlZ2lzdHJ5JiB3
ZWJMb2NrUmVnaXN0cnkoKSB7IHJldHVybiBtX3dlYkxvY2tSZWdpc3RyeS5nZXQoKTsgfQogICAg
IFdlYkNvb2tpZUphciYgY29va2llSmFyKCkgeyByZXR1cm4gbV9jb29raWVKYXIuZ2V0KCk7IH0K
ICAgICBXZWJTb2NrZXRDaGFubmVsTWFuYWdlciYgd2ViU29ja2V0Q2hhbm5lbE1hbmFnZXIoKSB7
IHJldHVybiBtX3dlYlNvY2tldENoYW5uZWxNYW5hZ2VyOyB9Ci0gICAgV2ViQ29yZTo6UmVwb3J0
aW5nRW5kcG9pbnRzQ2FjaGUmIHJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCkgeyByZXR1cm4gbV9y
ZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5nZXQoKTsgfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIGZsb2F0IGJhY2tsaWdodExldmVsKCkg
Y29uc3QgeyByZXR1cm4gbV9iYWNrbGlnaHRMZXZlbDsgfQpAQCAtNjgwLDcgKzY3OCw2IEBAIHBy
aXZhdGU6CiAgICAgUmVmPFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4gbV9icm9hZGNhc3RD
aGFubmVsUmVnaXN0cnk7CiAgICAgUmVmPFJlbW90ZVdlYkxvY2tSZWdpc3RyeT4gbV93ZWJMb2Nr
UmVnaXN0cnk7CiAgICAgUmVmPFdlYkNvb2tpZUphcj4gbV9jb29raWVKYXI7Ci0gICAgUmVmPFdl
YkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlPiBtX3JlcG9ydGluZ0VuZHBvaW50c0NhY2hl
OwogICAgIFdlYlNvY2tldENoYW5uZWxNYW5hZ2VyIG1fd2ViU29ja2V0Q2hhbm5lbE1hbmFnZXI7
CiAKICAgICBSZWZQdHI8TGliV2ViUlRDTmV0d29yaz4gbV9saWJXZWJSVENOZXR3b3JrOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDg4MzMzNDUxNTAwODBhZWIzZDVkYmJmNzFiZGJlNjA0MzljYTkyMjguLmU3NzdmYjQwNzMy
ZWZjZmE5MTQ3NTFkM2FmMDFmN2JiZjA3MmY2ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
Mi0wMS0wNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3Ag
aW1wbGVtZW50YXRpb24gZm9yIENPT1AgLyBDT0VQIHZpb2xhdGlvbiByZXBvcnRpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg5OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNraXAgYWxsIENPT1Ag
LyBDT0VQIHJlcG9ydGluZyB0ZXN0cyBpbnN0ZWFkIG9mIG1hcmtpbmcgaW5kaXZpZHVhbCB0ZXN0
cyBhcyBmbGFreSBvciBmYWlsaW5nLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIyLTAxLTA1ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYVJlY29yZGVyIHNob3VsZCBz
dXBwb3J0IHRoZSBiaXRzUGVyU2Vjb25kIG9wdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjdi
YmI3YzkyMTBkZjg4YTNkNWI0Nzc3Zjc1Yzg5NjJkOTU1ZDE3Ni4uYzExZWIyNGQwY2VlNDVjNGE2
MTRlOTNjZGU5YzE2NzQ4ODBmYWEwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMTYsNiArMjE2
LDE0IEBAIGh0dHAvdGVzdHMvYXBwLXByaXZhY3ktcmVwb3J0LyBbIFNraXAgXQogIyBPbmx5IHBh
cnRpYWwgc3VwcG9ydCBvbiBDb2NvYSBwbGF0Zm9ybXMuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NwZWVjaC1hcGkvIFsgU2tpcCBdCiAKKyMgU3VwcG9ydCBmb3IgQ09PUCAvIENP
RVAgdmlvbGF0aW9uIHJlcG9ydGluZyBpcyBtaXNzaW5nLgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3JlcG9ydGluZworaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3kvcmVwb3J0aW5nLW5hdmlnYXRpb24uaHR0cHMuaHRtbAoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5n
LXN1YnJlc291cmNlLWNvcnAuaHR0cHMuaHRtbAoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLXRvLWVuZHBv
aW50Lmh0dHBzLmh0bWwKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9z
cy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy10by1mcmFtZS1vd25lci5odHRwcy5o
dG1sCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVt
YmVkZGVyLXBvbGljeS9yZXBvcnRpbmctdG8td29ya2VyLW93bmVyLmh0dHBzLmh0bWwKKwogIyBP
bmx5IE1hYyBhbmQgaU9TIGhhdmUgYW4gaW1wbGVtZW50YXRpb24gb2YgVUlTY3JpcHRDb250cm9s
bGVyOjpkb0FzeW5jVGFzaygpLgogZmFzdC9oYXJuZXNzL3Vpc2NyaXB0Y29udHJvbGxlciBbIFNr
aXAgXQogCkBAIC00MjMsMTUgKzQzMSwxMSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvYwogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1v
cmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy5odG1sIFsgRHVtcEpTQ29uc29sZUxv
Z0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy9zYW5kYm94aW5nL3NhbmRib3gtZGlzYWxsb3ctcG9wdXBzLmh0bWwgWyBEdW1wSlNDb25zb2xl
TG9nSW5TdGRFcnIgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3Nz
LW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxv
Z0luU3RkRXJyIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1v
cmlnaW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy10by1lbmRwb2ludC5odHRwcy5odG1sIFsg
RHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy10by1mcmFtZS1v
d25lci5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9jb29w
LWNzcC1zYW5kYm94Lmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9s
aWN5L2Nvb3AtbmF2aWdhdGVkLWhpc3RvcnktcG9wdXAuaHR0cHMuaHRtbCBbIER1bXBKU0NvbnNv
bGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvbmF2aWdhdGUtdG8tYWJvdXRibGFuay5odHRwcy5odG1s
IFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9uYXZpZ2F0ZS10b3AtdG8tYWJv
dXRibGFuay5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9w
b3B1cC1jb29wLWJ5LXN3Lmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXIt
cG9saWN5L3JlcG9ydGluZy9uYXZpZ2F0aW9uLXJlcG9ydGluZy9yZXBvcnRpbmctY29vcC1uYXZp
Z2F0ZWQtb3BlbmVyLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9s
aWN5L3JlcG9ydGluZy9uYXZpZ2F0aW9uLXJlcG9ydGluZy9yZXBvcnRpbmctY29vcC1uYXZpZ2F0
ZWQtcG9wdXAuaHR0cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
dGhlLWlmcmFtZS1lbGVtZW50L2lmcmFtZS1uZXR3b3JrLWVycm9yLnN1Yi5odG1sIFsgRHVtcEpT
Q29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZyYW1lLWVsZW1lbnQvaWZyYW1lX3Nh
bmRib3hfYW5jaG9yX2Rvd25sb2FkX2FsbG93X2Rvd25sb2Fkcy50ZW50YXRpdmUuaHRtbCBbIER1
bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9jc3MtbW9kdWxl
L2ludGVncml0eS5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KQEAgLTc1OSw5ICs3
NjMsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Rv
Y3VtZW50LW1ldGFkYXRhL3RoZS1saW5rLWVsZW1lbgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3JlbmRlcmluZy9ub24tcmVwbGFjZWQtZWxlbWVudHMvZm9ybS1jb250cm9s
cy9zZWxlY3Qtc2l6aW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL25vbi1yZXBsYWNlZC1lbGVtZW50
cy9waHJhc2luZy1jb250ZW50LTAvZm9udC1lbGVtZW50LXRleHQtZGVjb3JhdGlvbi1jb2xvci8w
MDEteC54aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCi0jIENyb3NzLU9yaWdpbiBPcGVuZXIg
UG9saWN5IGFjY2VzcyByZXBvcnRpbmcgaXMgbm90IHN1cHBvcnRlZCBhbmQgaXQgaXMgY2F1c2lu
ZyB0aG9zZSB0ZXN0cyB0byB0aW1lIG91dC4KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9yZXBvcnRpbmcvYWNjZXNzLXJlcG9y
dGluZyBbIFNraXAgXQotCiAjIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3k6IGNyZWRlbnRp
YWxsZXNzIGlzIG5vdCBzdXBwb3J0ZWQuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYzdhNmY2
MjdhNGM4Njk0YWE5ZDI2YzE1ZmZjMDk1MzEwZGQzZWZhYy4uOGJlYjg5MzA3NDVhYjNmOGNlZmVm
MmNjMTU2ZmFmZGQyM2I4NjM5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMTE1OSw4ICsxMTU5LDYgQEAgd2Via2l0Lm9yZy9iLzIzMDQw
NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0
cHMuaHQKIAogd2Via2l0Lm9yZy9iLzIzMTAzMCBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLndvcmtlci5odG1sIFsgUGFzcyBGYWls
dXJlIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiAKLXdlYmtpdC5vcmcvYi8yMzIwMjggaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9s
aWN5L3JlcG9ydGluZy9uYXZpZ2F0aW9uLXJlcG9ydGluZy9yZXBvcnQtb25seS1mb3VyLXJlcG9y
dHMuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KICMgTmV3bHkgaW1wb3J0ZWQgV1BUIHRl
c3RzIHRoYXQgYXJlIHRpbWluZyBvdXQgb24gaU9TLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtYnV0dG9uLWVsZW1lbnQvYnV0dG9uLWFj
dGl2YXRlLWtleXVwLXByZXZlbnRlZC5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvdXNlci1hY3RpdmF0aW9uL2FjdGl2YXRpb24tdHJpZ2dlci1tb3Vz
ZS1yaWdodC5odG1sIFsgU2tpcCBdCkBAIC0yMjAxLDggKzIxOTksNiBAQCB3ZWJraXQub3JnL2Iv
MjI1NTI4IGh0dHAvd3B0L2ZldGNoL2ZldGNoLXJlc3BvbnNlLWJvZHktc3RvcC1pbi13b3JrZXIu
aHRtbCBbIFBhcwogCiB3ZWJraXQub3JnL2IvMjMyMjUyIFsgUmVsZWFzZSBdIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ0R0bHNUcmFuc3BvcnQtc3RhdGUuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMzIzMzcgWyBSZWxlYXNlIF0gaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5
L3JlcG9ydGluZy9uYXZpZ2F0aW9uLXJlcG9ydGluZy9yZXBvcnRpbmctY29vcC1uYXZpZ2F0ZWQt
b3BlbmVyLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVy
ciBdCi0KICMgd2Via2l0Lm9yZy9iLzIzNDI3OCBUaGUgZm9sbG93aW5nIDggdGVzdHMgYXJlIGZs
YWtleSBmYWlsdXJlcyBvbiBpT1MgMTUKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW5vLXJlZmVycmVyLXNlcnZpY2Utd29ya2VyLmh0
dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcmVxdWVzdC9kZXN0aW5hdGlvbi9mZXRjaC1kZXN0aW5hdGlvbi1mcmFtZS5o
dHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlZjFlYmIwNzZjZGFiNGI1Yjg2OGJkOGYxOGRhMGI0
NTdlMjdjZmIzLi42ZDUwNmExMjZiMDQ2MmVhYjkwMjY1NDk5ZDMyNDczYTY4YjU0ODNmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjIx
LDggKzEyMjEsNiBAQCB3ZWJraXQub3JnL2IvMjMwMTA1IFsgQmlnU3VyKyBEZWJ1ZyBhcm02NCBd
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbAogCiB3ZWJraXQub3JnL2IvMjMw
NjkxIFsgUmVsZWFzZSBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9z
cy1vcmlnaW4tb3BlbmVyLXBvbGljeS9pZnJhbWUtcG9wdXAtdW5zYWZlLW5vbmUtdG8tdW5zYWZl
LW5vbmUuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMzIwMjgg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXIt
cG9saWN5L3JlcG9ydGluZy9uYXZpZ2F0aW9uLXJlcG9ydGluZy9yZXBvcnQtb25seS1mb3VyLXJl
cG9ydHMuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KIHdlYmtpdC5vcmcvYi8yMzIxMDUg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXIt
cG9saWN5L2lmcmFtZS1wb3B1cC1zYW1lLW9yaWdpbi10by1zYW1lLW9yaWdpbi5odHRwcy5odG1s
IFsgUGFzcyBGYWlsdXJlIENyYXNoIF0KIAogd2Via2l0Lm9yZy9iLzIzMDExMyBbIEJpZ1N1cisg
RGVidWcgYXJtNjQgXSBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVsZW0tMTQtdC1kcnQuaHRtbCBb
IFBhc3MgQ3Jhc2ggXQpAQCAtMTY2MCw4ICsxNjU4LDYgQEAgd2Via2l0Lm9yZy9iLzIzMTc4MCBb
IERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvc2ltdWxjYXN0
L2IKIAogd2Via2l0Lm9yZy9iLzIyOTU2OSBbIENhdGFsaW5hIFJlbGVhc2UgXSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1wZXJmZWN0LW5l
Z290aWF0aW9uLXN0cmVzcy1nbGFyZS5odHRwcy5odG1sIFsgUGFzcyBDcmFzaCBdCiAKLXdlYmtp
dC5vcmcvYi8yMzIzMzcgWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9yZXBvcnRpbmcvbmF2aWdhdGlvbi1yZXBv
cnRpbmcvcmVwb3J0aW5nLWNvb3AtbmF2aWdhdGVkLW9wZW5lci5odHRwcy5odG1sIFsgUGFzcyBG
YWlsdXJlIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCi0KICMgUGx1Z2lucwogIyBGSVhNRTog
UmVtb3ZlIHRoZXNlIHRlc3RzLgogcGxhdGZvcm0vbWFjLXdrMi9wbHVnaW5zL25wcnVudGltZS9y
ZW1vdmUtcHJvcGVydHktZnJvbS1qYXZhc2NyaXB0Lmh0bWwgWyBTa2lwIF0K
</data>
<flag name="commit-queue"
          id="474314"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448445</attachid>
            <date>2022-01-05 15:38:43 -0800</date>
            <delta_ts>2022-01-06 09:22:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234899-20220105153842.patch</filename>
            <type>text/plain</type>
            <size>80363</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk0MTgwZjg4YmI0NDZi
YTE3MzJkYjdjOGQ5Mzk3YjQwMGI2ZTNhMS4uYThkMDgwZGExOGM3ODNlODhlM2I5YTBjODg3OTk0
MTQyMTk0NzJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIyLTAxLTA1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBpbXBsZW1lbnRhdGlv
biBmb3IgQ09PUCAvIENPRVAgdmlvbGF0aW9uIHJlcG9ydGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0ODk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBpbXBsZW1lbnRhdGlvbiBmb3IgQ09P
UCAvIENPRVAgdmlvbGF0aW9uIHJlcG9ydGluZy4gVGhlIGltcGxlbWVudGF0aW9uIHdhcyBiYXNl
ZCBvbiBhbiBvdXRkYXRlZCB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZpY2F0aW9uCisgICAgICAgIGFu
ZCBoYXMgbmV2ZXIgc2hpcHBlZC4gTWFueSBDT09QL0NPRVAgcmVwb3J0aW5nIHRlc3RzIGFyZSBh
bHNvIGZsYWt5LgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRVUkxGb3JSZXBvcnQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2VuZENPRVBQb2xpY3lJbmhlcml0ZW5jZVZp
b2xhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpzZW5kQ09FUENPUlBWaW9sYXRp
b24pOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
Lmg6CisgICAgICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmVuZm9yY2VSZXNwb25zZUNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KToKKyAg
ICAgICAgKFdlYkNvcmU6OmRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9uc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZVRvRWZmZWN0aXZl
UG9saWN5U3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNlbmRWaW9sYXRpb25S
ZXBvcnRXaGVuTmF2aWdhdGluZ1RvQ09PUFJlc3BvbnNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OnNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJlc3Bv
bnNlKTogRGVsZXRlZC4KKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3ku
aDoKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudExvYWRlcjo6ZG9Dcm9zc09yaWdpbk9wZW5lckhhbmRsaW5nT2ZSZXNwb25zZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZCk6CisgICAg
ICAgICogbG9hZGVyL1BpbmdMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGluZ0xvYWRl
cjo6c2VuZFJlcG9ydFRvRW5kcG9pbnQpOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9QaW5n
TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL1JlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjpFbmRw
b2ludDo6RW5kcG9pbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVwb3J0aW5nRW5k
cG9pbnRzQ2FjaGU6OkVuZHBvaW50OjpoYXNFeHBpcmVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjpjcmVhdGUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGU6OmFkZEVuZHBvaW50c0Zy
b21SZXNwb25zZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXBvcnRpbmdFbmRwb2lu
dHNDYWNoZTo6YWRkRW5kcG9pbnRzRnJvbVJlcG9ydFRvSGVhZGVyKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjphZGRFbmRwb2ludEZyb21EaWN0
aW9uYXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0Nh
Y2hlOjplbmRwb2ludFVSTCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogbG9hZGVyL1JlcG9y
dGluZ0VuZHBvaW50c0NhY2hlLmg6IFJlbW92ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoK
KyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJlcG9ydGlu
Z0VuZHBvaW50c0NhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisKIDIwMjItMDEt
MDUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW92
ZSBtb3JlIFNESyBjaGVja3MgdG8gbGlua2VkT25PckFmdGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjZlMzQ0
NjBhOThmZjYzNjg3YzU0NDllNmQ0MDcyMzQ2M2IyMWI2Ny4uZjEwODcxYjY2NmNjYTcyNzY4MGE2
OTM5ZjcyNjU5NDg2MDg4NWYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAyMi0wMS0w
NSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgaW1wbGVt
ZW50YXRpb24gZm9yIENPT1AgLyBDT0VQIHZpb2xhdGlvbiByZXBvcnRpbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg5OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgaW1wbGVtZW50YXRpb24g
Zm9yIENPT1AgLyBDT0VQIHZpb2xhdGlvbiByZXBvcnRpbmcuIFRoZSBpbXBsZW1lbnRhdGlvbiB3
YXMgYmFzZWQgb24gYW4gb3V0ZGF0ZWQgdmVyc2lvbiBvZiB0aGUgc3BlY2lmaWNhdGlvbgorICAg
ICAgICBhbmQgaGFzIG5ldmVyIHNoaXBwZWQuIE1hbnkgQ09PUC9DT0VQIHJlcG9ydGluZyB0ZXN0
cyBhcmUgYWxzbyBmbGFreS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2Fk
Q2hlY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OnBlcmZvcm1DT1JQQ2hlY2spOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TmF2aWdhdGlvbkZv
ckNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVz
b3VyY2VMb2FkZXI6OnNob3VsZEludGVycnVwdFdvcmtlckxvYWRGb3JDcm9zc09yaWdpbkVtYmVk
ZGVyUG9saWN5KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkb0Ny
b3NzT3JpZ2luT3BlbmVySGFuZGxpbmdPZlJlc3BvbnNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fYXBwSGlnaGxpZ2h0c1Zp
c2libGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZW5kQ09FUFBvbGljeUluaGVyaXRl
bmNlVmlvbGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2VuZENP
RVBDT1JQVmlvbGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2Vu
ZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nVG9DT09QUmVzcG9uc2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZW5kVmlvbGF0aW9uUmVwb3J0V2hlbk5hdmlnYXRp
bmdBd2F5RnJvbUNPT1BSZXNwb25zZSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6d2ViU29ja2V0Q2hh
bm5lbE1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpyZXBvcnRpbmdFbmRw
b2ludHNDYWNoZSk6IERlbGV0ZWQuCisKIDIwMjItMDEtMDUgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBtb3JlIFNESyBjaGVja3MgdG8gbGlu
a2VkT25PckFmdGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNl
cy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1By
ZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggODdhOTllNjAw
MDM3M2I1NmI4NjM4YmNlMWNiMjY3NDMyMzc5YTBhMS4uNDZjNDA5MzgzODYxOWQ0MDU3OGUyZDA3
ZWM2MWJmMzVlNGQzZWIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVu
Y2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTQwOSwx
OCArNDA5LDYgQEAgQ29udGFjdFBpY2tlckFQSUVuYWJsZWQ6CiAgICAgV2ViQ29yZToKICAgICAg
IGRlZmF1bHQ6IGZhbHNlCiAKLUNvb3BDb2VwVmlvbGF0aW9uUmVwb3J0aW5nRW5hYmxlZDoKLSAg
dHlwZTogYm9vbAotICBodW1hblJlYWRhYmxlTmFtZTogIkNPT1AgYW5kIENPRVAgdmlvbGF0aW9u
cyByZXBvcnRpbmciCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkNyb3NzLU9yaWdpbi1P
cGVuZXItUG9saWN5IGFuZCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IHJlcG9ydGluZyIK
LSAgZGVmYXVsdFZhbHVlOgotICAgIFdlYktpdExlZ2FjeToKLSAgICAgIGRlZmF1bHQ6IGZhbHNl
Ci0gICAgV2ViS2l0OgotICAgICAgZGVmYXVsdDogZmFsc2UKLSAgICBXZWJDb3JlOgotICAgICAg
ZGVmYXVsdDogZmFsc2UKLQogQ29yZUltYWdlQWNjZWxlcmF0ZWRGaWx0ZXJSZW5kZXJFbmFibGVk
OgogICB0eXBlOiBib29sCiAgIHdlYmNvcmVPbkNoYW5nZTogc2V0TmVlZHNSZWxheW91dEFsbEZy
YW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYTY5ZmI2OTU1OWNiMzM3YjJhOTczNTY4ZTU5NGU2
ZjliMzlkNDJhMS4uOTA4MmUyYjZiZDI0ZmMzMDZhNGFjOTA0Mzc4ZmZiZjU3NDU5YTIxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCkBAIC0xMDA3LDcgKzEwMDcsNiBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAgICAgbG9hZGVyL1ByaXZhdGVDbGlja01lYXN1cmVtZW50LmgK
ICAgICBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKICAgICBsb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50LmgKLSAgICBsb2FkZXIvUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuaAogICAgIGxvYWRl
ci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuaAogICAgIGxvYWRlci9SZXNvdXJjZUxvYWRJ
bmZvLmgKICAgICBsb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCA0ZWM4MzliNTNjNDliMTI5MzM1YjZmYjlkM2M3OWI3Nzc1OWYzODlhLi45ZmYwMGZiNzgxY2Rh
YTQyYzczY2E4ZjNjYzUzYjA5NWMzMGMyYzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTYzNiw3ICsx
NjM2LDYgQEAgbG9hZGVyL1BpbmdMb2FkZXIuY3BwCiBsb2FkZXIvUG9saWN5Q2hlY2tlci5jcHAK
IGxvYWRlci9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5jcHAKIGxvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwCi1sb2FkZXIvUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuY3BwCiBsb2FkZXIvUmVzb3Vy
Y2VDcnlwdG9ncmFwaGljRGlnZXN0LmNwcAogbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwCiBs
b2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODQzNzIxMjZkOWFhYTRmMmM3MzU2
N2Q0NDllODI4ZTliNDI5MDY1OS4uODIwM2Q3N2EzMWZkYWY1MDBmMWFjYzYwZmRiZDIxOTBmYzM2
ZDBlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTI0Myw3ICsxMjQzLDYgQEAKIAkJNDM2NzA4QzcxMkQ5Q0E0QjAwMDQ0MjM0
IC8qIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4ODgxMkQ5Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lci5oICovOyB9OwogCQk0MzY3MDhDOTEyRDlDQTRCMDAwNDQyMzQgLyog
UmVuZGVyU1ZHSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQzNjcwODhBMTJEOUNBNEEwMDA0NDIzNCAvKiBSZW5kZXJTVkdJbWFnZS5oICovOyB9
OwogCQk0MzY3MDhDQjEyRDlDQTRCMDAwNDQyMzQgLyogTGVnYWN5UmVuZGVyU1ZHTW9kZWxPYmpl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcw
ODhDMTJEOUNBNEEwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdC5oICovOyB9
OwotCQk0MzY3MEM5MzQyRDlCQzRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHTW9kZWxPYmplY3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwOEZEMTJE
OUNBNEEwMDAzMjExNCAvKiBSZW5kZXJTVkdNb2RlbE9iamVjdC5oICovOyB9OwogCQk0MzY3MDhD
RDEyRDlDQTRCMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzNjcwODhFMTJEOUNBNEEwMDA0NDIzNCAv
KiBSZW5kZXJTVkdSZXNvdXJjZS5oICovOyB9OwogCQk0MzY3MDhDRjEyRDlDQTRCMDAwNDQyMzQg
LyogUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDg5MDEyRDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmggKi87IH07CiAJCTQzNjcwOEQxMTJEOUNBNEIwMDA0NDIzNCAvKiBS
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDM2NzA4OTIxMkQ5Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyLmggKi87IH07CkBAIC0xMjY2LDYgKzEyNjUsNyBAQAogCQk0MzY3MDhG
NjEyRDlDQTRCMDAwNDQyMzQgLyogU1ZHUmVzb3VyY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhCNzEyRDlDQTRCMDAwNDQyMzQgLyogU1ZH
UmVzb3VyY2VzLmggKi87IH07CiAJCTQzNjcwOEY4MTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNv
dXJjZXNDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDM2NzA4QjkxMkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0NhY2hlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDM2NzA4RkExMkQ5
Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhCQjEyRDlDQTRCMDAwNDQyMzQg
LyogU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaCAqLzsgfTsKKwkJNDM2NzBDOTM0MkQ5QkM0QjAw
MDQ0MjM0IC8qIFJlbmRlclNWR01vZGVsT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzY3MDhGRDEyRDlDQTRBMDAwMzIxMTQgLyogUmVuZGVy
U1ZHTW9kZWxPYmplY3QuaCAqLzsgfTsKIAkJNDM5MDQ2RDgxMkRBMjVFODAwQUY4MEEyIC8qIFJl
bmRlck1hdGhNTEJsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MzkwNDZDNDEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MQmxvY2suaCAq
LzsgfTsKIAkJNDM5MDQ2REExMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTEZlbmNlZC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5MDQ2QzYx
MkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTEZlbmNlZC5oICovOyB9OwogCQk0MzkwNDZE
QTEyREEyNUU4MDBBRjgxQjMgLyogUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOTA0NkM2MTJEQTI1RTgw
MEFGODFCMyAvKiBSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvci5oICovOyB9OwpAQCAtMTM2OCw3
ICsxMzY4LDYgQEAKIAkJNDZDQTlDNDQxRjk3QkJFOTAwNENGQzNBIC8qIFZpc2liaWxpdHlTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDQTlD
NDExRjk3QkJFNzAwNENGQzNBIC8qIFZpc2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2RDAwMDQwMjZBMEZFQjMwMEQxQkYx
RSAvKiBTdWJtaXRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDZEMDAwM0UyNkEwRkU2RjAwRDFCRjFFIC8qIFN1Ym1pdEV2ZW50LmggKi87IH07
CiAJCTQ2REJCNjUwMUFCOEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9ic2VydmVyTWFjLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRCQjY0RTFBQjhDOTZG
MDBEOUE4MTMgLyogUG93ZXJPYnNlcnZlck1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQ2REQ2RTFGMjZFN0RCRTcwMDhDMUY0QyAvKiBSZXBv
cnRpbmdFbmRwb2ludHNDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDZERDZFMUMyNkU3REJFNjAwOEMxRjRDIC8qIFJlcG9ydGluZ0VuZHBvaW50
c0NhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDZERDkzRDcyNjlERTc1NjAwMUFGRDg4IC8qIEJyb2FkY2FzdENoYW5uZWxJZGVudGlmaWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkREOTNE
NTI2OURFNzRCMDAxQUZEODggLyogQnJvYWRjYXN0Q2hhbm5lbElkZW50aWZpZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkRFOUJCNTI2OURG
OTNFMDAyNEM1QTYgLyogQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRFOUJCNDI2OURGOTMyMDAyNEM1QTYg
LyogQnJvYWRjYXN0Q2hhbm5lbFJlZ2lzdHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZERkY0OTgxREMyNjAzMTAwQjgwQjQ4IC8qIFNoYWRv
d1Jvb3RNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NkRGRjQ5NjFEQzI2MDEzMDBCODBCNDggLyogU2hhZG93Um9vdE1vZGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODk4NiwxMSArODk4NSwx
MCBAQAogCQk0MzY3MDg4ODEyRDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDg4OTEyRDlDQTRB
MDAwNDQyMzQgLyogUmVuZGVyU1ZHSW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVuZGVyU1ZHSW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MzY3MDg4QTEyRDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHSW1hZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHSW1hZ2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNDM2NzA4OEQzNEU5Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNWR01v
ZGVsT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRl
clNWR01vZGVsT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDM2NzA4
RkQxMkQ5Q0E0QTAwMDMyMTE0IC8qIFJlbmRlclNWR01vZGVsT2JqZWN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR01vZGVsT2JqZWN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwODhCMTJEOUNBNEEwMDA0NDIzNCAvKiBMZWdhY3lSZW5k
ZXJTVkdNb2RlbE9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBMZWdhY3lSZW5kZXJTVkdNb2RlbE9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQzNjcwODhDMTJEOUNBNEEwMDA0NDIzNCAvKiBMZWdhY3lSZW5kZXJTVkdNb2RlbE9i
amVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lSZW5kZXJTVkdN
b2RlbE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDg4RDEyRDlD
QTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MzY3MDg4RDM0RTlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHTW9kZWxP
YmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZH
TW9kZWxPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDg4RTEy
RDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDM2NzA4OEYxMkQ5Q0E0QTAwMDQ0MjM0IC8qIFJlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdS
ZXNvdXJjZUNsaXBwZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzY3MDg5
MDEyRDlDQTRBMDAwNDQyMzQgLyogUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTAzMyw2ICs5MDMxLDcgQEAKIAkJNDM2NzA4Qjkx
MkQ5Q0E0QjAwMDQ0MjM0IC8qIFNWR1Jlc291cmNlc0NhY2hlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNWR1Jlc291cmNlc0NhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQzNjcwOEJBMTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdSZXNvdXJj
ZXNDeWNsZVNvbHZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzNjcwOEJC
MTJEOUNBNEIwMDA0NDIzNCAvKiBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MzY3MDhGRDEyRDlDQTRBMDAwMzIxMTQgLyogUmVuZGVy
U1ZHTW9kZWxPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVy
U1ZHTW9kZWxPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM5MDQ2QzMx
MkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTEJsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck1hdGhNTEJsb2NrLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDM5MDQ2QzQxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhN
TEJsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlck1hdGhNTEJs
b2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzOTA0NkM1MTJEQTI1RTgwMEFG
ODBBMiAvKiBSZW5kZXJNYXRoTUxGZW5jZWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVuZGVyTWF0aE1MRmVuY2VkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTkyNTIsOCArOTI1MSw2IEBACiAJCTQ2RDAwMDNFMjZBMEZFNkYwMEQxQkYxRSAv
KiBTdWJtaXRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdWJtaXRF
dmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkQwMDAzRjI2QTBGRTcwMDBE
MUJGMUUgLyogU3VibWl0RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN1Ym1pdEV2
ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZEQkI2NEUxQUI4Qzk2RjAw
RDlBODEzIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUG93ZXJPYnNlcnZlck1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
NkRENkUxQzI2RTdEQkU2MDA4QzFGNEMgLyogUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDZERDZFMUUyNkU3REJFNzAwOEMxRjRDIC8q
IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDZERDkzRDUyNjlERTc0QjAwMUFGRDg4IC8qIEJyb2FkY2FzdENoYW5uZWxJ
ZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJyb2FkY2FzdENoYW5uZWxJZGVudGlmaWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REU5QkI0MjY5REY5MzIwMDI0QzVBNiAv
KiBCcm9hZGNhc3RDaGFubmVsUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnJvYWRjYXN0Q2hh
bm5lbFJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REZGNDk2MURD
MjYwMTMwMEI4MEI0OCAvKiBTaGFkb3dSb290TW9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTaGFkb3dSb290TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjk2MjcsOCArMjk2MjQsNiBAQAogCQkJCTFBMkE2ODIxMEI1QkVERTcwMDAyQTQ4MCAvKiBQ
cm9ncmVzc1RyYWNrZXIuY3BwICovLAogCQkJCTFBMkE2ODIyMEI1QkVERTcwMDAyQTQ4MCAvKiBQ
cm9ncmVzc1RyYWNrZXIuaCAqLywKIAkJCQkxQUNBREQ3ODE4ODBEOTFDMDBEOEI3MUQgLyogUHJv
Z3Jlc3NUcmFja2VyQ2xpZW50LmggKi8sCi0JCQkJNDZERDZFMUUyNkU3REJFNzAwOEMxRjRDIC8q
IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcCAqLywKLQkJCQk0NkRENkUxQzI2RTdEQkU2MDA4
QzFGNEMgLyogUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuaCAqLywKIAkJCQk3QzJGQTYwRjFFQTk1
QTMyMDBBMDMxMDggLyogUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0LmNwcCAqLywKIAkJCQk3
QzJGQTYxMDFFQTk1QTMyMDBBMDMxMDggLyogUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0Lmgg
Ki8sCiAJCQkJOTNFMjI3REUwQUY1ODlBRDAwRDQ4MzI0IC8qIFJlc291cmNlTG9hZGVyLmNwcCAq
LywKQEAgLTM2ODAwLDcgKzM2Nzk1LDYgQEAKIAkJCQkyREY1MTJDRTFEODczRTQ3MDAxRDY3ODAg
LyogUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMw
OUUwQTA5OUU2NDkyMDA1NkU1ODEgLyogUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTA3MUMwMDM0MjcwN0Q5NTUwMEQwMjdDNyAvKiBSZXBsYXlLaXRDYXB0dXJl
U291cmNlLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NkRENkUxRjI2RTdEQkU3MDA4QzFGNEMgLyog
UmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OThBRUM2MTNG
OUQwRUEwMDkwQjFBQSAvKiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRjQwMzRGQUMyNzVFQUQ2RTAwM0E4MUY4IC8qIFJlcXVlc3RDb29raWVDb25z
ZW50T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNERDAxMjUxRjEyRDAwM0VGMjY5
IC8qIFJlc2V0SW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmNwcAppbmRleCA3MTM1YThjZmFl
MGY2NjhhYWY3MmE0YTc3MjgwNTNhNGZjZjM1ZTBkLi40YmY3MDUwY2NjYjdlMGM3M2IwZDE5NzNl
M2MwMWEyNTM4OTA2YjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NP
cmlnaW5FbWJlZGRlclBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3kuY3BwCkBAIC0zOCwxOCArMzgsNiBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0YXRpYyBVUkwgY29udGV4dFVSTEZvclJlcG9ydChGcmFtZSYgZnJhbWUp
Ci17Ci0gICAgYXV0byByZXBvcnRVUkwgPSBmcmFtZS5kb2N1bWVudCgpID8gZnJhbWUuZG9jdW1l
bnQoKS0+dXJsKCkgOiBhYm91dEJsYW5rVVJMKCk7Ci0gICAgaWYgKHJlcG9ydFVSTC5pc0Fib3V0
QmxhbmsoKSkgewotICAgICAgICBpZiAoYXV0byogcGFyZW50RnJhbWUgPSBmcmFtZS50cmVlKCku
cGFyZW50KCk7IHBhcmVudEZyYW1lLT5kb2N1bWVudCgpKQotICAgICAgICAgICAgcmVwb3J0VVJM
ID0gcGFyZW50RnJhbWUtPmRvY3VtZW50KCktPnVybCgpOwotICAgICAgICBlbHNlIGlmIChhdXRv
KiBvcGVuZXJGcmFtZSA9IGZyYW1lLmxvYWRlcigpLm9wZW5lcigpOyBvcGVuZXJGcmFtZS0+ZG9j
dW1lbnQoKSkKLSAgICAgICAgICAgIHJlcG9ydFVSTCA9IG9wZW5lckZyYW1lLT5kb2N1bWVudCgp
LT51cmwoKTsKLSAgICB9Ci0gICAgcmV0dXJuIHJlcG9ydFVSTDsKLX0KLQogLy8gaHR0cHM6Ly9o
dG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvb3JpZ2luLmh0bWwjb2J0YWluLWFuLWVtYmVk
ZGVyLXBvbGljeQogQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSBvYnRhaW5Dcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewpAQCAtMTEwLDMzICs5OCw0IEBAIHZvaWQg
YWRkQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeUhlYWRlcnMoUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIGNvbnN0IENyb3NzCiAgICAgfQogfQogCi0vLyBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9vcmlnaW4uaHRtbCNxdWV1ZS1hLWNyb3NzLW9yaWdpbi1lbWJlZGRl
ci1wb2xpY3ktaW5oZXJpdGFuY2UtdmlvbGF0aW9uCi12b2lkIHNlbmRDT0VQUG9saWN5SW5oZXJp
dGVuY2VWaW9sYXRpb24oRnJhbWUmIGZyYW1lLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEmIGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBDT0VQRGlzcG9z
aXRpb24gZGlzcG9zaXRpb24sIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgVVJMJiBibG9ja2Vk
VVJMKQotewotICAgIGlmICghZnJhbWUuc2V0dGluZ3MoKS5jb29wQ29lcFZpb2xhdGlvblJlcG9y
dGluZ0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKCFlbmRwb2ludC5p
c0VtcHR5KCkpOwotICAgIFBpbmdMb2FkZXI6OnNlbmRSZXBvcnRUb0VuZHBvaW50KGZyYW1lLCBl
bWJlZGRlck9yaWdpbiwgZW5kcG9pbnQsICJjb2VwIl9zLCBjb250ZXh0VVJMRm9yUmVwb3J0KGZy
YW1lKSwgZnJhbWUubG9hZGVyKCkudXNlckFnZW50KGJsb2NrZWRVUkwpLCBbJl0oYXV0byYgYm9k
eSkgewotICAgICAgICBib2R5LnNldFN0cmluZygiZGlzcG9zaXRpb24iX3MsIGRpc3Bvc2l0aW9u
ID09IENPRVBEaXNwb3NpdGlvbjo6UmVwb3J0aW5nID8gInJlcG9ydGluZyJfcyA6ICJlbmZvcmNl
Il9zKTsKLSAgICAgICAgYm9keS5zZXRTdHJpbmcoInR5cGUiX3MsIHR5cGUpOwotICAgICAgICBi
b2R5LnNldFN0cmluZygiYmxvY2tlZFVSTCJfcywgUGluZ0xvYWRlcjo6c2FuaXRpemVVUkxGb3JS
ZXBvcnQoYmxvY2tlZFVSTCkpOwotICAgIH0pOwotfQotCi0vLyBodHRwczovL2ZldGNoLnNwZWMu
d2hhdHdnLm9yZy8jcXVldWUtYS1jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LWNvcnAtdmlv
bGF0aW9uLXJlcG9ydAotdm9pZCBzZW5kQ09FUENPUlBWaW9sYXRpb24oRnJhbWUmIGZyYW1lLCBj
b25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVu
ZHBvaW50LCBDT0VQRGlzcG9zaXRpb24gZGlzcG9zaXRpb24sIEZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb24gZGVzdGluYXRpb24sIGNvbnN0IFVSTCYgYmxvY2tlZFVSTCkKLXsKLSAgICBBU1NFUlQo
IWVuZHBvaW50LmlzRW1wdHkoKSk7Ci0gICAgaWYgKCFmcmFtZS5zZXR0aW5ncygpLmNvb3BDb2Vw
VmlvbGF0aW9uUmVwb3J0aW5nRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBQaW5n
TG9hZGVyOjpzZW5kUmVwb3J0VG9FbmRwb2ludChmcmFtZSwgZW1iZWRkZXJPcmlnaW4sIGVuZHBv
aW50LCAiY29lcCJfcywgY29udGV4dFVSTEZvclJlcG9ydChmcmFtZSksIGZyYW1lLmxvYWRlcigp
LnVzZXJBZ2VudChibG9ja2VkVVJMKSwgWyZdKGF1dG8mIGJvZHkpIHsKLSAgICAgICAgYm9keS5z
ZXRTdHJpbmcoImRpc3Bvc2l0aW9uIl9zLCBkaXNwb3NpdGlvbiA9PSBDT0VQRGlzcG9zaXRpb246
OlJlcG9ydGluZyA/ICJyZXBvcnRpbmciX3MgOiAiZW5mb3JjZSJfcyk7Ci0gICAgICAgIGJvZHku
c2V0U3RyaW5nKCJ0eXBlIl9zLCAiY29ycCIpOwotICAgICAgICBib2R5LnNldFN0cmluZygiYmxv
Y2tlZFVSTCJfcywgUGluZ0xvYWRlcjo6c2FuaXRpemVVUkxGb3JSZXBvcnQoYmxvY2tlZFVSTCkp
OwotICAgICAgICBib2R5LnNldFN0cmluZygiZGVzdGluYXRpb24iX3MsIGNvbnZlcnRFbnVtZXJh
dGlvblRvU3RyaW5nKGRlc3RpbmF0aW9uKSk7Ci0gICAgfSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeS5oCmluZGV4IDEzYWZiZjUyMmI4MjQwYjUzZmM2OWNhMGRjZDdkZDRkZTVhYjhhZTYu
Ljk3OTBhZTliNmIzZmRhNGVjNGQxZTM0M2M5YjJkOGI2OTQyODNlNjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaApAQCAtMTAxLDcg
KzEwMSw1IEBAIGVudW0gY2xhc3MgQ09FUERpc3Bvc2l0aW9uIDogYm9vbCB7IFJlcG9ydGluZyAs
IEVuZm9yY2UgfTsKIAogV0VCQ09SRV9FWFBPUlQgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSBv
YnRhaW5Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBj
b25zdCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZENy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lIZWFkZXJzKFJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBD
cm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Jik7Ci1XRUJDT1JFX0VYUE9SVCB2b2lkIHNlbmRDT0VQ
UG9saWN5SW5oZXJpdGVuY2VWaW9sYXRpb24oRnJhbWUmLCBjb25zdCBTZWN1cml0eU9yaWdpbkRh
dGEmIGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBDT0VQRGlzcG9zaXRp
b24sIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgVVJMJiBibG9ja2VkVVJMKTsKLVdFQkNPUkVf
RVhQT1JUIHZvaWQgc2VuZENPRVBDT1JQVmlvbGF0aW9uKEZyYW1lJiwgY29uc3QgU2VjdXJpdHlP
cmlnaW5EYXRhJiBlbWJlZGRlck9yaWdpbiwgY29uc3QgU3RyaW5nJiBlbmRwb2ludCwgQ09FUERp
c3Bvc2l0aW9uLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uLCBjb25zdCBVUkwmIGJsb2NrZWRV
UkwpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Nyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmNwcAppbmRleCAwOWMxMTkwNzEwOTU2ZmI3ZjMy
YTYwYTQ0NzEwNTIzMTU4Yjc4NjYxLi5jZWU1NzZiODNlNDhkMmZlN2E0M2M0MDc3N2RkOWMwMTRh
MjVhMThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5PcGVu
ZXJQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbk9wZW5l
clBvbGljeS5jcHAKQEAgLTU2LDIxICs1Niw2IEBAIHN0YXRpYyBBU0NJSUxpdGVyYWwgY3Jvc3NP
cmlnaW5PcGVuZXJQb2xpY3lUb1N0cmluZyhjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljCiAg
ICAgcmV0dXJuICJ1bnNhZmUtbm9uZSJfczsKIH0KIAotc3RhdGljIEFTQ0lJTGl0ZXJhbCBjcm9z
c09yaWdpbk9wZW5lclBvbGljeVZhbHVlVG9FZmZlY3RpdmVQb2xpY3lTdHJpbmcoQ3Jvc3NPcmln
aW5PcGVuZXJQb2xpY3lWYWx1ZSBjb29wKQotewotICAgIHN3aXRjaCAoY29vcCkgewotICAgIGNh
c2UgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZTo6U2FtZU9yaWdpbkFsbG93UG9wdXBzOgot
ICAgICAgICByZXR1cm4gInNhbWUtb3JpZ2luLWFsbG93LXBvcHVwcyJfczsKLSAgICBjYXNlIENy
b3NzT3JpZ2luT3BlbmVyUG9saWN5VmFsdWU6OlNhbWVPcmlnaW46Ci0gICAgICAgIHJldHVybiAi
c2FtZS1vcmlnaW4iX3M7Ci0gICAgY2FzZSBDcm9zc09yaWdpbk9wZW5lclBvbGljeVZhbHVlOjpT
YW1lT3JpZ2luUGx1c0NPRVA6Ci0gICAgICAgIHJldHVybiAic2FtZS1vcmlnaW4tcGx1cy1jb2Vw
Il9zOwotICAgIGNhc2UgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9uZToK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIHJldHVybiAidW5zYWZlLW5vbmUiX3M7Ci19Ci0K
IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL29yaWdpbi5odG1sI2No
ZWNrLWJyb3dzaW5nLWNvbnRleHQtZ3JvdXAtc3dpdGNoLWNvb3AtdmFsdWUKIHN0YXRpYyBib29s
IGNoZWNrSWZDT09QVmFsdWVzUmVxdWlyZUJyb3dzaW5nQ29udGV4dEdyb3VwU3dpdGNoKGJvb2wg
aXNJbml0aWFsQWJvdXRCbGFuaywgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZSBhY3RpdmVE
b2N1bWVudENPT1BWYWx1ZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGFjdGl2ZURvY3VtZW50TmF2
aWdhdGlvbk9yaWdpbiwgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZSByZXNwb25zZUNPT1BW
YWx1ZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHJlc3BvbnNlT3JpZ2luKQogewpAQCAtMTIxLDcg
KzEwNiw3IEBAIHN0YXRpYyBzdGQ6OnR1cGxlPFJlZjxTZWN1cml0eU9yaWdpbj4sIENyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5PiBjb21wdXRlUmVzcG9uc2VPCiB9CiAKIC8vIGh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL29yaWdpbi5odG1sI2Nvb3AtZW5mb3JjZQotc3RhdGlj
IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQgZW5mb3JjZVJlc3BvbnNl
Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZv
cmNlbWVudFJlc3VsdCYgY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCwgY29uc3QgVVJMJiBy
ZXNwb25zZVVSTCwgU2VjdXJpdHlPcmlnaW4mIHJlc3BvbnNlT3JpZ2luLCBjb25zdCBDcm9zc09y
aWdpbk9wZW5lclBvbGljeSYgcmVzcG9uc2VDT09QLCBib29sIGlzRGlzcGxheWluZ0luaXRpYWxF
bXB0eURvY3VtZW50LCBjb25zdCBGdW5jdGlvbjx2b2lkKENPT1BEaXNwb3NpdGlvbik+JiBzZW5k
VmlvbGF0aW9uUmVwb3J0cykKK3N0YXRpYyBDcm9zc09yaWdpbk9wZW5lclBvbGljeUVuZm9yY2Vt
ZW50UmVzdWx0IGVuZm9yY2VSZXNwb25zZUNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KGNvbnN0IENy
b3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQmIGN1cnJlbnRDb29wRW5mb3Jj
ZW1lbnRSZXN1bHQsIGNvbnN0IFVSTCYgcmVzcG9uc2VVUkwsIFNlY3VyaXR5T3JpZ2luJiByZXNw
b25zZU9yaWdpbiwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIHJlc3BvbnNlQ09PUCwg
Ym9vbCBpc0Rpc3BsYXlpbmdJbml0aWFsRW1wdHlEb2N1bWVudCkKIHsKICAgICBDcm9zc09yaWdp
bk9wZW5lclBvbGljeUVuZm9yY2VtZW50UmVzdWx0IG5ld0NPT1BFbmZvcmNlbWVudFJlc3VsdCA9
IHsKICAgICAgICAgcmVzcG9uc2VVUkwsCkBAIC0xMzIsMTUgKzExNywxMSBAQCBzdGF0aWMgQ3Jv
c3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZvcmNlbWVudFJlc3VsdCBlbmZvcmNlUmVzcG9uc2VDcm9z
c09yaWdpbk9wZW5lcgogICAgICAgICBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0Lm5lZWRz
QnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hEdWVUb1JlcG9ydE9ubHkKICAgICB9OwogCi0gICAg
aWYgKGNoZWNrSWZDT09QVmFsdWVzUmVxdWlyZUJyb3dzaW5nQ29udGV4dEdyb3VwU3dpdGNoKGlz
RGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVz
dWx0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LnZhbHVlLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50
UmVzdWx0LmN1cnJlbnRPcmlnaW4sIHJlc3BvbnNlQ09PUC52YWx1ZSwgcmVzcG9uc2VPcmlnaW4p
KSB7CisgICAgaWYgKGNoZWNrSWZDT09QVmFsdWVzUmVxdWlyZUJyb3dzaW5nQ29udGV4dEdyb3Vw
U3dpdGNoKGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjdXJyZW50Q29vcEVuZm9y
Y2VtZW50UmVzdWx0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LnZhbHVlLCBjdXJyZW50Q29vcEVu
Zm9yY2VtZW50UmVzdWx0LmN1cnJlbnRPcmlnaW4sIHJlc3BvbnNlQ09PUC52YWx1ZSwgcmVzcG9u
c2VPcmlnaW4pKQogICAgICAgICBuZXdDT09QRW5mb3JjZW1lbnRSZXN1bHQubmVlZHNCcm93c2lu
Z0NvbnRleHRHcm91cFN3aXRjaCA9IHRydWU7Ci0gICAgICAgIHNlbmRWaW9sYXRpb25SZXBvcnRz
KENPT1BEaXNwb3NpdGlvbjo6RW5mb3JjZSk7Ci0gICAgfQogCi0gICAgaWYgKGNoZWNrSWZFbmZv
cmNpbmdSZXBvcnRPbmx5Q09PUFdvdWxkUmVxdWlyZUJyb3dzaW5nQ29udGV4dEdyb3VwU3dpdGNo
KGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjdXJyZW50Q29vcEVuZm9yY2VtZW50
UmVzdWx0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVz
dWx0LmN1cnJlbnRPcmlnaW4sIHJlc3BvbnNlQ09PUCwgcmVzcG9uc2VPcmlnaW4pKSB7CisgICAg
aWYgKGNoZWNrSWZFbmZvcmNpbmdSZXBvcnRPbmx5Q09PUFdvdWxkUmVxdWlyZUJyb3dzaW5nQ29u
dGV4dEdyb3VwU3dpdGNoKGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjdXJyZW50
Q29vcEVuZm9yY2VtZW50UmVzdWx0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LCBjdXJyZW50Q29v
cEVuZm9yY2VtZW50UmVzdWx0LmN1cnJlbnRPcmlnaW4sIHJlc3BvbnNlQ09PUCwgcmVzcG9uc2VP
cmlnaW4pKQogICAgICAgICBuZXdDT09QRW5mb3JjZW1lbnRSZXN1bHQubmVlZHNCcm93c2luZ0Nv
bnRleHRHcm91cFN3aXRjaER1ZVRvUmVwb3J0T25seSA9IHRydWU7Ci0gICAgICAgIHNlbmRWaW9s
YXRpb25SZXBvcnRzKENPT1BEaXNwb3NpdGlvbjo6UmVwb3J0aW5nKTsKLSAgICB9CiAKICAgICBy
ZXR1cm4gbmV3Q09PUEVuZm9yY2VtZW50UmVzdWx0OwogfQpAQCAtMjA2LDQ1ICsxODcsOCBAQCB2
b2lkIGFkZENyb3NzT3JpZ2luT3BlbmVyUG9saWN5SGVhZGVycyhSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSwgY29uc3QgQ3Jvc3NPcgogICAgIH0KIH0KIAotLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvb3JpZ2luLmh0bWwjY29vcC12aW9sYXRpb24tbmF2aWdhdGlv
bi10bwotdm9pZCBzZW5kVmlvbGF0aW9uUmVwb3J0V2hlbk5hdmlnYXRpbmdUb0NPT1BSZXNwb25z
ZShGcmFtZSYgZnJhbWUsIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5IGNvb3AsIENPT1BEaXNwb3Np
dGlvbiBkaXNwb3NpdGlvbiwgY29uc3QgVVJMJiBjb29wVVJMLCBjb25zdCBVUkwmIHByZXZpb3Vz
UmVzcG9uc2VVUkwsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBjb29wT3JpZ2luLCBjb25zdCBTZWN1
cml0eU9yaWdpbiYgcHJldmlvdXNSZXNwb25zZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZlcnJl
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCi17Ci0gICAgaWYgKCFmcmFtZS5zZXR0aW5ncygp
LmNvb3BDb2VwVmlvbGF0aW9uUmVwb3J0aW5nRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBhdXRvJiBlbmRwb2ludCA9IGNvb3AucmVwb3J0aW5nRW5kcG9pbnRGb3JEaXNwb3NpdGlv
bihkaXNwb3NpdGlvbik7Ci0gICAgaWYgKGVuZHBvaW50LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgUGluZ0xvYWRlcjo6c2VuZFJlcG9ydFRvRW5kcG9pbnQoZnJhbWUsIGNvb3BP
cmlnaW4uZGF0YSgpLCBlbmRwb2ludCwgImNvb3AiX3MsIGNvb3BVUkwsIHVzZXJBZ2VudCwgWyZd
KGF1dG8mIGJvZHkpIHsKLSAgICAgICAgYm9keS5zZXRTdHJpbmcoImRpc3Bvc2l0aW9uIl9zLCBk
aXNwb3NpdGlvbiA9PSBDT09QRGlzcG9zaXRpb246OlJlcG9ydGluZyA/ICJyZXBvcnRpbmciX3Mg
OiAiZW5mb3JjZSJfcyk7Ci0gICAgICAgIGJvZHkuc2V0U3RyaW5nKCJlZmZlY3RpdmVQb2xpY3ki
X3MsIGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5VmFsdWVUb0VmZmVjdGl2ZVBvbGljeVN0cmluZyhk
aXNwb3NpdGlvbiA9PSBDT09QRGlzcG9zaXRpb246OlJlcG9ydGluZyA/IGNvb3AucmVwb3J0T25s
eVZhbHVlIDogY29vcC52YWx1ZSkpOwotICAgICAgICBib2R5LnNldFN0cmluZygicHJldmlvdXNS
ZXNwb25zZVVSTCJfcywgY29vcE9yaWdpbi5pc1NhbWVPcmlnaW5BcyhwcmV2aW91c1Jlc3BvbnNl
T3JpZ2luKSA/IFBpbmdMb2FkZXI6OnNhbml0aXplVVJMRm9yUmVwb3J0KHByZXZpb3VzUmVzcG9u
c2VVUkwpIDogU3RyaW5nKCkpOwotICAgICAgICBib2R5LnNldFN0cmluZygidHlwZSJfcywgIm5h
dmlnYXRpb24tdG8tcmVzcG9uc2UiX3MpOwotICAgICAgICBib2R5LnNldFN0cmluZygicmVmZXJy
ZXIiX3MsIHJlZmVycmVyKTsKLSAgICB9KTsKLX0KLQotLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy9tdWx0aXBhZ2Uvb3JpZ2luLmh0bWwjY29vcC12aW9sYXRpb24tbmF2aWdhdGlvbi1m
cm9tCi12b2lkIHNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJl
c3BvbnNlKEZyYW1lJiBmcmFtZSwgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kgY29vcCwgQ09PUERp
c3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBjb25zdCBVUkwmIGNvb3BVUkwsIGNvbnN0IFVSTCYgbmV4
dFJlc3BvbnNlVVJMLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgY29vcE9yaWdpbiwgY29uc3QgU2Vj
dXJpdHlPcmlnaW4mIG5leHRSZXNwb25zZU9yaWdpbiwgYm9vbCBpc0NPT1BSZXNwb25zZU5hdmln
YXRpb25Tb3VyY2UsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KQotewotICAgIGlmICghZnJhbWUu
c2V0dGluZ3MoKS5jb29wQ29lcFZpb2xhdGlvblJlcG9ydGluZ0VuYWJsZWQoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgYXV0byYgZW5kcG9pbnQgPSBjb29wLnJlcG9ydGluZ0VuZHBvaW50Rm9y
RGlzcG9zaXRpb24oZGlzcG9zaXRpb24pOwotICAgIGlmIChlbmRwb2ludC5pc0VtcHR5KCkpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIFBpbmdMb2FkZXI6OnNlbmRSZXBvcnRUb0VuZHBvaW50KGZy
YW1lLCBjb29wT3JpZ2luLmRhdGEoKSwgZW5kcG9pbnQsICJjb29wIl9zLCBjb29wVVJMLCB1c2Vy
QWdlbnQsIFsmXShhdXRvJiBib2R5KSB7Ci0gICAgICAgIGJvZHkuc2V0U3RyaW5nKCJkaXNwb3Np
dGlvbiJfcywgZGlzcG9zaXRpb24gPT0gQ09PUERpc3Bvc2l0aW9uOjpSZXBvcnRpbmcgPyAicmVw
b3J0aW5nIl9zIDogImVuZm9yY2UiX3MpOwotICAgICAgICBib2R5LnNldFN0cmluZygiZWZmZWN0
aXZlUG9saWN5Il9zLCBjcm9zc09yaWdpbk9wZW5lclBvbGljeVZhbHVlVG9FZmZlY3RpdmVQb2xp
Y3lTdHJpbmcoZGlzcG9zaXRpb24gPT0gQ09PUERpc3Bvc2l0aW9uOjpSZXBvcnRpbmcgPyBjb29w
LnJlcG9ydE9ubHlWYWx1ZSA6IGNvb3AudmFsdWUpKTsKLSAgICAgICAgYm9keS5zZXRTdHJpbmco
Im5leHRSZXNwb25zZVVSTCJfcywgY29vcE9yaWdpbi5pc1NhbWVPcmlnaW5BcyhuZXh0UmVzcG9u
c2VPcmlnaW4pIHx8IGlzQ09PUFJlc3BvbnNlTmF2aWdhdGlvblNvdXJjZSA/IFBpbmdMb2FkZXI6
OnNhbml0aXplVVJMRm9yUmVwb3J0KG5leHRSZXNwb25zZVVSTCkgOiBTdHJpbmcoKSk7Ci0gICAg
ICAgIGJvZHkuc2V0U3RyaW5nKCJ0eXBlIl9zLCAibmF2aWdhdGlvbi1mcm9tLXJlc3BvbnNlIl9z
KTsKLSAgICB9KTsKLX0KLQogLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2UvYnJvd3NpbmctdGhlLXdlYi5odG1sI3Byb2Nlc3MtYS1uYXZpZ2F0ZS1mZXRjaCAoU3RlcCAx
My41LjYpCi1zdGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRS
ZXN1bHQ+IGRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9uc2UoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGlvblJlcXVl
c3Rlcj4mIHJlcXVlc3RlciwgQ29udGVudFNlY3VyaXR5UG9saWN5KiByZXNwb25zZUNTUCwgU2Fu
ZGJveEZsYWdzIGVmZmVjdGl2ZVNhbmRib3hGbGFncywgYm9vbCBpc0Rpc3BsYXlpbmdJbml0aWFs
RW1wdHlEb2N1bWVudCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZvcmNlbWVudFJl
c3VsdCYgY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCwgY29uc3QgRnVuY3Rpb248dm9pZChD
T09QRGlzcG9zaXRpb24gZGlzcG9zaXRpb24sIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5
JiByZXNwb25zZUNPT1AsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiByZXNwb25zZU9yaWdpbik+JiBz
ZW5kVmlvbGF0aW9uUmVwb3J0cykKK3N0ZDo6b3B0aW9uYWw8Q3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3lFbmZvcmNlbWVudFJlc3VsdD4gZG9Dcm9zc09yaWdpbk9wZW5lckhhbmRsaW5nT2ZSZXNwb25z
ZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxO
YXZpZ2F0aW9uUmVxdWVzdGVyPiYgcmVxdWVzdGVyLCBDb250ZW50U2VjdXJpdHlQb2xpY3kqIHJl
c3BvbnNlQ1NQLCBTYW5kYm94RmxhZ3MgZWZmZWN0aXZlU2FuZGJveEZsYWdzLCBib29sIGlzRGlz
cGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGlj
eUVuZm9yY2VtZW50UmVzdWx0JiBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0KQogewogICAg
IGF1dG8gW3Jlc3BvbnNlT3JpZ2luLCByZXNwb25zZUNPT1BdID0gY29tcHV0ZVJlc3BvbnNlT3Jp
Z2luQW5kQ09PUChyZXNwb25zZSwgcmVxdWVzdGVyLCByZXNwb25zZUNTUCk7CiAKQEAgLTI1Myw5
ICsxOTcsNyBAQCBzdGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1l
bnRSZXN1bHQ+IGRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbAogICAgIGlmIChyZXNwb25zZUNPT1Au
dmFsdWUgIT0gQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9uZSAmJiBlZmZl
Y3RpdmVTYW5kYm94RmxhZ3MgIT0gU2FuZGJveE5vbmUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKLSAgICByZXR1cm4gZW5mb3JjZVJlc3BvbnNlQ3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3koY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCwgcmVzcG9uc2UudXJsKCksIHJlc3BvbnNl
T3JpZ2luLCByZXNwb25zZUNPT1AsIGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBb
JiwgcmVzcG9uc2VPcmlnaW4gPSByZXNwb25zZU9yaWdpbiwgcmVzcG9uc2VDT09QID0gcmVzcG9u
c2VDT09QXShDT09QRGlzcG9zaXRpb24gZGlzcG9zaXRpb24pIHsKLSAgICAgICAgc2VuZFZpb2xh
dGlvblJlcG9ydHMoZGlzcG9zaXRpb24sIHJlc3BvbnNlQ09PUCwgcmVzcG9uc2VPcmlnaW4pOwot
ICAgIH0pOworICAgIHJldHVybiBlbmZvcmNlUmVzcG9uc2VDcm9zc09yaWdpbk9wZW5lclBvbGlj
eShjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LCByZXNwb25zZS51cmwoKSwgcmVzcG9uc2VP
cmlnaW4sIHJlc3BvbnNlQ09PUCwgaXNEaXNwbGF5aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQpOwog
fQogCiBDcm9zc09yaWdpbk9wZW5lclBvbGljeUVuZm9yY2VtZW50UmVzdWx0IENyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQ6OmZyb20oY29uc3QgVVJMJiBjdXJyZW50VVJM
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgY3VycmVudE9yaWdpbiwgY29uc3QgQ3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3kmIGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5LCBzdGQ6Om9wdGlvbmFsPE5hdmln
YXRpb25SZXF1ZXN0ZXI+IHJlcXVlc3RlciwgY29uc3QgVVJMJiBvcGVuZXJVUkwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbk9wZW5lclBvbGljeS5oCmluZGV4IDU4Yzdi
Yjc5Mzg4YWM2ZjAzZjJjODIwZDg5NjhmYTRhMzUyMWZmNGEuLjUyMjEwNjk4NjQ4ZTA4M2ZhMGQ5
ZjI5Y2VmZjA3MzFmOWVlNDk4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9D
cm9zc09yaWdpbk9wZW5lclBvbGljeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpbk9wZW5lclBvbGljeS5oCkBAIC0xMzEsOSArMTMxLDcgQEAgc3RydWN0IENyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQgewogCiBDcm9zc09yaWdpbk9wZW5lclBv
bGljeSBvYnRhaW5Dcm9zc09yaWdpbk9wZW5lclBvbGljeShjb25zdCBSZXNvdXJjZVJlc3BvbnNl
Jik7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZENyb3NzT3JpZ2luT3BlbmVyUG9saWN5SGVhZGVy
cyhSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmKTsKLVdF
QkNPUkVfRVhQT1JUIHZvaWQgc2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nVG9DT09Q
UmVzcG9uc2UoRnJhbWUmLCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSwgQ09PUERpc3Bvc2l0aW9u
LCBjb25zdCBVUkwmIGNvb3BVUkwsIGNvbnN0IFVSTCYgcHJldmlvdXNSZXNwb25zZVVSTCwgY29u
c3QgU2VjdXJpdHlPcmlnaW4mIGNvb3BPcmlnaW4sIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBwcmV2
aW91c1Jlc3BvbnNlT3JpZ2luLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCk7Ci1XRUJDT1JFX0VYUE9SVCB2b2lkIHNlbmRWaW9sYXRpb25SZXBvcnRXaGVu
TmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJlc3BvbnNlKEZyYW1lJiwgQ3Jvc3NPcmlnaW5PcGVuZXJQ
b2xpY3ksIENPT1BEaXNwb3NpdGlvbiwgY29uc3QgVVJMJiBjb29wVVJMLCBjb25zdCBVUkwmIG5l
eHRSZXNwb25zZVVSTCwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGNvb3BPcmlnaW4sIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJiBuZXh0UmVzcG9uc2VPcmlnaW4sIGJvb2wgaXNDT09QUmVzcG9uc2VOYXZp
Z2F0aW9uU291cmNlLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7Ci1XRUJDT1JFX0VYUE9SVCBz
dGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQ+IGRv
Q3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGlvblJlcXVlc3Rlcj4mLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3kqIHJlc3BvbnNlQ1NQLCBTYW5kYm94RmxhZ3MgZWZmZWN0aXZlU2FuZGJveEZs
YWdzLCBib29sIGlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50LCBjb25zdCBDcm9zc09y
aWdpbk9wZW5lclBvbGljeUVuZm9yY2VtZW50UmVzdWx0JiBjdXJyZW50Q29vcEVuZm9yY2VtZW50
UmVzdWx0LCBjb25zdCBGdW5jdGlvbjx2b2lkKENPT1BEaXNwb3NpdGlvbiBkaXNwb3NpdGlvbiwg
Y29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIHJlc3BvbnNlQ09PUCwgY29uc3QgU2VjdXJp
dHlPcmlnaW4mIHJlc3BvbnNlT3JpZ2luKT4mIHNlbmRWaW9sYXRpb25SZXBvcnRzKTsKK1dFQkNP
UkVfRVhQT1JUIHN0ZDo6b3B0aW9uYWw8Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZvcmNlbWVu
dFJlc3VsdD4gZG9Dcm9zc09yaWdpbk9wZW5lckhhbmRsaW5nT2ZSZXNwb25zZShjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxOYXZpZ2F0aW9uUmVxdWVzdGVyPiYs
IENvbnRlbnRTZWN1cml0eVBvbGljeSogcmVzcG9uc2VDU1AsIFNhbmRib3hGbGFncyBlZmZlY3Rp
dmVTYW5kYm94RmxhZ3MsIGJvb2wgaXNEaXNwbGF5aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQsIGNv
bnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQmIGN1cnJlbnRDb29w
RW5mb3JjZW1lbnRSZXN1bHQpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDZiZjNhYzI5N2VjNmIyNjNhMDc4
NjQwYmNmM2FkNTc3OWRiMGZlZGIuLjEwMTUyNDU0YjhmNTAxYWFhZDUyYzZkZjgxZmNlODVkOGIz
NzIxMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtODAs
NyArODAsNiBAQAogI2luY2x1ZGUgIlBvbGljeUNoZWNrZXIuaCIKICNpbmNsdWRlICJQcm9ncmVz
c1RyYWNrZXIuaCIKICNpbmNsdWRlICJRdWlya3MuaCIKLSNpbmNsdWRlICJSZXBvcnRpbmdFbmRw
b2ludHNDYWNoZS5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VMb2FkT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgi
CkBAIC02MzUsMTEgKzYzNCw2IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OndpbGxTZW5kUmVxdWVz
dChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdXJjCiAgICAgICAgIERP
Q1VNRU5UTE9BREVSX1JFTEVBU0VfTE9HKCJ3aWxsU2VuZFJlcXVlc3Q6IFdpdGggbm8gcHJvdmlz
aW9uYWwgZG9jdW1lbnQgbG9hZGVyIik7CiAKICAgICBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJl
c3BvbnNlID0gIXJlZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCk7Ci0gICAgaWYgKGRpZFJlY2VpdmVS
ZWRpcmVjdFJlc3BvbnNlICYmIG1fZnJhbWUtPmlzTWFpbkZyYW1lKCkpIHsKLSAgICAgICAgaWYg
KGF1dG8gcmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUgPSBtX2ZyYW1lLT5wYWdlKCkgPyBtX2ZyYW1l
LT5wYWdlKCktPnJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCkgOiBudWxscHRyKQotICAgICAgICAg
ICAgcmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUtPmFkZEVuZHBvaW50c0Zyb21SZXNwb25zZShyZWRp
cmVjdFJlc3BvbnNlKTsKLSAgICB9Ci0KICAgICBpZiAoIWZyYW1lTG9hZGVyKCktPmNoZWNrSWZG
b3JtQWN0aW9uQWxsb3dlZEJ5Q1NQKG5ld1JlcXVlc3QudXJsKCksIGRpZFJlY2VpdmVSZWRpcmVj
dFJlc3BvbnNlLCByZWRpcmVjdFJlc3BvbnNlLnVybCgpKSkgewogICAgICAgICBET0NVTUVOVExP
QURFUl9SRUxFQVNFX0xPRygid2lsbFNlbmRSZXF1ZXN0OiBjYW5jZWxpbmcgLSBmb3JtIGFjdGlv
biBub3QgYWxsb3dlZCBieSBDU1AiKTsKICAgICAgICAgY2FuY2VsTWFpblJlc291cmNlTG9hZChm
cmFtZUxvYWRlcigpLT5jYW5jZWxsZWRFcnJvcihuZXdSZXF1ZXN0KSk7CkBAIC03NTksMTMgKzc1
Myw3IEBAIHN0ZDo6b3B0aW9uYWw8Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lFbmZvcmNlbWVudFJl
c3VsdD4gRG9jdW1lbnRMb2FkZXI6OmRvQ3Jvc3NPCiAKICAgICBhdXRvIGN1cnJlbnRDb29wRW5m
b3JjZW1lbnRSZXN1bHQgPSBDcm9zc09yaWdpbk9wZW5lclBvbGljeUVuZm9yY2VtZW50UmVzdWx0
Ojpmcm9tKG1fZnJhbWUtPmRvY3VtZW50KCktPnVybCgpLCBtX2ZyYW1lLT5kb2N1bWVudCgpLT5z
ZWN1cml0eU9yaWdpbigpLCBtX2ZyYW1lLT5kb2N1bWVudCgpLT5jcm9zc09yaWdpbk9wZW5lclBv
bGljeSgpLCBtX3RyaWdnZXJpbmdBY3Rpb24ucmVxdWVzdGVyKCksIG9wZW5lclVSTCk7CiAKLSAg
ICBhdXRvIG5ld0Nvb3BFbmZvcmNlbWVudFJlc3VsdCA9IFdlYkNvcmU6OmRvQ3Jvc3NPcmlnaW5P
cGVuZXJIYW5kbGluZ09mUmVzcG9uc2UocmVzcG9uc2UsIG1fdHJpZ2dlcmluZ0FjdGlvbi5yZXF1
ZXN0ZXIoKSwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3kuZ2V0KCksIGZyYW1lTG9hZGVyKCktPmVm
ZmVjdGl2ZVNhbmRib3hGbGFncygpLCBmcmFtZUxvYWRlcigpLT5zdGF0ZU1hY2hpbmUoKS5pc0Rp
c3BsYXlpbmdJbml0aWFsRW1wdHlEb2N1bWVudCgpLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVz
dWx0LCBbJl0oQ09PUERpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBjb25zdCBDcm9zc09yaWdpbk9w
ZW5lclBvbGljeSYgcmVzcG9uc2VDT09QLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgcmVzcG9uc2VP
cmlnaW4pIHsKLSAgICAgICAgLy8gRklYTUU6IEFkZCB0aGUgY29uY2VwdCBvZiBicm93c2luZyBj
b250ZXh0IGdyb3VwIGxpa2UgaW4gdGhlIHNwZWNpZmljYXRpb24gaW5zdGVhZCBvZiB0cmVhdGlu
ZyB0aGUgd2hvbGUgcHJvY2VzcyBhcyBhIGdyb3VwLgotICAgICAgICBpZiAoUGFnZTo6bm9uVXRp
bGl0eVBhZ2VDb3VudCgpID4gMSkgewotICAgICAgICAgICAgc2VuZFZpb2xhdGlvblJlcG9ydFdo
ZW5OYXZpZ2F0aW5nVG9DT09QUmVzcG9uc2UoKm1fZnJhbWUsIHJlc3BvbnNlQ09PUCwgZGlzcG9z
aXRpb24sIHJlc3BvbnNlLnVybCgpLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LnVybCwg
cmVzcG9uc2VPcmlnaW4sIGN1cnJlbnRDb29wRW5mb3JjZW1lbnRSZXN1bHQuY3VycmVudE9yaWdp
biwgbV9yZXF1ZXN0Lmh0dHBSZWZlcnJlcigpLCBtX3JlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsK
LSAgICAgICAgICAgIHNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09P
UFJlc3BvbnNlKCptX2ZyYW1lLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LmNyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5LCBkaXNwb3NpdGlvbiwgY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3Vs
dC51cmwsIHJlc3BvbnNlLnVybCgpLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LmN1cnJl
bnRPcmlnaW4sIHJlc3BvbnNlT3JpZ2luLCBjdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0Lmlz
Q3VycmVudENvbnRleHROYXZpZ2F0aW9uU291cmNlLCBtX3JlcXVlc3QuaHR0cFVzZXJBZ2VudCgp
KTsKLSAgICAgICAgfQotICAgIH0pOworICAgIGF1dG8gbmV3Q29vcEVuZm9yY2VtZW50UmVzdWx0
ID0gV2ViQ29yZTo6ZG9Dcm9zc09yaWdpbk9wZW5lckhhbmRsaW5nT2ZSZXNwb25zZShyZXNwb25z
ZSwgbV90cmlnZ2VyaW5nQWN0aW9uLnJlcXVlc3RlcigpLCBtX2NvbnRlbnRTZWN1cml0eVBvbGlj
eS5nZXQoKSwgZnJhbWVMb2FkZXIoKS0+ZWZmZWN0aXZlU2FuZGJveEZsYWdzKCksIGZyYW1lTG9h
ZGVyKCktPnN0YXRlTWFjaGluZSgpLmlzRGlzcGxheWluZ0luaXRpYWxFbXB0eURvY3VtZW50KCks
IGN1cnJlbnRDb29wRW5mb3JjZW1lbnRSZXN1bHQpOwogICAgIGlmICghbmV3Q29vcEVuZm9yY2Vt
ZW50UmVzdWx0KSB7CiAgICAgICAgIGNhbmNlbE1haW5SZXNvdXJjZUxvYWQoZnJhbWVMb2FkZXIo
KS0+Y2FuY2VsbGVkRXJyb3IobV9yZXF1ZXN0KSk7CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CkBAIC05MjQsMTEgKzkxMiw2IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlc3BvbnNlUmVj
ZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIENvbXBsZXRpCiAgICAgaWYg
KHdpbGxMb2FkRmFsbGJhY2spCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX2ZyYW1lLT5p
c01haW5GcmFtZSgpKSB7Ci0gICAgICAgIGlmIChhdXRvIHJlcG9ydGluZ0VuZHBvaW50c0NhY2hl
ID0gbV9mcmFtZS0+cGFnZSgpID8gbV9mcmFtZS0+cGFnZSgpLT5yZXBvcnRpbmdFbmRwb2ludHND
YWNoZSgpIDogbnVsbHB0cikKLSAgICAgICAgICAgIHJlcG9ydGluZ0VuZHBvaW50c0NhY2hlLT5h
ZGRFbmRwb2ludHNGcm9tUmVzcG9uc2UocmVzcG9uc2UpOwotICAgIH0KLQogICAgIEFTU0VSVCht
X2lkZW50aWZpZXJGb3JMb2FkV2l0aG91dFJlc291cmNlTG9hZGVyIHx8IG1fbWFpblJlc291cmNl
KTsKICAgICBSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRpZmllciA9IG1faWRlbnRpZmll
ckZvckxvYWRXaXRob3V0UmVzb3VyY2VMb2FkZXIgPyBtX2lkZW50aWZpZXJGb3JMb2FkV2l0aG91
dFJlc291cmNlTG9hZGVyIDogbV9tYWluUmVzb3VyY2UtPmlkZW50aWZpZXIoKTsKICAgICBBU1NF
UlQoaWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAKaW5kZXggYTQ2
ZTYwMGFiY2FhZWNiNGU4NjlkN2VjMWU3NWY1NWJmYTY2ODYyMy4uNjZlN2EzOTNmMzRjZTM3MmVj
MzBmZmNiNTQ2ODA3N2UxMjM4MThjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1BpbmdMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNw
cApAQCAtNDksNyArNDksNiBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKLSNpbmNsdWRlICJS
ZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZEluZm8uaCIK
QEAgLTI1MCwzMyArMjQ5LDQgQEAgU3RyaW5nIFBpbmdMb2FkZXI6OnNhbml0aXplVVJMRm9yUmVw
b3J0KGNvbnN0IFVSTCYgdXJsKQogICAgIHJldHVybiBzYW5pdGl6ZWRVUkwuc3RyaW5nKCk7CiB9
CiAKLS8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXBvcnRpbmcvI3RyeS1kZWxpdmVyeQotdm9p
ZCBQaW5nTG9hZGVyOjpzZW5kUmVwb3J0VG9FbmRwb2ludChGcmFtZSYgZnJhbWUsIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBjb25zdCBT
dHJpbmcmIHR5cGUsIGNvbnN0IFVSTCYgcmVwb3J0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgY29uc3QgRnVuY3Rpb248dm9pZChKU09OOjpPYmplY3QmKT4mIHBvcHVsYXRlUmVwb3J0Qm9k
eSkKLXsKLSAgICBBU1NFUlQoIWVuZHBvaW50LmlzRW1wdHkoKSk7Ci0gICAgYXV0byByZXBvcnRp
bmdFbmRwb2ludHNDYWNoZSA9IGZyYW1lLnBhZ2UoKSA/IGZyYW1lLnBhZ2UoKS0+cmVwb3J0aW5n
RW5kcG9pbnRzQ2FjaGUoKSA6IG51bGxwdHI7Ci0gICAgaWYgKCFyZXBvcnRpbmdFbmRwb2ludHND
YWNoZSkKLSAgICAgICAgcmV0dXJuOwotICAgIGF1dG8gZW5kcG9pbnRVUkwgPSByZXBvcnRpbmdF
bmRwb2ludHNDYWNoZS0+ZW5kcG9pbnRVUkwob3JpZ2luLCBlbmRwb2ludCk7Ci0gICAgaWYgKCFl
bmRwb2ludFVSTC5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8gYm9keSA9
IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgcG9wdWxhdGVSZXBvcnRCb2R5KGJvZHkpOwot
Ci0gICAgYXV0byByZXBvcnRPYmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwotICAgIHJl
cG9ydE9iamVjdC0+c2V0U3RyaW5nKCJ0eXBlIl9zLCB0eXBlKTsKLSAgICBpZiAocmVwb3J0VVJM
LmlzVmFsaWQoKSkKLSAgICAgICAgcmVwb3J0T2JqZWN0LT5zZXRTdHJpbmcoInVybCJfcywgcmVw
b3J0VVJMLnN0cmluZygpKTsKLSAgICByZXBvcnRPYmplY3QtPnNldFN0cmluZygidXNlcl9hZ2Vu
dCIsIHVzZXJBZ2VudCk7Ci0gICAgcmVwb3J0T2JqZWN0LT5zZXRJbnRlZ2VyKCJhZ2UiLCAwKTsg
Ly8gV2UgY3VycmVudGx5IGRvIG5vdCBkZWxheSBzZW5kaW5nIHRoZSByZXBvcnRzLgotICAgIHJl
cG9ydE9iamVjdC0+c2V0T2JqZWN0KCJib2R5Il9zLCBXVEZNb3ZlKGJvZHkpKTsKLQotICAgIGF1
dG8gcmVwb3J0TGlzdCA9IEpTT046OkFycmF5OjpjcmVhdGUoKTsKLSAgICByZXBvcnRMaXN0LT5w
dXNoT2JqZWN0KHJlcG9ydE9iamVjdCk7Ci0KLSAgICBhdXRvIHJlcG9ydCA9IEZvcm1EYXRhOjpj
cmVhdGUocmVwb3J0TGlzdC0+dG9KU09OU3RyaW5nKCkudXRmOCgpKTsKLSAgICBzZW5kVmlvbGF0
aW9uUmVwb3J0KGZyYW1lLCBlbmRwb2ludFVSTCwgV1RGTW92ZShyZXBvcnQpLCBWaW9sYXRpb25S
ZXBvcnRUeXBlOjpTdGFuZGFyZFJlcG9ydGluZ0FQSVZpb2xhdGlvbik7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IGEyNDhhOTI0
NTM3MzhmMjljOTBiMGFiYTFlZGNkODJjZDI1ZTU3NjMuLmZiZjkxZDhlYTAxMzk1NDFmMzEwNzI5
OGM3OTBkNjBjNGQxY2Y0YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5n
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtNTks
NyArNTksNiBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2VuZFZp
b2xhdGlvblJlcG9ydChGcmFtZSYsIGNvbnN0IFVSTCYgcmVwb3J0VVJMLCBSZWY8Rm9ybURhdGE+
JiYgcmVwb3J0LCBWaW9sYXRpb25SZXBvcnRUeXBlKTsKIAogICAgIHN0YXRpYyBTdHJpbmcgc2Fu
aXRpemVVUkxGb3JSZXBvcnQoY29uc3QgVVJMJik7Ci0gICAgc3RhdGljIHZvaWQgc2VuZFJlcG9y
dFRvRW5kcG9pbnQoRnJhbWUmLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTdHJp
bmcmIGVuZHBvaW50LCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFVSTCYgcmVwb3J0VVJMLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgRnVuY3Rpb248dm9pZChKU09OOjpPYmplY3Qm
KT4mIHBvcHVsYXRlUmVwb3J0Qm9keSk7CiAKIHByaXZhdGU6CiAgICAgZW51bSBjbGFzcyBTaG91
bGRGb2xsb3dSZWRpcmVjdHMgeyBObywgWWVzIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1JlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZWJkNjA1OTRjMTI3YjE0OTA2NWMxMjk5ZDliYTFlYTY0N2M1ZDJiNi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTgyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUmVwb3J0
aW5nRW5kcG9pbnRzQ2FjaGUuaCIKLQotI2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgotI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgot
I2luY2x1ZGUgPHd0Zi9KU09OVmFsdWVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3Ry
dWN0IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjpFbmRwb2ludCB7Ci0gICAgRW5kcG9pbnQoKSA9
IGRlZmF1bHQ7Ci0gICAgRW5kcG9pbnQoVVJMJiYsIFNlY29uZHMgbWF4QWdlKTsKLQotICAgIGJv
b2wgaGFzRXhwaXJlZCgpIGNvbnN0OwotCi0gICAgVVJMIHVybDsKLSAgICBNb25vdG9uaWNUaW1l
IGFkZFRpbWU7Ci0gICAgU2Vjb25kcyBtYXhBZ2U7Ci19OwotCi1SZXBvcnRpbmdFbmRwb2ludHND
YWNoZTo6RW5kcG9pbnQ6OkVuZHBvaW50KFVSTCYmIHVybCwgU2Vjb25kcyBtYXhBZ2UpCi0gICAg
OiB1cmwoV1RGTW92ZSh1cmwpKQotICAgICwgYWRkVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkK
LSAgICAsIG1heEFnZShtYXhBZ2UpCi17Ci19Ci0KLWJvb2wgUmVwb3J0aW5nRW5kcG9pbnRzQ2Fj
aGU6OkVuZHBvaW50OjpoYXNFeHBpcmVkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gTW9ub3Rvbmlj
VGltZTo6bm93KCkgLSBhZGRUaW1lID4gbWF4QWdlOwotfQotCi1SZWY8UmVwb3J0aW5nRW5kcG9p
bnRzQ2FjaGU+IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOjpjcmVhdGUoKQotewotICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKTsKLX0KLQotUmVwb3J0aW5n
RW5kcG9pbnRzQ2FjaGU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCkgPSBkZWZhdWx0OwotUmVw
b3J0aW5nRW5kcG9pbnRzQ2FjaGU6On5SZXBvcnRpbmdFbmRwb2ludHNDYWNoZSgpID0gZGVmYXVs
dDsKLQotLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3JlcG9ydGluZy8jcHJvY2Vzcy1oZWFkZXIK
LXZvaWQgUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGU6OmFkZEVuZHBvaW50c0Zyb21SZXNwb25zZShj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKLXsKLSAgICByZXR1cm4gYWRkRW5kcG9p
bnRzRnJvbVJlcG9ydFRvSGVhZGVyKHJlc3BvbnNlLnVybCgpLCByZXNwb25zZS5odHRwSGVhZGVy
RmllbGQoSFRUUEhlYWRlck5hbWU6OlJlcG9ydFRvKSk7Ci19Ci0KLXZvaWQgUmVwb3J0aW5nRW5k
cG9pbnRzQ2FjaGU6OmFkZEVuZHBvaW50c0Zyb21SZXBvcnRUb0hlYWRlcihjb25zdCBVUkwmIHJl
c3BvbnNlVVJMLCBjb25zdCBTdHJpbmcmIHJlcG9ydFRvSGVhZGVyVmFsdWUpCi17Ci0gICAgaWYg
KHJlcG9ydFRvSGVhZGVyVmFsdWUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBh
dXRvIHNlY3VyaXR5T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZVVSTCk7
Ci0gICAgaWYgKHNlY3VyaXR5T3JpZ2luLT5pc1VuaXF1ZSgpIHx8ICFzZWN1cml0eU9yaWdpbi0+
aXNQb3RlbnRpYWxseVRydXN0d29ydGh5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8g
ZmluZE5leHRUb3BMZXZlbENvbW1hID0gWyZyZXBvcnRUb0hlYWRlclZhbHVlXShzaXplX3Qgc3Rh
cnRJbmRleCkgewotICAgICAgICB1bnNpZ25lZCBkZXB0aCA9IDA7Ci0gICAgICAgIGZvciAoc2l6
ZV90IGkgPSBzdGFydEluZGV4OyBpIDwgcmVwb3J0VG9IZWFkZXJWYWx1ZS5sZW5ndGgoKTsgKytp
KSB7Ci0gICAgICAgICAgICBhdXRvIGMgPSByZXBvcnRUb0hlYWRlclZhbHVlW2ldOwotICAgICAg
ICAgICAgaWYgKGMgPT0gJ3snKQotICAgICAgICAgICAgICAgICsrZGVwdGg7Ci0gICAgICAgICAg
ICBlbHNlIGlmIChjID09ICd9JykgewotICAgICAgICAgICAgICAgIGlmICghZGVwdGgpCi0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIC0tZGVwdGg7Ci0gICAgICAg
ICAgICB9IGVsc2UgaWYgKGMgPT0gJywnICYmICFkZXB0aCkKLSAgICAgICAgICAgICAgICByZXR1
cm4gaTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gbm90Rm91bmQ7Ci0gICAgfTsKLSAgICBz
aXplX3QgZGljdGlvbmFyeVN0YXJ0ID0gMDsKLSAgICB3aGlsZSAoZGljdGlvbmFyeVN0YXJ0IDwg
cmVwb3J0VG9IZWFkZXJWYWx1ZS5sZW5ndGgoKSkgewotICAgICAgICBhdXRvIGluZGV4T2ZOZXh0
VG9wTGV2ZWxDb21tYSA9IGZpbmROZXh0VG9wTGV2ZWxDb21tYShkaWN0aW9uYXJ5U3RhcnQpOwot
ICAgICAgICBpZiAoaW5kZXhPZk5leHRUb3BMZXZlbENvbW1hID09IG5vdEZvdW5kKSB7Ci0gICAg
ICAgICAgICBhZGRFbmRwb2ludEZyb21EaWN0aW9uYXJ5KHNlY3VyaXR5T3JpZ2luLT5kYXRhKCks
IHJlc3BvbnNlVVJMLCByZXBvcnRUb0hlYWRlclZhbHVlLnN1YnN0cmluZyhkaWN0aW9uYXJ5U3Rh
cnQpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGFkZEVuZHBvaW50
RnJvbURpY3Rpb25hcnkoc2VjdXJpdHlPcmlnaW4tPmRhdGEoKSwgcmVzcG9uc2VVUkwsIHJlcG9y
dFRvSGVhZGVyVmFsdWUuc3Vic3RyaW5nKGRpY3Rpb25hcnlTdGFydCwgaW5kZXhPZk5leHRUb3BM
ZXZlbENvbW1hIC0gZGljdGlvbmFyeVN0YXJ0KSk7Ci0gICAgICAgIGRpY3Rpb25hcnlTdGFydCA9
IGluZGV4T2ZOZXh0VG9wTGV2ZWxDb21tYSArIDE7Ci0gICAgfQotfQotCi0vLyBodHRwczovL3d3
dy53My5vcmcvVFIvcmVwb3J0aW5nLyNwcm9jZXNzLWhlYWRlcgotdm9pZCBSZXBvcnRpbmdFbmRw
b2ludHNDYWNoZTo6YWRkRW5kcG9pbnRGcm9tRGljdGlvbmFyeShjb25zdCBTZWN1cml0eU9yaWdp
bkRhdGEmIHNlY3VyaXR5T3JpZ2luLCBjb25zdCBVUkwmIHJlc3BvbnNlVVJMLCBTdHJpbmdWaWV3
IGRpY3Rpb25hcnlTdHJpbmcpCi17Ci0gICAgYXV0byBqc29uID0gSlNPTjo6VmFsdWU6OnBhcnNl
SlNPTihkaWN0aW9uYXJ5U3RyaW5nLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSk7Ci0gICAgaWYg
KCFqc29uKQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvIGpzb25EaWN0aW9uYXJ5ID0ganNv
bi0+YXNPYmplY3QoKTsKLSAgICBpZiAoIWpzb25EaWN0aW9uYXJ5KQotICAgICAgICByZXR1cm47
Ci0KLSAgICBhdXRvIGdyb3VwID0ganNvbkRpY3Rpb25hcnktPmdldFN0cmluZygiZ3JvdXAiX3Mp
OwotICAgIGlmIChncm91cC5pc0VtcHR5KCkpCi0gICAgICAgIGdyb3VwID0gImRlZmF1bHQiX3M7
Ci0KLSAgICBhdXRvIG1heEFnZSA9IGpzb25EaWN0aW9uYXJ5LT5nZXRJbnRlZ2VyKCJtYXhfYWdl
Iik7Ci0gICAgaWYgKCFtYXhBZ2UgfHwgKm1heEFnZSA8IDApCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmICghKm1heEFnZSkgewotICAgICAgICAvLyBBIHZhbHVlIG9mIDAgaW5kaWNhdGVzIHdl
IHNob3VsZCByZW1vdmUgdGhlIGdyb3VwIGZyb20gdGhlIGNhY2hlLgotICAgICAgICBhdXRvIGl0
ID0gbV9lbmRwb2ludHNQZXJPcmlnaW4uZmluZChzZWN1cml0eU9yaWdpbik7Ci0gICAgICAgIGlm
IChpdCA9PSBtX2VuZHBvaW50c1Blck9yaWdpbi5lbmQoKSkKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgaXQtPnZhbHVlLnJlbW92ZShncm91cCk7Ci0gICAgICAgIGlmIChpdC0+dmFsdWUu
aXNFbXB0eSgpKQotICAgICAgICAgICAgbV9lbmRwb2ludHNQZXJPcmlnaW4ucmVtb3ZlKGl0KTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGF1dG8gZW5kcG9pbnRzID0ganNvbkRpY3Rp
b25hcnktPmdldEFycmF5KCJlbmRwb2ludHMiX3MpOwotICAgIGlmICghZW5kcG9pbnRzIHx8ICFl
bmRwb2ludHMtPmxlbmd0aCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGVuZHBvaW50cy0+bGVuZ3RoKCk7ICsraSkgewotICAgICAgICBhdXRvIGVuZHBv
aW50ID0gZW5kcG9pbnRzLT5nZXQoaSktPmFzT2JqZWN0KCk7Ci0gICAgICAgIGlmICghZW5kcG9p
bnQpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBhdXRvIGVuZHBvaW50VVJMU3Ry
aW5nID0gZW5kcG9pbnQtPmdldFN0cmluZygidXJsIl9zKTsKLSAgICAgICAgaWYgKGVuZHBvaW50
VVJMU3RyaW5nLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGF1
dG8gZW5kcG9pbnRVUkwgPSBVUkwocmVzcG9uc2VVUkwsIGVuZHBvaW50VVJMU3RyaW5nKTsKLSAg
ICAgICAgaWYgKCFlbmRwb2ludFVSTC5pc1ZhbGlkKCkpCi0gICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICBhdXRvJiBlbmRwb2ludHNGb3JPcmlnaW4gPSBtX2VuZHBvaW50c1Blck9yaWdp
bi5lbnN1cmUoc2VjdXJpdHlPcmlnaW4sIFtdIHsKLSAgICAgICAgICAgIHJldHVybiBIYXNoTWFw
PFN0cmluZywgRW5kcG9pbnQ+IHsgfTsKLSAgICAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwotICAg
ICAgICBlbmRwb2ludHNGb3JPcmlnaW4uYWRkKFdURk1vdmUoZ3JvdXApLCBFbmRwb2ludChXVEZN
b3ZlKGVuZHBvaW50VVJMKSwgU2Vjb25kcyB7IHN0YXRpY19jYXN0PGRvdWJsZT4oKm1heEFnZSkg
fSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotfQotCi1VUkwgUmVwb3J0aW5nRW5kcG9pbnRz
Q2FjaGU6OmVuZHBvaW50VVJMKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgb3JpZ2luLCBjb25z
dCBTdHJpbmcmIGdyb3VwKSBjb25zdAotewotICAgIGF1dG8gb3V0ZXJJdGVyYXRvciA9IG1fZW5k
cG9pbnRzUGVyT3JpZ2luLmZpbmQob3JpZ2luKTsKLSAgICBpZiAob3V0ZXJJdGVyYXRvciA9PSBt
X2VuZHBvaW50c1Blck9yaWdpbi5lbmQoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICBhdXRv
JiBlbmRwb2ludHNGb3JPcmlnaW4gPSBvdXRlckl0ZXJhdG9yLT52YWx1ZTsKLSAgICBhdXRvIGlu
bmVySXRlcmF0b3IgPSBlbmRwb2ludHNGb3JPcmlnaW4uZmluZChncm91cCk7Ci0gICAgaWYgKGlu
bmVySXRlcmF0b3IgPT0gZW5kcG9pbnRzRm9yT3JpZ2luLmVuZCgpKQotICAgICAgICByZXR1cm4g
eyB9OwotICAgIGlmIChpbm5lckl0ZXJhdG9yLT52YWx1ZS5oYXNFeHBpcmVkKCkpIHsKLSAgICAg
ICAgZW5kcG9pbnRzRm9yT3JpZ2luLnJlbW92ZShpbm5lckl0ZXJhdG9yKTsKLSAgICAgICAgaWYg
KGVuZHBvaW50c0Zvck9yaWdpbi5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX2VuZHBvaW50c1Bl
ck9yaWdpbi5yZW1vdmUob3V0ZXJJdGVyYXRvcik7Ci0gICAgICAgIHJldHVybiB7IH07Ci0gICAg
fQotICAgIHJldHVybiBpbm5lckl0ZXJhdG9yLT52YWx1ZS51cmw7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXBvcnRpbmdF
bmRwb2ludHNDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1JlcG9ydGluZ0VuZHBvaW50
c0NhY2hlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllYTE2NGRhMDk1OTU3YTg3
NjJmZmE3NTZkNWM1YWEzYzAwNjBlMzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1JlcG9ydGluZ0VuZHBvaW50c0Nh
Y2hlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKLSNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVVJMSGFzaC5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci0KLS8vIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9yZXBvcnRpbmcvI2NvbmNlcHQtc3RvcmFnZQotY2xhc3MgUmVwb3J0aW5nRW5kcG9pbnRz
Q2FjaGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZXBvcnRpbmdFbmRwb2ludHNDYWNoZT4gewotICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBSZWY8UmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGU+IGNyZWF0ZSgpOwotICAgIFdFQkNPUkVf
RVhQT1JUIH5SZXBvcnRpbmdFbmRwb2ludHNDYWNoZSgpOwotCi0gICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBhZGRFbmRwb2ludHNGcm9tUmVwb3J0VG9IZWFkZXIoY29uc3QgVVJMJiwgY29uc3QgU3Ry
aW5nJik7Ci0gICAgdm9pZCBhZGRFbmRwb2ludHNGcm9tUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYpOwotICAgIFVSTCBlbmRwb2ludFVSTChjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
LCBjb25zdCBTdHJpbmcmIGdyb3VwKSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBSZXBvcnRpbmdF
bmRwb2ludHNDYWNoZSgpOwotICAgIHZvaWQgYWRkRW5kcG9pbnRGcm9tRGljdGlvbmFyeShjb25z
dCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBVUkwmIHJlc3BvbnNlVVJMLCBTdHJpbmdWaWV3
KTsKLQotICAgIHN0cnVjdCBFbmRwb2ludDsKLSAgICBtdXRhYmxlIEhhc2hNYXA8U2VjdXJpdHlP
cmlnaW5EYXRhLCBIYXNoTWFwPFN0cmluZywgRW5kcG9pbnQ+PiBtX2VuZHBvaW50c1Blck9yaWdp
bjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDNm
YjJiNjdjZjJiNTQ5ZDI0YTgzNzlmODE4NDI2MjkzOTliMWFmYjEuLjhhZWNiYTY0MTM4ODcwMDZj
Y2EzOTY4N2RlY2IyMWU5OTE2ODRhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTIyLDcgKzEy
Miw2IEBACiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5o
IgogI2luY2x1ZGUgIlJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5oIgotI2luY2x1ZGUgIlJlcG9y
dGluZ0VuZHBvaW50c0NhY2hlLmgiCiAjaW5jbHVkZSAiUmVzaXplT2JzZXJ2ZXIuaCIKICNpbmNs
dWRlICJSZXNvdXJjZVVzYWdlT3ZlcmxheS5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaCIKQEAgLTM0MSw3ICszNDAsNiBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9u
JiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tp
ZUJsb2NraW5nKHBhZ2VDb25maWd1cmF0aW9uLnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJs
b2NraW5nKQogICAgICwgbV9odHRwc1VwZ3JhZGVFbmFibGVkKHBhZ2VDb25maWd1cmF0aW9uLmh0
dHBzVXBncmFkZUVuYWJsZWQpCiAgICAgLCBtX3Blcm1pc3Npb25Db250cm9sbGVyKFdURk1vdmUo
cGFnZUNvbmZpZ3VyYXRpb24ucGVybWlzc2lvbkNvbnRyb2xsZXIpKQotICAgICwgbV9yZXBvcnRp
bmdFbmRwb2ludHNDYWNoZShXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnJlcG9ydGluZ0VuZHBv
aW50c0NhY2hlKSkKICAgICAsIG1fc3RvcmFnZVByb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3Vy
YXRpb24uc3RvcmFnZVByb3ZpZGVyKSkKICAgICAsIG1fbW9kZWxQbGF5ZXJQcm92aWRlcihXVEZN
b3ZlKHBhZ2VDb25maWd1cmF0aW9uLm1vZGVsUGxheWVyUHJvdmlkZXIpKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAppbmRleCBkNmQ1YWUyYzU2NjQ0ZTI1Mzg5OGEwNGEwZjljYjNjY2FhNTM2YWYyLi44Y2ZlYTFh
ZGY5MTdkMzllODM4MDBiYTI4NDcxMjQ4MGFhNDg2ODIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTQ1
LDcgKzE0NSw2IEBAIGNsYXNzIFBvaW50ZXJDYXB0dXJlQ29udHJvbGxlcjsKIGNsYXNzIFBvaW50
ZXJMb2NrQ29udHJvbGxlcjsKIGNsYXNzIFByb2dyZXNzVHJhY2tlcjsKIGNsYXNzIFJlbmRlck9i
amVjdDsKLWNsYXNzIFJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOwogY2xhc3MgUmVzb3VyY2VVc2Fn
ZU92ZXJsYXk7CiBjbGFzcyBSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI7CiBjbGFzcyBTY3JvbGxM
YXRjaGluZ0NvbnRyb2xsZXI7CkBAIC0zMjAsOCArMzE5LDYgQEAgcHVibGljOgogICAgIHZvaWQg
cmVtb3RlSW5zcGVjdG9ySW5mb3JtYXRpb25EaWRDaGFuZ2UoKSBjb25zdDsKICNlbmRpZgogCi0g
ICAgUmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUqIHJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCkgeyBy
ZXR1cm4gbV9yZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5nZXQoKTsgfQotCiAgICAgQ2hyb21lJiBj
aHJvbWUoKSBjb25zdCB7IHJldHVybiAqbV9jaHJvbWU7IH0KICAgICBEcmFnQ2FyZXRDb250cm9s
bGVyJiBkcmFnQ2FyZXRDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gKm1fZHJhZ0NhcmV0Q29u
dHJvbGxlcjsgfQogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCkBAIC0xMjY4LDcgKzEyNjUsNiBA
QCBwcml2YXRlOgogICAgIG11dGFibGUgTWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyIG1fbWVk
aWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyOwogCiAgICAgUmVmPFBlcm1pc3Npb25Db250cm9sbGVy
PiBtX3Blcm1pc3Npb25Db250cm9sbGVyOwotICAgIFJlZlB0cjxSZXBvcnRpbmdFbmRwb2ludHND
YWNoZT4gbV9yZXBvcnRpbmdFbmRwb2ludHNDYWNoZTsKICAgICBVbmlxdWVSZWY8U3RvcmFnZVBy
b3ZpZGVyPiBtX3N0b3JhZ2VQcm92aWRlcjsKICAgICBVbmlxdWVSZWY8TW9kZWxQbGF5ZXJQcm92
aWRlcj4gbV9tb2RlbFBsYXllclByb3ZpZGVyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uY3BwCmluZGV4IGFlNDI3YjdkMmNmZTdiMjIyYTU1ZDg1ZTk4MThiMDQ0Nzg1
NGNjYzYuLmMyMTY1ZmNmNzE4MzAwMDc5ZWEyZTE2NDU0YjRlYTIzMDk3N2I4ZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC00NCw3ICs0NCw2IEBACiAj
aW5jbHVkZSAiUGVybWlzc2lvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbHVnaW5JbmZvUHJv
dmlkZXIuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCIKLSNpbmNsdWRlICJS
ZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5oIgogI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCiAj
aW5jbHVkZSAiU3BlZWNoUmVjb2duaXRpb25Qcm92aWRlci5oIgogI2luY2x1ZGUgIlNwZWVjaFN5
bnRoZXNpc0NsaWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29u
ZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCmlu
ZGV4IDFlNmE4ODBjNzYxN2ZkZWEzOGNiMTAxZmMyM2I3NTY2MzkxZDFjMmQuLjYwYWZkNzE5ZWZi
OTA3MTExYmNiZTI0MmI2ZjRhMWY0ZDc4NGYwN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmgKQEAgLTY3LDcgKzY3LDYgQEAgY2xhc3MgUGVyZm9ybWFuY2VMb2dnaW5n
Q2xpZW50OwogY2xhc3MgUGVybWlzc2lvbkNvbnRyb2xsZXI7CiBjbGFzcyBQbHVnaW5JbmZvUHJv
dmlkZXI7CiBjbGFzcyBQcm9ncmVzc1RyYWNrZXJDbGllbnQ7Ci1jbGFzcyBSZXBvcnRpbmdFbmRw
b2ludHNDYWNoZTsKIGNsYXNzIFNvY2tldFByb3ZpZGVyOwogY2xhc3MgU3BlZWNoUmVjb2duaXRp
b25Qcm92aWRlcjsKIGNsYXNzIFNwZWVjaFN5bnRoZXNpc0NsaWVudDsKQEAgLTE0MSw3ICsxNDAs
NiBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPFVzZXJDb250ZW50VVJMUGF0dGVybj4gY29yc0Rpc2Fi
bGluZ1BhdHRlcm5zOwogICAgIFVuaXF1ZVJlZjxTcGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyPiBz
cGVlY2hSZWNvZ25pdGlvblByb3ZpZGVyOwogICAgIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJv
dmlkZXI+IG1lZGlhUmVjb3JkZXJQcm92aWRlcjsKLSAgICBSZWZQdHI8UmVwb3J0aW5nRW5kcG9p
bnRzQ2FjaGU+IHJlcG9ydGluZ0VuZHBvaW50c0NhY2hlOwogCiAgICAgLy8gRklYTUU6IFRoZXNl
IHNob3VsZCBiZSBhbGwgYmUgU2V0dGluZ3MuCiAgICAgYm9vbCBsb2Fkc1N1YnJlc291cmNlcyB7
IHRydWUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xv
YWRDaGVja2VyLmNwcAppbmRleCBkODRjZmNmMGFiZDExZTc1MTkxODgwNmRiNjRhMTQ5MWJjNTY3
ZjdjLi42NzIzMGRlZTA1ZTQ0M2EzZjQ1ODdkOWQ3N2Q3NzA4Zjc0YzgyOWQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCkBA
IC0xNjUsMTcgKzE2NSw5IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJlc291cmNlRXJyb3I+IHBl
cmZvcm1DT1JQQ2hlY2soY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvCiAgICAgaWYgKGF1dG8g
ZXJyb3IgPSB2YWxpZGF0ZUNyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3koQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeVZhbHVlOjpVbnNhZmVOb25lLCBlbWJlZGRlck9yaWdpbiwgdXJsLCByZXNwb25z
ZSwgZm9yTmF2aWdhdGlvbikpCiAgICAgICAgIHJldHVybiBlcnJvcjsKIAotICAgIGlmIChlbWJl
ZGRlckNPRVAucmVwb3J0T25seVZhbHVlID09IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1
ZTo6UmVxdWlyZUNPUlAgJiYgIWVtYmVkZGVyQ09FUC5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9p
bnQuaXNFbXB0eSgpICYmIGxvYWRlcikgewotICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlk
YXRlQ3Jvc3NPcmlnaW5SZXNvdXJjZVBvbGljeShlbWJlZGRlckNPRVAucmVwb3J0T25seVZhbHVl
LCBlbWJlZGRlck9yaWdpbiwgdXJsLCByZXNwb25zZSwgZm9yTmF2aWdhdGlvbikpCi0gICAgICAg
ICAgICBsb2FkZXItPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNlbmRDT0VQQ09SUFZpb2xhdGlv
biB7IGxvYWRlci0+ZnJhbWVJRCgpLCBlbWJlZGRlck9yaWdpbi5kYXRhKCksIGVtYmVkZGVyQ09F
UC5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQsIENPRVBEaXNwb3NpdGlvbjo6UmVwb3J0aW5n
LCBsb2FkZXItPnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uLCBsb2FkZXItPmZpcnN0
UmVzcG9uc2VVUkwoKSB9LCBsb2FkZXItPnBhZ2VJRCgpKTsKLSAgICB9Ci0KICAgICBpZiAoZW1i
ZWRkZXJDT0VQLnZhbHVlID09IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1ZTo6UmVxdWly
ZUNPUlApIHsKLSAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSB2YWxpZGF0ZUNyb3NzT3JpZ2luUmVz
b3VyY2VQb2xpY3koZW1iZWRkZXJDT0VQLnZhbHVlLCBlbWJlZGRlck9yaWdpbiwgdXJsLCByZXNw
b25zZSwgZm9yTmF2aWdhdGlvbikpIHsKLSAgICAgICAgICAgIGlmIChsb2FkZXIgJiYgIWVtYmVk
ZGVyQ09FUC5yZXBvcnRpbmdFbmRwb2ludC5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgbG9h
ZGVyLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZW5kQ09FUENPUlBWaW9sYXRpb24geyBsb2Fk
ZXItPmZyYW1lSUQoKSwgZW1iZWRkZXJPcmlnaW4uZGF0YSgpLCBlbWJlZGRlckNPRVAucmVwb3J0
aW5nRW5kcG9pbnQsIENPRVBEaXNwb3NpdGlvbjo6RW5mb3JjZSwgbG9hZGVyLT5wYXJhbWV0ZXJz
KCkub3B0aW9ucy5kZXN0aW5hdGlvbiwgbG9hZGVyLT5maXJzdFJlc3BvbnNlVVJMKCkgfSwgbG9h
ZGVyLT5wYWdlSUQoKSk7CisgICAgICAgIGlmIChhdXRvIGVycm9yID0gdmFsaWRhdGVDcm9zc09y
aWdpblJlc291cmNlUG9saWN5KGVtYmVkZGVyQ09FUC52YWx1ZSwgZW1iZWRkZXJPcmlnaW4sIHVy
bCwgcmVzcG9uc2UsIGZvck5hdmlnYXRpb24pKQogICAgICAgICAgICAgcmV0dXJuIGVycm9yOwot
ICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAK
aW5kZXggMzZhY2M2MzE0NWY0MDViMTk1NWQzMzU0MGRhYTcwOGY5YTYyOTM0MS4uNDk1ZmQ3N2Nk
YjhkODUwMjg0OWQ2Y2ZkNjEyM2RjZjNiMjI3NzUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNjIyLDE2
ICs2MjIsMTAgQEAgYm9vbCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnNob3VsZEludGVycnVwdE5h
dmlnYXRpb25Gb3JDcm9zc09yaWdpbkVtYmVkZGVyUG9saWMKICAgICAvLyBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9vcmlnaW4uaHRtbCNjaGVjay1hLW5hdmlnYXRpb24t
cmVzcG9uc2Uncy1hZGhlcmVuY2UtdG8taXRzLWVtYmVkZGVyLXBvbGljeQogICAgIGlmIChtX3Bh
cmFtZXRlcnMucGFyZW50Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS52YWx1ZSA9PSBXZWJDb3Jl
OjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5VmFsdWU6OlJlcXVpcmVDT1JQIHx8IG1fcGFyYW1l
dGVycy5wYXJlbnRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnJlcG9ydE9ubHlWYWx1ZSA9PSBX
ZWJDb3JlOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5VmFsdWU6OlJlcXVpcmVDT1JQKSB7CiAg
ICAgICAgIGF1dG8gcmVzcG9uc2VDT0VQID0gV2ViQ29yZTo6b2J0YWluQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeShyZXNwb25zZSwgbnVsbHB0cik7Ci0gICAgICAgIGlmIChtX3BhcmFtZXRlcnMu
cGFyZW50Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5yZXBvcnRPbmx5VmFsdWUgPT0gV2ViQ29y
ZTo6Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeVZhbHVlOjpSZXF1aXJlQ09SUCAmJiByZXNwb25z
ZUNPRVAudmFsdWUgIT0gV2ViQ29yZTo6Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeVZhbHVlOjpS
ZXF1aXJlQ09SUCkgewotICAgICAgICAgICAgaWYgKGF1dG8gcGFyZW50T3JpZ2luID0gbV9wYXJh
bWV0ZXJzLnBhcmVudE9yaWdpbigpOyBwYXJlbnRPcmlnaW4gJiYgIW1fcGFyYW1ldGVycy5wYXJl
bnRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnJlcG9ydE9ubHlSZXBvcnRpbmdFbmRwb2ludC5p
c0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2VuZENP
RVBQb2xpY3lJbmhlcml0ZW5jZVZpb2xhdGlvbiB7IG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBw
YXJlbnRPcmlnaW4tPmRhdGEoKSwgbV9wYXJhbWV0ZXJzLnBhcmVudENyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3kucmVwb3J0T25seVJlcG9ydGluZ0VuZHBvaW50LCBDT0VQRGlzcG9zaXRpb246OlJl
cG9ydGluZywgIm5hdmlnYXRpb24iX3MsIG1fZmlyc3RSZXNwb25zZVVSTCB9LCBtX3BhcmFtZXRl
cnMud2ViUGFnZUlEKTsKLSAgICAgICAgfQogCiAgICAgICAgIGlmIChtX3BhcmFtZXRlcnMucGFy
ZW50Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS52YWx1ZSAhPSBXZWJDb3JlOjpDcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5VmFsdWU6OlVuc2FmZU5vbmUgJiYgcmVzcG9uc2VDT0VQLnZhbHVlICE9
IFdlYkNvcmU6OkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1ZTo6UmVxdWlyZUNPUlApIHsK
ICAgICAgICAgICAgIFN0cmluZyBlcnJvck1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJSZWZ1c2VkIHRv
IGRpc3BsYXkgJyIsIHJlc3BvbnNlLnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0
aCgpLCAiJyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGlj
eS4iKTsKICAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkFkZENvbnNvbGVNZXNz
YWdlIHsgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsICBNZXNzYWdlU291cmNlOjpTZWN1cml0eSwg
TWVzc2FnZUxldmVsOjpFcnJvciwgZXJyb3JNZXNzYWdlLCBjb3JlSWRlbnRpZmllcigpIH0sIG1f
cGFyYW1ldGVycy53ZWJQYWdlSUQpOwotICAgICAgICAgICAgaWYgKGF1dG8gcGFyZW50T3JpZ2lu
ID0gbV9wYXJhbWV0ZXJzLnBhcmVudE9yaWdpbigpOyBwYXJlbnRPcmlnaW4gJiYgIW1fcGFyYW1l
dGVycy5wYXJlbnRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnJlcG9ydGluZ0VuZHBvaW50Lmlz
RW1wdHkoKSkKLSAgICAgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZW5kQ09F
UFBvbGljeUluaGVyaXRlbmNlVmlvbGF0aW9uIHsgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIHBh
cmVudE9yaWdpbi0+ZGF0YSgpLCBtX3BhcmFtZXRlcnMucGFyZW50Q3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeS5yZXBvcnRpbmdFbmRwb2ludCwgQ09FUERpc3Bvc2l0aW9uOjpFbmZvcmNlLCAibmF2
aWdhdGlvbiJfcywgbV9maXJzdFJlc3BvbnNlVVJMIH0sIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQp
OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAgICB9CkBAIC02NDcsMTYg
KzY0MSwxMCBAQCBib29sIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0V29y
a2VyTG9hZEZvckNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpYwogCiAgICAgaWYgKG1fcGFyYW1ldGVy
cy5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnZhbHVlID09IFdlYkNvcmU6OkNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3lWYWx1ZTo6UmVxdWlyZUNPUlAgfHwgbV9wYXJhbWV0ZXJzLmNyb3NzT3Jp
Z2luRW1iZWRkZXJQb2xpY3kucmVwb3J0T25seVZhbHVlID09IFdlYkNvcmU6OkNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3lWYWx1ZTo6UmVxdWlyZUNPUlApIHsKICAgICAgICAgYXV0byByZXNwb25z
ZUNPRVAgPSBXZWJDb3JlOjpvYnRhaW5Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KHJlc3BvbnNl
LCBudWxscHRyKTsKLSAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5jcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5LnJlcG9ydE9ubHlWYWx1ZSA9PSBXZWJDb3JlOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5VmFsdWU6OlJlcXVpcmVDT1JQICYmIHJlc3BvbnNlQ09FUC52YWx1ZSA9PSBXZWJDb3JlOjpD
cm9zc09yaWdpbkVtYmVkZGVyUG9saWN5VmFsdWU6OlVuc2FmZU5vbmUpIHsKLSAgICAgICAgICAg
IGlmIChtX3BhcmFtZXRlcnMuc291cmNlT3JpZ2luICYmICFtX3BhcmFtZXRlcnMuY3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeS5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQuaXNFbXB0eSgpKQot
ICAgICAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNlbmRDT0VQUG9saWN5SW5o
ZXJpdGVuY2VWaW9sYXRpb24geyBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9wYXJhbWV0ZXJz
LnNvdXJjZU9yaWdpbi0+ZGF0YSgpLCBtX3BhcmFtZXRlcnMuY3Jvc3NPcmlnaW5FbWJlZGRlclBv
bGljeS5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQsIENPRVBEaXNwb3NpdGlvbjo6UmVwb3J0
aW5nLCAid29ya2VyIGluaXRpYWxpemF0aW9uIl9zLCBtX2ZpcnN0UmVzcG9uc2VVUkwgfSwgbV9w
YXJhbWV0ZXJzLndlYlBhZ2VJRCk7Ci0gICAgICAgIH0KIAogICAgICAgICBpZiAobV9wYXJhbWV0
ZXJzLmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kudmFsdWUgPT0gV2ViQ29yZTo6Q3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeVZhbHVlOjpSZXF1aXJlQ09SUCAmJiByZXNwb25zZUNPRVAudmFsdWUg
PT0gV2ViQ29yZTo6Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeVZhbHVlOjpVbnNhZmVOb25lKSB7
CiAgICAgICAgICAgICBTdHJpbmcgZXJyb3JNZXNzYWdlID0gbWFrZVN0cmluZygiUmVmdXNlZCB0
byBsb2FkICciLCByZXNwb25zZS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgo
KSwgIicgd29ya2VyIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4iKTsK
ICAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkFkZENvbnNvbGVNZXNzYWdlIHsg
bV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsICBNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgZXJyb3JNZXNzYWdlLCBjb3JlSWRlbnRpZmllcigpIH0sIG1fcGFyYW1l
dGVycy53ZWJQYWdlSUQpOwotICAgICAgICAgICAgaWYgKG1fcGFyYW1ldGVycy5zb3VyY2VPcmln
aW4gJiYgIW1fcGFyYW1ldGVycy5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LnJlcG9ydGluZ0Vu
ZHBvaW50LmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
OjpTZW5kQ09FUFBvbGljeUluaGVyaXRlbmNlVmlvbGF0aW9uIHsgbV9wYXJhbWV0ZXJzLndlYkZy
YW1lSUQsIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4tPmRhdGEoKSwgbV9wYXJhbWV0ZXJzLmNy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kucmVwb3J0aW5nRW5kcG9pbnQsIENPRVBEaXNwb3NpdGlv
bjo6RW5mb3JjZSwgIndvcmtlciBpbml0aWFsaXphdGlvbiJfcywgbV9maXJzdFJlc3BvbnNlVVJM
IH0sIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIH0KICAgICB9CkBAIC02ODUsMTIgKzY3Myw3IEBAIHN0ZDo6b3B0aW9uYWw8UmVzb3Vy
Y2VFcnJvcj4gTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkb0Nyb3NzT3JpZ2luT3BlbmVySGFuZGxp
bmdPCiAgICAgICAgIG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCA9IENyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5RW5mb3JjZW1lbnRSZXN1bHQ6OmZyb20obV9wYXJhbWV0ZXJzLmRvY3VtZW50
VVJMLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbiksIG1fcGFyYW1ldGVycy5zb3VyY2VDcm9zc09yaWdp
bk9wZW5lclBvbGljeSwgbV9wYXJhbWV0ZXJzLm5hdmlnYXRpb25SZXF1ZXN0ZXIsIG1fcGFyYW1l
dGVycy5vcGVuZXJVUkwpOwogICAgIH0KIAotICAgIG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJl
c3VsdCA9IFdlYkNvcmU6OmRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9uc2UocmVz
cG9uc2UsIG1fcGFyYW1ldGVycy5uYXZpZ2F0aW9uUmVxdWVzdGVyLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3kuZ2V0KCksIG1fcGFyYW1ldGVycy5lZmZlY3RpdmVTYW5kYm94RmxhZ3MsIG1fcGFyYW1l
dGVycy5pc0Rpc3BsYXlpbmdJbml0aWFsRW1wdHlEb2N1bWVudCwgKm1fY3VycmVudENvb3BFbmZv
cmNlbWVudFJlc3VsdCwgWyZdKENPT1BEaXNwb3NpdGlvbiBkaXNwb3NpdGlvbiwgY29uc3QgQ3Jv
c3NPcmlnaW5PcGVuZXJQb2xpY3kmIHJlc3BvbnNlQ09PUCwgY29uc3QgU2VjdXJpdHlPcmlnaW4m
IHJlc3BvbnNlT3JpZ2luKSB7Ci0gICAgICAgIGlmIChyZXNwb25zZUNPT1AuaGFzUmVwb3J0aW5n
RW5kcG9pbnQoZGlzcG9zaXRpb24pKQotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6U2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nVG9DT09QUmVzcG9uc2UgeyBtX3Bh
cmFtZXRlcnMud2ViRnJhbWVJRCwgcmVzcG9uc2VDT09QLCBkaXNwb3NpdGlvbiwgcmVzcG9uc2Uu
dXJsKCksIG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdC0+dXJsLCByZXNwb25zZU9yaWdp
bi5kYXRhKCksIG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdC0+Y3VycmVudE9yaWdpbi0+
ZGF0YSgpLCBvcmlnaW5hbFJlcXVlc3QoKS5odHRwUmVmZXJyZXIoKSwgb3JpZ2luYWxSZXF1ZXN0
KCkuaHR0cFVzZXJBZ2VudCgpLCByZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5h
bWU6OlJlcG9ydFRvKSB9LCBtX3BhcmFtZXRlcnMud2ViUGFnZUlEKTsKLSAgICAgICAgaWYgKG1f
Y3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdC0+Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaGFz
UmVwb3J0aW5nRW5kcG9pbnQoZGlzcG9zaXRpb24pKQotICAgICAgICAgICAgc2VuZChNZXNzYWdl
czo6V2ViUGFnZTo6U2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nQXdheUZyb21DT09Q
UmVzcG9uc2UgeyBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9jdXJyZW50Q29vcEVuZm9yY2Vt
ZW50UmVzdWx0LT5jcm9zc09yaWdpbk9wZW5lclBvbGljeSwgZGlzcG9zaXRpb24sIG1fY3VycmVu
dENvb3BFbmZvcmNlbWVudFJlc3VsdC0+dXJsLCByZXNwb25zZS51cmwoKSwgbV9jdXJyZW50Q29v
cEVuZm9yY2VtZW50UmVzdWx0LT5jdXJyZW50T3JpZ2luLT5kYXRhKCksIHJlc3BvbnNlT3JpZ2lu
LmRhdGEoKSwgbV9jdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0LT5pc0N1cnJlbnRDb250ZXh0
TmF2aWdhdGlvblNvdXJjZSwgb3JpZ2luYWxSZXF1ZXN0KCkuaHR0cFVzZXJBZ2VudCgpIH0sIG1f
cGFyYW1ldGVycy53ZWJQYWdlSUQpOwotICAgIH0pOworICAgIG1fY3VycmVudENvb3BFbmZvcmNl
bWVudFJlc3VsdCA9IFdlYkNvcmU6OmRvQ3Jvc3NPcmlnaW5PcGVuZXJIYW5kbGluZ09mUmVzcG9u
c2UocmVzcG9uc2UsIG1fcGFyYW1ldGVycy5uYXZpZ2F0aW9uUmVxdWVzdGVyLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3kuZ2V0KCksIG1fcGFyYW1ldGVycy5lZmZlY3RpdmVTYW5kYm94RmxhZ3MsIG1f
cGFyYW1ldGVycy5pc0Rpc3BsYXlpbmdJbml0aWFsRW1wdHlEb2N1bWVudCwgKm1fY3VycmVudENv
b3BFbmZvcmNlbWVudFJlc3VsdCk7CiAgICAgaWYgKCFtX2N1cnJlbnRDb29wRW5mb3JjZW1lbnRS
ZXN1bHQpCiAgICAgICAgIHJldHVybiBSZXNvdXJjZUVycm9yIHsgZXJyb3JEb21haW5XZWJLaXRJ
bnRlcm5hbCwgMCwgcmVzcG9uc2UudXJsKCksICJOYXZpZ2F0aW9uIHdhcyBibG9ja2VkIGJ5IENy
b3NzLU9yaWdpbi1PcGVuZXItUG9saWN5Il9zLCBSZXNvdXJjZUVycm9yOjpUeXBlOjpBY2Nlc3ND
b250cm9sIH07CiAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggOTQyZWRjNjIzYTRlNjUzYmIxODhhZWUw
NTA2NDRhM2Y0YTAzMmU4OS4uYTYwNTYyNjAyNmE0M2EzYTk1NWNkYmNmOGIxYWM3M2QyYTE2ZTJi
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTIzNCw3ICsyMzQsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVGhlbWUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1JlbmRlclRyZWVBc1RleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRl
clZpZXcuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1JlcG9ydGluZ0VuZHBvaW50c0NhY2hlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9u
c2UuaD4KQEAgLTYyMCw3ICs2MTksNiBAQCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVy
IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24ucGx1Z2luSW5mb1Byb3ZpZGVyID0gJldlYlBsdWdpbkluZm9Qcm92aWRl
cjo6c2luZ2xldG9uKCk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVBy
b3ZpZGVyID0gV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOjpnZXRPckNyZWF0ZSgqbV9wYWdl
R3JvdXApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLnZpc2l0ZWRMaW5rU3RvcmUgPSBWaXNpdGVk
TGlua1RhYmxlQ29udHJvbGxlcjo6Z2V0T3JDcmVhdGUocGFyYW1ldGVycy52aXNpdGVkTGlua1Rh
YmxlSUQpOwotICAgIHBhZ2VDb25maWd1cmF0aW9uLnJlcG9ydGluZ0VuZHBvaW50c0NhY2hlID0g
JldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCk7CiAKICNp
ZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLnBheW1lbnRDb29yZGlu
YXRvckNsaWVudCA9IG5ldyBXZWJQYXltZW50Q29vcmRpbmF0b3IoKnRoaXMpOwpAQCAtNDQwNiw0
MSArNDQwNCw2IEBAIHZvaWQgV2ViUGFnZTo6c2VuZENTUFZpb2xhdGlvblJlcG9ydChGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgVVJMJiByZXBvcnRVCiAgICAgICAgIFBpbmdMb2FkZXI6
OnNlbmRWaW9sYXRpb25SZXBvcnQoKmZyYW1lLT5jb3JlRnJhbWUoKSwgcmVwb3J0VVJMLCByZXBv
cnQucmVsZWFzZU5vbk51bGwoKSwgVmlvbGF0aW9uUmVwb3J0VHlwZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5KTsKIH0KIAotdm9pZCBXZWJQYWdlOjpzZW5kQ09FUFBvbGljeUluaGVyaXRlbmNlVmlv
bGF0aW9uKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
IGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBDT0VQRGlzcG9zaXRpb24g
ZGlzcG9zaXRpb24sIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgVVJMJiBibG9ja2VkVVJMKQot
ewotICAgIGlmIChhdXRvKiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1l
KGZyYW1lSUQpOyBmcmFtZSAmJiBmcmFtZS0+Y29yZUZyYW1lKCkpCi0gICAgICAgIFdlYkNvcmU6
OnNlbmRDT0VQUG9saWN5SW5oZXJpdGVuY2VWaW9sYXRpb24oKmZyYW1lLT5jb3JlRnJhbWUoKSwg
ZW1iZWRkZXJPcmlnaW4sIGVuZHBvaW50LCBkaXNwb3NpdGlvbiwgdHlwZSwgYmxvY2tlZFVSTCk7
Ci19Ci0KLXZvaWQgV2ViUGFnZTo6c2VuZENPRVBDT1JQVmlvbGF0aW9uKEZyYW1lSWRlbnRpZmll
ciBmcmFtZUlELCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIGVtYmVkZGVyT3JpZ2luLCBjb25z
dCBTdHJpbmcmIGVuZHBvaW50LCBDT0VQRGlzcG9zaXRpb24gZGlzcG9zaXRpb24sIEZldGNoT3B0
aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb24sIGNvbnN0IFVSTCYgYmxvY2tlZFVSTCkKLXsK
LSAgICBpZiAoYXV0byogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShm
cmFtZUlEKTsgZnJhbWUgJiYgZnJhbWUtPmNvcmVGcmFtZSgpKQotICAgICAgICBXZWJDb3JlOjpz
ZW5kQ09FUENPUlBWaW9sYXRpb24oKmZyYW1lLT5jb3JlRnJhbWUoKSwgZW1iZWRkZXJPcmlnaW4s
IGVuZHBvaW50LCBkaXNwb3NpdGlvbiwgZGVzdGluYXRpb24sIGJsb2NrZWRVUkwpOwotfQotCi12
b2lkIFdlYlBhZ2U6OnNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ1RvQ09PUFJlc3Bv
bnNlKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGlj
eSYgY29vcCwgQ09PUERpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBjb25zdCBVUkwmIGNvb3BVUkws
IGNvbnN0IFVSTCYgcHJldmlvdXNSZXNwb25zZVVSTCwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiBjb29wT3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHByZXZpb3VzUmVzcG9uc2VP
cmlnaW4sIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBj
b25zdCBTdHJpbmcmIHJlcG9ydFRvSGVhZGVyVmFsdWUpCi17Ci0gICAgaWYgKCFyZXBvcnRUb0hl
YWRlclZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucmVw
b3J0aW5nRW5kcG9pbnRzQ2FjaGUoKS5hZGRFbmRwb2ludHNGcm9tUmVwb3J0VG9IZWFkZXIoY29v
cFVSTCwgcmVwb3J0VG9IZWFkZXJWYWx1ZSk7Ci0KLSAgICAvLyBGSVhNRTogQWRkIHRoZSBjb25j
ZXB0IG9mIGJyb3dzaW5nIGNvbnRleHQgZ3JvdXAgbGlrZSBpbiB0aGUgc3BlY2lmaWNhdGlvbiBp
bnN0ZWFkIG9mIHRyZWF0aW5nIHRoZSB3aG9sZSBwcm9jZXNzIGFzIGEgZ3JvdXAuCi0gICAgaWYg
KFBhZ2U6Om5vblV0aWxpdHlQYWdlQ291bnQoKSA8PSAxKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBpZiAoYXV0byogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShmcmFt
ZUlEKTsgZnJhbWUgJiYgZnJhbWUtPmNvcmVGcmFtZSgpKQotICAgICAgICBXZWJDb3JlOjpzZW5k
VmlvbGF0aW9uUmVwb3J0V2hlbk5hdmlnYXRpbmdUb0NPT1BSZXNwb25zZSgqZnJhbWUtPmNvcmVG
cmFtZSgpLCBjb29wLCBkaXNwb3NpdGlvbiwgY29vcFVSTCwgcHJldmlvdXNSZXNwb25zZVVSTCwg
Y29vcE9yaWdpbi5zZWN1cml0eU9yaWdpbigpLCBwcmV2aW91c1Jlc3BvbnNlT3JpZ2luLnNlY3Vy
aXR5T3JpZ2luKCksIHJlZmVycmVyLCB1c2VyQWdlbnQpOwotfQotCi12b2lkIFdlYlBhZ2U6OnNl
bmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJlc3BvbnNlKEZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29vcCwg
Q09PUERpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBjb25zdCBVUkwmIGNvb3BVUkwsIGNvbnN0IFVS
TCYgbmV4dFJlc3BvbnNlVVJMLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIGNvb3BPcmlnaW4s
IGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgbmV4dFJlc3BvbnNlT3JpZ2luLCBib29sIGlzQ09P
UFJlc3BvbnNlTmF2aWdhdGlvblNvdXJjZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCi17Ci0g
ICAgLy8gRklYTUU6IEFkZCB0aGUgY29uY2VwdCBvZiBicm93c2luZyBjb250ZXh0IGdyb3VwIGxp
a2UgaW4gdGhlIHNwZWNpZmljYXRpb24gaW5zdGVhZCBvZiB0cmVhdGluZyB0aGUgd2hvbGUgcHJv
Y2VzcyBhcyBhIGdyb3VwLgotICAgIGlmIChQYWdlOjpub25VdGlsaXR5UGFnZUNvdW50KCkgPD0g
MSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGF1dG8qIGZyYW1lID0gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkud2ViRnJhbWUoZnJhbWVJRCk7IGZyYW1lICYmIGZyYW1lLT5jb3JlRnJhbWUo
KSkKLSAgICAgICAgV2ViQ29yZTo6c2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nQXdh
eUZyb21DT09QUmVzcG9uc2UoKmZyYW1lLT5jb3JlRnJhbWUoKSwgY29vcCwgZGlzcG9zaXRpb24s
IGNvb3BVUkwsIG5leHRSZXNwb25zZVVSTCwgY29vcE9yaWdpbi5zZWN1cml0eU9yaWdpbigpLCBu
ZXh0UmVzcG9uc2VPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgaXNDT09QUmVzcG9uc2VOYXZpZ2F0
aW9uU291cmNlLCB1c2VyQWdlbnQpOwotfQotCiB2b2lkIFdlYlBhZ2U6OmVucXVldWVTZWN1cml0
eVBvbGljeVZpb2xhdGlvbkV2ZW50KEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBTZWN1cml0eVBv
bGljeVZpb2xhdGlvbkV2ZW50SW5pdCYmIGV2ZW50SW5pdCkKIHsKICAgICBhdXRvKiBmcmFtZSA9
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKGZyYW1lSUQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGE5NGI1YjlkN2ZlMzJmMjRhODZk
YWFhZDQ0ODQyYjBjZGQwYWViMmYuLjA4YjNhYzIzODhjMTExOGE4NTdmN2VhMWYwNWFiZTVhYWQ1
NjZkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAg
LTQ0MiwxMCArNDQyLDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcklkZW50aWZp
ZXI+ID0gc3RkOjpudWxsb3B0KTsKICAgICB2b2lkIHNlbmRDU1BWaW9sYXRpb25SZXBvcnQoV2Vi
Q29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBVUkwmIHJlcG9ydFVSTCwgSVBDOjpGb3JtRGF0
YVJlZmVyZW5jZSYmKTsKLSAgICB2b2lkIHNlbmRDT0VQUG9saWN5SW5oZXJpdGVuY2VWaW9sYXRp
b24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEmIGVtYmVkZGVyT3JpZ2luLCBjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBXZWJDb3JlOjpD
T0VQRGlzcG9zaXRpb24sIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgVVJMJiBibG9ja2VkVVJM
KTsKLSAgICB2b2lkIHNlbmRDT0VQQ09SUFZpb2xhdGlvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZp
ZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgZW1iZWRkZXJPcmlnaW4sIGNv
bnN0IFN0cmluZyYgZW5kcG9pbnQsIFdlYkNvcmU6OkNPRVBEaXNwb3NpdGlvbiwgV2ViQ29yZTo6
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiwgY29uc3QgVVJMJiBibG9ja2VkVVJMKTsKLSAgICB2
b2lkIHNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ1RvQ09PUFJlc3BvbnNlKFdlYkNv
cmU6OkZyYW1lSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3kmLCBXZWJDb3JlOjpDT09QRGlzcG9zaXRpb24sIGNvbnN0IFVSTCYgY29vcFVSTCwgY29uc3Qg
VVJMJiBwcmV2aW91c1Jlc3BvbnNlVVJMLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEmIGNvb3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgcHJldmlv
dXNSZXNwb25zZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgcmVwb3J0VG9IZWFkZXJWYWx1ZSk7Ci0gICAgdm9pZCBz
ZW5kVmlvbGF0aW9uUmVwb3J0V2hlbk5hdmlnYXRpbmdBd2F5RnJvbUNPT1BSZXNwb25zZShXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkNyb3NzT3JpZ2luT3BlbmVyUG9s
aWN5JiwgV2ViQ29yZTo6Q09PUERpc3Bvc2l0aW9uLCBjb25zdCBVUkwmIGNvb3BVUkwsIGNvbnN0
IFVSTCYgbmV4dFJlc3BvbnNlVVJMLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEm
IGNvb3BPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgbmV4dFJlc3Bv
bnNlT3JpZ2luLCBib29sIGlzQ09PUFJlc3BvbnNlTmF2aWdhdGlvblNvdXJjZSwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQpOwogICAgIHZvaWQgZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9u
RXZlbnQoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBXZWJDb3JlOjpTZWN1cml0eVBvbGljeVZp
b2xhdGlvbkV2ZW50SW5pdCYmKTsKIAogICAgIC8vIC0tIENhbGxlZCBieSB0aGUgRHJhd2luZ0Fy
ZWEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgppbmRleCBiMjcyMjk0NzFlYWU4NmVlNTk4MTk4M2RkNTdiNWU3YTgyOTFjZDRi
Li41MDIxYjRkY2Y0YzYzNDQwZmUxN2M5MDljOGQyMmU2NGM0Y2NhMTYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAg
LTI5LDEwICsyOSw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogCiAg
ICAgQWRkQ29uc29sZU1lc3NhZ2UoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGVu
dW06dWludDhfdCBKU0M6Ok1lc3NhZ2VTb3VyY2UgbWVzc2FnZVNvdXJjZSwgZW51bTp1aW50OF90
IEpTQzo6TWVzc2FnZUxldmVsIG1lc3NhZ2VMZXZlbCwgU3RyaW5nIG1lc3NhZ2UsIHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6UmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyPiByZXF1ZXN0SUQpCiAgICAg
U2VuZENTUFZpb2xhdGlvblJlcG9ydChXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwg
VVJMIHJlcG9ydFVSTCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSByZXBvcnREYXRhKQotICAgIFNl
bmRDT0VQUG9saWN5SW5oZXJpdGVuY2VWaW9sYXRpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVy
IGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgZW1iZWRkZXJPcmln
aW4sIFN0cmluZyBlbmRwb2ludCwgZW51bTpib29sIFdlYkNvcmU6OkNPRVBEaXNwb3NpdGlvbiBk
aXNwb3NpdGlvbiwgU3RyaW5nIHR5cGUsIFVSTCBibG9ja2VkVVJMKQotICAgIFNlbmRDT0VQQ09S
UFZpb2xhdGlvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBlbWJlZGRlck9yaWdpbiwgU3RyaW5nIGVuZHBvaW50LCBl
bnVtOmJvb2wgV2ViQ29yZTo6Q09FUERpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBlbnVtOnVpbnQ4
X3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbiwgVVJMIGJs
b2NrZWRVUkwpCi0gICAgU2VuZFZpb2xhdGlvblJlcG9ydFdoZW5OYXZpZ2F0aW5nVG9DT09QUmVz
cG9uc2UoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpD
cm9zc09yaWdpbk9wZW5lclBvbGljeSBjb29wLCBlbnVtOmJvb2wgV2ViQ29yZTo6Q09PUERpc3Bv
c2l0aW9uIGRpc3Bvc2l0aW9uLCBVUkwgY29vcFVSTCwgVVJMIHByZXZpb3VzUmVzcG9uc2VVUkws
IHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgY29vcE9yaWdpbiwgc3RydWN0IFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBwcmV2aW91c1Jlc3BvbnNlT3JpZ2luLCBTdHJpbmcg
cmVmZXJyZXIsIFN0cmluZyB1c2VyQWdlbnQsIFN0cmluZyByZXBvcnRUb0hlYWRlclZhbHVlKQot
ICAgIFNlbmRWaW9sYXRpb25SZXBvcnRXaGVuTmF2aWdhdGluZ0F3YXlGcm9tQ09PUFJlc3BvbnNl
KFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViQ29yZTo6Q3Jvc3NP
cmlnaW5PcGVuZXJQb2xpY3kgY29vcCwgZW51bTpib29sIFdlYkNvcmU6OkNPT1BEaXNwb3NpdGlv
biBkaXNwb3NpdGlvbiwgVVJMIGNvb3BVUkwsIFVSTCBuZXh0UmVzcG9uc2VVUkwsIHN0cnVjdCBX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgY29vcE9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luRGF0YSBuZXh0UmVzcG9uc2VPcmlnaW4sIGJvb2wgaXNDT09QUmVzcG9uc2VO
YXZpZ2F0aW9uU291cmNlLCBTdHJpbmcgdXNlckFnZW50KQogICAgIEVucXVldWVTZWN1cml0eVBv
bGljeVZpb2xhdGlvbkV2ZW50KFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1
Y3QgV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQgZXZlbnRJbml0KQog
CiAgICAgVGVzdFByb2Nlc3NJbmNvbWluZ1N5bmNNZXNzYWdlc1doZW5XYWl0aW5nRm9yU3luY1Jl
cGx5KCkgLT4gKGJvb2wgaGFuZGxlZCkgU3luY2hyb25vdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAppbmRleCBmYTk5MzI4N2NmYjZkMDgzNGRlOTE5ZDE4ZGRkZTg5MDJi
YTk0NjZjLi5mODE2Nzc1YTc5OTRhYjIyY2MyZmJjMjYwMDBlOWQyMmYyZmMyYzZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xMjYsNyArMTI2LDYgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NXYXJtaW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWdp
c3RyYWJsZURvbWFpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlQ29tbWFuZExpc3RlbmVy
Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmg+CkBAIC0yODEsNyArMjgwLDYgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2Vz
cygpCiAgICAgLCBtX2Jyb2FkY2FzdENoYW5uZWxSZWdpc3RyeShXZWJCcm9hZGNhc3RDaGFubmVs
UmVnaXN0cnk6OmNyZWF0ZSgpKQogICAgICwgbV93ZWJMb2NrUmVnaXN0cnkoUmVtb3RlV2ViTG9j
a1JlZ2lzdHJ5OjpjcmVhdGUoKnRoaXMpKQogICAgICwgbV9jb29raWVKYXIoV2ViQ29va2llSmFy
OjpjcmVhdGUoKSkKLSAgICAsIG1fcmVwb3J0aW5nRW5kcG9pbnRzQ2FjaGUoUmVwb3J0aW5nRW5k
cG9pbnRzQ2FjaGU6OmNyZWF0ZSgpKQogICAgICwgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMoW3Ro
aXNdKFBBTDo6SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBQQUw6Okh5c3Rl
cmVzaXNTdGF0ZTo6U3RvcHBlZCkgbV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKICAg
ICAsIG1fbm9uVmlzaWJsZVByb2Nlc3NHcmFwaGljc0NsZWFudXBUaW1lcigqdGhpcywgJldlYlBy
b2Nlc3M6Om5vblZpc2libGVQcm9jZXNzR3JhcGhpY3NDbGVhbnVwVGltZXJGaXJlZCkKICNpZiBF
TkFCTEUoTk9OX1ZJU0lCTEVfV0VCUFJPQ0VTU19NRU1PUllfQ0xFQU5VUF9USU1FUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDE0Y2RmNzUxNWM2MmM0NWRhYjlmOWRi
ODE2ZmRjYjJkODg1Y2YzM2MuLjk3YWZiY2EyYjhmZjQ4ZWY4MjgyNDVmY2Q4Yjk0NThiM2FkZDUx
NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtOTcsNyArOTcsNiBA
QCBjbGFzcyBDUFVNb25pdG9yOwogY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgUGFnZUdy
b3VwOwogY2xhc3MgUmVnaXN0cmFibGVEb21haW47Ci1jbGFzcyBSZXBvcnRpbmdFbmRwb2ludHND
YWNoZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFVzZXJHZXN0dXJlVG9rZW47CiAK
QEAgLTM0NCw3ICszNDMsNiBAQCBwdWJsaWM6CiAgICAgUmVtb3RlV2ViTG9ja1JlZ2lzdHJ5JiB3
ZWJMb2NrUmVnaXN0cnkoKSB7IHJldHVybiBtX3dlYkxvY2tSZWdpc3RyeS5nZXQoKTsgfQogICAg
IFdlYkNvb2tpZUphciYgY29va2llSmFyKCkgeyByZXR1cm4gbV9jb29raWVKYXIuZ2V0KCk7IH0K
ICAgICBXZWJTb2NrZXRDaGFubmVsTWFuYWdlciYgd2ViU29ja2V0Q2hhbm5lbE1hbmFnZXIoKSB7
IHJldHVybiBtX3dlYlNvY2tldENoYW5uZWxNYW5hZ2VyOyB9Ci0gICAgV2ViQ29yZTo6UmVwb3J0
aW5nRW5kcG9pbnRzQ2FjaGUmIHJlcG9ydGluZ0VuZHBvaW50c0NhY2hlKCkgeyByZXR1cm4gbV9y
ZXBvcnRpbmdFbmRwb2ludHNDYWNoZS5nZXQoKTsgfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIGZsb2F0IGJhY2tsaWdodExldmVsKCkg
Y29uc3QgeyByZXR1cm4gbV9iYWNrbGlnaHRMZXZlbDsgfQpAQCAtNjgwLDcgKzY3OCw2IEBAIHBy
aXZhdGU6CiAgICAgUmVmPFdlYkJyb2FkY2FzdENoYW5uZWxSZWdpc3RyeT4gbV9icm9hZGNhc3RD
aGFubmVsUmVnaXN0cnk7CiAgICAgUmVmPFJlbW90ZVdlYkxvY2tSZWdpc3RyeT4gbV93ZWJMb2Nr
UmVnaXN0cnk7CiAgICAgUmVmPFdlYkNvb2tpZUphcj4gbV9jb29raWVKYXI7Ci0gICAgUmVmPFdl
YkNvcmU6OlJlcG9ydGluZ0VuZHBvaW50c0NhY2hlPiBtX3JlcG9ydGluZ0VuZHBvaW50c0NhY2hl
OwogICAgIFdlYlNvY2tldENoYW5uZWxNYW5hZ2VyIG1fd2ViU29ja2V0Q2hhbm5lbE1hbmFnZXI7
CiAKICAgICBSZWZQdHI8TGliV2ViUlRDTmV0d29yaz4gbV9saWJXZWJSVENOZXR3b3JrOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGY1MWUzODJhMDViZThkMDRmMTAyZWU3NmM4MmU3YjM2ODUzOTc0ZTguLmFiMjI2NmRhMWVk
N2RhMmNmZjhmNDYzY2VjMDlkOTZkZGI1YjNlYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
Mi0wMS0wNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3Ag
aW1wbGVtZW50YXRpb24gZm9yIENPT1AgLyBDT0VQIHZpb2xhdGlvbiByZXBvcnRpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg5OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNraXAgYWxsIENPT1Ag
LyBDT0VQIHJlcG9ydGluZyB0ZXN0cyBpbnN0ZWFkIG9mIG1hcmtpbmcgaW5kaXZpZHVhbCB0ZXN0
cyBhcyBmbGFreSBvciBmYWlsaW5nLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIyLTAxLTA1ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgWyBpT1MgRGVidWcgXSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3Mud29ya2VyLmh0bWwgaXMg
YSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2ZWIyNjk2ZDFiYzE3ZGM3MGI2
ZDAyNWViZDY2ZGU4ZjllYjMyOTU5Li44MTExZmI2ZWFiMjNkNjgwYjBhMjgxYTZmNzBlODk4M2Y5
N2VmZjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIxNiw2ICsyMTYsMTQgQEAgaHR0cC90ZXN0
cy9hcHAtcHJpdmFjeS1yZXBvcnQvIFsgU2tpcCBdCiAjIE9ubHkgcGFydGlhbCBzdXBwb3J0IG9u
IENvY29hIHBsYXRmb3Jtcy4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3BlZWNo
LWFwaS8gWyBTa2lwIF0KIAorIyBTdXBwb3J0IGZvciBDT09QIC8gQ09FUCB2aW9sYXRpb24gcmVw
b3J0aW5nIGlzIG1pc3NpbmcuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
Y3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcmVwb3J0aW5nCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmct
bmF2aWdhdGlvbi5odHRwcy5odG1sCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctc3VicmVzb3VyY2UtY29y
cC5odHRwcy5odG1sCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mt
b3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctdG8tZW5kcG9pbnQuaHR0cHMuaHRtbAor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRl
ci1wb2xpY3kvcmVwb3J0aW5nLXRvLWZyYW1lLW93bmVyLmh0dHBzLmh0bWwKK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jl
cG9ydGluZy10by13b3JrZXItb3duZXIuaHR0cHMuaHRtbAorCiAjIE9ubHkgTWFjIGFuZCBpT1Mg
aGF2ZSBhbiBpbXBsZW1lbnRhdGlvbiBvZiBVSVNjcmlwdENvbnRyb2xsZXI6OmRvQXN5bmNUYXNr
KCkuCiBmYXN0L2hhcm5lc3MvdWlzY3JpcHRjb250cm9sbGVyIFsgU2tpcCBdCiAKQEAgLTQyMywx
NSArNDMxLDExIEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Ny
b3NzLW9yaWdpbi1vYmplY3RzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3NhbmRib3hpbmcvc2Fu
ZGJveC1kaXNhbGxvdy1wb3B1cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVy
LXBvbGljeS9ibG9iLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3kvcmVwb3J0aW5nLXRvLWVuZHBvaW50Lmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9n
SW5TdGRFcnIgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLXRvLWZyYW1lLW93bmVyLmh0dHBzLmh0bWwg
WyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2Nvb3AtY3NwLXNhbmRib3guaHR0
cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29vcC1uYXZpZ2F0
ZWQtaGlzdG9yeS1wb3B1cC5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVy
LXBvbGljeS9uYXZpZ2F0ZS10by1hYm91dGJsYW5rLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xl
TG9nSW5TdGRFcnIgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3Nz
LW9yaWdpbi1vcGVuZXItcG9saWN5L25hdmlnYXRlLXRvcC10by1hYm91dGJsYW5rLmh0dHBzLmh0
bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3BvcHVwLWNvb3AtYnktc3cu
aHR0cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcmVwb3J0aW5n
L25hdmlnYXRpb24tcmVwb3J0aW5nL3JlcG9ydGluZy1jb29wLW5hdmlnYXRlZC1vcGVuZXIuaHR0
cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcmVwb3J0aW5nL25h
dmlnYXRpb24tcmVwb3J0aW5nL3JlcG9ydGluZy1jb29wLW5hdmlnYXRlZC1wb3B1cC5odHRwcy5o
dG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZyYW1lLWVsZW1l
bnQvaWZyYW1lLW5ldHdvcmstZXJyb3Iuc3ViLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRF
cnIgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWVfc2FuZGJveF9hbmNob3JfZG93
bmxvYWRfYWxsb3dfZG93bmxvYWRzLnRlbnRhdGl2ZS5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0lu
U3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
c2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2Nzcy1tb2R1bGUvaW50ZWdyaXR5Lmh0bWwg
WyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQpAQCAtNzU5LDkgKzc2Myw2IEBAIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEv
dGhlLWxpbmstZWxlbWVuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVu
ZGVyaW5nL25vbi1yZXBsYWNlZC1lbGVtZW50cy9mb3JtLWNvbnRyb2xzL3NlbGVjdC1zaXppbmct
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9yZW5kZXJpbmcvbm9uLXJlcGxhY2VkLWVsZW1lbnRzL3BocmFzaW5nLWNvbnRl
bnQtMC9mb250LWVsZW1lbnQtdGV4dC1kZWNvcmF0aW9uLWNvbG9yLzAwMS14LnhodG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAKLSMgQ3Jvc3MtT3JpZ2luIE9wZW5lciBQb2xpY3kgYWNjZXNzIHJl
cG9ydGluZyBpcyBub3Qgc3VwcG9ydGVkIGFuZCBpdCBpcyBjYXVzaW5nIHRob3NlIHRlc3RzIHRv
IHRpbWUgb3V0LgotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1vcGVuZXItcG9saWN5L3JlcG9ydGluZy9hY2Nlc3MtcmVwb3J0aW5nIFsgU2tpcCBdCi0K
ICMgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeTogY3JlZGVudGlhbGxlc3MgaXMgbm90IHN1
cHBvcnRlZC4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmln
aW4tZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4ZThlMTNjZTIxZDFhNDc4Yzg2MjEw
ZDgwMDlhYTlhMmNlNGRiMDBlLi4zMWE0ODI2YjgwYmU3Nzk0ODhmYTBmMDRhYzQxYmFhMDBjMDk4
NWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xMTU3LDggKzExNTcsNiBAQCB3ZWJraXQub3JnL2IvMTYxNjMxIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9icm93c2luZy10aGUtdwogCiB3ZWJraXQu
b3JnL2IvMjMwNDA3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRs
aGFybmVzcy5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIzMjAy
OCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5l
ci1wb2xpY3kvcmVwb3J0aW5nL25hdmlnYXRpb24tcmVwb3J0aW5nL3JlcG9ydC1vbmx5LWZvdXIt
cmVwb3J0cy5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogIyBOZXdseSBpbXBvcnRlZCBX
UFQgdGVzdHMgdGhhdCBhcmUgdGltaW5nIG91dCBvbiBpT1MuCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1idXR0b24tZWxlbWVudC9idXR0
b24tYWN0aXZhdGUta2V5dXAtcHJldmVudGVkLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC91c2VyLWFjdGl2YXRpb24vYWN0aXZhdGlvbi10cmlnZ2Vy
LW1vdXNlLXJpZ2h0Lmh0bWwgWyBTa2lwIF0KQEAgLTIxOTksOCArMjE5Nyw2IEBAIHdlYmtpdC5v
cmcvYi8yMjU1MjggaHR0cC93cHQvZmV0Y2gvZmV0Y2gtcmVzcG9uc2UtYm9keS1zdG9wLWluLXdv
cmtlci5odG1sIFsgUGFzCiAKIHdlYmtpdC5vcmcvYi8yMzIyNTIgWyBSZWxlYXNlIF0gaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRHRsc1RyYW5zcG9ydC1zdGF0ZS5o
dG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIzMjMzNyBbIFJlbGVhc2UgXSBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1w
b2xpY3kvcmVwb3J0aW5nL25hdmlnYXRpb24tcmVwb3J0aW5nL3JlcG9ydGluZy1jb29wLW5hdmln
YXRlZC1vcGVuZXIuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSAgRHVtcEpTQ29uc29sZUxvZ0lu
U3RkRXJyIF0KLQogIyB3ZWJraXQub3JnL2IvMjM0Mjc4IFRoZSBmb2xsb3dpbmcgOCB0ZXN0cyBh
cmUgZmxha2V5IGZhaWx1cmVzIG9uIGlPUyAxNQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItbm8tcmVmZXJyZXItc2VydmljZS13b3Jr
ZXIuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L2Rlc3RpbmF0aW9uL2ZldGNoLWRlc3RpbmF0aW9uLWZy
YW1lLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGVmMWViYjA3NmNkYWI0YjViODY4YmQ4ZjE4
ZGEwYjQ1N2UyN2NmYjMuLjZkNTA2YTEyNmIwNDYyZWFiOTAyNjU0OTlkMzI0NzNhNjhiNTQ4M2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTEyMjEsOCArMTIyMSw2IEBAIHdlYmtpdC5vcmcvYi8yMzAxMDUgWyBCaWdTdXIrIERlYnVnIGFy
bTY0IF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sCiAKIHdlYmtpdC5vcmcv
Yi8yMzA2OTEgWyBSZWxlYXNlIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2lmcmFtZS1wb3B1cC11bnNhZmUtbm9uZS10by11
bnNhZmUtbm9uZS5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIz
MjAyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9w
ZW5lci1wb2xpY3kvcmVwb3J0aW5nL25hdmlnYXRpb24tcmVwb3J0aW5nL3JlcG9ydC1vbmx5LWZv
dXItcmVwb3J0cy5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzIz
MjEwNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9w
ZW5lci1wb2xpY3kvaWZyYW1lLXBvcHVwLXNhbWUtb3JpZ2luLXRvLXNhbWUtb3JpZ2luLmh0dHBz
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgQ3Jhc2ggXQogCiB3ZWJraXQub3JnL2IvMjMwMTEzIFsgQmln
U3VyKyBEZWJ1ZyBhcm02NCBdIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtZWxlbS0xNC10LWRydC5o
dG1sIFsgUGFzcyBDcmFzaCBdCkBAIC0xNjYwLDggKzE2NTgsNiBAQCB3ZWJraXQub3JnL2IvMjMx
NzgwIFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9zaW11
bGNhc3QvYgogCiB3ZWJraXQub3JnL2IvMjI5NTY5IFsgQ2F0YWxpbmEgUmVsZWFzZSBdIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLXBlcmZl
Y3QtbmVnb3RpYXRpb24tc3RyZXNzLWdsYXJlLmh0dHBzLmh0bWwgWyBQYXNzIENyYXNoIF0KIAot
d2Via2l0Lm9yZy9iLzIzMjMzNyBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3JlcG9ydGluZy9uYXZpZ2F0aW9u
LXJlcG9ydGluZy9yZXBvcnRpbmctY29vcC1uYXZpZ2F0ZWQtb3BlbmVyLmh0dHBzLmh0bWwgWyBQ
YXNzIEZhaWx1cmUgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KLQogIyBQbHVnaW5zCiAjIEZJ
WE1FOiBSZW1vdmUgdGhlc2UgdGVzdHMuCiBwbGF0Zm9ybS9tYWMtd2syL3BsdWdpbnMvbnBydW50
aW1lL3JlbW92ZS1wcm9wZXJ0eS1mcm9tLWphdmFzY3JpcHQuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>