<?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>160641</bug_id>
          
          <creation_ts>2016-08-06 18:27:38 -0700</creation_ts>
          <short_desc>Drop legacy Text.replaceWholeText() API</short_desc>
          <delta_ts>2016-08-06 20:08:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</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>https://dom.spec.whatwg.org/#interface-text</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</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>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1218305</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-06 18:27:38 -0700</bug_when>
    <thetext>Drop legacy Text.replaceWholeText() API, which is no longer in the specification:
- https://dom.spec.whatwg.org/#interface-text

Firefox and Chrome already dropped support for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218316</commentid>
    <comment_count>1</comment_count>
      <attachid>285513</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-06 18:56:45 -0700</bug_when>
    <thetext>Created attachment 285513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218330</commentid>
    <comment_count>2</comment_count>
      <attachid>285513</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-06 20:07:58 -0700</bug_when>
    <thetext>Comment on attachment 285513
Patch

Clearing flags on attachment: 285513

Committed r204236: &lt;http://trac.webkit.org/changeset/204236&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218331</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-06 20:08:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285513</attachid>
            <date>2016-08-06 18:56:45 -0700</date>
            <delta_ts>2016-08-06 20:07:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160641-20160806185516.patch</filename>
            <type>text/plain</type>
            <size>56805</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZhMmJlM2U4NzVkNGE4
NjkzMzBkZGJiMDE4NDliNmUwOGRkMDhmNi4uMTRlNDJmOTYyNGY0NmMzNDMwNjFhNDBmYzZjYTdi
ZWRkNTI2OWU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA4LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBsZWdhY3kgVGV4dC5y
ZXBsYWNlV2hvbGVUZXh0KCkgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjA2NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEcm9wIGxlZ2FjeSBUZXh0LnJlcGxhY2VXaG9sZVRleHQoKSBBUEksIHdo
aWNoIGlzIG5vIGxvbmdlciBpbiB0aGUKKyAgICAgICAgc3BlY2lmaWNhdGlvbjoKKyAgICAgICAg
LSBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS10ZXh0CisKKyAgICAgICAg
RmlyZWZveCBhbmQgQ2hyb21lIGFscmVhZHkgZHJvcHBlZCBzdXBwb3J0IGZvciBpdC4KKworICAg
ICAgICBObyBuZXcgdGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3QuCisKKyAgICAgICAg
KiBkb20vVGV4dC5pZGw6CisKIDIwMTYtMDgtMDYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFNpbXBsaWZ5IHZhbHVlVG9VU1ZTdHJpbmcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbApp
bmRleCBhZWY1Y2RkZGNkZjk3YjY4NTUyNzE2ZDM5YTk3OTFlY2Q5ZjczZDljLi40Y2UxYmI3N2Iz
OTk0MDYzZGMwYTUxNjA1YzVhZGVlYjI5NjZlMTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaWRsCkBAIC0yNywx
MCArMjcsNyBAQAogICAgIFtSYWlzZXNFeGNlcHRpb25dIFRleHQgc3BsaXRUZXh0KHVuc2lnbmVk
IGxvbmcgb2Zmc2V0KTsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDM6Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICB3aG9sZVRleHQ7Ci0KLSAgICAvLyBG
SVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3Jv
bmcuCi0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gVGV4dCAgICAgICAgICAgICAgIHJlcGxhY2VXaG9s
ZVRleHQob3B0aW9uYWwgRE9NU3RyaW5nIGNvbnRlbnQgPSAidW5kZWZpbmVkIik7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB3aG9sZVRleHQ7CiB9OwogCiBUZXh0IGltcGxlbWVu
dHMgU2xvdGFibGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWI4ZTJmNWExYzA5NmI5YTIwYzc1ZTBjMTU1MWFjYzg1YWY0
NTIzYS4uZDIxNWNhYjc0ZWEzYWIwOGFhYzc5ZWRhOTIwMjJiZWNhMTM0NGJlMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM3IEBACisyMDE2LTA4LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgRHJvcCBsZWdhY3kgVGV4dC5yZXBsYWNlV2hvbGVUZXh0KCkgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjA2NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIG91dGRhdGVk
IHRlc3RzIC8gY2hlY2tzLgorCisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRy
ZXBsYWNld2hvbGV0ZXh0MDEtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGRvbS94
aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDAxLmpzOiBSZW1vdmVkLgorICAg
ICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDAxLnhodG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdo
b2xldGV4dDAyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20veGh0bWwvbGV2
ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwMi5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBk
b20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwMi54aHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQw
My1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3Jl
L3RleHRyZXBsYWNld2hvbGV0ZXh0MDMuanM6IFJlbW92ZWQuCisgICAgICAgICogZG9tL3hodG1s
L2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDMueGh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDQtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVw
bGFjZXdob2xldGV4dDA0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMv
Y29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDA0LnhodG1sOiBSZW1vdmVkLgorICAgICAgICAqIGRv
bS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDA1LWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9s
ZXRleHQwNS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4
dHJlcGxhY2V3aG9sZXRleHQwNS54aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9B
dHRyL2NoYW5nZS1pZC12aWEtYXR0ci1ub2RlLXZhbHVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2RvbS9BdHRyL2NoYW5nZS1pZC12aWEtYXR0ci1ub2RlLXZhbHVlLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vVGV4dC9yZXBsYWNlV2hvbGVUZXh0LWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9UZXh0L3JlcGxhY2VXaG9sZVRleHQuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hlZC1pZnJhbWUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1pZnJhbWUtc3Jj
LWFsaWFzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1E
RU5JRUQtaWZyYW1lLXNyYy1hbGlhcy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9pbnNw
ZWN0b3IvbW9kZWwvcmVtb3RlLW9iamVjdC1leHBlY3RlZC50eHQ6CisKIDIwMTYtMDgtMDYgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIExheW91dFRlc3QgaHR0
cC90ZXN0cy9mZXRjaC9mZXRjaC1pbi13b3JrZXItY3Jhc2guaHRtbCBpcyBmbGFreQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggODdiM2ExNmMzMTVkM2YyZDNkZDI5NDk2MWQ4MDVi
YzlhYTY2MDliMy4uYWJjZDFkZDcxMWQ3MjczNzgwMmY3NzIzYzA1YjY5NWVlMWM2YzcwOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDgtMDYg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIGxlZ2FjeSBU
ZXh0LnJlcGxhY2VXaG9sZVRleHQoKSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MDY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgVzNDIHRlc3Qgbm93IHRoYXQgb25lIG1vcmUg
Y2hlY2sgaXMgcGFzc2luZy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaGlz
dG9yaWNhbC1leHBlY3RlZC50eHQ6CisKIDIwMTYtMDgtMDYgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2Jhc2ljL21vZGUtc2FtZS1vcmlnaW4uaHRtbCBhbmQgLXdvcmtlci5odG1sIGFy
ZSBmYWlsaW5nIGFmdGVyIHIyMDQyMjQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2RvbS94aHRt
bC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDAxLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzIzM2EzMDhmY2M0MTlmMWY1
NDM0M2U4ZWNjYjM5ZWI4MmQzNTM0Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxh
Y2V3aG9sZXRleHQwMS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAK
LVRlc3QJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS90
ZXh0cmVwbGFjZXdob2xldGV4dDAxCi1TdGF0dXMJU3VjY2VzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDEuanMgYi9M
YXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwMS5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTk3M2I4MDI2YjIxMGM4OGFkOWM0N2I5
MTRhOGU0N2VkYmQyMzJmOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9s
ZXRleHQwMS5qcworKysgL2Rldi9udWxsCkBAIC0xLDExOCArMCwwIEBACi0KLS8qCi1Db3B5cmln
aHQgw4LCqSAyMDAxLTIwMDQgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSwgCi0oTWFzc2FjaHVz
ZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neSwgRXVyb3BlYW4gUmVzZWFyY2ggQ29uc29ydGl1
bSAKLWZvciBJbmZvcm1hdGljcyBhbmQgTWF0aGVtYXRpY3MsIEtlaW8gVW5pdmVyc2l0eSkuIEFs
bCAKLVJpZ2h0cyBSZXNlcnZlZC4gVGhpcyB3b3JrIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBX
M0PDgsKuIFNvZnR3YXJlIExpY2Vuc2UgWzFdIGluIHRoZSAKLWhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gCi10aGUgaW1w
bGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuIAotCi1bMV0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8y
MDAyL2NvcHlyaWdodC1zb2Z0d2FyZS0yMDAyMTIzMQotKi8KLQotCi0KLSAgIC8qKgotICAgICog
IEdldHMgVVJJIHRoYXQgaWRlbnRpZmllcyB0aGUgdGVzdC4KLSAgICAqICBAcmV0dXJuIHVyaSBp
ZGVudGlmaWVyIG9mIHRlc3QKLSAgICAqLwotZnVuY3Rpb24gZ2V0VGFyZ2V0VVJJKCkgewotICAg
ICAgcmV0dXJuICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9j
b3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDEiOwotICAgfQotCi12YXIgZG9jc0xvYWRlZCA9IC0x
MDAwMDAwOwotdmFyIGJ1aWxkZXIgPSBudWxsOwotCi0vLwotLy8gICBUaGlzIGZ1bmN0aW9uIGlz
IGNhbGxlZCBieSB0aGUgdGVzdGluZyBmcmFtZXdvcmsgYmVmb3JlCi0vLyAgICAgIHJ1bm5pbmcg
dGhlIHRlc3Qgc3VpdGUuCi0vLwotLy8gICBJZiB0aGVyZSBhcmUgbm8gY29uZmlndXJhdGlvbiBl
eGNlcHRpb25zLCBhc3luY2hyb25vdXMKLS8vICAgICAgICBkb2N1bWVudCBsb2FkaW5nIGlzIHN0
YXJ0ZWQuICBPdGhlcndpc2UsIHRoZSBzdGF0dXMKLS8vICAgICAgICBpcyBzZXQgdG8gY29tcGxl
dGUgYW5kIHRoZSBleGNlcHRpb24gaXMgaW1tZWRpYXRlbHkKLS8vICAgICAgICByYWlzZWQgd2hl
biBlbnRlcmluZyB0aGUgYm9keSBvZiB0aGUgdGVzdC4KLS8vCi1mdW5jdGlvbiBzZXRVcFBhZ2Uo
KSB7Ci0gICBzZXRVcFBhZ2VTdGF0dXMgPSAncnVubmluZyc7Ci0gICB0cnkgewotICAgICAvLwot
ICAgICAvLyAgIGNyZWF0ZXMgdGVzdCBkb2N1bWVudCBidWlsZGVyLCBtYXkgdGhyb3cgZXhjZXB0
aW9uCi0gICAgIC8vCi0gICAgIGJ1aWxkZXIgPSBjcmVhdGVDb25maWd1cmVkQnVpbGRlcigpOwot
Ci0gICAgICBkb2NzTG9hZGVkID0gMDsKLSAgICAgIAotICAgICAgdmFyIGRvY1JlZiA9IG51bGw7
Ci0gICAgICBpZiAodHlwZW9mKHRoaXMuZG9jKSAhPSAndW5kZWZpbmVkJykgewotICAgICAgICBk
b2NSZWYgPSB0aGlzLmRvYzsKLSAgICAgIH0KLSAgICAgIGRvY3NMb2FkZWQgKz0gcHJlbG9hZChk
b2NSZWYsICJkb2MiLCAiaGNfc3RhZmYiKTsKLSAgICAgICAgCi0gICAgICAgaWYgKGRvY3NMb2Fk
ZWQgPT0gMSkgewotICAgICAgICAgIHNldFVwUGFnZVN0YXR1cyA9ICdjb21wbGV0ZSc7Ci0gICAg
ICAgfQotICAgIH0gY2F0Y2goZXgpIHsKLSAgICAJY2F0Y2hJbml0aWFsaXphdGlvbkVycm9yKGJ1
aWxkZXIsIGV4KTsKLSAgICAgICAgc2V0VXBQYWdlU3RhdHVzID0gJ2NvbXBsZXRlJzsKLSAgICB9
Ci19Ci0KLQotCi0vLwotLy8gICBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgb24gdGhlIGNvbXBsZXRp
b24gb2YgCi0vLyAgICAgIGVhY2ggYXN5Y2hyb25vdXMgbG9hZCBzdGFydGVkIGluIHNldFVwVGVz
dHMuCi0vLwotLy8gICBXaGVuIGV2ZXJ5IHN5bmNocm9ub3VzIGxvYWRlZCBkb2N1bWVudCBoYXMg
Y29tcGxldGVkLAotLy8gICAgICB0aGUgcGFnZSBzdGF0dXMgaXMgY2hhbmdlZCB3aGljaCBhbGxv
d3MgdGhlCi0vLyAgICAgIGJvZHkgb2YgdGhlIHRlc3QgdG8gYmUgZXhlY3V0ZWQuCi1mdW5jdGlv
biBsb2FkQ29tcGxldGUoKSB7Ci0gICAgaWYgKCsrZG9jc0xvYWRlZCA9PSAxKSB7Ci0gICAgICAg
IHNldFVwUGFnZVN0YXR1cyA9ICdjb21wbGV0ZSc7Ci0gICAgfQotfQotCi0KLS8qKgotKiAKLQlJ
bnZva2UgcmVwbGFjZVdob2xlVGV4dCBvbiBhbiBleGlzdGluZyBUZXh0IE5vZGUgdG8gcmVwbGFj
ZSBpdHMgdmFsdWUgd2l0aCBhIAotCW5ldyB2YWx1ZSBjb250YWluaW5nIHdoaXRlIHNwYWNlIGNo
YXJhY3RlcnMuICBWZXJpZnkgdGhlIHJlcGxhY2VXaG9sZVRleHQgYnkKLQl2ZXJpZnlpbmcgdGhl
IHZhbHVlcyByZXR1cm5lZCBieSB3aG9sZVRleHQKLQlvZiB0aGUgcmV0dXJuZWQgVGV4dCBub2Rl
LgotCi0qIEBhdXRob3IgSUJNCi0qIEBhdXRob3IgTmVpbCBEZWxpbWEKLSogQHNlZSBodHRwOi8v
d3d3LnczLm9yZy9UUi8yMDA0L1JFQy1ET00tTGV2ZWwtMy1Db3JlLTIwMDQwNDA3L2NvcmUjVGV4
dDMtcmVwbGFjZVdob2xlVGV4dAotKi8KLWZ1bmN0aW9uIHRleHRyZXBsYWNld2hvbGV0ZXh0MDEo
KSB7Ci0gICB2YXIgc3VjY2VzczsKLSAgICBpZihjaGVja0luaXRpYWxpemF0aW9uKGJ1aWxkZXIs
ICJ0ZXh0cmVwbGFjZXdob2xldGV4dDAxIikgIT0gbnVsbCkgcmV0dXJuOwotICAgIHZhciBkb2M7
Ci0gICAgICB2YXIgaXRlbUxpc3Q7Ci0gICAgICB2YXIgZWxlbWVudE5hbWU7Ci0gICAgICB2YXIg
dGV4dE5vZGU7Ci0gICAgICB2YXIgcmVwbGFjZWRUZXh0OwotICAgICAgdmFyIHdob2xlVGV4dDsK
LSAgICAgIAotICAgICAgdmFyIGRvY1JlZiA9IG51bGw7Ci0gICAgICBpZiAodHlwZW9mKHRoaXMu
ZG9jKSAhPSAndW5kZWZpbmVkJykgewotICAgICAgICBkb2NSZWYgPSB0aGlzLmRvYzsKLSAgICAg
IH0KLSAgICAgIGRvYyA9IGxvYWQoZG9jUmVmLCAiZG9jIiwgImhjX3N0YWZmIik7Ci0gICAgICBp
dGVtTGlzdCA9IGRvYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3Ryb25nIik7Ci0gICAgICBlbGVt
ZW50TmFtZSA9IGl0ZW1MaXN0Lml0ZW0oMCk7Ci0gICAgICB0ZXh0Tm9kZSA9IGVsZW1lbnROYW1l
LmZpcnN0Q2hpbGQ7Ci0KLSAgICAgIHJlcGxhY2VkVGV4dCA9IHRleHROb2RlLnJlcGxhY2VXaG9s
ZVRleHQoIk5ldyBDb250ZW50Iik7Ci0gICAgICB3aG9sZVRleHQgPSByZXBsYWNlZFRleHQud2hv
bGVUZXh0OwotCi0gICAgICBhc3NlcnRFcXVhbHMoInRleHRyZXBsYWNld2hvbGV0ZXh0MDFfMSIs
Ik5ldyBDb250ZW50Iix3aG9sZVRleHQpOwotICAgICAgIAotfQotCi0KLQotCi1mdW5jdGlvbiBy
dW5UZXN0KCkgewotICAgdGV4dHJlcGxhY2V3aG9sZXRleHQwMSgpOwotfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDEu
eGh0bWwgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9s
ZXRleHQwMS54aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2FiZmJiZjg2YmRl
YmM0Y2U4YWNmMDhmYTkxMzlmOTBhMDdhZjU2NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4
dHJlcGxhY2V3aG9sZXRleHQwMS54aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCI/Pjw/VEVTVC1TVFlMRSBQSURBVEE/PgotPCFET0NUWVBFIGh0
bWwKLSAgIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iCi0gICAieGh0
bWwxLXN0cmljdC5kdGQiIFsKLSAgIDwhRU5USVRZIGFscGhhICImIzk0NTsiPgotICAgPCFFTlRJ
VFkgYmV0YSAiJiM5NDY7Ij4KLSAgIDwhRU5USVRZIGdhbW1hICImIzk0NzsiPgotICAgPCFFTlRJ
VFkgZGVsdGEgIiYjOTQ4OyI+Ci0gICA8IUVOVElUWSBlcHNpbG9uICImIzk0OTsiPgotICAgPCFF
TlRJVFkgYWxwaGEgIiYjOTUwOyI+Ci0gICA8IU5PVEFUSU9OIG5vdGF0aW9uMSBQVUJMSUMgIm5v
dGF0aW9uMUZpbGUiPgotICAgPCFOT1RBVElPTiBub3RhdGlvbjIgU1lTVEVNICJub3RhdGlvbjJG
aWxlIj4KLSAgIDwhQVRUTElTVCBwCi0gICAgICAgIGRpciBDREFUQSAncnRsJwotICAgICAgICB4
bWxuczpkbXN0YyBDREFUQSAjSU1QTElFRAotICAgICAgICB4bWxuczpubSBDREFUQSAjSU1QTElF
RAotICAgICAgICB4bWxuczplbXAyIENEQVRBICNJTVBMSUVEPgotICAgPCFBVFRMSVNUIGh0bWwK
LSAgICAgICAgICAgICAgICAgICB4bWxuczp4c2kgQ0RBVEEgI0lNUExJRUQKLSAgICAgICAgICAg
ICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb24gQ0RBVEEgI0lNUExJRUQ+Ci0gICA8IUFUVExJU1Qg
YWNyb255bSB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbiBDREFUQSAjSU1QTElFRD4KLSAg
IDwhRU5USVRZIGVudDQgIjxzcGFuIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
Jz5FbGVtZW50IGRhdGE8L3NwYW4+PD9QSXRhcmdldCBQSWRhdGE/PiI+Ci0gICA8IUFUVExJU1Qg
c3BhbiB4bWxucyBDREFUQSAjSU1QTElFRD4KLV0+Ci08IS0tIFRoaXMgaXMgY29tbWVudCBudW1i
ZXIgMS4tLT4KLTxodG1sIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJwotICAg
ICAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNl
IgotICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0
bWwgaGNfc3RhZmYueHNkIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv
bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPjx0aXRsZT5oY19zdGFmZjwvdGl0bGU+
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VsZnhodG1sLmpzIi8+PHNjcmlw
dCBjaGFyc2V0PSJVVEYtOCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InRleHRyZXBsYWNl
d2hvbGV0ZXh0MDEuanMiLz48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZnVuY3Rpb24g
bG9hZENvbXBsZXRlKCkgeyBzdGFydFRlc3QoKTsgfTwvc2NyaXB0PjwvaGVhZD48Ym9keSBvbmxv
YWQ9ImxvYWRDb21wbGV0ZSgpIj4KLSA8cCB4bWxuczpkbXN0Yz0iaHR0cDovL3d3dy51c2EuY29t
Ij4KLSAgPGVtPkVNUDAwMDE8L2VtPgotICA8c3Ryb25nPk1hcmdhcmV0IE1hcnRpbjwvc3Ryb25n
PgotICA8Y29kZT5BY2NvdW50YW50PC9jb2RlPgotICA8c3VwPjU2LDAwMDwvc3VwPgotICA8dmFy
PkZlbWFsZTwvdmFyPgotICA8YWNyb255bSB0aXRsZT0iWWVzIiB4c2k6bm9OYW1lc3BhY2VTY2hl
bWFMb2NhdGlvbj0iWWVzIj4xMjMwIE5vcnRoIEF2ZS4gRGFsbGFzLCBUZXhhcyA5ODU1MTwvYWNy
b255bT4KLSA8L3A+Ci0gPHAgeG1sbnM6ZG1zdGM9Imh0dHA6Ly93d3cudXNhLmNvbSI+Ci0gIDxl
bT5FTVAwMDAyPC9lbT4KLSAgPHN0cm9uZz5NYXJ0aGEgUmF5bm9sZHMKLTwhW0NEQVRBW1RoaXMg
aXMgYSBDREFUQVNlY3Rpb24gd2l0aCBFbnRpdHlSZWZlcmVuY2UgbnVtYmVyIDIgJmVudDI7XV0+
Ci08IVtDREFUQVtUaGlzIGlzIGFuIGFkamFjZW50IENEQVRBU2VjdGlvbiB3aXRoIGEgcmVmZXJl
bmNlIHRvIGEgdGFiICZ0YWI7XV0+PC9zdHJvbmc+Ci0gIDxjb2RlPlNlY3JldGFyeTwvY29kZT4K
LSAgPHN1cD4zNSwwMDA8L3N1cD4KLSAgPHZhcj5GZW1hbGU8L3Zhcj4KLSAgPGFjcm9ueW0gdGl0
bGU9IlllcyIgY2xhc3M9IlllcyIgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249IlllcyI+
JmJldGE7IERhbGxhcywgJmdhbW1hOwotIDk4NTU0PC9hY3JvbnltPgotIDwvcD4KLSA8cCB4bWxu
czpkbXN0Yz0iaHR0cDovL3d3dy5uZXR6ZXJvLmNvbSI+Ci0gIDxlbT5FTVAwMDAzPC9lbT4KLSAg
PHN0cm9uZz5Sb2dlcgotIEpvbmVzPC9zdHJvbmc+Ci0gIDxjb2RlPkRlcGFydG1lbnQgTWFuYWdl
cjwvY29kZT4KLSAgPHN1cD4xMDAsMDAwPC9zdXA+Ci0gIDx2YXI+JmVudDQ7PC92YXI+Ci0gIDxh
Y3JvbnltIHRpdGxlPSJZZXMiIGNsYXNzPSJObyIgaWQ9Il85ODU1MyIgeHNpOm5vTmFtZXNwYWNl
U2NoZW1hTG9jYXRpb249IlllcyI+UE8gQm94IDI3IElydmluZywgdGV4YXMgOTg1NTM8L2Fjcm9u
eW0+Ci0gPC9wPgotIDxwIHhtbG5zOm5tPSJodHRwOi8vd3d3LmFsdGF2aXN0YS5jb20iPgotICA8
ZW0+RU1QMDAwNDwvZW0+Ci0gIDxzdHJvbmc+SmVueSBPY29ubm9yPC9zdHJvbmc+Ci0gIDxjb2Rl
PlBlcnNvbm5lbCBEaXJlY3RvcjwvY29kZT4KLSAgPHN1cD45NSwwMDA8L3N1cD4KLSAgPHZhcj5G
ZW1hbGU8L3Zhcj4KLSAgPGFjcm9ueW0gdGl0bGU9IlllcyIgY2xhc3M9IlkmYWxwaGE7IiBpZD0i
Xzk4NTU2IiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj4yNyBTb3V0aCBSb2Fk
LiBEYWxsYXMsIFRleGFzIDk4NTU2PC9hY3JvbnltPgotIDwvcD4KLSA8cCB4bWxuczplbXAyPSJo
dHRwOi8vd3d3Lm5pc3QuZ292Ij4KLSAgPGVtPkVNUDAwMDU8L2VtPgotICA8c3Ryb25nPlJvYmVy
dCBNeWVyczwvc3Ryb25nPgotICA8Y29kZT5Db21wdXRlciBTcGVjaWFsaXN0PC9jb2RlPgotICA8
c3VwPjkwLDAwMDwvc3VwPgotICA8dmFyPm1hbGU8L3Zhcj4KLSAgPGFjcm9ueW0gdGl0bGU9Illl
cyIgY2xhc3M9IlllcyIgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249IlllcyI+MTgyMSBO
b3JkaWMuIFJvYWQsIElydmluZyBUZXhhcyA5ODU1ODwvYWNyb255bT4KLSA8L3A+Ci08L2JvZHk+
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3Rl
eHRyZXBsYWNld2hvbGV0ZXh0MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZG9tL3hodG1s
L2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDItZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOTQ5NDFkYWMwYjQ3MzYwYjlhMTg1NGFlN2I0MjkyZTYy
MzNmNTQ5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDAyLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotVGVzdAlodHRwOi8vd3d3
LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0
ZXh0MDIKLVN0YXR1cwlTdWNjZXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9kb20veGh0bWwv
bGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwMi5qcyBiL0xheW91dFRlc3RzL2RvbS94
aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDAyLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyZGUyMzdhNjc3ZjlkMjE1MTk3YjdhMWYwNDRlNjdmN2JkYmRjZDVh
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDAyLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMTE0ICswLDAgQEAKLQotLyoKLUNvcHlyaWdodCDDgsKpIDIwMDEtMjAw
NCBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtLCAKLShNYXNzYWNodXNldHRzIEluc3RpdHV0ZSBv
ZiBUZWNobm9sb2d5LCBFdXJvcGVhbiBSZXNlYXJjaCBDb25zb3J0aXVtIAotZm9yIEluZm9ybWF0
aWNzIGFuZCBNYXRoZW1hdGljcywgS2VpbyBVbml2ZXJzaXR5KS4gQWxsIAotUmlnaHRzIFJlc2Vy
dmVkLiBUaGlzIHdvcmsgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFczQ8OCwq4gU29mdHdhcmUg
TGljZW5zZSBbMV0gaW4gdGhlIAotaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiAKLXRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gCi0K
LVsxXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDIvY29weXJpZ2h0LXNv
ZnR3YXJlLTIwMDIxMjMxCi0qLwotCi0KLQotICAgLyoqCi0gICAgKiAgR2V0cyBVUkkgdGhhdCBp
ZGVudGlmaWVzIHRoZSB0ZXN0LgotICAgICogIEByZXR1cm4gdXJpIGlkZW50aWZpZXIgb2YgdGVz
dAotICAgICovCi1mdW5jdGlvbiBnZXRUYXJnZXRVUkkoKSB7Ci0gICAgICByZXR1cm4gImh0dHA6
Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3
aG9sZXRleHQwMiI7Ci0gICB9Ci0KLXZhciBkb2NzTG9hZGVkID0gLTEwMDAwMDA7Ci12YXIgYnVp
bGRlciA9IG51bGw7Ci0KLS8vCi0vLyAgIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRoZSB0
ZXN0aW5nIGZyYW1ld29yayBiZWZvcmUKLS8vICAgICAgcnVubmluZyB0aGUgdGVzdCBzdWl0ZS4K
LS8vCi0vLyAgIElmIHRoZXJlIGFyZSBubyBjb25maWd1cmF0aW9uIGV4Y2VwdGlvbnMsIGFzeW5j
aHJvbm91cwotLy8gICAgICAgIGRvY3VtZW50IGxvYWRpbmcgaXMgc3RhcnRlZC4gIE90aGVyd2lz
ZSwgdGhlIHN0YXR1cwotLy8gICAgICAgIGlzIHNldCB0byBjb21wbGV0ZSBhbmQgdGhlIGV4Y2Vw
dGlvbiBpcyBpbW1lZGlhdGVseQotLy8gICAgICAgIHJhaXNlZCB3aGVuIGVudGVyaW5nIHRoZSBi
b2R5IG9mIHRoZSB0ZXN0LgotLy8KLWZ1bmN0aW9uIHNldFVwUGFnZSgpIHsKLSAgIHNldFVwUGFn
ZVN0YXR1cyA9ICdydW5uaW5nJzsKLSAgIHRyeSB7Ci0gICAgIC8vCi0gICAgIC8vICAgY3JlYXRl
cyB0ZXN0IGRvY3VtZW50IGJ1aWxkZXIsIG1heSB0aHJvdyBleGNlcHRpb24KLSAgICAgLy8KLSAg
ICAgYnVpbGRlciA9IGNyZWF0ZUNvbmZpZ3VyZWRCdWlsZGVyKCk7Ci0KLSAgICAgIGRvY3NMb2Fk
ZWQgPSAwOwotICAgICAgCi0gICAgICB2YXIgZG9jUmVmID0gbnVsbDsKLSAgICAgIGlmICh0eXBl
b2YodGhpcy5kb2MpICE9ICd1bmRlZmluZWQnKSB7Ci0gICAgICAgIGRvY1JlZiA9IHRoaXMuZG9j
OwotICAgICAgfQotICAgICAgZG9jc0xvYWRlZCArPSBwcmVsb2FkKGRvY1JlZiwgImRvYyIsICJo
Y19zdGFmZiIpOwotICAgICAgICAKLSAgICAgICBpZiAoZG9jc0xvYWRlZCA9PSAxKSB7Ci0gICAg
ICAgICAgc2V0VXBQYWdlU3RhdHVzID0gJ2NvbXBsZXRlJzsKLSAgICAgICB9Ci0gICAgfSBjYXRj
aChleCkgewotICAgIAljYXRjaEluaXRpYWxpemF0aW9uRXJyb3IoYnVpbGRlciwgZXgpOwotICAg
ICAgICBzZXRVcFBhZ2VTdGF0dXMgPSAnY29tcGxldGUnOwotICAgIH0KLX0KLQotCi0KLS8vCi0v
LyAgIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbiB0aGUgY29tcGxldGlvbiBvZiAKLS8vICAgICAg
ZWFjaCBhc3ljaHJvbm91cyBsb2FkIHN0YXJ0ZWQgaW4gc2V0VXBUZXN0cy4KLS8vCi0vLyAgIFdo
ZW4gZXZlcnkgc3luY2hyb25vdXMgbG9hZGVkIGRvY3VtZW50IGhhcyBjb21wbGV0ZWQsCi0vLyAg
ICAgIHRoZSBwYWdlIHN0YXR1cyBpcyBjaGFuZ2VkIHdoaWNoIGFsbG93cyB0aGUKLS8vICAgICAg
Ym9keSBvZiB0aGUgdGVzdCB0byBiZSBleGVjdXRlZC4KLWZ1bmN0aW9uIGxvYWRDb21wbGV0ZSgp
IHsKLSAgICBpZiAoKytkb2NzTG9hZGVkID09IDEpIHsKLSAgICAgICAgc2V0VXBQYWdlU3RhdHVz
ID0gJ2NvbXBsZXRlJzsKLSAgICB9Ci19Ci0KLQotLyoqCi0qIAotCUludm9rZSByZXBsYWNlV2hv
bGVUZXh0IG9uIGFuIGV4aXN0aW5nIFRleHQgTm9kZSB0byByZXBsYWNlIGl0cyB2YWx1ZSB3aXRo
IGFuIAotCWVtcHR5IHN0cmluZyB2YWx1ZS4gIFZlcmlmeSB0aGUgcmVwYWxjZVdob2xlVGV4dCBt
ZXRob2QgYnkgdmVyaWZ5aW5nIGlmIHRoZSB2YWx1ZSAKLQlyZXR1cm5lZCBpcyBudWxsLgotCi0q
IEBhdXRob3IgSUJNCi0qIEBhdXRob3IgTmVpbCBEZWxpbWEKLSogQHNlZSBodHRwOi8vd3d3Lncz
Lm9yZy9UUi8yMDA0L1JFQy1ET00tTGV2ZWwtMy1Db3JlLTIwMDQwNDA3L2NvcmUjVGV4dDMtcmVw
bGFjZVdob2xlVGV4dAotKi8KLWZ1bmN0aW9uIHRleHRyZXBsYWNld2hvbGV0ZXh0MDIoKSB7Ci0g
ICB2YXIgc3VjY2VzczsKLSAgICBpZihjaGVja0luaXRpYWxpemF0aW9uKGJ1aWxkZXIsICJ0ZXh0
cmVwbGFjZXdob2xldGV4dDAyIikgIT0gbnVsbCkgcmV0dXJuOwotICAgIHZhciBkb2M7Ci0gICAg
ICB2YXIgaXRlbUxpc3Q7Ci0gICAgICB2YXIgZWxlbWVudE5hbWU7Ci0gICAgICB2YXIgdGV4dE5v
ZGU7Ci0gICAgICB2YXIgcmVwbGFjZWRUZXh0OwotICAgICAgCi0gICAgICB2YXIgZG9jUmVmID0g
bnVsbDsKLSAgICAgIGlmICh0eXBlb2YodGhpcy5kb2MpICE9ICd1bmRlZmluZWQnKSB7Ci0gICAg
ICAgIGRvY1JlZiA9IHRoaXMuZG9jOwotICAgICAgfQotICAgICAgZG9jID0gbG9hZChkb2NSZWYs
ICJkb2MiLCAiaGNfc3RhZmYiKTsKLSAgICAgIGl0ZW1MaXN0ID0gZG9jLmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJzdHJvbmciKTsKLSAgICAgIGVsZW1lbnROYW1lID0gaXRlbUxpc3QuaXRlbSgwKTsK
LSAgICAgIHRleHROb2RlID0gZWxlbWVudE5hbWUuZmlyc3RDaGlsZDsKLQotICAgICAgcmVwbGFj
ZWRUZXh0ID0gdGV4dE5vZGUucmVwbGFjZVdob2xlVGV4dCgiIik7Ci0gICAgICBhc3NlcnROdWxs
KCJ0ZXh0cmVwbGFjZXdob2xldGV4dDAyIixyZXBsYWNlZFRleHQpOwotICAgIAotfQotCi0KLQot
Ci1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgdGV4dHJlcGxhY2V3aG9sZXRleHQwMigpOwotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBsYWNl
d2hvbGV0ZXh0MDIueGh0bWwgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4
dHJlcGxhY2V3aG9sZXRleHQwMi54aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OGMxNzEyNmZiMWU2ODFmZTU0MDk1MzNjNjI1NTc5YTNkZDRjNjk1Yi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2
ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwMi54aHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDczICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pjw/VEVTVC1TVFlMRSBQSURBVEE/Pgot
PCFET0NUWVBFIGh0bWwKLSAgIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8v
RU4iCi0gICAieGh0bWwxLXN0cmljdC5kdGQiIFsKLSAgIDwhRU5USVRZIGFscGhhICImIzk0NTsi
PgotICAgPCFFTlRJVFkgYmV0YSAiJiM5NDY7Ij4KLSAgIDwhRU5USVRZIGdhbW1hICImIzk0Nzsi
PgotICAgPCFFTlRJVFkgZGVsdGEgIiYjOTQ4OyI+Ci0gICA8IUVOVElUWSBlcHNpbG9uICImIzk0
OTsiPgotICAgPCFFTlRJVFkgYWxwaGEgIiYjOTUwOyI+Ci0gICA8IU5PVEFUSU9OIG5vdGF0aW9u
MSBQVUJMSUMgIm5vdGF0aW9uMUZpbGUiPgotICAgPCFOT1RBVElPTiBub3RhdGlvbjIgU1lTVEVN
ICJub3RhdGlvbjJGaWxlIj4KLSAgIDwhQVRUTElTVCBwCi0gICAgICAgIGRpciBDREFUQSAncnRs
JwotICAgICAgICB4bWxuczpkbXN0YyBDREFUQSAjSU1QTElFRAotICAgICAgICB4bWxuczpubSBD
REFUQSAjSU1QTElFRAotICAgICAgICB4bWxuczplbXAyIENEQVRBICNJTVBMSUVEPgotICAgPCFB
VFRMSVNUIGh0bWwKLSAgICAgICAgICAgICAgICAgICB4bWxuczp4c2kgQ0RBVEEgI0lNUExJRUQK
LSAgICAgICAgICAgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb24gQ0RBVEEgI0lNUExJRUQ+Ci0g
ICA8IUFUVExJU1QgYWNyb255bSB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbiBDREFUQSAj
SU1QTElFRD4KLSAgIDwhRU5USVRZIGVudDQgIjxzcGFuIHhtbG5zPSdodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hodG1sJz5FbGVtZW50IGRhdGE8L3NwYW4+PD9QSXRhcmdldCBQSWRhdGE/PiI+Ci0g
ICA8IUFUVExJU1Qgc3BhbiB4bWxucyBDREFUQSAjSU1QTElFRD4KLV0+Ci08IS0tIFRoaXMgaXMg
Y29tbWVudCBudW1iZXIgMS4tLT4KLTxodG1sIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hodG1sJwotICAgICAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2No
ZW1hLWluc3RhbmNlIgotICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGh0bWwgaGNfc3RhZmYueHNkIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250
ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPjx0aXRsZT5oY19z
dGFmZjwvdGl0bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ic2VsZnhodG1s
LmpzIi8+PHNjcmlwdCBjaGFyc2V0PSJVVEYtOCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InRleHRyZXBsYWNld2hvbGV0ZXh0MDIuanMiLz48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlw
dCc+ZnVuY3Rpb24gbG9hZENvbXBsZXRlKCkgeyBzdGFydFRlc3QoKTsgfTwvc2NyaXB0PjwvaGVh
ZD48Ym9keSBvbmxvYWQ9ImxvYWRDb21wbGV0ZSgpIj4KLSA8cCB4bWxuczpkbXN0Yz0iaHR0cDov
L3d3dy51c2EuY29tIj4KLSAgPGVtPkVNUDAwMDE8L2VtPgotICA8c3Ryb25nPk1hcmdhcmV0IE1h
cnRpbjwvc3Ryb25nPgotICA8Y29kZT5BY2NvdW50YW50PC9jb2RlPgotICA8c3VwPjU2LDAwMDwv
c3VwPgotICA8dmFyPkZlbWFsZTwvdmFyPgotICA8YWNyb255bSB0aXRsZT0iWWVzIiB4c2k6bm9O
YW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj4xMjMwIE5vcnRoIEF2ZS4gRGFsbGFzLCBUZXhh
cyA5ODU1MTwvYWNyb255bT4KLSA8L3A+Ci0gPHAgeG1sbnM6ZG1zdGM9Imh0dHA6Ly93d3cudXNh
LmNvbSI+Ci0gIDxlbT5FTVAwMDAyPC9lbT4KLSAgPHN0cm9uZz5NYXJ0aGEgUmF5bm9sZHMKLTwh
W0NEQVRBW1RoaXMgaXMgYSBDREFUQVNlY3Rpb24gd2l0aCBFbnRpdHlSZWZlcmVuY2UgbnVtYmVy
IDIgJmVudDI7XV0+Ci08IVtDREFUQVtUaGlzIGlzIGFuIGFkamFjZW50IENEQVRBU2VjdGlvbiB3
aXRoIGEgcmVmZXJlbmNlIHRvIGEgdGFiICZ0YWI7XV0+PC9zdHJvbmc+Ci0gIDxjb2RlPlNlY3Jl
dGFyeTwvY29kZT4KLSAgPHN1cD4zNSwwMDA8L3N1cD4KLSAgPHZhcj5GZW1hbGU8L3Zhcj4KLSAg
PGFjcm9ueW0gdGl0bGU9IlllcyIgY2xhc3M9IlllcyIgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9j
YXRpb249IlllcyI+JmJldGE7IERhbGxhcywgJmdhbW1hOwotIDk4NTU0PC9hY3JvbnltPgotIDwv
cD4KLSA8cCB4bWxuczpkbXN0Yz0iaHR0cDovL3d3dy5uZXR6ZXJvLmNvbSI+Ci0gIDxlbT5FTVAw
MDAzPC9lbT4KLSAgPHN0cm9uZz5Sb2dlcgotIEpvbmVzPC9zdHJvbmc+Ci0gIDxjb2RlPkRlcGFy
dG1lbnQgTWFuYWdlcjwvY29kZT4KLSAgPHN1cD4xMDAsMDAwPC9zdXA+Ci0gIDx2YXI+JmVudDQ7
PC92YXI+Ci0gIDxhY3JvbnltIHRpdGxlPSJZZXMiIGNsYXNzPSJObyIgaWQ9Il85ODU1MyIgeHNp
Om5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249IlllcyI+UE8gQm94IDI3IElydmluZywgdGV4YXMg
OTg1NTM8L2Fjcm9ueW0+Ci0gPC9wPgotIDxwIHhtbG5zOm5tPSJodHRwOi8vd3d3LmFsdGF2aXN0
YS5jb20iPgotICA8ZW0+RU1QMDAwNDwvZW0+Ci0gIDxzdHJvbmc+SmVueSBPY29ubm9yPC9zdHJv
bmc+Ci0gIDxjb2RlPlBlcnNvbm5lbCBEaXJlY3RvcjwvY29kZT4KLSAgPHN1cD45NSwwMDA8L3N1
cD4KLSAgPHZhcj5GZW1hbGU8L3Zhcj4KLSAgPGFjcm9ueW0gdGl0bGU9IlllcyIgY2xhc3M9Ilkm
YWxwaGE7IiBpZD0iXzk4NTU2IiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj4y
NyBTb3V0aCBSb2FkLiBEYWxsYXMsIFRleGFzIDk4NTU2PC9hY3JvbnltPgotIDwvcD4KLSA8cCB4
bWxuczplbXAyPSJodHRwOi8vd3d3Lm5pc3QuZ292Ij4KLSAgPGVtPkVNUDAwMDU8L2VtPgotICA8
c3Ryb25nPlJvYmVydCBNeWVyczwvc3Ryb25nPgotICA8Y29kZT5Db21wdXRlciBTcGVjaWFsaXN0
PC9jb2RlPgotICA8c3VwPjkwLDAwMDwvc3VwPgotICA8dmFyPm1hbGU8L3Zhcj4KLSAgPGFjcm9u
eW0gdGl0bGU9IlllcyIgY2xhc3M9IlllcyIgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249
IlllcyI+MTgyMSBOb3JkaWMuIFJvYWQsIElydmluZyBUZXhhcyA5ODU1ODwvYWNyb255bT4KLSA8
L3A+Ci08L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xl
dmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTljMjdhZjAxN2RhNjk2ZjBmZjY4
NTc2ZDJkM2YzOTkwNzZiODBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdo
b2xldGV4dDAzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotVGVz
dAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL3RleHRy
ZXBsYWNld2hvbGV0ZXh0MDMKLVN0YXR1cwlTdWNjZXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwMy5qcyBiL0xheW91
dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDAzLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYmFlMTI1NTk2ZWU5OTRmN2RiMmMwNmM0ZmIz
YTk4NGQwY2I2YzYxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4
dDAzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLQotLyoKLUNvcHlyaWdodCDD
gsKpIDIwMDEtMjAwNCBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtLCAKLShNYXNzYWNodXNldHRz
IEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5LCBFdXJvcGVhbiBSZXNlYXJjaCBDb25zb3J0aXVtIAot
Zm9yIEluZm9ybWF0aWNzIGFuZCBNYXRoZW1hdGljcywgS2VpbyBVbml2ZXJzaXR5KS4gQWxsIAot
UmlnaHRzIFJlc2VydmVkLiBUaGlzIHdvcmsgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFczQ8OC
wq4gU29mdHdhcmUgTGljZW5zZSBbMV0gaW4gdGhlIAotaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiAKLXRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gCi0KLVsxXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDIv
Y29weXJpZ2h0LXNvZnR3YXJlLTIwMDIxMjMxCi0qLwotCi0KLQotICAgLyoqCi0gICAgKiAgR2V0
cyBVUkkgdGhhdCBpZGVudGlmaWVzIHRoZSB0ZXN0LgotICAgICogIEByZXR1cm4gdXJpIGlkZW50
aWZpZXIgb2YgdGVzdAotICAgICovCi1mdW5jdGlvbiBnZXRUYXJnZXRVUkkoKSB7Ci0gICAgICBy
ZXR1cm4gImh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUv
dGV4dHJlcGxhY2V3aG9sZXRleHQwMyI7Ci0gICB9Ci0KLXZhciBkb2NzTG9hZGVkID0gLTEwMDAw
MDA7Ci12YXIgYnVpbGRlciA9IG51bGw7Ci0KLS8vCi0vLyAgIFRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIGJ5IHRoZSB0ZXN0aW5nIGZyYW1ld29yayBiZWZvcmUKLS8vICAgICAgcnVubmluZyB0aGUg
dGVzdCBzdWl0ZS4KLS8vCi0vLyAgIElmIHRoZXJlIGFyZSBubyBjb25maWd1cmF0aW9uIGV4Y2Vw
dGlvbnMsIGFzeW5jaHJvbm91cwotLy8gICAgICAgIGRvY3VtZW50IGxvYWRpbmcgaXMgc3RhcnRl
ZC4gIE90aGVyd2lzZSwgdGhlIHN0YXR1cwotLy8gICAgICAgIGlzIHNldCB0byBjb21wbGV0ZSBh
bmQgdGhlIGV4Y2VwdGlvbiBpcyBpbW1lZGlhdGVseQotLy8gICAgICAgIHJhaXNlZCB3aGVuIGVu
dGVyaW5nIHRoZSBib2R5IG9mIHRoZSB0ZXN0LgotLy8KLWZ1bmN0aW9uIHNldFVwUGFnZSgpIHsK
LSAgIHNldFVwUGFnZVN0YXR1cyA9ICdydW5uaW5nJzsKLSAgIHRyeSB7Ci0gICAgIC8vCi0gICAg
IC8vICAgY3JlYXRlcyB0ZXN0IGRvY3VtZW50IGJ1aWxkZXIsIG1heSB0aHJvdyBleGNlcHRpb24K
LSAgICAgLy8KLSAgICAgYnVpbGRlciA9IGNyZWF0ZUNvbmZpZ3VyZWRCdWlsZGVyKCk7Ci0KLSAg
ICAgIGRvY3NMb2FkZWQgPSAwOwotICAgICAgCi0gICAgICB2YXIgZG9jUmVmID0gbnVsbDsKLSAg
ICAgIGlmICh0eXBlb2YodGhpcy5kb2MpICE9ICd1bmRlZmluZWQnKSB7Ci0gICAgICAgIGRvY1Jl
ZiA9IHRoaXMuZG9jOwotICAgICAgfQotICAgICAgZG9jc0xvYWRlZCArPSBwcmVsb2FkKGRvY1Jl
ZiwgImRvYyIsICJoY19zdGFmZiIpOwotICAgICAgICAKLSAgICAgICBpZiAoZG9jc0xvYWRlZCA9
PSAxKSB7Ci0gICAgICAgICAgc2V0VXBQYWdlU3RhdHVzID0gJ2NvbXBsZXRlJzsKLSAgICAgICB9
Ci0gICAgfSBjYXRjaChleCkgewotICAgIAljYXRjaEluaXRpYWxpemF0aW9uRXJyb3IoYnVpbGRl
ciwgZXgpOwotICAgICAgICBzZXRVcFBhZ2VTdGF0dXMgPSAnY29tcGxldGUnOwotICAgIH0KLX0K
LQotCi0KLS8vCi0vLyAgIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbiB0aGUgY29tcGxldGlvbiBv
ZiAKLS8vICAgICAgZWFjaCBhc3ljaHJvbm91cyBsb2FkIHN0YXJ0ZWQgaW4gc2V0VXBUZXN0cy4K
LS8vCi0vLyAgIFdoZW4gZXZlcnkgc3luY2hyb25vdXMgbG9hZGVkIGRvY3VtZW50IGhhcyBjb21w
bGV0ZWQsCi0vLyAgICAgIHRoZSBwYWdlIHN0YXR1cyBpcyBjaGFuZ2VkIHdoaWNoIGFsbG93cyB0
aGUKLS8vICAgICAgYm9keSBvZiB0aGUgdGVzdCB0byBiZSBleGVjdXRlZC4KLWZ1bmN0aW9uIGxv
YWRDb21wbGV0ZSgpIHsKLSAgICBpZiAoKytkb2NzTG9hZGVkID09IDEpIHsKLSAgICAgICAgc2V0
VXBQYWdlU3RhdHVzID0gJ2NvbXBsZXRlJzsKLSAgICB9Ci19Ci0KLQotLyoqCi0qIAotCUludm9r
ZSByZXBsYWNlV2hvbGVUZXh0IG9uIGFuIG5ldyBUZXh0IE5vZGUgdG8gcmVwbGFjZSBpdHMgdmFs
dWUgd2l0aCBhIAotCW5ldyB2YWx1ZS4gIFZlcmlmeSB0aGUgcmVwYWxjZVdob2xlVGV4dCBieSB2
ZXJpZnlpbmcgdGhlIHZhbHVlcyByZXR1cm5lZCBieSAKLQl3aG9sZVRleHQgb2YgdGhlIHJldHVy
bmVkIFRleHQgbm9kZS4KLQotKiBAYXV0aG9yIElCTQotKiBAYXV0aG9yIE5laWwgRGVsaW1hCi0q
IEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwNC9SRUMtRE9NLUxldmVsLTMtQ29yZS0yMDA0
MDQwNy9jb3JlI1RleHQzLXJlcGxhY2VXaG9sZVRleHQKLSovCi1mdW5jdGlvbiB0ZXh0cmVwbGFj
ZXdob2xldGV4dDAzKCkgewotICAgdmFyIHN1Y2Nlc3M7Ci0gICAgaWYoY2hlY2tJbml0aWFsaXph
dGlvbihidWlsZGVyLCAidGV4dHJlcGxhY2V3aG9sZXRleHQwMyIpICE9IG51bGwpIHJldHVybjsK
LSAgICB2YXIgZG9jOwotICAgICAgdmFyIHRleHROb2RlOwotICAgICAgdmFyIHJlcGxhY2VkVGV4
dDsKLSAgICAgIHZhciB3aG9sZVRleHQ7Ci0gICAgICAKLSAgICAgIHZhciBkb2NSZWYgPSBudWxs
OwotICAgICAgaWYgKHR5cGVvZih0aGlzLmRvYykgIT0gJ3VuZGVmaW5lZCcpIHsKLSAgICAgICAg
ZG9jUmVmID0gdGhpcy5kb2M7Ci0gICAgICB9Ci0gICAgICBkb2MgPSBsb2FkKGRvY1JlZiwgImRv
YyIsICJoY19zdGFmZiIpOwotICAgICAgdGV4dE5vZGUgPSBkb2MuY3JlYXRlVGV4dE5vZGUoIk5l
dyBUZXh0Iik7Ci0gICAgICByZXBsYWNlZFRleHQgPSB0ZXh0Tm9kZS5yZXBsYWNlV2hvbGVUZXh0
KCIgYSBiIGMgYiAiKTsKLSAgICAgIHdob2xlVGV4dCA9IHJlcGxhY2VkVGV4dC53aG9sZVRleHQ7
Ci0KLSAgICAgIGFzc2VydEVxdWFscygidGV4dHJlcGxhY2V3aG9sZXRleHQwMyIsIiBhIGIgYyBi
ICIsd2hvbGVUZXh0KTsKLSAgICAgICAKLX0KLQotCi0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsK
LSAgIHRleHRyZXBsYWNld2hvbGV0ZXh0MDMoKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDAzLnhodG1sIGIvTGF5
b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDMueGh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiNGExZGFkZjQ4ZTIyNjAxN2Q3YTVl
NjU5MDFjNGM3MjRjYTkxZmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hv
bGV0ZXh0MDMueGh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiPz48P1RFU1QtU1RZTEUgUElEQVRBPz4KLTwhRE9DVFlQRSBodG1sCi0gICBQVUJM
SUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgotICAgInhodG1sMS1zdHJpY3Qu
ZHRkIiBbCi0gICA8IUVOVElUWSBhbHBoYSAiJiM5NDU7Ij4KLSAgIDwhRU5USVRZIGJldGEgIiYj
OTQ2OyI+Ci0gICA8IUVOVElUWSBnYW1tYSAiJiM5NDc7Ij4KLSAgIDwhRU5USVRZIGRlbHRhICIm
Izk0ODsiPgotICAgPCFFTlRJVFkgZXBzaWxvbiAiJiM5NDk7Ij4KLSAgIDwhRU5USVRZIGFscGhh
ICImIzk1MDsiPgotICAgPCFOT1RBVElPTiBub3RhdGlvbjEgUFVCTElDICJub3RhdGlvbjFGaWxl
Ij4KLSAgIDwhTk9UQVRJT04gbm90YXRpb24yIFNZU1RFTSAibm90YXRpb24yRmlsZSI+Ci0gICA8
IUFUVExJU1QgcAotICAgICAgICBkaXIgQ0RBVEEgJ3J0bCcKLSAgICAgICAgeG1sbnM6ZG1zdGMg
Q0RBVEEgI0lNUExJRUQKLSAgICAgICAgeG1sbnM6bm0gQ0RBVEEgI0lNUExJRUQKLSAgICAgICAg
eG1sbnM6ZW1wMiBDREFUQSAjSU1QTElFRD4KLSAgIDwhQVRUTElTVCBodG1sCi0gICAgICAgICAg
ICAgICAgICAgeG1sbnM6eHNpIENEQVRBICNJTVBMSUVECi0gICAgICAgICAgICAgICAgICAgeHNp
OnNjaGVtYUxvY2F0aW9uIENEQVRBICNJTVBMSUVEPgotICAgPCFBVFRMSVNUIGFjcm9ueW0geHNp
Om5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb24gQ0RBVEEgI0lNUExJRUQ+Ci0gICA8IUVOVElUWSBl
bnQ0ICI8c3BhbiB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc+RWxlbWVudCBk
YXRhPC9zcGFuPjw/UEl0YXJnZXQgUElkYXRhPz4iPgotICAgPCFBVFRMSVNUIHNwYW4geG1sbnMg
Q0RBVEEgI0lNUExJRUQ+Ci1dPgotPCEtLSBUaGlzIGlzIGNvbW1lbnQgbnVtYmVyIDEuLS0+Ci08
aHRtbCB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcKLSAgICAgICAgeG1sbnM6
eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKLSAgICAgICAg
eHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIGhjX3N0YWZm
LnhzZCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0
L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz48dGl0bGU+aGNfc3RhZmY8L3RpdGxlPjxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlbGZ4aHRtbC5qcyIvPjxzY3JpcHQgY2hhcnNldD0i
VVRGLTgiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ0ZXh0cmVwbGFjZXdob2xldGV4dDAz
LmpzIi8+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmZ1bmN0aW9uIGxvYWRDb21wbGV0
ZSgpIHsgc3RhcnRUZXN0KCk7IH08L3NjcmlwdD48L2hlYWQ+PGJvZHkgb25sb2FkPSJsb2FkQ29t
cGxldGUoKSI+Ci0gPHAgeG1sbnM6ZG1zdGM9Imh0dHA6Ly93d3cudXNhLmNvbSI+Ci0gIDxlbT5F
TVAwMDAxPC9lbT4KLSAgPHN0cm9uZz5NYXJnYXJldCBNYXJ0aW48L3N0cm9uZz4KLSAgPGNvZGU+
QWNjb3VudGFudDwvY29kZT4KLSAgPHN1cD41NiwwMDA8L3N1cD4KLSAgPHZhcj5GZW1hbGU8L3Zh
cj4KLSAgPGFjcm9ueW0gdGl0bGU9IlllcyIgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249
IlllcyI+MTIzMCBOb3J0aCBBdmUuIERhbGxhcywgVGV4YXMgOTg1NTE8L2Fjcm9ueW0+Ci0gPC9w
PgotIDxwIHhtbG5zOmRtc3RjPSJodHRwOi8vd3d3LnVzYS5jb20iPgotICA8ZW0+RU1QMDAwMjwv
ZW0+Ci0gIDxzdHJvbmc+TWFydGhhIFJheW5vbGRzCi08IVtDREFUQVtUaGlzIGlzIGEgQ0RBVEFT
ZWN0aW9uIHdpdGggRW50aXR5UmVmZXJlbmNlIG51bWJlciAyICZlbnQyO11dPgotPCFbQ0RBVEFb
VGhpcyBpcyBhbiBhZGphY2VudCBDREFUQVNlY3Rpb24gd2l0aCBhIHJlZmVyZW5jZSB0byBhIHRh
YiAmdGFiO11dPjwvc3Ryb25nPgotICA8Y29kZT5TZWNyZXRhcnk8L2NvZGU+Ci0gIDxzdXA+MzUs
MDAwPC9zdXA+Ci0gIDx2YXI+RmVtYWxlPC92YXI+Ci0gIDxhY3JvbnltIHRpdGxlPSJZZXMiIGNs
YXNzPSJZZXMiIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJZZXMiPiZiZXRhOyBEYWxs
YXMsICZnYW1tYTsKLSA5ODU1NDwvYWNyb255bT4KLSA8L3A+Ci0gPHAgeG1sbnM6ZG1zdGM9Imh0
dHA6Ly93d3cubmV0emVyby5jb20iPgotICA8ZW0+RU1QMDAwMzwvZW0+Ci0gIDxzdHJvbmc+Um9n
ZXIKLSBKb25lczwvc3Ryb25nPgotICA8Y29kZT5EZXBhcnRtZW50IE1hbmFnZXI8L2NvZGU+Ci0g
IDxzdXA+MTAwLDAwMDwvc3VwPgotICA8dmFyPiZlbnQ0OzwvdmFyPgotICA8YWNyb255bSB0aXRs
ZT0iWWVzIiBjbGFzcz0iTm8iIGlkPSJfOTg1NTMiIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0
aW9uPSJZZXMiPlBPIEJveCAyNyBJcnZpbmcsIHRleGFzIDk4NTUzPC9hY3JvbnltPgotIDwvcD4K
LSA8cCB4bWxuczpubT0iaHR0cDovL3d3dy5hbHRhdmlzdGEuY29tIj4KLSAgPGVtPkVNUDAwMDQ8
L2VtPgotICA8c3Ryb25nPkplbnkgT2Nvbm5vcjwvc3Ryb25nPgotICA8Y29kZT5QZXJzb25uZWwg
RGlyZWN0b3I8L2NvZGU+Ci0gIDxzdXA+OTUsMDAwPC9zdXA+Ci0gIDx2YXI+RmVtYWxlPC92YXI+
Ci0gIDxhY3JvbnltIHRpdGxlPSJZZXMiIGNsYXNzPSJZJmFscGhhOyIgaWQ9Il85ODU1NiIgeHNp
Om5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249IlllcyI+MjcgU291dGggUm9hZC4gRGFsbGFzLCBU
ZXhhcyA5ODU1NjwvYWNyb255bT4KLSA8L3A+Ci0gPHAgeG1sbnM6ZW1wMj0iaHR0cDovL3d3dy5u
aXN0LmdvdiI+Ci0gIDxlbT5FTVAwMDA1PC9lbT4KLSAgPHN0cm9uZz5Sb2JlcnQgTXllcnM8L3N0
cm9uZz4KLSAgPGNvZGU+Q29tcHV0ZXIgU3BlY2lhbGlzdDwvY29kZT4KLSAgPHN1cD45MCwwMDA8
L3N1cD4KLSAgPHZhcj5tYWxlPC92YXI+Ci0gIDxhY3JvbnltIHRpdGxlPSJZZXMiIGNsYXNzPSJZ
ZXMiIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJZZXMiPjE4MjEgTm9yZGljLiBSb2Fk
LCBJcnZpbmcgVGV4YXMgOTg1NTg8L2Fjcm9ueW0+Ci0gPC9wPgotPC9ib2R5PjwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdo
b2xldGV4dDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29y
ZS90ZXh0cmVwbGFjZXdob2xldGV4dDA0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYzZiMTMwYmNkMTg1YjU1ZDAyMzQwYTk5YmJhZGQxYmFjMDhmZDY0Ny4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9k
b20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwNC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRlc3QJaHR0cDovL3d3dy53My5vcmcvMjAw
MS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDA0Ci1TdGF0
dXMJU3VjY2VzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L3RleHRyZXBsYWNld2hvbGV0ZXh0MDQuanMgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwz
L2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwNC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggY2E4ZmYwYzk4MDhiMzVhNjY2YWVhMmMzYmI1OTUzMzRiMTVmZTc0MC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0
bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwNC5qcworKysgL2Rldi9udWxsCkBA
IC0xLDEwOSArMCwwIEBACi0KLS8qCi1Db3B5cmlnaHQgw4LCqSAyMDAxLTIwMDQgV29ybGQgV2lk
ZSBXZWIgQ29uc29ydGl1bSwgCi0oTWFzc2FjaHVzZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9n
eSwgRXVyb3BlYW4gUmVzZWFyY2ggQ29uc29ydGl1bSAKLWZvciBJbmZvcm1hdGljcyBhbmQgTWF0
aGVtYXRpY3MsIEtlaW8gVW5pdmVyc2l0eSkuIEFsbCAKLVJpZ2h0cyBSZXNlcnZlZC4gVGhpcyB3
b3JrIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBXM0PDgsKuIFNvZnR3YXJlIExpY2Vuc2UgWzFd
IGluIHRoZSAKLWhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gCi10aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIAotCi1bMV0gaHR0cDov
L3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDAyL2NvcHlyaWdodC1zb2Z0d2FyZS0yMDAy
MTIzMQotKi8KLQotCi0KLSAgIC8qKgotICAgICogIEdldHMgVVJJIHRoYXQgaWRlbnRpZmllcyB0
aGUgdGVzdC4KLSAgICAqICBAcmV0dXJuIHVyaSBpZGVudGlmaWVyIG9mIHRlc3QKLSAgICAqLwot
ZnVuY3Rpb24gZ2V0VGFyZ2V0VVJJKCkgewotICAgICAgcmV0dXJuICJodHRwOi8vd3d3LnczLm9y
Zy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDQi
OwotICAgfQotCi12YXIgZG9jc0xvYWRlZCA9IC0xMDAwMDAwOwotdmFyIGJ1aWxkZXIgPSBudWxs
OwotCi0vLwotLy8gICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgdGVzdGluZyBmcmFt
ZXdvcmsgYmVmb3JlCi0vLyAgICAgIHJ1bm5pbmcgdGhlIHRlc3Qgc3VpdGUuCi0vLwotLy8gICBJ
ZiB0aGVyZSBhcmUgbm8gY29uZmlndXJhdGlvbiBleGNlcHRpb25zLCBhc3luY2hyb25vdXMKLS8v
ICAgICAgICBkb2N1bWVudCBsb2FkaW5nIGlzIHN0YXJ0ZWQuICBPdGhlcndpc2UsIHRoZSBzdGF0
dXMKLS8vICAgICAgICBpcyBzZXQgdG8gY29tcGxldGUgYW5kIHRoZSBleGNlcHRpb24gaXMgaW1t
ZWRpYXRlbHkKLS8vICAgICAgICByYWlzZWQgd2hlbiBlbnRlcmluZyB0aGUgYm9keSBvZiB0aGUg
dGVzdC4KLS8vCi1mdW5jdGlvbiBzZXRVcFBhZ2UoKSB7Ci0gICBzZXRVcFBhZ2VTdGF0dXMgPSAn
cnVubmluZyc7Ci0gICB0cnkgewotICAgICAvLwotICAgICAvLyAgIGNyZWF0ZXMgdGVzdCBkb2N1
bWVudCBidWlsZGVyLCBtYXkgdGhyb3cgZXhjZXB0aW9uCi0gICAgIC8vCi0gICAgIGJ1aWxkZXIg
PSBjcmVhdGVDb25maWd1cmVkQnVpbGRlcigpOwotCi0gICAgICBkb2NzTG9hZGVkID0gMDsKLSAg
ICAgIAotICAgICAgdmFyIGRvY1JlZiA9IG51bGw7Ci0gICAgICBpZiAodHlwZW9mKHRoaXMuZG9j
KSAhPSAndW5kZWZpbmVkJykgewotICAgICAgICBkb2NSZWYgPSB0aGlzLmRvYzsKLSAgICAgIH0K
LSAgICAgIGRvY3NMb2FkZWQgKz0gcHJlbG9hZChkb2NSZWYsICJkb2MiLCAiaGNfc3RhZmYiKTsK
LSAgICAgICAgCi0gICAgICAgaWYgKGRvY3NMb2FkZWQgPT0gMSkgewotICAgICAgICAgIHNldFVw
UGFnZVN0YXR1cyA9ICdjb21wbGV0ZSc7Ci0gICAgICAgfQotICAgIH0gY2F0Y2goZXgpIHsKLSAg
ICAJY2F0Y2hJbml0aWFsaXphdGlvbkVycm9yKGJ1aWxkZXIsIGV4KTsKLSAgICAgICAgc2V0VXBQ
YWdlU3RhdHVzID0gJ2NvbXBsZXRlJzsKLSAgICB9Ci19Ci0KLQotCi0vLwotLy8gICBUaGlzIG1l
dGhvZCBpcyBjYWxsZWQgb24gdGhlIGNvbXBsZXRpb24gb2YgCi0vLyAgICAgIGVhY2ggYXN5Y2hy
b25vdXMgbG9hZCBzdGFydGVkIGluIHNldFVwVGVzdHMuCi0vLwotLy8gICBXaGVuIGV2ZXJ5IHN5
bmNocm9ub3VzIGxvYWRlZCBkb2N1bWVudCBoYXMgY29tcGxldGVkLAotLy8gICAgICB0aGUgcGFn
ZSBzdGF0dXMgaXMgY2hhbmdlZCB3aGljaCBhbGxvd3MgdGhlCi0vLyAgICAgIGJvZHkgb2YgdGhl
IHRlc3QgdG8gYmUgZXhlY3V0ZWQuCi1mdW5jdGlvbiBsb2FkQ29tcGxldGUoKSB7Ci0gICAgaWYg
KCsrZG9jc0xvYWRlZCA9PSAxKSB7Ci0gICAgICAgIHNldFVwUGFnZVN0YXR1cyA9ICdjb21wbGV0
ZSc7Ci0gICAgfQotfQotCi0KLS8qKgotKiAKLQlJbnZva2UgcmVwbGFjZVdob2xlVGV4dCBvbiBh
biBuZXcgVGV4dCBOb2RlIHRvIHJlcGxhY2UgaXRzIHZhbHVlIHdpdGggYW4gCi0JZW1wdHkgdmFs
dWUuICAgCi0KLSogQGF1dGhvciBJQk0KLSogQGF1dGhvciBOZWlsIERlbGltYQotKiBAc2VlIGh0
dHA6Ly93d3cudzMub3JnL1RSLzIwMDQvUkVDLURPTS1MZXZlbC0zLUNvcmUtMjAwNDA0MDcvY29y
ZSNUZXh0My1yZXBsYWNlV2hvbGVUZXh0Ci0qLwotZnVuY3Rpb24gdGV4dHJlcGxhY2V3aG9sZXRl
eHQwNCgpIHsKLSAgIHZhciBzdWNjZXNzOwotICAgIGlmKGNoZWNrSW5pdGlhbGl6YXRpb24oYnVp
bGRlciwgInRleHRyZXBsYWNld2hvbGV0ZXh0MDQiKSAhPSBudWxsKSByZXR1cm47Ci0gICAgdmFy
IGRvYzsKLSAgICAgIHZhciB0ZXh0Tm9kZTsKLSAgICAgIHZhciByZXBsYWNlZFRleHQ7Ci0gICAg
ICB2YXIgd2hvbGVUZXh0OwotICAgICAgCi0gICAgICB2YXIgZG9jUmVmID0gbnVsbDsKLSAgICAg
IGlmICh0eXBlb2YodGhpcy5kb2MpICE9ICd1bmRlZmluZWQnKSB7Ci0gICAgICAgIGRvY1JlZiA9
IHRoaXMuZG9jOwotICAgICAgfQotICAgICAgZG9jID0gbG9hZChkb2NSZWYsICJkb2MiLCAiaGNf
c3RhZmYiKTsKLSAgICAgIHRleHROb2RlID0gZG9jLmNyZWF0ZVRleHROb2RlKCJOZXcgVGV4dCIp
OwotICAgICAgcmVwbGFjZWRUZXh0ID0gdGV4dE5vZGUucmVwbGFjZVdob2xlVGV4dCgiIik7Ci0g
ICAgICBhc3NlcnROdWxsKCJyZXR2YWxJc051bGwiLHJlcGxhY2VkVGV4dCk7Ci0gICAgCi19Ci0K
LQotCi0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICB0ZXh0cmVwbGFjZXdob2xldGV4dDA0KCk7
Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJl
cGxhY2V3aG9sZXRleHQwNC54aHRtbCBiL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29y
ZS90ZXh0cmVwbGFjZXdob2xldGV4dDA0LnhodG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkNmJkODM0M2MwMjBiMTUxNDQ4NGY4MDA0Y2RhOGMxZmQ0NDc5YmFkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2RvbS94aHRt
bC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDA0LnhodG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNzMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+PD9URVNULVNUWUxFIFBJREFU
QT8+Ci08IURPQ1RZUEUgaHRtbAotICAgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3Ry
aWN0Ly9FTiIKLSAgICJ4aHRtbDEtc3RyaWN0LmR0ZCIgWwotICAgPCFFTlRJVFkgYWxwaGEgIiYj
OTQ1OyI+Ci0gICA8IUVOVElUWSBiZXRhICImIzk0NjsiPgotICAgPCFFTlRJVFkgZ2FtbWEgIiYj
OTQ3OyI+Ci0gICA8IUVOVElUWSBkZWx0YSAiJiM5NDg7Ij4KLSAgIDwhRU5USVRZIGVwc2lsb24g
IiYjOTQ5OyI+Ci0gICA8IUVOVElUWSBhbHBoYSAiJiM5NTA7Ij4KLSAgIDwhTk9UQVRJT04gbm90
YXRpb24xIFBVQkxJQyAibm90YXRpb24xRmlsZSI+Ci0gICA8IU5PVEFUSU9OIG5vdGF0aW9uMiBT
WVNURU0gIm5vdGF0aW9uMkZpbGUiPgotICAgPCFBVFRMSVNUIHAKLSAgICAgICAgZGlyIENEQVRB
ICdydGwnCi0gICAgICAgIHhtbG5zOmRtc3RjIENEQVRBICNJTVBMSUVECi0gICAgICAgIHhtbG5z
Om5tIENEQVRBICNJTVBMSUVECi0gICAgICAgIHhtbG5zOmVtcDIgQ0RBVEEgI0lNUExJRUQ+Ci0g
ICA8IUFUVExJU1QgaHRtbAotICAgICAgICAgICAgICAgICAgIHhtbG5zOnhzaSBDREFUQSAjSU1Q
TElFRAotICAgICAgICAgICAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbiBDREFUQSAjSU1QTElF
RD4KLSAgIDwhQVRUTElTVCBhY3JvbnltIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uIENE
QVRBICNJTVBMSUVEPgotICAgPCFFTlRJVFkgZW50NCAiPHNwYW4geG1sbnM9J2h0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwnPkVsZW1lbnQgZGF0YTwvc3Bhbj48P1BJdGFyZ2V0IFBJZGF0YT8+
Ij4KLSAgIDwhQVRUTElTVCBzcGFuIHhtbG5zIENEQVRBICNJTVBMSUVEPgotXT4KLTwhLS0gVGhp
cyBpcyBjb21tZW50IG51bWJlciAxLi0tPgotPGh0bWwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGh0bWwnCi0gICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9Y
TUxTY2hlbWEtaW5zdGFuY2UiCi0gICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCBoY19zdGFmZi54c2QiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9
IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+PHRpdGxl
PmhjX3N0YWZmPC90aXRsZT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWxm
eGh0bWwuanMiLz48c2NyaXB0IGNoYXJzZXQ9IlVURi04IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0idGV4dHJlcGxhY2V3aG9sZXRleHQwNC5qcyIvPjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZh
c2NyaXB0Jz5mdW5jdGlvbiBsb2FkQ29tcGxldGUoKSB7IHN0YXJ0VGVzdCgpOyB9PC9zY3JpcHQ+
PC9oZWFkPjxib2R5IG9ubG9hZD0ibG9hZENvbXBsZXRlKCkiPgotIDxwIHhtbG5zOmRtc3RjPSJo
dHRwOi8vd3d3LnVzYS5jb20iPgotICA8ZW0+RU1QMDAwMTwvZW0+Ci0gIDxzdHJvbmc+TWFyZ2Fy
ZXQgTWFydGluPC9zdHJvbmc+Ci0gIDxjb2RlPkFjY291bnRhbnQ8L2NvZGU+Ci0gIDxzdXA+NTYs
MDAwPC9zdXA+Ci0gIDx2YXI+RmVtYWxlPC92YXI+Ci0gIDxhY3JvbnltIHRpdGxlPSJZZXMiIHhz
aTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJZZXMiPjEyMzAgTm9ydGggQXZlLiBEYWxsYXMs
IFRleGFzIDk4NTUxPC9hY3JvbnltPgotIDwvcD4KLSA8cCB4bWxuczpkbXN0Yz0iaHR0cDovL3d3
dy51c2EuY29tIj4KLSAgPGVtPkVNUDAwMDI8L2VtPgotICA8c3Ryb25nPk1hcnRoYSBSYXlub2xk
cwotPCFbQ0RBVEFbVGhpcyBpcyBhIENEQVRBU2VjdGlvbiB3aXRoIEVudGl0eVJlZmVyZW5jZSBu
dW1iZXIgMiAmZW50MjtdXT4KLTwhW0NEQVRBW1RoaXMgaXMgYW4gYWRqYWNlbnQgQ0RBVEFTZWN0
aW9uIHdpdGggYSByZWZlcmVuY2UgdG8gYSB0YWIgJnRhYjtdXT48L3N0cm9uZz4KLSAgPGNvZGU+
U2VjcmV0YXJ5PC9jb2RlPgotICA8c3VwPjM1LDAwMDwvc3VwPgotICA8dmFyPkZlbWFsZTwvdmFy
PgotICA8YWNyb255bSB0aXRsZT0iWWVzIiBjbGFzcz0iWWVzIiB4c2k6bm9OYW1lc3BhY2VTY2hl
bWFMb2NhdGlvbj0iWWVzIj4mYmV0YTsgRGFsbGFzLCAmZ2FtbWE7Ci0gOTg1NTQ8L2Fjcm9ueW0+
Ci0gPC9wPgotIDxwIHhtbG5zOmRtc3RjPSJodHRwOi8vd3d3Lm5ldHplcm8uY29tIj4KLSAgPGVt
PkVNUDAwMDM8L2VtPgotICA8c3Ryb25nPlJvZ2VyCi0gSm9uZXM8L3N0cm9uZz4KLSAgPGNvZGU+
RGVwYXJ0bWVudCBNYW5hZ2VyPC9jb2RlPgotICA8c3VwPjEwMCwwMDA8L3N1cD4KLSAgPHZhcj4m
ZW50NDs8L3Zhcj4KLSAgPGFjcm9ueW0gdGl0bGU9IlllcyIgY2xhc3M9Ik5vIiBpZD0iXzk4NTUz
IiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj5QTyBCb3ggMjcgSXJ2aW5nLCB0
ZXhhcyA5ODU1MzwvYWNyb255bT4KLSA8L3A+Ci0gPHAgeG1sbnM6bm09Imh0dHA6Ly93d3cuYWx0
YXZpc3RhLmNvbSI+Ci0gIDxlbT5FTVAwMDA0PC9lbT4KLSAgPHN0cm9uZz5KZW55IE9jb25ub3I8
L3N0cm9uZz4KLSAgPGNvZGU+UGVyc29ubmVsIERpcmVjdG9yPC9jb2RlPgotICA8c3VwPjk1LDAw
MDwvc3VwPgotICA8dmFyPkZlbWFsZTwvdmFyPgotICA8YWNyb255bSB0aXRsZT0iWWVzIiBjbGFz
cz0iWSZhbHBoYTsiIGlkPSJfOTg1NTYiIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJZ
ZXMiPjI3IFNvdXRoIFJvYWQuIERhbGxhcywgVGV4YXMgOTg1NTY8L2Fjcm9ueW0+Ci0gPC9wPgot
IDxwIHhtbG5zOmVtcDI9Imh0dHA6Ly93d3cubmlzdC5nb3YiPgotICA8ZW0+RU1QMDAwNTwvZW0+
Ci0gIDxzdHJvbmc+Um9iZXJ0IE15ZXJzPC9zdHJvbmc+Ci0gIDxjb2RlPkNvbXB1dGVyIFNwZWNp
YWxpc3Q8L2NvZGU+Ci0gIDxzdXA+OTAsMDAwPC9zdXA+Ci0gIDx2YXI+bWFsZTwvdmFyPgotICA8
YWNyb255bSB0aXRsZT0iWWVzIiBjbGFzcz0iWWVzIiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2Nh
dGlvbj0iWWVzIj4xODIxIE5vcmRpYy4gUm9hZCwgSXJ2aW5nIFRleGFzIDk4NTU4PC9hY3Jvbnlt
PgotIDwvcD4KLTwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9kb20veGh0
bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwNS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5YjJjYWU5YWVhZjQyNTZi
ZDA3NThhN2FlZTEzMWMyODA5MWZkODIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBs
YWNld2hvbGV0ZXh0MDUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBA
Ci1UZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUv
dGV4dHJlcGxhY2V3aG9sZXRleHQwNQotU3RhdHVzCVN1Y2Nlc3MKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDA1LmpzIGIv
TGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hvbGV0ZXh0MDUu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1NDA2OTIxYzVjMjYwZGUzODhkMDM0
ZWNhNzU5OWZjMTI2MDYwZTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL3RleHRyZXBsYWNld2hv
bGV0ZXh0MDUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotCi0vKgotQ29weXJp
Z2h0IMOCwqkgMjAwMS0yMDA0IFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0sIAotKE1hc3NhY2h1
c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIEV1cm9wZWFuIFJlc2VhcmNoIENvbnNvcnRp
dW0gCi1mb3IgSW5mb3JtYXRpY3MgYW5kIE1hdGhlbWF0aWNzLCBLZWlvIFVuaXZlcnNpdHkpLiBB
bGwgCi1SaWdodHMgUmVzZXJ2ZWQuIFRoaXMgd29yayBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUg
VzNDw4LCriBTb2Z0d2FyZSBMaWNlbnNlIFsxXSBpbiB0aGUgCi1ob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIAotdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAKLQotWzFdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwv
MjAwMi9jb3B5cmlnaHQtc29mdHdhcmUtMjAwMjEyMzEKLSovCi0KLQotCi0gICAvKioKLSAgICAq
ICBHZXRzIFVSSSB0aGF0IGlkZW50aWZpZXMgdGhlIHRlc3QuCi0gICAgKiAgQHJldHVybiB1cmkg
aWRlbnRpZmllciBvZiB0ZXN0Ci0gICAgKi8KLWZ1bmN0aW9uIGdldFRhcmdldFVSSSgpIHsKLSAg
ICAgIHJldHVybiAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMv
Y29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDA1IjsKLSAgIH0KLQotdmFyIGRvY3NMb2FkZWQgPSAt
MTAwMDAwMDsKLXZhciBidWlsZGVyID0gbnVsbDsKLQotLy8KLS8vICAgVGhpcyBmdW5jdGlvbiBp
cyBjYWxsZWQgYnkgdGhlIHRlc3RpbmcgZnJhbWV3b3JrIGJlZm9yZQotLy8gICAgICBydW5uaW5n
IHRoZSB0ZXN0IHN1aXRlLgotLy8KLS8vICAgSWYgdGhlcmUgYXJlIG5vIGNvbmZpZ3VyYXRpb24g
ZXhjZXB0aW9ucywgYXN5bmNocm9ub3VzCi0vLyAgICAgICAgZG9jdW1lbnQgbG9hZGluZyBpcyBz
dGFydGVkLiAgT3RoZXJ3aXNlLCB0aGUgc3RhdHVzCi0vLyAgICAgICAgaXMgc2V0IHRvIGNvbXBs
ZXRlIGFuZCB0aGUgZXhjZXB0aW9uIGlzIGltbWVkaWF0ZWx5Ci0vLyAgICAgICAgcmFpc2VkIHdo
ZW4gZW50ZXJpbmcgdGhlIGJvZHkgb2YgdGhlIHRlc3QuCi0vLwotZnVuY3Rpb24gc2V0VXBQYWdl
KCkgewotICAgc2V0VXBQYWdlU3RhdHVzID0gJ3J1bm5pbmcnOwotICAgdHJ5IHsKLSAgICAgLy8K
LSAgICAgLy8gICBjcmVhdGVzIHRlc3QgZG9jdW1lbnQgYnVpbGRlciwgbWF5IHRocm93IGV4Y2Vw
dGlvbgotICAgICAvLwotICAgICBidWlsZGVyID0gY3JlYXRlQ29uZmlndXJlZEJ1aWxkZXIoKTsK
LQotICAgICAgZG9jc0xvYWRlZCA9IDA7Ci0gICAgICAKLSAgICAgIHZhciBkb2NSZWYgPSBudWxs
OwotICAgICAgaWYgKHR5cGVvZih0aGlzLmRvYykgIT0gJ3VuZGVmaW5lZCcpIHsKLSAgICAgICAg
ZG9jUmVmID0gdGhpcy5kb2M7Ci0gICAgICB9Ci0gICAgICBkb2NzTG9hZGVkICs9IHByZWxvYWQo
ZG9jUmVmLCAiZG9jIiwgImhjX3N0YWZmIik7Ci0gICAgICAgIAotICAgICAgIGlmIChkb2NzTG9h
ZGVkID09IDEpIHsKLSAgICAgICAgICBzZXRVcFBhZ2VTdGF0dXMgPSAnY29tcGxldGUnOwotICAg
ICAgIH0KLSAgICB9IGNhdGNoKGV4KSB7Ci0gICAgCWNhdGNoSW5pdGlhbGl6YXRpb25FcnJvcihi
dWlsZGVyLCBleCk7Ci0gICAgICAgIHNldFVwUGFnZVN0YXR1cyA9ICdjb21wbGV0ZSc7Ci0gICAg
fQotfQotCi0KLQotLy8KLS8vICAgVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uIHRoZSBjb21wbGV0
aW9uIG9mIAotLy8gICAgICBlYWNoIGFzeWNocm9ub3VzIGxvYWQgc3RhcnRlZCBpbiBzZXRVcFRl
c3RzLgotLy8KLS8vICAgV2hlbiBldmVyeSBzeW5jaHJvbm91cyBsb2FkZWQgZG9jdW1lbnQgaGFz
IGNvbXBsZXRlZCwKLS8vICAgICAgdGhlIHBhZ2Ugc3RhdHVzIGlzIGNoYW5nZWQgd2hpY2ggYWxs
b3dzIHRoZQotLy8gICAgICBib2R5IG9mIHRoZSB0ZXN0IHRvIGJlIGV4ZWN1dGVkLgotZnVuY3Rp
b24gbG9hZENvbXBsZXRlKCkgewotICAgIGlmICgrK2RvY3NMb2FkZWQgPT0gMSkgewotICAgICAg
ICBzZXRVcFBhZ2VTdGF0dXMgPSAnY29tcGxldGUnOwotICAgIH0KLX0KLQotCi0vKioKLSogCi0J
SW52b2tlIHJlcGxhY2VXaG9sZVRleHQgb24gYW4gZXhpc3RpbmcgdGV4dCBub2RlIHdpdGggbmV3
bHkgY3JlYXRlZCB0ZXh0IGFuZCBDREFUQVNlY3Rpb24KLQlub2RlcyBhcHBlbmRlZCBhcyBjaGls
ZHJlbiBvZiBpdHMgcGFyZW50IGVsZW1lbnQgbm9kZS4gIFZlcmlmeSByZXBhbGNlV2hvbGVUZXh0
IGJ5IAotCXZlcmlmeWluZyB0aGUgdmFsdWVzIHJldHVybmVkIGJ5IHdob2xlVGV4dC4KLQotKiBA
YXV0aG9yIElCTQotKiBAYXV0aG9yIE5laWwgRGVsaW1hCi0qIEBzZWUgaHR0cDovL3d3dy53My5v
cmcvVFIvMjAwNC9SRUMtRE9NLUxldmVsLTMtQ29yZS0yMDA0MDQwNy9jb3JlI1RleHQzLXJlcGxh
Y2VXaG9sZVRleHQKLSovCi1mdW5jdGlvbiB0ZXh0cmVwbGFjZXdob2xldGV4dDA1KCkgewotICAg
dmFyIHN1Y2Nlc3M7Ci0gICAgaWYoY2hlY2tJbml0aWFsaXphdGlvbihidWlsZGVyLCAidGV4dHJl
cGxhY2V3aG9sZXRleHQwNSIpICE9IG51bGwpIHJldHVybjsKLSAgICB2YXIgZG9jOwotICAgICAg
dmFyIGl0ZW1MaXN0OwotICAgICAgdmFyIGVsZW1lbnROYW1lOwotICAgICAgdmFyIHRleHROb2Rl
OwotICAgICAgdmFyIGNkYXRhTm9kZTsKLSAgICAgIHZhciByZXBsYWNlZFRleHQ7Ci0gICAgICB2
YXIgd2hvbGVUZXh0OwotICAgICAgdmFyIGFwcGVuZGVkQ2hpbGQ7Ci0gICAgICAKLSAgICAgIHZh
ciBkb2NSZWYgPSBudWxsOwotICAgICAgaWYgKHR5cGVvZih0aGlzLmRvYykgIT0gJ3VuZGVmaW5l
ZCcpIHsKLSAgICAgICAgZG9jUmVmID0gdGhpcy5kb2M7Ci0gICAgICB9Ci0gICAgICBkb2MgPSBs
b2FkKGRvY1JlZiwgImRvYyIsICJoY19zdGFmZiIpOwotICAgICAgaXRlbUxpc3QgPSBkb2MuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoInN0cm9uZyIpOwotICAgICAgZWxlbWVudE5hbWUgPSBpdGVtTGlz
dC5pdGVtKDApOwotICAgICAgdGV4dE5vZGUgPSBkb2MuY3JlYXRlVGV4dE5vZGUoIk5ldyBUZXh0
Iik7Ci0gICAgICBjZGF0YU5vZGUgPSBkb2MuY3JlYXRlQ0RBVEFTZWN0aW9uKCJOZXcgQ0RBVEEi
KTsKLSAgICAgIGFwcGVuZGVkQ2hpbGQgPSBlbGVtZW50TmFtZS5hcHBlbmRDaGlsZCh0ZXh0Tm9k
ZSk7Ci0gICAgICBhcHBlbmRlZENoaWxkID0gZWxlbWVudE5hbWUuYXBwZW5kQ2hpbGQoY2RhdGFO
b2RlKTsKLSAgICAgIHRleHROb2RlID0gZWxlbWVudE5hbWUuZmlyc3RDaGlsZDsKLQotICAgICAg
cmVwbGFjZWRUZXh0ID0gdGV4dE5vZGUucmVwbGFjZVdob2xlVGV4dCgiTmV3IFRleHQgYW5kIENk
YXRhIik7Ci0gICAgICB3aG9sZVRleHQgPSByZXBsYWNlZFRleHQud2hvbGVUZXh0OwotCi0gICAg
ICBhc3NlcnRFcXVhbHMoInRleHRyZXBsYWNld2hvbGV0ZXh0MDUiLCJOZXcgVGV4dCBhbmQgQ2Rh
dGEiLHdob2xlVGV4dCk7Ci0gICAgICAgCi19Ci0KLQotCi0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7
Ci0gICB0ZXh0cmVwbGFjZXdob2xldGV4dDA1KCk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvdGV4dHJlcGxhY2V3aG9sZXRleHQwNS54aHRtbCBiL0xh
eW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdob2xldGV4dDA1Lnho
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MTMxN2NlMGVlYzc5ZDc5OGM2Njgy
NWFjMDFkMzhkMjVjMWUyYzVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS90ZXh0cmVwbGFjZXdo
b2xldGV4dDA1LnhodG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIj8+PD9URVNULVNUWUxFIFBJREFUQT8+Ci08IURPQ1RZUEUgaHRtbAotICAgUFVC
TElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKLSAgICJ4aHRtbDEtc3RyaWN0
LmR0ZCIgWwotICAgPCFFTlRJVFkgYWxwaGEgIiYjOTQ1OyI+Ci0gICA8IUVOVElUWSBiZXRhICIm
Izk0NjsiPgotICAgPCFFTlRJVFkgZ2FtbWEgIiYjOTQ3OyI+Ci0gICA8IUVOVElUWSBkZWx0YSAi
JiM5NDg7Ij4KLSAgIDwhRU5USVRZIGVwc2lsb24gIiYjOTQ5OyI+Ci0gICA8IUVOVElUWSBhbHBo
YSAiJiM5NTA7Ij4KLSAgIDwhTk9UQVRJT04gbm90YXRpb24xIFBVQkxJQyAibm90YXRpb24xRmls
ZSI+Ci0gICA8IU5PVEFUSU9OIG5vdGF0aW9uMiBTWVNURU0gIm5vdGF0aW9uMkZpbGUiPgotICAg
PCFBVFRMSVNUIHAKLSAgICAgICAgZGlyIENEQVRBICdydGwnCi0gICAgICAgIHhtbG5zOmRtc3Rj
IENEQVRBICNJTVBMSUVECi0gICAgICAgIHhtbG5zOm5tIENEQVRBICNJTVBMSUVECi0gICAgICAg
IHhtbG5zOmVtcDIgQ0RBVEEgI0lNUExJRUQ+Ci0gICA8IUFUVExJU1QgaHRtbAotICAgICAgICAg
ICAgICAgICAgIHhtbG5zOnhzaSBDREFUQSAjSU1QTElFRAotICAgICAgICAgICAgICAgICAgIHhz
aTpzY2hlbWFMb2NhdGlvbiBDREFUQSAjSU1QTElFRD4KLSAgIDwhQVRUTElTVCBhY3JvbnltIHhz
aTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uIENEQVRBICNJTVBMSUVEPgotICAgPCFFTlRJVFkg
ZW50NCAiPHNwYW4geG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnPkVsZW1lbnQg
ZGF0YTwvc3Bhbj48P1BJdGFyZ2V0IFBJZGF0YT8+Ij4KLSAgIDwhQVRUTElTVCBzcGFuIHhtbG5z
IENEQVRBICNJTVBMSUVEPgotXT4KLTwhLS0gVGhpcyBpcyBjb21tZW50IG51bWJlciAxLi0tPgot
PGh0bWwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnCi0gICAgICAgIHhtbG5z
OnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCi0gICAgICAg
IHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCBoY19zdGFm
Zi54c2QiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4
dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+PHRpdGxlPmhjX3N0YWZmPC90aXRsZT48c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWxmeGh0bWwuanMiLz48c2NyaXB0IGNoYXJzZXQ9
IlVURi04IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idGV4dHJlcGxhY2V3aG9sZXRleHQw
NS5qcyIvPjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5mdW5jdGlvbiBsb2FkQ29tcGxl
dGUoKSB7IHN0YXJ0VGVzdCgpOyB9PC9zY3JpcHQ+PC9oZWFkPjxib2R5IG9ubG9hZD0ibG9hZENv
bXBsZXRlKCkiPgotIDxwIHhtbG5zOmRtc3RjPSJodHRwOi8vd3d3LnVzYS5jb20iPgotICA8ZW0+
RU1QMDAwMTwvZW0+Ci0gIDxzdHJvbmc+TWFyZ2FyZXQgTWFydGluPC9zdHJvbmc+Ci0gIDxjb2Rl
PkFjY291bnRhbnQ8L2NvZGU+Ci0gIDxzdXA+NTYsMDAwPC9zdXA+Ci0gIDx2YXI+RmVtYWxlPC92
YXI+Ci0gIDxhY3JvbnltIHRpdGxlPSJZZXMiIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9u
PSJZZXMiPjEyMzAgTm9ydGggQXZlLiBEYWxsYXMsIFRleGFzIDk4NTUxPC9hY3JvbnltPgotIDwv
cD4KLSA8cCB4bWxuczpkbXN0Yz0iaHR0cDovL3d3dy51c2EuY29tIj4KLSAgPGVtPkVNUDAwMDI8
L2VtPgotICA8c3Ryb25nPk1hcnRoYSBSYXlub2xkcwotPCFbQ0RBVEFbVGhpcyBpcyBhIENEQVRB
U2VjdGlvbiB3aXRoIEVudGl0eVJlZmVyZW5jZSBudW1iZXIgMiAmZW50MjtdXT4KLTwhW0NEQVRB
W1RoaXMgaXMgYW4gYWRqYWNlbnQgQ0RBVEFTZWN0aW9uIHdpdGggYSByZWZlcmVuY2UgdG8gYSB0
YWIgJnRhYjtdXT48L3N0cm9uZz4KLSAgPGNvZGU+U2VjcmV0YXJ5PC9jb2RlPgotICA8c3VwPjM1
LDAwMDwvc3VwPgotICA8dmFyPkZlbWFsZTwvdmFyPgotICA8YWNyb255bSB0aXRsZT0iWWVzIiBj
bGFzcz0iWWVzIiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj4mYmV0YTsgRGFs
bGFzLCAmZ2FtbWE7Ci0gOTg1NTQ8L2Fjcm9ueW0+Ci0gPC9wPgotIDxwIHhtbG5zOmRtc3RjPSJo
dHRwOi8vd3d3Lm5ldHplcm8uY29tIj4KLSAgPGVtPkVNUDAwMDM8L2VtPgotICA8c3Ryb25nPlJv
Z2VyCi0gSm9uZXM8L3N0cm9uZz4KLSAgPGNvZGU+RGVwYXJ0bWVudCBNYW5hZ2VyPC9jb2RlPgot
ICA8c3VwPjEwMCwwMDA8L3N1cD4KLSAgPHZhcj4mZW50NDs8L3Zhcj4KLSAgPGFjcm9ueW0gdGl0
bGU9IlllcyIgY2xhc3M9Ik5vIiBpZD0iXzk4NTUzIiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2Nh
dGlvbj0iWWVzIj5QTyBCb3ggMjcgSXJ2aW5nLCB0ZXhhcyA5ODU1MzwvYWNyb255bT4KLSA8L3A+
Ci0gPHAgeG1sbnM6bm09Imh0dHA6Ly93d3cuYWx0YXZpc3RhLmNvbSI+Ci0gIDxlbT5FTVAwMDA0
PC9lbT4KLSAgPHN0cm9uZz5KZW55IE9jb25ub3I8L3N0cm9uZz4KLSAgPGNvZGU+UGVyc29ubmVs
IERpcmVjdG9yPC9jb2RlPgotICA8c3VwPjk1LDAwMDwvc3VwPgotICA8dmFyPkZlbWFsZTwvdmFy
PgotICA8YWNyb255bSB0aXRsZT0iWWVzIiBjbGFzcz0iWSZhbHBoYTsiIGlkPSJfOTg1NTYiIHhz
aTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJZZXMiPjI3IFNvdXRoIFJvYWQuIERhbGxhcywg
VGV4YXMgOTg1NTY8L2Fjcm9ueW0+Ci0gPC9wPgotIDxwIHhtbG5zOmVtcDI9Imh0dHA6Ly93d3cu
bmlzdC5nb3YiPgotICA8ZW0+RU1QMDAwNTwvZW0+Ci0gIDxzdHJvbmc+Um9iZXJ0IE15ZXJzPC9z
dHJvbmc+Ci0gIDxjb2RlPkNvbXB1dGVyIFNwZWNpYWxpc3Q8L2NvZGU+Ci0gIDxzdXA+OTAsMDAw
PC9zdXA+Ci0gIDx2YXI+bWFsZTwvdmFyPgotICA8YWNyb255bSB0aXRsZT0iWWVzIiBjbGFzcz0i
WWVzIiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj4xODIxIE5vcmRpYy4gUm9h
ZCwgSXJ2aW5nIFRleGFzIDk4NTU4PC9hY3JvbnltPgotIDwvcD4KLTwvYm9keT48L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9BdHRyL2NoYW5nZS1pZC12aWEtYXR0ci1u
b2RlLXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0F0dHIvY2hhbmdl
LWlkLXZpYS1hdHRyLW5vZGUtdmFsdWUtZXhwZWN0ZWQudHh0CmluZGV4IDYyZmI5YThiNDlhYTc2
ZmZiYjU5NTMwOTg4NDczMTI1YmU5ZWI4YzguLmE3NThmZWVlOTVlNjRhZTdkM2I2ZGQyZTBmMTY5
MDgwMTBjZDViZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0F0dHIvY2hhbmdl
LWlkLXZpYS1hdHRyLW5vZGUtdmFsdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0F0dHIvY2hhbmdlLWlkLXZpYS1hdHRyLW5vZGUtdmFsdWUtZXhwZWN0ZWQudHh0CkBA
IC0xMDAsMTQgKzEwMCw2IEBAIFBBU1MgZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoImlkIikg
aXMgImhpIgogUEFTUyBkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZU5vZGUoImlkIikudGV4dENv
bnRlbnQgaXMgImhpIgogUEFTUyBkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZU5vZGUoImlkIiku
Y2hpbGROb2Rlcy5sZW5ndGggaXMgMQogCi0xNS4gQ2hhbmdpbmcgQXR0ci5ub2RlVmFsdWUuCi1Q
QVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaSIpIGlzIG51bGwKLVBBU1MgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImoiKSBpcyBkb2N1bWVudC5ib2R5Ci1QQVNTIGRvY3VtZW50LmJvZHku
aWQgaXMgImoiCi1QQVNTIGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICJqIgot
UEFTUyBhdHRyTm9kZS50ZXh0Q29udGVudCBpcyAiaiIKLVBBU1MgYXR0ck5vZGUuY2hpbGROb2Rl
cy5sZW5ndGggaXMgMQotCiAxNi4gQ2hhbmdpbmcgVGV4dC5kYXRhLgogUEFTUyBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaiIpIGlzIG51bGwKIFBBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImsiKSBpcyBkb2N1bWVudC5ib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9B
dHRyL2NoYW5nZS1pZC12aWEtYXR0ci1ub2RlLXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9BdHRyL2NoYW5nZS1pZC12aWEtYXR0ci1ub2RlLXZhbHVlLmh0bWwKaW5kZXggMWFjOTI3
OWVmZjBhYWVkMmUwZTFjMGUxNDZkYzNmMjRiNmY5ZjRmMy4uMjNlYzUyYjg5ZTlmZDQ1OWE0YzUw
YzA2M2FkMzg1NTkzNmQ5NWRiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vQXR0
ci9jaGFuZ2UtaWQtdmlhLWF0dHItbm9kZS12YWx1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0F0dHIvY2hhbmdlLWlkLXZpYS1hdHRyLW5vZGUtdmFsdWUuaHRtbApAQCAtMTM0LDE2
ICsxMzQsNiBAQCBzaG91bGRCZSgnZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoImlkIiknLCAn
ImhpIicpOwogc2hvdWxkQmUoJ2RvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS50
ZXh0Q29udGVudCcsICciaGkiJyk7CiBzaG91bGRCZSgnZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1
dGVOb2RlKCJpZCIpLmNoaWxkTm9kZXMubGVuZ3RoJywgJzEnKTsKIAotZGVidWcoIlxuMTUuIENo
YW5naW5nIEF0dHIubm9kZVZhbHVlLiIpOwotYXR0ck5vZGUubm9kZVZhbHVlID0gImZvbyI7Ci1h
dHRyTm9kZS5maXJzdENoaWxkLnJlcGxhY2VXaG9sZVRleHQoImoiKTsKLXNob3VsZEJlKCdkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaGkiKScsICdudWxsJyk7Ci1zaG91bGRCZSgnZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImoiKScsICdkb2N1bWVudC5ib2R5Jyk7Ci1zaG91bGRCZSgnZG9jdW1l
bnQuYm9keS5pZCcsICciaiInKTsKLXNob3VsZEJlKCdkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0
ZSgiaWQiKScsICciaiInKTsKLXNob3VsZEJlKCdhdHRyTm9kZS50ZXh0Q29udGVudCcsICciaiIn
KTsKLXNob3VsZEJlKCdhdHRyTm9kZS5jaGlsZE5vZGVzLmxlbmd0aCcsICcxJyk7Ci0KIGRlYnVn
KCJcbjE2LiBDaGFuZ2luZyBUZXh0LmRhdGEuIik7CiBhdHRyTm9kZS5maXJzdENoaWxkLmRhdGEg
PSAiayI7CiBzaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImoiKScsICdudWxsJyk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9UZXh0L3JlcGxhY2VXaG9sZVRleHQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vVGV4dC9yZXBsYWNlV2hvbGVUZXh0
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODMwMWVjNmJhNDdh
MGM2NGMyY2QxZjVkOTM3YWRkMzUwMGNjNmE4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9UZXh0L3JlcGxhY2VXaG9s
ZVRleHQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotVGVzdCB3
aG9sZVRleHQgYW5kIHJlcGxhY2VXaG9sZVRleHQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi0KLVBBU1MgdGV4dEIud2hvbGVUZXh0IGlzICdBQicKLVBBU1MgcGFyYS50ZXh0Q29udGVu
dCBpcyAnQUJDJwotUEFTUyB0ZXh0Qi53aG9sZVRleHQgaXMgJ1hZWicKLVBBU1MgcGFyYS50ZXh0
Q29udGVudCBpcyAnWFlaQycKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9UZXh0L3JlcGxh
Y2VXaG9sZVRleHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1RleHQvcmVwbGFjZVdob2xl
VGV4dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjVjNDRmZWEzYTI5YjYz
NzFkODBiMmVlNTUxOGI0MDY5ZmM5ZDM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1RleHQvcmVwbGFjZVdob2xlVGV4
dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlcGxhY2VXaG9sZVRleHQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zdG9yYWdlL3N0b3JhZ2UtZGV0YWNoZWQtaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS1leHBlY3RlZC50eHQKaW5k
ZXggZWVmMmNlNWRmMmI4MDMzZDU4ZTg5OTYwMDYwMmNkYmU4Zjc1ZDhhNS4uM2JmYzFjOTMwYzk4
MDk5YmVhYTc0Y2M5MjVjOThkYzZkZTdiMDM1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9zdG9yYWdlL3N0b3JhZ2UtZGV0YWNoZWQtaWZyYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0
CkBAIC0xLDUgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI1OiBFeHBlY3RlZCBleGNl
cHRpb24gY2F1Z2h0LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM5OiBFeHBlY3RlZCBleGNlcHRp
b24gY2F1Z2h0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBFeHBlY3RlZCBleGNlcHRpb24g
Y2F1Z2h0LgogQnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTcx
NDAKIAogRGVzY3JpcHRpb246IENyYXNoIGZyb20gbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGJl
bG93IFdlYkNvcmU6OlN0b3JhZ2VBcmVhSW1wbDo6c2V0SXRlbSgpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hlZC1pZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sCmluZGV4IDA2
MGQ0MjViM2VhYTA3MWE0NGQ4ZGRjZDQ5ZWNhMWZmZGZjMmZiOTcuLjZlM2RiYzFkNzdmNTY3OWM2
NWZkMWIzODJjYmJjMjYzMDdmNTBlZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc3Rv
cmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sCkBAIC05LDIzICs5LDYgQEAKICAg
ICAgICAgICB9CiAgICAgICB9CiAKLSAgICAgIGZ1bmN0aW9uIHJ1blRlc3RSZXBsYWNlV2hvbGVU
ZXh0KCkKLSAgICAgIHsKLSAgICAgICAgICB0MSA9IG9wZW5JZnJhbWUoKTsKLSAgICAgICAgICB2
YXIgYSA9IHQxLmNvbnRlbnRXaW5kb3cuZnJhbWVzOwotICAgICAgICAgIHZhciBiID0gdDEuY29u
dGVudERvY3VtZW50LmRlZmF1bHRWaWV3LmxvY2FsU3RvcmFnZTsKLSAgICAgICAgICB0MS5vdXRl
clRleHQgPSAiIjsKLSAgICAgICAgICB0MS5zcmMgPSB1bmRlZmluZWQ7Ci0gICAgICAgICAgZmly
c3RfYXR0ciA9IHQxLmF0dHJpYnV0ZXMuaXRlbSh1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZp
bmVkLCB1bmRlZmluZWQpOwotICAgICAgICAgIGZpcnN0X2F0dHJfdmFsdWVfcmVwbGFjZWQgPSBm
aXJzdF9hdHRyLmZpcnN0Q2hpbGQucmVwbGFjZVdob2xlVGV4dCh1bmRlZmluZWQsIHVuZGVmaW5l
ZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQpOwotICAgICAgICAgIGZpcnN0X2F0dHJfdmFsdWVfcmVw
bGFjZWQuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSA9IGE7Ci0gICAgICAgICAgdHJ5IHsKLSAgICAg
ICAgICAgICAgZmlyc3RfYXR0ci5maXJzdENoaWxkLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUubG9j
YWxTdG9yYWdlLmZ1enozX3Zpc2l0ZWQ9InRlc3QiOwotICAgICAgICAgIH0gY2F0Y2ggKGUpIHsK
LSAgICAgICAgICAgICAgY29uc29sZS5sb2coIkV4cGVjdGVkIGV4Y2VwdGlvbiBjYXVnaHQuIik7
Ci0gICAgICAgICAgfQotICAgICAgfQotCiAgICAgICBmdW5jdGlvbiBydW5UZXN0T3V0ZXJUZXh0
KCkgewogICAgICAgICAgIHQxID0gb3BlbklmcmFtZSgpOwogICAgICAgICAgIHZhciBhID0gdDEu
Y29udGVudFdpbmRvdy5mcmFtZXM7CkBAIC00MSw3ICsyNCw2IEBACiAgICAgICB9CiAKICAgICAg
IGZ1bmN0aW9uIHJ1blRlc3RzKCkgewotICAgICAgICAgIHJ1blRlc3RSZXBsYWNlV2hvbGVUZXh0
KCk7CiAgICAgICAgICAgcnVuVGVzdE91dGVyVGV4dCgpOwogICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAicGFzc2VkIjsKICAgICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1pZnJh
bWUtc3JjLWFsaWFzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkveHNzLURFTklFRC1pZnJhbWUtc3JjLWFsaWFzLWV4cGVjdGVkLnR4dAppbmRleCBiNDI3YzUw
ODE1ODhlM2Q1MzE2M2EwMjQzOGY1YzAxZDBlNjM1MzM3Li5hYTNjNzVhMzE4ZDk2ZDc5NzE3MGUw
Y2NiYTViM2EwMDNlZmYxYWRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzcy1ERU5JRUQtaWZyYW1lLXNyYy1hbGlhcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELWlmcmFtZS1zcmMtYWxpYXMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDIwICsxLDE5IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgODY6
IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9t
IGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwODAiLiBQ
cm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDg2OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9z
dDo4MDgwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA4NjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6
Ly9sb2NhbGhvc3Q6ODA4MCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0
Y2guCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgODY6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdp
biAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3Jp
Z2luICJodHRwOi8vbG9jYWxob3N0OjgwODAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0
cyBtdXN0IG1hdGNoLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBCbG9ja2VkIGEgZnJhbWUg
d2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFt
ZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDgwIi4gUHJvdG9jb2xzLCBkb21haW5z
LCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA4NjogQmxvY2tl
ZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNz
aW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIuIFByb3RvY29s
cywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
ODU6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBm
cm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwODAi
LiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDg1OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2Fs
aG9zdDo4MDgwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NP
TlNPTEUgTUVTU0FHRTogbGluZSA4NTogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRw
Oi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0
dHA6Ly9sb2NhbGhvc3Q6ODA4MCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3Qg
bWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgODU6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9y
aWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGgg
b3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwODAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBw
b3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg1OiBCbG9ja2VkIGEgZnJh
bWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBm
cmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDgwIi4gUHJvdG9jb2xzLCBkb21h
aW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogQmxv
Y2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNj
ZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIuIFByb3Rv
Y29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCiBDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjc6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
IiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0Ojgw
ODAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDI4OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xv
Y2FsaG9zdDo4MDgwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11
c3QgbWF0Y2guCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzc6IEJsb2NrZWQgYSBmcmFtZSB3aXRo
IG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdp
dGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwODAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFu
ZCBwb3J0cyBtdXN0IG1hdGNoLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQzOiBCbG9ja2VkIGEg
ZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Npbmcg
YSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDgwIi4gUHJvdG9jb2xzLCBk
b21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0Nzog
QmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20g
YWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIuIFBy
b3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgNTM6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4
MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0
OjgwODAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDYxOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDov
L2xvY2FsaG9zdDo4MDgwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRj
aC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2NTogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2lu
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmln
aW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRz
IG11c3QgbWF0Y2guCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNzE6IEJsb2NrZWQgYSBmcmFtZSB3
aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1l
IHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwODAiLiBQcm90b2NvbHMsIGRvbWFpbnMs
IGFuZCBwb3J0cyBtdXN0IG1hdGNoLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc2OiBCbG9ja2Vk
IGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3Np
bmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDgwIi4gUHJvdG9jb2xz
LCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAz
MTogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZy
b20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIu
IFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzY6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAu
MTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxo
b3N0OjgwODAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDQyOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0
cDovL2xvY2FsaG9zdDo4MDgwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBt
YXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NjogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3Jp
Z2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBv
cmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBv
cnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTI6IEJsb2NrZWQgYSBmcmFt
ZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZy
YW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwODAiLiBQcm90b2NvbHMsIGRvbWFp
bnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYwOiBCbG9j
a2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nl
c3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDgwIi4gUHJvdG9j
b2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSA2NDogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjgwMDAi
IGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4
MCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNzA6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9j
YWxob3N0OjgwODAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDc1OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAi
aHR0cDovL2xvY2FsaG9zdDo4MDgwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVz
dCBtYXRjaC4KIFRoaXMgc2NyaXB0IHRlc3RzIGlmIGlmcmFtZS5zcmMgY2FuIGJlIHNldCB0byBh
IEphdmFTY3JpcHQgVVJMIHZpYSBhbHRlcm5hdGUgRE9NIGludGVyZmFjZXMgKHN1Y2ggYXMgTm9k
ZS50ZXh0Q29udGVudCBvciBOYW1lZE5vZGUuc2V0TmFtZWRJdGVtKS4gVGhlIHRlc3QgaXMgc3Vj
Y2Vzc2Z1bCBpZiBubyBhbGVydHMgYXBwZWFyIGFuZCB0aGUgcGFnZSBmaW5pc2hlcyBsb2FkaW5n
LgogCiAKQEAgLTMzLDQgKzMyLDMgQEAgVGhpcyBzY3JpcHQgdGVzdHMgaWYgaWZyYW1lLnNyYyBj
YW4gYmUgc2V0IHRvIGEgSmF2YVNjcmlwdCBVUkwgdmlhIGFsdGVybmF0ZSBET00KIAogCiAKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELWlm
cmFtZS1zcmMtYWxpYXMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNz
LURFTklFRC1pZnJhbWUtc3JjLWFsaWFzLmh0bWwKaW5kZXggNzk1ZDQ1OGZiZGJjZDg1MDQzMGM1
ZGFhNzZkNThjMWQzNzM5OTE0ZC4uNjMxYjhjYjE1ODFiZTE4ZWYwZWMxMWM0MjIwYTA4OTEzNWVi
OGEwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVO
SUVELWlmcmFtZS1zcmMtYWxpYXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzcy1ERU5JRUQtaWZyYW1lLXNyYy1hbGlhcy5odG1sCkBAIC0yMCw3ICsyMCw2IEBA
IHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCiAgICAgICAgIGZ1bmN0aW9uKGlGcmFtZSkgeyBp
RnJhbWUuYXR0cmlidXRlc1snc3JjJ10ubm9kZVZhbHVlID0gYWxlcnRNc2coIm5vZGVWYWx1ZSIp
O30sCiAgICAgICAgIAogICAgICAgICAvLyBUZXh0IE5vZGUgTWFuaXB1bGF0aW9uCi0gICAgICAg
IGZ1bmN0aW9uKGlGcmFtZSkgeyBpRnJhbWUuYXR0cmlidXRlc1snc3JjJ10uZmlyc3RDaGlsZC5y
ZXBsYWNlV2hvbGVUZXh0KGFsZXJ0TXNnKCJub2RlVmFsdWUiKSk7fSwKICAgICAgICAgZnVuY3Rp
b24oaUZyYW1lKSB7IGlGcmFtZS5hdHRyaWJ1dGVzWydzcmMnXS5maXJzdENoaWxkLmRhdGEgPSBh
bGVydE1zZygibm9kZVZhbHVlIik7fSwKIAogICAgICAgICAvLyBOb2RlIGF0dHJpYnV0ZSBtYW5p
cHVsYXRpb24gZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9oaXN0b3JpY2FsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2hpc3RvcmljYWwtZXhwZWN0
ZWQudHh0CmluZGV4IDA3YTJiYjQ5ZjAzMjhmY2JhMDUwYjMzZjQyZmIzZDFkYzNjZmVlZDkuLmZh
MmRlYmVkMjYyNjc1MDZkMWYxYzg2Njg1ZTFmMDIxNmNiNGRjZDEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2hpc3RvcmljYWwtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2hpc3RvcmljYWwtZXhwZWN0ZWQudHh0CkBAIC00NCw5ICs0NCw3IEBAIFBBU1MgRG9j
dW1lbnRUeXBlIG1lbWJlciBtdXN0IGJlIG51a2VkOiBlbnRpdGllcwogUEFTUyBEb2N1bWVudFR5
cGUgbWVtYmVyIG11c3QgYmUgbnVrZWQ6IG5vdGF0aW9ucyAKIFBBU1MgRG9jdW1lbnRUeXBlIG1l
bWJlciBtdXN0IGJlIG51a2VkOiBpbnRlcm5hbFN1YnNldCAKIFBBU1MgVGV4dCBtZW1iZXIgbXVz
dCBiZSBudWtlZDogaXNFbGVtZW50Q29udGVudFdoaXRlc3BhY2UgCi1GQUlMIFRleHQgbWVtYmVy
IG11c3QgYmUgbnVrZWQ6IHJlcGxhY2VXaG9sZVRleHQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rp
b24gcmVwbGFjZVdob2xlVGV4dCgpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IgorUEFTUyBUZXh0
IG1lbWJlciBtdXN0IGJlIG51a2VkOiByZXBsYWNlV2hvbGVUZXh0IAogUEFTUyBOb2RlIG1lbWJl
ciBtdXN0IGJlIG51a2VkOiBoYXNBdHRyaWJ1dGVzIAogUEFTUyBOb2RlIG1lbWJlciBtdXN0IGJl
IG51a2VkOiBhdHRyaWJ1dGVzIAogRkFJTCBOb2RlIG1lbWJlciBtdXN0IGJlIG51a2VkOiBuYW1l
c3BhY2VVUkkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1
dCBnb3QgKG9iamVjdCkgbnVsbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2luc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9pbnNwZWN0b3IvbW9kZWwvcmVtb3RlLW9iamVjdC1leHBlY3RlZC50eHQK
aW5kZXggZWE2N2ZkYmE0MzAwNmZkZmYyNTJlOWRmNThjOTZjZTA5ZDQxYmQwYi4uM2Y0NGJmN2Qz
ZjM5YjkzMmZmNDNlNGMzMmY3ZGViZTZiNTUzYjUzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2luc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW5zcGVjdG9yL21vZGVsL3JlbW90ZS1vYmpl
Y3QtZXhwZWN0ZWQudHh0CkBAIC0xOTc0LDE1ICsxOTc0LDE1IEBAIEVYUFJFU1NJT046IHRleHQg
PSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgndGV4dCBjb250ZW50Jyk7IHRleHQKICAgICAgIH0s
CiAgICAgICB7CiAgICAgICAgICJfbGlzdGVuZXJzIjogbnVsbCwKLSAgICAgICAgIl9uYW1lIjog
InJlcGxhY2VXaG9sZVRleHQiLAotICAgICAgICAiX3R5cGUiOiAiZnVuY3Rpb24iLAotICAgICAg
ICAiX3ZhbHVlIjogIiIKLSAgICAgIH0sCi0gICAgICB7Ci0gICAgICAgICJfbGlzdGVuZXJzIjog
bnVsbCwKICAgICAgICAgIl9uYW1lIjogImRhdGEiLAogICAgICAgICAiX3R5cGUiOiAic3RyaW5n
IiwKICAgICAgICAgIl92YWx1ZSI6ICJ0ZXh0IGNvbnRlbnQiCisgICAgICB9LAorICAgICAgewor
ICAgICAgICAiX2xpc3RlbmVycyI6IG51bGwsCisgICAgICAgICJfbmFtZSI6ICJsZW5ndGgiLAor
ICAgICAgICAiX3R5cGUiOiAibnVtYmVyIiwKKyAgICAgICAgIl92YWx1ZSI6ICIxMiIKICAgICAg
IH0KICAgICBdLAogICAgICJfZW50cmllcyI6IG51bGwK
</data>

          </attachment>
      

    </bug>

</bugzilla>