<?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>102913</bug_id>
          
          <creation_ts>2012-11-21 02:51:27 -0800</creation_ts>
          <short_desc>[Shadow DOM] Kill ShadowRoot constructor</short_desc>
          <delta_ts>2012-12-16 20:57:48 -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>DOM</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>102911</dependson>
    
    <dependson>104238</dependson>
    
    <dependson>104770</dependson>
          <blocked>63606</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ericbidelman</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hayato</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>syoichi</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>772715</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-21 02:51:27 -0800</bug_when>
    <thetext>Once createShadowRoot() is implemented, we no longer need (and should not have) ShadowRoot constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787180</commentid>
    <comment_count>1</comment_count>
      <attachid>178510</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-12-10 03:59:50 -0800</bug_when>
    <thetext>Created attachment 178510
wip. need to update exported symbols.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787202</commentid>
    <comment_count>2</comment_count>
      <attachid>178518</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-12-10 04:40:21 -0800</bug_when>
    <thetext>Created attachment 178518
Update DOMWindow.idl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787223</commentid>
    <comment_count>3</comment_count>
      <attachid>178518</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-10 05:42:27 -0800</bug_when>
    <thetext>Comment on attachment 178518
Update DOMWindow.idl

Attachment 178518 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15236485

New failing tests:
fast/frames/detached-shadow-frame.html
inspector/elements/shadow-root.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787766</commentid>
    <comment_count>4</comment_count>
      <attachid>178518</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-10 15:22:02 -0800</bug_when>
    <thetext>Comment on attachment 178518
Update DOMWindow.idl

Attachment 178518 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15257304

New failing tests:
editing/shadow/breaking-editing-boundaries-2.html
fast/dom/shadow/insertion-point-resetStyleInheritance.html
editing/shadow/selection-of-shadowroot.html
inspector/elements/shadow-root.html
inspector/elements/update-shadowdom.html
editing/shadow/execcommand-indent-in-shadow.html
editing/shadow/insertorderedlist-crash.html
editing/shadow/delete-list-in-shadow.html
editing/shadow/contenteditable-propagation-at-shadow-boundary.html
editing/shadow/rightclick-on-meter-in-shadow-crash.html
editing/shadow/selection-of-orphan-shadowroot.html
editing/shadow/doubleclick-on-meter-in-shadow-crash.html
editing/shadow/shadow-selection-not-exported.html
editing/shadow/select-contenteditable-shadowhost.html
editing/shadow/pressing-enter-on-list.html
editing/shadow/adjusting-editing-boundary-with-table-in-shadow.html
editing/shadow/breaking-editing-boundaries.html
editing/shadow/delete-characters-in-distributed-node-crash.html
editing/shadow/compare-positions-in-nested-shadow.html
editing/shadow/breaking-editing-boundary-with-table.html
editing/shadow/bold-twice-in-shadow.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787967</commentid>
    <comment_count>5</comment_count>
      <attachid>178694</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-12-10 20:12:20 -0800</bug_when>
    <thetext>Created attachment 178694
further updating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788041</commentid>
    <comment_count>6</comment_count>
      <attachid>178715</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-12-10 22:03:57 -0800</bug_when>
    <thetext>Created attachment 178715
fix a test on mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789153</commentid>
    <comment_count>7</comment_count>
      <attachid>178715</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 20:53:52 -0800</bug_when>
    <thetext>Comment on attachment 178715
fix a test on mac.

Clearing flags on attachment: 178715

Committed r137408: &lt;http://trac.webkit.org/changeset/137408&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789155</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 20:53:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789237</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 23:22:39 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 104770</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790123</commentid>
    <comment_count>10</comment_count>
      <attachid>179163</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-12-12 17:45:08 -0800</bug_when>
    <thetext>Created attachment 179163
relanding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790124</commentid>
    <comment_count>11</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-12-12 17:47:08 -0800</bug_when>
    <thetext>Let me re-land the patch after https://codereview.chromium.org/11548020/ is resolved.
Since I&apos;ve not reverted the layout tests, this re-landing patch just deletes the constructor.


(In reply to comment #10)
&gt; Created an attachment (id=179163) [details]
&gt; relanding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792455</commentid>
    <comment_count>12</comment_count>
      <attachid>179163</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-16 20:57:43 -0800</bug_when>
    <thetext>Comment on attachment 179163
relanding.

Clearing flags on attachment: 179163

Committed r137870: &lt;http://trac.webkit.org/changeset/137870&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792456</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-16 20:57:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178510</attachid>
            <date>2012-12-10 03:59:50 -0800</date>
            <delta_ts>2012-12-10 04:40:17 -0800</delta_ts>
            <desc>wip. need to update exported symbols.</desc>
            <filename>bug-102913-20121210205711.patch</filename>
            <type>text/plain</type>
            <size>215846</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmYyMjMyYzJhYTAyYWU1
N2YzNDBhNzNjYzhkZjI0ZTAzZjZhYWY2MS4uNzg4ZWFkNWJjMTkwM2Q1YzJiZWI3ZDFlODE2ZDZj
YmIxZTVlMDhmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTEwICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93IERPTV0gS2ls
bCBTaGFkb3dSb290IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDI5MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgU2hhZG93Um9vdCBjb25zdHJ1Y3RvIGluIGZhdm9yIG9m
IEVsZW1lbnQuY3JlYXRlU2hhZG93Um9vdCgpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVXBk
YXRlIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaWRsOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6Y3JlYXRlU2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisKIDIwMTItMTItMDkgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIGFjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXIuaHRt
bCBpcyBmYWlsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwKaW5kZXggZmY5MDFlNTI4ZDc2
NzI3Zjg5N2M2Mzg3MzI0NWRmNGFiMmVmOGEzMS4uMWZlZDMxYTAxZGMxM2VlYmE5MjYzNTI5NzVi
YWQ4ZjVmYmQxNGJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbApAQCAtMjYsOCArMjYs
NiBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U0hBRE9XX0RPTSwKLSAgICBDb25zdHJ1Y3Rvcihp
biBFbGVtZW50IGhvc3QpLAotICAgIENvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAogICAgIEpT
R2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBTaGFkb3dSb290IDogRG9jdW1lbnRGcmFn
bWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgYWN0aXZlRWxlbWVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4ODJmZmQyODc4MGY0NDBmMmQ2MDVm
MjM2NmMwMWE0ZTllZDE5MzllLi42Yzk4ZmQzNWM4ZGQxYjU2YTVhN2NlZDM2ZDA1MGIwMWY0YWNj
OTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01MjksNiArNTI5LDE1
IEBAIEludGVybmFsczo6U2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogSW50ZXJu
YWxzOjplbnN1cmVTaGFkb3dSb290KEVsZW1lCiAgICAgcmV0dXJuIFNoYWRvd1Jvb3Q6OmNyZWF0
ZShob3N0LCBlYykuZ2V0KCk7CiB9CiAKK0ludGVybmFsczo6U2hhZG93Um9vdElmU2hhZG93RE9N
RW5hYmxlZE9yTm9kZSogSW50ZXJuYWxzOjpjcmVhdGVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3Qs
IEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghaG9zdCkgeworICAgICAgICBlYyA9IElO
VkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIHJldHVybiBT
aGFkb3dSb290OjpjcmVhdGUoaG9zdCwgZWMpLmdldCgpOworfQorCiBJbnRlcm5hbHM6OlNoYWRv
d1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6c2hhZG93Um9vdChFbGVt
ZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICAvLyBGSVhNRTogSW50ZXJuYWxz
OjpzaGFkb3dSb290KCkgaW4gdGVzdHMgc2hvdWxkIGJlIGNvbnZlcnRlZCB0byB5b3VuZ2VzdFNo
YWRvd1Jvb3QoKSBvciBvbGRlc3RTaGFkb3dSb290KCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAppbmRleCAwNjg1ZjliZmJiNDZmYTY0NWU5NzQwMjkzZTkxYWMyMmJkYmFjZWRlLi41MTdj
M2U3YmI2YmYwYTcyMjY5OTg0ZmM1ZDkyYTI1ZTRlNTYzZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgKQEAgLTgzLDYgKzgzLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgTm9kZSBT
aGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlOwogI2VuZGlmCiAgICAgU2hhZG93Um9v
dElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogZW5zdXJlU2hhZG93Um9vdChFbGVtZW50KiBob3N0
LCBFeGNlcHRpb25Db2RlJik7CisgICAgU2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9k
ZSogY3JlYXRlU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7CiAgICAg
U2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogc2hhZG93Um9vdChFbGVtZW50KiBo
b3N0LCBFeGNlcHRpb25Db2RlJik7CiAgICAgU2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9y
Tm9kZSogeW91bmdlc3RTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBvbGRlc3RTaGFkb3dSb290
KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbAppbmRleCA4Y2QxYjgwMDUwOWI0ZThmN2NiNzNlYTU5NzAxOGZlMzBmYjRhMWY3Li5h
ZTk4MGU0ZGFiNjI0YWNiZjFmZTlkZGY4NWU1ZmFkYjJmMzYyZTU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCkBAIC0zNiw2ICszNiw3IEBACiAKICNpZiBkZWZpbmVkKEVOQUJM
RV9TSEFET1dfRE9NKSAmJiBFTkFCTEVfU0hBRE9XX0RPTQogICAgIFNoYWRvd1Jvb3QgZW5zdXJl
U2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBT
aGFkb3dSb290IGNyZWF0ZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CiAgICAgU2hhZG93Um9vdCBzaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFp
c2VzIChET01FeGNlcHRpb24pOwogICAgIFNoYWRvd1Jvb3QgeW91bmdlc3RTaGFkb3dSb290KGlu
IEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIFNoYWRvd1Jvb3Qgb2xk
ZXN0U2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBmNzFmYjg0NWZmZGNmODJiY2ZmMzQwNzQ3OTcxMDk5YTdkM2RiYjk2Li5jOTU4ZDIwNjhh
YWYyYTA2ZDA0YjQyZjdhMDhiZTMyZDNiNzY3ZTQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTk4IEBACisy
MDEyLTEyLTEwICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBb
U2hhZG93IERPTV0gS2lsbCBTaGFkb3dSb290IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI5MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9z
dHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1hcHBseS1hdXRob3Itc3R5bGVzLmh0
bWw6CisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Ut
c2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUt
c2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRvdy5odG1sOgorICAgICAg
ICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hhZG93LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNo
YWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9hZG9wdC1ub2RlLXdpdGgtc2hh
ZG93LXJvb3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvYXRob3N0LWF0cnVsZXMu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvYmFzZS1pbi1zaGFkb3ctdHJlZS5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jYXJldC1yYW5nZS1mcm9tLXBvaW50LWluLW5l
c3RlZC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1hZnRl
ci1zdHlsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQt
aW4tbWVkaWEtZWxlbWVudC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50
LWVsZW1lbnQtaW4tbWV0ZXItZWxlbWVudC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9jb250ZW50LWVsZW1lbnQtaW4tcHJvZ3Jlc3MtZWxlbWVudC5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tc2VsZWN0LWVsZW1lbnQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LW91dHNpZGUtc2hhZG93LXN0
eWxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9u
LWNvbXBsZXguaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2pl
Y3Rpb24tZHluYW1pYy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJl
cHJvamVjdGlvbi1mYWxsYmFjay1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24uaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tb3JkZXIuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tc2hhZG93
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NwcGV2ZW50LWluLXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jcHBldmVudC1pbnB1dC1pbi1zaGFkb3cuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWF0dHJpYnV0ZS1tb2Rp
ZmllZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tY2xhc3NO
YW1lLW1vZGlmaWVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlv
bi1pZC1tb2RpZmllZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1l
dGVyLWluLXNoYWRvdy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9kcm9w
LWV2ZW50LWZvci1pbnB1dC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvZHJvcC1ldmVudC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
ZWxlbWVudC1mcm9tLXBvaW50LWluLW5lc3RlZC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvZm9ybS1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LW11dGF0aW9uLmh0bWw6CisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L2hhcy1jb250ZW50LWVsZW1lbnRzLmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L2hhcy1zaGFkb3ctaW5zZXJ0aW9uLXBvaW50Lmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L2hvc3Qtd3JhcHBlci1yZWNsYWltZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvaWZyYW1lLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9p
bnB1dC13aXRoLXZhbGlkYXRpb24td2l0aG91dC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L2luc2VydGlvbi1wb2ludC1saXN0LW1lbnUtY3Jhc2guaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtc2hhZG93LWNy
YXNoLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC12aWRl
by1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3Ry
aWJ1dGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9saW5rLWluLXNoYWRvdy10
cmVlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3Qt
YWRvcHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9v
dC1yZW5kZXJpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hh
ZG93cm9vdC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wYXJlbnQtdHJlZS1zY29w
ZS1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0dHJp
YnV0ZS1keW5hbWljLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRy
aWJ1dGUtcmVuZGVyaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1jaGVja2VkLWlucHV0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLW9wdGlvbi5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtYnV0dG9uLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1maWVsZHNl
dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlz
YWJsZWQtaW5wdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWRpc2FibGVkLW9wdGdyb3VwLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLXNlbGVjdC5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtdGV4dGFy
ZWEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVu
YWJsZWQtYW5jaG9yLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNz
LXVwZGF0ZS1lbmFibGVkLWFyZWEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYnV0dG9uLmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWZpZWxkc2V0Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9w
dGdyb3VwLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0
ZS1lbmFibGVkLW9wdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtZW5hYmxlZC1zZWxlY3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtdGV4dGFyZWEuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtaW5wdXQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJt
aW5hdGUtcHJvZ3Jlc3MuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWxpbmstYW5jaG9yLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFyZWEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvcHNldWRvY2xhc3MtdXBkYXRlLXRhcmdldC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRlZC1hbmNob3IuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYXJlYS5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9yZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24tYXR0cmlidXRlLW1vZGlm
aWVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1jbGFzc05h
bWUtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9u
LWlkLW1vZGlmaWVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3Jlc2l6ZS1pbi1z
aGFkb3ctZG9tLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9wb2x5
ZmlsbC5qczoKKyAgICAgICAgKC5FbGVtZW50LnByb3R5cGUud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCk6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9zaGFkb3ctZG9tLmpzOgor
ICAgICAgICAoY3JlYXRlRE9NKToKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2VsZWN0LWlt
YWdlLXdpdGgtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NlbGVjdGlv
bi1zaG91bGRudC1leHBvc2Utc2hhZG93LWRvbS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zZWxlY3Rpb25zLWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctYW5kLWxpc3QtZWxlbWVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hhZG93LXJvb3QuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnQtY3Jhc2guaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctZGl2LXJlZmxvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctZHluYW1pYy1zdHlsZS1jaGFuZ2UtdmlhLW11dGF0aW9uLWFuZC1zZWxl
Y3Rvci5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5k
ZXJpbmctbXVsdGlwbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVs
ZW1lbnQtcmVuZGVyaW5nLXNpbmdsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctbmVzdGVkLXBzZXVkby1pZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctb24taW1hZ2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXBz
ZXVkby1pZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVtb3ZlY2hp
bGQtYW5kLWJsdXItZXZlbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJlcHJvamVjdGlvbi1jbGljay5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yZXByb2plY3Rpb24yLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWFwcGVuZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1hdHRhY2hlZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1pbm5lckhUTUwuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtanMtYXBpLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtanMtYXBpLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LW5ldy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LW5ldy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1yZXNl
dFN0eWxlSW5oZXJpdGFuY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXNlbGVjdC1hdHRyaWJ1dGUtZmVhdHVyZXNldC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctdWwtbGkuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWR5bmFtaWMtc3R5bGluZy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWJ1dHRvbi1jb21wbGV4LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1vbmx5LXNoYWRvdy5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi13aXRob3V0LXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LWNvbXBsZXgt
c2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmll
bGRzZXQtb25seS1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1maWVsZHNldC13aXRob3V0LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWZvcm0tYXNzb2NpYXRlZC1lbGVtZW50LXVzZXJhZ2VudC5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWFsdC11
cGRhdGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFn
ZS1hbHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFn
ZS1jb250ZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
aW1hZ2UtZHluYW1pYy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWltYWdlLWV2ZW50LWNsaWNrLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2UtZXZlbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1pbWFnZS1pbi1zaGFkb3dkb20uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1tYXAuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1zdHlsZS5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtbXVsdGlwbGUtc2hhZG93Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1wc2V1
ZG8taWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFn
ZS13aXRoLXdpZHRoLWFuZC1oZWlnaHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1pbWFnZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWtleWdlbi1jb21wbGV4LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi1vbmx5LXNoYWRvdy5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi13aXRob3V0LXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1lZGlhLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItZHluYW1pYy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLW11bHRpcGxl
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0
aC1zdHlsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1l
dGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLW1ldGVyLXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1jb21wbGV4LXNoYWRvdy5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRv
dy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC13
aXRob3V0LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC13aXRob3V0LXNoYWRvdy5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLWR5bmFtaWMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1tdWx0
aXBsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dy
ZXNzLXdpdGgtc3R5bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1wcm9ncmVzcy13aXRob3V0LWFwcGVhcmFuY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxl
eC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3Qtb25seS1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1jb21wbGV4LXNoYWRvdy5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLW9ubHktc2hhZG93Lmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0
aC1hdHRyaWJ1dGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci10ZXh0YXJlYS13aXRoLXBsYWNlaG9sZGVyLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1zdHlsZS5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGhvdXQtc2hhZG93Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1jbG9uZW5vZGUuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1vZi1pbnNlcnRpb25wb2ludC5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LXR5cGUuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdHlsZS1zY29wZWQtbm90LWVuYWJsZWQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3N1cHByZXNzLW11dGF0aW9uLWV2ZW50cy1pbi1zaGFk
b3ctY2hhcmFjdGVyZGF0YS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy90cmFuc2l0
aW9uLW9uLXNoYWRvdy1ob3N0LXdpdGgtZGlzdHJpYnV0ZWQtbm9kZS5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1pbi1zaGFkb3ctZG9tLmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3doZWVsLWV2ZW50LW9uLWlucHV0LWluLXNoYWRvdy1kb20uaHRt
bDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9kZXRhY2hlZC1zaGFkb3ctZnJhbWUuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorCiAyMDEy
LTEyLTA5ICBLYW5naWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KIAogICAgICAgICBb
RUZMXVtXSzFdIEdhcmRlbmluZyBmb3IgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmcKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHkt
YXV0aG9yLXN0eWxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1z
Y29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMtZXhwZWN0ZWQudHh0CmluZGV4
IDZhNjNkOWFhODQzNDdkNjcwZTYwZmU4NGNlNWVkOTZlM2Q2M2EyYjUuLjM5ZTNhYThjNWQwMDk1
Y2QyZmFiMzdmYzRlZGY5ZWNjMzkwMzkxMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3Bl
ZC1hcHBseS1hdXRob3Itc3R5bGVzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIFBBU1Mg
d2luZG93LmludGVybmFscyBpcyBkZWZpbmVkLgotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLmVuc3Vy
ZVNoYWRvd1Jvb3QgaXMgZGVmaW5lZC4KLVBBU1MgV2ViS2l0U2hhZG93Um9vdCBpcyBkZWZpbmVk
LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFw
cGx5LWF1dGhvci1zdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3Bl
ZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy5odG1sCmluZGV4IDMyYjkwNjFmM2I3
M2NkMWZjNTMyMzIwZGE5YThkZWRlNmYxY2I2NTQuLjZhOTBmN2E4OWNkNjE2NzA5MjcxZGIwODQ0
NjIwZmZjOTc5NjE5NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNj
b3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxl
cy5odG1sCkBAIC04LDggKzgsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiAKIHNob3VsZEJlRGVmaW5lZCgid2luZG93LmludGVybmFscyIp
Owotc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3QiKTsK
LXNob3VsZEJlRGVmaW5lZCgiV2ViS2l0U2hhZG93Um9vdCIpOwogCiBmdW5jdGlvbiBkdW1wQ29t
cHV0ZWRTdHlsZShub2RlKQogewpAQCAtMjMsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0QmFzaWMo
KQogICAgIGRpdi5pbm5lckhUTUwgPSAnPGRpdj48c3R5bGUgc2NvcGVkPmRpdiB7IGJvcmRlcjog
MXB4IHNvbGlkIHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0iaG9zdCI+PC9kaXY+PC9kaXY+JzsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc2hhZG93ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKSk7CisgICAg
dmFyIHNoYWRvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iikud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGFyZ2V0Ij50
YXJnZXQ8L2Rpdj4nOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIApAQCAt
NDUsOSArNDMsOSBAQCBmdW5jdGlvbiB0ZXN0RW5jbG9zaW5nU2hhZG93KCkKICAgICB2YXIgZGl2
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChkaXYpOwogCi0gICAgdmFyIG91dGVyU2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoZGl2KTsKKyAgICB2YXIgb3V0ZXJTaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+ZGl2IHsgYm9yZGVyOiAx
cHggc29saWQgcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSJvdXRlciI+b3V0ZXI8L2Rpdj4nOwotICAg
IHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChvdXRlclNoYWRvdy5nZXRFbGVtZW50
QnlJZCgib3V0ZXIiKSk7CisgICAgdmFyIHNoYWRvdyA9IG91dGVyU2hhZG93LmdldEVsZW1lbnRC
eUlkKCJvdXRlciIpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJI
VE1MID0gJzxkaXYgaWQ9InRhcmdldCI+dGFyZ2V0PC9kaXY+JzsKIAogICAgIC8vIGJlZm9yZQpA
QCAtNjcsMTIgKzY1LDEyIEBAIGZ1bmN0aW9uIHRlc3RFbmNsb3NpbmdTaGFkb3dXaXRoU2NvcGVk
KCkKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIG91dGVyU2hhZG93ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgb3V0ZXJTaGFkb3cgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8ZGl2Pjxz
dHlsZSBzY29wZWQ+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgcmVkOyB9PC9zdHlsZT48ZGl2IGlk
PSJvdXRlckluU2NvcGUiPm91dGVySW5TY29wZTwvZGl2PjwvZGl2PjxkaXYgaWQ9Im91dGVyT3V0
T2ZTY29wZSI+b3V0ZXJPdXRPZlNjb3BlPC9kaXY+JzsKIAotICAgIHZhciBzaGFkb3cxID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91dGVySW5TY29w
ZSIpKTsKKyAgICB2YXIgc2hhZG93MSA9IG91dGVyU2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRl
ckluU2NvcGUiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93MS5pbm5lckhU
TUwgPSAnPGRpdiBpZD0idGFyZ2V0SW5TY29wZSI+dGFyZ2V0SW5TY29wZTwvZGl2Pic7Ci0gICAg
dmFyIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChvdXRlclNoYWRvdy5nZXRFbGVtZW50
QnlJZCgib3V0ZXJPdXRPZlNjb3BlIikpOworICAgIHZhciBzaGFkb3cyID0gb3V0ZXJTaGFkb3cu
Z2V0RWxlbWVudEJ5SWQoIm91dGVyT3V0T2ZTY29wZSIpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKICAgICBzaGFkb3cyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXRPdXRPZlNjb3BlIj50
YXJnZXRPdXRPZlNjb3BlPC9kaXY+JzsKIAogICAgIC8vIGJlZm9yZQpAQCAtOTgsMTUgKzk2LDE1
IEBAIGZ1bmN0aW9uIHRlc3ROZXN0ZWRTaGFkb3coKQogICAgIGRpdi5pbm5lckhUTUwgPSAnPHN0
eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6IDFweCBzb2xpZCByZWQgfTwvc3R5bGU+PGRpdiBpZD0i
aG9zdCI+PC9kaXY+JzsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CiAKLSAg
ICB2YXIgb3V0ZXJNb3N0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImhvc3QiKSk7CisgICAgdmFyIG91dGVyTW9zdFNoYWRvdyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJob3N0Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG91
dGVyTW9zdFNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxlPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlk
IGJsdWU7IH08L3N0eWxlPjxkaXYgaWQ9Im91dGVyTW9zdCI+b3V0ZXJNb3N0PC9kaXY+JzsKICAg
ICBvdXRlck1vc3RTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKIAotICAgIHZhciBv
dXRlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVyTW9zdFNoYWRvdy5nZXRFbGVt
ZW50QnlJZCgib3V0ZXJNb3N0IikpOworICAgIHZhciBvdXRlclNoYWRvdyA9IG91dGVyTW9zdFNo
YWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJNb3N0Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJvdXRlciI+b3V0ZXI8L2Rp
dj4nOwogICAgIG91dGVyU2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7CiAKLSAgICB2
YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5
SWQoIm91dGVyIikpOworICAgIHZhciBzaGFkb3cgPSBvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJ
ZCgib3V0ZXIiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRN
TCA9ICc8ZGl2IGlkPSJ0YXJnZXQiPnRhcmdldDwvZGl2Pic7CiAgICAgc2hhZG93LmFwcGx5QXV0
aG9yU3R5bGVzID0gZmFsc2U7CiAKQEAgLTEzMiwxNSArMTMwLDE1IEBAIGZ1bmN0aW9uIHRlc3RN
dWx0aXBsZVNoYWRvdygpCiAgICAgZGl2LmlubmVySFRNTCA9ICc8c3R5bGUgc2NvcGVkPmRpdiB7
IGJvcmRlcjogMXB4IHNvbGlkIHJlZCB9PC9zdHlsZT48ZGl2PnRlc3Q8L2Rpdj4nOwogICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBvbGRlc3RTaGFkb3cgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBvbGRlc3RTaGFkb3cgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG9sZGVzdFNoYWRvdy5pbm5lckhUTUwgPSAnPHNo
YWRvdz48L3NoYWRvdz48ZGl2IGlkPSJvbGRlc3RTaGFkb3ciPm9sZGVzdFNoYWRvdzwvZGl2Pic7
CiAgICAgb2xkZXN0U2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7CiAKLSAgICB2YXIg
b2xkZXJTaGFkb3cgPSAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgb2xkZXJT
aGFkb3cgPSAgZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBvbGRlclNoYWRvdy5p
bm5lckhUTUwgPSAnPHN0eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6IDFweCBzb2xpZCBibHVlIH08
L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+PGRpdiBpZD0ib2xkZXJTaGFkb3ciPm9sZGVyU2hhZG93
PC9kaXY+JzsKICAgICBvbGRlclNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9IGZhbHNlOwogCi0g
ICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRv
dyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9
ICc8c2hhZG93Pjwvc2hhZG93PjxkaXYgaWQ9InRhcmdldCI+c2hhZG93PC9kaXY+JzsKICAgICBz
aGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKIApAQCAtMTg2LDE1ICsxODQsMTUgQEAg
ZnVuY3Rpb24gdGVzdE9yZGVyT2ZBcHBseVN0eWxlKCkKICAgICBkaXYuaW5uZXJIVE1MID0gJzxz
dHlsZSBzY29wZWQ+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgcmVkIH08L3N0eWxlPjxkaXYgaWQ9
Imhvc3QiPjwvZGl2Pic7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0g
ICAgdmFyIG91dGVyTW9zdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJob3N0IikpOworICAgIHZhciBvdXRlck1vc3RTaGFkb3cgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBv
dXRlck1vc3RTaGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5kaXYgeyBib3JkZXI6IDFweCBzb2xp
ZCBibHVlOyB9PC9zdHlsZT48ZGl2IGlkPSJvdXRlck1vc3QiPm91dGVyTW9zdDwvZGl2Pic7CiAg
ICAgb3V0ZXJNb3N0U2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKIAotICAgIHZhciBv
dXRlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVyTW9zdFNoYWRvdy5nZXRFbGVt
ZW50QnlJZCgib3V0ZXJNb3N0IikpOworICAgIHZhciBvdXRlclNoYWRvdyA9IG91dGVyTW9zdFNo
YWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJNb3N0Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+ZGl2IHsgYm9yZGVyOiAxcHgg
c29saWQgZ3JlZW47IH08L3N0eWxlPjxkaXYgaWQ9Im91dGVyIj5vdXRlcjwvZGl2Pic7CiAgICAg
b3V0ZXJTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOwogCi0gICAgdmFyIHNoYWRvdyA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVyU2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRlciIp
KTsKKyAgICB2YXIgc2hhZG93ID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91dGVyIiku
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxl
PmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHllbGxvdzsgfTwvc3R5bGU+PGRpdiBpZD0idGFyZ2V0
Ij50YXJnZXQ8L2Rpdj4nOwogICAgIHNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9IHRydWU7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29w
ZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRvdy1l
eHBlY3RlZC50eHQKaW5kZXggYzk2NmFiMWEyYWViMzhhZTU0MzY1MTk4YWMwMjYxYzBkNmRmNjgx
OC4uNjhmNDQyYmY1ZDIyMDQwZjEzNjZiNmM3M2Y2YjYwNDM0NjE2NTQ0YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2Nv
cGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5
bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50
eHQKQEAgLTEsNiArMSw0IEBACiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMgaXMgZGVmaW5lZC4KLVBB
U1Mgd2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dSb290IGlzIGRlZmluZWQuCi1QQVNTIFdl
YktpdFNoYWRvd1Jvb3QgaXMgZGVmaW5lZC4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5
bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRvdy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVk
LWluLXNoYWRvdy5odG1sCmluZGV4IDFhN2E5MmE1NjE5MjhmYTA0ZDgxMDRhZDY1NmIzZWNjYTcx
MDM3NDAuLjk1ZmU1ZWZhNmYwMGM1OTBlMzA3OTAwMDNjOTkzYTA5MWM0NDFlOWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtY2hhbmdl
LXNjb3BlZC1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1z
Y29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1zY29wZWQtaW4tc2hhZG93Lmh0bWwKQEAgLTgsOCAr
OCw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKIAogc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJuYWxzIik7Ci1zaG91bGRCZURlZmlu
ZWQoIndpbmRvdy5pbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdCIpOwotc2hvdWxkQmVEZWZpbmVk
KCJXZWJLaXRTaGFkb3dSb290Iik7CiAKIGZ1bmN0aW9uIGR1bXBDb21wdXRlZFN0eWxlKG5vZGUp
CiB7CkBAIC0yMSw3ICsxOSw3IEBAIGZ1bmN0aW9uIHRlc3RTY29wZWRTdHlsZUluU2hhZG93KCkK
ICAgICBkZWJ1ZygidGVzdCBhIHNjb3BlZCBzdHlsZSBpbiBzaGFkb3cgc3VidHJlZS4iKTsKICAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVkPmRpdiB7IGNvbG9y
OiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZG
RjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0zNSw3ICszMyw3
IEBAIGZ1bmN0aW9uIHRlc3RTdHlsZUluU2hhZG93KCkKICAgICBkZWJ1ZygidGVzdCBhIHN0eWxl
IGluIHNoYWRvdyBzdWJ0cmVlLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0gICAgdmFy
IHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvdyA9IGRp
di53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2
PjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjxzdHlsZT5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48
L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVm
dDsKIApAQCAtNDksMTAgKzQ3LDEwIEBAIGZ1bmN0aW9uIHRlc3RTdHlsZUluTXVsdGlwbGVTaGFk
b3coKQogICAgIGRlYnVnKCJ0ZXN0IHN0eWxlcyBpbiBtdWx0aXBsZSBzaGFkb3cgc3VidHJlZXMu
Iik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogCi0gICAg
dmFyIHNoYWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cx
ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cxLmlubmVySFRNTCA9
ICI8ZGl2PjxzdHlsZT5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8
L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogCi0gICAgdmFyIHNoYWRvdzIgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cyID0gZGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cyLmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBz
Y29wZWQ+ZGl2IHsgY29sb3I6IGJsdWUgfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRvdz48ZGl2IGlk
PSdHJz5HR0c8L2Rpdj48L2Rpdj4iOwogCiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChk
aXYpOwpAQCAtNjksMTAgKzY3LDEwIEBAIGZ1bmN0aW9uIHRlc3RTY29wZWRTdHlsZUluTmVzdGVk
U2hhZG93KCkKICAgICBkZWJ1ZygidGVzdCBhIHNjb3BlZCBzdHlsZSBpbiBuZXN0ZWQgc2hhZG93
IHN1YnRyZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93MSA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvdzEgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzEuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxl
IHNjb3BlZD5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48
L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIHZhciBlID0gc2hhZG93MS5nZXRFbGVt
ZW50QnlJZCgiRSIpOwotICAgIHZhciBzaGFkb3cyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZSk7
CisgICAgdmFyIHNoYWRvdzIgPSBlLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFk
b3cyLmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQ+ZGl2IHsgY29sb3I6IGJsdWU7IH08
L3N0eWxlPjxkaXYgaWQ9J0cnPkdHR0c8L2Rpdj48L2Rpdj48ZGl2IGlkPSdIJz5ISEhIPC9kaXY+
IjsKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKQEAgLTg4LDEwICs4NiwxMCBAQCBm
dW5jdGlvbiB0ZXN0U3R5bGVJbk5lc3RlZFNoYWRvdygpCiAgICAgZGVidWcoInRlc3QgYSBzdHls
ZSBpbiBuZXN0ZWQgc2hhZG93IHN1YnRyZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsK
LSAgICB2YXIgc2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNo
YWRvdzEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzEuaW5uZXJI
VE1MID0gIjxkaXY+PHN0eWxlPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0Un
PkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgdmFyIGUgPSBzaGFk
b3cxLmdldEVsZW1lbnRCeUlkKCJFIik7Ci0gICAgdmFyIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChlKTsKKyAgICB2YXIgc2hhZG93MiA9IGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHNoYWRvdzIuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlPmRpdiB7IGNvbG9yOiBibHVl
OyB9PC9zdHlsZT48ZGl2IGlkPSdHJz5HR0dHPC9kaXY+PC9kaXY+PGRpdiBpZD0nSCc+SEhISDwv
ZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0xMDcsNyArMTA1LDcg
QEAgZnVuY3Rpb24gdGVzdENoYW5nZVNjb3BlZFRvU2NvcGVkKCkKICAgICBkZWJ1ZygidGVzdCBj
aGFuZ2luZyBhIHN0eWxlIGluIHNoYWRvdyBzdWJ0cmVlIGZyb20gc2NvcGVkIHRvIHNjb3BlZC4i
KTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVkIGlkPSdz
dHlsZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVF
RTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5v
ZmZzZXRMZWZ0OwogCkBAIC0xMjksNyArMTI3LDcgQEAgZnVuY3Rpb24gdGVzdENoYW5nZVNjb3Bl
ZFRvTm90U2NvcGVkKCkKICAgICBkZWJ1ZygidGVzdCBjaGFuZ2luZyBhIHN0eWxlIGluIHNoYWRv
dyBzdWJ0cmVlIGZyb20gc2NvcGVkIHRvIG5vdC1zY29wZWQuIik7CiAgICAgdmFyIGRpdiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAg
ICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cu
aW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIHNjb3BlZCBpZD0nc3R5bGUtaW4tc2hhZG93Jz5kaXYg
eyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlk
PSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMTUx
LDcgKzE0OSw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2VOb3RTY29wZWRUb1Njb3BlZCgpCiAgICAg
ZGVidWcoInRlc3QgY2hhbmdpbmcgYSBzdHlsZSBpbiBzaGFkb3cgc3VidHJlZSBmcm9tIG5vdC1z
Y29wZWQgdG8gc2NvcGVkLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0gICAgdmFyIHNo
YWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvdyA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2Pjxz
dHlsZSBpZD0nc3R5bGUtaW4tc2hhZG93Jz5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2
IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3Vt
ZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMTczLDcgKzE3MSw3IEBAIGZ1bmN0aW9uIHRlc3RS
ZW1vdmVTY29wZWRTdHlsZUZyb21Eb2N1bWVudCgpCiAgICAgZGVidWcoInRlc3QgcmVtb3Zpbmcg
YSBzY29wZWQgc3R5bGUgZnJvbSBzaGFkb3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAg
IHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5p
bm5lckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVkIGlkPSdzdHlsZS1pbi1zaGFkb3cnPmRpdiB7
IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9
J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0xOTYs
NyArMTk0LDcgQEAgZnVuY3Rpb24gdGVzdFJlbW92ZVN0eWxlRnJvbURvY3VtZW50KCkKICAgICBk
ZWJ1ZygidGVzdCByZW1vdmluZyBhIHN0eWxlIGZyb20gc2hhZG93IHN1YnRyZWUuIik7CiAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoZGl2KTsKKyAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
ICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIGlkPSdzdHlsZS1pbi1zaGFkb3cn
PmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2Pjxk
aXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBA
IC0yMTksNyArMjE3LDcgQEAgZnVuY3Rpb24gdGVzdEluc2VydFNjb3BlZFN0eWxlSW50b0RvY3Vt
ZW50KCkKICAgICBkZWJ1ZygidGVzdCBpbnNlcnRpbmcgYSBzY29wZWQgc3R5bGUgaW50byBzaGFk
b3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48ZGl2IGlk
PSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50
LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjM5LDcgKzIzNyw3IEBAIGZ1bmN0aW9uIHRlc3RJbnNl
cnRTdHlsZUludG9Eb2N1bWVudCgpCiAgICAgZGVidWcoInRlc3QgaW5zZXJ0aW5nIGEgc3R5bGUg
aW50byBzaGFkb3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZh
ciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBk
aXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRp
dj48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAg
IGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjU4LDcgKzI1Niw3IEBAIGZ1bmN0aW9u
IHRlc3RDaGFuZ2VTY29wZWRUb05vdFNjb3BlZE5vdEluRG9jdW1lbnQoKQogICAgIGRlYnVnKCJ0
ZXN0IHJlLWluc2VydGluZyBhIHN0eWxlIGFmdGVyIGNoYW5naW5nIHNjb3BlZCB0byBub3Qgc2Nv
cGVkIG9mZmxpbmUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxl
IHNjb3BlZCBpZD0nc3R5bGUtaW4tc2hhZG93Jz5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48
ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRv
Y3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjc4LDcgKzI3Niw3IEBAIGZ1bmN0aW9uIHRl
c3RDaGFuZ2VOb3RTY29wZWRUb1Njb3BlZE5vdEluRG9jdW1lbnQoKQogICAgIGRlYnVnKCJ0ZXN0
IHJlLWluc2VydGluZyBhIHN0eWxlIGFmdGVyIGNoYW5naW5nIG5vdCBzY29wZWQgdG8gc2NvcGVk
IG9mZmxpbmUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIGlk
PSdzdHlsZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0Un
PkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9k
eS5vZmZzZXRMZWZ0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1z
Y29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQK
aW5kZXggZDVhOGMyZjBkMjIwMzNhZjVlOWRhOTcyODU3NmI3MmM3OGYzMzI0Ny4uMjRhZWIyZDQ5
OWZiYWU3MTIzZjdiMDYxYTE3MDJiYmFmMmI1NTQ0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4t
c2hhZG93LWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDUgQEAKIFRlc3RzIHRoYXQKIAotUEFTUyB3
aW5kb3cuaW50ZXJuYWxzIGlzIGRlZmluZWQuCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMuZW5zdXJl
U2hhZG93Um9vdCBpcyBkZWZpbmVkLgotUEFTUyBXZWJLaXRTaGFkb3dSb290IGlzIGRlZmluZWQu
CiBQQVNTIHNoYWRvdy5pbm5lckhUTUwgaXMgZGVmaW5lZC4KIFBBU1Mgc2hhZG93LmdldEVsZW1l
bnRCeUlkIGlzIGRlZmluZWQuCiBBOiByZ2IoMCwgMCwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hhZG93Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy5o
dG1sCmluZGV4IDlhZGRlM2Q3NzllZGZlYWM4OTc1NGVhNDM2ZTk5NzBhN2E4NDBhZTAuLmQ3YzEy
YTI0ODIwMTJkNDA4NTRhY2YxMzM5NDk0OWNhNTkzNGVhODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hhZG93Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFk
b3cuaHRtbApAQCAtMTAsMTMgKzEwLDkgQEAKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKLSAgICAgICAgc2hvdWxk
QmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJuYWxzIik7Ci0gICAgICAgIHNob3VsZEJlRGVmaW5lZCgi
d2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dSb290Iik7Ci0gICAgICAgIHNob3VsZEJlRGVm
aW5lZCgiV2ViS2l0U2hhZG93Um9vdCIpOwotCiAgICAgICAgIHZhciBhID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoIkEiKTsKICAgICAgICAgdmFyIGIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiQiIpOwotICAgICAgICBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChiKTsKKyAgICAg
ICAgc2hhZG93ID0gYi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgICAgIHNob3VsZEJl
RGVmaW5lZCgic2hhZG93LmlubmVySFRNTCIpOwogICAgICAgICBzaG91bGRCZURlZmluZWQoInNo
YWRvdy5nZXRFbGVtZW50QnlJZCIpOwogICAgICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxzdHls
ZSBzY29wZWQ+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGNvbnRlbnQ+PC9jb250ZW50Pjxk
aXYgaWQ9J0MnPkNDQzwvZGl2PiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvYWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvYWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWwKaW5kZXggMGFmNjQx
Yjg3ZmRkOGM0MDcyMmQ3Zjg1NmY1NGZiZWY4ZGZiZTE4YS4uODExY2FkOTFjZjRiNGRkZjAyYjQ2
OTEyYWEzZGNmNTg0Y2U1YmI5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2Fkb3B0LW5vZGUtd2l0aC1zaGFkb3ctcm9vdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9hZG9wdC1ub2RlLXdpdGgtc2hhZG93LXJvb3QuaHRtbApAQCAtOSw3ICs5
LDcgQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiB0ZXN0KCkgewogICAgIHZhciBmb3JlaWduRG9jdW1l
bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9vdCcpLmNvbnRlbnREb2N1bWVudDsKLSAg
ICBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChmb3JlaWduRG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3MnKSk7CisgICAgc2hhZG93ID0gZm9yZWlnbkRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdzJykud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNob3VsZFRocm93KCJkb2N1bWVu
dC5hZG9wdE5vZGUoc2hhZG93KSIpOwogICAgIGxvY2F0aW9uLnJlbG9hZCgpOwogfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2F0aG9zdC1hdHJ1bGVzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYXRob3N0LWF0cnVsZXMuaHRtbAppbmRleCA3ZDRi
NTExZWUwMmZhOWQ3NTFlNTdlMTY5YjAwYTZkODc3ZDUzYTZkLi5hY2M1ZmRkYzI2NjYwY2VmMWQ1
YzFiYmI4YjVhNGZmZmQ3ZWM2YzQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvYXRob3N0LWF0cnVsZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvYXRob3N0LWF0cnVsZXMuaHRtbApAQCAtMjQsNyArMjQsNyBAQCBmdW5jdGlvbiB0ZXN0U2lt
cGxlQ29udGVudENhc2UoKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhv
c3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBzaGFkb3cgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3Qg
eyBkaXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxjb250ZW50PjwvY29udGVudD4iOwogICAg
IGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwogfQpAQCAtMzMsNyArMzMsNyBAQCBmdW5jdGlvbiB0
ZXN0U2ltcGxlU2hhZG93Q2FzZSgpCiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAgICB2
YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0gICAgdmFyIHNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5A
aG9zdCB7IGRpdiB7IGNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRvdz4iOwog
ICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwogfQpAQCAtNDYsMTIgKzQ2LDEyIEBAIGZ1bmN0
aW9uIHRlc3RIb3N0V2l0aFNlbGVjdG9yKCkKICAgICAgICAgKyAiPHNwYW4gaWQ9J2hvc3RCJyBj
bGFzcz0naG9zdCc+PHNwYW4+V29ybGQ8L3NwYW4+PC9zcGFuPiI7CiAKICAgICB2YXIgaG9zdEEg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdEEiKTsKLSAgICB2YXIgc2hhZG93QSA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3RBKTsKKyAgICB2YXIgc2hhZG93QSA9IGhvc3RBLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgc3R5bGUgPSAiPHN0eWxlPkBob3N0IHsgZGl2
IHsgY29sb3I6IHJlZDsgfSBzcGFuIHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5bGU+IjsKICAgICBz
aGFkb3dBLmlubmVySFRNTCA9IHN0eWxlICsgIjxzaGFkb3c+PC9zaGFkb3c+IjsKIAogICAgIHZh
ciBob3N0QiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0QiIpOwotICAgIHZhciBzaGFk
b3dCID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdEIpOworICAgIHZhciBzaGFkb3dCID0gaG9z
dEIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd0IuaW5uZXJIVE1MID0gc3R5
bGUgKyAiPHNoYWRvdz48L3NoYWRvdz4iOwogCiAgICAgZHVtcENvbXB1dGVkU3R5bGUoaG9zdEEp
OwpAQCAtNjIsNyArNjIsNyBAQCBmdW5jdGlvbiB0ZXN0UHNldWRvSG9zdFdpdGhTY29wZWQoKQog
ewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKKyAgICB2YXIgc2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQ+QGhvc3QgeyBkaXYg
eyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+PGRpdj48c3R5bGUgc2Nv
cGVkPkBob3N0IHsgZGl2IHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5bGU+PC9kaXY+PC9kaXY+IjsK
ICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKIH0KQEAgLTcxLDggKzcxLDggQEAgZnVuY3Rp
b24gdGVzdFBzZXVkb0hvc3RXaXRoRmFsbGJhY2tTaGFkb3coKQogewogICAgIHByZXByb2Nlc3NG
b3JUZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIp
OwotICAgIHZhciBvbGRlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKLSAg
ICB2YXIgeW91bmdlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2
YXIgb2xkZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFy
IHlvdW5nZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgb2xk
ZXN0U2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xvcjogcmVkOyB9
IH08L3N0eWxlPjxjb250ZW50PjwvY29udGVudD4iOwogICAgIHlvdW5nZXN0U2hhZG93LmlubmVy
SFRNTCA9ICI8Y29udGVudD48c2hhZG93Pjwvc2hhZG93PjwvY29udGVudD4iOwogICAgIGR1bXBD
b21wdXRlZFN0eWxlKGhvc3QpOwpAQCAtODIsOCArODIsOCBAQCBmdW5jdGlvbiB0ZXN0VHdvU2hh
ZG93Um9vdHNDYXNlKCkKIHsKICAgICBwcmVwcm9jZXNzRm9yVGVzdCgpOwogICAgIHZhciBob3N0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLSAgICB2YXIgb2xkZXN0U2hhZG93
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFyIHlvdW5nZXN0U2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIG9sZGVzdFNoYWRvdyA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG9sZGVzdFNoYWRvdy5pbm5lckhUTUwgPSAi
PHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48Y29udGVudD48L2Nv
bnRlbnQ+IjsKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsg
ZGl2IHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRvdz4iOwogICAgIGR1
bXBDb21wdXRlZFN0eWxlKGhvc3QpOwpAQCAtOTMsOCArOTMsOCBAQCBmdW5jdGlvbiB0ZXN0VHdv
U2hhZG93Um9vdHNDcmVhdGluZ0RpZmZlcmVudE9yZGVyQ2FzZSgpCiB7CiAgICAgcHJlcHJvY2Vz
c0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
Iik7Ci0gICAgdmFyIG9sZGVzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwot
ICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAg
IHZhciBvbGRlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2
YXIgeW91bmdlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB5
b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IGJs
dWU7IH0gfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRvdz4iOwogICAgIG9sZGVzdFNoYWRvdy5pbm5l
ckhUTUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48Y29u
dGVudD48L2NvbnRlbnQ+IjsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKQEAgLTEwNCwx
MCArMTA0LDEwIEBAIGZ1bmN0aW9uIHRlc3RNdWx0aXBsZVNoYWRvd1Jvb3RzV2l0aEluZXJ0U2hh
ZG93Q29udGVudCgpCiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0gICAgdmFyIG9sZGVzdFNoYWRvdyA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwotICAgIHZhciBvbGRlclNoYWRvdyA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOwotICAgIHZhciB5b3VuZ2VyU2hhZG93ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFyIHlvdW5nZXN0U2hhZG93ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIG9sZGVzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOworICAgIHZhciBvbGRlclNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOworICAgIHZhciB5b3VuZ2VyU2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3No
YWRvdz4iOwogICAgIHlvdW5nZXJTaGFkb3cuaW5uZXJIVE1MID0gIjxjb250ZW50PjwvY29udGVu
dD4iOwpAQCAtMTIwLDEwICsxMjAsMTAgQEAgZnVuY3Rpb24gdGVzdE11bHRpcGxlU2hhZG93Um9v
dHNXaXRoSW5lcnRTaGFkb3coKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFy
IGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBvbGRlc3RT
aGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKLSAgICB2YXIgb2xkZXJTaGFkb3cg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKLSAgICB2YXIgeW91bmdlclNoYWRvdyA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwotICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBvbGRlc3RTaGFkb3cgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgb2xkZXJTaGFkb3cgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgeW91bmdlclNoYWRvdyA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOworICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogCiAgICAgeW91bmdlc3RTaGFkb3cuaW5uZXJIVE1MID0gIjxzdHls
ZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiB5ZWxsb3c7IH0gfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRv
dz4iOwogICAgIHlvdW5nZXJTaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7
IGNvbG9yOiBibHVlOyB9IH08L3N0eWxlPjxkaXY+aW5lcnQ8L2Rpdj4iOwpAQCAtMTM2LDEwICsx
MzYsMTAgQEAgZnVuY3Rpb24gdGVzdE5lc3RlZENhc2UoKQogewogICAgIHByZXByb2Nlc3NGb3JU
ZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwot
ICAgIHZhciBvdXRlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZh
ciBvdXRlclNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG91dGVy
U2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xvcjogcmVkOyB9IH08
L3N0eWxlPjxkaXYgaWQ9Im5lc3RlZEhvc3QiPklubmVyU2hhZG93PC9kaXY+JzsKICAgICB2YXIg
bmVzdGVkID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm5lc3RlZEhvc3QiKTsKLSAgICB2
YXIgaW5uZXJTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChuZXN0ZWQpOworICAgIHZhciBp
bm5lclNoYWRvdyA9IG5lc3RlZC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgaW5uZXJT
aGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiBibHVlOyB9IH08
L3N0eWxlPlNob3cgPHNoYWRvdz48L3NoYWRvdz4gaW4gb3V0ZXIuJzsKICAgICBkdW1wQ29tcHV0
ZWRTdHlsZShob3N0KTsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShuZXN0ZWQpOwpAQCAtMTUwLDcg
KzE1MCw3IEBAIGZ1bmN0aW9uIHRlc3RIb3N0VnNTY29wZWRTdHlsZSgpCiAgICAgcHJlcHJvY2Vz
c0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
Iik7CiAgICAgaG9zdC5pbm5lckhUTUwgPSAiPHN0eWxlIHNjb3BlZD4jaG9zdCB7IGNvbG9yOiB5
ZWxsb3c7IH08L3N0eWxlPjxzcGFuPkhlbGxvPC9zcGFuPiI7Ci0gICAgdmFyIHNoYWRvdyA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5AaG9zdCB7
ICNob3N0IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48Y29udGVudD48L2NvbnRlbnQ+IjsKICAg
ICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKIH0KQEAgLTE2MSw3ICsxNjEsNyBAQCBmdW5jdGlv
biB0ZXN0SG9zdFZzSW5saW5lU3R5bGUoKQogICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImhvc3QiKTsKICAgICBob3N0LnN0eWxlLmNvbG9yID0gInllbGxvdyI7CiAgICAg
aG9zdC5pbm5lckhUTUwgPSAiPHNwYW4+SGVsbG88L3NwYW4+IjsKLSAgICB2YXIgc2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0
IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48Y29udGVudD48L2NvbnRlbnQ+IjsKICAg
ICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9iYXNlLWluLXNoYWRvdy10cmVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvYmFzZS1pbi1zaGFkb3ctdHJlZS5odG1sCmluZGV4IDlkYzJkNmMxZjdlZTE0
OTk1MjYyOTdkMmU0YTY0YjdmOTYwZWY5YjMuLmNlY2Y5Y2NmMmZlNTc0M2ViOGQ0ZTFlYmRiZjYy
OWNkMmIxZGE3YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9iYXNl
LWluLXNoYWRvdy10cmVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Jh
c2UtaW4tc2hhZG93LXRyZWUuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogPHNjcmlwdD4KIHZhciBj
b250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7CiAKLXZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKK3ZhciBzaGFkb3dS
b290ID0gY29udGFpbmVyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogdmFyIGJhc2UgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdiYXNlJyk7CiBiYXNlLnNldEF0dHJpYnV0ZSgnaHJlZics
ICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NhcmV0LXJhbmdlLWZyb20tcG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NhcmV0LXJhbmdlLWZyb20tcG9pbnQtaW4t
bmVzdGVkLXNoYWRvdy5odG1sCmluZGV4IDFlZmE5Nzg5MDRiYmY2ZDFmM2E3ZmE5NGJjZDZkODMx
OWEzZDFlNDcuLjgwYjE0NWQxMWFjYmUzMjczYTYxM2MxMDVlN2NlMmJiYjA5N2JiODYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jYXJldC1yYW5nZS1mcm9tLXBvaW50
LWluLW5lc3RlZC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y2FyZXQtcmFuZ2UtZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwKQEAgLTIzLDExICsy
MywxMSBAQCBmdW5jdGlvbiBjcmVhdGVCb3gobmFtZSkgewogICAgIHJldHVybiBkaXY7CiB9CiAK
LXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93
Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwogCi12
YXIgZGFya1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwordmFyIGRhcmtSb290ID0g
ZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBib3ggPSBjcmVhdGVCb3goJ2Rhcmsn
KTsKIGRhcmtSb290LmFwcGVuZENoaWxkKGJveCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWFmdGVyLXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvY29udGVudC1hZnRlci1zdHlsZS5odG1sCmluZGV4IDI0ZjExOTEyODA3
YTM0YmZhNzMyOWUxZDBmOTRjOTVhM2ZmOTY1NTcuLmYzZjI2MDRmOThiODZjMjYyN2U4MmUzYWZh
M2YyODdjOTA4NjA0N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9j
b250ZW50LWFmdGVyLXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2NvbnRlbnQtYWZ0ZXItc3R5bGUuaHRtbApAQCAtNSw3ICs1LDcgQEAKIDxzY3JpcHQ+CiBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotdmFyIHJvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCcjaG9zdCcpKTsKK3ZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2hvc3QnKS53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiByb290LmlubmVySFRNTCA9ICc8c3R5bGU+aW52YWxp
ZCB7IH08L3N0eWxlPicgKwogICAgICAgICAgICAgICAgICAndGV4dDxjb250ZW50PjwvY29udGVu
dD4nOwogd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLWVsZW1lbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWVkaWEt
ZWxlbWVudC5odG1sCmluZGV4IDNiYTkyYjA5YjNhNzU3ZTIzYTQ4MzhjMTM2ZGMyZjgxYjE3MGRk
YWIuLjZiMjdhOGJlMTUwNjVkNmQ4Zjk0YTY3ODVkNzE4NGQ4NzUwZDdmZDEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWVkaWEtZWxl
bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1l
bnQtaW4tbWVkaWEtZWxlbWVudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIHRlc3RGdW5jcy5wdXNo
KGZ1bmN0aW9uIGNvbnRlbnRFbGVtZW50SW5WaWRlb0VsZW1lbnQoY2FsbElmRG9uZSkgewogCiAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGls
ZChkaXYpOwogCi0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2
YXIgc3IgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgdmFyIHZpZGVvID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAgICB2YXIgY29udGVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2NvbnRlbnQnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWV0ZXItZWxlbWVudC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZXRlci1lbGVtZW50
Lmh0bWwKaW5kZXggMmYwOGEyMDc1NGM3NmMzNjA1OTA0ODU2MTQ1OWY3MTQ4ZDY1MDQxOS4uZDll
YjkxMTFmNzdkYTlkN2FmNDc5NjQwMTVjZTI2MzQyN2E1NzQyNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZXRlci1lbGVtZW50Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1t
ZXRlci1lbGVtZW50Lmh0bWwKQEAgLTI3LDcgKzI3LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rp
b24gY29udGVudEVsZW1lbnRJbk1ldGVyRWxlbWVudChjYWxsSWZEb25lKSB7CiAKICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVuZENoaWxkKGRpdik7
CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzciA9
IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICB2YXIgbWV0ZXIgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdtZXRlcicpOwogICAgIHZhciBjb250ZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnY29udGVudCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1wcm9ncmVzcy1lbGVtZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXByb2dyZXNzLWVsZW1lbnQu
aHRtbAppbmRleCA2OTU3ODEzMTE4NjRlMGQyMzYyMTE0NzAyMGVjMjBhNmQxMjljNWJiLi45NmU0
ZmNmYzk3MWY3N2Y0ZjFlNjA1ODkwZmEyZWVkODNiZmM0YTI5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXByb2dyZXNzLWVsZW1lbnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWlu
LXByb2dyZXNzLWVsZW1lbnQuaHRtbApAQCAtMjcsNyArMjcsNyBAQCB0ZXN0RnVuY3MucHVzaChm
dW5jdGlvbiBjb250ZW50RWxlbWVudEluUHJvZ3Jlc3NFbGVtZW50KGNhbGxJZkRvbmUpIHsKIAog
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hp
bGQoZGl2KTsKIAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAg
dmFyIHNyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHZhciBwcm9ncmVz
cyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Byb2dyZXNzJyk7CiAgICAgdmFyIGNvbnRlbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXNlbGVjdC1lbGVtZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXNlbGVj
dC1lbGVtZW50Lmh0bWwKaW5kZXggMjJmZjg1MmIxZjczYTQ0N2IwZGZjZGFjNGFkMDYyM2E0ZWVh
OWQwOC4uYjk4YzMwMGQ2OTBhNjVlODVmZWFmMGVlYTM0YzE0MzkzYjA5MWE3MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1zZWxlY3Qt
ZWxlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVs
ZW1lbnQtaW4tc2VsZWN0LWVsZW1lbnQuaHRtbApAQCAtMjcsNyArMjcsNyBAQCB0ZXN0RnVuY3Mu
cHVzaChmdW5jdGlvbiBjb250ZW50RWxlbWVudEluU2VsZWN0RWxlbWVudChjYWxsSWZEb25lKSB7
CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVu
ZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwor
ICAgIHZhciBzciA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICB2YXIgc2Vs
ZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0Jyk7CiAgICAgdmFyIGNvbnRlbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LW91dHNpZGUtc2hhZG93LXN0eWxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LW91dHNp
ZGUtc2hhZG93LXN0eWxlLmh0bWwKaW5kZXggM2NjYWMwY2UwZWZhYTFjNmM2NzY0MjNmY2M2YjRi
Zjc4NGEyZjQ1MS4uNzMyYzFkMjcxMzdkMTYzMzgwNWM4NWM5Y2UyZTg4YWU0NTc1OTUzOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1vdXRz
aWRlLXNoYWRvdy1zdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9j
b250ZW50LWVsZW1lbnQtb3V0c2lkZS1zaGFkb3ctc3R5bGUuaHRtbApAQCAtMTksMTIgKzE5LDEy
IEBAIGNvbnRlbnQgewogPHNjcmlwdD4KIC8vIEVuc3VyZXMgdGhhdCBkaXN0cmlidXRlZCBzaGFk
b3cgY2hpbGQgaXNuJ3QgZWZmZWN0ZWQgYnkgdGhlIHN0eWxlLgogdmFyIGhvc3RXaXRoQ2hpbGQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdFdpdGhDaGlsZCIpOwotdmFyIHNoYWRvd0Zv
ckhvc3RXaXRoQ2hpbGQgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0V2l0aENoaWxkKTsKK3Zh
ciBzaGFkb3dGb3JIb3N0V2l0aENoaWxkID0gaG9zdFdpdGhDaGlsZC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiBzaGFkb3dGb3JIb3N0V2l0aENoaWxkLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImNvbnRlbnQiKSk7CiAKIC8vIEFsc28gZW5zdXJlcyB0aGF0IGR5bmFtaWNh
bGx5IG1vdmVkIDxjb250ZW50PiBlbGVtZW50cyBkbyB3b3JrLgogdmFyIGhvc3RFbXB0eSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0RW1wdHkiKTsKLXZhciBzaGFkb3dGb3JIb3N0RW1w
dHkgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0RW1wdHkpOwordmFyIHNoYWRvd0Zvckhvc3RF
bXB0eSA9IGhvc3RFbXB0eS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dGb3JIb3N0
RW1wdHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvQmVNb3ZlZCIpKTsK
IAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29u
dGVudC1yZXByb2plY3Rpb24tY29tcGxleC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWNvbXBsZXguaHRtbAppbmRleCA1YmUwMzIwOTE5YjFh
MmIyMmMwMDYzMjU4YTdhNzVkNTRmYmJmMWY0Li45YjdkOTY1MWM4NzI0MWI2ZWI0NDMwNzU0MjIx
NzZhNTZiNjU5YjIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29u
dGVudC1yZXByb2plY3Rpb24tY29tcGxleC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1jb21wbGV4Lmh0bWwKQEAgLTEzLDEwICsxMywx
MCBAQAogPC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxjb250
ZW50IHNlbGVjdD0iLkEiPjwvY29udGVudD48c2hhZG93Pjwvc2hhZG93PjxkaXYgY2xhc3M9IkEi
PkE8L2Rpdj48L2Rpdj4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKSk7Cit2YXIgc2hhZG93Um9vdDIg
PSBzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdj48aDI+QTwvaDI+PGNvbnRlbnQg
c2VsZWN0PSIuQSI+PC9jb250ZW50PjxoMj5CPC9oMj48c2hhZG93Pjwvc2hhZG93PjwvZGl2PicK
IDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29u
dGVudC1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbAppbmRleCBlMGQyMTcwOTYyNTM1
OTkwYTMzNzJjNGMyN2VhOTFiNTJmNTVjZmViLi43MTEzNmYyZGY2NmNmMTNiZTNlZDNhZTkzNDA5
YmI5MzUxOTMzNjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29u
dGVudC1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWwKQEAgLTgsMTUgKzgsMTUg
QEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFy
IHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9v
dDEuaW5uZXJIVE1MID0gJzxkaXY+PGRpdiBpZD0iaG9zdDIiPjxjb250ZW50PjwvY29udGVudD48
L2Rpdj48L2Rpdj4nOwogCiB2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgn
aG9zdDInKTsKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsK
K3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3QyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MyI+PGNvbnRlbnQ+PC9jb250ZW50Pjwv
ZGl2Pic7CiAKIHZhciBob3N0MyA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRCeUlkKCdob3N0Mycp
OwotdmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFyIHNo
YWRvd1Jvb3QzID0gaG9zdDMud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDMu
aW5uZXJIVE1MID0gJzxkaXY+PGNvbnRlbnQ+PC9jb250ZW50PjwvZGl2Pic7CiAKIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1jcmFzaC5odG1sCmlu
ZGV4IGZiZGUwNzRhMDRjY2EyYjEzNzhiNTBiMWVhNzVlYjgxZGE5NmQyMzIuLjRiMzk4YTQyYzYx
ODQ0MTdjNzQ1NTUxMTcyOTcwYzgzZGI5ZTk3NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1jcmFzaC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxs
YmFjay1jcmFzaC5odG1sCkBAIC0xMSwxMSArMTEsMTEgQEAKIDxwcmUgaWQ9ImNvbnNvbGUiPjwv
cHJlPgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj48Y29udGVudCBzZWxl
Y3Q9InNwYW4iPjxkaXYgaWQ9ImZhbGxiYWNrIj5mYWxsYmFjayBlbGVtZW50PC9kaXY+PC9jb250
ZW50PjxkaXYgaWQ9ImRpdiI+VGhpcyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+PC9kaXY+JzsK
IAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJyk7Ci12YXIg
c2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9v
dDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogCiB2YXIgY29udGVudCA9
IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdjb250ZW50JykuaXRlbSgwKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlv
bi1mYWxsYmFjay1yZXByb2plY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24uaHRtbAppbmRleCAz
NDJiYzhjMTI2ZDU2ZjMwYWI3NzZmOGM4MjJlMjhlODVhOTI4ODMwLi4wMzcwZmNmNDdhMjkwZGY2
NWJmZGRkYjRjNTg1OWJlM2M0ZjUyNDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZh
bGxiYWNrLXJlcHJvamVjdGlvbi5odG1sCkBAIC04LDcgKzgsNyBAQAogPGRpdiBpZD0iaG9zdDEi
PjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0KICAgICAnPGRpdiBpZD0iaG9zdDIiPicgKwog
ICAgICAgICAnPGNvbnRlbnQ+PGRpdiB0aXRsZT0iZGVidWdzdG9wIj5jb250ZW50IGZhbGxiYWNr
IGVsZW1lbnQ8L2Rpdj48L2NvbnRlbnQ+JyArCkBAIC0xNyw3ICsxNyw3IEBAIHNoYWRvd1Jvb3Qx
LmlubmVySFRNTCA9CiAgICAgJzwvZGl2Pic7CiAKIHZhciBob3N0MiA9IHNoYWRvd1Jvb3QxLmdl
dEVsZW1lbnRCeUlkKCdob3N0MicpOwotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0KICAgICAnPGRpdiBpZD0iaG9zdDMiPicg
KwogICAgICAgICAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nICsgCkBAIC0yNiw3
ICsyNiw3IEBAIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9CiAgICAgJzwvZGl2Pic7CiAKIHZhciBo
b3N0MyA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRCeUlkKCdob3N0MycpOwotdmFyIHNoYWRvd1Jv
b3QzID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9z
dDMud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDMuaW5uZXJIVE1MID0KICAg
ICAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxi
YWNrLmh0bWwKaW5kZXggZmMzZDAwOWVhYjMyNWRhZTBmMzdjODBkMDM1ZTdkNGUyYjIwYWUzYy4u
ZDRkZTRiYjFkZjQwMTMyZDQxY2VlZGZlNTQyOWU4ZTliMTYwYmU2MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9u
LWZhbGxiYWNrLmh0bWwKQEAgLTgsNyArOCw3IEBACiA8ZGl2IGlkPSJob3N0MSI+PC9kaXY+CiAK
IDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7
Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFk
b3dSb290MS5pbm5lckhUTUwgPQogICAgICc8ZGl2IGlkPSJob3N0MiI+JyArCiAgICAgICAgICc8
Y29udGVudD48ZGl2IHRpdGxlPSJkZWJ1Z3N0b3AiPmNvbnRlbnQgZmFsbGJhY2sgZWxlbWVudDwv
ZGl2PjwvY29udGVudD4nICsKQEAgLTE3LDcgKzE3LDcgQEAgc2hhZG93Um9vdDEuaW5uZXJIVE1M
ID0KICAgICAnPC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5
SWQoJ2hvc3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
Mik7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBz
aGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4n
OwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9j
b250ZW50LXJlcHJvamVjdGlvbi1vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwKaW5kZXggZTIzNWM4OTI2OGIxMzEz
NjMzMjM3ODdkMTc0M2U5YTU5NzU4YTBmZS4uZWNjM2I4ZjBjMDU5NDgyMDNjMmE0ODVlYmI5MzI4
MDYxM2YxY2MwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRl
bnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwKQEAgLTEyLDcgKzEyLDcgQEAKIDwv
ZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAK
IHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0KICAgICAnPHNoYWRvdyBpZD0iaWQxIj48L3NoYWRvdz48
aHI+JyArIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
cmVwcm9qZWN0aW9uLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nv
bnRlbnQtcmVwcm9qZWN0aW9uLXNoYWRvdy5odG1sCmluZGV4IDdhNTM4NjI0NDY2OGQ4MDA1NTFk
NDMzODU2MzlkYmIzZTQ1ZmUxNzAuLmQxODM5M2YwN2E0ZTk0M2VhNjdhODM3NDcxNDQzZTNmZGMw
MWZiNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJl
cHJvamVjdGlvbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y29udGVudC1yZXByb2plY3Rpb24tc2hhZG93Lmh0bWwKQEAgLTEyLDEwICsxMiwxMCBAQAogPC9k
aXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxjb250ZW50PjwvY29u
dGVudD48L2Rpdj4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChz
aGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKSk7Cit2YXIgc2hhZG93Um9vdDIgPSBz
aGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKS53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdj48c2hhZG93Pjwvc2hhZG93PjxkaXY+
QTwvZGl2PjwvZGl2PicKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY3BwZXZlbnQtaW4tc2hhZG93Lmh0bWwKaW5kZXggZTE4NzJhNTVkMzkwNWRkMDZi
MzlmYTdhYTVjMWYyZTZlMmQyNjE1NS4uZmY0M2YwYTg4MzRjOGU3YjgwYTIxMGQ0ZjA1NDFmZTU3
NDUxMTc0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NwcGV2ZW50
LWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcHBldmVu
dC1pbi1zaGFkb3cuaHRtbApAQCAtMzAsMTEgKzMwLDExIEBAIGZ1bmN0aW9uIGNyZWF0ZUJveChu
YW1lKSB7CiB9CiAKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIg
ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBzaGFkb3dSb290LmFwcGVuZENo
aWxkKGRpdik7CiAKLXZhciBkYXJrUm9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7Cit2
YXIgZGFya1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGJveCA9IGNy
ZWF0ZUJveCgnZGFyaycpOwogYm94LmlubmVySFRNTCA9ICJLb3RvcmkgT3RvbmFzaGkiOwogZGFy
a1Jvb3QuYXBwZW5kQ2hpbGQoYm94KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9jcHBldmVudC1pbnB1dC1pbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jcHBldmVudC1pbnB1dC1pbi1zaGFkb3cuaHRtbAppbmRleCA5M2YzNTdiYjI0
NWZiZmRlNjU2MDU2ZjNkNGU4NzUyNjQ5OWFhOGFjLi4zMjZmOWI5NWViYzdkOWUwYjE4YzEzZWMw
MWQ1MzdkZmQ3NjcwNjZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y3BwZXZlbnQtaW5wdXQtaW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2NwcGV2ZW50LWlucHV0LWluLXNoYWRvdy5odG1sCkBAIC0yOCwxMSArMjgsMTEgQEAg
ZnVuY3Rpb24gY3JlYXRlSW5wdXQoKSB7CiB9CiAKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBz
aGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CiAKLXZhciBkYXJrUm9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGRpdik7Cit2YXIgZGFya1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogdmFyIGlucHV0ID0gY3JlYXRlSW5wdXQoKTsKIGlucHV0LnNldEF0dHJpYnV0ZSgndmFs
dWUnLCAnS290b3JpIE90b25hc2hpJyk7CiBkYXJrUm9vdC5hcHBlbmRDaGlsZChpbnB1dCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWF0dHJp
YnV0ZS1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1
dGlvbi1hdHRyaWJ1dGUtbW9kaWZpZWQuaHRtbAppbmRleCBiN2MwZTYyMmFlYTVkOGI1NDQ0ZGNj
OTk5NDE1YmU1ZDk2ODUyYTI2Li45NGRmM2I0ZmZmZWYwMjMxNWFmYjdjZDdlMTQzOTU4MDM1YjBj
MTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9u
LWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9kaXN0cmlidXRpb24tYXR0cmlidXRlLW1vZGlmaWVkLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAK
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
IAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFk
b3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdlt0aXRsZV0iPjwvY29udGVudD4nOwogCiBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2Rpc3RyaWJ1dGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tY2xhc3NOYW1lLW1vZGlmaWVkLmh0bWwKaW5kZXgg
ZDU0OGUwZGUzMzliMDYzM2VkNzFjOWNmYWY5YzRmM2MyODcyNjAyMC4uMjEwN2FkNDk2Yzk1ODM3
YmM4YjgyMzY4YzU3NTJiZGEwYWQ0ZTgzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5o
dG1sCkBAIC0xOCw3ICsxOCw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIuc2VsZWN0ZWQi
PjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1pZC1tb2RpZmllZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1pZC1tb2RpZmllZC5odG1s
CmluZGV4IDRlMzVjZTc5YjZiNzRmMWZlNTQ0ZDM0YzljZGQxOGFhMjMwMGI0YWMuLjRjNDc3Zjg5
YmE1Mzk0MjQyOGE1ODBiYWYxOTNkMTIwNzllMjQxNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24taWQtbW9kaWZpZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWlkLW1vZGlmaWVkLmh0bWwKQEAg
LTE4LDcgKzE4LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBz
aGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNzZWxlY3RlZCI+PC9jb250
ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZHJhZy10by1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5o
dG1sCmluZGV4IDEzN2MwNWRiOTY5YTYwNWNkOTAxNGE2NDgxNDBjYTdhOGY5NzllOWIuLjAyODkx
MjM1NWU3M2RhMjRmNTBjOWNmOTQ5ZDNiYzI0MmEzMTVjZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1ldGVyLWluLXNoYWRvdy1j
cmFzaC5odG1sCkBAIC0xMSw3ICsxMSw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjb250YWluZXInKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoY29udGFpbmVyKTsKK3ZhciBzaGFkb3dSb290ID0gY29udGFpbmVyLndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIHZhciBtZXRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21ldGVy
Jyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKG1ldGVyKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtZm9yLWlucHV0LWluLXNoYWRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtZm9yLWlucHV0LWluLXNo
YWRvdy5odG1sCmluZGV4IGUwN2M5NjAyZjE2MTgwZmMxYTgxZThiN2U1ODkyZTY2NTU1Nzk0ZWYu
LjhhOWJlYzBiOTMyM2ViN2Q1MWJmY2QxZmQ5YTA1NDU3ZGE0MGY3MTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWZvci1pbnB1dC1pbi1zaGFkb3cu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1mb3ItaW5w
dXQtaW4tc2hhZG93Lmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gY3JlYXRlSW5wdXQo
bmFtZSkgewogfQogCiBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgc2hhZG93SW5wdXQgPSBjcmVhdGVJbnB1
dCgnc2hhZG93Jyk7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3dJbnB1dCk7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWluLXNo
YWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4tc2hh
ZG93Lmh0bWwKaW5kZXggZmE5MjhhZjMxNmViY2JjOTE1YmQ1MmJlYTA3N2I5NjE4NTEyZmEyMS4u
ODA2MGQ3YzJhYTJlNjBjOGE0YjZkYzQzNTQwYWVmZThjYjZlNzE4YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4tc2hhZG93Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4tc2hhZG93Lmh0bWwKQEAg
LTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gY3JlYXRlQm94KG5hbWUpIHsKIH0KIAogZnVuY3Rpb24g
cnVuVGVzdCgpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAgICAgdmFyIHNoYWRvd0RpdiA9IGNyZWF0ZUJveCgnc2hhZG93Jyk7CiAgICAgc2hhZG93Um9v
dC5hcHBlbmRDaGlsZChzaGFkb3dEaXYpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvZWxlbWVudC1mcm9tLXBvaW50LWluLW5lc3RlZC1zaGFkb3cuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9lbGVtZW50LWZyb20tcG9pbnQtaW4tbmVzdGVkLXNo
YWRvdy5odG1sCmluZGV4IDkyMGI1ODRhNTM1MGM2M2Y5YmM0ZDgyNmUzZTlhMjdjMjI2ZDQ2NDgu
LjczYjQwZTBiMWM1ZDQ2ODk1ZGQ4ODg1MTFiOTUzYTVjMTMyMDA2MjMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9lbGVtZW50LWZyb20tcG9pbnQtaW4tbmVzdGVkLXNo
YWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9lbGVtZW50LWZyb20t
cG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sCkBAIC0yMywxMSArMjMsMTEgQEAgZnVuY3Rpb24g
Y3JlYXRlQm94KG5hbWUpIHsKICAgICByZXR1cm4gZGl2OwogfQogCi12YXIgc2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKIAotdmFyIGRhcmtSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKK3ZhciBkYXJrUm9vdCA9IGRpdi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiB2YXIgYm94ID0gY3JlYXRlQm94KCdkYXJrJyk7CiBkYXJrUm9vdC5hcHBl
bmRDaGlsZChib3gpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Zm9ybS1pbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9mb3JtLWlu
LXNoYWRvdy5odG1sCmluZGV4IGE0Nzg0YTI0NjJkMzJiODE1YmIzM2ZjMmI4ZjQwYTRlMjRmYmFl
OTguLjVjMDk5ZmI0N2MwOTc3YTJlMGZhNjVhNzkwYzQ4ODg4NDNkNzk0OTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9mb3JtLWluLXNoYWRvdy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9mb3JtLWluLXNoYWRvdy5odG1sCkBAIC0xMyw3ICsx
Myw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gY3JlYXRlU2hhZG93Rm9y
bSgpIHsKICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRh
aW5lcicpOwotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoY29udGFp
bmVyKTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGNvbnRhaW5lci53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9CiAgICAgICAgICc8Zm9ybT4nICsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1p
ZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9n
ZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbAppbmRleCBmNzhkZTZjNzU1
MDQwOTRkNzM2N2I4NjViZDdkMDNiNjVlMWQxMGEyLi4wZWFhMmUzZTJiYTQ0MDVlZmVjZDdkZmZi
YWIxODA2NmJhZDg2NTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Z2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LW11dGF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy1tdXRhdGlvbi5o
dG1sCkBAIC05LDcgKzksNyBAQAogZGVzY3JpcHRpb24oIlRlc3RzIHRvIGVuc3VyZSB0aGF0IFNo
YWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQgd29ya3MgZXZlbiBhZnRlciBtdXRhdGlvbiIpOwogCiB2
YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12YXIgc2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAKIHNob3VsZEJlKCJudWxsIiwgInNoYWRvdy5nZXRFbGVtZW50QnlJ
ZCgnZm9vJykiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hh
cy1jb250ZW50LWVsZW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFz
LWNvbnRlbnQtZWxlbWVudHMuaHRtbAppbmRleCBmNjE1MWUyOGMzMDQ0OTQwN2YwOGFkMTAxMmJk
NDk2ODhhYTI4MTI1Li45MGQ2MmJjN2E4ZDEyMDYwNzlmMzZlZGMxYjU4ZjNhOTdmMmQxZTU2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxlbWVu
dHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxl
bWVudHMuaHRtbApAQCAtMTksNyArMTksNyBAQCBlbHNlIGlmICghd2luZG93LmludGVybmFscy5o
YXNDb250ZW50RWxlbWVudCkKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImhvc3QiKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
CiBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCki
KTsKIApAQCAtNDYsMTAgKzQ2LDEwIEBAIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc0NvbnRl
bnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CiAvLyBDYXNlIGZvciBuZXN0ZWQgc2hhZG93IHN1YnRy
ZWUKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxkaXY+aW4gc2hhZG93IHJvb3Q8L2Rpdj4nOwog
dmFyIGlubmVyRGl2MSA9IHNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignZGl2Jyk7Ci12YXIgaW5u
ZXJTaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGlubmVyRGl2MSk7Cit2YXIgaW5u
ZXJTaGFkb3dSb290MSA9IGlubmVyRGl2MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBpbm5l
clNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICI8ZGl2Pjxjb250ZW50PjwvY29udGVudD48L2Rpdj4i
OwogdmFyIGlubmVyRGl2MiA9IGlubmVyU2hhZG93Um9vdDEucXVlcnlTZWxlY3RvcignZGl2Jyk7
Ci12YXIgaW5uZXJTaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGlubmVyRGl2Mik7
Cit2YXIgaW5uZXJTaGFkb3dSb290MiA9IGlubmVyRGl2Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiBpbm5lclNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICI8ZGl2Pjxjb250ZW50IHRpdGxlPSdk
ZWJ1Z3N0b3AnPjwvY29udGVudD48L2Rpdj4iOwogCiBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMu
aGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKQEAgLTYwLDcgKzYwLDcgQEAgc2hvdWxk
QmVGYWxzZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CiAKIC8v
IENhc2UgZm9yIG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcwogc2hhZG93Um9vdC5pbm5lckhUTUwg
PSAiPGRpdj48ZGl2PjxkaXY+PGNvbnRlbnQ+PC9jb250ZW50PjwvZGl2PjwvZGl2PjwvZGl2PiI7
Ci12YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3Zh
ciB5b3VuZ2VyU2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogLy8g
TW9kaWZ5aW5nIG9sZGVyIHNoYWRvdyByb290IG9yIHlvdW5nZXIgc2hhZG93IHJvb3QgZG9lc24n
dCBhZmZlY3QgdGhlIG90aGVyLgogc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVs
ZW1lbnQoc2hhZG93Um9vdCkiKTsKIHNob3VsZEJlRmFsc2UoImludGVybmFscy5oYXNDb250ZW50
RWxlbWVudCh5b3VuZ2VyU2hhZG93Um9vdCkiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWwKaW5kZXggNjdmNWQxYTcxZmM0ODlkNGIx
OTRhYzA5Mjc3OTU1Y2YwODZiMTBhOC4uMmIxMWFiZmM1M2I4ZjQyMDMwYzJmM2YwMGE0YmFmNTBi
NDAwMTBjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVt
ZW50c2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVt
ZW50c2hhZG93Lmh0bWwKQEAgLTYzLDE3ICs2MywxNyBAQCB0ZXN0Q2FzZShmdW5jdGlvbigpCiAg
ICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwogICAgIHNob3VsZEJlKCdpbnRlcm5hbHMu
Y291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpJywgJzAnKTsKIAotICAgIG5ldyBXZWJLaXRT
aGFkb3dSb290KGRpdik7CisgICAgZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
aG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhzaGFkb3dSb290KScsICcxJyk7
CiAKLSAgICBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIGRpdi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgc2hvdWxkQmUoJ2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3co
c2hhZG93Um9vdCknLCAnMScpOwogfSk7CiAKIHRlc3RDYXNlKGZ1bmN0aW9uKCkKIHsKICAgICBk
ZWJ1ZygnU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFjaCBzaGFkb3cgcm9vdCAobXVsdGlwbGUgc2hh
ZG93IHJvb3QgY2FzZSknKTsKLSAgICB5b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QpOworICAgIHlvdW5nZXJTaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAKICAgICB2YXIgZGl2ID0gY3JlYXRlRE9NKCdkaXYnLCB7fSwgY3JlYXRl
U2hhZG93Um9vdCgpKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2hhcy1zaGFkb3ctaW5zZXJ0aW9uLXBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbAppbmRleCA5ODY3MDJiOTJiYThj
YmY1MzU5NGVlNzU0OGEwYmQxMWQ3Yjk0MTY3Li5kNmM4Y2U0MDQ5OTE2ODc1Njg0MmEzMTQ1Yzcy
MGRmOTc0MTc0ZmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFz
LXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbApAQCAtMTgsNyArMTgsNyBAQCBl
bHNlIGlmICghd2luZG93LmludGVybmFscy5oYXNTaGFkb3dJbnNlcnRpb25Qb2ludCkKIAogPHNj
cmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLXZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaG91bGRCZUZhbHNlKCJpbnRlcm5h
bHMuaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoc2hhZG93Um9vdCkiKTsKIApAQCAtNDIsNyArNDIs
NyBAQCBzaG91bGRCZVRydWUoImludGVybmFscy5oYXNTaGFkb3dJbnNlcnRpb25Qb2ludChzaGFk
b3dSb290KSIpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGRpdj48ZGl2PjxkaXY+PHNoYWRv
dz48L3NoYWRvdz48L2Rpdj48L2Rpdj48L2Rpdj4iOwogc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMu
aGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoc2hhZG93Um9vdCkiKTsKIAotdmFyIHlvdW5nZXJTaGFk
b3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgeW91bmdlclNoYWRvd1Jv
b3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIC8vIE1vZGlmeWluZyBvbGRlciBz
aGFkb3cgcm9vdCBvciB5b3VuZ2VyIHNoYWRvdyByb290IGRvZXNuJ3QgYWZmZWN0IHRoZSBvdGhl
ci4KIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc1NoYWRvd0luc2VydGlvblBvaW50KHNoYWRv
d1Jvb3QpIik7CiBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzU2hhZG93SW5zZXJ0aW9uUG9p
bnQoeW91bmdlclNoYWRvd1Jvb3QpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvaG9zdC13cmFwcGVyLXJlY2xhaW1lZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2hvc3Qtd3JhcHBlci1yZWNsYWltZWQuaHRtbAppbmRleCAxOWEwYTk2Njg0YTRl
NzU1ZGRkZDVjNmQ4Y2UyNzU5Y2JiYmY3ODZkLi5mNWM2YmZlOWEwODYzNjkzYTlkMjU3ZTg5Y2Qz
ZTYzMTAxNWI4YzhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaG9z
dC13cmFwcGVyLXJlY2xhaW1lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9ob3N0LXdyYXBwZXItcmVjbGFpbWVkLmh0bWwKQEAgLTksNyArOSw3IEBAIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gbWFrZU9ycGhhblNoYWRvdygpIHsKICAgICB2YXIgaG9z
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIHZhciBzaGFkb3cgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgcmV0dXJuIHNoYWRvdzsKIH07CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pZnJhbWUtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvaWZyYW1lLXNoYWRvdy5odG1sCmluZGV4IDQ1OTU5MmY0ZjU5MzIz
NjQxZDRjMTAxNGI0NDRiYmNmOTlmMGNlNjcuLjhhM2NjNzk5NTFjMThhNTgxZTdlMGU4ZTA4MmFm
NGJiOWNiMTE1ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pZnJh
bWUtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2lmcmFtZS1z
aGFkb3cuaHRtbApAQCAtMzEsNyArMzEsNyBAQCBzaG91bGRCZSgiaTEubGVuZ3RoIiwgIjIiKTsK
IC8vIFRoZW4gQWRkaW5nIHNvbWUgaWZyYW1lcyBpbnRvIGEgc2hhZG93LgogCiB2YXIgaG9zdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12YXIgc2hhZG93ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiB2YXIgaTJJblNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIp
OwogaTJJblNoYWRvdy5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAiaTIiKTsKIHNoYWRvdy5hcHBlbmRD
aGlsZChpMkluU2hhZG93KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9pbnB1dC13aXRoLXZhbGlkYXRpb24td2l0aG91dC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24td2l0aG91dC1zaGFkb3cuaHRt
bAppbmRleCA5NDhjZWVkYWJlNTkxMzMwZmIyMzdiODMwN2IyYjdiZTllNjkzZDg0Li4wMTc3NzI3
NGFjNGFhZjU1ZWU3MDllNGJlMDgxNmViYmE5OWZkZTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLXdpdGhvdXQtc2hhZG93Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2lucHV0LXdpdGgtdmFsaWRhdGlv
bi13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiA8c2NyaXB0PgogZnVuY3Rp
b24gZG9UZXN0KCkgewogICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdw
YXNzd29yZCcpOwotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW5w
dXQpOworICAgIHZhciBzaGFkb3dSb290ID0gaW5wdXQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1pdCcpLmNsaWNrKCk7CiAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLmh0bWwKaW5kZXggM2UxNDMxN2U1NDc2MDNi
OTkwOTQzOWUzNmY0Mzg2OThlMWM2OTg4ZC4uZGEwNzkzNDc3OTY0N2M1NjRiN2YxZDFkMDBmNzRk
YWVkYmQ0MjRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2lucHV0
LXdpdGgtdmFsaWRhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9p
bnB1dC13aXRoLXZhbGlkYXRpb24uaHRtbApAQCAtMTIsNyArMTIsNyBAQCBpZiAod2luZG93Lmlu
dGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55
RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIHZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdwYXNzd29yZCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChp
bnB1dCk7Cit2YXIgc2hhZG93Um9vdCA9IGlucHV0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IjsKIAogZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3N1Ym1pdCcpLmNsaWNrKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LWxpc3QtbWVudS1jcmFzaC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1saXN0LW1lbnUtY3Jh
c2guaHRtbAppbmRleCBlYjgxMjVlZDEwODJjMDZkOWM3MjRkZDM3ZjdkNWY2YmJiNDUwNGEyLi5l
YWU0NTcwYzk3MDM1OGRiN2E3OGZiMWVmNmE1MTI1MGQwMDAxMmM5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LWxpc3QtbWVudS1jcmFzaC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtbGlz
dC1tZW51LWNyYXNoLmh0bWwKQEAgLTksMTEgKzksMTEgQEAganNUZXN0SXNBc3luYyA9IHRydWU7
CiBmdW5jdGlvbiBib29tKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKIAotICAgIHZhciBvbGRlciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7Cisg
ICAgdmFyIG9sZGVyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBvbGRlci5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgICAgZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgeW91bmdlciA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHlvdW5nZXIgPSBkaXYud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIHZhciBzZWxlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzZWxlY3QnKTsKICAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hh
ZG93Jyk7CiAgICAgc2VsZWN0LmFwcGVuZENoaWxkKHNoYWRvdyk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXJlc2V0U3R5bGVJbmhlcml0
YW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1y
ZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbAppbmRleCA2MDRlZjhiMzU2ODE1NTllODVlNGQ3NWIx
MDE3OTBlNjRiNmI1ODMwLi5mNDRkMzZiYjljNWZkMTM5YTNjZGY4Y2I5MTM2ZjIyY2YyZDZhYWNm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50
LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9pbnNlcnRpb24tcG9pbnQtcmVzZXRTdHlsZUluaGVyaXRhbmNlLmh0bWwKQEAgLTE0LDcg
KzE0LDcgQEAgZnVuY3Rpb24gdGVzdE5vUmVzZXRTdHlsZUluaGVyaXRhbmNlKCkgewogICAgIGRl
YnVnKCJUZXN0IGNhc2U6IG5vIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlLiBjb2xvciB2YWx1ZSBz
aG91bGQgYmUgaW5oZXJpdGVkIGZyb20gdGhlIHNoYWRvdyBob3N0LiIpOwogICAgIHZhciBkaXYg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm8tcmVzZXQtc3R5bGUtaW5oZXJpdGFuY2UnKTsK
IAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2
YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgaWQ9ImNvbnRlbnQiPjwvY29udGVudD4nOwogICAg
IAogICAgIHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5yZXNldFN0eWxlSW5o
ZXJpdGFuY2UgPSBmYWxzZTsKQEAgLTI2LDcgKzI2LDcgQEAgZnVuY3Rpb24gdGVzdFJlc2V0U3R5
bGVJbmhlcml0YW5jZSgpIHsKICAgICBkZWJ1ZygiVGVzdCBjYXNlOiByZXNldC1zdHlsZS1pbmhl
cnRpYWNlIGJhc2ljIHRlc3QuIGNvbG9yIHZhbHVlIHNob3VsZCBiZSBpbml0aWFsIGJlY2F1c2Ug
aW5zZXJ0aW9uIHBvaW50J3MgcmVzZXRTdHlsZUluaGVyaXRhbmNlIGlzIHRydWUuIik7CiAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldC1zdHlsZS1pbmhlcml0YW5j
ZScpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwor
ICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
aGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBpZD0iY29udGVudCI+PC9jb250ZW50Pic7
CiAKICAgICBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdjb250ZW50JykucmVzZXRTdHlsZUlu
aGVyaXRhbmNlID0gdHJ1ZTsKQEAgLTM4LDcgKzM4LDcgQEAgZnVuY3Rpb24gdGVzdFJlc2V0U3R5
bGVJbmhlcml0YW5jZUR5bmFtaWMoKSB7CiAgICAgZGVidWcoIlRlc3QgY2FzZTogcmVzZXQtc3R5
bGUtaW5oZXJ0aWFjZSBjaGFuZ2VzIGR5bmFtaWNhbGx5LiBGaXJzdGx5IGNvbG9yIHZhbHVlIHNo
b3VsZCBiZSBpbmhlcml0ZWQuIE5leHQsIGluaXRpYWwuIEF0IGxhc3QsIGluaGVyaXRlZC4iKTsK
ICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc2V0LXN0eWxlLWluaGVy
aXRhbmNlLWR5bmFtaWMnKTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgaWQ9ImNvbnRlbnQi
PjwvY29udGVudD4nOwogCiAgICAgc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcp
LnJlc2V0U3R5bGVJbmhlcml0YW5jZSA9IGZhbHNlOwpAQCAtNTcsNyArNTcsNyBAQCBmdW5jdGlv
biB0ZXN0UmVzZXRTdHlsZUluaGVyaXRhbmNlRHluYW1pYygpIHsKIGZ1bmN0aW9uIHRlc3RSZXNl
dFN0eWxlSW5oZXJpdGFuY2VXaXRob3V0Q3Jvc3NpbmdVcHBlckJvdW5kYXJ5KCkgewogICAgIGRl
YnVnKCJUZXN0IGNhc2U6IHRoZSBwYXJlbnQgbm9kZSBvZiB0aGUgZGlzdHJpYnV0ZWQgbm9kZSBp
cyBpbiB0aGUgc2FtZSBzaGFkb3cgZG9tIHN1YnRyZWUgYXMgdGhlIGluc2VydGlvbiBwb2ludC4g
Y29sb3IgdmFsdWUgc2hvdWxkIGJlIGluaXRpYWwuIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlIGRv
ZXNuJ3QgZGVwZW5kIG9uIHdoZXRoZXIgcGFyZW50IHN0eWxlIG5vZGUgaXMgaW4gdGhlIHNhbWUg
dHJlZXNjb3BlIG9yIG5vdC4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Jlc2V0LWJ1dC1ub3QtY3Jvc3MtdXBwZXItYm91bmRhcnknKTsKLSAgICB2YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBk
aXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwg
PSAnPGRpdiBzdHlsZT0iY29sb3I6Ymx1ZTsgYmFja2dyb3VuZC1jb2xvcjpncmVlbjsiPjxjb250
ZW50IGlkPSJjb250ZW50Ij48L2NvbnRlbnQ+PC9kaXY+JzsKIApAQCAtNjksMTMgKzY5LDEzIEBA
IGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJpdGFuY2VXaXRob3V0Q3Jvc3NpbmdVcHBlckJv
dW5kYXJ5KCkgewogZnVuY3Rpb24gdGVzdFJlc2V0U3R5bGVJbmhlcml0YW5jZVdpdGhNdWx0aXBs
ZVNoYWRvd1Jvb3RzKCkgewogICAgIGRlYnVnKCJUZXN0IGNhc2U6IHJlc2V0LXN0eWxlLWluaGVy
aXRhbmNlIHdpdGggbXVsdGlwbGUgc2hhZG93IHJvb3RzLiBjb2xvciB2YWx1ZSBzaG91bGQgYmUg
aW5pdGlhbCwgYmVjYXVzZSByZXNldC1zdHlsZS1pbmhlcml0YW5jZSBvZiB0aGUgaW5zZXJ0aW9u
IHBvaW50IGluIHRoZSB5b3VuZ2VzdCBzaGFkb3cgcm9vdCBpcyB0cnVlLiIpOwogICAgIHZhciBk
aXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXVsdGlwbGUtc2hhZG93LXJvb3RzJyk7Ci0g
ICAgdmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAg
IHZhciBvbGRlc3RTaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBvbGRlc3RTaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBpZD0iY29udGVudCI+PC9j
b250ZW50Pic7CiAKLSAgICB2YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChkaXYpOworICAgIHZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgeW91bmdlclNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxzaGFkb3cg
aWQ9InNoYWRvdyI+PC9zaGFkb3c+JzsKIAotICAgIHZhciB5b3VuZ2VzdFNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciB5b3VuZ2VzdFNoYWRvd1Jvb3QgPSBk
aXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHlvdW5nZXN0U2hhZG93Um9vdC5pbm5l
ckhUTUwgPSAnPHNoYWRvdyBpZD0ic2hhZG93Ij48L3NoYWRvdz4nOwogCiAgICAgb2xkZXN0U2hh
ZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpLnJlc2V0U3R5bGVJbmhlcml0YW5jZSA9
IGZhbHNlOwpAQCAtODgsMTAgKzg4LDEwIEBAIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJp
dGFuY2VXaXRoTXVsdGlwbGVTaGFkb3dSb290cygpIHsKIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxl
SW5oZXJpdGFuY2VXaXRoTXVsdGlwbGVJbnNlcnRpb25Qb2ludHMoKSB7CiAgICAgZGVidWcoIlRl
c3QgY2FzZTogbXVsdGlwbGUgaW5zZXJ0aW9uIHBvaW50cyBpbiB0aGUgc2FtZSBzaGFkb3cgZG9t
IHN1YnRyZWUuLiBFYWNoIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlIHNob3VsZCBiZSBjaGVja2Vk
LiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXVsdGlwbGUtaW5z
ZXJ0aW9uLXBvaW50cycpOwotICAgIHZhciBvbGRlc3RTaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgb2xkZXN0U2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgb2xkZXN0U2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRl
bnQgaWQ9ImNvbnRlbnQiPjwvY29udGVudD4nOwogCi0gICAgdmFyIHlvdW5nZXN0U2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93Um9v
dCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgeW91bmdlc3RTaGFkb3dSb290
LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpmaXJzdC1jaGlsZCIgaWQ9ImNvbnRlbnQi
PjwvY29udGVudD48c2hhZG93IGlkPSJzaGFkb3ciPjwvc2hhZG93Pic7CiAKICAgICB5b3VuZ2Vz
dFNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5yZXNldFN0eWxlSW5oZXJpdGFu
Y2UgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNl
cnRpb24tcG9pbnQtc2hhZG93LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvaW5zZXJ0aW9uLXBvaW50LXNoYWRvdy1jcmFzaC5odG1sCmluZGV4IGFjOTQxMDhiNjBmZmZj
ZTIwYWQ0Zjg2ODgyMTRhMzAxOTY5MWY3OTEuLmJhNDM3NzNkNTU4Nzc5ZGU4ZDI5MzNjZTJjYjE1
OWZiNjY1OTI0NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNl
cnRpb24tcG9pbnQtc2hhZG93LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2luc2VydGlvbi1wb2ludC1zaGFkb3ctY3Jhc2guaHRtbApAQCAtOSwxMCArOSwxMCBA
QCBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHNo
YWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvdzEgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzEuaW5uZXJIVE1MID0gIjxzdHlsZT5k
aXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2PkhFTExPPC9kaXY+IjsKIAotICAgIHNoYWRv
dzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvdzIgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzIuaW5uZXJIVE1MID0gIjxkaXY+PHNoYWRv
dz48L3NoYWRvdz48L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKICAgICBk
b2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJQQVNTIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbApp
bmRleCBhZjEyM2RiOWEzNjkxNTQ0YTE3MzAwOTk5ODMwNmY5ODliNjllMDljLi43OTg4ZmIxMWFh
OTE4ZDU2OTczZWFhZWVjNDNlZTg1ZjYzYzJkYmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXZpZGVvLWNyYXNoLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC12aWRlby1jcmFzaC5odG1s
CkBAIC05LDggKzksOCBAQCBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIGZ1bmN0aW9uIGJvb20oKSB7
CiAgICAgZGl2Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChkaXZOb2RlKTsKLSAgICBkaXZTaGFkb3cx
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2Tm9kZSk7Ci0gICAgZGl2U2hhZG93MiA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdk5vZGUpOworICAgIGRpdlNoYWRvdzEgPSBkaXZOb2RlLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICBkaXZTaGFkb3cyID0gZGl2Tm9kZS53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgCiAgICAgdmlkZW9Ob2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgndmlkZW8nKTsKICAgICBkaXZTaGFkb3cyLmFwcGVuZENoaWxkKHZpZGVvTm9kZSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW52YWxpZGF0ZS1kaXN0cmli
dXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3Ry
aWJ1dGlvbi5odG1sCmluZGV4IGIzOTA1MWJkOTQ3YTUxOTRlNmIxNTQ3NTcyMjZjYzVjZDFiZTMw
YWEuLmQ2N2QwYzBmYTkwYmY4NDhlOTk2MDQxY2Y5ZWJlODlkOWNiZTEwMjMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3RyaWJ1dGlvbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3RyaWJ1dGlv
bi5odG1sCkBAIC04LDExICs4LDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHA+b2xkZXN0IHNoYWRvdzwvcD4iCiAK
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QyID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gIjxwPnlvdW5nZXIg
c2hhZG93PC9wPiI7CiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbGluay1pbi1zaGFkb3ctdHJlZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2xpbmstaW4tc2hhZG93LXRyZWUuaHRtbAppbmRleCBk
NzdkMzNlYzU1N2U0NTg0M2VjNDQ4ZjIyN2IyZjY5Y2E5NmNkNjk1Li5kNDYzZjA1MWQxM2JlODBk
MzU5MmU3ZjdkNmVlZDVhOTc2ZGZjOWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvbGluay1pbi1zaGFkb3ctdHJlZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9saW5rLWluLXNoYWRvdy10cmVlLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAgZnVu
Y3Rpb24gY29tcHV0ZWRCYWNrZ3JvdW5kQ29sb3IoZWxlbSkgewogCiB2YXIgY29udGFpbmVyID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwogCi12YXIgc2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGNvbnRhaW5lcik7Cit2YXIgc2hhZG93Um9vdCA9IGNvbnRh
aW5lci53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKIHZhciBsaW5rID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnbGluaycpOwogbGluay5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdzdHlsZXNoZWV0
Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hh
ZG93cm9vdC1hZG9wdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxl
LXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAppbmRleCAyODM5YWU3ODI1MTI4N2U2YTg1YTdiYmIxMzM0
MzgwMTIzMjgzYmJlLi42NDk0YWU5OTU4YmRiYTZhODcyNDdlYjVmOTJlNzMzMjk5NWQxMjJhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9v
dC1hZG9wdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1z
aGFkb3dyb290LWFkb3B0Lmh0bWwKQEAgLTEyLDggKzEyLDggQEAKIDxzY3JpcHQ+CiBmdW5jdGlv
biBkb1Rlc3QoKSB7CiAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwotICAgIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHRhcmdldCk7Ci0gICAgc3IyID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QodGFyZ2V0KTsKKyAgICBzcjEgPSB0YXJnZXQud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOworICAgIHNyMiA9IHRhcmdldC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAKICAgICBzaG91bGRCZSgnZG9jdW1lbnQnLCAnc3IxLm93bmVyRG9jdW1lbnQnKTsKICAg
ICBzaG91bGRCZSgnc3IxLm93bmVyRG9jdW1lbnQnLCAnc3IyLm93bmVyRG9jdW1lbnQnKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290
LXJlbmRlcmluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNo
YWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWwKaW5kZXggNDA1OWEzMTE2MjM0ZGQyZDkwYTFlZTU2MmNh
NGNlYTRiMTU4NjM1MS4uZmY5ZmIyMzg5NGY3M2JiY2QwMmYwNmUwZWFiNzUxOWFiMGRlNWQyZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jv
b3QtcmVuZGVyaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRp
cGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWwKQEAgLTIzLDEyICsyMywxMiBAQCB0ZXN0RnVu
Y3MucHVzaChmdW5jdGlvbiB0ZXN0RG91YmxlU2hhZG93U3VidHJlZXMoY2FsbElmRG9uZSkgewog
ICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUJykpOwogCi0gICAgdmFyIHNyMSA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdCRUZPUkU6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAg
IHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJF
IFJFTkRFUkVEJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3Qp
OworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IyLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtNDQsMTcgKzQ0LDE3IEBAIHRlc3RGdW5j
cy5wdXNoKGZ1bmN0aW9uIHRlc3RUcmlwbGVTaGFkb3dTdWJ0cmVlcyhjYWxsSWZEb25lKSB7CiAg
ICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQnKSk7CiAKLSAgICB2YXIgc3IxID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQo
Y3JlYXRlU3BhbldpdGhUZXh0KCdNSUQ6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAg
c3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVI6IFNIT1VMRCBOT1QgQkUg
UkVOREVSRUQnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7
CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5E
RVJFRCcpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQ6IFNI
T1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQUZURVI6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAKLSAgICB2YXIgc3Iz
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMyA9IHJvb3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0JFRk9SRScpKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdN
SUQnKSk7CiAgICAgc3IzLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7
CkBAIC03MCwxMiArNzAsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVzdFNoYWRvd1N1
YnRyZWVzV2l0aENvbnRlbnQoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ0xJR0hUJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJv
b3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
cjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkU6IFNIT1VMRCBOT1QgQkUg
UkVOREVSRUQnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlE
OiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogCi0gICAgdmFy
IHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRo
U2VsZWN0KCdzcGFuJywgJ0ZBTExCQUNLJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtOTIsMTIgKzkyLDEyIEBAIHRlc3RGdW5jcy5wdXNo
KGZ1bmN0aW9uIHRlc3RTaGFkb3dTdWJ0cmVlc1dpdGhDb250ZW50SW5PbGRlclN1YnRyZWUoY2Fs
bElmRG9uZSkKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQg
MScsICdjMScpKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElH
SFQgMicsICdjMicpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290
KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3Ix
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFOiBTSE9VTEQgTk9UIEJFIFJF
TkRFUkVEJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgn
LmMyJywgJ0ZBTExCQUNLJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogCi0gICAgdmFyIHNyMiA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdC
RUZPUkUnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCcu
YzEnLCAnRkFMTEJBQ0snKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4
dCgnQUZURVInKSk7CkBAIC0xMTQsNyArMTE0LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24g
dGVzdFNoYWRvd1N1YnRyZWVzV2l0aER5bmFtaWNDcmVhdGlvbihjYWxsSWZEb25lKSB7CiAgICAg
cm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUIDEnLCAnYzEnKSk7CiAg
ICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUIDInLCAnYzInKSk7
CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNy
MSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAg
ICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3NwYW4nLCAnRkFMTEJB
Q0sgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUjog
U0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKQEAgLTEyMiw3ICsxMjIsNyBAQCB0ZXN0RnVuY3Mu
cHVzaChmdW5jdGlvbiB0ZXN0U2hhZG93U3VidHJlZXNXaXRoRHluYW1pY0NyZWF0aW9uKGNhbGxJ
ZkRvbmUpIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicp
LmFwcGVuZENoaWxkKHJvb3QpOwogCiAgICAgc2V0VGltZW91dCgoZnVuY3Rpb24oY2FsbElmRG9u
ZSwgcm9vdCkgeyByZXR1cm4gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzcjIgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChyb290KTsKKyAgICAgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdCRUZPUkUnKSk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNl
bGVjdCgnc3BhbicsICdGQUxMQkFDSyAyJykpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsKQEAgLTEzOCwxMyArMTM4LDEzIEBAIHRlc3RGdW5j
cy5wdXNoKGZ1bmN0aW9uIHRlc3RTaGFkb3dTdWJ0cmVlc1dpdGhEeW5hbWljQ3JlYXRpb25PdXRP
ZlRyZWUoY2FsbElmRG9uCiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0xJR0hUIDEnLCAnYzEnKSk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0xJR0hUIDInLCAnYzInKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5P
VCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhT
ZWxlY3QoJ3NwYW4nLCAnRkFMTEJBQ0sgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdBRlRFUjogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKIAogICAgIHNl
dFRpbWVvdXQoKGZ1bmN0aW9uKGNhbGxJZkRvbmUsIHJvb3QpIHsgcmV0dXJuIGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgICAg
IHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICAgICAgc3IyLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgICAgICBzcjIuYXBw
ZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3NwYW4nLCAnRkFMTEJBQ0sgMicpKTsK
ICAgICAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9v
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3Qu
aHRtbAppbmRleCAyYTZiNTI4MGVkZDFhODdiMjQ3MDI4MTc1ZGQ5YTY4NjNkNDI2MTJjLi4yMTFl
ZGI0ZDVmMDVmYTIxMTEzM2JhZmQxNWM1NGI2M2U3YjhhMGVhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0bWwKQEAgLTksMTUg
KzksMTUgQEAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmUgdGhhdCB0aGUgbXVsdGlwbGUg
c2hhZG93IHJvb3QgaXMgYXZhaWxhYmxlLiIpOwogCiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiBzaG91bGRCZSgiaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSIsICJu
dWxsIik7Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwordmFy
IHNoYWRvd1Jvb3QxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNob3VsZEJlKCJp
bnRlcm5hbHMuc2hhZG93Um9vdChkaXYpIiwgInNoYWRvd1Jvb3QxIik7CiBzaG91bGRCZSgiaW50
ZXJuYWxzLm9sZGVyU2hhZG93Um9vdChzaGFkb3dSb290MSkiLCAibnVsbCIpOwogCi12YXIgc2hh
ZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpCit2YXIgc2hhZG93Um9vdDIgPSBk
aXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpCiBzaG91bGRCZSgiaW50ZXJuYWxzLnNoYWRvd1Jv
b3QoZGl2KSIsICJzaGFkb3dSb290MiIpOwogc2hvdWxkQmUoImludGVybmFscy5vbGRlclNoYWRv
d1Jvb3Qoc2hhZG93Um9vdDIpIiwgInNoYWRvd1Jvb3QxIik7CiAKLXZhciBzaGFkb3dSb290MyA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7Cit2YXIgc2hhZG93Um9vdDMgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hvdWxkQmUoImludGVybmFscy5zaGFkb3dSb290KGRpdiki
LCAic2hhZG93Um9vdDMiKTsKIHNob3VsZEJlKCJpbnRlcm5hbHMub2xkZXJTaGFkb3dSb290KHNo
YWRvd1Jvb3QzKSIsICJzaGFkb3dSb290MiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcGFyZW50LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcGFyZW50LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWwKaW5k
ZXggMGEwODE5NDIwZWRlOTNjZjMyODE4NjdkZjkzZWQyYTllNDBjYTEwZS4uMWRhNmFmYTNjNjdj
ZTgyYzgyNGE5NDQzMzk2OTU5YWY0Y2M3MGFlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BhcmVudC10cmVlLXNjb3BlLWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wYXJlbnQtdHJlZS1zY29wZS1pbi1zaGFkb3cuaHRtbApA
QCAtMTIsMTMgKzEyLDEzIEBACiAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAog
ICBkZWJ1ZygiQ3JlYXRpbmcgc2hhZG93IGRvbSBzdWJ0cmVlcyBmcm9tIHRvcCB0byBib3R0b20u
Iik7Ci0gIHZhciBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgdmFyIHNo
YWRvdzEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3cxLmlubmVySFRN
TCA9ICI8ZGl2IGlkPSdFJz4vZGl2PiI7CiAgIHZhciBlID0gc2hhZG93MS5nZXRFbGVtZW50QnlJ
ZCgiRSIpOwotICB2YXIgc2hhZG93MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGUpOworICB2YXIg
c2hhZG93MiA9IGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3cyLmlubmVySFRN
TCA9ICI8ZGl2IGlkPSdGJz48L2Rpdj4iOwogICB2YXIgZiA9IHNoYWRvdzIuZ2V0RWxlbWVudEJ5
SWQoIkYiKTsKLSAgdmFyIHNoYWRvdzMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChmKTsKKyAgdmFy
IHNoYWRvdzMgPSBmLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgc2hhZG93My5pbm5lckhU
TUwgPSAiPGRpdiBpZD0nRyc+PC9kaXY+IjsKIAogICBzaG91bGRCZSgiaW50ZXJuYWxzLnBhcmVu
dFRyZWVTY29wZShzaGFkb3cxKSIsICJkb2N1bWVudCIpOwpAQCAtMzAsMTMgKzMwLDEzIEBACiAg
IGRlYnVnKCJDcmVhdGluZyBtdWx0aXBsZSBzaGFkb3cgZG9tIHN1YnRyZWVzLiIpOwogICBkaXYg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChkaXYpOwotICBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgc2hh
ZG93MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgIHNoYWRvdzEuaW5uZXJIVE1M
ID0gIjxkaXYgaWQ9J0gnPjwvZGl2PiI7CiAKICAgdmFyIGggPSBzaGFkb3cxLmdldEVsZW1lbnRC
eUlkKCJIIik7Ci0gIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChoKTsKKyAgc2hhZG93
MiA9IGgud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3cyLmlubmVySFRNTCA9ICI8
ZGl2PnNoYWRvdzI8L2Rpdj4iOwotICBzaGFkb3czID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaCk7
CisgIHNoYWRvdzMgPSBoLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgc2hhZG93My5pbm5l
ckhUTUwgPSAiPGRpdj5zaGFkb3czPC9kaXY+IjsKICAgc2hvdWxkQmUoImludGVybmFscy5wYXJl
bnRUcmVlU2NvcGUoc2hhZG93MikiLCAic2hhZG93MSIpOwogICBzaG91bGRCZSgiaW50ZXJuYWxz
LnBhcmVudFRyZWVTY29wZShzaGFkb3czKSIsICJzaGFkb3cxIik7CkBAIC00NSwxMyArNDUsMTMg
QEAKIAogICBkZWJ1ZygiQ3JlYXRpbmcgbXVsdGlwbGUgc2hhZG93IGRvbSBzdWJ0cmVlcyBmcm9t
IGJvdHRvbSB0byB0b3AuIik7CiAgIGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
LSAgc2hhZG93MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGYpOworICBzaGFkb3czID0gZi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgIHNoYWRvdzMuaW5uZXJIVE1MID0gIjxkaXYgaWQ9J0cn
PjwvZGl2PiI7CiAgIGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgc2hhZG93
MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGUpOworICBzaGFkb3cyID0gZS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgIHNoYWRvdzIuYXBwZW5kQ2hpbGQoZik7CiAgIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZGl2KTsKKyAgc2hhZG93MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgIHNoYWRv
dzEuYXBwZW5kQ2hpbGQoZSk7CiAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUt
ZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1
dGUtZHluYW1pYy5odG1sCmluZGV4IGYwZGEyMGYxNTI2ZTE0MDg2NzNlN2NmN2UwYjljOTljMDY1
OWU1YzcuLjhiZWZmMGU0OThiZWQ4MTdiZTMyYmQwNzFiMzYzMmI1ZTUzMzg3M2EgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG8tYXR0cmlidXRlLWR5bmFtaWMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0dHJpYnV0ZS1k
eW5hbWljLmh0bWwKQEAgLTIyLDcgKzIyLDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBk
aXYud2Via2l0UHNldWRvID0gJ3gtZm9vJzsKIGRpdi5pbm5lckhUTUwgPSAiVGhpcyBzaG91bGQg
YmUgYmx1ZS4iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVk
by1hdHRyaWJ1dGUtcmVuZGVyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvLWF0dHJpYnV0ZS1yZW5kZXJpbmcuaHRtbAppbmRleCA3NjgyYjQyZjBkOWZlZDdkM2Y5
NzI5OGViMjI3MGVjMzExZWRiMWI4Li5lODM3Njk5NzY3MWEzNTQ0NTE3N2E0MDU4ZDQ4MWNhZTE3
ZDJkMTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0
dHJpYnV0ZS1yZW5kZXJpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvLWF0dHJpYnV0ZS1yZW5kZXJpbmcuaHRtbApAQCAtMTgsMTMgKzE4LDEzIEBAIGRpdjo6
LXdlYmtpdC1mb29iYXIgewogPGRpdiBpZD0iaG9zdDIiPjwvZGl2PgogCiA8c2NyaXB0PgotdmFy
IHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jv
b3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdjEgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdjEud2Via2l0UHNldWRvID0gJ3gtZm9vJzsKIGRp
djEuaW5uZXJIVE1MID0gIlRoaXMgdGV4dCBzaG91bGQgYmUgcmVkLiI7CiBzaGFkb3dSb290MS5h
cHBlbmRDaGlsZChkaXYxKTsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogdmFyIGRpdjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdjIud2Vi
a2l0UHNldWRvID0gJy13ZWJraXQtZm9vYmFyJzsKIGRpdjIuaW5uZXJIVE1MID0gIlRoaXMgdGV4
dCBzaG91bGQgbm90IGJlIHJlZC4iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLWlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRtbApp
bmRleCA4YTJlMzg0OGQ3ZjU0NGI4ZDE1NWMyYTFmNDg4YTkwNDE2MjJiNDRkLi5kNDQ1ZTUyMDU1
YmMzODQ1OTViZGM4YTk1OWY0ODRmNzNiN2VjZWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQt
aW5wdXQuaHRtbApAQCAtMzMsMTAgKzMzLDEwIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4nOwotbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Imlu
cHV0OmNoZWNrZWQiPic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MykuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3Q0KS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4nOwor
aG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxl
Y3Q9ImlucHV0OmNoZWNrZWQiPic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5u
ZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKK2hvc3QzLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpj
aGVja2VkIj4nOworaG9zdDQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8
Y29udGVudCBzZWxlY3Q9ImlucHV0OmNoZWNrZWQiPic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7CiAgICAgaW5wdXQxLmNoZWNrZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLW9wdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLW9w
dGlvbi5odG1sCmluZGV4IGI3YmFmNzllY2FmOWZiOWQ2NmMyMTBkZGU2ZWY5ZDI5NDI1MWZkMmMu
LjU5NzRiOWQzNTE4OTFhYTRmNTBkYmUxMjA4NDE4YjY3NDY5ZjI0MDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1vcHRp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBk
YXRlLWNoZWNrZWQtb3B0aW9uLmh0bWwKQEAgLTI1LDggKzI1LDggQEAKIDxzY3JpcHQ+CiBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdDEpOwotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIp
OwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFy
IHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaGFkb3dS
b290MS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJvcHRpb246Y2hlY2tlZCI+JzsKIHNo
YWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Im9wdGlvbjpjaGVja2VkIj4n
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVw
ZGF0ZS1kaXNhYmxlZC1idXR0b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtYnV0dG9uLmh0bWwKaW5kZXggNjg2NGNhYTZlNmI4
ZjY1NmYzMDVlNDQ4MTljNzZhOGM3YTljZDFmMy4uYTYxOWIwM2VjYjVkYWMzZTdjNjM3YjA2ZGJj
YTIzOTMxZTE5MzdjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1idXR0b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWJ1dHRvbi5odG1sCkBA
IC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwg
PSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+
PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQi
PjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGJ1dHRvbjIuc2V0
QXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1maWVsZHNldC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1m
aWVsZHNldC5odG1sCmluZGV4IDU4NTcxNTE4YTcyMTdlZmNmMzEwYmFiYWQ1ZTZhYjc2NTUzYmIx
MGEuLjkwOTE3N2RjZTZlMzAzYzBiZmFhNDNkNTA4MTEwODkxNDg4ZjEwZWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQt
ZmllbGRzZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWRpc2FibGVkLWZpZWxkc2V0Lmh0bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijpk
aXNhYmxlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJI
VE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlz
YWJsZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgZmllbGRzZXQyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQn
LCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtZGlzYWJsZWQtaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtaW5wdXQuaHRtbAppbmRleCAzMmYyMWNl
YzU4MTllOTJjNzBjZTExMzcyM2RiMDM4NjcwNzEzOTQwLi4wYWU3OWRlZjUyZDE1ZGZjNWY2ZWFl
ZWYyMDIzYjkyMGE4Yjk5NWJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWlucHV0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1pbnB1dC5odG1s
CkBAIC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxl
ZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJs
ZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGlucHV0Mi5z
ZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGdyb3VwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVk
LW9wdGdyb3VwLmh0bWwKaW5kZXggZDg4NjAzM2Q3YTE5YWYyZTQwM2E4MjI0MzQxYzQyZGIxNDNj
YjA2Ny4uYjcyMmVkMTQ4NDcxNWE0ZTBlZjQ1YzRmODkwMDYzMjhjYjQzNzUwYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxl
ZC1vcHRncm91cC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtZGlzYWJsZWQtb3B0Z3JvdXAuaHRtbApAQCAtMjcsOCArMjcsOCBAQAogPHNj
cmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0MSk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+
JzsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+
JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZGlzYWJsZWQtb3B0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGlvbi5odG1sCmluZGV4IDQ1MDIyN2YzOGVk
ZGVmM2U4YTNmNTZkMDE5YTMyZDlkNjk5YWQ3OGIuLjQyYWQzNDAxNDMwZDYyZmI5ZDgyNTI4YmVi
YmNmNWMwNTdlM2Q5MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtb3B0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRpb24uaHRtbApA
QCAtMjcsOCArMjcsOCBAQAogPHNjcmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIg
c2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Ci12YXIgc2hhZG93Um9v
dDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0
MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVu
dCBzZWxlY3Q9IjpkaXNhYmxlZCI+JzsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVu
dCBzZWxlY3Q9IjpkaXNhYmxlZCI+JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2VsZWN0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLXNlbGVjdC5o
dG1sCmluZGV4IGRhMDNjMTRhMDNiNDA0Yjk1NWIyNTIxMTVjOWZlYjI4NGRhZWE4YTEuLmY4Njhk
ZjI1MTc5YTkxNDU1OTJkNTNkOTZlZDY3MmM4ZDI0OWU5NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2VsZWN0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1k
aXNhYmxlZC1zZWxlY3QuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2Nv
bnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRl
bnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250
ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlv
bigpIHsKICAgICBzZWxlY3QyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlz
YWJsZWQtdGV4dGFyZWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtZGlzYWJsZWQtdGV4dGFyZWEuaHRtbAppbmRleCBkNzVmNGNjNTkzYjA0ZjY3
NTFlY2EyMTYzN2E3ODFmN2NhNTJhNDg4Li5mODY0OGJlYjYzNjk4OWUwNDhjZWVjMjcwYzY0NzMy
OTc3YjljN2Y2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWRpc2FibGVkLXRleHRhcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC10ZXh0YXJlYS5odG1sCkBA
IC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwg
PSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+
PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQi
PjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIHRleHRhcmVhMi5z
ZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYW5jaG9yLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYW5j
aG9yLmh0bWwKaW5kZXggOTY5MTQwNGM5OTNkYWJjYWE5NjQ5ZmUzNzI3YTYwNzMyNWEzZDdhNi4u
YjUwNWIzODQ0NGExYzZiMTdjZDljZWIwODMyYjIyMWJhNTI3YjY4MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFuY2hv
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZW5hYmxlZC1hbmNob3IuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwv
Y29udGVudD4nOwotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29u
dGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250
ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewogICAgIGFuY2hvcjIucmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYXJl
YS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1l
bmFibGVkLWFyZWEuaHRtbAppbmRleCAxNTg3YmFiZGNiY2M0Y2Y2OGNhNjc3OTgxYzBmZDQ1YjA0
YzQ4MTlmLi4wMjlhMTliM2UxMGM0N2YxMTA5MDM2MmE4MDczZmVjOThkNmQyZGJmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJs
ZWQtYXJlYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtZW5hYmxlZC1hcmVhLmh0bWwKQEAgLTQxLDggKzQxLDggQEAgaG9zdDEuYXBwZW5k
Q2hpbGQoYXJlYTIpOwogaG9zdDIuYXBwZW5kQ2hpbGQoYXJlYTMpOwogaG9zdDIuYXBwZW5kQ2hp
bGQoYXJlYTQpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iYXJlYTplbmFibGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOmVuYWJsZWQi
PjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9
ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6ZW5hYmxlZCI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTpl
bmFibGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBhcmVh
Mi5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0b24uaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0b24u
aHRtbAppbmRleCBkNjhhMGY2ZjM0NGJlM2ZiNWFjYzY3YjNmODdmNjg2MzZmY2E3YzMzLi43ZDc1
ZTI1MjAyYjU2ODY4ZjQwNWE2MjcyMjY2NTY2MDgxMWUzMDVjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYnV0dG9uLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1l
bmFibGVkLWJ1dHRvbi5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250
ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+
JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
CiAgICAgYnV0dG9uMi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
ZmllbGRzZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZW5hYmxlZC1maWVsZHNldC5odG1sCmluZGV4IGQ3ODVmNmI5ZDBlOGUzMjY4MWFjMDM4
NjM1MTc5NTBlZDNlNzA0NjcuLjgzODUzNDA2NGQ4MGY5YmVmZWY5YTQ3YjI1NTQ3OGMwMGMzMjBk
MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZW5hYmxlZC1maWVsZHNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1maWVsZHNldC5odG1sCkBAIC0yMiw4ICsy
Miw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRl
bnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4n
OworaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBz
ZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7
CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgZmllbGRzZXQyLnNldEF0dHJpYnV0ZSgn
ZGlzYWJsZWQnLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1pbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0bWwKaW5kZXgg
MDkxMzczYzRmMzlkMzk2NWQ1ODZhNWUzMTU2NWI5YWRkNmVlZDFmYy4uMGQ3Yjk0MGUzZTJkMGY3
NjNlM2RlNzRjZTNjYjFmMDRjNWU4NjEzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0
Lmh0bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5h
YmxlZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJI
VE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDIud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFi
bGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBpbnB1dDIu
c2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9wdGdyb3VwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
b3B0Z3JvdXAuaHRtbAppbmRleCA1NzcwNTdkN2U4NGEwYWFhYzFiOTE3ZTM5MjVhZWRmNGY2NTdm
NDVhLi44ZDMyMjU1YzdjMDY4NzcyYWM5NGZlZTRmOGRlZWIyMTViMTZiMTU5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
b3B0Z3JvdXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWVuYWJsZWQtb3B0Z3JvdXAuaHRtbApAQCAtMjcsOCArMjcsOCBAQAogPHNjcmlw
dD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0MSk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAK
IHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj4nOwog
c2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPic7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWVuYWJsZWQtb3B0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWVuYWJsZWQtb3B0aW9uLmh0bWwKaW5kZXggNDU1ZWQ3ZDg3ZTM3MWFiZjY4
N2U1YTM1ZmE3MmFiNGY0N2FmNDNlMC4uYzI1MjZkNTU0ZmE2M2UyMmJkNzBjZmVhMzRkNzhkODgy
YjcwZjM0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1lbmFibGVkLW9wdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1vcHRpb24uaHRtbApAQCAtMjcsOCAr
MjcsOCBAQAogPHNjcmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9v
dDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
IjplbmFibGVkIj4nOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0i
OmVuYWJsZWQiPic7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWwKaW5kZXggODBi
MWQ2ZjcwOWMyMDNhMTNiMTk2MzEyZWM5YjljMjM5M2JlMjVjOC4uNTM5Zjg2N2U0YWZkY2YxYmI0
MTNiMmRjZmQ4OTYwZTRhMmUyMDhjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXNlbGVjdC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1zZWxlY3Qu
aHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5u
ZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFi
bGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJs
ZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIHNlbGVjdDIu
c2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXRleHRhcmVhLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
dGV4dGFyZWEuaHRtbAppbmRleCAzNGMwYmMzNzEyMjhlZmY2NmE4MDgyNDMxNDAyOTViYjNlZGQ5
ZDg1Li4wNTE3N2VlYmJiOTgzNmI3YjE1MTYxOTNiM2M4MWY0MTQzMWM3OGMwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
dGV4dGFyZWEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWVuYWJsZWQtdGV4dGFyZWEuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVu
YWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxl
ZCI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewogICAgIHRleHRhcmVhMi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1
ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWluZGV0ZXJtaW5hdGUtaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1dC5odG1sCmluZGV4IDFh
ODZhNTc5ODk1NDE1OGQ4ZGU0ZDFmYTJhNmE1MWNlMWZkNzFkZWYuLjA1NGU0NGI2NWQzOWVkNGE1
Zjk2YjA1OTU1OGJhNzZkMGJiZTM1NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1dC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1p
bmF0ZS1pbnB1dC5odG1sCkBAIC0zMCw3ICszMCw3IEBAIGlucHV0Mi5pbmRldGVybWluYXRlID0g
dHJ1ZTsKIGlucHV0NC5pbmRldGVybWluYXRlID0gdHJ1ZTsKIGlucHV0NS5pbmRldGVybWluYXRl
ID0gdHJ1ZTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
K3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9InNwYW4sIGlucHV0OmluZGV0ZXJtaW5h
dGUiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWlu
YXRlLXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MuaHRtbAppbmRleCAxNjM3NTNhZWNjNzRh
MzY5MmNiZGM5NWE4MmFmYWIyZGI5YjIxMWY2Li5hZWQ3ZmM5MzI0OTlhNzcyYzQ3MTliN2EwOGY0
MjUwYjBkMGM3NzgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtcHJv
Z3Jlc3MuaHRtbApAQCAtMjIsNyArMjIsNyBAQCBwcm9ncmVzcyB7CiBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSJzcGFuLHByb2dyZXNzOmluZGV0ZXJtaW5hdGUiPjwvY29udGVudD4nOwogcHJvZ3Jl
c3MxLnZhbHVlID0gJzMwJzsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sCmluZGV4IDcw
YjBlZDRhZDE1MGRlMWViZWJhNjQ2OWIwNzhmOWM1ZTY1NmJlZjYuLmIzM2NlNWZjZWRkNWY5YjNh
MTI2OGMzOTE2NGFiNDRkMjgwMmIxODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hbmNob3IuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYW5jaG9yLmh0bWwK
QEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9IjpsaW5rIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6bGluayI+PC9jb250
ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iOmxpbmsiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpsaW5rIj48L2NvbnRlbnQ+JzsK
IAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBhbmNob3IyLnJlbW92ZUF0dHJpYnV0ZSgn
aHJlZicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1saW5rLWFyZWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtbGluay1hcmVhLmh0bWwKaW5kZXggY2UyYzZhNmMxNTBiMjMyN2Q2
YTRlMGU0NDA0YTk3NzgxMjY1NGJlYy4uM2FiYzJhZTFmMTFkMzg1ZDRlNGE3YjRmOTgwODk2Mjc2
MzA2ZWQxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1saW5rLWFyZWEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYXJlYS5odG1sCkBAIC00MSw4ICs0MSw4IEBAIGhv
c3QxLmFwcGVuZENoaWxkKGFyZWEyKTsKIGhvc3QyLmFwcGVuZENoaWxkKGFyZWEzKTsKIGhvc3Qy
LmFwcGVuZENoaWxkKGFyZWE0KTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6bGluayI+PC9jb250ZW50Pic7Ci1uZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTps
aW5rIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOmxpbmsiPjwvY29udGVudD4nOworaG9zdDIud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6
bGluayI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYXJlYTIu
cmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS10YXJnZXQuaHRtbAppbmRleCAzOWE0Njcy
ZDA1MzQ4ZmZhYjI4YzFkNTMyM2I1NGY5ZTg0MTE2NGY5Li40MThmMWZlMThlZmI5NWE5MmMyODE5
MWI2YmM4NjlkMTEyYWQ0NWFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcHNldWRvY2xhc3MtdXBkYXRlLXRhcmdldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdGFyZ2V0Lmh0bWwKQEAgLTIwLDcgKzIwLDcg
QEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogCiBsb2NhdGlvbi5oYXNoID0gJyN0YXJnZXQxJzsK
IAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFk
b3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdjp0YXJnZXQiPjwvY29udGVudD4nOwogCiBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1sCmlu
ZGV4IDU0YzFhMDYwMTM4YTM0YjI5Zjg5YzRjYjcyMmY0OWMwMTdhZTFmZDAuLmM4ZTIyYTgzNDQ5
YTk1MTRkMDc3ZmRlN2I5MzRjOWY2NTQ5ZTg1NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRlZC1hbmNob3IuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQt
YW5jaG9yLmh0bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijp2aXNpdGVkIj48L2NvbnRlbnQ+JzsK
LW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0
PSI6dmlzaXRlZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCku
aW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOnZpc2l0ZWQiPjwvY29udGVudD4nOworaG9z
dDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
Ijp2aXNpdGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBh
bmNob3IyLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFyZWEuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRlZC1hcmVh
Lmh0bWwKaW5kZXggZjZjZDJkNmI2YTI1NWVjMWNlMDYxYTRlN2Q2YTdmMDE4YjcxM2E3Mi4uN2U3
ZWQ0ZTk4MWViNjc0NDU3MjUyY2Q3ZWE2ODdhMGM1ZGVhMzE3MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFyZWEuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZp
c2l0ZWQtYXJlYS5odG1sCkBAIC00MSw4ICs0MSw4IEBAIGhvc3QxLmFwcGVuZENoaWxkKGFyZWEy
KTsKIGhvc3QyLmFwcGVuZENoaWxkKGFyZWEzKTsKIGhvc3QyLmFwcGVuZENoaWxkKGFyZWE0KTsK
IAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxl
Y3Q9ImFyZWE6dmlzaXRlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTp2aXNpdGVkIj48L2NvbnRlbnQ+
JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSJhcmVhOnZpc2l0ZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6dmlzaXRlZCI+PC9j
b250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYXJlYTIucmVtb3ZlQXR0
cmlidXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cmVtb3ZlLXN0eWxlcy1pbi1zaGFkb3ctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9yZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sCmluZGV4IDJmMjY2ZDNj
ZDZjNzQzOTk5MWZhODhhZTUxNDc0OTgyNWIwOTBhMDIuLjc0NzA1NGRhZmJmYTY0ODUxMGFlMDU0
YmU3MzExOWQ1ZjAyOGQxOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9yZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9yZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sCkBAIC03LDcg
KzcsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAg
ICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotICAgIHZhciBz
ciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzciA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIC8vIFRlc3QgdGhlIGNhc2U6IHR3byBzdHlsZXMgYXJl
IGluIHNoYWRvdyBkb20gc3VidHJlZSBhbmQgdGhleSBhcmUgbm90CiAgICAgLy8gZGlyZWN0IGNo
aWxyZW4gb2YgdGhlIHNoYWRvdyByb290LgogICAgIHNyLmlubmVySFRNTCA9ICc8ZGl2PjxzdHls
ZT5kaXYgeyBjb2xvcjogYmx1ZTsgfTwvc3R5bGU+SGVsbG88L2Rpdj48ZGl2PjxzdHlsZT5zcGFu
IHsgY29sb3I6IHJlZCB9PC9zdHlsZT48c3Bhbj5Xb3JsZDwvc3Bhbj48L2Rpdj4nOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1hdHRyaWJ1dGUt
bW9kaWZpZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24t
YXR0cmlidXRlLW1vZGlmaWVkLmh0bWwKaW5kZXggMzM1MTY1YjAxZDliZDU2MmM1OGFkMjJhMDJh
MGM4ZWFkZTI5MWUwZi4uNzkwNmJkNDYyYjFiYjA1OWQwZDkxNjllMWQ5ZTgzODUwODM3NmM1ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1hdHRy
aWJ1dGUtbW9kaWZpZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVw
cm9qZWN0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCkBAIC0xOCwxMSArMTgsMTEgQEAKIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAot
dmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRv
d1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDEuaW5u
ZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj48c2hhZG93Pjwvc2hhZG93PjwvZGl2Pic7CiAKIHZh
ciBob3N0MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpOwotdmFyIHNoYWRv
d1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0g
aG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iZGl2W3RpdGxlPXNlbGVjdGVkXSI+PC9jb250ZW50Pic7CiAKIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcmVwcm9qZWN0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRtbAppbmRl
eCA5NzNkYTY2NGFlMmYwNTM1ZWE0OTg0ZGQwYzlmMjIxZjk5YmY5ZjgwLi4xNmU5NjRhZjViMmQy
ODBiY2ZhY2QzYjAxZTg1Y2YwNmQ1MjU3YmMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24tY2xhc3NOYW1lLW1vZGlmaWVk
Lmh0bWwKQEAgLTE4LDExICsxOCwxMSBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxz
aGFkb3c+PC9zaGFkb3c+PC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxl
bWVudEJ5SWQoJ2hvc3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIuc2VsZWN0ZWQi
PjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1pZC1tb2RpZmllZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1pZC1tb2RpZmllZC5odG1s
CmluZGV4IDQwMDBiODQ2OGE4ZWI2YmEyOGJhYTQzMzFmNmEyZWNhMDY2ZDdkYWIuLjA0MjI2ZWFk
N2JlZWE2MzQ3ZTNiMzdjNmRmNGE2ZDcyMTJiMTk2NzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24taWQtbW9kaWZpZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWlkLW1vZGlmaWVkLmh0bWwKQEAg
LTE4LDExICsxOCwxMSBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxzaGFkb3c+PC9z
aGFkb3c+PC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQo
J2hvc3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7
Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFk
b3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjc2VsZWN0ZWQiPjwvY29udGVu
dD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3Jlc2l6ZS1pbi1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcmVzaXplLWluLXNoYWRvdy1kb20uaHRtbAppbmRleCBlZWQxOTdjOTk4
MmQwMWFkZjdmYTdmZWQ0MzNlNzY3ZjMxOTM2NzRkLi5mZGI3OTU2NjBjOWE4ZGI1MzI1ZGM3Zjcz
OTgwZGZlNTEyNzE5ZDJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cmVzaXplLWluLXNoYWRvdy1kb20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcmVzaXplLWluLXNoYWRvdy1kb20uaHRtbApAQCAtMjAsNyArMjAsNyBAQCBmdW5jdGlvbiBj
cmVhdGVCb3gobmFtZSkgewogICAgIHJldHVybiBkaXY7CiB9CiAKLXZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGJveCA9IGNyZWF0ZUJveCgnZGFyaycpOwogc2hhZG93
Um9vdC5hcHBlbmRDaGlsZChib3gpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcmVzb3VyY2VzL3BvbHlmaWxsLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3Jlc291cmNlcy9wb2x5ZmlsbC5qcwppbmRleCBhYTgwYWYxZGUyMWUwYTZhMDNhYTljY2Jh
MGZmZGZlZmFiNTQ2ZTRiLi43YTIzYjczOWM3YzJhNTAwN2FkNjY1OGE1NDAxYmZhZDMxZjA1YWRk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3BvbHlm
aWxsLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvcG9seWZp
bGwuanMKQEAgLTEsNSArMSw1IEBACi1pZiAoIXdpbmRvdy5XZWJLaXRTaGFkb3dSb290ICYmIHdp
bmRvdy5pbnRlcm5hbHMpIHsKLQl3aW5kb3cuV2ViS2l0U2hhZG93Um9vdCA9IGZ1bmN0aW9uKGVs
ZW1lbnQpIHsKLQkJcmV0dXJuIGludGVybmFscy5lbnN1cmVTaGFkb3dSb290KGVsZW1lbnQpOwot
CX0KK2lmICghRWxlbWVudC5wcm90b3R5cGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCAmJiB3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgRWxlbWVudC5wcm90eXBlLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuIHdpbmRvdy5pbnRlcm5hbHMuY3JlYXRl
U2hhZG93Um9vdCh0aGlzKTsKKyAgICB9OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3Jlc291cmNlcy9zaGFkb3ctZG9tLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3Jlc291cmNlcy9zaGFkb3ctZG9tLmpzCmluZGV4IDZkZjUwMDg5ZGUwMzZhMjA4
ZWY4N2M2NjUyNDM0YWU2ZGYwOTk3YTguLmIyNGUxYmEzY2EzNjVmZWM2ODkzODgzYWVlNzNkODI0
MDRiYzcwYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJj
ZXMvc2hhZG93LWRvbS5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzb3Vy
Y2VzL3NoYWRvdy1kb20uanMKQEAgLTI3LDEyICsyNywxMCBAQCBmdW5jdGlvbiBjcmVhdGVET00o
dGFnTmFtZSwgYXR0cmlidXRlcykKICAgICAgICAgaWYgKGNoaWxkLmlzU2hhZG93Um9vdCkgewog
ICAgICAgICAgICAgKytzaGFkb3dSb290Q291bnQ7CiAgICAgICAgICAgICB2YXIgc2hhZG93Um9v
dDsKLSAgICAgICAgICAgIGlmICh3aW5kb3cuV2ViS2l0U2hhZG93Um9vdCkKLSAgICAgICAgICAg
ICAgICBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCk7Ci0gICAgICAg
ICAgICBlbHNlIGlmIChzaGFkb3dSb290Y291bnQgPT0gMSkKLSAgICAgICAgICAgICAgICBzaGFk
b3dSb290ID0gaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3QoZWxlbWVudCk7CisgICAgICAgICAg
ICBpZiAoZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KQorICAgICAgICAgICAgICAgIHNo
YWRvd1Jvb3QgPSBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoZWxlbWVudCk7CiAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGhyb3cgIkNyZWF0ZURPTSBjYW5ub3QgYmUg
dXNlZCB0byBob3N0IG11bHRpcGxlIFNoYWRvd1Jvb3RzIHdpdGhvdXQgbmV3IFdlYktpdFNoYWRv
d1Jvb3QoKSI7CisgICAgICAgICAgICAgICAgc2hhZG93Um9vdCA9IGludGVybmFscy5jcmVhdGVT
aGFkb3dSb290KGVsZW1lbnQpOwogICAgICAgICAgICAgaWYgKGNoaWxkLmF0dHJpYnV0ZXMpIHsK
ICAgICAgICAgICAgICAgICBmb3IgKHZhciBhdHRyaWJ1dGUgaW4gY2hpbGQuYXR0cmlidXRlcykg
ewogICAgICAgICAgICAgICAgICAgICAvLyBTaGFkb3cgUm9vdCBkb2VzIG5vdCBoYXZlIHNldEF0
dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Qt
aW1hZ2Utd2l0aC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxl
Y3QtaW1hZ2Utd2l0aC1zaGFkb3cuaHRtbAppbmRleCBmN2M4MTIwNTk3OTA4ZWZmOWJhZmY2MGM3
ODRiMGIwZGRjNjIyMzg4Li44MWExY2U4YTJjNDg2YjI5OTg3YjAzYjAyZGIyYzJiZmU0MGEyYmRj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0LWltYWdlLXdp
dGgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdC1p
bWFnZS13aXRoLXNoYWRvdy5odG1sCkBAIC05LDcgKzksNyBAQAogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1l
bnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzcGFuIGlkPSdzcGFuMSc+S290b3JpPC9zcGFuPjxz
aGFkb3c+PC9zaGFkb3c+PHNwYW4gaWQ9J3NwYW4yJz5QaXlvPC9zcGFuPiI7CiAKIHZhciBzcGFu
MSA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ3NwYW4xJyk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLXNob3VsZG50LWV4cG9zZS1zaGFkb3ct
ZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLXNob3VsZG50
LWV4cG9zZS1zaGFkb3ctZG9tLmh0bWwKaW5kZXggMzI4OTNjOGY4OTAxYWMxYWVjMWQ5NDY2MDNl
ZDZhYTM2ZTc0MWNjNy4uNTIxNTllZWYyYzY2YjJmNTRmZTZiNjI4NmU2ODQ3ZDMwNGE3NTA1YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbi1zaG91bGRu
dC1leHBvc2Utc2hhZG93LWRvbS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zZWxlY3Rpb24tc2hvdWxkbnQtZXhwb3NlLXNoYWRvdy1kb20uaHRtbApAQCAtMjQsNyArMjQs
NyBAQCBmdW5jdGlvbiBkcmFnRnJvbVRvKGVsZW1lbnRGcm9tLCBlbGVtZW50VG8pIHsKIAogdmFy
IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKIAotdmFy
IHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKK3ZhciBzaGFk
b3dSb290MSA9IGNvbnRhaW5lci53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290
MS5pbm5lckhUTUwgPQogICAgICc8ZGl2IGlkPSJkaXYxIiB0aXRsZT0iZGl2MSI+WW91IFNhdG9o
PC9kaXY+JyArCiAgICAgJzxkaXYgaWQ9ImRpdjIiIHRpdGxlPSJkaXYyIj5TZW4gWWFyaXp1aTwv
ZGl2PicgKwpAQCAtMzMsNyArMzMsNyBAQCB2YXIgZGl2MSA9IHNoYWRvd1Jvb3QxLmdldEVsZW1l
bnRCeUlkKCdkaXYxJyk7CiB2YXIgZGl2MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdk
aXYyJyk7CiB2YXIgZGl2MyA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdkaXYzJyk7CiAK
LXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdjIpOwordmFyIHNoYWRv
d1Jvb3QyID0gZGl2Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5l
ckhUTUwgPQogICAgICc8ZGl2IGlkPSJkaXY0IiB0aXRsZT0iZGl2NCI+SGFuYSBPc2hpcm9pPC9k
aXY+JyArCiAgICAgJzxkaXYgaWQ9ImRpdjUiIHRpdGxlPSJkaXY1Ij5VbWUgU2hpcmF1bWU8L2Rp
dj4nICsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb25z
LWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbnMt
aW4tc2hhZG93Lmh0bWwKaW5kZXggN2MxY2M3OWIxOWFjM2I3Y2FiZjE5ZjdlNjVhMjdkNDE2YTk0
MDZkYS4uNTI4YjVlNWRkOGM2ZjYwNzYwYmM3NzhiNjRmN2RiNDFiNzk4ZDY3NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbnMtaW4tc2hhZG93Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbnMtaW4tc2hhZG93Lmh0
bWwKQEAgLTE0LDcgKzE0LDcgQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiBjcmVhdGVTaGFkb3dET00o
c2hhZG93Um9vdCwgbmFtZSkgewogICAgIHZhciBob3N0SW5TaGFkb3dSb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnc3BhbicpOwotICAgIHZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdEluU2hhZG93Um9vdCk7CisgICAgdmFyIG5lc3RlZFNoYWRvd1Jv
b3QgPSBob3N0SW5TaGFkb3dSb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIg
c3BhbkluU2hhZG93ID0gY3JlYXRlU3BhbldpdGhUZXh0KCdTUEFOIElOIE5FU1RFRCBJTiBTSEFE
T1cgJyArIG5hbWUpOwogICAgIG5lc3RlZFNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc3BhbkluU2hh
ZG93KTsKIApAQCAtMzgsMTAgKzM4LDEwIEBAIHZhciBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiB2YXIgc3BhbkluSG9zdCA9IGNyZWF0ZVNwYW5XaXRoVGV4dCgnSU4gSE9T
VCcpOwogaG9zdC5hcHBlbmRDaGlsZChzcGFuSW5Ib3N0KTsKIAotdmFyIG9sZGVyU2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIG9sZGVyU2hhZG93Um9vdCA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIHNwYW5zMSA9IGNyZWF0ZVNoYWRvd0RP
TShvbGRlclNoYWRvd1Jvb3QsICdPTERFUicpOwogCi12YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIHNwYW5zMiA9IGNyZWF0ZVNoYWRvd0RPTSh5
b3VuZ2VyU2hhZG93Um9vdCwgJ1lPVU5HRVInKTsKIAogdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctYW5kLWxpc3QtZWxlbWVudHMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYW5kLWxpc3QtZWxlbWVudHMuaHRtbAppbmRleCAzZTVj
YjZiNzg0ZGJmZDhmMmQ5MzI1NzA0ZDRiNzc1OWI5YzMxMTdiLi44NTRiNWExNWI1MWU2NWU2NzEx
YWYxNTUwYjcwZGFiNmMxNWM4OWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWFuZC1saXN0LWVsZW1lbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1hbmQtbGlzdC1lbGVtZW50cy5odG1sCkBAIC0zNSw3ICszNSw3
IEBAIHVsIHsKIC8vICAgPGxpPkM8L2xpPgogLy8gPC9vbD4gICAKIHZhciBob3N0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLXZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0KTsKK3ZhciBzaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9IHRydWU7CiBzaGFkb3cuaW5uZXJIVE1MID0gIjxs
aT5YPC9saT48dWw+PHNoYWRvdz48L3NoYWRvdz48L3VsPjxsaT5ZPC9saT4iOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNy
ZWF0ZS1zaGFkb3ctcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC1leHBlY3RlZC50eHQKaW5kZXggZmVl
NmMzM2ZiZmI5Njk5MDBhNDZlZTMyZTQ1NWEzYjAwMjQ1N2M0Yi4uMzhkYzgyZTUwMjdjYzU3ZWMy
NWQwMjcxY2FiZGNhOTYyMGFlZWEyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hhZG93LXJvb3QtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRvdy1y
b290LWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDYgQEAgVGVzdHMgZm9yIFNoYWRvd0F3YXJlIEpT
IEFQSXMuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyByb290MS5jb25zdHJ1
Y3RvciBpcyB3aW5kb3cuV2ViS2l0U2hhZG93Um9vdAogUEFTUyByb290MSBpcyBub3Qgcm9vdDIK
IFBBU1Mgcm9vdDEgaXMgd2luZG93LmludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGhvc3QpCiBQ
QVNTIHJvb3QyIGlzIHdpbmRvdy5pbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KGhvc3QpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNyZWF0
ZS1zaGFkb3ctcm9vdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1h
d2FyZS1jcmVhdGUtc2hhZG93LXJvb3QuaHRtbAppbmRleCBiZGYxNTNkNjg3MGQzOGI1ZWE3NjU0
OTEyMWYyMDVhZWJmODJkNjRkLi5kYTYyMGEzODc2NDVlNTFjMThiMzUzNGI1NzBhZjc4MmUxMWVl
YzRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJl
LWNyZWF0ZS1zaGFkb3ctcm9vdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRvdy1yb290Lmh0bWwKQEAgLTEyLDcgKzEyLDYgQEAg
RWxlbWVudC5wcm90b3R5cGUuY3JlYXRlU2hhZG93Um9vdCA9IEVsZW1lbnQucHJvdG90eXBlLmNy
ZWF0ZVNoYWRvd1Jvb3QgfHwgRWxlbWUKIHZhciBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiB2YXIgcm9vdDEgPSBob3N0LmNyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciByb290
MiA9IGhvc3QuY3JlYXRlU2hhZG93Um9vdCgpOwotc2hvdWxkQmUoInJvb3QxLmNvbnN0cnVjdG9y
IiwgIndpbmRvdy5XZWJLaXRTaGFkb3dSb290Iik7CiBzaG91bGROb3RCZSgicm9vdDEiLCAicm9v
dDIiKTsKIHNob3VsZEJlKCJyb290MSIsICJ3aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jv
b3QoaG9zdCkiKTsKIHNob3VsZEJlKCJyb290MiIsICJ3aW5kb3cuaW50ZXJuYWxzLnlvdW5nZXN0
U2hhZG93Um9vdChob3N0KSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1jb250ZW50LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWNvbnRlbnQtY3Jhc2guaHRtbAppbmRleCAyZjJiMmU5YmY2NWU2MjA0MmE1NTQ2
MmIwNTMyYWQzNjFjZDdiYTY4Li42NDUyZjQ5ODg5ZjgzMGNiY2I1OTcyODhmOWE1ZjU4ZDAzNmJi
ODE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRl
bnQtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNv
bnRlbnQtY3Jhc2guaHRtbApAQCAtMTAsNyArMTAsNyBAQAogCiA8c2NyaXB0PgogdmFyIGRpdiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKLXZhciByb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZGl2KTsKK3ZhciByb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKIHJvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50IHNlbGVjdD0nc3Bhbic+UEFTUzwvY29u
dGVudD4iOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWRpc2FibGUtZXhwZWN0ZWQudHh0CmluZGV4IDY3YzUwNzQ4NWY3ZDViNjUw
MjEwZWRkZjM2NTFjMjUwMjJiYzI0YTMuLmFhYmVjOTk4YzY4MTllOTdjMTY1ZTM2NDMyMzVmZWYz
ZmVhZWQ1MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
ZGlzYWJsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dApAQCAtNCw0NyArNCw0NyBAQCBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURQogCiAKIERJVgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSBp
cyBub3QgbnVsbAorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSBpcyBub3Qg
bnVsbAogU1BBTgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSBpcyBub3QgbnVs
bAorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSBpcyBub3QgbnVsbAogQQot
UEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSBpcyBub3QgbnVsbAorUEFTUyBlbGVt
ZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSBpcyBub3QgbnVsbAogU0VDVElPTgotUEFTUyBu
ZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSBpcyBub3QgbnVsbAorUEFTUyBlbGVtZW50Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSBpcyBub3QgbnVsbAogSU5QVVQKLVBBU1MgbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1
ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERP
TSBFeGNlcHRpb24gMy4KIHRyZWYKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRp
b24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIEFVRElP
Ci1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5
UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCiBWSURFTwotUEFTUyBuZXcgV2ViS2l0U2hh
ZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RF
cnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4
Y2VwdGlvbiAzLgogU0VMRUNUCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9u
IDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCiBJTUcKLVBB
U1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBI
aWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1
ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIFRFWFRBUkVBCi1QQVNTIG5ldyBXZWJLaXRTaGFk
b3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVy
cm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhj
ZXB0aW9uIDMuCiBJRlJBTUUKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24g
My4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIENBTlZBUwot
UEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJl
cXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogTUVURVIKLVBBU1MgbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJy
b3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNl
cHRpb24gMy4KIFBST0dSRVNTCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9u
IDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCiBPQkpFQ1QK
LVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlS
ZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIEVNQkVECi1QQVNTIG5ldyBXZWJLaXRTaGFk
b3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVy
cm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhj
ZXB0aW9uIDMuCiBLRVlHRU4KLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24g
My4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIFZJREVPCi1Q
QVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVx
dWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCiBBVURJTwotUEFTUyBuZXcgV2ViS2l0U2hhZG93
Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJv
cjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAzLgogRklFTERTRVQKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24g
My4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAppbmRleCAyNTM0NjU0ZDkxZGY0
MzA3M2M2MWE0NmZkYjc3ZGU2Nzg4NjMzMTU4Li5mZTdiYTZlMmI1ZTEzOGI5MzM4ODNmYzYxMWJh
YmFiN2ZiODI5OTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LWRpc2FibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWRpc2FibGUuaHRtbApAQCAtMTQsOSArMTQsOSBAQCBmdW5jdGlvbiB0ZXN0VG9BZGRTaGFkb3dS
b290KGVsZW1lbnQsIHN1Y2Nlc3MpIHsKICAgICBkZWJ1ZyhlbGVtZW50Lm5vZGVOYW1lKTsKIAog
ICAgIGlmIChzdWNjZXNzKQotICAgICAgICBzaG91bGROb3RCZSgibmV3IFdlYktpdFNoYWRvd1Jv
b3QoZWxlbWVudCkiLCAibnVsbCIpOworICAgICAgICBzaG91bGROb3RCZSgiZWxlbWVudC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCkiLCAibnVsbCIpOwogICAgIGVsc2UKLSAgICAgICAgc2hvdWxk
VGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIik7CisgICAgICAgIHNob3VsZFRo
cm93KCJlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSIpOwogfQogCiB2YXIgZWxlbWVu
dHNUb1N1Y2Nlc3MgPSBbCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LWRpdi1yZWZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctZGl2LXJlZmxvdy5odG1sCmluZGV4IGIwOThmMTg0MGU3MjgxNThjNDFjMDkxOWQ1OWM4Yjdm
YTU4YjY3MmMuLjY3YzQ2NmFhNzAyNTc3YjFiMGY2MDk5MzJiZTI3NDlkMmZmODIzMDYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGl2LXJlZmxvdy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGl2LXJlZmxvdy5odG1s
CkBAIC0xOCw5ICsxOCw5IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiB2
YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12YXIgc2hhZG93MSA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvdzEgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvdzEuaW5uZXJIVE1MID0gIjxkaXY+PHNoYWRvdz48L3No
YWRvdz48ZGl2PjwvZGl2PjwvZGl2PiI7Ci12YXIgc2hhZG93MiA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvdzIgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHNoYWRvdzIuaW5uZXJIVE1MID0gIjxzZWN0aW9uPiIKICAgICAgICAgICAgICAgICAgKyAgICI8
c2hhZG93Pjwvc2hhZG93PiIKICAgICAgICAgICAgICAgICAgKyAgICI8ZGl2PnNlY29uZCBsaW5l
IGZvbGxvd3MuPC9kaXY+IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1keW5hbWljLXN0eWxlLWNoYW5nZS12aWEtbXV0YXRpb24tYW5kLXNlbGVjdG9yLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWR5bmFtaWMtc3R5bGUtY2hh
bmdlLXZpYS1tdXRhdGlvbi1hbmQtc2VsZWN0b3IuaHRtbAppbmRleCAzMDVlOTVlNjA2NzAyZDVk
MzEwNTgyNDE0OWEyYTVmYTAzNDg0NmZjLi5lNWRmYmE4YmYwZDc4YmIzZmVhMDQyMzQwMjU2ZTQ5
YTczMGM4MGVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWR5bmFtaWMtc3R5bGUtY2hhbmdlLXZpYS1tdXRhdGlvbi1hbmQtc2VsZWN0b3IuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWR5bmFtaWMtc3R5bGUtY2hhbmdl
LXZpYS1tdXRhdGlvbi1hbmQtc2VsZWN0b3IuaHRtbApAQCAtNyw3ICs3LDcgQEAgZnVuY3Rpb24g
dGVzdCgpIHsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZm9vKTsK
IAogICAgIHZhciBiYXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICB2YXIg
YmFyU2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoYmFyKTsKKyAgICB2YXIgYmFyU2hhZG93
ID0gYmFyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBiYXIuc2V0QXR0cmlidXRlKCdj
bGFzcycsICdiYXInKTsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQo
YmFyKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1l
bGVtZW50LXJlbmRlcmluZy1tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1tdWx0aXBsZS5odG1sCmluZGV4IGE1ZGRiNjMx
NWIyZmNkY2E2YmU2N2VjNTg0ZDlkOWE1ZmZhZmJiYjcuLjdiZWU3MDE0YTE3MGJkZjFmYTRiM2I4
MWRhMjE4OWM2NzQ3YjhlNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctbXVsdGlwbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1lbnQtcmVuZGVyaW5nLW11bHRpcGxlLmh0bWwK
QEAgLTI0LDEyICsyNCwxMiBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3Vi
bGVTaGFkb3dSb290KGNhbGxJZkRvbmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7Cisg
ICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVG
T1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3No
YWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAy
JykpOwpAQCAtNDYsMTEgKzQ2LDExIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmlu
Z0RvdWJsZVNoYWRvd1Jvb3RXaXRoT25lU2hhZG93RWxlbWVudChjYWxsSWZEb25lCiAgICAgdmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUg
MScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykp
OwogCi0gICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBz
cjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQo
Y3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMicpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7CkBAIC02OCwxNyArNjgsMTcgQEAgdGVzdEZ1bmNz
LnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nVHJpcGxlU2hhZG93Um9vdChjYWxsSWZEb25lKSB7CiAg
ICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogCi0gICAgdmFyIHNyMSA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdC
RUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
c2hhZG93JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVS
IDEnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAg
dmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKIAotICAgIHZhciBzcjMgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IzID0gcm9vdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgc3IzLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JF
IDMnKSk7CiAgICAgc3IzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRv
dycpKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAzJykp
OwpAQCAtOTcsMTIgKzk3LDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ1R3
b1NoYWRvd1Jvb3RzKGNhbGxJZkRvbmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7Cisg
ICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgdmFyIHNoYWRvdzIxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
c2hhZG93Jyk7CiAgICAgc2hhZG93MjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdG
QUxMQkFDSyAyLTEnKSk7CiAgICAgdmFyIHNoYWRvdzIyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc2hhZG93Jyk7CkBAIC0xMzAsNyArMTMwLDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24g
dGVzdFdpdGhEb3VibGVTaGFkb3dSb290V2l0aENvbnRlbnQxKGNhbGxJZkRvbmUpIHsKIAogICAg
IHZhciBzaGFkb3cxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2hh
ZG93MS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ1NIQURPVyBGQUxMQkFDSyAxJykp
OwotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3Ix
ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgdmFyIGNvbnRlbnQxID0gY3JlYXRl
Q29udGVudFdpdGhTZWxlY3QoJy5zcjEnLCAnQ09OVEVOVCBGQUxMQkFDSyAxJyk7CiAgICAgc3Ix
LmFwcGVuZENoaWxkKGNvbnRlbnQxKTsKQEAgLTEzOSw3ICsxMzksNyBAQCB0ZXN0RnVuY3MucHVz
aChmdW5jdGlvbiB0ZXN0V2l0aERvdWJsZVNoYWRvd1Jvb3RXaXRoQ29udGVudDEoY2FsbElmRG9u
ZSkgewogCiAgICAgdmFyIHNoYWRvdzIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cn
KTsKICAgICBzaGFkb3cyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnU0hBRE9XIEZB
TExCQUNLIDInKSk7Ci0gICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwor
ICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMicpKTsKICAgICB2YXIgY29udGVu
dDsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY29udGVudCA9IGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0
KCcuc3IyJywgJ0NPTlRFTlQgRkFMTEJBQ0sgMicpKTsKQEAgLTE2NCw3ICsxNjQsNyBAQCB0ZXN0
RnVuY3MucHVzaChmdW5jdGlvbiB0ZXN0V2l0aERvdWJsZVNoYWRvd1Jvb3RXaXRoQ29udGVudDIo
Y2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNoYWRvdzEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzaGFkb3cnKTsKICAgICBzaGFkb3cxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgn
U0hBRE9XIEZBTExCQUNLIDEnKSk7Ci0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBz
cjEuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJy5zcjEnLCAnQ09OVEVOVCBG
QUxMQkFDSyAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChzaGFkb3cxKTsKQEAgLTE3Miw3ICsx
NzIsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiB0ZXN0V2l0aERvdWJsZVNoYWRvd1Jvb3RX
aXRoQ29udGVudDIoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNoYWRvdzIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cyLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnU0hBRE9XIEZBTExCQUNLIDInKSk7Ci0gICAgdmFyIHNyMiA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUg
MicpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJy5zcjIn
LCAnQ09OVEVOVCBGQUxMQkFDSyAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVDb250
ZW50V2l0aFNlbGVjdCgnc3BhbicsICdDT05URU5UIEZBTExCQUNLIDMnKSk7CkBAIC0xOTAsNyAr
MTkwLDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nRG91YmxlU2hhZG93Um9v
dER5bmFtaWNhbGx5QWRkZWQxKGNhbGxJZkRvbmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9v
dCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNy
MS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKQEAgLTE5OCw3ICsxOTgs
NyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3VibGVTaGFkb3dSb290RHlu
YW1pY2FsbHlBZGRlZDEoY2FsbElmRG9uZSkgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hpbGQocm9vdCk7CiAKICAgICB2YXIgZiA9IChm
dW5jdGlvbihyb290LCBjYWxsSWZEb25lKSB7IHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgICAg
dmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgICAgICB2YXIgc3IyID0g
cm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgICAgICBzcjIuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMjE2LDEyICsyMTYsMTIgQEAg
dGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nRG91YmxlU2hhZG93Um9vdER5bmFtaWNh
bGx5QWRkZWQyKGNhbGxJZkRvbmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdN
SUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAg
dmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JF
IDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicp
KTsKIApAQCAtMjQ0LDExICsyNDQsMTEgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVy
aW5nRG91YmxlU2hhZG93Um9vdER5bmFtaWNhbGx5QWRkZWQzKGNhbGxJZkRvbmUpIHsKICAgICB2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5k
Q2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9S
RSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEn
KSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFy
IHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTI3MiwxMiArMjcyLDEyIEBAIHRlc3RG
dW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0RvdWJsZVNoYWRvd1Jvb3REeW5hbWljYWxseVJl
bW92ZWQxKGNhbGxJZkRvbmUpCiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykp
OwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBz
cjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQo
Y3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykp
OwogICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7
CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAg
LTI5OSwxMiArMjk5LDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0RvdWJs
ZVNoYWRvd1Jvb3REeW5hbWljYWxseVJlbW92ZWQyKGNhbGxJZkRvbmUpCiAgICAgdmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsK
ICAgICBzcjEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwog
ICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAKLSAg
ICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJv
b3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTMyNSwxMiArMzI1LDEyIEBAIHRlc3RGdW5jcy5wdXNo
KGZ1bmN0aW9uIHJlbmRlcmluZ0xpZ2h0Q2hpbGRyZW5EeW5hbWljYWxseUFkZGVkKGNhbGxJZkRv
bmUpIHsKIAogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAK
LSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9
IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAg
ICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAg
ICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMzUy
LDExICszNTIsMTEgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nT2xkZXJTaGFk
b3dSb290Q29udGVudER5bmFtaWNhbGx5QWRkZWQoY2FsbElmRG8KICAgICB2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAg
IHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAKLSAg
ICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJv
b3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTM3OCwxMiArMzc4LDEyIEBAIHRlc3RGdW5jcy5wdXNo
KGZ1bmN0aW9uIHJlbmRlcmluZ0xpZ2h0Q2hpbGRyZW5EeW5hbWljYWxseVJlbW92ZWQoY2FsbElm
RG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAg
ICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZh
ciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhU
ZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJv
b3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
cjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMicpKTsKICAgICBzcjIu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMi5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7CkBAIC00MDUsMTMgKzQw
NSwxMyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdPbGRlclNoYWRvd1Jvb3RD
b250ZW50RHluYW1pY2FsbHlSZW1vdmVkKGNhbGxJZgogICAgIHZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290
KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3Ix
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogICAgIHNyMS5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ1NIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAKLSAg
ICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJv
b3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQUZURVIgMicpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctc2luZ2xlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1lbnQtcmVuZGVyaW5nLXNpbmdsZS5odG1sCmluZGV4
IDZiODhiYmU1OTYzMmUzZDdhZjU3Mjk0ZWQ5NWZmZDMzNGQ1NTBmNDUuLjg1Yzc0N2I5Y2FjNTE2
ZjQyYjU3YmI1NjFlNzczMmJlMDgzOWE0NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctc2luZ2xlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1zaW5nbGUu
aHRtbApAQCAtMjQsNyArMjQsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdT
aW5nbGVTaGFkb3dSb290KGNhbGxJZkRvbmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhU
ZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsK
KyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQo
Y3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsKQEAgLTQyLDcgKzQyLDcgQEAgdGVzdEZ1bmNz
LnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTm90RmFsbGJhY2tlZChjYWxsSWZEb25lKSB7CiAKICAg
ICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2hh
ZG93LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnRkFMTEJBQ0snKSk7Ci0gICAgdmFy
IHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyID0gcm9vdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhU
ZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoc2hhZG93KTsKICAgICBzci5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtNTksNyArNTksNyBAQCB0
ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdGYWxsYmFja2VkKGNhbGxJZkRvbmUpIHsK
IAogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAg
ICBzaGFkb3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdGQUxMQkFDSycpKTsKLSAg
ICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cpOwogICAgIHNy
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC04MCw3ICs4MCw3
IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ01peGVkT2ZGYWxsYmFja0FuZE5v
bkZhbGxiYWNrKGNhbGxJZkRvbmUpIHsKICAgICB2YXIgc2hhZG93MiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRvdzIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdGQUxMQkFDSyAyJykpOwogCi0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3Qocm9vdCk7CisgICAgdmFyIHNyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3Iu
YXBwZW5kQ2hpbGQoc2hhZG93MSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoc2hhZG93Mik7CkBAIC05
OSw3ICs5OSw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ1NoYWRvd1Jvb3RC
ZWZvcmVDb250ZW50KGNhbGxJZkRvbmUpIHsKIAogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdTSEFET1cgRkFMTEJBQ0snKSk7Ci0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAg
ICAgc3IuYXBwZW5kQ2hpbGQoc2hhZG93KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ00gMScpKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5j
dGlvbiByZW5kZXJpbmdTaGFkb3dSb290QWZ0ZXJDb250ZW50KGNhbGxJZkRvbmUpIHsKIAogICAg
IHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFk
b3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdTSEFET1cgRkFMTEJBQ0snKSk7Ci0g
ICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyID0gcm9v
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdp
dGhTZWxlY3QoJ3NwYW4nLCAnQ09OVEVOVCBGQUxMQkFDSycpKTsKICAgICBzci5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ00gMScpKTsKQEAgLTEzOSw3ICsxMzksNyBAQCB0ZXN0RnVu
Y3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdTaGFkb3dFbGVtZW50RHluYW1pY2FsbHlBZGRlZChj
YWxsSWZEb25lKSB7CiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CiAK
LSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSBy
b290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ01JRCcpKTsKIApAQCAtMTYzLDcgKzE2Myw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0
aW9uIHJlbmRlcmluZ1NoYWRvd0VsZW1lbnREeW5hbWljYWxseVJlbW92ZWQoY2FsbElmRG9uZSkg
ewogCiAgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwog
Ci0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyID0g
cm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoc2hhZG93KTsKICAg
ICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtMTg0LDcg
KzE4NCw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0xpZ2h0Q2hpbGRyZW5E
eW5hbWljYWxseUFkZGVkKGNhbGxJZkRvbmUpIHsKIAogICAgIHZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChyb290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsKQEAgLTIwOSw3ICsyMDksNyBA
QCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdMaWdodENoaWxkcmVuRHluYW1pY2Fs
bHlSZW1vdmVkKGNhbGxJZkRvbmUpIHsKICAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2hhZG93LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnTUlEJykpOwogCi0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7
CisgICAgdmFyIHNyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IuYXBwZW5kQ2hp
bGQoc2hhZG93KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVS
JykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1uZXN0
ZWQtcHNldWRvLWlkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW5l
c3RlZC1wc2V1ZG8taWQuaHRtbAppbmRleCAzNmUwNWY0YTE2NDA2ZDAxOTNhNDBiYjNmYzIwNDE2
YTIyZWYxNmFlLi40YTRiYWE4Nzc5NzkxMjM3Zjc5NmEyYWFlMzExOWMxMjhiZWFhNjJiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW5lc3RlZC1wc2V1ZG8t
aWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW5lc3RlZC1w
c2V1ZG8taWQuaHRtbApAQCAtMjYsNyArMjYsNyBAQCBwOjp4LXNoYWRvdy1jaGlsZDo6eC1uZXN0
ZWQtc2hhZG93LWNoaWxkIHsKIDxzY3JpcHQ+CiBmdW5jdGlvbiBidWlsZFNoYWRvd1dpdGhPbmVD
aGlsZChob3N0LCBjaGlsZFRhZ05hbWUsIGNoaWxkUHNldWRvSWQpCiB7Ci0gICAgdmFyIHNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgc2hhZG93Q2hpbGQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KGNoaWxkVGFnTmFtZSk7CiAgICAgc2hhZG93LmFwcGVuZENoaWxkKHNoYWRv
d0NoaWxkKTsKICAgICBpbnRlcm5hbHMuc2V0U2hhZG93UHNldWRvSWQoc2hhZG93Q2hpbGQsIGNo
aWxkUHNldWRvSWQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1vbi1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1v
bi1pbWFnZS5odG1sCmluZGV4IGZlNzc0ZGY0NDkwYTVlMTFjZTlkYTI5NmVlMDg5ZGQ4MDRjYWM5
NmIuLmQ4MzBiZjc1ZWYwN2MyZDVkOTM4NTdiOGZmMTcxOGVhMjhmNzdkOTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctb24taW1hZ2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW9uLWltYWdlLmh0bWwKQEAgLTksNyAr
OSw3IEBAIHZhciBpbWFnZUNvbnRlbnRTdHlsZSA9ICJjb250ZW50OiB1cmwoZGF0YTppbWFnZS9w
bmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFCiBmdW5jdGlvbiBjcmVhdGVJbWFnZURpdldp
dGhTaGFkb3coKSB7CiAgIHZhciBpbWFnZURpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwogICBpbWFnZURpdi5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgaW1hZ2VDb250ZW50U3R5bGUp
OwotICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW1hZ2VEaXYpOyAKKyAgdmFy
IHNoYWRvdyA9IGltYWdlRGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsgCiAgIHNoYWRvdy5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgIHJldHVybiBpbWFn
ZURpdjsKIH0KQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gY3JlYXRlSW1hZ2VEaXZXaXRoQ29u
dGVudFNoYWRvdygpIHsKICAgdmFyIGltYWdlRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CiAgIGltYWdlRGl2LnNldEF0dHJpYnV0ZSgic3R5bGUiLCBpbWFnZUNvbnRlbnRTdHls
ZSk7CiAgIGltYWdlRGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
KTsKLSAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGltYWdlRGl2KTsgCisgIHZh
ciBzaGFkb3cgPSBpbWFnZURpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7IAogICBzaGFkb3cu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpOwogICBzaGFkb3cuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpKTsKICAgcmV0dXJuIGlt
YWdlRGl2OwpAQCAtMjcsNyArMjcsNyBAQCBmdW5jdGlvbiBjcmVhdGVJbWFnZURpdldpdGhDb250
ZW50U2hhZG93KCkgewogZnVuY3Rpb24gY3JlYXRlSW1hZ2VEaXZXaXRoRmFsbGJhY2tDb250ZW50
U2hhZG93KCkgewogICB2YXIgaW1hZ2VEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKICAgaW1hZ2VEaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGltYWdlQ29udGVudFN0eWxlKTsK
LSAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGltYWdlRGl2KTsgCisgIHZhciBz
aGFkb3cgPSBpbWFnZURpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7IAogICBzaGFkb3cuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpOwogICB2YXIgY29udGVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvbnRlbnQnKTsKICAgY29udGVudC5pbm5lckhUTUwg
PSAiPGRpdj48L2Rpdj4iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1wc2V1ZG8taWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcHNldWRvLWlkLmh0bWwKaW5kZXggZTViZmM5ZGI3NzM5YzYzNDBkMjNiZGU2MzBlN2M1ZTNi
ZWEzZGNiZC4uYTc0NzUxZTk4YmRkMDlhYTZjNDgxOWJhNmU2MzJhZTRlM2NlMjA4OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1wc2V1ZG8taWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXBzZXVkby1pZC5odG1sCkBA
IC0yNSwxOSArMjUsMTkgQEAgZGl2Ojpmb29iYXIgewogPGRpdiBpZD0iaG9zdDMiPjwvZGl2Pgog
CiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEp
OwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFy
IGRpdjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdjEuaW5uZXJIVE1MID0g
InBzZXVkbyBpcyB4LXNoYWRvdzogVGhpcyBzaG91bGQgYmUgcmVkLiI7CiBkaXYxLndlYmtpdFBz
ZXVkbyA9ICJ4LXNoYWRvdyI7CiBzaGFkb3dSb290MS5hcHBlbmRDaGlsZChkaXYxKTsKIAotdmFy
IHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jv
b3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdjIgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdjIuaW5uZXJIVE1MID0gInBzZXVkbyBpcyAtdGVz
dDogVGhpcyBzaG91bGQgbm90IGJlIHJlZC4iOwogZGl2Mi53ZWJraXRQc2V1ZG8gPSAiLXRlc3Qi
Owogc2hhZG93Um9vdDIuYXBwZW5kQ2hpbGQoZGl2Mik7CiAKLXZhciBzaGFkb3dSb290MyA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKTsKK3ZhciBzaGFkb3dSb290MyA9IGhvc3QzLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CiBkaXYzLmlubmVySFRNTCA9ICJwc2V1ZG8gaXMgZm9vYmFyOiBUaGlzIHNob3VsZCBu
b3QgYmUgcmVkLiI7CiBkaXYzLndlYmtpdFBzZXVkbyA9ICJmb29iYXIiOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZW1vdmVjaGlsZC1hbmQtYmx1ci1l
dmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZW1vdmVjaGls
ZC1hbmQtYmx1ci1ldmVudC5odG1sCmluZGV4IDdjMjMyOTQ2OGM1NjZjMDc3Nzc0Njg5ODFkODBl
NGU2MWU0Yzg5OTYuLmExNTY5YzNlNGY0Y2YyYmFjMDA2NTZmOGJmZmYwZDRlODIwZjJhZTkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVtb3ZlY2hpbGQt
YW5kLWJsdXItZXZlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJlbW92ZWNoaWxkLWFuZC1ibHVyLWV2ZW50Lmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAKIGRl
c2NyaXB0aW9uKCdDaGVjayBmb2N1c2VkIHNoYWRvdyBub2RlIGRpc3BhdGNocyBibHVyIGV2ZW50
IG9uIHJlbW92ZUNoaWxkIG9mIGhvc3QuJyk7CiB2YXIgbG9ncyA9IFtdOwogdmFyIHRlc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOwotdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KHRlc3QpOwordmFyIHNoYWRvdyA9IHRlc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKIHNoYWRv
dy5hcHBlbmRDaGlsZChpbnB1dCk7CiBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgZnVu
Y3Rpb24gKCkgeyBsb2dzLnB1c2goJ2JsdXInKTsgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1jbGljay5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tY2xpY2suaHRtbAppbmRl
eCBkNjkxODYxMjg3YzdiZWNlMDNmZTVmMTJkNjZmMzFhYjNmNWU4MjNmLi45NDRkNGViZTIzNTM3
MDc4ZTA2YWIwZDcxZjdjNjg2YWJlMWY2ZDFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1jbGljay5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWNsaWNrLmh0bWwKQEAgLTEy
LDE0ICsxMiwxNCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBz
aGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGFyZ2V0Ij5PbGRlc3QgU2hhZG93Um9v
dCBDaGlsZDwvZGl2Pic7CiAKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MyI+PHNoYWRvdz48L3No
YWRvdz48Y29udGVudD48L2NvbnRlbnQ+PGRpdj5Zb3VuZ2VzdCBTaGFkb3dSb290IENoaWxkPC9k
aXY+PC9kaXY+JzsKIAogdmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hv
c3QzJyk7Ci12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7Cit2
YXIgc2hhZG93Um9vdDMgPSBob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290My5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogCiBj
b250YWluZXIub2Zmc2V0TGVmdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbAppbmRleCA3YjM0NTIx
NWI4MmFmYmZjYzM1YjEzMzZkNDllY2JhYzM0ZjIzYTIyLi4xMTAzNWZhNmJjNGEyYmRjODhlYjM3
NDY2ZWViMmE3NzRmYTZiOTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sCkBAIC04LDE0ICs4
LDE0IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAKLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsK
K3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MiI+T2xkZXN0IFNoYWRvd1Jvb3QgQ2hp
bGQ8L2Rpdj4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
MSk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBz
aGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDMiPjxzaGFkb3c+PC9zaGFkb3c+
PGNvbnRlbnQ+PC9jb250ZW50PjxkaXY+WW91bmdlc3QgU2hhZG93Um9vdCBDaGlsZDwvZGl2Pjwv
ZGl2Pic7CiAKIHZhciBob3N0MyA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRCeUlkKCdob3N0Mycp
OwotdmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFyIHNo
YWRvd1Jvb3QzID0gaG9zdDMud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDMu
aW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JzsKIAogc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sCmluZGV4IGU4YzQzZjIw
ZjFiZGE1NDU4ZDZlNGU1OTAwMDIwYTVlNjhiMWE0NTQuLjFlZGUxNDljMzczNjQwYTMxYzg5M2Q5
ZTM2NzU5OGFmMTFiYjlmMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbApAQCAtNSwxNyAr
NSwxNyBAQAogPGRpdiBpZD0iaG9zdDEiPjxkaXY+SG9zdCBDaGlsZDwvZGl2PjwvZGl2PgogCiA8
c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwor
dmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93
Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj5PbGRlc3QgU2hhZG93Um9vdCBDaGls
ZDwvZGl2Pic7CiAKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qx
KTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNo
YWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8c2hhZG93Pjwvc2hhZG93Pjxjb250ZW50PjwvY29udGVu
dD48c2hhZG93PjxkaXYgdGl0bGU9ImRlYnVnc3RvcCI+U2hhZG93IEZhbGxiYWNrIEVsZW1lbnQg
KDEpPC9kaXY+PC9zaGFkb3c+JzsKIAotdmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogc2hhZG93Um9vdDMuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3Q0Ij48c2hhZG93
Pjwvc2hhZG93PjxzaGFkb3c+PGRpdj5TaGFkb3cgRmFsbGJhY2sgRWxlbWVudCAoMik8L2Rpdj48
L3NoYWRvdz48c3Bhbj5Ob3QgcmVuZGVyZWQgKDEpPC9zcGFuPjxzaGFkb3c+PHNwYW4+Tm90IHJl
bmRlcmVkICgyKTwvc3Bhbj48L3NoYWRvdz48L2Rpdj4nOwogCiB2YXIgaG9zdDQgPSBzaGFkb3dS
b290My5nZXRFbGVtZW50QnlJZCgnaG9zdDQnKTsKLXZhciBzaGFkb3dSb290NCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3Q0KTsKK3ZhciBzaGFkb3dSb290NCA9IGhvc3Q0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIAogc2hhZG93Um9vdDQuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVj
dD0iZGl2Ij48L2NvbnRlbnQ+JzsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLmh0bWwKaW5kZXggNzQ0NTA4MmVhODJj
N2I5M2VhMDAwY2I2YjY1YWFkMTU3YzIwNGYxNy4uNmExYWMzZDkzZmZjOTEzM2QyMTUyYTdkYTVm
MzFhMDVlMDI5ZTk4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yZXByb2plY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJlcHJvamVjdGlvbi5odG1sCkBAIC01LDE0ICs1LDE0IEBACiA8ZGl2IGlkPSJob3N0
MSI+PGRpdj5Ib3N0IENoaWxkPC9kaXY+PC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9v
dDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0
MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRp
diBpZD0iaG9zdDIiPk9sZGVzdCBTaGFkb3dSb290IENoaWxkPC9kaXY+JzsKIAotdmFyIHNoYWRv
d1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QyID0g
aG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0g
JzxkaXYgaWQ9Imhvc3QzIj48c2hhZG93Pjwvc2hhZG93Pjxjb250ZW50PjwvY29udGVudD48ZGl2
PllvdW5nZXN0IFNoYWRvd1Jvb3QgQ2hpbGQ8L2Rpdj48L2Rpdj4nOwogCiB2YXIgaG9zdDMgPSBz
aGFkb3dSb290Mi5nZXRFbGVtZW50QnlJZCgnaG9zdDMnKTsKLXZhciBzaGFkb3dSb290MyA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKTsKK3ZhciBzaGFkb3dSb290MyA9IGhvc3QzLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QzLmlubmVySFRNTCA9ICc8Y29udGVudCBz
ZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbjIuaHRtbAppbmRleCA5Zjdk
Nzc2MjMzNDdmZjM2ZDU4NWI2YzMyMzk0NWU2NTg4MjVkNTU1Li43YzI0YjYyNjA0Y2JlZDg1MmYz
YmE4NTI2NjNiZTdjNTI3NDNmOGQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbjIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbjIuaHRtbApAQCAtNSwxNCArNSwxNCBAQAogPGRp
diBpZD0iaG9zdDEiPjxkaXY+QjwvZGl2PjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jv
b3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9z
dDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxz
aGFkb3c+PC9zaGFkb3c+JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QzIj48c2hhZG93Pjwv
c2hhZG93PjwvZGl2Pic7CiAKIHZhciBob3N0MyA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRCeUlk
KCdob3N0MycpOwotdmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMp
OwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hh
ZG93Um9vdDMuaW5uZXJIVE1MID0gJzxkaXY+QTwvZGl2Pjxjb250ZW50IHNlbGVjdD0iZGl2Ij48
L2NvbnRlbnQ+PGRpdj5DPC9kaXY+JzsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXBwZW5kLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXBwZW5kLmh0bWwKaW5kZXggNWRhODhjNWJl
MWEzZmYyZTkwNTUzYjA5YmFiNWM4MTY3OWNmZWUyMS4uNjI5NDliMjgwZjEyNDFkMDMzNmQ0NzJl
MWE5MGIzMGUwNWExYjM4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWFwcGVuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1hcHBlbmQuaHRtbApAQCAtMTYsNyArMTYsNyBAQCBmdW5jdGlvbiBkb1Rl
c3QoKSB7CiAgICAgfQogCiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwotICAgIHJvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHJvb3QgPSBk
aXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoJ1NTJykpOwogCiAgICAgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwpAQCAtMjYsNyArMjYsNyBAQCBmdW5jdGlvbiBkb1Rl
c3QoKSB7CiAgICAgc2hvdWxkQmUoJ2NvbnRhaW5lci5maXJzdENoaWxkLnRleHRDb250ZW50Jywg
JyJTUyInKTsKIAogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
LSAgICByb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICByb290ID0gZGl2Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICByb290LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKCdQQScpKTsKIAogICAgIGNvbnRhaW5lci5pbnNlcnRCZWZvcmUocm9vdCwg
Y29udGFpbmVyLmZpcnN0Q2hpbGQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbAppbmRleCA2
MThlYzgyMDAwN2FlOGRiMGZjNzViMjFkNDNmODUxY2ZlZGQyYWVkLi5jYjc5N2IxODgxMTc3ODYw
ZmRiYTJhZGRiM2ZiZWZjMDYxMTNhZTljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbApA
QCAtNTksNyArNTksNyBAQCBmdW5jdGlvbiByZW5kZXJBcHBseUF1dGhvclN0eWxlQ2FzZSgpIHsK
ICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2FwcGx5LWF1dGhvci1zdHlsZScpLmFwcGVuZENoaWxkKGRpdik7
CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAg
dmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGFzc2Vy
dEZhbHNlKCdkZWZhdWx0IGFwcGx5QXV0aG9yU3R5bGVzJywgc2hhZG93Um9vdC5hcHBseUF1dGhv
clN0eWxlcyk7CiAgICAgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyA9IHRydWU7CiAgICAg
YXNzZXJ0VHJ1ZSgnYXBwbHlBdXRob3JTdHlsZXMgc2hvdWxkIGJlIHRydWUnLCBzaGFkb3dSb290
LmFwcGx5QXV0aG9yU3R5bGVzKTsKQEAgLTcwLDcgKzcwLDcgQEAgZnVuY3Rpb24gcmVuZGVyTm9B
cHBseUF1dGhvclN0eWxlQ2FzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vLWFwcGx5LWF1dGhv
ci1zdHlsZScpLmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIGFzc2VydEZhbHNlKCdkZWZhdWx0IGFwcGx5QXV0aG9yU3R5
bGVzJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CiAgICAgc2hhZG93Um9vdC5hcHBs
eUF1dGhvclN0eWxlcyA9IGZhbHNlOwogICAgIGFzc2VydEZhbHNlKCdhcHBseUF1dGhvclN0eWxl
cyBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKQEAgLTgx
LDcgKzgxLDcgQEAgZnVuY3Rpb24gcmVuZGVyQXBwbHlBdXRob3JTdHlsZVdpdGhJbmxpbmVTdHls
ZURlY2xhcmF0aW9uQ2FzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dpdGgtaW5saW5lLXN0eWxl
LWRlY2xhcmF0aW9uJykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgYXBwbHlBdXRo
b3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKICAgICBzaGFkb3dSb290
LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKICAgICBhc3NlcnRUcnVlKCdhcHBseUF1dGhvclN0
eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwpAQCAt
OTIsNyArOTIsNyBAQCBmdW5jdGlvbiByZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aE92ZXJyaWRp
bmdJbXBvcnRhbnRQcm9wZXJ0eUNhc2UoKSB7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0cnktdG8tb3Zl
cnJpZGUtaW1wb3J0YW50JykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgYXBwbHlB
dXRob3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKICAgICBzaGFkb3dS
b290LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKICAgICBhc3NlcnRUcnVlKCdhcHBseUF1dGhv
clN0eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwpA
QCAtMTAzLDcgKzEwMyw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2luZ0FwcGx5QXV0aG9yU3R5bGVG
cm9tVHJ1ZVRvRmFsc2UoKSB7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGFuZ2UtYXBwbHktYXV0aG9y
LXN0eWxlLWZyb20tdHJ1ZS10by1mYWxzZScpLmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jv
b3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGFzc2VydEZhbHNlKCdkZWZh
dWx0IGFwcGx5QXV0aG9yU3R5bGVzJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CiAg
ICAgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyA9IHRydWU7CiAgICAgYXNzZXJ0VHJ1ZSgn
YXBwbHlBdXRob3JTdHlsZXMgc2hvdWxkIGJlIHRydWUnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9y
U3R5bGVzKTsKQEAgLTEyNCw3ICsxMjQsNyBAQCBmdW5jdGlvbiB0ZXN0Q2hhbmdpbmdBcHBseUF1
dGhvclN0eWxlRnJvbUZhbHNlVG9UcnVlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hhbmdlLWFw
cGx5LWF1dGhvci1zdHlsZS1mcm9tLWZhbHNlLXRvLXRydWUnKS5hcHBlbmRDaGlsZChkaXYpOwog
Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZh
ciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dS
b290LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7CiAgICAgYXNzZXJ0RmFsc2UoJ2FwcGx5QXV0
aG9yU3R5bGVzIHNob3VsZCBiZSBmYWxzZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMp
OwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxkaXY+PHNwYW4gaWQ9InRlc3QyIj48L3Nw
YW4+PC9kaXY+JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1hdHRhY2hlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWF0dGFjaGVkLmh0bWwKaW5kZXggZmJiNmY4NmMyZmJmMTBkODEzZjhjMzA1NWFiMzMw
ZjY2MGYzNmVlMC4uZjUxMjVmYmQ0MDg1ZjViMDU5YWFkYjU3ZjQ2MjU5ZWIyYzg2OTQwYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWF0dGFjaGVk
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWF0dGFj
aGVkLmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250YWluZXIiKTsKICAgICB3aW5kb3cubGlnaHQgPSBjcmVhdGVTcGFuV2l0
aFRleHQoJ0xJR0hUJyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChsaWdodCk7CiAKLSAgICB2YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzaGFkb3dS
b290ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICBzaG91bGRCZSgnaW50
ZXJuYWxzLmF0dGFjaGVkKGxpZ2h0KScsICdmYWxzZScpOwogICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjb250YWluZXInKS5hcHBlbmRDaGlsZChyb290KTsKQEAgLTI5LDcgKzI5LDcgQEAg
dmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKTsKICAg
ICB3aW5kb3cubGlnaHQgPSBjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUJyk7CiAgICAgcm9vdC5h
cHBlbmRDaGlsZChsaWdodCk7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KHJvb3QpOworICAgIHZhciBzaGFkb3dSb290ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNl
bGVjdCgnc3BhbicpKTsKIAogICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuYXR0YWNoZWQobGlnaHQp
JywgJ2ZhbHNlJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtaW5uZXJIVE1MLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtaW5uZXJIVE1MLmh0bWwKaW5kZXggZDA3ODdiNGFiNGZlYTBmYmJhODQyODgzZGQ3
YWYwMjAxODg2ZmZhOC4uODBmZWY5MTVhMDBmZGQ5YjVjOTNmMDg1ZTAwMTRhNTU3MzkwZDUxNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWlubmVy
SFRNTC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1p
bm5lckhUTUwuaHRtbApAQCAtMTcsNyArMTcsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
IAogaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChob3N0KTsKLXJvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3Jv
b3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogdmFyIGRpdjEgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKIGRpdjEuc2V0QXR0cmlidXRlKCJpZCIsICJkaXYxIik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMt
YXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1qcy1hcGktZXhwZWN0ZWQudHh0CmluZGV4IDkzZjBiYzUzYjI0MmNhNWFkOGI3ZGFjODZlMTQ0
MzNmZmYzNTk3YzEuLjk5ZmYwNmY3OWI3MDg4YTc2OWI0NTUxYmZlNDkxMzIxNThkOGI4YTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1qcy1hcGktZXhwZWN0ZWQudHh0CkBAIC0zLDEwICszLDYgQEAgVGVzdHMgZm9yIFNoYWRvd1Jv
b3QgSlMgQVBJcy4gQ2FuIG9ubHkgcnVuIHdpdGhpbiBEUlQKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KIAogCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290
KHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6
IERPTSBFeGNlcHRpb24gMy4KLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QobnVsbCkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4K
LVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVy
YXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIFBBU1Mgc2hhZG93Um9vdC5nZXRF
bGVtZW50QnlJZCgnZGl2MScpIGlzIGRpdjEKIFBBU1Mgc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJ
ZCgnZm9vJykgaXMgbnVsbAogUEFTUyBzaGFkb3dSb290LmdldEVsZW1lbnRzQnlDbGFzc05hbWUo
J2NsYXNzMicpIGlzIFtkaXYyXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCmluZGV4IGRjNTFjNmM4N2RjMGVlOTZkOTNhMjEwY2Jk
Y2QxNjJkMWM3MWIzNTIuLjI5NzhiOTQ5MTZmZDNhYjBjYmEzNTZhMmQyOTUyZTJhODY0OThlNDUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1h
cGkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMt
YXBpLmh0bWwKQEAgLTE0LDEzICsxNCw5IEBAIGRlc2NyaXB0aW9uKCJUZXN0cyBmb3IgU2hhZG93
Um9vdCBKUyBBUElzLiBDYW4gb25seSBydW4gd2l0aGluIERSVCIpOwogCiBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci1zaG91bGRUaHJvdygibmV3
IFdlYktpdFNoYWRvd1Jvb3QoKSIpOwotc2hvdWxkVGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290
KHVuZGVmaW5lZCkiKTsKLXNob3VsZFRocm93KCJuZXcgV2ViS2l0U2hhZG93Um9vdChudWxsKSIp
Owotc2hvdWxkVGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290KDEpIik7CiB2YXIgc2hhZG93SG9z
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChzaGFkb3dIb3N0KTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
c2hhZG93SG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IHNoYWRvd0hvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogCiB2YXIgZGl2MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwog
ZGl2MS5zZXRBdHRyaWJ1dGUoImlkIiwgImRpdjEiKTsKQEAgLTU0LDcgKzUwLDcgQEAgc2hvdWxk
QmVOdWxsKCJzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5mb28nKSIpOwogc2hvdWxkQmUoInNo
YWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgnZGl2JykiLCAiW2RpdjEsIGRpdjJdIik7CiBzaG91
bGRCZSgic2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCdmb28nKSIsICJbXSIpOwogCi12YXIg
eW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChzaGFkb3dIb3N0KTsKK3Zh
ciB5b3VuZ2VyU2hhZG93Um9vdCA9IHNoYWRvd0hvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hvdWxkTm90QmUoInlvdW5nZXJTaGFkb3dSb290IiwgInNoYWRvd1Jvb3QiKTsKIAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXct
ZXhwZWN0ZWQudHh0CmluZGV4IGU5OTM4ZGNkOGE2N2RiZDFhYjVjNDlmZDFiMjEwZTUwOGM0Nzll
Y2QuLjBiOGYxODNhNDdjNWJmNjhhNTg2ODJiZDZjNjFkYWFkZTkwNmZkYzAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXctZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0aGUgb2JqZWN0ICduZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KScgYW5kIGludGVybmFscy5zaGFkb3dSb290KGRpdikgYXJl
IHRoZSBzYW1lLgorVGhpcyB0ZXN0IGNoZWNrcyB0aGUgb2JqZWN0ICdob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKScgYW5kIGludGVybmFscy5zaGFkb3dSb290KGRpdikgYXJlIHRoZSBzYW1l
LgogCiBQQVNTIHJvb3QxIGlzIHJvb3QyCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwK
aW5kZXggZDYyMWQ3MTA4NDM0Y2NjZmMxNzMxNGZiZmYxN2RkOTgyNGE2NDc1ZC4uNGE1ZDM3ZmJj
YmRlNzExNmI5MWYwMGM0YTY4NTEyOGRjODU1NWE1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcuaHRtbApAQCAtNCw3ICs0LDcgQEAKIDxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHk+Ci08cD5UaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3QgJ25ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUgdGhlIHNh
bWUuPC9wPgorPHA+VGhpcyB0ZXN0IGNoZWNrcyB0aGUgb2JqZWN0ICdob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKScgYW5kIGludGVybmFscy5zaGFkb3dSb290KGRpdikgYXJlIHRoZSBzYW1l
LjwvcD4KIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgogCiA8c2NyaXB0PgpAQCAtMTUsOCArMTUs
OCBAQCBmdW5jdGlvbiBkb1Rlc3QoKSB7CiAgICAgfQogCiAgICAgZGl2ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgLy8gd2Ugc2hvdWxkIGNhbGwgbmV3IFdlYktpdFNoYWRv
d1Jvb3QgZmlyc3QuCi0gICAgcm9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAg
IC8vIHdlIHNob3VsZCBjYWxsIHdlYktpdENyZWF0ZVNoYWRvd1Jvb3QgZmlyc3QuCisgICAgcm9v
dDEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHJvb3QyID0gaW50ZXJuYWxz
LnNoYWRvd1Jvb3QoZGl2KTsKIAogICAgIHNob3VsZEJlKCdyb290MScsICdyb290MicpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LXJlc2V0U3R5
bGVJbmhlcml0YW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sCmluZGV4IGMxYjhkMjZhODI3NTVkMjljMjBi
YzAyYmZjOWE4YjAwNzk4NzZiZjUuLjJlN2MwYjcwZGIxODdmMGViNjBlYzgzNzg1ODdiZDhjYWJj
NzlmMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtcmVzZXRTdHlsZUluaGVyaXRhbmNlLmh0bWwKQEAgLTYwLDcgKzYw
LDcgQEAgZnVuY3Rpb24gcmVuZGVyV2l0aE5vUmVzZXRTdHlsZUluaGVyaXRhbmNlKCkgewogICAg
IHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBkaXYuY2xhc3NO
YW1lID0gJ3Jlc2V0VGVzdCc7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIGFzc2VydEZhbHNlKCdkZWZhdWx0IHJlc2V0U3R5bGVJbmhlcml0YW5jZSBz
aG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290LnJlc2V0U3R5bGVJbmhlcml0YW5jZSk7CiAgICAg
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdj50ZXh0PC9kaXY+JzsKICAgICAKQEAgLTcxLDcg
KzcxLDcgQEAgZnVuY3Rpb24gcmVuZGVyV2l0aFJlc2V0U3R5bGVJbmhlcml0YW5jZSgpIHsKICAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZGl2LmNsYXNz
TmFtZSA9ICdyZXNldFRlc3QnOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCByZXNldFN0eWxlSW5oZXJpdGFuY2Ug
c2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UpOwogICAg
IHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gdHJ1ZTsKICAgICBzaGFkb3dSb290
LmlubmVySFRNTCA9ICc8ZGl2PnRleHQ8L2Rpdj4nOwpAQCAtODQsNyArODQsNyBAQCBmdW5jdGlv
biByZW5kZXJXaXRoQ2hhbmdpbmdSZXNldFN0eWxlSW5oZXJpdGFuY2VGcm9tVHJ1ZVRvRmFsc2Uo
KSB7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRp
di5jbGFzc05hbWUgPSAncmVzZXRUZXN0JzsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgcmVzZXRTdHlsZUluaGVy
aXRhbmNlIHNob3VsZCBiZSBmYWxzZScsIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNl
KTsKICAgICBzaGFkb3dSb290LnJlc2V0U3R5bGVJbmhlcml0YW5jZSA9IHRydWU7CiAgICAgc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdDEiPnRleHQ8L2Rpdj4nOwpAQCAtMTA3
LDcgKzEwNyw3IEBAIGZ1bmN0aW9uIHJlbmRlcldpdGhDaGFuZ2luZ1Jlc2V0U3R5bGVJbmhlcml0
YW5jZUZyb21GYWxzZVRvVHJ1ZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiAgICAgZGl2LmNsYXNzTmFtZSA9ICdyZXNldFRlc3QnOwogCi0gICAgdmFy
IHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dS
b290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgnZGVm
YXVsdCByZXNldFN0eWxlSW5oZXJpdGFuY2Ugc2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5y
ZXNldFN0eWxlSW5oZXJpdGFuY2UpOwogICAgIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRh
bmNlID0gZmFsc2U7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdDIi
PnRleHQ8L2Rpdj4nOwpAQCAtMTM3LDcgKzEzNyw3IEBAIGZ1bmN0aW9uIHJlbmRlclJlc2V0U3R5
bGVJbmhlcml0YW5jZUZvckNvbnRlbnQoKSB7CiAgICAgZGl2LmNsYXNzTmFtZSA9ICdyZXNldFRl
c3QnOwogICAgIGRpdi5hcHBlbmRDaGlsZChjcmVhdGVEaXZXaXRoVGV4dCgndGV4dCcpKTsKIAot
ICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIg
c2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9v
dC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogICAgIHNo
YWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gdHJ1ZTsKICAgICBhc3NlcnRUcnVlKCdy
ZXNldFN0eWxlSW5oZXJpdGFuY2Ugc2hvdWxkIGJlIHRydWUnLCBzaGFkb3dSb290LnJlc2V0U3R5
bGVJbmhlcml0YW5jZSk7CkBAIC0xNTAsNyArMTUwLDcgQEAgZnVuY3Rpb24gcmVuZGVyTm9SZXNl
dFN0eWxlSW5oZXJpdGFuY2VGb3JDb250ZW50KCkgewogICAgIGRpdi5jbGFzc05hbWUgPSAncmVz
ZXRUZXN0JzsKICAgICBkaXYuYXBwZW5kQ2hpbGQoY3JlYXRlRGl2V2l0aFRleHQoJ3RleHQnKSk7
CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAg
dmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JzsKICAg
ICBzaGFkb3dSb290LnJlc2V0U3R5bGVJbmhlcml0YW5jZSA9IGZhbHNlOwogICAgIGFzc2VydEZh
bHNlKCdyZXNldFN0eWxlSW5oZXJpdGFuY2Ugc2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5y
ZXNldFN0eWxlSW5oZXJpdGFuY2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1zZWxlY3QtYXR0cmlidXRlLWZlYXR1cmVzZXQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctc2VsZWN0LWF0dHJpYnV0ZS1mZWF0dXJlc2V0Lmh0
bWwKaW5kZXggMDY2NmY3MTdlMGVmOGQwMjNkNzk3MGYwOWJiMjJjM2U5MDdjNWU4MS4uNDJiYTc2
NzFkOTEzMDBlMDg0MmNkZWFhODcwODRhZmQ4NjFkNmM4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1zZWxlY3QtYXR0cmlidXRlLWZlYXR1cmVzZXQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXNlbGVjdC1hdHRyaWJ1
dGUtZmVhdHVyZXNldC5odG1sCkBAIC0xMTEsNyArMTExLDcgQEAgdGVzdENhc2UoZnVuY3Rpb24o
KQogewogICAgIGRlYnVnKCdNdWx0aXBsZSBTaGFkb3dSb290IGNhc2UnKTsKIAotICAgIHZhciBh
bm90aGVyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBh
bm90aGVyU2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAg
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjZm9vIj48L2NvbnRlbnQ+
JzsKICAgICBhbm90aGVyU2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIj
YmFyIj48L2NvbnRlbnQ+PGNvbnRlbnQgc2VsZWN0PSJkaXZbYmF6XSwuYmFyIj48L2NvbnRlbnQ+
JzsKQEAgLTE1Miw3ICsxNTIsNyBAQCB0ZXN0Q2FzZShmdW5jdGlvbigpCiAgICAgc2hhZG93Um9v
dC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjZm9vIj48L2NvbnRlbnQ+JzsKIAogICAg
IHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICB2YXIgbmVzdGVk
U2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIG5lc3RlZFNo
YWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG5lc3RlZFNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iI2JhciI+PC9jb250ZW50Pic7CiAg
ICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXVsLWxpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXVsLWxpLmh0bWwKaW5kZXggNmI4ODFlYjJkY2U5N2QxYjUzNzQxY2E4
YTZiMWM1Zjk3MDE0Nzk3Zi4uYWI0YTJlZjQ0ZTI3Nzk1NmY3NjhhYmFjNGY4ZGM3ZDRjZTIzNTQ5
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy11bC1saS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbApA
QCAtOSw3ICs5LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaG9z
dCk7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZh
ciBzaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHZhciB1bCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3VsJyk7CiAgICAgdmFyIGxpID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnbGknKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZHluYW1pYy1zdHlsaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWR5bmFtaWMtc3R5bGluZy5odG1sCmluZGV4IDhmYjgzOGQwYzQzZDU0
ZjhjNzQwYjQ5M2VmNmRlOWRjNDczZjVjYjUuLjViNGFiZWRmNTA4N2I2YWZlY2NlZDBkMmI3ZWEz
MTkxMWNmN2UyNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZHluYW1pYy1zdHlsaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1keW5hbWljLXN0eWxpbmcuaHRtbApAQCAtMTYsMTAgKzE2LDEwIEBAIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKICAgPC9kaXY+CiA8c2NyaXB0PgogdmFyIGJveCA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoIiNib3giKTsKLXZhciBvbGRlc3RTaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoYm94KTsKK3ZhciBvbGRlc3RTaGFkb3dSb290ID0gYm94LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIG9sZGVzdFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50
PjwvY29udGVudD4iOwogICAgIAotdmFyIHlvdW5nZXN0U2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpdGVtIikpOwordmFyIHlvdW5nZXN0
U2hhZG93Um9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpdGVtIikud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogeW91bmdlc3RTaGFkb3dSb290LmlubmVySFRNTCA9ICI8c3R5bGU+IiAr
CiAgICAgICAiLnNlbGVjdGVkIHtiYWNrZ3JvdW5kOiByZWQ7fSIgKwogICAgICAgIjwvc3R5bGU+
IiArCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1idXR0b24tY29tcGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1jb21wbGV4LXNoYWRvdy5odG1sCmluZGV4IGE4ZGNmODNh
YjM4OThkZDJmNjlhOTdlZjIxOTUyOTEyZjI3OTE2YmYuLmE2NDZlMmQzZjA0ZjllMGUzZTczZDJi
MDUwNTRlYTk1NjA0ZThlMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1jb21wbGV4LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1jb21wbGV4LXNoYWRvdy5o
dG1sCkBAIC0xMCw3ICsxMCw3IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxkaXY+PGNvbnRlbnQgc2VsZWN0PSJzcGFuIj48
L2NvbnRlbnQ+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4nCiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLW9ubHkt
c2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1i
dXR0b24tb25seS1zaGFkb3cuaHRtbAppbmRleCA2ZDQ4NTQ4OTg2ODAyNDY5ZmUzOTg0ZDMwM2My
OTJkYjgzZDQxYjNiLi44NjgwZGMyZjA2NTcwYWZkODkyZTFmMWIyYzVkMWI2OWVlN2FiY2RlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0
b24tb25seS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1idXR0b24tb25seS1zaGFkb3cuaHRtbApAQCAtMTAsNyArMTAsNyBAQAogCiA8
c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFy
IHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9
ICI8c2hhZG93Pjwvc2hhZG93PiIKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLXdpdGhvdXQtc2hh
ZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0
b24td2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCA3YmIxM2UxYWNiODU0OTBkOGJhMWYyYjgyM2Ji
ZDcyYmIzM2M3ZDlhLi4zOTY1YzRiYjc2ODBjNzQ1Zjg5MzIxOGNjOGZjMzc2MWRhMjM0YWQ4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0
b24td2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1idXR0b24td2l0aG91dC1zaGFkb3cuaHRtbApAQCAtMTAsNyArMTAsNyBA
QAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcp
OwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFk
b3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiA8L3NjcmlwdD4KIAogPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItYnV0dG9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1idXR0b24uaHRtbAppbmRleCA1MDQ2MDNjNjJlNzdiZmFhODAwYWExZjFmNWEzMzU0OTdiYTc4
ODYxLi41NmU2ZDM0NGFjNDI1ZWMxOTUzOWE2Mjk2ZGEwZDliMGY5ZjFkMzE0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24uaHRt
bApAQCAtMTAsMTIgKzEwLDEyIEBACiA8YnV0dG9uIGlkPSJob3N0MiI+S290b3JpPC9idXR0b24+
CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBz
aGFkb3dSb290MS5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4gT3RvbmFzaGkiOwogCi12
YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93
Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5l
ckhUTUwgPSAiZm9vIDxzaGFkb3c+PC9zaGFkb3c+IGJhciI7Ci12YXIgc2hhZG93Um9vdDMgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDMgPSBob3N0Mi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290My5pbm5lckhUTUwgPSAiRk9PIDxzaGFk
b3c+PC9zaGFkb3c+IEJBUiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtY29tcGxleC1zaGFkb3cuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LWNv
bXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggYTQwMmJhYjk1YmY2ODZhZmJkNTRlYjY4NGRkMWQwYThl
ZDM3MTFhMC4uNTc5Mjk5ZDM4OThlZGEwNjU3ODZmNTBiMjYyNGViNTNmNGY0YjMzMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQt
Y29tcGxleC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1maWVsZHNldC1jb21wbGV4LXNoYWRvdy5odG1sCkBAIC0xMiw2ICsxMiw2IEBA
CiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7
Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRv
d1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJI
VE1MID0gIjxjb250ZW50PjwvY29udGVudD48ZGl2IHN0eWxlPSdtYXJnaW46IDIwcHgnPjxzaGFk
b3c+PC9zaGFkb3c+PC9kaXY+IgogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1vbmx5LXNoYWRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtb25seS1z
aGFkb3cuaHRtbAppbmRleCBiYzAwNmY3NjU5MWQ2ZDAxMjFjZGZhMzRmNzg2NDAxZWQ0ZGI5OGZl
Li40MzRhNmI0ODIxZjQ4ZDQwNGViOGZiYTZmYjU4OGIxM2E1MzI4OWVhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1vbmx5LXNo
YWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWZpZWxkc2V0LW9ubHktc2hhZG93Lmh0bWwKQEAgLTE1LDYgKzE1LDYgQEAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFu
eUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
OwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IgogPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC13
aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItZmllbGRzZXQtd2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCBmNmJjYmIyNDM5MmZlNGIz
NjdkYThiNTQ0NGQyZDlhYWZhYjlkZjU3Li4xZTBiMjgxZTk1MDViYzFlYjcyM2YyNWM2YzI4OGIz
MzU2M2Y0OWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1maWVsZHNldC13aXRob3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LXdpdGhvdXQtc2hhZG93Lmh0bWwK
QEAgLTE0LDUgKzE0LDUgQEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1
ZSk7CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBo
b3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZm9ybS1hc3NvY2lhdGVkLWVs
ZW1lbnQtdXNlcmFnZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1mb3JtLWFzc29jaWF0ZWQtZWxlbWVudC11c2VyYWdlbnQuaHRtbAppbmRleCBlZmU3
ZTBkNTQ1MzFmZWFmODZhMjZhNjFkZjhmY2I3ZjVmOGFjNjAxLi43YzI4NWYwMjg2YzdjZGMyMDY5
ODRjMDBhMzgzYjAyYTgwNDMwOTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFzc29jaWF0ZWQtZWxlbWVudC11c2VyYWdlbnQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFz
c29jaWF0ZWQtZWxlbWVudC11c2VyYWdlbnQuaHRtbApAQCAtMzUsNyArMzUsNyBAQCBmdW5jdGlv
biB0ZXN0KCkKIAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbXMubGVuZ3RoOyArK2kpIHsK
ICAgICAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtc1tpXSk7Ci0g
ICAgICAgIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICAgICAg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgICAgICBzaGFk
b3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiI7CiAKICAgICAgICAgb2xkZXN0
U2hhZG93Um9vdCA9IGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGhvc3QpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtYWx0LXVw
ZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtYWx0LXVwZGF0ZS5odG1sCmluZGV4IDdhMzE4ZGM0ZDVjNzA4OGYzNmIyOTM1ZWNmZDExMWI4
NmJhZDVmMGQuLjBlZTcyZjI1YmI3ZTQ0MTRlYTA1ZjEzNzUwYjZjOWVkOTI4OGVlMGYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWFs
dC11cGRhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1pbWFnZS1hbHQtdXBkYXRlLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFu
eUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewot
ICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFy
IHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dS
b290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSI7CiAKICAg
ICB2YXIgdXNlckFnZW50U2hhZG93Um9vdCA9IGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGhv
c3QpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItaW1hZ2UtYWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1pbWFnZS1hbHQuaHRtbAppbmRleCAyYzJjZGU1ZjBkNTJjYWEyMWM3NjY4ZWI0M2M1MTE5
ZDIxNjNiYTg1Li4zMjViNzdlMjM2ODBiZjc5MDgyYTRmYTJiMDE4ZmRhOWNmYTZkYTM5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1h
bHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1p
bWFnZS1hbHQuaHRtbApAQCAtMTQsNyArMTQsNyBAQCBpZiAod2luZG93LmludGVybmFscykKICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJs
ZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0gICAgdmFyIHNoYWRv
d1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1M
ID0gIihiZWZvcmUpPHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIpIjsKIAogICAgIHZhciB1c2VyQWdl
bnRTaGFkb3dSb290ID0gaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9zdCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1jb250
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFn
ZS1jb250ZW50Lmh0bWwKaW5kZXggNGVlNzBjMmU2Mzk3ZjNjMzYxYWZkNzQwOGY4M2QyNDE2N2Q1
YjAxMS4uMWY3MzU3MGY0MGU3Mjk5MTA3YmE4NDI3ZmVkMzM5MjgyNzk2ZTM4OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtY29udGVu
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWlt
YWdlLWNvbnRlbnQuaHRtbApAQCAtMTQsNyArMTQsNyBAQCBpZiAod2luZG93LmludGVybmFscykK
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVu
YWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0gICAgdmFyIHNo
YWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9v
dCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJI
VE1MID0gIihiZWZvcmUpPHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIpPGNvbnRlbnQ+PC9jb250ZW50
PiI7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWltYWdlLWR5bmFtaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLWR5bmFtaWMuaHRtbAppbmRleCBlMzc2MzhlYzcyZWFlMDRlYTk0
Njg0YTMzYzFiMzMzYmM3ODE5YjBhLi42Mjk3N2U0MzlhY2I3MjYzY2M5NmY0ZGY2ZmRmNzRhOGZk
NjA1Y2ZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1pbWFnZS1keW5hbWljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItaW1hZ2UtZHluYW1pYy5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dE
T01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhv
c3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwor
ICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlciki
CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWltYWdlLWV2ZW50LWNsaWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1pbWFnZS1ldmVudC1jbGljay5odG1sCmluZGV4IDU5Yzg4ZDFlYzgxM2Ux
ZDljOWY0Y2E1NDcyOWEzYTUwODQ5NzdhNzEuLjMxMzY3NzE5OTljNGI1ZDdlMDFkZjUxNGFmZGM2
MzQ2OWQyZGJhMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWltYWdlLWV2ZW50LWNsaWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtZXZlbnQtY2xpY2suaHRtbApAQCAtMjAsNyAr
MjAsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogZnVuY3Rpb24gYWRkU2hhZG93
RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93Pihh
ZnRlcikgPHNwYW4gaWQ9J3RhcmdldCc+dGFyZ2V0PC9zcGFuPiI7CiAgICAgcmV0dXJuIHNoYWRv
d1Jvb3Q7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1pbWFnZS1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2UtZXZlbnQuaHRtbAppbmRleCA3MTAxMDU0YWJkZGIwMDFkNGU1MTk3
ZmQwZmIzNTg0YzVhNmQ4OTQ3Li5hMDBkNDg1OTA2MDFiNDZjMGQyMjM2ZGNiOTI2NjAwOTU0MTY4
ODIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1pbWFnZS1ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWltYWdlLWV2ZW50Lmh0bWwKQEAgLTI0LDcgKzI0LDcgQEAgZnVuY3Rpb24gbGlz
dGVuZXIoZXZlbnQpIHsKIH0KIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFk
b3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgdmFyIGRpdiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQo
ZGl2KTsKICAgICBkaXYuaWQgPSAnaW5uZXItZGl2JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWluLXNoYWRvd2RvbS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93
ZG9tLmh0bWwKaW5kZXggNzY1N2IwZjhhOTFiMWVmNTQxMTNhMjhhNWJkNjY5ODM4ODFkMmM3Zi4u
NDQyMDRmMmZiMWFhNzMyNDE3YWE2NDA1OWRmYmRiZDAzMzg4MjIzZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93ZG9t
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtaW4tc2hhZG93ZG9tLmh0bWwKQEAgLTExLDExICsxMSwxMSBAQAogaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVs
ZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gImJlZm9yZTxpbWcgaWQ9J2ltZycgc3JjPScuLi9y
ZXNvdXJjZXMvYXBwbGUuZ2lmJz5hZnRlciI7CiAKIHZhciBpbWcgPSBzaGFkb3dSb290LmdldEVs
ZW1lbnRCeUlkKCdpbWcnKTsKLXZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaW1nKTsKK3ZhciBuZXN0ZWRTaGFkb3dSb290ID0gaW1nLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIAogbmVzdGVkU2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93
Pjwvc2hhZG93PihhZnRlcikiOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1tYXAuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLW1hcC5odG1sCmluZGV4IGQ1MTY3
MWU2ZGQwNzI0NzQ2ZDliMWU3ODg4ZGRjZjU4Y2RiMzU5ZmYuLmE0NjY1YWZmMWVlZTA0MmVmYjVj
MDcxMGYwNzIxZjViNGMwNDUzNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLW1hcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLW1hcC5odG1sCkBAIC0yNiw3ICsyNiw3IEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAog
ZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48
L3NoYWRvdz4iOwogCiAgICAgdmFyIHVzZXJBZ2VudFNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMub2xk
ZXN0U2hhZG93Um9vdChob3N0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1zdHlsZS5odG1sCmluZGV4IDYxM2NhMzRlNjAy
ZmZmZjQzODcyOTU2ZmY2ZGRiOGE2ZWYyZjhhZmMuLjA5MjZmMWU2YWQ0ZmZlMTA1NTU3Y2Y1ZDA2
MDYxOWUyMWI1YTI1ODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utc3R5bGUuaHRtbApAQCAtMjYsNyArMjYsNyBAQCBp
ZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hh
ZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNoYWRvd0RP
TShob3N0KSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIihiZWZvcmUpPHNoYWRvdz48L3NoYWRvdz4oYWZ0
ZXIpIjsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItaW1hZ2Utd2l0aC1tdWx0aXBsZS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtbXVsdGlwbGUtc2hhZG93Lmh0
bWwKaW5kZXggMzA5NjRkYTg4ZThmYTZkOWEzYWM5MTI5ZjdjNDYzM2JkZTgwNWI3My4uYzQ3ZTVi
NzBiYzI3YmM4MWZmNjQzNWFjZjQ3ODJiNmM2ZWY5NGY5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1tdWx0aXBsZS1zaGFk
b3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1p
bWFnZS13aXRoLW11bHRpcGxlLXNoYWRvdy5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01G
b3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3Qp
IHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAg
IHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiCiB9
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLXdpdGgtcHNldWRvLWlkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXBzZXVkby1pZC5odG1sCmluZGV4IDRhNDcwZjMzMDU5
NzNmZjQyNTA1OThiY2MxNGYxM2I2MGUxN2I3YWQuLjhiMzBlODg3Nzg5NjE1NWRhYjFjNWI4YmUw
ODkwNmQwNjJmMmI2ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLXdpdGgtcHNldWRvLWlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1wc2V1ZG8taWQuaHRtbApA
QCAtMjAsNyArMjAsNyBAQCBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIGZ1
bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIihiZWZvcmUpPHNo
YWRvdz48L3NoYWRvdz4oYWZ0ZXIpIjsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC13aWR0aC1hbmQtaGVpZ2h0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRo
LXdpZHRoLWFuZC1oZWlnaHQuaHRtbAppbmRleCA4YmM5ZTc5ZmExYzVmMmUyOTU0MTdjODRlNzNj
Yjk0NmU2N2MwYmVjLi5lNjUyNDNlZjgxN2Y4NjM2NjhmNzg0NjY3NzU4NjdiMzJjOWZkODgyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFn
ZS13aXRoLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXdpZHRoLWFuZC1oZWlnaHQuaHRtbApAQCAt
MTQsNyArMTQsNyBAQCBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0
aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIihiZWZvcmUpPHNoYWRv
dz48L3NoYWRvdz4oYWZ0ZXIpIjsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLmh0bWwKaW5kZXggNzE1NTMxMDA5Y2M3YjM0ODkw
MzkyZDQ4ZjUxOTAyYTA0MDI0MzkyNy4uOTA1NGQxYWFhNWI5YjA0NDhkNzNmZTNiNzUzNmY0YWY2
NzFlNGRjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItaW1hZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1pbWFnZS5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50
RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dS
b290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5l
ckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwogfQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4tY29t
cGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWtleWdlbi1jb21wbGV4LXNoYWRvdy5odG1sCmluZGV4IDNkYjg4NDZlNmE0NDJhZDdhZDJl
Y2RlMjVkMGY2MjNhODBlMzM1MTIuLjNhNjE2YzdhYTFjOWEzZDJjNTlmZmRiYjM1MjI4NTBiNjFj
NjI0YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWtleWdlbi1jb21wbGV4LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi1jb21wbGV4LXNoYWRvdy5odG1sCkBAIC0xMiw2
ICsxMiw2IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogCiBob3N0LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKCdmb29iYXInKSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9jb250ZW50
PjxkaXYgc3R5bGU9J21hcmdpbjogMjBweCc+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4iCiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWtleWdlbi1vbmx5LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLW9ubHktc2hhZG93Lmh0bWwKaW5kZXggMGFmOTI4ZTMxOGRm
ODY3NzE0Yzc2OGVmY2I2ZTgwMjRjNjU2MWE2MC4uYmMxMmE1NDhlYWQ5MjU4MThjMzA0YWNjMDZi
ZmE3NDBhY2VkYzEzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3Ita2V5Z2VuLW9ubHktc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLW9ubHktc2hhZG93Lmh0bWwKQEAgLTks
NyArOSw3IEBACiA8L2Zvcm0+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cn
KTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2hhZG93KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLXdpdGhv
dXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1rZXlnZW4td2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCA2NjcxMTk4NjgwNjY1NzQwZmYyYjU5
MGVkNGM0ZTg3ZDBiMjZlNzIwLi5hNWVlOTdiYTNmYjkyYzEzYjY1YTliMTgxYzA5NmE4ZDdkMjBm
MDE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1rZXlnZW4td2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4td2l0aG91dC1zaGFkb3cuaHRtbApAQCAtMTMsNyAr
MTMsNyBAQAogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWVk
aWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1lZGlh
Lmh0bWwKaW5kZXggMmUwNDRkZTU3YWQ5NmFlNzg1YTc4OWIzNDY3ZGY3Mzc3YmY3ZTk2Yi4uZmU5
ZTdhZDExMTBhN2ExY2U4NGM4OTBiYjY0OWYwOTZjZTVjYmRiNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWVkaWEuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZWRpYS5odG1sCkBAIC0xMiw3
ICsxMiw3IEBACiAKIDxzY3JpcHQ+CiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAg
IHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290
LmlubmVySFRNTCA9ICI8ZGl2IHN0eWxlPSdtYXJnaW46IDEwcHgnPjxzaGFkb3c+PC9zaGFkb3c+
PC9kaXY+IgogICAgIHJldHVybiBzaGFkb3dSb290OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItZHluYW1pYy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItZHluYW1pYy5odG1s
CmluZGV4IDk0NTIxMTdlZjVkMGJjOTI5YWRlNWEwZmNmMWVkNWRiZGYzNDE5ZjQuLmYzZDc0MjE5
OWFlMjE5OWFjOTQ0OWI0MDE3ZDQyNDYyOTk4ODYyNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLWR5bmFtaWMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1keW5hbWljLmh0
bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRv
dz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPiI7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1tZXRlci1tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItbWV0ZXItbXVsdGlwbGUuaHRtbAppbmRleCBkMThlMGQ2MWU1NmI1MGYxODg1NWVj
MDdiMmE0MzI3YWFkMjZjNDAzLi4wYjZlYjdkNTE2NjNiODhmZDE1M2VkNzE2MTM5ODJiZmZhODhm
NTRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1tZXRlci1tdWx0aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLW1ldGVyLW11bHRpcGxlLmh0bWwKQEAgLTE3LDEwICsxNywxMCBAQCBtZXRl
cjo6LXdlYmtpdC1tZXRlci1pbm5lci1lbGVtZW50IHsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQog
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5h
YmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFk
b3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+
IjsKIAotdmFyIHlvdW5nZXIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciB5b3Vu
Z2VyID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB5b3VuZ2VyLmlubmVySFRNTCA9
ICI8ZGl2IHN0eWxlPSdtYXJnaW46IDAgMTBweCAwIDEwcHg7IGhlaWdodDogMWVtOyB3aWR0aDog
NWVtOyc+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4iOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGgtc3R5
bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVy
LXdpdGgtc3R5bGUuaHRtbAppbmRleCAwOGQ3ZjJiMWIwZDE3YWVmMTM5ZmI3ZDM4ZjIwOWQ0NDQw
NDA1YjY3Li40NjIwZmQ1NDBhMWQyNTRhMjhhNzgzYmNiZmM0ODEwNWE4ZjZiNGFkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRo
LXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItbWV0ZXItd2l0aC1zdHlsZS5odG1sCkBAIC0yOCw3ICsyOCw3IEBAIG1ldGVyOjotd2Via2l0
LW1ldGVyLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUp
OwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5u
ZXJIVE1MID0gIjxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OiAxMDBweCc+PHNoYWRvdz48L3NoYWRv
dz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPjwvZGl2PiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aG91dC1h
cHBlYXJhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1tZXRlci13aXRob3V0LWFwcGVhcmFuY2UuaHRtbAppbmRleCBhZWNlMjNiNzY3YjdiM2Y0MjI0
MGRmMzQ1ZDU5NTk2ZTE5ZmVjZjY0Li5jZmJmMjUxNmZmY2I1MGJiYjQ5OTIzZmFhMjQ5MWU1Zjhi
MGU0YTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1tZXRlci13aXRob3V0LWFwcGVhcmFuY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LWFwcGVhcmFuY2UuaHRtbApA
QCAtMjAsNyArMjAsNyBAQCBtZXRlciB7CiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1
ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPiI7CiA8L3Nj
cmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItbWV0ZXItd2l0aG91dC1zaGFkb3ctZWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aG91dC1zaGFkb3ctZWxlbWVudC5o
dG1sCmluZGV4IGY3Mzg2ODFiOTQ3MzQ5YWU3ZTU4OWNkM2EzOTgwODBhMzFlMTNmMjUuLmVlMmM3
MTAzNDViZGQwZjViZjBmYTQxNDFkMTRiYTU2NGFhNjYxNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGhvdXQtc2hhZG93LWVs
ZW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1tZXRlci13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFk
b3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c3Bhbj5ubyBwcm9ncmVz
czwvc3Bhbj4iCiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLmh0bWwKaW5kZXggYzA5NWM3OGFiZGFlODk3OTBkNWRh
ZjM2OWM1MTQwODY1M2E5NDAyNi4uNzY3Zjg3OTVlNDdhMWVhOTJkMzJkMjk0Mzg3MDM4YWQ3Mzcz
OWIzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItbWV0ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1tZXRlci5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiBpZiAod2luZG93LmludGVybmFscykK
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVu
YWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFu
PiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3Itb2JqZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbApp
bmRleCAwMTcxMzEyMGFlMDgxZjc1YzhjOGY5NTQ3YmFkY2RlNzU5Nzk2MDViLi5lNDJiYWJlYmE3
YjU4YzliYzQ4Zjc5M2I5MzBhZDVhMmQ3ZGZiMTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3QtY29t
cGxleC1zaGFkb3cuaHRtbApAQCAtMTEsNiArMTEsNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3Qg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRl
bnQ+PGRpdiBzdHlsZT0nbWFyZ2luOiAyMHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itb2JqZWN0LW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1vYmplY3Qtb25seS1zaGFkb3cuaHRtbAppbmRleCAwMDQwODUyMWU3
NjNlYjNiMWJkZTA5MTViNWExNDA0ZjBjNzUxNTAxLi5mNTQyYmQxYTk2MWVlMDZiYTMxM2QwNWZh
NWJjN2ZlNWY1OTBhYmEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1vYmplY3Qtb25seS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3Qtb25seS1zaGFkb3cuaHRtbApAQCAt
MTIsNiArMTIsNiBAQCBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIHZhciBo
b3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCkKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCkKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFk
b3c+IgogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1vYmplY3Qtd2l0aG91dC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sCmlu
ZGV4IGUzNDhkNzVjM2E3ZjE0ZDkxYWNmZTM4MTVlMjJkZGIzNDA3ZDUzODMuLjhkNWEzMjZiMmU1
NWI1OTIzMzRjYTNkNDcxOTQzZjJlMzk3ODI2ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC13aXRo
b3V0LXNoYWRvdy5odG1sCkBAIC05LDUgKzksNSBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KQordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtY29tcGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5o
dG1sCmluZGV4IGIzMWQ4M2YyOWVlZTQyZDkzMTJlYTI3YWRlODdhNTMzZjBjMTU1ZTIuLjE4MTkz
OWRmMmQ4NDRmZTVjYjJlMzA2ZmY0ZmZmNjgzY2ViN2EwNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1
dC1jb21wbGV4LXNoYWRvdy5odG1sCkBAIC05LDYgKzksNiBAQAogCiA8c2NyaXB0PgogdmFyIGhv
c3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2Nv
bnRlbnQ+PGRpdiBzdHlsZT0nbWFyZ2luOiAyMHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itb3V0cHV0LW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbAppbmRleCAxN2QzNDE2
N2RlZDg2ODAxZGE5YWViNzI4YjVhYmExNWRkNGViOTY2Li4xZjlhYWRiMDNiNjE5ODcyMzYwNjJh
OTlhNTk4ZGFkMGQ2Mzc5N2FlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbApA
QCAtOSw2ICs5LDYgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iCiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC13
aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itb3V0cHV0LXdpdGhvdXQtc2hhZG93Lmh0bWwKaW5kZXggNDgyMGY4MmU0MjUzNGU4NTFj
MTBiZWEzYThhMTdkZmUzMTNiOGY1ZC4uYzhiZWEyZGI0NWY5ZGFlMzc4ODM0ZDc0ZTY0MzRkNmNj
MzlhNDY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itb3V0cHV0LXdpdGhvdXQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTks
NSArOSw1IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwor
dmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
cHJvZ3Jlc3MtZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItcHJvZ3Jlc3MtZHluYW1pYy5odG1sCmluZGV4IGNiZmI5YzgyZjcxMzE5ZTEyZGM5
YmI2ZDhkZTcwZGZiNmY4ZjBkMzEuLjcxNjU2NjcyYjI0NGQ2N2UyZTA5Y2U3M2Y3ZjI4OTg1YTg3
MzBhMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXByb2dyZXNzLWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1keW5hbWljLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0
ZXIpPC9zcGFuPiI7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1tdWx0aXBsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mt
bXVsdGlwbGUuaHRtbAppbmRleCAwODA1MTYwY2I4YzkyNzNmNzQ2YjQyM2ZhZWEyOGJlZmZjMjE1
YmJkLi5jZWI1NDYyNzdkODJkNWQ0NDM3Y2YyYmIwMzM4OWJkY2FmN2I2M2RhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1tdWx0
aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXByb2dyZXNzLW11bHRpcGxlLmh0bWwKQEAgLTE2LDEwICsxNiwxMCBAQCBwcm9ncmVzczo6LXdl
YmtpdC1wcm9ncmVzcy1pbm5lci1lbGVtZW50IHsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxl
ZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
K3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsK
IAotdmFyIHlvdW5nZXIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciB5b3VuZ2Vy
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB5b3VuZ2VyLmlubmVySFRNTCA9ICI8
ZGl2IHN0eWxlPSdtYXJnaW46IDAgMTBweCAwIDEwcHg7IGhlaWdodDogMWVtOyB3aWR0aDogMTBl
bTsnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+IjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRoLXN0
eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9n
cmVzcy13aXRoLXN0eWxlLmh0bWwKaW5kZXggODYyZTg2ODBjZDk4ZTQ2Nzc2Y2M1Y2Y4NzE3NTcw
YWJkZGJkNmE3Mi4uNTYxMjIyOGI4MTRiMTgxNGFkZTg0MGU2ODZhNDk3OWExOTAyZmE4OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jl
c3Mtd2l0aC1zdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXByb2dyZXNzLXdpdGgtc3R5bGUuaHRtbApAQCAtMjgsNyArMjgsNyBAQCBwcm9n
cmVzczo6LXdlYmtpdC1wcm9ncmVzcy1pbm5lci1lbGVtZW50IHsKIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVt
ZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDogMTAwcHgn
PjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwvc3Bhbj48L2Rpdj4iOwogPC9zY3JpcHQ+
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXByb2dyZXNzLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWwKaW5k
ZXggNzRkZWY5OGFhNWQzZDUwZjBhMWM1ODNkMjk5OWM4MzJlZjQ0ZjQyNS4uY2EyMjk4YjFmYWQ4
OTM1MTdmMmU1ZTVlMDlmNTRhZGE3Yzc4YjkxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jl
c3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAgcHJvZ3Jlc3Mgewog
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNo
YWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFk
b3c+PHNwYW4+KGFmdGVyKTwvc3Bhbj4iOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGhvdXQtc2hh
ZG93LWVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXByb2dyZXNzLXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbAppbmRleCA4MTQwNWRkZDVj
NTQyNGRjMWUwOWFiNDhkMzNmOTExZTI0MTNmY2E1Li45MmY0MWZmMTUzODI1YmIzNGExZjhmOTk1
ODhkZWYyYTVjNTY4OGI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91
dC1zaGFkb3ctZWxlbWVudC5odG1sCkBAIC0xNCw3ICsxNCw3IEBACiBpZiAod2luZG93LmludGVy
bmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxl
bWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNwYW4+bm8gcHJvZ3Jlc3M8L3NwYW4+IgogPC9z
Y3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1wcm9ncmVzcy5odG1sCmluZGV4IGFiZDFiY2U3ZmE5ODBmZWQyMWZhZWMxZjgzNzIy
ZjIxNmVlY2E0MWYuLjFlZDY2ZmY1NWM5YWNjZmNiZWQ1ZmFlYjVmY2RiZmM1ZTcwMzA4YTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dy
ZXNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
cHJvZ3Jlc3MuaHRtbApAQCAtMTQsNyArMTQsNyBAQAogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFi
bGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
OwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwvc3Bhbj4i
OwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5k
ZXggOWY1NDI5NjQxZmZjOGM5N2UyOThiMTg4MjNmNjNlMzcwYWQzMDBhYS4uODk3NmNkNjNjN2E3
NjliMDczMjM0OTIzNmIzYTIzNzlhNzcyZDVlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBs
ZXgtc2hhZG93Lmh0bWwKQEAgLTEzLDYgKzEzLDYgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9jb250ZW50
PjxkaXYgc3R5bGU9J21hcmdpbjogMjBweCc+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4iCiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXNlbGVjdC1vbmx5LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93Lmh0bWwKaW5kZXggM2RiYmFjMWZiM2Ex
NDEyNGQzYmZiYzBmNWM3ZGRkNzVhZTFjZmFjNi4uNTE0MjMzNzc3OWQ3YjM2NWRlNWMzNDc4YjBk
M2QwYjAwYzY2ZDliNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93Lmh0bWwKQEAgLTEz
LDYgKzEzLDYgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iCiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRo
b3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwKaW5kZXggYTFmNDA5NWQ2OWE0MmE0MGFlY2E2
ZmM3M2Q3NzlhZTgyNWU2NTkyOC4uYzY5YTBiMjFjYTRmZTRmMDM4ODEzNWNkNzAyOGNkNDY5ZjYz
OGM0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTEzLDUg
KzEzLDUgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2
YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10
ZXh0YXJlYS1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtY29tcGxleC1zaGFkb3cuaHRtbAppbmRleCA2ODc4YjYw
YWNkYzQwMzA3ZmZkZjkwZjVlOWNhNTlmNTZlNjE4NGVhLi44N2Q4YTE3MTVjMmFiZTdhNzA5ZWMz
ZTQ2YTMzYzhjOWNhYWNjZWNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1jb21wbGV4LXNoYWRvdy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLWNvbXBsZXgtc2hh
ZG93Lmh0bWwKQEAgLTIzLDcgKzIzLDcgQEAgdmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdwJyk7CiBwLmlubmVySFRNTCA9ICJwYXJhZ3JhcGg8Yj5ib2xkPC9iPnBhcmFncmFwaCI7CiBo
b3N0LmFwcGVuZENoaWxkKHApOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIAogLy8gPGNvbnRlbnQ+PC9jb250ZW50PjxkaXYgc3R5bGU9Im1hcmdpbjogMjBweCI+PHNo
YWRvdz48L3NoYWRvdz48L2Rpdj4KIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnY29udGVudCcpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1vbmx5LXNoYWRvdy5o
dG1sCmluZGV4IDA5YjdjZWFlNjYwZmI3ZGMzOWVhNmJmMjBiMjAzMjQ4YzgzNzUxYzkuLjU5OTgz
MWY5Y2JlNGQwMmQ0M2VlNGFlNDE4ZDQ1MWMxZDcxMWMyYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLW9ubHktc2hhZG93Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFy
ZWEtb25seS1zaGFkb3cuaHRtbApAQCAtNyw2ICs3LDYgQEAKIDwvZm9ybT4KIAogPHNjcmlwdD4K
LXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93
Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVh
LXdpdGgtYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci10ZXh0YXJlYS13aXRoLWF0dHJpYnV0ZS5odG1sCmluZGV4IDZlNTQ1ZTJiMWQyOGVm
ZTUyMDg3YjZkYmNhMjQ3NzE2YTExMWVhMDAuLjY3OTFiNDBiZDg1YjVhM2RjZDI5MTdhNjA3YmIw
YjYyMTgyYzlmMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXRleHRhcmVhLXdpdGgtYXR0cmlidXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1hdHRyaWJ1dGUuaHRt
bApAQCAtNyw2ICs3LDYgQEAKIDwvZm9ybT4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdzaGFkb3cnKSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGgtcGxhY2Vob2xkZXIu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVh
LXdpdGgtcGxhY2Vob2xkZXIuaHRtbAppbmRleCAyYzcyNmEwYmRkMGM3NzBiOGEzNjI4MmRkOGZi
ODAyMWY4MWQ5OGYzLi42OGYyOGQ3NGJmYzBjNTRiZTFlNGJjYWYyN2UzMTFjZTExYmM1OTgwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0
YXJlYS13aXRoLXBsYWNlaG9sZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1wbGFjZWhvbGRlci5odG1sCkBAIC0xMiw3
ICsxMiw3IEBACiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFk
b3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QxID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnYmVmb3JlJykpOwogc2hhZG93Um9vdDEuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogc2hhZG93Um9vdDEuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2FmdGVyJykpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1zdHls
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFy
ZWEtd2l0aC1zdHlsZS5odG1sCmluZGV4IDY4ZDc2MmYwMzQ5YzhiYzc2Mzc5ZjVmM2FjMTYyMGNm
OTFmNzAwMmIuLmU5Y2JkZjNhZTM2MDRhOTQ1YTY2YjMyZWEyNjVjODlkNTk1NzhmOGEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVh
LXdpdGgtc3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci10ZXh0YXJlYS13aXRoLXN0eWxlLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAgdGV4dGFy
ZWEgewogPC9mb3JtPgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3No
YWRvdycpKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aG91dC1zaGFkb3cuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGhv
dXQtc2hhZG93Lmh0bWwKaW5kZXggZDg3N2EwMzc3NzRkNzc3OGYwZWE4MzVkOGIyYTZiZTIyOWIx
Mzk4Mi4uNDdjMGJiMTc0ODI4NjY2NGQwOTA3Y2Y1MDlkMTZiMGFlOTA2YTk1YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0
aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci10ZXh0YXJlYS13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0xMSw1ICsxMSw1IEBACiBp
ZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hh
ZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEuaHRtbAppbmRleCA5ODU4ODk2NDdi
MzdlZTk5NzUxNWRiNTRjNDVmN2E5MWJmYzUzNzI1Li5lMjk1NzlmMWFlNTc2ZWQxOGIxMzA1MmFi
YzZhM2Q5OTBkNjQwZmQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci10ZXh0YXJlYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dE
T01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
IGRpdi5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3QtY2xvbmVub2Rl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1jbG9uZW5vZGUu
aHRtbAppbmRleCBmM2ZiOWYxNzgwMWUzNzkwNzlhYjFhNjAxYTQ2MzM2NTJlODFiODZjLi5lYmQz
ZWVjNGU0Y2QyZWQ3YTQ3NjVmZDNlMWI5ZTVlZDJiNjMxYTAwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1jbG9uZW5vZGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1jbG9uZW5vZGUuaHRtbApAQCAtOSw3
ICs5LDcgQEAKIGRlc2NyaXB0aW9uKCdDYWxsaW5nIFNoYWRvd1Jvb3QuY2xvbmVOb2RlKCkgc2hv
dWxkIHRocm93IGEgREFUQV9DTE9ORV9FUlIgZXhjZXB0aW9uLicpOwogCiB2YXIgaG9zdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiBzaG91bGRUaHJvdygnc2hhZG93Um9vdC5jbG9uZU5vZGUoKScsICciRXJyb3I6
IERhdGFDbG9uZUVycm9yOiBET00gRXhjZXB0aW9uIDI1IicpOwogPC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1vZi1pbnNlcnRp
b25wb2ludC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3Qtb2Yt
aW5zZXJ0aW9ucG9pbnQuaHRtbAppbmRleCA5ZDQ2Y2FlZWJmNWYwNDI0MGRmYjJjMzE0ZTA3NDdj
ZWY3YmI2ZTlmLi5iMDVhOTM3YjQxZGYxMGQ5NmY5ODQxMmMzZGI3MGY2MDk0NmFiNTIxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1vZi1pbnNlcnRp
b25wb2ludC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290
LW9mLWluc2VydGlvbnBvaW50Lmh0bWwKQEAgLTksNyArOSw3IEBACiA8L2Rpdj4KIAogPHNjcmlw
dD4KLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hh
ZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5l
ckhUTUwgPQogICAgICc8ZGl2PicgKyAKICAgICAgICAgJzxjb250ZW50IGlkPSJhY3RpdmUtY29u
dGVudCIgc2VsZWN0PSJkaXYiPjxkaXY+ZmFsbGJhY2s8L2Rpdj48L2NvbnRlbnQ+JyArCkBAIC0x
NywxMSArMTcsMTEgQEAgc2hhZG93Um9vdC5pbm5lckhUTUwgPQogICAgICc8L2Rpdj4nOwogCiB2
YXIgYWN0aXZlQ29udGVudCA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2FjdGl2ZS1jb250
ZW50Jyk7Ci12YXIgc2hhZG93Um9vdEZvckFjdGl2ZUNvbnRlbnQgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChhY3RpdmVDb250ZW50KTsKK3ZhciBzaGFkb3dSb290Rm9yQWN0aXZlQ29udGVudCA9IGFj
dGl2ZUNvbnRlbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdEZvckFjdGl2
ZUNvbnRlbnQuaW5uZXJIVE1MID0gJzxkaXY+Rm9yIGFjdGl2ZSBjb250ZW50PC9kaXY+JzsKIAog
dmFyIGluYWN0aXZlQ29udGVudCA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2luYWN0aXZl
LWNvbnRlbnQnKTsKLXZhciBzaGFkb3dSb290Rm9ySW5hY3RpdmVDb250ZW50ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaW5hY3RpdmVDb250ZW50KTsKK3ZhciBzaGFkb3dSb290Rm9ySW5hY3RpdmVD
b250ZW50ID0gaW5hY3RpdmVDb250ZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3RGb3JJbmFjdGl2ZUNvbnRlbnQuaW5uZXJIVE1MID0gJzxkaXY+Rm9yIEluYWN0aXZlIGNv
bnRlbnQ8L2Rpdj4nOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dyb290LXR5cGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dyb290LXR5cGUuaHRtbAppbmRleCA3ZjE2ZTU3NzU4OTAwMDdjMTYxYTFiYTI1
ZDUzZDk0ODJkMGVkYmJhLi44YzIwMjk1YmFkMzkyYTYxNWJlNGI4ZTQ4ZDE1NDA1MjQ4MmQ0OTRj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC10eXBl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3QtdHlwZS5o
dG1sCkBAIC0xMiw3ICsxMiw3IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBl
bnN1cmVzIFNoYWRvd1Jvb3RUeXBlIGlzIGNvcnJlY3RseSByZWZsZWN0ZWQiKTsKIAotdmFyIHNo
YWRvd1Jvb3RGb3JEaXYgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dS
b290Rm9yRGl2ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgc2hhZG93Um9v
dEZvcklucHV0ID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QoaW5wdXQpOwogCiBzaG91bGRCZSgnIkF1
dGhvclNoYWRvd1Jvb3QiJywgJ2ludGVybmFscy5zaGFkb3dSb290VHlwZShzaGFkb3dSb290Rm9y
RGl2KScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9m
LWRpc3RyaWJ1dGVkLW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHls
ZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKaW5kZXggMGE5MzliYjczMmU1ZDlkMzUzN2RjZjZh
NzlhNTA0YzYzMTIyN2FiYi4uYjc3NmM3ZmM2YzEyNDdjNDY1NTg4ODNjMjEzMmM5MTQwNjRhNDdi
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3Ry
aWJ1dGVkLW5vZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUt
b2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sCkBAIC0yOCw3ICsyOCw3IEBAIGRlc2NyaXB0aW9uKCJU
ZXN0cyB0byBlbnN1cmUgdGhhdCBzdHlsZXMgb2YgZGlzdHJpYnV0ZWQgbm9kZXMgYXJlIGRpZmZl
cmVudCBpZiB0CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogCi12YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaG9zdCIpKTsKK3ZhciBzciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iiku
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc3IuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVj
dD0iI2NoaWxkLWEiPjwvY29udGVudD48ZGl2IHN0eWxlPSJjb2xvcjogYmx1ZSI+PGNvbnRlbnQg
c2VsZWN0PSIjY2hpbGQtYiI+PC9jb250ZW50PjwvZGl2Pic7CiAKIHNob3VsZEJlKCdnZXRDb2xv
clByb3BlcnR5KCJjaGlsZC1hIiknLCAnInJnYigyNTUsIDAsIDApIicpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLXNjb3BlZC1ub3QtZW5hYmxlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLXNjb3BlZC1ub3QtZW5hYmxlZC5o
dG1sCmluZGV4IDk1YmI5MjdhNWU4MzlmZjg1ZDc2YjRmYWI2MGIyYjhkYjRhMDI3NjQuLjc1NmJl
OTA0OGM4NzdkNWIzYWY2Y2JjOGJkOWJkNmM1Yzk0NjU5NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1zY29wZWQtbm90LWVuYWJsZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFibGVkLmh0bWwK
QEAgLTE4LDcgKzE4LDcgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiA8c2NyaXB0PgogZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIGNvbnRlbnQgZWxlbWVudCBmZWF0dXJlIGNhbiBiZSBk
aXNhYmxlZCIpOwogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwot
dmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvdyA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+
IHNwYW4geyBjb2xvcjogYmx1ZTsgfSA8L3N0eWxlPjxzcGFuIGlkPSdzaG91bGRCZUFwcGxpZWQn
PlNob3VsZCBiZSBibHVlPC9zcGFuPiI7CiB2YXIgc2hvdWxkQmVBcHBsaWVkID0gc2hhZG93Lmdl
dEVsZW1lbnRCeUlkKCJzaG91bGRCZUFwcGxpZWQiKTsKIHZhciBzaG91bGROb3RCZUFwcGxpZWQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2hvdWxkTm90QmVBcHBsaWVkIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmli
dXRlLmh0bWwKaW5kZXggMmNjZDhkYzlmOGVkZTdjZGI2NDcyOThmMGI0NzM4ZjI3NDI4Nzk0Mi4u
OWE4ZGU0MDcwYzkyOTE3NTU3ODhkYWQ0Njc1YTg0MWI3MmJhZjE3YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUu
aHRtbApAQCAtOCw3ICs4LDcgQEAKIDxkaXYgaWQ9Imhvc3QxIj48L2Rpdj4KIAogPHNjcmlwdD4K
LXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFk
b3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICd4
LWZvbycpOwogZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdmb28gYmFy
JykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N1cHByZXNzLW11
dGF0aW9uLWV2ZW50cy1pbi1zaGFkb3ctY2hhcmFjdGVyZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3N1cHByZXNzLW11dGF0aW9uLWV2ZW50cy1pbi1zaGFkb3ctY2hhcmFj
dGVyZGF0YS5odG1sCmluZGV4IGFhMWI2MmM3NDgzMzkyNTk5Yjg4MWEyODZmMWRmOGE2NTVhNjRh
OTcuLmRjYzIxNzM2ZTMzNTNkZGZhMDA4ODcxMjlkNDM5OTQ4MjM4NTJlMjEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdXBwcmVzcy1tdXRhdGlvbi1ldmVudHMtaW4t
c2hhZG93LWNoYXJhY3RlcmRhdGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc3VwcHJlc3MtbXV0YXRpb24tZXZlbnRzLWluLXNoYWRvdy1jaGFyYWN0ZXJkYXRhLmh0bWwK
QEAgLTgsNyArOCw3IEBACiBkZXNjcmlwdGlvbigiRW5zdXJlcyB0aGF0IERPTUNoYXJhY3RlckRh
dGFNb2RpZmllZCBpc24ndCBmaXJlZCBpbnNpZGUgc2hhZG93cy4iKTsKIHZhciBmaXJlZCA9IGZh
bHNlOwogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotdmFyIHNo
YWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvdyA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwogZGl2LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNoYXJhY3RlckRhdGFNb2RpZmllZCIs
IGZ1bmN0aW9uKGV2dCkgewogICAgIGZpcmVkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy90cmFuc2l0aW9uLW9uLXNoYWRvdy1ob3N0LXdpdGgtZGlzdHJp
YnV0ZWQtbm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3RyYW5zaXRpb24t
b24tc2hhZG93LWhvc3Qtd2l0aC1kaXN0cmlidXRlZC1ub2RlLmh0bWwKaW5kZXggMzllYTdiNDJi
NmQ5ZTI1MTRhMjRhZGVjY2YzMDFjZWNmZjAwNWE4My4uOGUyYjk4ODRiYjA0ZjBmMDcyNDY3OTY4
NjM1MzBjNTk3Y2MyZDQ1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3RyYW5zaXRpb24tb24tc2hhZG93LWhvc3Qtd2l0aC1kaXN0cmlidXRlZC1ub2RlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3RyYW5zaXRpb24tb24tc2hhZG93LWhvc3Qt
d2l0aC1kaXN0cmlidXRlZC1ub2RlLmh0bWwKQEAgLTI4LDcgKzI4LDcgQEAgY29uc3QgZXhwZWN0
ZWRWYWx1ZXMgPSBbCiAgIAogZnVuY3Rpb24gc2V0dXBUZXN0KCkgewogICAgIHZhciBib3ggPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94Jyk7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChib3gpOworICAgIHZhciBzaGFkb3dSb290ID0gYm94LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBz
ZWxlY3Q9Iio6Zmlyc3QtY2hpbGQiPjwvY29udGVudD4nOwogICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24oKSB7CiAgICAgICAgIHNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiY29udGVudCIpLnNldEF0
dHJpYnV0ZSgic2VsZWN0IiwgIio6bGFzdC1jaGlsZCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbAppbmRleCBj
NDk2MzczODRmMjFlNzczMzA2ZDQ4NGQ4YWI3YjFjYjM3Mzg1YjZmLi5lMDcyZDFmMTJiMjU4Mjc0
MGE1ODdkZmY4ZThlMmMxZjkzOTNhZGYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbApAQCAtMzQsNyArMzQs
NyBAQCBmdW5jdGlvbiBnZXRVc2VyTW9kaWZ5UHJvcGVydHkoaWQpIHsKIH0KIAogZnVuY3Rpb24g
cHJlcGFyZU5vZGVJblNoYWRvd1Jvb3QoaG9zdCwgY29udGVudEVkaXRhYmxlQXR0cmlidXRlVmFs
dWVGb3JOb2RlKSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHZhciBub2RlSW5TaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
ICAgICBpZiAoY29udGVudEVkaXRhYmxlQXR0cmlidXRlVmFsdWVGb3JOb2RlICE9IG51bGwpCiAg
ICAgICAgIG5vZGVJblNoYWRvdy5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsIGNvbnRl
bnRFZGl0YWJsZUF0dHJpYnV0ZVZhbHVlRm9yTm9kZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtaW4tc2hhZG93LWRvbS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3doZWVsLWV2ZW50LWluLXNoYWRvdy1kb20uaHRtbAppbmRl
eCA5MGQ2OTE0ZmIyZmIyMDYxZmUxM2M4OTQzN2JhZjgyMTZjNTU1MDY4Li44N2E4ZTVkYWJhYjYz
ODNkZmI4Y2M3OTBmMzgzNGMxNDA0ZmU3NTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtaW4tc2hhZG93LWRvbS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1pbi1zaGFkb3ctZG9tLmh0bWwKQEAgLTIz
LDcgKzIzLDcgQEAgZnVuY3Rpb24gY3JlYXRlQm94KG5hbWUpIHsKICAgICByZXR1cm4gZGl2Owog
fQogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBzaGFkb3dEaXYg
PSBjcmVhdGVCb3goJ3NoYWRvdycpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3dEaXYp
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQt
b24taW5wdXQtaW4tc2hhZG93LWRvbS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3doZWVsLWV2ZW50LW9uLWlucHV0LWluLXNoYWRvdy1kb20uaHRtbAppbmRleCBiMGU5ZjJkMzlm
ZmZkOTI4YTJlOTAxNmFmOTg5YzkwOTYwNWMwYjdiLi43ODgzZTVmYTMyNzU2ZjcwYjMwZWZjZTI1
YjljNzk2ZjZlMmY2MmMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
d2hlZWwtZXZlbnQtb24taW5wdXQtaW4tc2hhZG93LWRvbS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1vbi1pbnB1dC1pbi1zaGFkb3ctZG9tLmh0bWwK
QEAgLTIzLDcgKzIzLDcgQEAgZnVuY3Rpb24gY3JlYXRlSW5wdXQobmFtZSkgewogICAgIHJldHVy
biBkaXY7CiB9CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIHNo
YWRvd0RpdiA9IGNyZWF0ZUlucHV0KCdzaGFkb3cnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQo
c2hhZG93RGl2KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNo
ZWQtc2hhZG93LWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1z
aGFkb3ctZnJhbWUuaHRtbAppbmRleCBkMDNkYzc4Y2Q2OTJhMDY4MjMyYzg4MTY5Mzg5NzVlZmM4
OTc4YmJmLi5jZDc0M2IwYjIzNmQ1ZjQxOGNmNmM0YjQzZTI3ZWY3NGYzNmY4YTU4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1zaGFkb3ctZnJhbWUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1zaGFkb3ctZnJhbWUuaHRtbApA
QCAtMTMsNyArMTMsNyBAQCBoZWxwZXJEaXYgPSBjb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwogaGVscGVyRnJhbWUgPSBjb250YWluZXIuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIikpOwogCiBoZWxwZXJGcmFtZS5j
b250ZW50V2luZG93Lm9udW5sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhlbHBlckRpdik7CisgICAgc2hhZG93Um9vdCA9IGhlbHBlckRp
di53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgaW5uZXJGcmFtZSA9IHNoYWRvd1Jvb3Qu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIikpOwogfTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQKaW5kZXggYzI3MjhkNDZhZjI4NThmZmZlNTc3NGJjZjFiNDNmOTg3MmUwMTI3Yy4uOTM2OWFh
ODQzYmNkMWI5YmNmNWUwNDM4YTg3ZGU4YTIyNzRjZGJmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CkBAIC0zMzEsNyAr
MzMxLDYgQEAgUEFTUyBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlQ29uc3QKIEZBSUwgV2ViS2l0SW50ZW50LnRvU3Ry
aW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0SW50ZW50Q29uc3RydWN0b3JdLiBXYXMgW29i
amVjdCBJbnRlbnRDb25zdHJ1Y3Rvcl0uCiBGQUlMIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIudG9T
dHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0
b3JdLiBXYXMgW29iamVjdCBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdLgogUEFTUyBXZWJL
aXRQb2ludC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdFBvaW50Q29uc3RydWN0b3JdJwot
RkFJTCBXZWJLaXRTaGFkb3dSb290LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0
U2hhZG93Um9vdENvbnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgU2hhZG93Um9vdENvbnN0cnVjdG9y
XS4KIFBBU1MgV2ViS2l0VHJhbnNpdGlvbkV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJTb2NrZXQudG9TdHJpbmco
KSBpcyAnW29iamVjdCBXZWJTb2NrZXRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdoZWVsRXZlbnQudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBXaGVlbEV2ZW50Q29uc3RydWN0b3JdJwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178518</attachid>
            <date>2012-12-10 04:40:21 -0800</date>
            <delta_ts>2012-12-10 20:12:17 -0800</delta_ts>
            <desc>Update DOMWindow.idl</desc>
            <filename>bug-102913-20121210213742.patch</filename>
            <type>text/plain</type>
            <size>216649</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmZjIyMzJjMmFhMDJhZTU3ZjM0MGE3M2NjOGRmMjRlMDNmNmFhZjYxLi5j
OWYyMjJhMWI4NDVjMjEzNTMwY2YxMTg3M2I2MDhhNTIwMDRiNTZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMTItMTItMTAgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFtTaGFkb3cgRE9NXSBLaWxsIFNoYWRvd1Jvb3QgY29uc3RydWN0b3IKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjkxMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBTaGFk
b3dSb290IGNvbnN0cnVjdG8gaW4gZmF2b3Igb2YgRWxlbWVudC5jcmVhdGVTaGFkb3dSb290KCku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBVcGRhdGUgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAg
ICAgKiBkb20vU2hhZG93Um9vdC5pZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsczo6Y3JlYXRlU2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMTItMDkgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdn
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIGFjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXIu
aHRtbCBpcyBmYWlsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwKaW5kZXggZmY5MDFlNTI4
ZDc2NzI3Zjg5N2M2Mzg3MzI0NWRmNGFiMmVmOGEzMS4uMWZlZDMxYTAxZGMxM2VlYmE5MjYzNTI5
NzViYWQ4ZjVmYmQxNGJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbApAQCAtMjYsOCAr
MjYsNiBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9U0hBRE9XX0RPTSwKLSAgICBDb25zdHJ1Y3Rv
cihpbiBFbGVtZW50IGhvc3QpLAotICAgIENvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAogICAg
IEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBTaGFkb3dSb290IDogRG9jdW1lbnRG
cmFnbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgYWN0aXZlRWxlbWVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA5MThmNDgwNzUwMDdiYTcwNDNhOTkyMjg3
MWYxZGE1MmQwNDJmZjhiLi41ZTZiMjJmZGI5NzhmZWFkZjBjZjdlYmYwOGQxOTk0OGU2NjU5YWYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC00MDEsNyArNDAxLDYgQEAKICAgICBh
dHRyaWJ1dGUgRW50aXR5Q29uc3RydWN0b3IgRW50aXR5OwogICAgIGF0dHJpYnV0ZSBFbnRpdHlS
ZWZlcmVuY2VDb25zdHJ1Y3RvciBFbnRpdHlSZWZlcmVuY2U7CiAgICAgYXR0cmlidXRlIFByb2Nl
c3NpbmdJbnN0cnVjdGlvbkNvbnN0cnVjdG9yIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjsKLSAgICBb
Q29uZGl0aW9uYWw9U0hBRE9XX0RPTSwgVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTV0gYXR0
cmlidXRlIFNoYWRvd1Jvb3RDb25zdHJ1Y3RvciBXZWJLaXRTaGFkb3dSb290OwogICAgIFtDb25k
aXRpb25hbD1TSEFET1dfRE9NLCBWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NXSBhdHRyaWJ1
dGUgSFRNTENvbnRlbnRFbGVtZW50Q29uc3RydWN0b3IgSFRNTENvbnRlbnRFbGVtZW50OwogICAg
IFtDb25kaXRpb25hbD1TSEFET1dfRE9NLCBWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NXSBh
dHRyaWJ1dGUgSFRNTFNoYWRvd0VsZW1lbnRDb25zdHJ1Y3RvciBIVE1MU2hhZG93RWxlbWVudDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDg4MmZmZDI4NzgwZjQ0MGYy
ZDYwNWYyMzY2YzAxYTRlOWVkMTkzOWUuLjZjOThmZDM1YzhkZDFiNTZhNWE3Y2VkMzZkMDUwYjAx
ZjRhY2M5NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTUyOSw2ICs1
MjksMTUgQEAgSW50ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJ
bnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jvb3QoRWxlbWUKICAgICByZXR1cm4gU2hhZG93Um9vdDo6
Y3JlYXRlKGhvc3QsIGVjKS5nZXQoKTsKIH0KIAorSW50ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFk
b3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6OmNyZWF0ZVNoYWRvd1Jvb3QoRWxlbWVudCog
aG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFob3N0KSB7CisgICAgICAgIGVj
ID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0
dXJuIFNoYWRvd1Jvb3Q6OmNyZWF0ZShob3N0LCBlYykuZ2V0KCk7Cit9CisKIEludGVybmFsczo6
U2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogSW50ZXJuYWxzOjpzaGFkb3dSb290
KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIEZJWE1FOiBJbnRl
cm5hbHM6OnNoYWRvd1Jvb3QoKSBpbiB0ZXN0cyBzaG91bGQgYmUgY29udmVydGVkIHRvIHlvdW5n
ZXN0U2hhZG93Um9vdCgpIG9yIG9sZGVzdFNoYWRvd1Jvb3QoKS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IDA2ODVmOWJmYmI0NmZhNjQ1ZTk3NDAyOTNlOTFhYzIyYmRiYWNlZGUu
LjUxN2MzZTdiYjZiZjBhNzIyNjk5ODRmYzVkOTJhMjVlNGU1NjNmMjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBO
b2RlIFNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGU7CiAjZW5kaWYKICAgICBTaGFk
b3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBlbnN1cmVTaGFkb3dSb290KEVsZW1lbnQq
IGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVk
T3JOb2RlKiBjcmVhdGVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBzaGFkb3dSb290KEVsZW1l
bnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFi
bGVkT3JOb2RlKiB5b3VuZ2VzdFNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIFNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIG9sZGVzdFNoYWRv
d1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCmluZGV4IDhjZDFiODAwNTA5YjRlOGY3Y2I3M2VhNTk3MDE4ZmUzMGZiNGEx
ZjcuLmFlOTgwZTRkYWI2MjRhY2JmMWZlOWRkZjg1ZTVmYWRiMmYzNjJlNTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTM2LDYgKzM2LDcgQEAKIAogI2lmIGRlZmluZWQo
RU5BQkxFX1NIQURPV19ET00pICYmIEVOQUJMRV9TSEFET1dfRE9NCiAgICAgU2hhZG93Um9vdCBl
bnN1cmVTaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwor
ICAgIFNoYWRvd1Jvb3QgY3JlYXRlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKICAgICBTaGFkb3dSb290IHNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgU2hhZG93Um9vdCB5b3VuZ2VzdFNoYWRvd1Jv
b3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgU2hhZG93Um9v
dCBvbGRlc3RTaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGY3MWZiODQ1ZmZkY2Y4MmJjZmYzNDA3NDc5NzEwOTlhN2QzZGJiOTYuLmM5NThk
MjA2OGFhZjJhMDZkMDRiNDJmN2EwOGJlMzJkM2I3NjdlNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOTgg
QEAKKzIwMTItMTItMTAgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtTaGFkb3cgRE9NXSBLaWxsIFNoYWRvd1Jvb3QgY29uc3RydWN0b3IKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjkxMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2Nv
cGVkL3N0eWxlLXNjb3BlZC1hcHBseS1hdXRob3Itc3R5bGVzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHls
ZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNo
YW5nZS1zY29wZWQtaW4tc2hhZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9z
dHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1zY29wZWQtaW4tc2hhZG93Lmh0bWw6Cisg
ICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFkb3ctZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQt
aW4tc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Fkb3B0LW5vZGUtd2l0
aC1zaGFkb3ctcm9vdC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9hdGhvc3QtYXRy
dWxlcy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9iYXNlLWluLXNoYWRvdy10cmVl
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NhcmV0LXJhbmdlLWZyb20tcG9pbnQt
aW4tbmVzdGVkLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50
LWFmdGVyLXN0eWxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxl
bWVudC1pbi1tZWRpYS1lbGVtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Nv
bnRlbnQtZWxlbWVudC1pbi1tZXRlci1lbGVtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1wcm9ncmVzcy1lbGVtZW50Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1zZWxlY3QtZWxlbWVudC5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtb3V0c2lkZS1zaGFk
b3ctc3R5bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2pl
Y3Rpb24tY29tcGxleC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJl
cHJvamVjdGlvbi1keW5hbWljLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRl
bnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1vcmRl
ci5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1z
aGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW4tc2hhZG93
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NwcGV2ZW50LWlucHV0LWluLXNoYWRv
dy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tYXR0cmlidXRl
LW1vZGlmaWVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1j
bGFzc05hbWUtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZGlzdHJp
YnV0aW9uLWlkLW1vZGlmaWVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2RyYWct
dG8tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2Ryb3AtZXZlbnQtZm9yLWlucHV0LWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9kcm9wLWV2ZW50LWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9lbGVtZW50LWZyb20tcG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9mb3JtLWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxlbWVudHMuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvaG9zdC13cmFwcGVyLXJlY2xhaW1lZC5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9pZnJhbWUtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L2lucHV0LXdpdGgtdmFsaWRhdGlvbi13aXRob3V0LXNoYWRvdy5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LWxpc3QtbWVudS1jcmFzaC5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtcmVzZXRTdHlsZUluaGVyaXRh
bmNlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1zaGFk
b3ctY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50
LXZpZGVvLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2ludmFsaWRhdGUt
ZGlzdHJpYnV0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2xpbmstaW4tc2hh
ZG93LXRyZWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93
cm9vdC1hZG9wdC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFk
b3dyb290LXJlbmRlcmluZy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBs
ZS1zaGFkb3dyb290Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BhcmVudC10cmVl
LXNjb3BlLWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG8t
YXR0cmlidXRlLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRv
LWF0dHJpYnV0ZS1yZW5kZXJpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtb3B0aW9uLmh0bWw6CisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1idXR0b24uaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWZp
ZWxkc2V0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0
ZS1kaXNhYmxlZC1pbnB1dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtZGlzYWJsZWQtb3B0Z3JvdXAuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGlvbi5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2VsZWN0Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC10
ZXh0YXJlYS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZW5hYmxlZC1hbmNob3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWVuYWJsZWQtYXJlYS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0b24uaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtZmllbGRzZXQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtaW5wdXQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJs
ZWQtb3B0Z3JvdXAuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWVuYWJsZWQtb3B0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXNlbGVjdC5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC10ZXh0YXJlYS5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1
dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5k
ZXRlcm1pbmF0ZS1wcm9ncmVzcy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtbGluay1hbmNob3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYXJlYS5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdGFyZ2V0Lmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRlZC1hcmVhLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3JlbW92ZS1zdHlsZXMtaW4tc2hhZG93LWNyYXNo
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1hdHRyaWJ1dGUt
bW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWNs
YXNzTmFtZS1tb2RpZmllZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9yZXByb2pl
Y3Rpb24taWQtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVzaXpl
LWluLXNoYWRvdy1kb20uaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2Vz
L3BvbHlmaWxsLmpzOgorICAgICAgICAoLkVsZW1lbnQucHJvdHlwZS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KToKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3NoYWRvdy1kb20u
anM6CisgICAgICAgIChjcmVhdGVET00pOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zZWxl
Y3QtaW1hZ2Utd2l0aC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2Vs
ZWN0aW9uLXNob3VsZG50LWV4cG9zZS1zaGFkb3ctZG9tLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NlbGVjdGlvbnMtaW4tc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1hbmQtbGlzdC1lbGVtZW50cy5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRvdy1yb290LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudC1jcmFzaC5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXYtcmVmbG93Lmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1keW5hbWljLXN0eWxlLWNoYW5nZS12aWEtbXV0YXRpb24tYW5k
LXNlbGVjdG9yLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1lbGVtZW50
LXJlbmRlcmluZy1tdWx0aXBsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctZWxlbWVudC1yZW5kZXJpbmctc2luZ2xlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1uZXN0ZWQtcHNldWRvLWlkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1vbi1pbWFnZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcHNldWRvLWlkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZW1v
dmVjaGlsZC1hbmQtYmx1ci1ldmVudC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcmVwcm9qZWN0aW9uLWNsaWNrLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbjIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXJvb3QtYXBwZW5kLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWFwcGx5QXV0aG9yU3R5bGVzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1yb290LWF0dGFjaGVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWlubmVySFRNTC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1qcy1hcGktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtbmV3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtbmV3Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctc2VsZWN0LWF0dHJpYnV0ZS1mZWF0dXJlc2V0Lmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvdy11bC1saS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZHluYW1pYy1zdHlsaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLW9ubHktc2hhZG93Lmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLXdpdGhvdXQtc2hhZG93
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtY29t
cGxleC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1maWVsZHNldC1vbmx5LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWZpZWxkc2V0LXdpdGhvdXQtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZm9ybS1hc3NvY2lhdGVkLWVsZW1lbnQtdXNlcmFn
ZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Ut
YWx0LXVwZGF0ZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLWFsdC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLWNvbnRlbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1pbWFnZS1keW5hbWljLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItaW1hZ2UtZXZlbnQtY2xpY2suaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1pbWFnZS1ldmVudC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWluLXNoYWRvd2RvbS5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLW1hcC5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXN0eWxlLmh0bWw6CisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1tdWx0aXBsZS1zaGFkb3cu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRo
LXBzZXVkby1pZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLXdpdGgtd2lkdGgtYW5kLWhlaWdodC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLW9ubHktc2hhZG93Lmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLXdpdGhvdXQtc2hhZG93
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWVkaWEuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1keW5hbWlj
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItbXVs
dGlwbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRl
ci13aXRoLXN0eWxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItbWV0ZXItd2l0aG91dC1hcHBlYXJhbmNlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aG91dC1zaGFkb3ctZWxlbWVudC5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LWNvbXBsZXgtc2hhZG93Lmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LW9ubHkt
c2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2Jq
ZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itb3V0cHV0LWNvbXBsZXgtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LW9ubHktc2hhZG93Lmh0bWw6CisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LXdpdGhvdXQtc2hhZG93Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MtZHluYW1p
Yy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNz
LW11bHRpcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
cHJvZ3Jlc3Mtd2l0aC1zdHlsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXByb2dyZXNzLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGhvdXQtc2hhZG93LWVsZW1l
bnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVz
cy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1j
b21wbGV4LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXNlbGVjdC1vbmx5LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLWNvbXBsZXgtc2hhZG93Lmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtb25seS1zaGFk
b3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJl
YS13aXRoLWF0dHJpYnV0ZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXRleHRhcmVhLXdpdGgtcGxhY2Vob2xkZXIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLXN0eWxlLmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aG91dC1zaGFkb3cu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25lbm9kZS5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LW9mLWluc2VydGlvbnBvaW50
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3QtdHlwZS5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxlLXNjb3BlZC1ub3QtZW5hYmxlZC5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3VwcHJlc3MtbXV0YXRpb24tZXZlbnRzLWlu
LXNoYWRvdy1jaGFyYWN0ZXJkYXRhLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3Ry
YW5zaXRpb24tb24tc2hhZG93LWhvc3Qtd2l0aC1kaXN0cmlidXRlZC1ub2RlLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3doZWVsLWV2ZW50LWluLXNoYWRvdy1kb20uaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtb24taW5wdXQtaW4tc2hhZG93LWRv
bS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2RldGFjaGVkLXNoYWRvdy1mcmFtZS5odG1s
OgorICAgICAgICAqIGZhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisK
IDIwMTItMTItMDkgIEthbmdpbCBIYW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFtFRkxdW1dLMV0gR2FyZGVuaW5nIGZvciBBY2NlbGVyYXRlZCBDb21wb3NpdGluZwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1h
cHBseS1hdXRob3Itc3R5bGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0
eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy1leHBlY3RlZC50eHQK
aW5kZXggNmE2M2Q5YWE4NDM0N2Q2NzBlNjBmZTg0Y2U1ZWQ5NmUzZDYzYTJiNS4uMzllM2FhOGM1
ZDAwOTVjZDJmYWIzN2ZjNGVkZjllY2MzOTAzOTEwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1hcHBseS1hdXRob3Itc3R5bGVzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUt
c2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAog
UEFTUyB3aW5kb3cuaW50ZXJuYWxzIGlzIGRlZmluZWQuCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMu
ZW5zdXJlU2hhZG93Um9vdCBpcyBkZWZpbmVkLgotUEFTUyBXZWJLaXRTaGFkb3dSb290IGlzIGRl
ZmluZWQuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29w
ZWQtYXBwbHktYXV0aG9yLXN0eWxlcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUt
c2NvcGVkL3N0eWxlLXNjb3BlZC1hcHBseS1hdXRob3Itc3R5bGVzLmh0bWwKaW5kZXggMzJiOTA2
MWYzYjczY2QxZmM1MzIzMjBkYTlhOGRlZGU2ZjFjYjY1NC4uNmE5MGY3YTg5Y2Q2MTY3MDkyNzFk
YjA4NDQ2MjBmZmM5Nzk2MTk1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5
bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1hcHBseS1hdXRob3Itc3R5bGVzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1hcHBseS1hdXRob3It
c3R5bGVzLmh0bWwKQEAgLTgsOCArOCw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJu
YWxzIik7Ci1zaG91bGRCZURlZmluZWQoIndpbmRvdy5pbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9v
dCIpOwotc2hvdWxkQmVEZWZpbmVkKCJXZWJLaXRTaGFkb3dSb290Iik7CiAKIGZ1bmN0aW9uIGR1
bXBDb21wdXRlZFN0eWxlKG5vZGUpCiB7CkBAIC0yMyw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3RC
YXNpYygpCiAgICAgZGl2LmlubmVySFRNTCA9ICc8ZGl2PjxzdHlsZSBzY29wZWQ+ZGl2IHsgYm9y
ZGVyOiAxcHggc29saWQgcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSJob3N0Ij48L2Rpdj48L2Rpdj4n
OwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzaGFkb3cg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpKTsK
KyAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKS53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJn
ZXQiPnRhcmdldDwvZGl2Pic7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwog
CkBAIC00NSw5ICs0Myw5IEBAIGZ1bmN0aW9uIHRlc3RFbmNsb3NpbmdTaGFkb3coKQogICAgIHZh
ciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgb3V0ZXJTaGFkb3cgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChkaXYpOworICAgIHZhciBvdXRlclNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgb3V0ZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5kaXYgeyBib3Jk
ZXI6IDFweCBzb2xpZCByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9Im91dGVyIj5vdXRlcjwvZGl2Pic7
Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVyU2hhZG93LmdldEVs
ZW1lbnRCeUlkKCJvdXRlciIpKTsKKyAgICB2YXIgc2hhZG93ID0gb3V0ZXJTaGFkb3cuZ2V0RWxl
bWVudEJ5SWQoIm91dGVyIikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5p
bm5lckhUTUwgPSAnPGRpdiBpZD0idGFyZ2V0Ij50YXJnZXQ8L2Rpdj4nOwogCiAgICAgLy8gYmVm
b3JlCkBAIC02NywxMiArNjUsMTIgQEAgZnVuY3Rpb24gdGVzdEVuY2xvc2luZ1NoYWRvd1dpdGhT
Y29wZWQoKQogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgb3V0ZXJTaGFkb3cg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBvdXRlclNoYWRvdyA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgb3V0ZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxk
aXY+PHN0eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6IDFweCBzb2xpZCByZWQ7IH08L3N0eWxlPjxk
aXYgaWQ9Im91dGVySW5TY29wZSI+b3V0ZXJJblNjb3BlPC9kaXY+PC9kaXY+PGRpdiBpZD0ib3V0
ZXJPdXRPZlNjb3BlIj5vdXRlck91dE9mU2NvcGU8L2Rpdj4nOwogCi0gICAgdmFyIHNoYWRvdzEg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJJ
blNjb3BlIikpOworICAgIHZhciBzaGFkb3cxID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQo
Im91dGVySW5TY29wZSIpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cxLmlu
bmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXRJblNjb3BlIj50YXJnZXRJblNjb3BlPC9kaXY+JzsK
LSAgICB2YXIgc2hhZG93MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVyU2hhZG93LmdldEVs
ZW1lbnRCeUlkKCJvdXRlck91dE9mU2NvcGUiKSk7CisgICAgdmFyIHNoYWRvdzIgPSBvdXRlclNo
YWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJPdXRPZlNjb3BlIikud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIHNoYWRvdzIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRhcmdldE91dE9mU2Nv
cGUiPnRhcmdldE91dE9mU2NvcGU8L2Rpdj4nOwogCiAgICAgLy8gYmVmb3JlCkBAIC05OCwxNSAr
OTYsMTUgQEAgZnVuY3Rpb24gdGVzdE5lc3RlZFNoYWRvdygpCiAgICAgZGl2LmlubmVySFRNTCA9
ICc8c3R5bGUgc2NvcGVkPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZCB9PC9zdHlsZT48ZGl2
IGlkPSJob3N0Ij48L2Rpdj4nOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsK
IAotICAgIHZhciBvdXRlck1vc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpKTsKKyAgICB2YXIgb3V0ZXJNb3N0U2hhZG93ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgb3V0ZXJNb3N0U2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+ZGl2IHsgYm9yZGVyOiAxcHgg
c29saWQgYmx1ZTsgfTwvc3R5bGU+PGRpdiBpZD0ib3V0ZXJNb3N0Ij5vdXRlck1vc3Q8L2Rpdj4n
OwogICAgIG91dGVyTW9zdFNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9IGZhbHNlOwogCi0gICAg
dmFyIG91dGVyU2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJNb3N0U2hhZG93Lmdl
dEVsZW1lbnRCeUlkKCJvdXRlck1vc3QiKSk7CisgICAgdmFyIG91dGVyU2hhZG93ID0gb3V0ZXJN
b3N0U2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRlck1vc3QiKS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgb3V0ZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Im91dGVyIj5vdXRl
cjwvZGl2Pic7CiAgICAgb3V0ZXJTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKIAot
ICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChvdXRlclNoYWRvdy5nZXRFbGVt
ZW50QnlJZCgib3V0ZXIiKSk7CisgICAgdmFyIHNoYWRvdyA9IG91dGVyU2hhZG93LmdldEVsZW1l
bnRCeUlkKCJvdXRlciIpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5u
ZXJIVE1MID0gJzxkaXYgaWQ9InRhcmdldCI+dGFyZ2V0PC9kaXY+JzsKICAgICBzaGFkb3cuYXBw
bHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKIApAQCAtMTMyLDE1ICsxMzAsMTUgQEAgZnVuY3Rpb24g
dGVzdE11bHRpcGxlU2hhZG93KCkKICAgICBkaXYuaW5uZXJIVE1MID0gJzxzdHlsZSBzY29wZWQ+
ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgcmVkIH08L3N0eWxlPjxkaXY+dGVzdDwvZGl2Pic7CiAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIG9sZGVzdFNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIG9sZGVzdFNoYWRvdyA9IGRp
di53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgb2xkZXN0U2hhZG93LmlubmVySFRNTCA9
ICc8c2hhZG93Pjwvc2hhZG93PjxkaXYgaWQ9Im9sZGVzdFNoYWRvdyI+b2xkZXN0U2hhZG93PC9k
aXY+JzsKICAgICBvbGRlc3RTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKIAotICAg
IHZhciBvbGRlclNoYWRvdyA9ICBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBv
bGRlclNoYWRvdyA9ICBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG9sZGVyU2hh
ZG93LmlubmVySFRNTCA9ICc8c3R5bGUgc2NvcGVkPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIGJs
dWUgfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRvdz48ZGl2IGlkPSJvbGRlclNoYWRvdyI+b2xkZXJT
aGFkb3c8L2Rpdj4nOwogICAgIG9sZGVyU2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7
CiAKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIg
c2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJI
VE1MID0gJzxzaGFkb3c+PC9zaGFkb3c+PGRpdiBpZD0idGFyZ2V0Ij5zaGFkb3c8L2Rpdj4nOwog
ICAgIHNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9IGZhbHNlOwogCkBAIC0xODYsMTUgKzE4NCwx
NSBAQCBmdW5jdGlvbiB0ZXN0T3JkZXJPZkFwcGx5U3R5bGUoKQogICAgIGRpdi5pbm5lckhUTUwg
PSAnPHN0eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6IDFweCBzb2xpZCByZWQgfTwvc3R5bGU+PGRp
diBpZD0iaG9zdCI+PC9kaXY+JzsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7
CiAKLSAgICB2YXIgb3V0ZXJNb3N0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKSk7CisgICAgdmFyIG91dGVyTW9zdFNoYWRvdyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIG91dGVyTW9zdFNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxlPmRpdiB7IGJvcmRlcjogMXB4
IHNvbGlkIGJsdWU7IH08L3N0eWxlPjxkaXYgaWQ9Im91dGVyTW9zdCI+b3V0ZXJNb3N0PC9kaXY+
JzsKICAgICBvdXRlck1vc3RTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOwogCi0gICAg
dmFyIG91dGVyU2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJNb3N0U2hhZG93Lmdl
dEVsZW1lbnRCeUlkKCJvdXRlck1vc3QiKSk7CisgICAgdmFyIG91dGVyU2hhZG93ID0gb3V0ZXJN
b3N0U2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRlck1vc3QiKS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgb3V0ZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5kaXYgeyBib3JkZXI6
IDFweCBzb2xpZCBncmVlbjsgfTwvc3R5bGU+PGRpdiBpZD0ib3V0ZXIiPm91dGVyPC9kaXY+JzsK
ICAgICBvdXRlclNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9IHRydWU7CiAKLSAgICB2YXIgc2hh
ZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91
dGVyIikpOworICAgIHZhciBzaGFkb3cgPSBvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0
ZXIiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICc8
c3R5bGU+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgeWVsbG93OyB9PC9zdHlsZT48ZGl2IGlkPSJ0
YXJnZXQiPnRhcmdldDwvZGl2Pic7CiAgICAgc2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1
ZTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxl
LXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1zY29wZWQtaW4tc2hh
ZG93LWV4cGVjdGVkLnR4dAppbmRleCBjOTY2YWIxYTJhZWIzOGFlNTQzNjUxOThhYzAyNjFjMGQ2
ZGY2ODE4Li42OGY0NDJiZjVkMjIwNDBmMTM2NmI2YzczZjZiNjA0MzQ2MTY1NDRhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5n
ZS1zY29wZWQtaW4tc2hhZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1zY29wZWQtaW4tc2hhZG93LWV4cGVj
dGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIFBBU1Mgd2luZG93LmludGVybmFscyBpcyBkZWZpbmVk
LgotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3QgaXMgZGVmaW5lZC4KLVBB
U1MgV2ViS2l0U2hhZG93Um9vdCBpcyBkZWZpbmVkLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1zY29wZWQtaW4tc2hhZG93Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1z
Y29wZWQtaW4tc2hhZG93Lmh0bWwKaW5kZXggMWE3YTkyYTU2MTkyOGZhMDRkODEwNGFkNjU2YjNl
Y2NhNzEwMzc0MC4uOTVmZTVlZmE2ZjAwYzU5MGUzMDc5MDAwM2M5OTNhMDkxYzQ0MWU5ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1j
aGFuZ2Utc2NvcGVkLWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0
eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3cuaHRtbApAQCAt
OCw4ICs4LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwogCiBzaG91bGRCZURlZmluZWQoIndpbmRvdy5pbnRlcm5hbHMiKTsKLXNob3VsZEJl
RGVmaW5lZCgid2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dSb290Iik7Ci1zaG91bGRCZURl
ZmluZWQoIldlYktpdFNoYWRvd1Jvb3QiKTsKIAogZnVuY3Rpb24gZHVtcENvbXB1dGVkU3R5bGUo
bm9kZSkKIHsKQEAgLTIxLDcgKzE5LDcgQEAgZnVuY3Rpb24gdGVzdFNjb3BlZFN0eWxlSW5TaGFk
b3coKQogICAgIGRlYnVnKCJ0ZXN0IGEgc2NvcGVkIHN0eWxlIGluIHNoYWRvdyBzdWJ0cmVlLiIp
OwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQ+ZGl2IHsg
Y29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0nRSc+RUVFPC9kaXY+PC9kaXY+PGRpdiBpZD0n
Ric+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKQEAgLTM1LDcg
KzMzLDcgQEAgZnVuY3Rpb24gdGVzdFN0eWxlSW5TaGFkb3coKQogICAgIGRlYnVnKCJ0ZXN0IGEg
c3R5bGUgaW4gc2hhZG93IHN1YnRyZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAg
ICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93
ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0g
IjxkaXY+PGRpdiBpZD0nRSc+RUVFPC9kaXY+PHN0eWxlPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0
eWxlPjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZz
ZXRMZWZ0OwogCkBAIC00OSwxMCArNDcsMTAgQEAgZnVuY3Rpb24gdGVzdFN0eWxlSW5NdWx0aXBs
ZVNoYWRvdygpCiAgICAgZGVidWcoInRlc3Qgc3R5bGVzIGluIG11bHRpcGxlIHNoYWRvdyBzdWJ0
cmVlcy4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAK
LSAgICB2YXIgc2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNo
YWRvdzEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzEuaW5uZXJI
VE1MID0gIjxkaXY+PHN0eWxlPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0Un
PkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAKLSAgICB2YXIgc2hhZG93
MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvdzIgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzIuaW5uZXJIVE1MID0gIjxkaXY+PHN0
eWxlIHNjb3BlZD5kaXYgeyBjb2xvcjogYmx1ZSB9PC9zdHlsZT48c2hhZG93Pjwvc2hhZG93Pjxk
aXYgaWQ9J0cnPkdHRzwvZGl2PjwvZGl2PiI7CiAKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGRpdik7CkBAIC02OSwxMCArNjcsMTAgQEAgZnVuY3Rpb24gdGVzdFNjb3BlZFN0eWxlSW5O
ZXN0ZWRTaGFkb3coKQogICAgIGRlYnVnKCJ0ZXN0IGEgc2NvcGVkIHN0eWxlIGluIG5lc3RlZCBz
aGFkb3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFk
b3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93MSA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93MS5pbm5lckhUTUwgPSAiPGRpdj48
c3R5bGUgc2NvcGVkPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwv
ZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgdmFyIGUgPSBzaGFkb3cxLmdl
dEVsZW1lbnRCeUlkKCJFIik7Ci0gICAgdmFyIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChlKTsKKyAgICB2YXIgc2hhZG93MiA9IGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAg
IHNoYWRvdzIuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIHNjb3BlZD5kaXYgeyBjb2xvcjogYmx1
ZTsgfTwvc3R5bGU+PGRpdiBpZD0nRyc+R0dHRzwvZGl2PjwvZGl2PjxkaXYgaWQ9J0gnPkhISEg8
L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtODgsMTAgKzg2LDEw
IEBAIGZ1bmN0aW9uIHRlc3RTdHlsZUluTmVzdGVkU2hhZG93KCkKICAgICBkZWJ1ZygidGVzdCBh
IHN0eWxlIGluIG5lc3RlZCBzaGFkb3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChk
aXYpOwotICAgIHZhciBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2
YXIgc2hhZG93MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93MS5p
bm5lckhUTUwgPSAiPGRpdj48c3R5bGU+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBp
ZD0nRSc+RUVFPC9kaXY+PC9kaXY+PGRpdiBpZD0nRic+RkZGPC9kaXY+IjsKICAgICB2YXIgZSA9
IHNoYWRvdzEuZ2V0RWxlbWVudEJ5SWQoIkUiKTsKLSAgICB2YXIgc2hhZG93MiA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGUpOworICAgIHZhciBzaGFkb3cyID0gZS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgc2hhZG93Mi5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGU+ZGl2IHsgY29sb3I6
IGJsdWU7IH08L3N0eWxlPjxkaXYgaWQ9J0cnPkdHR0c8L2Rpdj48L2Rpdj48ZGl2IGlkPSdIJz5I
SEhIPC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKQEAgLTEwNyw3ICsx
MDUsNyBAQCBmdW5jdGlvbiB0ZXN0Q2hhbmdlU2NvcGVkVG9TY29wZWQoKQogICAgIGRlYnVnKCJ0
ZXN0IGNoYW5naW5nIGEgc3R5bGUgaW4gc2hhZG93IHN1YnRyZWUgZnJvbSBzY29wZWQgdG8gc2Nv
cGVkLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQg
aWQ9J3N0eWxlLWluLXNoYWRvdyc+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0n
RSc+RUVFPC9kaXY+PC9kaXY+PGRpdiBpZD0nRic+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVudC5i
b2R5Lm9mZnNldExlZnQ7CiAKQEAgLTEyOSw3ICsxMjcsNyBAQCBmdW5jdGlvbiB0ZXN0Q2hhbmdl
U2NvcGVkVG9Ob3RTY29wZWQoKQogICAgIGRlYnVnKCJ0ZXN0IGNoYW5naW5nIGEgc3R5bGUgaW4g
c2hhZG93IHN1YnRyZWUgZnJvbSBzY29wZWQgdG8gbm90LXNjb3BlZC4iKTsKICAgICB2YXIgZGl2
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYp
OworICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNo
YWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVkIGlkPSdzdHlsZS1pbi1zaGFkb3cn
PmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2Pjxk
aXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBA
IC0xNTEsNyArMTQ5LDcgQEAgZnVuY3Rpb24gdGVzdENoYW5nZU5vdFNjb3BlZFRvU2NvcGVkKCkK
ICAgICBkZWJ1ZygidGVzdCBjaGFuZ2luZyBhIHN0eWxlIGluIHNoYWRvdyBzdWJ0cmVlIGZyb20g
bm90LXNjb3BlZCB0byBzY29wZWQuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2
YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93ID0g
ZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxk
aXY+PHN0eWxlIGlkPSdzdHlsZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxl
PjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAg
ZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0xNzMsNyArMTcxLDcgQEAgZnVuY3Rpb24g
dGVzdFJlbW92ZVNjb3BlZFN0eWxlRnJvbURvY3VtZW50KCkKICAgICBkZWJ1ZygidGVzdCByZW1v
dmluZyBhIHNjb3BlZCBzdHlsZSBmcm9tIHNoYWRvdyBzdWJ0cmVlLiIpOwogICAgIHZhciBkaXYg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGRpdik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7
CisgICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hh
ZG93LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQgaWQ9J3N0eWxlLWluLXNoYWRvdyc+
ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0nRSc+RUVFPC9kaXY+PC9kaXY+PGRp
diBpZD0nRic+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKQEAg
LTE5Niw3ICsxOTQsNyBAQCBmdW5jdGlvbiB0ZXN0UmVtb3ZlU3R5bGVGcm9tRG9jdW1lbnQoKQog
ICAgIGRlYnVnKCJ0ZXN0IHJlbW92aW5nIGEgc3R5bGUgZnJvbSBzaGFkb3cgc3VidHJlZS4iKTsK
ICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgaWQ9J3N0eWxlLWluLXNo
YWRvdyc+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0nRSc+RUVFPC9kaXY+PC9k
aXY+PGRpdiBpZD0nRic+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7
CiAKQEAgLTIxOSw3ICsyMTcsNyBAQCBmdW5jdGlvbiB0ZXN0SW5zZXJ0U2NvcGVkU3R5bGVJbnRv
RG9jdW1lbnQoKQogICAgIGRlYnVnKCJ0ZXN0IGluc2VydGluZyBhIHNjb3BlZCBzdHlsZSBpbnRv
IHNoYWRvdyBzdWJ0cmVlLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0gICAgdmFyIHNo
YWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvdyA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2Pjxk
aXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9j
dW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0yMzksNyArMjM3LDcgQEAgZnVuY3Rpb24gdGVz
dEluc2VydFN0eWxlSW50b0RvY3VtZW50KCkKICAgICBkZWJ1ZygidGVzdCBpbnNlcnRpbmcgYSBz
dHlsZSBpbnRvIHNoYWRvdyBzdWJ0cmVlLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0g
ICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRv
dyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9
ICI8ZGl2PjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7
CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0yNTgsNyArMjU2LDcgQEAgZnVu
Y3Rpb24gdGVzdENoYW5nZVNjb3BlZFRvTm90U2NvcGVkTm90SW5Eb2N1bWVudCgpCiAgICAgZGVi
dWcoInRlc3QgcmUtaW5zZXJ0aW5nIGEgc3R5bGUgYWZ0ZXIgY2hhbmdpbmcgc2NvcGVkIHRvIG5v
dCBzY29wZWQgb2ZmbGluZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBz
aGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48
c3R5bGUgc2NvcGVkIGlkPSdzdHlsZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0
eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAg
ICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0yNzgsNyArMjc2LDcgQEAgZnVuY3Rp
b24gdGVzdENoYW5nZU5vdFNjb3BlZFRvU2NvcGVkTm90SW5Eb2N1bWVudCgpCiAgICAgZGVidWco
InRlc3QgcmUtaW5zZXJ0aW5nIGEgc3R5bGUgYWZ0ZXIgY2hhbmdpbmcgbm90IHNjb3BlZCB0byBz
Y29wZWQgb2ZmbGluZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFk
b3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5
bGUgaWQ9J3N0eWxlLWluLXNoYWRvdyc+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBp
ZD0nRSc+RUVFPC9kaXY+PC9kaXY+PGRpdiBpZD0nRic+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVu
dC5ib2R5Lm9mZnNldExlZnQ7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0
eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hhZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hhZG93LWV4cGVjdGVk
LnR4dAppbmRleCBkNWE4YzJmMGQyMjAzM2FmNWU5ZGE5NzI4NTc2YjcyYzc4ZjMzMjQ3Li4yNGFl
YjJkNDk5ZmJhZTcxMjNmN2IwNjFhMTcwMmJiYWYyYjU1NDQ2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3Bl
ZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNSBAQAogVGVzdHMgdGhhdAogCi1Q
QVNTIHdpbmRvdy5pbnRlcm5hbHMgaXMgZGVmaW5lZC4KLVBBU1Mgd2luZG93LmludGVybmFscy5l
bnN1cmVTaGFkb3dSb290IGlzIGRlZmluZWQuCi1QQVNTIFdlYktpdFNoYWRvd1Jvb3QgaXMgZGVm
aW5lZC4KIFBBU1Mgc2hhZG93LmlubmVySFRNTCBpcyBkZWZpbmVkLgogUEFTUyBzaGFkb3cuZ2V0
RWxlbWVudEJ5SWQgaXMgZGVmaW5lZC4KIEE6IHJnYigwLCAwLCAwKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFkb3cuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hh
ZG93Lmh0bWwKaW5kZXggOWFkZGUzZDc3OWVkZmVhYzg5NzU0ZWE0MzZlOTk3MGE3YTg0MGFlMC4u
ZDdjMTJhMjQ4MjAxMmQ0MDg1NGFjZjEzMzk0OTQ5Y2E1OTM0ZWE4MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFkb3cuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWlu
LXNoYWRvdy5odG1sCkBAIC0xMCwxMyArMTAsOSBAQAogICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotICAgICAgICBz
aG91bGRCZURlZmluZWQoIndpbmRvdy5pbnRlcm5hbHMiKTsKLSAgICAgICAgc2hvdWxkQmVEZWZp
bmVkKCJ3aW5kb3cuaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3QiKTsKLSAgICAgICAgc2hvdWxk
QmVEZWZpbmVkKCJXZWJLaXRTaGFkb3dSb290Iik7Ci0KICAgICAgICAgdmFyIGEgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiQSIpOwogICAgICAgICB2YXIgYiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJCIik7Ci0gICAgICAgIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGIpOwor
ICAgICAgICBzaGFkb3cgPSBiLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICAgICAgc2hv
dWxkQmVEZWZpbmVkKCJzaGFkb3cuaW5uZXJIVE1MIik7CiAgICAgICAgIHNob3VsZEJlRGVmaW5l
ZCgic2hhZG93LmdldEVsZW1lbnRCeUlkIik7CiAgICAgICAgIHNoYWRvdy5pbm5lckhUTUwgPSAi
PHN0eWxlIHNjb3BlZD5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48Y29udGVudD48L2NvbnRl
bnQ+PGRpdiBpZD0nQyc+Q0NDPC9kaXY+IjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9hZG9wdC1ub2RlLXdpdGgtc2hhZG93LXJvb3QuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9hZG9wdC1ub2RlLXdpdGgtc2hhZG93LXJvb3QuaHRtbAppbmRleCAw
YWY2NDFiODdmZGQ4YzQwNzIyZDdmODU2ZjU0ZmJlZjhkZmJlMThhLi44MTFjYWQ5MWNmNGI0ZGRm
MDJiNDY5MTJhYTNkY2Y1ODRjZTViYjkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvYWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2Fkb3B0LW5vZGUtd2l0aC1zaGFkb3ctcm9vdC5odG1sCkBAIC05
LDcgKzksNyBAQAogPHNjcmlwdD4KIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgdmFyIGZvcmVpZ25E
b2N1bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290JykuY29udGVudERvY3VtZW50
OwotICAgIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGZvcmVpZ25Eb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncycpKTsKKyAgICBzaGFkb3cgPSBmb3JlaWduRG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3MnKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hvdWxkVGhyb3coImRv
Y3VtZW50LmFkb3B0Tm9kZShzaGFkb3cpIik7CiAgICAgbG9jYXRpb24ucmVsb2FkKCk7CiB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYXRob3N0LWF0cnVsZXMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9hdGhvc3QtYXRydWxlcy5odG1sCmluZGV4
IDdkNGI1MTFlZTAyZmE5ZDc1MWU1N2UxNjliMDBhNmQ4NzdkNTNhNmQuLmFjYzVmZGRjMjY2NjBj
ZWYxZDVjMWJiYjhiNWE0ZmZmZDdlYzZjNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9hdGhvc3QtYXRydWxlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9hdGhvc3QtYXRydWxlcy5odG1sCkBAIC0yNCw3ICsyNCw3IEBAIGZ1bmN0aW9uIHRl
c3RTaW1wbGVDb250ZW50Q2FzZSgpCiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAgICB2
YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0gICAgdmFyIHNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5A
aG9zdCB7IGRpdiB7IGNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PGNvbnRlbnQ+PC9jb250ZW50PiI7
CiAgICAgZHVtcENvbXB1dGVkU3R5bGUoaG9zdCk7CiB9CkBAIC0zMyw3ICszMyw3IEBAIGZ1bmN0
aW9uIHRlc3RTaW1wbGVTaGFkb3dDYXNlKCkKIHsKICAgICBwcmVwcm9jZXNzRm9yVGVzdCgpOwog
ICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLSAgICB2YXIg
c2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvdyA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPHN0
eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48c2hhZG93Pjwvc2hhZG93
PiI7CiAgICAgZHVtcENvbXB1dGVkU3R5bGUoaG9zdCk7CiB9CkBAIC00NiwxMiArNDYsMTIgQEAg
ZnVuY3Rpb24gdGVzdEhvc3RXaXRoU2VsZWN0b3IoKQogICAgICAgICArICI8c3BhbiBpZD0naG9z
dEInIGNsYXNzPSdob3N0Jz48c3Bhbj5Xb3JsZDwvc3Bhbj48L3NwYW4+IjsKIAogICAgIHZhciBo
b3N0QSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0QSIpOwotICAgIHZhciBzaGFkb3dB
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdEEpOworICAgIHZhciBzaGFkb3dBID0gaG9zdEEu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHZhciBzdHlsZSA9ICI8c3R5bGU+QGhvc3Qg
eyBkaXYgeyBjb2xvcjogcmVkOyB9IHNwYW4geyBjb2xvcjogYmx1ZTsgfSB9PC9zdHlsZT4iOwog
ICAgIHNoYWRvd0EuaW5uZXJIVE1MID0gc3R5bGUgKyAiPHNoYWRvdz48L3NoYWRvdz4iOwogCiAg
ICAgdmFyIGhvc3RCID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3RCIik7Ci0gICAgdmFy
IHNoYWRvd0IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Qik7CisgICAgdmFyIHNoYWRvd0Ig
PSBob3N0Qi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Qi5pbm5lckhUTUwg
PSBzdHlsZSArICI8c2hhZG93Pjwvc2hhZG93PiI7CiAKICAgICBkdW1wQ29tcHV0ZWRTdHlsZSho
b3N0QSk7CkBAIC02Miw3ICs2Miw3IEBAIGZ1bmN0aW9uIHRlc3RQc2V1ZG9Ib3N0V2l0aFNjb3Bl
ZCgpCiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIHNjb3BlZD5AaG9zdCB7
IGRpdiB7IGNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRvdz48ZGl2PjxzdHls
ZSBzY29wZWQ+QGhvc3QgeyBkaXYgeyBjb2xvcjogYmx1ZTsgfSB9PC9zdHlsZT48L2Rpdj48L2Rp
dj4iOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwogfQpAQCAtNzEsOCArNzEsOCBAQCBm
dW5jdGlvbiB0ZXN0UHNldWRvSG9zdFdpdGhGYWxsYmFja1NoYWRvdygpCiB7CiAgICAgcHJlcHJv
Y2Vzc0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJo
b3N0Iik7Ci0gICAgdmFyIG9sZGVzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
OwotICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwor
ICAgIHZhciBvbGRlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAg
ICB2YXIgeW91bmdlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBvbGRlc3RTaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiBy
ZWQ7IH0gfTwvc3R5bGU+PGNvbnRlbnQ+PC9jb250ZW50PiI7CiAgICAgeW91bmdlc3RTaGFkb3cu
aW5uZXJIVE1MID0gIjxjb250ZW50PjxzaGFkb3c+PC9zaGFkb3c+PC9jb250ZW50PiI7CiAgICAg
ZHVtcENvbXB1dGVkU3R5bGUoaG9zdCk7CkBAIC04Miw4ICs4Miw4IEBAIGZ1bmN0aW9uIHRlc3RU
d29TaGFkb3dSb290c0Nhc2UoKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFy
IGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBvbGRlc3RT
aGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKLSAgICB2YXIgeW91bmdlc3RTaGFk
b3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgb2xkZXN0U2hhZG93ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgb2xkZXN0U2hhZG93LmlubmVySFRN
TCA9ICI8c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxjb250ZW50
PjwvY29udGVudD4iOwogICAgIHlvdW5nZXN0U2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhv
c3QgeyBkaXYgeyBjb2xvcjogYmx1ZTsgfSB9PC9zdHlsZT48c2hhZG93Pjwvc2hhZG93PiI7CiAg
ICAgZHVtcENvbXB1dGVkU3R5bGUoaG9zdCk7CkBAIC05Myw4ICs5Myw4IEBAIGZ1bmN0aW9uIHRl
c3RUd29TaGFkb3dSb290c0NyZWF0aW5nRGlmZmVyZW50T3JkZXJDYXNlKCkKIHsKICAgICBwcmVw
cm9jZXNzRm9yVGVzdCgpOwogICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Imhvc3QiKTsKLSAgICB2YXIgb2xkZXN0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7Ci0gICAgdmFyIHlvdW5nZXN0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
CisgICAgdmFyIG9sZGVzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
ICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIHlvdW5nZXN0U2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xv
cjogYmx1ZTsgfSB9PC9zdHlsZT48c2hhZG93Pjwvc2hhZG93PiI7CiAgICAgb2xkZXN0U2hhZG93
LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxl
Pjxjb250ZW50PjwvY29udGVudD4iOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwpAQCAt
MTA0LDEwICsxMDQsMTAgQEAgZnVuY3Rpb24gdGVzdE11bHRpcGxlU2hhZG93Um9vdHNXaXRoSW5l
cnRTaGFkb3dDb250ZW50KCkKIHsKICAgICBwcmVwcm9jZXNzRm9yVGVzdCgpOwogICAgIHZhciBo
b3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLSAgICB2YXIgb2xkZXN0U2hh
ZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFyIG9sZGVyU2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFyIHlvdW5nZXJTaGFkb3cgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKLSAgICB2YXIgeW91bmdlc3RTaGFkb3cgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgb2xkZXN0U2hhZG93ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIG9sZGVyU2hhZG93ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CisgICAgdmFyIHlvdW5nZXJTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgeW91bmdlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHlvdW5nZXN0U2hhZG93LmlubmVySFRNTCA9ICI8c2hhZG93
Pjwvc2hhZG93PiI7CiAgICAgeW91bmdlclNoYWRvdy5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9j
b250ZW50PiI7CkBAIC0xMjAsMTAgKzEyMCwxMCBAQCBmdW5jdGlvbiB0ZXN0TXVsdGlwbGVTaGFk
b3dSb290c1dpdGhJbmVydFNoYWRvdygpCiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAg
ICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0gICAgdmFyIG9s
ZGVzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwotICAgIHZhciBvbGRlclNo
YWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwotICAgIHZhciB5b3VuZ2VyU2hhZG93
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFyIHlvdW5nZXN0U2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIG9sZGVzdFNoYWRvdyA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBvbGRlclNoYWRvdyA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciB5b3VuZ2VyU2hhZG93ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwgPSAi
PHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHllbGxvdzsgfSB9PC9zdHlsZT48c2hhZG93Pjwv
c2hhZG93PiI7CiAgICAgeW91bmdlclNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsg
ZGl2IHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5bGU+PGRpdj5pbmVydDwvZGl2PiI7CkBAIC0xMzYs
MTAgKzEzNiwxMCBAQCBmdW5jdGlvbiB0ZXN0TmVzdGVkQ2FzZSgpCiB7CiAgICAgcHJlcHJvY2Vz
c0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
Iik7Ci0gICAgdmFyIG91dGVyU2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cisg
ICAgdmFyIG91dGVyU2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
b3V0ZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiByZWQ7
IH0gfTwvc3R5bGU+PGRpdiBpZD0ibmVzdGVkSG9zdCI+SW5uZXJTaGFkb3c8L2Rpdj4nOwogICAg
IHZhciBuZXN0ZWQgPSBvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgibmVzdGVkSG9zdCIpOwot
ICAgIHZhciBpbm5lclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG5lc3RlZCk7CisgICAg
dmFyIGlubmVyU2hhZG93ID0gbmVzdGVkLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBp
bm5lclNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IGJsdWU7
IH0gfTwvc3R5bGU+U2hvdyA8c2hhZG93Pjwvc2hhZG93PiBpbiBvdXRlci4nOwogICAgIGR1bXBD
b21wdXRlZFN0eWxlKGhvc3QpOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKG5lc3RlZCk7CkBAIC0x
NTAsNyArMTUwLDcgQEAgZnVuY3Rpb24gdGVzdEhvc3RWc1Njb3BlZFN0eWxlKCkKICAgICBwcmVw
cm9jZXNzRm9yVGVzdCgpOwogICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Imhvc3QiKTsKICAgICBob3N0LmlubmVySFRNTCA9ICI8c3R5bGUgc2NvcGVkPiNob3N0IHsgY29s
b3I6IHllbGxvdzsgfTwvc3R5bGU+PHNwYW4+SGVsbG88L3NwYW4+IjsKLSAgICB2YXIgc2hhZG93
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvdyA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBo
b3N0IHsgI2hvc3QgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxjb250ZW50PjwvY29udGVudD4i
OwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwogfQpAQCAtMTYxLDcgKzE2MSw3IEBAIGZ1
bmN0aW9uIHRlc3RIb3N0VnNJbmxpbmVTdHlsZSgpCiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaG9zdCIpOwogICAgIGhvc3Quc3R5bGUuY29sb3IgPSAieWVsbG93IjsK
ICAgICBob3N0LmlubmVySFRNTCA9ICI8c3Bhbj5IZWxsbzwvc3Bhbj4iOwotICAgIHZhciBzaGFk
b3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93ID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+
QGhvc3QgeyBkaXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxjb250ZW50PjwvY29udGVudD4i
OwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2Jhc2UtaW4tc2hhZG93LXRyZWUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9iYXNlLWluLXNoYWRvdy10cmVlLmh0bWwKaW5kZXggOWRjMmQ2YzFm
N2VlMTQ5OTUyNjI5N2QyZTRhNjRiN2Y5NjBlZjliMy4uY2VjZjljY2YyZmU1NzQzZWI4ZDRlMWVi
ZGJmNjI5Y2QyYjFkYTdjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2Jhc2UtaW4tc2hhZG93LXRyZWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvYmFzZS1pbi1zaGFkb3ctdHJlZS5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8c2NyaXB0Pgog
dmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKIAot
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChjb250YWluZXIpOwordmFyIHNo
YWRvd1Jvb3QgPSBjb250YWluZXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiB2YXIgYmFz
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Jhc2UnKTsKIGJhc2Uuc2V0QXR0cmlidXRlKCdo
cmVmJywgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hhZG93
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY2FyZXQtcmFuZ2UtZnJvbS1wb2lu
dC1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwKaW5kZXggMWVmYTk3ODkwNGJiZjZkMWYzYTdmYTk0YmNk
NmQ4MzE5YTNkMWU0Ny4uODBiMTQ1ZDExYWNiZTMyNzNhNjEzYzEwNWU3Y2UyYmJiMDk3YmI4NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NhcmV0LXJhbmdlLWZyb20t
cG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jYXJldC1yYW5nZS1mcm9tLXBvaW50LWluLW5lc3RlZC1zaGFkb3cuaHRtbApAQCAtMjMs
MTEgKzIzLDExIEBAIGZ1bmN0aW9uIGNyZWF0ZUJveChuYW1lKSB7CiAgICAgcmV0dXJuIGRpdjsK
IH0KIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBz
aGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgZGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7
CiAKLXZhciBkYXJrUm9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7Cit2YXIgZGFya1Jv
b3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGJveCA9IGNyZWF0ZUJveCgn
ZGFyaycpOwogZGFya1Jvb3QuYXBwZW5kQ2hpbGQoYm94KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtYWZ0ZXItc3R5bGUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWFmdGVyLXN0eWxlLmh0bWwKaW5kZXggMjRmMTE5
MTI4MDdhMzRiZmE3MzI5ZTFkMGY5NGM5NWEzZmY5NjU1Ny4uZjNmMjYwNGY5OGI4NmMyNjI3ZTgy
ZTNhZmEzZjI4N2M5MDg2MDQ3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtYWZ0ZXItc3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvY29udGVudC1hZnRlci1zdHlsZS5odG1sCkBAIC01LDcgKzUsNyBAQAogPHNjcmlwdD4K
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci12YXIgcm9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJyNob3N0JykpOwordmFyIHJvb3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaG9z
dCcpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHJvb3QuaW5uZXJIVE1MID0gJzxzdHlsZT5p
bnZhbGlkIHsgfTwvc3R5bGU+JyArCiAgICAgICAgICAgICAgICAgICd0ZXh0PGNvbnRlbnQ+PC9j
b250ZW50Pic7CiB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWVkaWEtZWxlbWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1t
ZWRpYS1lbGVtZW50Lmh0bWwKaW5kZXggM2JhOTJiMDliM2E3NTdlMjNhNDgzOGMxMzZkYzJmODFi
MTcwZGRhYi4uNmIyN2E4YmUxNTA2NWQ2ZDhmOTRhNjc4NWQ3MTg0ZDg3NTBkN2ZkMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZWRp
YS1lbGVtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
ZWxlbWVudC1pbi1tZWRpYS1lbGVtZW50Lmh0bWwKQEAgLTI3LDcgKzI3LDcgQEAgdGVzdEZ1bmNz
LnB1c2goZnVuY3Rpb24gY29udGVudEVsZW1lbnRJblZpZGVvRWxlbWVudChjYWxsSWZEb25lKSB7
CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVu
ZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwor
ICAgIHZhciBzciA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICB2YXIgdmlk
ZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAgIHZhciBjb250ZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZXRlci1lbGVtZW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1ldGVyLWVs
ZW1lbnQuaHRtbAppbmRleCAyZjA4YTIwNzU0Yzc2YzM2MDU5MDQ4NTYxNDU5ZjcxNDhkNjUwNDE5
Li5kOWViOTExMWY3N2RhOWQ3YWY0Nzk2NDAxNWNlMjYzNDI3YTU3NDI3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1ldGVyLWVsZW1l
bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50
LWluLW1ldGVyLWVsZW1lbnQuaHRtbApAQCAtMjcsNyArMjcsNyBAQCB0ZXN0RnVuY3MucHVzaChm
dW5jdGlvbiBjb250ZW50RWxlbWVudEluTWV0ZXJFbGVtZW50KGNhbGxJZkRvbmUpIHsKIAogICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hpbGQo
ZGl2KTsKIAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFy
IHNyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHZhciBtZXRlciA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21ldGVyJyk7CiAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdjb250ZW50Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXByb2dyZXNzLWVsZW1lbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tcHJvZ3Jlc3MtZWxl
bWVudC5odG1sCmluZGV4IDY5NTc4MTMxMTg2NGUwZDIzNjIxMTQ3MDIwZWMyMGE2ZDEyOWM1YmIu
Ljk2ZTRmY2ZjOTcxZjc3ZjRmMWU2MDU4OTBmYTJlZWQ4M2JmYzRhMjkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tcHJvZ3Jlc3MtZWxl
bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1l
bnQtaW4tcHJvZ3Jlc3MtZWxlbWVudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIHRlc3RGdW5jcy5w
dXNoKGZ1bmN0aW9uIGNvbnRlbnRFbGVtZW50SW5Qcm9ncmVzc0VsZW1lbnQoY2FsbElmRG9uZSkg
ewogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5hcHBl
bmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsK
KyAgICB2YXIgc3IgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgdmFyIHBy
b2dyZXNzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncHJvZ3Jlc3MnKTsKICAgICB2YXIgY29u
dGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvbnRlbnQnKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tc2VsZWN0LWVsZW1l
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4t
c2VsZWN0LWVsZW1lbnQuaHRtbAppbmRleCAyMmZmODUyYjFmNzNhNDQ3YjBkZmNkYWM0YWQwNjIz
YTRlZWE5ZDA4Li5iOThjMzAwZDY5MGE2NWU4NWZlYWYwZWVhMzRjMTQzOTNiMDkxYTcyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXNl
bGVjdC1lbGVtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRl
bnQtZWxlbWVudC1pbi1zZWxlY3QtZWxlbWVudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIHRlc3RG
dW5jcy5wdXNoKGZ1bmN0aW9uIGNvbnRlbnRFbGVtZW50SW5TZWxlY3RFbGVtZW50KGNhbGxJZkRv
bmUpIHsKIAogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJyku
YXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRp
dik7CisgICAgdmFyIHNyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHZh
ciBzZWxlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTsKICAgICB2YXIgY29u
dGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvbnRlbnQnKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtb3V0c2lkZS1zaGFkb3ct
c3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQt
b3V0c2lkZS1zaGFkb3ctc3R5bGUuaHRtbAppbmRleCAzY2NhYzBjZTBlZmFhMWM2YzY3NjQyM2Zj
YzZiNGJmNzg0YTJmNDUxLi43MzJjMWQyNzEzN2QxNjMzODA1Yzg1YzljZTJlODhhZTQ1NzU5NTM4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50
LW91dHNpZGUtc2hhZG93LXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtZWxlbWVudC1vdXRzaWRlLXNoYWRvdy1zdHlsZS5odG1sCkBAIC0xOSwxMiAr
MTksMTIgQEAgY29udGVudCB7CiA8c2NyaXB0PgogLy8gRW5zdXJlcyB0aGF0IGRpc3RyaWJ1dGVk
IHNoYWRvdyBjaGlsZCBpc24ndCBlZmZlY3RlZCBieSB0aGUgc3R5bGUuCiB2YXIgaG9zdFdpdGhD
aGlsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0V2l0aENoaWxkIik7Ci12YXIgc2hh
ZG93Rm9ySG9zdFdpdGhDaGlsZCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3RXaXRoQ2hpbGQp
OwordmFyIHNoYWRvd0Zvckhvc3RXaXRoQ2hpbGQgPSBob3N0V2l0aENoaWxkLndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd0Zvckhvc3RXaXRoQ2hpbGQuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiY29udGVudCIpKTsKIAogLy8gQWxzbyBlbnN1cmVzIHRoYXQgZHlu
YW1pY2FsbHkgbW92ZWQgPGNvbnRlbnQ+IGVsZW1lbnRzIGRvIHdvcmsuCiB2YXIgaG9zdEVtcHR5
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3RFbXB0eSIpOwotdmFyIHNoYWRvd0Zvckhv
c3RFbXB0eSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3RFbXB0eSk7Cit2YXIgc2hhZG93Rm9y
SG9zdEVtcHR5ID0gaG9zdEVtcHR5LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd0Zv
ckhvc3RFbXB0eS5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9CZU1vdmVk
IikpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb250ZW50LXJlcHJvamVjdGlvbi1jb21wbGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tY29tcGxleC5odG1sCmluZGV4IDViZTAzMjA5
MTliMWEyYjIyYzAwNjMyNThhN2E3NWQ1NGZiYmYxZjQuLjliN2Q5NjUxYzg3MjQxYjZlYjQ0MzA3
NTQyMjE3NmE1NmI2NTliMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb250ZW50LXJlcHJvamVjdGlvbi1jb21wbGV4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWNvbXBsZXguaHRtbApAQCAtMTMsMTAg
KzEzLDEwIEBACiA8L2Rpdj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MiI+
PGNvbnRlbnQgc2VsZWN0PSIuQSI+PC9jb250ZW50PjxzaGFkb3c+PC9zaGFkb3c+PGRpdiBjbGFz
cz0iQSI+QTwvZGl2PjwvZGl2Pic7CiAKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpKTsKK3ZhciBzaGFkb3dS
b290MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8ZGl2PjxoMj5BPC9oMj48Y29u
dGVudCBzZWxlY3Q9Ii5BIj48L2NvbnRlbnQ+PGgyPkI8L2gyPjxzaGFkb3c+PC9zaGFkb3c+PC9k
aXY+JwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb250ZW50LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sCmluZGV4IGUwZDIxNzA5
NjI1MzU5OTBhMzM3MmM0YzI3ZWE5MWI1MmY1NWNmZWIuLjcxMTM2ZjJkZjY2Y2YxM2JlM2VkM2Fl
OTM0MDliYjkzNTE5MzM2N2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb250ZW50LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbApAQCAtOCwxNSAr
OCwxNSBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7
Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFk
b3dSb290MS5pbm5lckhUTUwgPSAnPGRpdj48ZGl2IGlkPSJob3N0MiI+PGNvbnRlbnQ+PC9jb250
ZW50PjwvZGl2PjwvZGl2Pic7CiAKIHZhciBob3N0MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRC
eUlkKCdob3N0MicpOwotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dDIpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QzIj48Y29udGVudD48L2NvbnRl
bnQ+PC9kaXY+JzsKIAogdmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hv
c3QzJyk7Ci12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7Cit2
YXIgc2hhZG93Um9vdDMgPSBob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290My5pbm5lckhUTUwgPSAnPGRpdj48Y29udGVudD48L2NvbnRlbnQ+PC9kaXY+JzsKIAogc2V0
VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1jcmFzaC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLWNyYXNoLmh0
bWwKaW5kZXggZmJkZTA3NGEwNGNjYTJiMTM3OGI1MGIxZWE3NWViODFkYTk2ZDIzMi4uNGIzOThh
NDJjNjE4NDQxN2M3NDU1NTExNzI5NzBjODNkYjllOTc1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLWNyYXNoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9u
LWZhbGxiYWNrLWNyYXNoLmh0bWwKQEAgLTExLDExICsxMSwxMSBAQAogPHByZSBpZD0iY29uc29s
ZSI+PC9wcmU+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxjb250ZW50
IHNlbGVjdD0ic3BhbiI+PGRpdiBpZD0iZmFsbGJhY2siPmZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj48
L2NvbnRlbnQ+PGRpdiBpZD0iZGl2Ij5UaGlzIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj48L2Rp
dj4nOwogCiB2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKTsK
LXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFk
b3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QyLmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7CiAKIHZhciBjb250
ZW50ID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2NvbnRlbnQnKS5pdGVtKDAp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9q
ZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sCmlu
ZGV4IDM0MmJjOGMxMjZkNTZmMzBhYjc3NmY4YzgyMmUyOGU4NWE5Mjg4MzAuLjAzNzBmY2Y0N2Ey
OTBkZjY1YmZkZGRiNGM1ODU5YmUzYzRmNTI0OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rp
b24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLmh0bWwKQEAgLTgsNyArOCw3IEBACiA8ZGl2IGlkPSJo
b3N0MSI+PC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPQogICAgICc8ZGl2IGlkPSJob3N0MiI+
JyArCiAgICAgICAgICc8Y29udGVudD48ZGl2IHRpdGxlPSJkZWJ1Z3N0b3AiPmNvbnRlbnQgZmFs
bGJhY2sgZWxlbWVudDwvZGl2PjwvY29udGVudD4nICsKQEAgLTE3LDcgKzE3LDcgQEAgc2hhZG93
Um9vdDEuaW5uZXJIVE1MID0KICAgICAnPC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9v
dDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPQogICAgICc8ZGl2IGlkPSJob3N0
MyI+JyArCiAgICAgICAgICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50PicgKyAKQEAg
LTI2LDcgKzI2LDcgQEAgc2hhZG93Um9vdDIuaW5uZXJIVE1MID0KICAgICAnPC9kaXY+JzsKIAog
dmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QzJyk7Ci12YXIgc2hh
ZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7Cit2YXIgc2hhZG93Um9vdDMg
PSBob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290My5pbm5lckhUTUwg
PQogICAgICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50PicKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNr
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24t
ZmFsbGJhY2suaHRtbAppbmRleCBmYzNkMDA5ZWFiMzI1ZGFlMGYzN2M4MGQwMzVlN2Q0ZTJiMjBh
ZTNjLi5kNGRlNGJiMWRmNDAxMzJkNDFjZWVkZmU1NDI5ZThlOWIxNjBiZTYzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJh
Y2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2pl
Y3Rpb24tZmFsbGJhY2suaHRtbApAQCAtOCw3ICs4LDcgQEAKIDxkaXYgaWQ9Imhvc3QxIj48L2Rp
dj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9CiAgICAgJzxkaXYgaWQ9Imhvc3QyIj4nICsKICAgICAg
ICAgJzxjb250ZW50PjxkaXYgdGl0bGU9ImRlYnVnc3RvcCI+Y29udGVudCBmYWxsYmFjayBlbGVt
ZW50PC9kaXY+PC9jb250ZW50PicgKwpAQCAtMTcsNyArMTcsNyBAQCBzaGFkb3dSb290MS5pbm5l
ckhUTUwgPQogICAgICc8L2Rpdj4nOwogCiB2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRFbGVt
ZW50QnlJZCgnaG9zdDInKTsKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250
ZW50Pic7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tb3JkZXIuaHRtbAppbmRleCBlMjM1Yzg5MjY4
YjEzMTM2MzMyMzc4N2QxNzQzZTlhNTk3NThhMGZlLi5lY2MzYjhmMGMwNTk0ODIwM2MyYTQ4NWVi
YjkzMjgwNjEzZjFjYzBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y29udGVudC1yZXByb2plY3Rpb24tb3JkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tb3JkZXIuaHRtbApAQCAtMTIsNyArMTIsNyBA
QAogPC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIAogc2hhZG93Um9vdC5pbm5lckhUTUwgPQogICAgICc8c2hhZG93IGlkPSJpZDEiPjwvc2hh
ZG93Pjxocj4nICsgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29u
dGVudC1yZXByb2plY3Rpb24tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY29udGVudC1yZXByb2plY3Rpb24tc2hhZG93Lmh0bWwKaW5kZXggN2E1Mzg2MjQ0NjY4ZDgw
MDU1MWQ0MzM4NTYzOWRiYjNlNDVmZTE3MC4uZDE4MzkzZjA3YTRlOTQzZWE2N2E4Mzc0NzE0NDNl
M2ZkYzAxZmI2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRl
bnQtcmVwcm9qZWN0aW9uLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1zaGFkb3cuaHRtbApAQCAtMTIsMTAgKzEyLDEwIEBA
CiA8L2Rpdj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MiI+PGNvbnRlbnQ+
PC9jb250ZW50PjwvZGl2Pic7CiAKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpKTsKK3ZhciBzaGFkb3dSb290
MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8ZGl2PjxzaGFkb3c+PC9zaGFkb3c+
PGRpdj5BPC9kaXY+PC9kaXY+JwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9jcHBldmVudC1pbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9jcHBldmVudC1pbi1zaGFkb3cuaHRtbAppbmRleCBlMTg3MmE1NWQzOTA1
ZGQwNmIzOWZhN2FhNWMxZjJlNmUyZDI2MTU1Li5mZjQzZjBhODgzNGM4ZTdiODBhMjEwZDRmMDU0
MWZlNTc0NTExNzQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3Bw
ZXZlbnQtaW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nw
cGV2ZW50LWluLXNoYWRvdy5odG1sCkBAIC0zMCwxMSArMzAsMTEgQEAgZnVuY3Rpb24gY3JlYXRl
Qm94KG5hbWUpIHsKIH0KIAogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIHNoYWRvd1Jvb3QuYXBw
ZW5kQ2hpbGQoZGl2KTsKIAotdmFyIGRhcmtSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KTsKK3ZhciBkYXJrUm9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgYm94
ID0gY3JlYXRlQm94KCdkYXJrJyk7CiBib3guaW5uZXJIVE1MID0gIktvdG9yaSBPdG9uYXNoaSI7
CiBkYXJrUm9vdC5hcHBlbmRDaGlsZChib3gpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NwcGV2ZW50LWlucHV0LWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NwcGV2ZW50LWlucHV0LWluLXNoYWRvdy5odG1sCmluZGV4IDkzZjM1
N2JiMjQ1ZmJmZGU2NTYwNTZmM2Q0ZTg3NTI2NDk5YWE4YWMuLjMyNmY5Yjk1ZWJjN2Q5ZTBiMThj
MTNlYzAxZDUzN2RmZDc2NzA2NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jcHBldmVudC1pbnB1dC1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW5wdXQtaW4tc2hhZG93Lmh0bWwKQEAgLTI4LDExICsyOCwx
MSBAQCBmdW5jdGlvbiBjcmVhdGVJbnB1dCgpIHsKIH0KIAogCi12YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKIAotdmFyIGRhcmtSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZGl2KTsKK3ZhciBkYXJrUm9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiB2YXIgaW5wdXQgPSBjcmVhdGVJbnB1dCgpOwogaW5wdXQuc2V0QXR0cmlidXRl
KCd2YWx1ZScsICdLb3RvcmkgT3RvbmFzaGknKTsKIGRhcmtSb290LmFwcGVuZENoaWxkKGlucHV0
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24t
YXR0cmlidXRlLW1vZGlmaWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlz
dHJpYnV0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCmluZGV4IGI3YzBlNjIyYWVhNWQ4YjU0
NDRkY2M5OTk0MTViZTVkOTY4NTJhMjYuLjk0ZGYzYjRmZmZlZjAyMzE1YWZiN2NkN2UxNDM5NTgw
MzViMGMxNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmli
dXRpb24tYXR0cmlidXRlLW1vZGlmaWVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2Rpc3RyaWJ1dGlvbi1hdHRyaWJ1dGUtbW9kaWZpZWQuaHRtbApAQCAtMTgsNyArMTgs
NyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFy
IHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3Qu
aW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iZGl2W3RpdGxlXSI+PC9jb250ZW50Pic7CiAK
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvZGlzdHJpYnV0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRtbApp
bmRleCBkNTQ4ZTBkZTMzOWIwNjMzZWQ3MWM5Y2ZhZjljNGYzYzI4NzI2MDIwLi4yMTA3YWQ0OTZj
OTU4MzdiYzhiODIzNjhjNTc1MmJkYTBhZDRlODM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tY2xhc3NOYW1lLW1vZGlm
aWVkLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ii5zZWxl
Y3RlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWlkLW1vZGlmaWVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWlkLW1vZGlmaWVk
Lmh0bWwKaW5kZXggNGUzNWNlNzliNmI3NGYxZmU1NDRkMzRjOWNkZDE4YWEyMzAwYjRhYy4uNGM0
NzdmODliYTUzOTQyNDI4YTU4MGJhZjE5M2QxMjA3OWUyNDE0NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1pZC1tb2RpZmllZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24taWQtbW9kaWZpZWQuaHRt
bApAQCAtMTgsNyArMTgsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iI3NlbGVjdGVkIj48
L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2RyYWctdG8tbWV0ZXItaW4tc2hhZG93LWNy
YXNoLmh0bWwKaW5kZXggMTM3YzA1ZGI5NjlhNjA1Y2Q5MDE0YTY0ODE0MGNhN2E4Zjk3OWU5Yi4u
MDI4OTEyMzU1ZTczZGEyNGY1MGM5Y2Y5NDlkM2JjMjQyYTMxNWNlOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2RyYWctdG8tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2RyYWctdG8tbWV0ZXItaW4tc2hh
ZG93LWNyYXNoLmh0bWwKQEAgLTExLDcgKzExLDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChjb250YWluZXIpOwordmFyIHNoYWRvd1Jvb3QgPSBjb250YWluZXIud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIG1ldGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
bWV0ZXInKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQobWV0ZXIpOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1mb3ItaW5wdXQtaW4tc2hhZG93
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1mb3ItaW5wdXQt
aW4tc2hhZG93Lmh0bWwKaW5kZXggZTA3Yzk2MDJmMTYxODBmYzFhODFlOGI3ZTU4OTJlNjY1NTU3
OTRlZi4uOGE5YmVjMGI5MzIzZWI3ZDUxYmZjZDFmZDlhMDU0NTdkYTQwZjcxNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtZm9yLWlucHV0LWluLXNo
YWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWZv
ci1pbnB1dC1pbi1zaGFkb3cuaHRtbApAQCAtMTgsNyArMTgsNyBAQCBmdW5jdGlvbiBjcmVhdGVJ
bnB1dChuYW1lKSB7CiB9CiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgdmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHZhciBzaGFkb3dJbnB1dCA9IGNyZWF0
ZUlucHV0KCdzaGFkb3cnKTsKICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKHNoYWRvd0lucHV0
KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQt
aW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1p
bi1zaGFkb3cuaHRtbAppbmRleCBmYTkyOGFmMzE2ZWJjYmM5MTViZDUyYmVhMDc3Yjk2MTg1MTJm
YTIxLi44MDYwZDdjMmFhMmU2MGM4YTRiNmRjNDM1NDBhZWZlOGNiNmU3MThiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1pbi1zaGFkb3cuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1pbi1zaGFkb3cuaHRt
bApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiBjcmVhdGVCb3gobmFtZSkgewogfQogCiBmdW5j
dGlvbiBydW5UZXN0KCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKICAgICB2YXIgc2hhZG93RGl2ID0gY3JlYXRlQm94KCdzaGFkb3cnKTsKICAgICBzaGFk
b3dSb290LmFwcGVuZENoaWxkKHNoYWRvd0Rpdik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9lbGVtZW50LWZyb20tcG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2VsZW1lbnQtZnJvbS1wb2ludC1pbi1uZXN0
ZWQtc2hhZG93Lmh0bWwKaW5kZXggOTIwYjU4NGE1MzUwYzYzZjliYzRkODI2ZTNlOWEyN2MyMjZk
NDY0OC4uNzNiNDBlMGIxYzVkNDY4OTVkZDg4ODUxMWI5NTNhNWMxMzIwMDYyMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2VsZW1lbnQtZnJvbS1wb2ludC1pbi1uZXN0
ZWQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2VsZW1lbnQt
ZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwKQEAgLTIzLDExICsyMywxMSBAQCBmdW5j
dGlvbiBjcmVhdGVCb3gobmFtZSkgewogICAgIHJldHVybiBkaXY7CiB9CiAKLXZhciBzaGFkb3dS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwogCi12YXIgZGFya1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwordmFyIGRhcmtSb290ID0gZGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBib3ggPSBjcmVhdGVCb3goJ2RhcmsnKTsKIGRhcmtSb290
LmFwcGVuZENoaWxkKGJveCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9mb3JtLWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Zv
cm0taW4tc2hhZG93Lmh0bWwKaW5kZXggYTQ3ODRhMjQ2MmQzMmI4MTViYjMzZmMyYjhmNDBhNGUy
NGZiYWU5OC4uNWMwOTlmYjQ3YzA5NzdhMmUwZmE2NWE3OTBjNDg4ODg0M2Q3OTQ5NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Zvcm0taW4tc2hhZG93Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Zvcm0taW4tc2hhZG93Lmh0bWwKQEAgLTEz
LDcgKzEzLDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogCiBmdW5jdGlvbiBjcmVhdGVTaGFk
b3dGb3JtKCkgewogICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Y29udGFpbmVyJyk7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChj
b250YWluZXIpOworICAgIHZhciBzaGFkb3dSb290ID0gY29udGFpbmVyLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKIAogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0KICAgICAgICAgJzxmb3Jt
PicgKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50
LWJ5LWlkLWluLXNoYWRvdy1tdXRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy1tdXRhdGlvbi5odG1sCmluZGV4IGY3OGRl
NmM3NTUwNDA5NGQ3MzY3Yjg2NWJkN2QwM2I2NWUxZDEwYTIuLjBlYWEyZTNlMmJhNDQwNWVmZWNk
N2RmZmJhYjE4MDY2YmFkODY1MDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LW11dGF0
aW9uLmh0bWwKQEAgLTksNyArOSw3IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdG8gZW5zdXJlIHRo
YXQgU2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCB3b3JrcyBldmVuIGFmdGVyIG11dGF0aW9uIik7
CiAKIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLXZhciBzaGFk
b3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3cgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogc2hvdWxkQmUoIm51bGwiLCAic2hhZG93LmdldEVsZW1l
bnRCeUlkKCdmb28nKSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvaGFzLWNvbnRlbnQtZWxlbWVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9oYXMtY29udGVudC1lbGVtZW50cy5odG1sCmluZGV4IGY2MTUxZTI4YzMwNDQ5NDA3ZjA4YWQx
MDEyYmQ0OTY4OGFhMjgxMjUuLjkwZDYyYmM3YThkMTIwNjA3OWYzNmVkYzFiNThmM2E5N2YyZDFl
NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1l
bGVtZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVu
dC1lbGVtZW50cy5odG1sCkBAIC0xOSw3ICsxOSw3IEBAIGVsc2UgaWYgKCF3aW5kb3cuaW50ZXJu
YWxzLmhhc0NvbnRlbnRFbGVtZW50KQogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAKIHNob3VsZEJlRmFsc2UoImludGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dS
b290KSIpOwogCkBAIC00NiwxMCArNDYsMTAgQEAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaGFz
Q29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKIC8vIENhc2UgZm9yIG5lc3RlZCBzaGFkb3cg
c3VidHJlZQogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdj5pbiBzaGFkb3cgcm9vdDwvZGl2
Pic7CiB2YXIgaW5uZXJEaXYxID0gc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdkaXYnKTsKLXZh
ciBpbm5lclNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW5uZXJEaXYxKTsKK3Zh
ciBpbm5lclNoYWRvd1Jvb3QxID0gaW5uZXJEaXYxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IGlubmVyU2hhZG93Um9vdDEuaW5uZXJIVE1MID0gIjxkaXY+PGNvbnRlbnQ+PC9jb250ZW50Pjwv
ZGl2PiI7CiB2YXIgaW5uZXJEaXYyID0gaW5uZXJTaGFkb3dSb290MS5xdWVyeVNlbGVjdG9yKCdk
aXYnKTsKLXZhciBpbm5lclNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW5uZXJE
aXYyKTsKK3ZhciBpbm5lclNoYWRvd1Jvb3QyID0gaW5uZXJEaXYyLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIGlubmVyU2hhZG93Um9vdDIuaW5uZXJIVE1MID0gIjxkaXY+PGNvbnRlbnQgdGl0
bGU9J2RlYnVnc3RvcCc+PC9jb250ZW50PjwvZGl2PiI7CiAKIHNob3VsZEJlRmFsc2UoImludGVy
bmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIpOwpAQCAtNjAsNyArNjAsNyBAQCBz
aG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsK
IAogLy8gQ2FzZSBmb3IgbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVzCiBzaGFkb3dSb290LmlubmVy
SFRNTCA9ICI8ZGl2PjxkaXY+PGRpdj48Y29udGVudD48L2NvbnRlbnQ+PC9kaXY+PC9kaXY+PC9k
aXY+IjsKLXZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
OwordmFyIHlvdW5nZXJTaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAvLyBNb2RpZnlpbmcgb2xkZXIgc2hhZG93IHJvb3Qgb3IgeW91bmdlciBzaGFkb3cgcm9vdCBk
b2Vzbid0IGFmZmVjdCB0aGUgb3RoZXIuCiBzaG91bGRCZVRydWUoImludGVybmFscy5oYXNDb250
ZW50RWxlbWVudChzaGFkb3dSb290KSIpOwogc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc0Nv
bnRlbnRFbGVtZW50KHlvdW5nZXJTaGFkb3dSb290KSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzaGFkb3cuaHRtbAppbmRleCA2N2Y1ZDFhNzFmYzQ4
OWQ0YjE5NGFjMDkyNzc5NTVjZjA4NmIxMGE4Li4yYjExYWJmYzUzYjhmNDIwMzBjMmYzZjAwYTRi
YWY1MGI0MDAxMGNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFz
LWVsZW1lbnRzaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFz
LWVsZW1lbnRzaGFkb3cuaHRtbApAQCAtNjMsMTcgKzYzLDE3IEBAIHRlc3RDYXNlKGZ1bmN0aW9u
KCkKICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CiAgICAgc2hvdWxkQmUoJ2ludGVy
bmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMCcpOwogCi0gICAgbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpJywg
JzEnKTsKIAotICAgIG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgZGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNo
YWRvdyhzaGFkb3dSb290KScsICcxJyk7CiB9KTsKIAogdGVzdENhc2UoZnVuY3Rpb24oKQogewog
ICAgIGRlYnVnKCdTaG91bGQgYmUgY291bnRlZCBieSBlYWNoIHNoYWRvdyByb290IChtdWx0aXBs
ZSBzaGFkb3cgcm9vdCBjYXNlKScpOwotICAgIHlvdW5nZXJTaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgeW91bmdlclNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHZhciBkaXYgPSBjcmVhdGVET00oJ2RpdicsIHt9LCBj
cmVhdGVTaGFkb3dSb290KCkpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9oYXMtc2hhZG93LWluc2VydGlvbi1wb2ludC5odG1sCmluZGV4IDk4NjcwMmI5
MmJhOGNiZjUzNTk0ZWU3NTQ4YTBiZDExZDdiOTQxNjcuLmQ2YzhjZTQwNDk5MTY4NzU2ODQyYTMx
NDVjNzIwZGY5NzQxNzRmZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9oYXMtc2hhZG93LWluc2VydGlvbi1wb2ludC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9oYXMtc2hhZG93LWluc2VydGlvbi1wb2ludC5odG1sCkBAIC0xOCw3ICsxOCw3
IEBAIGVsc2UgaWYgKCF3aW5kb3cuaW50ZXJuYWxzLmhhc1NoYWRvd0luc2VydGlvblBvaW50KQog
CiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwot
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dS
b290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKIHNob3VsZEJlRmFsc2UoImlu
dGVybmFscy5oYXNTaGFkb3dJbnNlcnRpb25Qb2ludChzaGFkb3dSb290KSIpOwogCkBAIC00Miw3
ICs0Miw3IEBAIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc1NoYWRvd0luc2VydGlvblBvaW50
KHNoYWRvd1Jvb3QpIik7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8ZGl2PjxkaXY+PGRpdj48
c2hhZG93Pjwvc2hhZG93PjwvZGl2PjwvZGl2PjwvZGl2PiI7CiBzaG91bGRCZVRydWUoImludGVy
bmFscy5oYXNTaGFkb3dJbnNlcnRpb25Qb2ludChzaGFkb3dSb290KSIpOwogCi12YXIgeW91bmdl
clNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciB5b3VuZ2VyU2hh
ZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogLy8gTW9kaWZ5aW5nIG9s
ZGVyIHNoYWRvdyByb290IG9yIHlvdW5nZXIgc2hhZG93IHJvb3QgZG9lc24ndCBhZmZlY3QgdGhl
IG90aGVyLgogc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQo
c2hhZG93Um9vdCkiKTsKIHNob3VsZEJlRmFsc2UoImludGVybmFscy5oYXNTaGFkb3dJbnNlcnRp
b25Qb2ludCh5b3VuZ2VyU2hhZG93Um9vdCkiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9ob3N0LXdyYXBwZXItcmVjbGFpbWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvaG9zdC13cmFwcGVyLXJlY2xhaW1lZC5odG1sCmluZGV4IDE5YTBhOTY2
ODRhNGU3NTVkZGRkNWM2ZDhjZTI3NTljYmJiZjc4NmQuLmY1YzZiZmU5YTA4NjM2OTNhOWQyNTdl
ODljZDNlNjMxMDE1YjhjOGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9ob3N0LXdyYXBwZXItcmVjbGFpbWVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2hvc3Qtd3JhcHBlci1yZWNsYWltZWQuaHRtbApAQCAtOSw3ICs5LDcgQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogCiBmdW5jdGlvbiBtYWtlT3JwaGFuU2hhZG93KCkgewogICAgIHZh
ciBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgdmFyIHNoYWRvdyA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICByZXR1cm4gc2hhZG93OwogfTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2lmcmFtZS1zaGFkb3cuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pZnJhbWUtc2hhZG93Lmh0bWwKaW5kZXggNDU5NTkyZjRm
NTkzMjM2NDFkNGMxMDE0YjQ0NGJiY2Y5OWYwY2U2Ny4uOGEzY2M3OTk1MWMxOGE1ODFlN2UwZThl
MDgyYWY0YmI5Y2IxMTVlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2lmcmFtZS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaWZy
YW1lLXNoYWRvdy5odG1sCkBAIC0zMSw3ICszMSw3IEBAIHNob3VsZEJlKCJpMS5sZW5ndGgiLCAi
MiIpOwogLy8gVGhlbiBBZGRpbmcgc29tZSBpZnJhbWVzIGludG8gYSBzaGFkb3cuCiAKIHZhciBo
b3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLXZhciBzaGFkb3cgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKIHZhciBpMkluU2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZy
YW1lIik7CiBpMkluU2hhZG93LnNldEF0dHJpYnV0ZSgibmFtZSIsICJpMiIpOwogc2hhZG93LmFw
cGVuZENoaWxkKGkySW5TaGFkb3cpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2lucHV0LXdpdGgtdmFsaWRhdGlvbi13aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2lucHV0LXdpdGgtdmFsaWRhdGlvbi13aXRob3V0LXNoYWRv
dy5odG1sCmluZGV4IDk0OGNlZWRhYmU1OTEzMzBmYjIzN2I4MzA3YjJiN2JlOWU2OTNkODQuLjAx
Nzc3Mjc0YWM0YWFmNTVlZTcwOWU0YmUwODE2ZWJiYTk5ZmRlNWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24td2l0aG91dC1zaGFk
b3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxp
ZGF0aW9uLXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAKIDxzY3JpcHQ+CiBm
dW5jdGlvbiBkb1Rlc3QoKSB7CiAgICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Bhc3N3b3JkJyk7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChpbnB1dCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBpbnB1dC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VibWl0JykuY2xpY2soKTsK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24uaHRtbAppbmRleCAzZTE0MzE3ZTU0
NzYwM2I5OTA5NDM5ZTM2ZjQzODY5OGUxYzY5ODhkLi5kYTA3OTM0Nzc5NjQ3YzU2NGI3ZjFkMWQw
MGY3NGRhZWRiZDQyNGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
aW5wdXQtd2l0aC12YWxpZGF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2lucHV0LXdpdGgtdmFsaWRhdGlvbi5odG1sCkBAIC0xMiw3ICsxMiw3IEBAIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01G
b3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Bhc3N3b3JkJyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGlucHV0KTsKK3ZhciBzaGFkb3dSb290ID0gaW5wdXQud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iOwogCiBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnc3VibWl0JykuY2xpY2soKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtbGlzdC1tZW51LWNyYXNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LWxpc3QtbWVu
dS1jcmFzaC5odG1sCmluZGV4IGViODEyNWVkMTA4MmMwNmQ5YzcyNGRkMzdmN2Q1ZjZiYmI0NTA0
YTIuLmVhZTQ1NzBjOTcwMzU4ZGI3YTc4ZmIxZWY2YTUxMjUwZDAwMDEyYzkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtbGlzdC1tZW51LWNy
YXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2lu
dC1saXN0LW1lbnUtY3Jhc2guaHRtbApAQCAtOSwxMSArOSwxMSBAQCBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKIGZ1bmN0aW9uIGJvb20oKSB7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOwogCi0gICAgdmFyIG9sZGVyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KTsKKyAgICB2YXIgb2xkZXIgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG9s
ZGVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKICAgICBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciB5b3VuZ2Vy
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgeW91bmdlciA9IGRpdi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgdmFyIHNlbGVjdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NlbGVjdCcpOwogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzaGFkb3cnKTsKICAgICBzZWxlY3QuYXBwZW5kQ2hpbGQoc2hhZG93KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtcmVzZXRTdHlsZUlu
aGVyaXRhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBv
aW50LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sCmluZGV4IDYwNGVmOGIzNTY4MTU1OWU4NWU0
ZDc1YjEwMTc5MGU2NGI2YjU4MzAuLmY0NGQzNmJiOWM1ZmQxMzlhM2NkZjhjYjkxMzZmMjJjZjJk
NmFhY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24t
cG9pbnQtcmVzZXRTdHlsZUluaGVyaXRhbmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2luc2VydGlvbi1wb2ludC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbApAQCAt
MTQsNyArMTQsNyBAQCBmdW5jdGlvbiB0ZXN0Tm9SZXNldFN0eWxlSW5oZXJpdGFuY2UoKSB7CiAg
ICAgZGVidWcoIlRlc3QgY2FzZTogbm8gcmVzZXQtc3R5bGUtaW5oZXJpdGFuY2UuIGNvbG9yIHZh
bHVlIHNob3VsZCBiZSBpbmhlcml0ZWQgZnJvbSB0aGUgc2hhZG93IGhvc3QuIik7CiAgICAgdmFy
IGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduby1yZXNldC1zdHlsZS1pbmhlcml0YW5j
ZScpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwor
ICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
aGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBpZD0iY29udGVudCI+PC9jb250ZW50Pic7
CiAgICAgCiAgICAgc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpLnJlc2V0U3R5
bGVJbmhlcml0YW5jZSA9IGZhbHNlOwpAQCAtMjYsNyArMjYsNyBAQCBmdW5jdGlvbiB0ZXN0UmVz
ZXRTdHlsZUluaGVyaXRhbmNlKCkgewogICAgIGRlYnVnKCJUZXN0IGNhc2U6IHJlc2V0LXN0eWxl
LWluaGVydGlhY2UgYmFzaWMgdGVzdC4gY29sb3IgdmFsdWUgc2hvdWxkIGJlIGluaXRpYWwgYmVj
YXVzZSBpbnNlcnRpb24gcG9pbnQncyByZXNldFN0eWxlSW5oZXJpdGFuY2UgaXMgdHJ1ZS4iKTsK
ICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc2V0LXN0eWxlLWluaGVy
aXRhbmNlJyk7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRp
dik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IGlkPSJjb250ZW50Ij48L2NvbnRl
bnQ+JzsKIAogICAgIHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5yZXNldFN0
eWxlSW5oZXJpdGFuY2UgPSB0cnVlOwpAQCAtMzgsNyArMzgsNyBAQCBmdW5jdGlvbiB0ZXN0UmVz
ZXRTdHlsZUluaGVyaXRhbmNlRHluYW1pYygpIHsKICAgICBkZWJ1ZygiVGVzdCBjYXNlOiByZXNl
dC1zdHlsZS1pbmhlcnRpYWNlIGNoYW5nZXMgZHluYW1pY2FsbHkuIEZpcnN0bHkgY29sb3IgdmFs
dWUgc2hvdWxkIGJlIGluaGVyaXRlZC4gTmV4dCwgaW5pdGlhbC4gQXQgbGFzdCwgaW5oZXJpdGVk
LiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzZXQtc3R5bGUt
aW5oZXJpdGFuY2UtZHluYW1pYycpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBpZD0iY29u
dGVudCI+PC9jb250ZW50Pic7CiAKICAgICBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdjb250
ZW50JykucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gZmFsc2U7CkBAIC01Nyw3ICs1Nyw3IEBAIGZ1
bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJpdGFuY2VEeW5hbWljKCkgewogZnVuY3Rpb24gdGVz
dFJlc2V0U3R5bGVJbmhlcml0YW5jZVdpdGhvdXRDcm9zc2luZ1VwcGVyQm91bmRhcnkoKSB7CiAg
ICAgZGVidWcoIlRlc3QgY2FzZTogdGhlIHBhcmVudCBub2RlIG9mIHRoZSBkaXN0cmlidXRlZCBu
b2RlIGlzIGluIHRoZSBzYW1lIHNoYWRvdyBkb20gc3VidHJlZSBhcyB0aGUgaW5zZXJ0aW9uIHBv
aW50LiBjb2xvciB2YWx1ZSBzaG91bGQgYmUgaW5pdGlhbC4gcmVzZXQtc3R5bGUtaW5oZXJpdGFu
Y2UgZG9lc24ndCBkZXBlbmQgb24gd2hldGhlciBwYXJlbnQgc3R5bGUgbm9kZSBpcyBpbiB0aGUg
c2FtZSB0cmVlc2NvcGUgb3Igbm90LiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgncmVzZXQtYnV0LW5vdC1jcm9zcy11cHBlci1ib3VuZGFyeScpOwotICAgIHZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9v
dCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICBzaGFkb3dSb290LmlubmVy
SFRNTCA9ICc8ZGl2IHN0eWxlPSJjb2xvcjpibHVlOyBiYWNrZ3JvdW5kLWNvbG9yOmdyZWVuOyI+
PGNvbnRlbnQgaWQ9ImNvbnRlbnQiPjwvY29udGVudD48L2Rpdj4nOwogCkBAIC02OSwxMyArNjks
MTMgQEAgZnVuY3Rpb24gdGVzdFJlc2V0U3R5bGVJbmhlcml0YW5jZVdpdGhvdXRDcm9zc2luZ1Vw
cGVyQm91bmRhcnkoKSB7CiBmdW5jdGlvbiB0ZXN0UmVzZXRTdHlsZUluaGVyaXRhbmNlV2l0aE11
bHRpcGxlU2hhZG93Um9vdHMoKSB7CiAgICAgZGVidWcoIlRlc3QgY2FzZTogcmVzZXQtc3R5bGUt
aW5oZXJpdGFuY2Ugd2l0aCBtdWx0aXBsZSBzaGFkb3cgcm9vdHMuIGNvbG9yIHZhbHVlIHNob3Vs
ZCBiZSBpbml0aWFsLCBiZWNhdXNlIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlIG9mIHRoZSBpbnNl
cnRpb24gcG9pbnQgaW4gdGhlIHlvdW5nZXN0IHNoYWRvdyByb290IGlzIHRydWUuIik7CiAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdWx0aXBsZS1zaGFkb3ctcm9vdHMn
KTsKLSAgICB2YXIgb2xkZXN0U2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7
CisgICAgdmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIG9sZGVzdFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IGlkPSJjb250ZW50
Ij48L2NvbnRlbnQ+JzsKIAotICAgIHZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGRpdik7CisgICAgdmFyIHlvdW5nZXJTaGFkb3dSb290ID0gZGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB5b3VuZ2VyU2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPHNo
YWRvdyBpZD0ic2hhZG93Ij48L3NoYWRvdz4nOwogCi0gICAgdmFyIHlvdW5nZXN0U2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93Um9v
dCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgeW91bmdlc3RTaGFkb3dSb290
LmlubmVySFRNTCA9ICc8c2hhZG93IGlkPSJzaGFkb3ciPjwvc2hhZG93Pic7CiAKICAgICBvbGRl
c3RTaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdjb250ZW50JykucmVzZXRTdHlsZUluaGVyaXRh
bmNlID0gZmFsc2U7CkBAIC04OCwxMCArODgsMTAgQEAgZnVuY3Rpb24gdGVzdFJlc2V0U3R5bGVJ
bmhlcml0YW5jZVdpdGhNdWx0aXBsZVNoYWRvd1Jvb3RzKCkgewogZnVuY3Rpb24gdGVzdFJlc2V0
U3R5bGVJbmhlcml0YW5jZVdpdGhNdWx0aXBsZUluc2VydGlvblBvaW50cygpIHsKICAgICBkZWJ1
ZygiVGVzdCBjYXNlOiBtdWx0aXBsZSBpbnNlcnRpb24gcG9pbnRzIGluIHRoZSBzYW1lIHNoYWRv
dyBkb20gc3VidHJlZS4uIEVhY2ggcmVzZXQtc3R5bGUtaW5oZXJpdGFuY2Ugc2hvdWxkIGJlIGNo
ZWNrZWQuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdWx0aXBs
ZS1pbnNlcnRpb24tcG9pbnRzJyk7Ci0gICAgdmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBvbGRlc3RTaGFkb3dSb290ID0gZGl2LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBvbGRlc3RTaGFkb3dSb290LmlubmVySFRNTCA9ICc8
Y29udGVudCBpZD0iY29udGVudCI+PC9jb250ZW50Pic7CiAKLSAgICB2YXIgeW91bmdlc3RTaGFk
b3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgeW91bmdlc3RTaGFk
b3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB5b3VuZ2VzdFNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmZpcnN0LWNoaWxkIiBpZD0iY29u
dGVudCI+PC9jb250ZW50PjxzaGFkb3cgaWQ9InNoYWRvdyI+PC9zaGFkb3c+JzsKIAogICAgIHlv
dW5nZXN0U2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpLnJlc2V0U3R5bGVJbmhl
cml0YW5jZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2luc2VydGlvbi1wb2ludC1zaGFkb3ctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtc2hhZG93LWNyYXNoLmh0bWwKaW5kZXggYWM5NDEwOGI2
MGZmZmNlMjBhZDRmODY4ODIxNGEzMDE5NjkxZjc5MS4uYmE0Mzc3M2Q1NTg3NzlkZThkMjkzM2Nl
MmNiMTU5ZmI2NjU5MjQ2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2luc2VydGlvbi1wb2ludC1zaGFkb3ctY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXNoYWRvdy1jcmFzaC5odG1sCkBAIC05LDEwICs5
LDEwIEBAIGZ1bmN0aW9uIHJ1blRlc3RzKCkKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0g
ICAgc2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgc2hhZG93MSA9IGRp
di53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93MS5pbm5lckhUTUwgPSAiPHN0
eWxlPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXY+SEVMTE88L2Rpdj4iOwogCi0gICAg
c2hhZG93MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgc2hhZG93MiA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Mi5pbm5lckhUTUwgPSAiPGRpdj48
c2hhZG93Pjwvc2hhZG93PjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0Owog
ICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIlBBU1MiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC12aWRlby1jcmFzaC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC12aWRlby1jcmFzaC5o
dG1sCmluZGV4IGFmMTIzZGI5YTM2OTE1NDRhMTczMDA5OTk4MzA2Zjk4OWI2OWUwOWMuLjc5ODhm
YjExYWE5MThkNTY5NzNlYWFlZWM0M2VlODVmNjNjMmRiZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXZpZGVvLWNyYXNo
Lmh0bWwKQEAgLTksOCArOSw4IEBAIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogZnVuY3Rpb24gYm9v
bSgpIHsKICAgICBkaXZOb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAg
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGRpdk5vZGUpOwotICAgIGRpdlNo
YWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXZOb2RlKTsKLSAgICBkaXZTaGFkb3cyID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2Tm9kZSk7CisgICAgZGl2U2hhZG93MSA9IGRpdk5vZGUu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIGRpdlNoYWRvdzIgPSBkaXZOb2RlLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICAKICAgICB2aWRlb05vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCd2aWRlbycpOwogICAgIGRpdlNoYWRvdzIuYXBwZW5kQ2hpbGQodmlkZW9Ob2Rl
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRp
c3RyaWJ1dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2ludmFsaWRhdGUt
ZGlzdHJpYnV0aW9uLmh0bWwKaW5kZXggYjM5MDUxYmQ5NDdhNTE5NGU2YjE1NDc1NzIyNmNjNWNk
MWJlMzBhYS4uZDY3ZDBjMGZhOTBiZjg0OGU5OTYwNDFjZjllYmU4OWQ5Y2JlMTAyMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2ludmFsaWRhdGUtZGlzdHJpYnV0aW9u
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2ludmFsaWRhdGUtZGlzdHJp
YnV0aW9uLmh0bWwKQEAgLTgsMTEgKzgsMTEgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8cD5vbGRlc3Qgc2hhZG93PC9w
PiIKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICB2YXIgc2hhZG93Um9vdDIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdDIgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAiPHA+eW91
bmdlciBzaGFkb3c8L3A+IjsKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9saW5rLWluLXNoYWRvdy10cmVlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbGluay1pbi1zaGFkb3ctdHJlZS5odG1sCmlu
ZGV4IGQ3N2QzM2VjNTU3ZTQ1ODQzZWM0NDhmMjI3YjJmNjljYTk2Y2Q2OTUuLmQ0NjNmMDUxZDEz
YmU4MGQzNTkyZTdmN2Q2ZWVkNWE5NzZkZmM5YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9saW5rLWluLXNoYWRvdy10cmVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2xpbmstaW4tc2hhZG93LXRyZWUuaHRtbApAQCAtMTYsNyArMTYsNyBA
QCBmdW5jdGlvbiBjb21wdXRlZEJhY2tncm91bmRDb2xvcihlbGVtKSB7CiAKIHZhciBjb250YWlu
ZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7CiAKLXZhciBzaGFkb3dS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKK3ZhciBzaGFkb3dSb290ID0g
Y29udGFpbmVyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogdmFyIGxpbmsgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7CiBsaW5rLnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxl
c2hlZXQnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBs
ZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVs
dGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sCmluZGV4IDI4MzlhZTc4MjUxMjg3ZTZhODVhN2Ji
YjEzMzQzODAxMjMyODNiYmUuLjY0OTRhZTk5NThiZGJhNmE4NzI0N2ViNWY5MmU3MzMyOTk1ZDEy
MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFk
b3dyb290LWFkb3B0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRp
cGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbApAQCAtMTIsOCArMTIsOCBAQAogPHNjcmlwdD4KIGZ1
bmN0aW9uIGRvVGVzdCgpIHsKICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7Ci0gICAgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QodGFyZ2V0KTsKLSAgICBz
cjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCh0YXJnZXQpOworICAgIHNyMSA9IHRhcmdldC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgc3IyID0gdGFyZ2V0LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIAogICAgIHNob3VsZEJlKCdkb2N1bWVudCcsICdzcjEub3duZXJEb2N1bWVudCcp
OwogICAgIHNob3VsZEJlKCdzcjEub3duZXJEb2N1bWVudCcsICdzcjIub3duZXJEb2N1bWVudCcp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRv
d3Jvb3QtcmVuZGVyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlw
bGUtc2hhZG93cm9vdC1yZW5kZXJpbmcuaHRtbAppbmRleCA0MDU5YTMxMTYyMzRkZDJkOTBhMWVl
NTYyY2E0Y2VhNGIxNTg2MzUxLi5mZjlmYjIzODk0ZjczYmJjZDAyZjA2ZTBlYWI3NTE5YWIwZGU1
ZDJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hh
ZG93cm9vdC1yZW5kZXJpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
bXVsdGlwbGUtc2hhZG93cm9vdC1yZW5kZXJpbmcuaHRtbApAQCAtMjMsMTIgKzIzLDEyIEBAIHRl
c3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHRlc3REb3VibGVTaGFkb3dTdWJ0cmVlcyhjYWxsSWZEb25l
KSB7CiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBy
b290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQnKSk7CiAKLSAgICB2YXIg
c3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBwZW5k
Q2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQ6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7
CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVI6IFNIT1VMRCBO
T1QgQkUgUkVOREVSRUQnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
cm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAg
IHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzcjIu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAgICAgc3IyLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC00NCwxNyArNDQsMTcgQEAgdGVz
dEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVzdFRyaXBsZVNoYWRvd1N1YnRyZWVzKGNhbGxJZkRvbmUp
IHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJv
b3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdMSUdIVCcpKTsKIAotICAgIHZhciBz
cjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnQkVGT1JFOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAgIHNyMS5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRDogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsK
ICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUjogU0hPVUxEIE5P
VCBCRSBSRU5ERVJFRCcpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChy
b290KTsKKyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
c3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFOiBTSE9VTEQgTk9UIEJF
IFJFTkRFUkVEJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01J
RDogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdBRlRFUjogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKIAotICAgIHZh
ciBzcjMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IzID0gcm9vdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IzLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyMy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ01JRCcpKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRF
UicpKTsKQEAgLTcwLDEyICs3MCwxMiBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiB0ZXN0U2hh
ZG93U3VidHJlZXNXaXRoQ29udGVudChjYWxsSWZEb25lKSB7CiAgICAgdmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnTElHSFQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5P
VCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdNSUQ6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVI6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAKLSAg
ICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJv
b3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVu
dFdpdGhTZWxlY3QoJ3NwYW4nLCAnRkFMTEJBQ0snKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC05MiwxMiArOTIsMTIgQEAgdGVzdEZ1bmNz
LnB1c2goZnVuY3Rpb24gdGVzdFNoYWRvd1N1YnRyZWVzV2l0aENvbnRlbnRJbk9sZGVyU3VidHJl
ZShjYWxsSWZEb25lKQogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdM
SUdIVCAxJywgJ2MxJykpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdMSUdIVCAyJywgJ2MyJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkU6IFNIT1VMRCBOT1Qg
QkUgUkVOREVSRUQnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2Vs
ZWN0KCcuYzInLCAnRkFMTEJBQ0snKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQUZURVI6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAKLSAgICB2YXIgc3Iy
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0JFRk9SRScpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxl
Y3QoJy5jMScsICdGQUxMQkFDSycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdBRlRFUicpKTsKQEAgLTExNCw3ICsxMTQsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5j
dGlvbiB0ZXN0U2hhZG93U3VidHJlZXNXaXRoRHluYW1pY0NyZWF0aW9uKGNhbGxJZkRvbmUpIHsK
ICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQgMScsICdjMScp
KTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQgMicsICdj
MicpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2
YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykp
OwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnc3BhbicsICdG
QUxMQkFDSyAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FG
VEVSOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwpAQCAtMTIyLDcgKzEyMiw3IEBAIHRlc3RG
dW5jcy5wdXNoKGZ1bmN0aW9uIHRlc3RTaGFkb3dTdWJ0cmVlc1dpdGhEeW5hbWljQ3JlYXRpb24o
Y2FsbElmRG9uZSkgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFp
bmVyJykuYXBwZW5kQ2hpbGQocm9vdCk7CiAKICAgICBzZXRUaW1lb3V0KChmdW5jdGlvbihjYWxs
SWZEb25lLCByb290KSB7IHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHNyMiA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgICAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ0JFRk9SRScpKTsKICAgICAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRX
aXRoU2VsZWN0KCdzcGFuJywgJ0ZBTExCQUNLIDInKSk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtMTM4LDEzICsxMzgsMTMgQEAgdGVz
dEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVzdFNoYWRvd1N1YnRyZWVzV2l0aER5bmFtaWNDcmVhdGlv
bk91dE9mVHJlZShjYWxsSWZEb24KICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnTElHSFQgMScsICdjMScpKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnTElHSFQgMicsICdjMicpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFOiBTSE9V
TEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50
V2l0aFNlbGVjdCgnc3BhbicsICdGQUxMQkFDSyAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogCiAg
ICAgc2V0VGltZW91dCgoZnVuY3Rpb24oY2FsbElmRG9uZSwgcm9vdCkgeyByZXR1cm4gZnVuY3Rp
b24oKSB7Ci0gICAgICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAg
ICAgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgICAgICBz
cjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgICAgIHNy
Mi5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnc3BhbicsICdGQUxMQkFDSyAy
JykpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicp
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFk
b3dyb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93
cm9vdC5odG1sCmluZGV4IDJhNmI1MjgwZWRkMWE4N2IyNDcwMjgxNzVkZDlhNjg2M2Q0MjYxMmMu
LjIxMWVkYjRkNWYwNWZhMjExMTMzYmFmZDE1YzU0YjYzZTdiOGEwZWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QuaHRtbApAQCAt
OSwxNSArOSwxNSBAQCBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZSB0aGF0IHRoZSBtdWx0
aXBsZSBzaGFkb3cgcm9vdCBpcyBhdmFpbGFibGUuIik7CiAKIHZhciBkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKIHNob3VsZEJlKCJpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYp
IiwgIm51bGwiKTsKLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7
Cit2YXIgc2hhZG93Um9vdDEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hvdWxk
QmUoImludGVybmFscy5zaGFkb3dSb290KGRpdikiLCAic2hhZG93Um9vdDEiKTsKIHNob3VsZEJl
KCJpbnRlcm5hbHMub2xkZXJTaGFkb3dSb290KHNoYWRvd1Jvb3QxKSIsICJudWxsIik7CiAKLXZh
ciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdikKK3ZhciBzaGFkb3dSb290
MiA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkKIHNob3VsZEJlKCJpbnRlcm5hbHMuc2hh
ZG93Um9vdChkaXYpIiwgInNoYWRvd1Jvb3QyIik7CiBzaG91bGRCZSgiaW50ZXJuYWxzLm9sZGVy
U2hhZG93Um9vdChzaGFkb3dSb290MikiLCAic2hhZG93Um9vdDEiKTsKIAotdmFyIHNoYWRvd1Jv
b3QzID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKK3ZhciBzaGFkb3dSb290MyA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaG91bGRCZSgiaW50ZXJuYWxzLnNoYWRvd1Jvb3Qo
ZGl2KSIsICJzaGFkb3dSb290MyIpOwogc2hvdWxkQmUoImludGVybmFscy5vbGRlclNoYWRvd1Jv
b3Qoc2hhZG93Um9vdDMpIiwgInNoYWRvd1Jvb3QyIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wYXJlbnQtdHJlZS1zY29wZS1pbi1zaGFkb3cuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wYXJlbnQtdHJlZS1zY29wZS1pbi1zaGFkb3cuaHRt
bAppbmRleCAwYTA4MTk0MjBlZGU5M2NmMzI4MTg2N2RmOTNlZDJhOWU0MGNhMTBlLi4xZGE2YWZh
M2M2N2NlODJjODI0YTk0NDMzOTY5NTlhZjRjYzcwYWU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcGFyZW50LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BhcmVudC10cmVlLXNjb3BlLWluLXNoYWRvdy5o
dG1sCkBAIC0xMiwxMyArMTIsMTMgQEAKICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYp
OwogCiAgIGRlYnVnKCJDcmVhdGluZyBzaGFkb3cgZG9tIHN1YnRyZWVzIGZyb20gdG9wIHRvIGJv
dHRvbS4iKTsKLSAgdmFyIHNoYWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICB2
YXIgc2hhZG93MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgIHNoYWRvdzEuaW5u
ZXJIVE1MID0gIjxkaXYgaWQ9J0UnPi9kaXY+IjsKICAgdmFyIGUgPSBzaGFkb3cxLmdldEVsZW1l
bnRCeUlkKCJFIik7Ci0gIHZhciBzaGFkb3cyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZSk7Cisg
IHZhciBzaGFkb3cyID0gZS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgIHNoYWRvdzIuaW5u
ZXJIVE1MID0gIjxkaXYgaWQ9J0YnPjwvZGl2PiI7CiAgIHZhciBmID0gc2hhZG93Mi5nZXRFbGVt
ZW50QnlJZCgiRiIpOwotICB2YXIgc2hhZG93MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGYpOwor
ICB2YXIgc2hhZG93MyA9IGYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3czLmlu
bmVySFRNTCA9ICI8ZGl2IGlkPSdHJz48L2Rpdj4iOwogCiAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
cGFyZW50VHJlZVNjb3BlKHNoYWRvdzEpIiwgImRvY3VtZW50Iik7CkBAIC0zMCwxMyArMzAsMTMg
QEAKICAgZGVidWcoIkNyZWF0aW5nIG11bHRpcGxlIHNoYWRvdyBkb20gc3VidHJlZXMuIik7CiAg
IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGRpdik7Ci0gIHNoYWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwor
ICBzaGFkb3cxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgc2hhZG93MS5pbm5l
ckhUTUwgPSAiPGRpdiBpZD0nSCc+PC9kaXY+IjsKIAogICB2YXIgaCA9IHNoYWRvdzEuZ2V0RWxl
bWVudEJ5SWQoIkgiKTsKLSAgc2hhZG93MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGgpOworICBz
aGFkb3cyID0gaC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgIHNoYWRvdzIuaW5uZXJIVE1M
ID0gIjxkaXY+c2hhZG93MjwvZGl2PiI7Ci0gIHNoYWRvdzMgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChoKTsKKyAgc2hhZG93MyA9IGgud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3cz
LmlubmVySFRNTCA9ICI8ZGl2PnNoYWRvdzM8L2Rpdj4iOwogICBzaG91bGRCZSgiaW50ZXJuYWxz
LnBhcmVudFRyZWVTY29wZShzaGFkb3cyKSIsICJzaGFkb3cxIik7CiAgIHNob3VsZEJlKCJpbnRl
cm5hbHMucGFyZW50VHJlZVNjb3BlKHNoYWRvdzMpIiwgInNoYWRvdzEiKTsKQEAgLTQ1LDEzICs0
NSwxMyBAQAogCiAgIGRlYnVnKCJDcmVhdGluZyBtdWx0aXBsZSBzaGFkb3cgZG9tIHN1YnRyZWVz
IGZyb20gYm90dG9tIHRvIHRvcC4iKTsKICAgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwotICBzaGFkb3czID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZik7CisgIHNoYWRvdzMgPSBm
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgc2hhZG93My5pbm5lckhUTUwgPSAiPGRpdiBp
ZD0nRyc+PC9kaXY+IjsKICAgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICBz
aGFkb3cyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZSk7CisgIHNoYWRvdzIgPSBlLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgc2hhZG93Mi5hcHBlbmRDaGlsZChmKTsKICAgZGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gIHNoYWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChkaXYpOworICBzaGFkb3cxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
c2hhZG93MS5hcHBlbmRDaGlsZChlKTsKICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYp
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0dHJp
YnV0ZS1keW5hbWljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0
dHJpYnV0ZS1keW5hbWljLmh0bWwKaW5kZXggZjBkYTIwZjE1MjZlMTQwODY3M2U3Y2Y3ZTBiOWM5
OWMwNjU5ZTVjNy4uOGJlZmYwZTQ5OGJlZDgxN2JlMzJiZDA3MWIzNjMyYjVlNTMzODczYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUtZHlu
YW1pYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG8tYXR0cmli
dXRlLWR5bmFtaWMuaHRtbApAQCAtMjIsNyArMjIsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi12YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKIGRpdi53ZWJraXRQc2V1ZG8gPSAneC1mb28nOwogZGl2LmlubmVySFRNTCA9ICJUaGlzIHNo
b3VsZCBiZSBibHVlLiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvLWF0dHJpYnV0ZS1yZW5kZXJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG8tYXR0cmlidXRlLXJlbmRlcmluZy5odG1sCmluZGV4IDc2ODJiNDJmMGQ5ZmVk
N2QzZjk3Mjk4ZWIyMjcwZWMzMTFlZGIxYjguLmU4Mzc2OTk3NjcxYTM1NDQ1MTc3YTQwNThkNDgx
Y2FlMTdkMmQxMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG8tYXR0cmlidXRlLXJlbmRlcmluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG8tYXR0cmlidXRlLXJlbmRlcmluZy5odG1sCkBAIC0xOCwxMyArMTgsMTMgQEAg
ZGl2Ojotd2Via2l0LWZvb2JhciB7CiA8ZGl2IGlkPSJob3N0MiI+PC9kaXY+CiAKIDxzY3JpcHQ+
Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hh
ZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgZGl2MSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2MS53ZWJraXRQc2V1ZG8gPSAneC1mb28n
OwogZGl2MS5pbm5lckhUTUwgPSAiVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQuIjsKIHNoYWRvd1Jv
b3QxLmFwcGVuZENoaWxkKGRpdjEpOwogCi12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiB2YXIgZGl2MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2
Mi53ZWJraXRQc2V1ZG8gPSAnLXdlYmtpdC1mb29iYXInOwogZGl2Mi5pbm5lckhUTUwgPSAiVGhp
cyB0ZXh0IHNob3VsZCBub3QgYmUgcmVkLiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1pbnB1dC5o
dG1sCmluZGV4IDhhMmUzODQ4ZDdmNTQ0YjhkMTU1YzJhMWY0ODhhOTA0MTYyMmI0NGQuLmQ0NDVl
NTIwNTViYzM4NDU5NWJkYzhhOTU5ZjQ4NGY3M2I3ZWNlZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1pbnB1dC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hl
Y2tlZC1pbnB1dC5odG1sCkBAIC0zMywxMCArMzMsMTAgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImlucHV0OmNoZWNrZWQiPic7
Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVj
dD0iaW5wdXQ6Y2hlY2tlZCI+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKS5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4nOwotbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDQpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImlucHV0OmNoZWNrZWQi
Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4nOworaG9zdDMu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Imlu
cHV0OmNoZWNrZWQiPic7Citob3N0NC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKIAogc2V0VGltZW91dChmdW5j
dGlvbigpIHsKICAgICBpbnB1dDEuY2hlY2tlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtb3B0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNr
ZWQtb3B0aW9uLmh0bWwKaW5kZXggYjdiYWY3OWVjYWY5ZmI5ZDY2YzIxMGRkZTZlZjlkMjk0MjUx
ZmQyYy4uNTk3NGI5ZDM1MTg5MWFhNGY1MGRiZTEyMDg0MThiNjc0NjlmMjQwNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2Vk
LW9wdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtY2hlY2tlZC1vcHRpb24uaHRtbApAQCAtMjUsOCArMjUsOCBAQAogPHNjcmlwdD4K
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0MSk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0Mik7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKIHNo
YWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Im9wdGlvbjpjaGVja2VkIj4n
Owogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0ib3B0aW9uOmNoZWNr
ZWQiPic7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWRpc2FibGVkLWJ1dHRvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1idXR0b24uaHRtbAppbmRleCA2ODY0Y2Fh
NmU2YjhmNjU2ZjMwNWU0NDgxOWM3NmE4YzdhOWNkMWYzLi5hNjE5YjAzZWNiNWRhYzNlN2M2Mzdi
MDZkYmNhMjM5MzFlMTkzN2MzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWJ1dHRvbi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtYnV0dG9uLmh0
bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2Fi
bGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9zdDIud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNh
YmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYnV0dG9u
Mi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWZpZWxkc2V0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2Fi
bGVkLWZpZWxkc2V0Lmh0bWwKaW5kZXggNTg1NzE1MThhNzIxN2VmY2YzMTBiYWJhZDVlNmFiNzY1
NTNiYjEwYS4uOTA5MTc3ZGNlNmUzMDNjMGJmYWE0M2Q1MDgxMTA4OTE0ODhmMTBlZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNh
YmxlZC1maWVsZHNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtZmllbGRzZXQuaHRtbApAQCAtMjIsOCArMjIsOCBAQAog
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVj
dD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9z
dDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCku
aW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKIAog
c2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBmaWVsZHNldDIuc2V0QXR0cmlidXRlKCdkaXNh
YmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1pbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1pbnB1dC5odG1sCmluZGV4IDMy
ZjIxY2VjNTgxOWU5MmM3MGNlMTEzNzIzZGIwMzg2NzA3MTM5NDAuLjBhZTc5ZGVmNTJkMTVkZmM1
ZjZlYWVlZjIwMjNiOTIwYThiOTk1YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtaW5wdXQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWlucHV0
Lmh0bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7Ci1uZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRp
c2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5l
ckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9zdDIu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijpk
aXNhYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgaW5w
dXQyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtb3B0Z3JvdXAu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlz
YWJsZWQtb3B0Z3JvdXAuaHRtbAppbmRleCBkODg2MDMzZDdhMTlhZjJlNDAzYTgyMjQzNDFjNDJk
YjE0M2NiMDY3Li5iNzIyZWQxNDg0NzE1YTRlMGVmNDVjNGY4OTAwNjMyOGNiNDM3NTBiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRp
c2FibGVkLW9wdGdyb3VwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRncm91cC5odG1sCkBAIC0yNyw4ICsyNyw4IEBA
CiA8c2NyaXB0PgoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLXZhciBzaGFkb3dSb290MSA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKIAogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2Fi
bGVkIj4nOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2Fi
bGVkIj4nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtb3B0aW9uLmh0bWwKaW5kZXggNDUwMjI3
ZjM4ZWRkZWYzZThhM2Y1NmQwMTlhMzJkOWQ2OTlhZDc4Yi4uNDJhZDM0MDE0MzBkNjJmYjlkODI1
MjhiZWJiY2Y1YzA1N2UzZDkxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRpb24uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGlvbi5o
dG1sCkBAIC0yNyw4ICsyNyw4IEBACiA8c2NyaXB0PgoganNUZXN0SXNBc3luYyA9IHRydWU7CiAK
LXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKLXZhciBzaGFk
b3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MSA9
IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3Qy
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj4nOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj4nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1zZWxlY3QuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2Vs
ZWN0Lmh0bWwKaW5kZXggZGEwM2MxNGEwM2I0MDRiOTU1YjI1MjExNWM5ZmViMjg0ZGFlYThhMS4u
Zjg2OGRmMjUxNzlhOTE0NTU5MmQ1M2Q5NmVkNjcyYzhkMjQ5ZTk1MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1zZWxl
Y3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBk
YXRlLWRpc2FibGVkLXNlbGVjdC5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQi
PjwvY29udGVudD4nOwotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8
Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48
L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewogICAgIHNlbGVjdDIuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0
ZS1kaXNhYmxlZC10ZXh0YXJlYS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC10ZXh0YXJlYS5odG1sCmluZGV4IGQ3NWY0Y2M1OTNi
MDRmNjc1MWVjYTIxNjM3YTc4MWY3Y2E1MmE0ODguLmY4NjQ4YmViNjM2OTg5ZTA0OGNlZWMyNzBj
NjQ3MzI5NzdiOWM3ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtdGV4dGFyZWEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLXRleHRhcmVhLmh0
bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2Fi
bGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9zdDIud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNh
YmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgdGV4dGFy
ZWEyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1hbmNob3IuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxl
ZC1hbmNob3IuaHRtbAppbmRleCA5NjkxNDA0Yzk5M2RhYmNhYTk2NDlmZTM3MjdhNjA3MzI1YTNk
N2E2Li5iNTA1YjM4NDQ0YTFjNmIxN2NkOWNlYjA4MzJiMjIxYmE1MjdiNjgyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
YW5jaG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNz
LXVwZGF0ZS1lbmFibGVkLWFuY2hvci5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxl
ZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48
L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7CiAgICAgYW5jaG9yMi5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxl
ZC1hcmVhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBk
YXRlLWVuYWJsZWQtYXJlYS5odG1sCmluZGV4IDE1ODdiYWJkY2JjYzRjZjY4Y2E2Nzc5ODFjMGZk
NDViMDRjNDgxOWYuLjAyOWExOWIzZTEwYzQ3ZjExMDkwMzYyYTgwNzNmZWM5OGQ2ZDJkYmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUt
ZW5hYmxlZC1hcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVk
b2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFyZWEuaHRtbApAQCAtNDEsOCArNDEsOCBAQCBob3N0MS5h
cHBlbmRDaGlsZChhcmVhMik7CiBob3N0Mi5hcHBlbmRDaGlsZChhcmVhMyk7CiBob3N0Mi5hcHBl
bmRDaGlsZChhcmVhNCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwg
PSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOmVuYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6ZW5h
YmxlZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJI
VE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3Qy
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJh
cmVhOmVuYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAg
IGFyZWEyLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWJ1dHRvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWJ1
dHRvbi5odG1sCmluZGV4IGQ2OGEwZjZmMzQ0YmUzZmI1YWNjNjdiM2Y4N2Y2ODYzNmZjYTdjMzMu
LjdkNzVlMjUyMDJiNTY4NjhmNDA1YTYyNzIyNjY1NjYwODExZTMwNWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBk
YXRlLWVuYWJsZWQtYnV0dG9uLmh0bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48
L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNv
bnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29u
dGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29u
dGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlv
bigpIHsKICAgICBidXR0b24yLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC1maWVsZHNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1lbmFibGVkLWZpZWxkc2V0Lmh0bWwKaW5kZXggZDc4NWY2YjlkMGU4ZTMyNjgx
YWMwMzg2MzUxNzk1MGVkM2U3MDQ2Ny4uODM4NTM0MDY0ZDgwZjliZWZlZjlhNDdiMjU1NDc4YzAw
YzMyMGQxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1lbmFibGVkLWZpZWxkc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWZpZWxkc2V0Lmh0bWwKQEAgLTIy
LDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8
Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250
ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRl
bnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBmaWVsZHNldDIuc2V0QXR0cmli
dXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtaW5wdXQuaHRtbApp
bmRleCAwOTEzNzNjNGYzOWQzOTY1ZDU4NmE1ZTMxNTY1YjlhZGQ2ZWVkMWZjLi4wZDdiOTQwZTNl
MmQwZjc2M2UzZGU3NGNlM2NiMWYwNGM1ZTg2MTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtaW5wdXQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
aW5wdXQuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwot
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Citob3N0
Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0i
OmVuYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGlu
cHV0Mi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtb3B0Z3JvdXAu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC1vcHRncm91cC5odG1sCmluZGV4IDU3NzA1N2Q3ZTg0YTBhYWFjMWI5MTdlMzkyNWFlZGY0
ZjY1N2Y0NWEuLjhkMzIyNTVjN2MwNjg3NzJhYzk0ZmVlNGY4ZGVlYjIxNWIxNmIxNTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC1vcHRncm91cC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1vcHRncm91cC5odG1sCkBAIC0yNyw4ICsyNyw4IEBACiA8
c2NyaXB0PgoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLXZhciBzaGFkb3dSb290MSA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIAogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQi
Pic7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+
JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZW5hYmxlZC1vcHRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1vcHRpb24uaHRtbAppbmRleCA0NTVlZDdkODdlMzcx
YWJmNjg3ZTVhMzVmYTcyYWI0ZjQ3YWY0M2UwLi5jMjUyNmQ1NTRmYTYzZTIyYmQ3MGNmZWEzNGQ3
OGQ4ODJiNzBmMzQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtb3B0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9wdGlvbi5odG1sCkBAIC0y
Nyw4ICsyNyw4IEBACiA8c2NyaXB0PgoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLXZhciBzaGFk
b3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKLXZhciBzaGFkb3dSb290MiA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIAogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0iOmVuYWJsZWQiPic7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2Vs
ZWN0PSI6ZW5hYmxlZCI+JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1zZWxlY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1zZWxlY3QuaHRtbAppbmRl
eCA4MGIxZDZmNzA5YzIwM2ExM2IxOTYzMTJlYzliOWMyMzkzYmUyNWM4Li41MzlmODY3ZTRhZmRj
ZjFiYjQxM2IyZGNmZDg5NjBlNGEyZTIwOGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXNl
bGVjdC5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qx
KS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Ci1u
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0i
OmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3Qy
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6
ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgc2Vs
ZWN0Mi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtdGV4dGFyZWEu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC10ZXh0YXJlYS5odG1sCmluZGV4IDM0YzBiYzM3MTIyOGVmZjY2YTgwODI0MzE0MDI5NWJi
M2VkZDlkODUuLjA1MTc3ZWViYmI5ODM2YjdiMTUxNjE5M2IzYzgxZjQxNDMxYzc4YzAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC10ZXh0YXJlYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC10ZXh0YXJlYS5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAK
LW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0
PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5u
ZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijpl
bmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5l
ckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgdGV4dGFyZWEyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQn
LCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLWlucHV0Lmh0bWwKaW5k
ZXggMWE4NmE1Nzk4OTU0MTU4ZDhkZTRkMWZhMmE2YTUxY2UxZmQ3MWRlZi4uMDU0ZTQ0YjY1ZDM5
ZWQ0YTVmOTZiMDU5NTU4YmE3NmQwYmJlMzU3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLWlucHV0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRl
dGVybWluYXRlLWlucHV0Lmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgaW5wdXQyLmluZGV0ZXJtaW5h
dGUgPSB0cnVlOwogaW5wdXQ0LmluZGV0ZXJtaW5hdGUgPSB0cnVlOwogaW5wdXQ1LmluZGV0ZXJt
aW5hdGUgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNo
YWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0ic3BhbiwgaW5wdXQ6aW5kZXRl
cm1pbmF0ZSI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0
ZXJtaW5hdGUtcHJvZ3Jlc3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1wcm9ncmVzcy5odG1sCmluZGV4IDE2Mzc1M2Fl
Y2M3NGEzNjkyY2JkYzk1YTgyYWZhYjJkYjliMjExZjYuLmFlZDdmYzkzMjQ5OWE3NzJjNDcxOWI3
YTA4ZjQyNTBiMGQwYzc3ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1wcm9ncmVzcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0
ZS1wcm9ncmVzcy5odG1sCkBAIC0yMiw3ICsyMiw3IEBAIHByb2dyZXNzIHsKIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRv
d1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29u
dGVudCBzZWxlY3Q9InNwYW4scHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZSI+PC9jb250ZW50Pic7CiBw
cm9ncmVzczEudmFsdWUgPSAnMzAnOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYW5jaG9yLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYW5jaG9yLmh0bWwKaW5k
ZXggNzBiMGVkNGFkMTUwZGUxZWJlYmE2NDY5YjA3OGY5YzVlNjU2YmVmNi4uYjMzY2U1ZmNlZGQ1
ZjliM2ExMjY4YzM5MTY0YWI0NGQyODAyYjE4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hbmNob3Iu
aHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5u
ZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmxpbmsiPjwvY29udGVudD4nOwotbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpsaW5rIj48
L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6bGluayI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmxpbmsiPjwvY29udGVu
dD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGFuY2hvcjIucmVtb3ZlQXR0cmli
dXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWxpbmstYXJlYS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFyZWEuaHRtbAppbmRleCBjZTJjNmE2YzE1MGIy
MzI3ZDZhNGUwZTQ0MDRhOTc3ODEyNjU0YmVjLi4zYWJjMmFlMWYxMWQzODVkNGU0YTdiNGY5ODA4
OTYyNzYzMDZlZDE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWxpbmstYXJlYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hcmVhLmh0bWwKQEAgLTQxLDggKzQxLDgg
QEAgaG9zdDEuYXBwZW5kQ2hpbGQoYXJlYTIpOwogaG9zdDIuYXBwZW5kQ2hpbGQoYXJlYTMpOwog
aG9zdDIuYXBwZW5kQ2hpbGQoYXJlYTQpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSku
aW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTpsaW5rIj48L2NvbnRlbnQ+JzsKLW5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJh
cmVhOmxpbmsiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6bGluayI+PC9jb250ZW50Pic7Citob3N0
Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0i
YXJlYTpsaW5rIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBh
cmVhMi5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXRhcmdldC5odG1sCmluZGV4IDM5
YTQ2NzJkMDUzNDhmZmFiMjhjMWQ1MzIzYjU0ZjllODQxMTY0ZjkuLjQxOGYxZmUxOGVmYjk1YTky
YzI4MTkxYjZiYzg2OWQxMTJhZDQ1YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdGFyZ2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS10YXJnZXQuaHRtbApAQCAtMjAsNyAr
MjAsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAKIGxvY2F0aW9uLmhhc2ggPSAnI3Rhcmdl
dDEnOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFy
IHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3Qu
aW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iZGl2OnRhcmdldCI+PC9jb250ZW50Pic7CiAK
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYW5jaG9yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYW5jaG9yLmh0
bWwKaW5kZXggNTRjMWEwNjAxMzhhMzRiMjlmODljNGNiNzIyZjQ5YzAxN2FlMWZkMC4uYzhlMjJh
ODM0NDlhOTUxNGQwNzdmZGU3YjkzNGM5ZjY1NDllODU2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlz
aXRlZC1hbmNob3IuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOnZpc2l0ZWQiPjwvY29udGVu
dD4nOwotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBz
ZWxlY3Q9Ijp2aXNpdGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6dmlzaXRlZCI+PC9jb250ZW50Pic7
Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0iOnZpc2l0ZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewog
ICAgIGFuY2hvcjIucmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYXJlYS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVk
LWFyZWEuaHRtbAppbmRleCBmNmNkMmQ2YjZhMjU1ZWMxY2UwNjFhNGU3ZDZhN2YwMThiNzEzYTcy
Li43ZTdlZDRlOTgxZWI2NzQ0NTcyNTJjZDdlYTY4N2EwYzVkZWEzMTczIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYXJl
YS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtdmlzaXRlZC1hcmVhLmh0bWwKQEAgLTQxLDggKzQxLDggQEAgaG9zdDEuYXBwZW5kQ2hpbGQo
YXJlYTIpOwogaG9zdDIuYXBwZW5kQ2hpbGQoYXJlYTMpOwogaG9zdDIuYXBwZW5kQ2hpbGQoYXJl
YTQpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iYXJlYTp2aXNpdGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOnZpc2l0ZWQiPjwvY29u
dGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29u
dGVudCBzZWxlY3Q9ImFyZWE6dmlzaXRlZCI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTp2aXNpdGVk
Ij48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBhcmVhMi5yZW1v
dmVBdHRyaWJ1dGUoJ2hyZWYnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9yZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3JlbW92ZS1zdHlsZXMtaW4tc2hhZG93LWNyYXNoLmh0bWwKaW5kZXggMmYy
NjZkM2NkNmM3NDM5OTkxZmE4OGFlNTE0NzQ5ODI1YjA5MGEwMi4uNzQ3MDU0ZGFmYmZhNjQ4NTEw
YWUwNTRiZTczMTE5ZDVmMDI4ZDE4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3JlbW92ZS1zdHlsZXMtaW4tc2hhZG93LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3JlbW92ZS1zdHlsZXMtaW4tc2hhZG93LWNyYXNoLmh0bWwKQEAg
LTcsNyArNyw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gcnVuVGVzdCgp
IHsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci0gICAg
dmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNyID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgLy8gVGVzdCB0aGUgY2FzZTogdHdvIHN0eWxl
cyBhcmUgaW4gc2hhZG93IGRvbSBzdWJ0cmVlIGFuZCB0aGV5IGFyZSBub3QKICAgICAvLyBkaXJl
Y3QgY2hpbHJlbiBvZiB0aGUgc2hhZG93IHJvb3QuCiAgICAgc3IuaW5uZXJIVE1MID0gJzxkaXY+
PHN0eWxlPmRpdiB7IGNvbG9yOiBibHVlOyB9PC9zdHlsZT5IZWxsbzwvZGl2PjxkaXY+PHN0eWxl
PnNwYW4geyBjb2xvcjogcmVkIH08L3N0eWxlPjxzcGFuPldvcmxkPC9zcGFuPjwvZGl2Pic7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWF0dHJp
YnV0ZS1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVj
dGlvbi1hdHRyaWJ1dGUtbW9kaWZpZWQuaHRtbAppbmRleCAzMzUxNjViMDFkOWJkNTYyYzU4YWQy
MmEwMmEwYzhlYWRlMjkxZTBmLi43OTA2YmQ0NjJiMWJiMDU5ZDBkOTE2OWUxZDllODM4NTA4Mzc2
YzVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9u
LWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9yZXByb2plY3Rpb24tYXR0cmlidXRlLW1vZGlmaWVkLmh0bWwKQEAgLTE4LDExICsxOCwxMSBA
QAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIg
c2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290
MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+JzsK
IAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJyk7Ci12YXIg
c2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9v
dDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXZbdGl0bGU9c2VsZWN0ZWRdIj48L2NvbnRlbnQ+JzsK
IAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9yZXByb2plY3Rpb24tY2xhc3NOYW1lLW1vZGlmaWVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1s
CmluZGV4IDk3M2RhNjY0YWUyZjA1MzVlYTQ5ODRkZDBjOWYyMjFmOTliZjlmODAuLjE2ZTk2NGFm
NWIyZDI4MGJjZmFjZDNiMDFlODVjZjA2ZDUyNTdiYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24tY2xhc3NOYW1lLW1vZGlmaWVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1jbGFzc05hbWUtbW9k
aWZpZWQuaHRtbApAQCAtMTgsMTEgKzE4LDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290MSA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0
MiI+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4nOwogCiB2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5n
ZXRFbGVtZW50QnlJZCgnaG9zdDInKTsKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ii5zZWxl
Y3RlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWlkLW1vZGlmaWVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWlkLW1vZGlmaWVk
Lmh0bWwKaW5kZXggNDAwMGI4NDY4YThlYjZiYTI4YmFhNDMzMWY2YTJlY2EwNjZkN2RhYi4uMDQy
MjZlYWQ3YmVlYTYzNDdlM2IzN2M2ZGY0YTZkNzIxMmIxOTY3NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1pZC1tb2RpZmllZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24taWQtbW9kaWZpZWQuaHRt
bApAQCAtMTgsMTEgKzE4LDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MiI+PHNoYWRv
dz48L3NoYWRvdz48L2Rpdj4nOwogCiB2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRFbGVtZW50
QnlJZCgnaG9zdDInKTsKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QyKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNzZWxlY3RlZCI+PC9j
b250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzaXplLWluLXNoYWRvdy1kb20uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNpemUtaW4tc2hhZG93LWRvbS5odG1sCmluZGV4IGVlZDE5
N2M5OTgyZDAxYWRmN2ZhN2ZlZDQzM2U3NjdmMzE5MzY3NGQuLmZkYjc5NTY2MGM5YThkYjUzMjVk
YzdmNzM5ODBkZmU1MTI3MTlkMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9yZXNpemUtaW4tc2hhZG93LWRvbS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9yZXNpemUtaW4tc2hhZG93LWRvbS5odG1sCkBAIC0yMCw3ICsyMCw3IEBAIGZ1bmN0
aW9uIGNyZWF0ZUJveChuYW1lKSB7CiAgICAgcmV0dXJuIGRpdjsKIH0KIAotdmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgYm94ID0gY3JlYXRlQm94KCdkYXJrJyk7CiBz
aGFkb3dSb290LmFwcGVuZENoaWxkKGJveCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvcG9seWZpbGwuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcmVzb3VyY2VzL3BvbHlmaWxsLmpzCmluZGV4IGFhODBhZjFkZTIxZTBhNmEwM2Fh
OWNjYmEwZmZkZmVmYWI1NDZlNGIuLjdhMjNiNzM5YzdjMmE1MDA3YWQ2NjU4YTU0MDFiZmFkMzFm
MDVhZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMv
cG9seWZpbGwuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9w
b2x5ZmlsbC5qcwpAQCAtMSw1ICsxLDUgQEAKLWlmICghd2luZG93LldlYktpdFNoYWRvd1Jvb3Qg
JiYgd2luZG93LmludGVybmFscykgewotCXdpbmRvdy5XZWJLaXRTaGFkb3dSb290ID0gZnVuY3Rp
b24oZWxlbWVudCkgewotCQlyZXR1cm4gaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3QoZWxlbWVu
dCk7Ci0JfQoraWYgKCFFbGVtZW50LnByb3RvdHlwZS53ZWJraXRDcmVhdGVTaGFkb3dSb290ICYm
IHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBFbGVtZW50LnByb3R5cGUud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCA9IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gd2luZG93LmludGVybmFscy5j
cmVhdGVTaGFkb3dSb290KHRoaXMpOworICAgIH07CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3NoYWRvdy1kb20uanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3NoYWRvdy1kb20uanMKaW5kZXggNmRmNTAwODlkZTAz
NmEyMDhlZjg3YzY2NTI0MzRhZTZkZjA5OTdhOC4uYjI0ZTFiYTNjYTM2NWZlYzY4OTM4ODNhZWU3
M2Q4MjQwNGJjNzBiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jl
c291cmNlcy9zaGFkb3ctZG9tLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9y
ZXNvdXJjZXMvc2hhZG93LWRvbS5qcwpAQCAtMjcsMTIgKzI3LDEwIEBAIGZ1bmN0aW9uIGNyZWF0
ZURPTSh0YWdOYW1lLCBhdHRyaWJ1dGVzKQogICAgICAgICBpZiAoY2hpbGQuaXNTaGFkb3dSb290
KSB7CiAgICAgICAgICAgICArK3NoYWRvd1Jvb3RDb3VudDsKICAgICAgICAgICAgIHZhciBzaGFk
b3dSb290OwotICAgICAgICAgICAgaWYgKHdpbmRvdy5XZWJLaXRTaGFkb3dSb290KQotICAgICAg
ICAgICAgICAgIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KTsKLSAg
ICAgICAgICAgIGVsc2UgaWYgKHNoYWRvd1Jvb3Rjb3VudCA9PSAxKQotICAgICAgICAgICAgICAg
IHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdChlbGVtZW50KTsKKyAgICAg
ICAgICAgIGlmIChlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QpCisgICAgICAgICAgICAg
ICAgc2hhZG93Um9vdCA9IGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdChlbGVtZW50KTsK
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0aHJvdyAiQ3JlYXRlRE9NIGNhbm5v
dCBiZSB1c2VkIHRvIGhvc3QgbXVsdGlwbGUgU2hhZG93Um9vdHMgd2l0aG91dCBuZXcgV2ViS2l0
U2hhZG93Um9vdCgpIjsKKyAgICAgICAgICAgICAgICBzaGFkb3dSb290ID0gaW50ZXJuYWxzLmNy
ZWF0ZVNoYWRvd1Jvb3QoZWxlbWVudCk7CiAgICAgICAgICAgICBpZiAoY2hpbGQuYXR0cmlidXRl
cykgewogICAgICAgICAgICAgICAgIGZvciAodmFyIGF0dHJpYnV0ZSBpbiBjaGlsZC5hdHRyaWJ1
dGVzKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFNoYWRvdyBSb290IGRvZXMgbm90IGhhdmUg
c2V0QXR0cmlidXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Nl
bGVjdC1pbWFnZS13aXRoLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NlbGVjdC1pbWFnZS13aXRoLXNoYWRvdy5odG1sCmluZGV4IGY3YzgxMjA1OTc5MDhlZmY5YmFm
ZjYwYzc4NGIwYjBkZGM2MjIzODguLjgxYTFjZThhMmM0ODZiMjk5ODdiMDNiMDJkYjJjMmJmZTQw
YTJiZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3QtaW1h
Z2Utd2l0aC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2Vs
ZWN0LWltYWdlLXdpdGgtc2hhZG93Lmh0bWwKQEAgLTksNyArOSw3IEBACiBpZiAod2luZG93Lmlu
dGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55
RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNwYW4gaWQ9J3NwYW4xJz5Lb3Rvcmk8L3Nw
YW4+PHNoYWRvdz48L3NoYWRvdz48c3BhbiBpZD0nc3BhbjInPlBpeW88L3NwYW4+IjsKIAogdmFy
IHNwYW4xID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnc3BhbjEnKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb24tc2hvdWxkbnQtZXhwb3NlLXNo
YWRvdy1kb20uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb24tc2hv
dWxkbnQtZXhwb3NlLXNoYWRvdy1kb20uaHRtbAppbmRleCAzMjg5M2M4Zjg5MDFhYzFhZWMxZDk0
NjYwM2VkNmFhMzZlNzQxY2M3Li41MjE1OWVlZjJjNjZiMmY1NGZlNmI2Mjg2ZTY4NDdkMzA0YTc1
MDVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLXNo
b3VsZG50LWV4cG9zZS1zaGFkb3ctZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NlbGVjdGlvbi1zaG91bGRudC1leHBvc2Utc2hhZG93LWRvbS5odG1sCkBAIC0yNCw3
ICsyNCw3IEBAIGZ1bmN0aW9uIGRyYWdGcm9tVG8oZWxlbWVudEZyb20sIGVsZW1lbnRUbykgewog
CiB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwog
Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChjb250YWluZXIpOwordmFy
IHNoYWRvd1Jvb3QxID0gY29udGFpbmVyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3QxLmlubmVySFRNTCA9CiAgICAgJzxkaXYgaWQ9ImRpdjEiIHRpdGxlPSJkaXYxIj5Zb3Ug
U2F0b2g8L2Rpdj4nICsKICAgICAnPGRpdiBpZD0iZGl2MiIgdGl0bGU9ImRpdjIiPlNlbiBZYXJp
enVpPC9kaXY+JyArCkBAIC0zMyw3ICszMyw3IEBAIHZhciBkaXYxID0gc2hhZG93Um9vdDEuZ2V0
RWxlbWVudEJ5SWQoJ2RpdjEnKTsKIHZhciBkaXYyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5
SWQoJ2RpdjInKTsKIHZhciBkaXYzID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2RpdjMn
KTsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2Mik7Cit2YXIg
c2hhZG93Um9vdDIgPSBkaXYyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3Qy
LmlubmVySFRNTCA9CiAgICAgJzxkaXYgaWQ9ImRpdjQiIHRpdGxlPSJkaXY0Ij5IYW5hIE9zaGly
b2k8L2Rpdj4nICsKICAgICAnPGRpdiBpZD0iZGl2NSIgdGl0bGU9ImRpdjUiPlVtZSBTaGlyYXVt
ZTwvZGl2PicgKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVj
dGlvbnMtaW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0
aW9ucy1pbi1zaGFkb3cuaHRtbAppbmRleCA3YzFjYzc5YjE5YWMzYjdjYWJmMTlmN2U2NWEyN2Q0
MTZhOTQwNmRhLi41MjhiNWU1ZGQ4YzZmNjA3NjBiYzc3OGI2NGY3ZGI0MWI3OThkNjc0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9ucy1pbi1zaGFkb3cu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9ucy1pbi1zaGFk
b3cuaHRtbApAQCAtMTQsNyArMTQsNyBAQAogPHNjcmlwdD4KIGZ1bmN0aW9uIGNyZWF0ZVNoYWRv
d0RPTShzaGFkb3dSb290LCBuYW1lKSB7CiAgICAgdmFyIGhvc3RJblNoYWRvd1Jvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7Ci0gICAgdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0SW5TaGFkb3dSb290KTsKKyAgICB2YXIgbmVzdGVkU2hh
ZG93Um9vdCA9IGhvc3RJblNoYWRvd1Jvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAg
IHZhciBzcGFuSW5TaGFkb3cgPSBjcmVhdGVTcGFuV2l0aFRleHQoJ1NQQU4gSU4gTkVTVEVEIElO
IFNIQURPVyAnICsgbmFtZSk7CiAgICAgbmVzdGVkU2hhZG93Um9vdC5hcHBlbmRDaGlsZChzcGFu
SW5TaGFkb3cpOwogCkBAIC0zOCwxMCArMzgsMTAgQEAgdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKIHZhciBzcGFuSW5Ib3N0ID0gY3JlYXRlU3BhbldpdGhUZXh0KCdJ
TiBIT1NUJyk7CiBob3N0LmFwcGVuZENoaWxkKHNwYW5Jbkhvc3QpOwogCi12YXIgb2xkZXJTaGFk
b3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgb2xkZXJTaGFkb3dSb290
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgc3BhbnMxID0gY3JlYXRlU2hh
ZG93RE9NKG9sZGVyU2hhZG93Um9vdCwgJ09MREVSJyk7CiAKLXZhciB5b3VuZ2VyU2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHlvdW5nZXJTaGFkb3dSb290ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgc3BhbnMyID0gY3JlYXRlU2hhZG93
RE9NKHlvdW5nZXJTaGFkb3dSb290LCAnWU9VTkdFUicpOwogCiB2YXIgY29udGFpbmVyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hbmQtbGlzdC1lbGVtZW50cy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hbmQtbGlzdC1lbGVtZW50cy5odG1sCmluZGV4
IDNlNWNiNmI3ODRkYmZkOGYyZDkzMjU3MDRkNGI3NzU5YjljMzExN2IuLjg1NGI1YTE1YjUxZTY1
ZTY3MTFhZjE1NTBiNzBkYWI2YzE1Yzg5ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctYW5kLWxpc3QtZWxlbWVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWFuZC1saXN0LWVsZW1lbnRzLmh0bWwKQEAgLTM1LDcg
KzM1LDcgQEAgdWwgewogLy8gICA8bGk+QzwvbGk+CiAvLyA8L29sPiAgIAogdmFyIGhvc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKIHNoYWRvdy5pbm5lckhUTUwg
PSAiPGxpPlg8L2xpPjx1bD48c2hhZG93Pjwvc2hhZG93PjwvdWw+PGxpPlk8L2xpPiI7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdh
cmUtY3JlYXRlLXNoYWRvdy1yb290LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRvdy1yb290LWV4cGVjdGVkLnR4dAppbmRl
eCBmZWU2YzMzZmJmYjk2OTkwMGE0NmVlMzJlNDU1YTNiMDAyNDU3YzRiLi4zOGRjODJlNTAyN2Nj
NTdlYzI1ZDAyNzFjYWJkY2E5NjIwYWVlYTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hh
ZG93LXJvb3QtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsNiBAQCBUZXN0cyBmb3IgU2hhZG93QXdh
cmUgSlMgQVBJcy4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHJvb3QxLmNv
bnN0cnVjdG9yIGlzIHdpbmRvdy5XZWJLaXRTaGFkb3dSb290CiBQQVNTIHJvb3QxIGlzIG5vdCBy
b290MgogUEFTUyByb290MSBpcyB3aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9z
dCkKIFBBU1Mgcm9vdDIgaXMgd2luZG93LmludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaG9z
dCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUt
Y3JlYXRlLXNoYWRvdy1yb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC5odG1sCmluZGV4IGJkZjE1M2Q2ODcwZDM4YjVl
YTc2NTQ5MTIxZjIwNWFlYmY4MmQ2NGQuLmRhNjIwYTM4NzY0NWU1MWMxOGIzNTM0YjU3MGFmNzgy
ZTExZWVjNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
YXdhcmUtY3JlYXRlLXNoYWRvdy1yb290Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hhZG93LXJvb3QuaHRtbApAQCAtMTIsNyArMTIs
NiBAQCBFbGVtZW50LnByb3RvdHlwZS5jcmVhdGVTaGFkb3dSb290ID0gRWxlbWVudC5wcm90b3R5
cGUuY3JlYXRlU2hhZG93Um9vdCB8fCBFbGVtZQogdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKIHZhciByb290MSA9IGhvc3QuY3JlYXRlU2hhZG93Um9vdCgpOwogdmFy
IHJvb3QyID0gaG9zdC5jcmVhdGVTaGFkb3dSb290KCk7Ci1zaG91bGRCZSgicm9vdDEuY29uc3Ry
dWN0b3IiLCAid2luZG93LldlYktpdFNoYWRvd1Jvb3QiKTsKIHNob3VsZE5vdEJlKCJyb290MSIs
ICJyb290MiIpOwogc2hvdWxkQmUoInJvb3QxIiwgIndpbmRvdy5pbnRlcm5hbHMub2xkZXN0U2hh
ZG93Um9vdChob3N0KSIpOwogc2hvdWxkQmUoInJvb3QyIiwgIndpbmRvdy5pbnRlcm5hbHMueW91
bmdlc3RTaGFkb3dSb290KGhvc3QpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LWNvbnRlbnQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctY29udGVudC1jcmFzaC5odG1sCmluZGV4IDJmMmIyZTliZjY1ZTYyMDQy
YTU1NDYyYjA1MzJhZDM2MWNkN2JhNjguLjY0NTJmNDk4ODlmODMwY2JjYjU5NzI4OGY5YTVmNThk
MDM2YmI4MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
Y29udGVudC1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctY29udGVudC1jcmFzaC5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiAKIDxzY3JpcHQ+CiB2YXIg
ZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwotdmFyIHJvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwordmFyIHJvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogcm9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQgc2VsZWN0PSdzcGFuJz5QQVNT
PC9jb250ZW50PiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQKaW5kZXggNjdjNTA3NDg1Zjdk
NWI2NTAyMTBlZGRmMzY1MWMyNTAyMmJjMjRhMy4uYWFiZWM5OThjNjgxOWU5N2MxNjVlMzY0MzIz
NWZlZjNmZWFlZDUxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWRpc2FibGUtZXhwZWN0ZWQudHh0CkBAIC00LDQ3ICs0LDQ3IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFCiAKIAogRElWCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1l
bnQpIGlzIG5vdCBudWxsCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlz
IG5vdCBudWxsCiBTUEFOCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5v
dCBudWxsCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBudWxs
CiBBCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCitQQVNT
IGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBudWxsCiBTRUNUSU9OCi1Q
QVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCitQQVNTIGVsZW1l
bnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBudWxsCiBJTlBVVAotUEFTUyBuZXcg
V2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNo
eVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJv
cjogRE9NIEV4Y2VwdGlvbiAzLgogdHJlZgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVt
ZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4
Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgog
QVVESU8KLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxl
bWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVy
YXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIFZJREVPCi1QQVNTIG5ldyBXZWJL
aXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVx
dWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBE
T00gRXhjZXB0aW9uIDMuCiBTRUxFQ1QKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVu
dCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNl
cHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIElN
RwotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNo
eVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogVEVYVEFSRUEKLVBBU1MgbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1
ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERP
TSBFeGNlcHRpb24gMy4KIElGUkFNRQotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogQ0FO
VkFTCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1l
bnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFy
Y2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCiBNRVRFUgotUEFTUyBuZXcgV2ViS2l0
U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVl
c3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9N
IEV4Y2VwdGlvbiAzLgogUFJPR1JFU1MKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVu
dCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNl
cHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIE9C
SkVDVAotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVt
ZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJh
cmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogRU1CRUQKLVBBU1MgbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1
ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERP
TSBFeGNlcHRpb24gMy4KIEtFWUdFTgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogVklE
RU8KLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVu
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJj
aHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIEFVRElPCi1QQVNTIG5ldyBXZWJLaXRT
aGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVz
dEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00g
RXhjZXB0aW9uIDMuCiBGSUVMRFNFVAotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCmluZGV4IDI1MzQ2NTRk
OTFkZjQzMDczYzYxYTQ2ZmRiNzdkZTY3ODg2MzMxNTguLmZlN2JhNmUyYjVlMTM4YjkzMzg4M2Zj
NjExYmFiYWI3ZmI4Mjk5MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctZGlzYWJsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctZGlzYWJsZS5odG1sCkBAIC0xNCw5ICsxNCw5IEBAIGZ1bmN0aW9uIHRlc3RUb0FkZFNo
YWRvd1Jvb3QoZWxlbWVudCwgc3VjY2VzcykgewogICAgIGRlYnVnKGVsZW1lbnQubm9kZU5hbWUp
OwogCiAgICAgaWYgKHN1Y2Nlc3MpCi0gICAgICAgIHNob3VsZE5vdEJlKCJuZXcgV2ViS2l0U2hh
ZG93Um9vdChlbGVtZW50KSIsICJudWxsIik7CisgICAgICAgIHNob3VsZE5vdEJlKCJlbGVtZW50
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSIsICJudWxsIik7CiAgICAgZWxzZQotICAgICAgICBz
aG91bGRUaHJvdygibmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkiKTsKKyAgICAgICAgc2hv
dWxkVGhyb3coImVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIik7CiB9CiAKIHZhciBl
bGVtZW50c1RvU3VjY2VzcyA9IFsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctZGl2LXJlZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1kaXYtcmVmbG93Lmh0bWwKaW5kZXggYjA5OGYxODQwZTcyODE1OGM0MWMwOTE5ZDU5
YzhiN2ZhNThiNjcyYy4uNjdjNDY2YWE3MDI1NzdiMWIwZjYwOTkzMmJlMjc0OWQyZmY4MjMwNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXYtcmVmbG93
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXYtcmVmbG93
Lmh0bWwKQEAgLTE4LDkgKzE4LDkgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7
CiAKIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLXZhciBzaGFk
b3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93MSA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93MS5pbm5lckhUTUwgPSAiPGRpdj48c2hhZG93
Pjwvc2hhZG93PjxkaXY+PC9kaXY+PC9kaXY+IjsKLXZhciBzaGFkb3cyID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93MiA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Mi5pbm5lckhUTUwgPSAiPHNlY3Rpb24+IgogICAgICAgICAgICAgICAgICAr
ICAgIjxzaGFkb3c+PC9zaGFkb3c+IgogICAgICAgICAgICAgICAgICArICAgIjxkaXY+c2Vjb25k
IGxpbmUgZm9sbG93cy48L2Rpdj4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWR5bmFtaWMtc3R5bGUtY2hhbmdlLXZpYS1tdXRhdGlvbi1hbmQtc2VsZWN0
b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZHluYW1pYy1zdHls
ZS1jaGFuZ2UtdmlhLW11dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1sCmluZGV4IDMwNWU5NWU2MDY3
MDJkNWQzMTA1ODI0MTQ5YTJhNWZhMDM0ODQ2ZmMuLmU1ZGZiYThiZjBkNzhiYjNmZWEwNDIzNDAy
NTZlNDlhNzMwYzgwZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctZHluYW1pYy1zdHlsZS1jaGFuZ2UtdmlhLW11dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZHluYW1pYy1zdHlsZS1j
aGFuZ2UtdmlhLW11dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1sCkBAIC03LDcgKzcsNyBAQCBmdW5j
dGlvbiB0ZXN0KCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChm
b28pOwogCiAgICAgdmFyIGJhciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAg
IHZhciBiYXJTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChiYXIpOworICAgIHZhciBiYXJT
aGFkb3cgPSBiYXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGJhci5zZXRBdHRyaWJ1
dGUoJ2NsYXNzJywgJ2JhcicpOwogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRD
aGlsZChiYXIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LWVsZW1lbnQtcmVuZGVyaW5nLW11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LWVsZW1lbnQtcmVuZGVyaW5nLW11bHRpcGxlLmh0bWwKaW5kZXggYTVk
ZGI2MzE1YjJmY2RjYTZiZTY3ZWM1ODRkOWQ5YTVmZmFmYmJiNy4uN2JlZTcwMTRhMTcwYmRmMWZh
NGIzYjgxZGEyMTg5YzY3NDdiOGU2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1tdWx0aXBsZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctbXVsdGlwbGUu
aHRtbApAQCAtMjQsMTIgKzI0LDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmlu
Z0RvdWJsZVNoYWRvd1Jvb3QoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290
KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3Ix
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdCRUZPUkUgMicpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc2hhZG93JykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FG
VEVSIDInKSk7CkBAIC00NiwxMSArNDYsMTEgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVu
ZGVyaW5nRG91YmxlU2hhZG93Um9vdFdpdGhPbmVTaGFkb3dFbGVtZW50KGNhbGxJZkRvbmUKICAg
ICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JF
Rk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVS
IDEnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAg
dmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTY4LDE3ICs2OCwxNyBAQCB0ZXN0
RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdUcmlwbGVTaGFkb3dSb290KGNhbGxJZkRvbmUp
IHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJv
b3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3Ix
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgn
QUZURVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsK
KyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5k
Q2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwogCi0gICAgdmFyIHNyMyA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjMgPSByb290LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdC
RUZPUkUgMycpKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
c2hhZG93JykpOwogICAgIHNyMy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVS
IDMnKSk7CkBAIC05NywxMiArOTcsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVy
aW5nVHdvU2hhZG93Um9vdHMoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290
KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3Ix
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgc2hhZG93MjEgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0ZBTExCQUNLIDItMScpKTsKICAgICB2YXIgc2hhZG93MjIgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzaGFkb3cnKTsKQEAgLTEzMCw3ICsxMzAsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5j
dGlvbiB0ZXN0V2l0aERvdWJsZVNoYWRvd1Jvb3RXaXRoQ29udGVudDEoY2FsbElmRG9uZSkgewog
CiAgICAgdmFyIHNoYWRvdzEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAg
ICBzaGFkb3cxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnU0hBRE9XIEZBTExCQUNL
IDEnKSk7Ci0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZh
ciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICB2YXIgY29udGVudDEgPSBj
cmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLnNyMScsICdDT05URU5UIEZBTExCQUNLIDEnKTsKICAg
ICBzcjEuYXBwZW5kQ2hpbGQoY29udGVudDEpOwpAQCAtMTM5LDcgKzEzOSw3IEBAIHRlc3RGdW5j
cy5wdXNoKGZ1bmN0aW9uIHRlc3RXaXRoRG91YmxlU2hhZG93Um9vdFdpdGhDb250ZW50MShjYWxs
SWZEb25lKSB7CiAKICAgICB2YXIgc2hhZG93MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3No
YWRvdycpOwogICAgIHNoYWRvdzIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdTSEFE
T1cgRkFMTEJBQ0sgMicpKTsKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9v
dCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNy
Mi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHZhciBj
b250ZW50OwogICAgIHNyMi5hcHBlbmRDaGlsZChjb250ZW50ID0gY3JlYXRlQ29udGVudFdpdGhT
ZWxlY3QoJy5zcjInLCAnQ09OVEVOVCBGQUxMQkFDSyAyJykpOwpAQCAtMTY0LDcgKzE2NCw3IEBA
IHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHRlc3RXaXRoRG91YmxlU2hhZG93Um9vdFdpdGhDb250
ZW50MihjYWxsSWZEb25lKSB7CiAKICAgICB2YXIgc2hhZG93MSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRvdzEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhU
ZXh0KCdTSEFET1cgRkFMTEJBQ0sgMScpKTsKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwog
ICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLnNyMScsICdDT05U
RU5UIEZBTExCQUNLIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKHNoYWRvdzEpOwpAQCAtMTcy
LDcgKzE3Miw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHRlc3RXaXRoRG91YmxlU2hhZG93
Um9vdFdpdGhDb250ZW50MihjYWxsSWZEb25lKSB7CiAKICAgICB2YXIgc2hhZG93MiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRvdzIuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdTSEFET1cgRkFMTEJBQ0sgMicpKTsKLSAgICB2YXIgc3IyID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JF
Rk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgn
LnNyMicsICdDT05URU5UIEZBTExCQUNLIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0
ZUNvbnRlbnRXaXRoU2VsZWN0KCdzcGFuJywgJ0NPTlRFTlQgRkFMTEJBQ0sgMycpKTsKQEAgLTE5
MCw3ICsxOTAsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3VibGVTaGFk
b3dSb290RHluYW1pY2FsbHlBZGRlZDEoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAg
c3IxLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBz
cjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwpAQCAtMTk4LDcg
KzE5OCw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0RvdWJsZVNoYWRvd1Jv
b3REeW5hbWljYWxseUFkZGVkMShjYWxsSWZEb25lKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGlsZChyb290KTsKIAogICAgIHZhciBm
ID0gKGZ1bmN0aW9uKHJvb3QsIGNhbGxJZkRvbmUpIHsgcmV0dXJuIGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgICAgIHZhciBz
cjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICAgICAgc3IyLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgICAgIHNyMi5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgICAgIHNyMi5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7CkBAIC0yMTYsMTIgKzIxNiwx
MiBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3VibGVTaGFkb3dSb290RHlu
YW1pY2FsbHlBZGRlZDIoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsK
KyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5k
Q2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdC
RUZPUkUgMicpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRF
UiAyJykpOwogCkBAIC0yNDQsMTEgKzI0NCwxMSBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiBy
ZW5kZXJpbmdEb3VibGVTaGFkb3dSb290RHluYW1pY2FsbHlBZGRlZDMoY2FsbElmRG9uZSkgewog
ICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgn
QkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZU
RVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAg
ICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMjcyLDEyICsyNzIsMTIgQEAg
dGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nRG91YmxlU2hhZG93Um9vdER5bmFtaWNh
bGx5UmVtb3ZlZDEoY2FsbElmRG9uZSkKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdN
SUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAg
dmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JF
IDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRv
dycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykp
OwpAQCAtMjk5LDEyICsyOTksMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5n
RG91YmxlU2hhZG93Um9vdER5bmFtaWNhbGx5UmVtb3ZlZDIoY2FsbElmRG9uZSkKICAgICB2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAx
JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cn
KSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsK
IAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3Iy
ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMzI1LDEyICszMjUsMTIgQEAgdGVzdEZ1bmNz
LnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTGlnaHRDaGlsZHJlbkR5bmFtaWNhbGx5QWRkZWQoY2Fs
bElmRG9uZSkgewogCiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIg
c3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMicp
KTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jykp
OwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7CkBA
IC0zNTIsMTEgKzM1MiwxMSBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdPbGRl
clNoYWRvd1Jvb3RDb250ZW50RHluYW1pY2FsbHlBZGRlZChjYWxsSWZEbwogICAgIHZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7
CiAgICAgc3IxLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsK
IAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3Iy
ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMzc4LDEyICszNzgsMTIgQEAgdGVzdEZ1bmNz
LnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTGlnaHRDaGlsZHJlbkR5bmFtaWNhbGx5UmVtb3ZlZChj
YWxsSWZEb25lKSB7CiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogCi0g
ICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSBy
b290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAg
IHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAg
c3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTQwNSwx
MyArNDA1LDEzIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ09sZGVyU2hhZG93
Um9vdENvbnRlbnREeW5hbWljYWxseVJlbW92ZWQoY2FsbElmCiAgICAgdmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnTUlEJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBz
cjEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNy
MS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsK
IAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3Iy
ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1zaW5nbGUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctc2luZ2xlLmh0bWwK
aW5kZXggNmI4OGJiZTU5NjMyZTNkN2FmNTcyOTRlZDk1ZmZkMzM0ZDU1MGY0NS4uODVjNzQ3Yjlj
YWM1MTZmNDJiNTdiYjU2MWU3NzMyYmUwODM5YTQ1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1zaW5nbGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1lbnQtcmVuZGVyaW5nLXNp
bmdsZS5odG1sCkBAIC0yNCw3ICsyNCw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRl
cmluZ1NpbmdsZVNoYWRvd1Jvb3QoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJv
b3QpOworICAgIHZhciBzciA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNy
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzci5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtNDIsNyArNDIsNyBAQCB0ZXN0
RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdOb3RGYWxsYmFja2VkKGNhbGxJZkRvbmUpIHsK
IAogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAg
ICBzaGFkb3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdGQUxMQkFDSycpKTsKLSAg
ICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cpOwogICAgIHNy
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC01OSw3ICs1OSw3
IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0ZhbGxiYWNrZWQoY2FsbElmRG9u
ZSkgewogCiAgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycp
OwogICAgIHNoYWRvdy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0ZBTExCQUNLJykp
OwotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzciA9
IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0
ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVuZENoaWxkKHNoYWRvdyk7CiAg
ICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsKQEAgLTgwLDcg
KzgwLDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTWl4ZWRPZkZhbGxiYWNr
QW5kTm9uRmFsbGJhY2soY2FsbElmRG9uZSkgewogICAgIHZhciBzaGFkb3cyID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2hhZG93Mi5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0ZBTExCQUNLIDInKSk7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAg
ICBzci5hcHBlbmRDaGlsZChzaGFkb3cxKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cyKTsK
QEAgLTk5LDcgKzk5LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nU2hhZG93
Um9vdEJlZm9yZUNvbnRlbnQoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNoYWRvdyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRvdy5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoJ1NIQURPVyBGQUxMQkFDSycpKTsKLSAgICB2YXIgc3IgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScp
KTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0
ZVNwYW5XaXRoVGV4dCgnTSAxJykpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHRlc3RGdW5jcy5wdXNo
KGZ1bmN0aW9uIHJlbmRlcmluZ1NoYWRvd1Jvb3RBZnRlckNvbnRlbnQoY2FsbElmRG9uZSkgewog
CiAgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAg
IHNoYWRvdy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ1NIQURPVyBGQUxMQkFDSycp
KTsKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3Ig
PSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVDb250
ZW50V2l0aFNlbGVjdCgnc3BhbicsICdDT05URU5UIEZBTExCQUNLJykpOwogICAgIHNyLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTSAxJykpOwpAQCAtMTM5LDcgKzEzOSw3IEBAIHRl
c3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ1NoYWRvd0VsZW1lbnREeW5hbWljYWxseUFk
ZGVkKGNhbGxJZkRvbmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicp
KTsKIAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBz
ciA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnTUlEJykpOwogCkBAIC0xNjMsNyArMTYzLDcgQEAgdGVzdEZ1bmNzLnB1c2go
ZnVuY3Rpb24gcmVuZGVyaW5nU2hhZG93RWxlbWVudER5bmFtaWNhbGx5UmVtb3ZlZChjYWxsSWZE
b25lKSB7CiAKICAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93
Jyk7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIg
c3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cp
OwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC0x
ODQsNyArMTg0LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTGlnaHRDaGls
ZHJlbkR5bmFtaWNhbGx5QWRkZWQoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KHJvb3QpOworICAgIHZhciBzciA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAg
IHNyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBz
ci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtMjA5LDcgKzIw
OSw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0xpZ2h0Q2hpbGRyZW5EeW5h
bWljYWxseVJlbW92ZWQoY2FsbElmRG9uZSkgewogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChy
b290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
ci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBl
bmRDaGlsZChzaGFkb3cpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgn
QUZURVInKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LW5lc3RlZC1wc2V1ZG8taWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctbmVzdGVkLXBzZXVkby1pZC5odG1sCmluZGV4IDM2ZTA1ZjRhMTY0MDZkMDE5M2E0MGJiM2Zj
MjA0MTZhMjJlZjE2YWUuLjRhNGJhYTg3Nzk3OTEyMzdmNzk2YTJhYWUzMTE5YzEyOGJlYWE2MmIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctbmVzdGVkLXBz
ZXVkby1pZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctbmVz
dGVkLXBzZXVkby1pZC5odG1sCkBAIC0yNiw3ICsyNiw3IEBAIHA6Ongtc2hhZG93LWNoaWxkOjp4
LW5lc3RlZC1zaGFkb3ctY2hpbGQgewogPHNjcmlwdD4KIGZ1bmN0aW9uIGJ1aWxkU2hhZG93V2l0
aE9uZUNoaWxkKGhvc3QsIGNoaWxkVGFnTmFtZSwgY2hpbGRQc2V1ZG9JZCkKIHsKLSAgICB2YXIg
c2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvdyA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHZhciBzaGFkb3dDaGlsZCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoY2hpbGRUYWdOYW1lKTsKICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQo
c2hhZG93Q2hpbGQpOwogICAgIGludGVybmFscy5zZXRTaGFkb3dQc2V1ZG9JZChzaGFkb3dDaGls
ZCwgY2hpbGRQc2V1ZG9JZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LW9uLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LW9uLWltYWdlLmh0bWwKaW5kZXggZmU3NzRkZjQ0OTBhNWUxMWNlOWRhMjk2ZWUwODlkZDgw
NGNhYzk2Yi4uZDgzMGJmNzVlZjA3YzJkNWQ5Mzg1N2I4ZmYxNzE4ZWEyOGY3N2Q5OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1vbi1pbWFnZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctb24taW1hZ2UuaHRtbApAQCAt
OSw3ICs5LDcgQEAgdmFyIGltYWdlQ29udGVudFN0eWxlID0gImNvbnRlbnQ6IHVybChkYXRhOmlt
YWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEUKIGZ1bmN0aW9uIGNyZWF0ZUltYWdl
RGl2V2l0aFNoYWRvdygpIHsKICAgdmFyIGltYWdlRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiAgIGltYWdlRGl2LnNldEF0dHJpYnV0ZSgic3R5bGUiLCBpbWFnZUNvbnRlbnRT
dHlsZSk7Ci0gIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChpbWFnZURpdik7IAor
ICB2YXIgc2hhZG93ID0gaW1hZ2VEaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOyAKICAgc2hh
ZG93LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKICAgcmV0dXJu
IGltYWdlRGl2OwogfQpAQCAtMTgsNyArMTgsNyBAQCBmdW5jdGlvbiBjcmVhdGVJbWFnZURpdldp
dGhDb250ZW50U2hhZG93KCkgewogICB2YXIgaW1hZ2VEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKICAgaW1hZ2VEaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGltYWdlQ29udGVu
dFN0eWxlKTsKICAgaW1hZ2VEaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2JykpOwotICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW1hZ2VEaXYpOyAK
KyAgdmFyIHNoYWRvdyA9IGltYWdlRGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsgCiAgIHNo
YWRvdy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgIHNoYWRv
dy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50JykpOwogICByZXR1
cm4gaW1hZ2VEaXY7CkBAIC0yNyw3ICsyNyw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUltYWdlRGl2V2l0
aENvbnRlbnRTaGFkb3coKSB7CiBmdW5jdGlvbiBjcmVhdGVJbWFnZURpdldpdGhGYWxsYmFja0Nv
bnRlbnRTaGFkb3coKSB7CiAgIHZhciBpbWFnZURpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwogICBpbWFnZURpdi5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgaW1hZ2VDb250ZW50U3R5
bGUpOwotICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW1hZ2VEaXYpOyAKKyAg
dmFyIHNoYWRvdyA9IGltYWdlRGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsgCiAgIHNoYWRv
dy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgIHZhciBjb250
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOwogICBjb250ZW50LmlubmVy
SFRNTCA9ICI8ZGl2PjwvZGl2PiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXBzZXVkby1pZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1wc2V1ZG8taWQuaHRtbAppbmRleCBlNWJmYzlkYjc3MzljNjM0MGQyM2JkZTYzMGU3
YzVlM2JlYTNkY2JkLi5hNzQ3NTFlOThiZGQwOWFhNmM0ODE5YmE2ZTYzMmFlNGUzY2UyMDg4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXBzZXVkby1pZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcHNldWRvLWlkLmh0
bWwKQEAgLTI1LDE5ICsyNSwxOSBAQCBkaXY6OmZvb2JhciB7CiA8ZGl2IGlkPSJob3N0MyI+PC9k
aXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiB2YXIgZGl2MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2MS5pbm5lckhU
TUwgPSAicHNldWRvIGlzIHgtc2hhZG93OiBUaGlzIHNob3VsZCBiZSByZWQuIjsKIGRpdjEud2Vi
a2l0UHNldWRvID0gIngtc2hhZG93IjsKIHNoYWRvd1Jvb3QxLmFwcGVuZENoaWxkKGRpdjEpOwog
Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hh
ZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgZGl2MiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2Mi5pbm5lckhUTUwgPSAicHNldWRvIGlz
IC10ZXN0OiBUaGlzIHNob3VsZCBub3QgYmUgcmVkLiI7CiBkaXYyLndlYmtpdFBzZXVkbyA9ICIt
dGVzdCI7CiBzaGFkb3dSb290Mi5hcHBlbmRDaGlsZChkaXYyKTsKIAotdmFyIHNoYWRvd1Jvb3Qz
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdjMgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKIGRpdjMuaW5uZXJIVE1MID0gInBzZXVkbyBpcyBmb29iYXI6IFRoaXMgc2hv
dWxkIG5vdCBiZSByZWQuIjsKIGRpdjMud2Via2l0UHNldWRvID0gImZvb2JhciI7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlbW92ZWNoaWxkLWFuZC1i
bHVyLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlbW92
ZWNoaWxkLWFuZC1ibHVyLWV2ZW50Lmh0bWwKaW5kZXggN2MyMzI5NDY4YzU2NmMwNzc3NzQ2ODk4
MWQ4MGU0ZTYxZTRjODk5Ni4uYTE1NjljM2U0ZjRjZjJiYWMwMDY1NmY4YmZmZjBkNGU4MjBmMmFl
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZW1vdmVj
aGlsZC1hbmQtYmx1ci1ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcmVtb3ZlY2hpbGQtYW5kLWJsdXItZXZlbnQuaHRtbApAQCAtMTAsNyArMTAsNyBA
QAogZGVzY3JpcHRpb24oJ0NoZWNrIGZvY3VzZWQgc2hhZG93IG5vZGUgZGlzcGF0Y2hzIGJsdXIg
ZXZlbnQgb24gcmVtb3ZlQ2hpbGQgb2YgaG9zdC4nKTsKIHZhciBsb2dzID0gW107CiB2YXIgdGVz
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Ci12YXIgc2hhZG93ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QodGVzdCk7Cit2YXIgc2hhZG93ID0gdGVzdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiB2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwog
c2hhZG93LmFwcGVuZENoaWxkKGlucHV0KTsKIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXIn
LCBmdW5jdGlvbiAoKSB7IGxvZ3MucHVzaCgnYmx1cicpOyB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWNsaWNrLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1jbGljay5odG1s
CmluZGV4IGQ2OTE4NjEyODdjN2JlY2UwM2ZlNWYxMmQ2NmYzMWFiM2Y1ZTgyM2YuLjk0NGQ0ZWJl
MjM1MzcwNzhlMDZhYjBkNzFmN2M2ODZhYmUxZjZkMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWNsaWNrLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tY2xpY2suaHRtbApA
QCAtMTIsMTQgKzEyLDE0IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiAKLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXQiPk9sZGVzdCBTaGFk
b3dSb290IENoaWxkPC9kaXY+JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QzIj48c2hhZG93
Pjwvc2hhZG93Pjxjb250ZW50PjwvY29udGVudD48ZGl2PllvdW5nZXN0IFNoYWRvd1Jvb3QgQ2hp
bGQ8L2Rpdj48L2Rpdj4nOwogCiB2YXIgaG9zdDMgPSBzaGFkb3dSb290Mi5nZXRFbGVtZW50QnlJ
ZCgnaG9zdDMnKTsKLXZhciBzaGFkb3dSb290MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qz
KTsKK3ZhciBzaGFkb3dSb290MyA9IGhvc3QzLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNo
YWRvd1Jvb3QzLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7
CiAKIGNvbnRhaW5lci5vZmZzZXRMZWZ0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sCmluZGV4IDdi
MzQ1MjE1YjgyYWZiZmNjMzViMTMzNmQ0OWVjYmFjMzRmMjNhMjIuLjExMDM1ZmE2YmM0YTJiZGM4
OGViMzc0NjZlZWIyYTc3NGZhNmI5MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWwKQEAgLTgs
MTQgKzgsMTQgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj5PbGRlc3QgU2hhZG93Um9v
dCBDaGlsZDwvZGl2Pic7CiAKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MyI+PHNoYWRvdz48L3No
YWRvdz48Y29udGVudD48L2NvbnRlbnQ+PGRpdj5Zb3VuZ2VzdCBTaGFkb3dSb290IENoaWxkPC9k
aXY+PC9kaXY+JzsKIAogdmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hv
c3QzJyk7Ci12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7Cit2
YXIgc2hhZG93Um9vdDMgPSBob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290My5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogCiBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWwKaW5kZXggZThj
NDNmMjBmMWJkYTU0NThkNmU0ZTU5MDAwMjBhNWU2OGIxYTQ1NC4uMWVkZTE0OWMzNzM2NDBhMzFj
ODkzZDllMzY3NTk4YWYxMWJiOWYwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sCkBAIC01
LDE3ICs1LDE3IEBACiA8ZGl2IGlkPSJob3N0MSI+PGRpdj5Ib3N0IENoaWxkPC9kaXY+PC9kaXY+
CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBz
aGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPk9sZGVzdCBTaGFkb3dSb290
IENoaWxkPC9kaXY+JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDEpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxzaGFkb3c+PC9zaGFkb3c+PGNvbnRlbnQ+PC9j
b250ZW50PjxzaGFkb3c+PGRpdiB0aXRsZT0iZGVidWdzdG9wIj5TaGFkb3cgRmFsbGJhY2sgRWxl
bWVudCAoMSk8L2Rpdj48L3NoYWRvdz4nOwogCi12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDMgPSBob3N0MS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBzaGFkb3dSb290My5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDQiPjxz
aGFkb3c+PC9zaGFkb3c+PHNoYWRvdz48ZGl2PlNoYWRvdyBGYWxsYmFjayBFbGVtZW50ICgyKTwv
ZGl2Pjwvc2hhZG93PjxzcGFuPk5vdCByZW5kZXJlZCAoMSk8L3NwYW4+PHNoYWRvdz48c3Bhbj5O
b3QgcmVuZGVyZWQgKDIpPC9zcGFuPjwvc2hhZG93PjwvZGl2Pic7CiAKIHZhciBob3N0NCA9IHNo
YWRvd1Jvb3QzLmdldEVsZW1lbnRCeUlkKCdob3N0NCcpOwotdmFyIHNoYWRvd1Jvb3Q0ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDQpOwordmFyIHNoYWRvd1Jvb3Q0ID0gaG9zdDQud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaGFkb3dSb290NC5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24uaHRtbAppbmRleCA3NDQ1MDgy
ZWE4MmM3YjkzZWEwMDBjYjZiNjVhYWQxNTdjMjA0ZjE3Li42YTFhYzNkOTNmZmM5MTMzZDIxNTJh
N2RhNWYzMWEwNWUwMjllOThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXJlcHJvamVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLmh0bWwKQEAgLTUsMTQgKzUsMTQgQEAKIDxkaXYgaWQ9
Imhvc3QxIj48ZGl2Pkhvc3QgQ2hpbGQ8L2Rpdj48L2Rpdj4KIAogPHNjcmlwdD4KLXZhciBzaGFk
b3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9
IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9
ICc8ZGl2IGlkPSJob3N0MiI+T2xkZXN0IFNoYWRvd1Jvb3QgQ2hpbGQ8L2Rpdj4nOwogCi12YXIg
c2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9v
dDIgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhU
TUwgPSAnPGRpdiBpZD0iaG9zdDMiPjxzaGFkb3c+PC9zaGFkb3c+PGNvbnRlbnQ+PC9jb250ZW50
PjxkaXY+WW91bmdlc3QgU2hhZG93Um9vdCBDaGlsZDwvZGl2PjwvZGl2Pic7CiAKIHZhciBob3N0
MyA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRCeUlkKCdob3N0MycpOwotdmFyIHNoYWRvd1Jvb3Qz
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDMuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JzsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbjIuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sCmluZGV4
IDlmN2Q3NzYyMzM0N2ZmMzZkNTg1YjZjMzIzOTQ1ZTY1ODgyNWQ1NTUuLjdjMjRiNjI2MDRjYmVk
ODUyZjNiYTg1MjY2M2JlN2M1Mjc0M2Y4ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sCkBAIC01LDE0ICs1LDE0IEBA
CiA8ZGl2IGlkPSJob3N0MSI+PGRpdj5CPC9kaXY+PC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hh
ZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEg
PSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwg
PSAnPHNoYWRvdz48L3NoYWRvdz4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDMiPjxzaGFk
b3c+PC9zaGFkb3c+PC9kaXY+JzsKIAogdmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVu
dEJ5SWQoJ2hvc3QzJyk7Ci12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0Myk7Cit2YXIgc2hhZG93Um9vdDMgPSBob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290My5pbm5lckhUTUwgPSAnPGRpdj5BPC9kaXY+PGNvbnRlbnQgc2VsZWN0PSJk
aXYiPjwvY29udGVudD48ZGl2PkM8L2Rpdj4nOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBlbmQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBlbmQuaHRtbAppbmRleCA1ZGE4
OGM1YmUxYTNmZjJlOTA1NTNiMDliYWI1YzgxNjc5Y2ZlZTIxLi42Mjk0OWIyODBmMTI0MWQwMzM2
ZDQ3MmUxYTkwYjMwZTA1YTFiMzhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtYXBwZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yb290LWFwcGVuZC5odG1sCkBAIC0xNiw3ICsxNiw3IEBAIGZ1bmN0aW9u
IGRvVGVzdCgpIHsKICAgICB9CiAKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7Ci0gICAgcm9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgcm9v
dCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnU1MnKSk7CiAKICAgICBjb250YWluZXIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7CkBAIC0yNiw3ICsyNiw3IEBAIGZ1bmN0aW9u
IGRvVGVzdCgpIHsKICAgICBzaG91bGRCZSgnY29udGFpbmVyLmZpcnN0Q2hpbGQudGV4dENvbnRl
bnQnLCAnIlNTIicpOwogCiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwotICAgIHJvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHJvb3QgPSBk
aXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoJ1BBJykpOwogCiAgICAgY29udGFpbmVyLmluc2VydEJlZm9yZShy
b290LCBjb250YWluZXIuZmlyc3RDaGlsZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCmlu
ZGV4IDYxOGVjODIwMDA3YWU4ZGIwZmM3NWIyMWQ0M2Y4NTFjZmVkZDJhZWQuLmNiNzk3YjE4ODEx
Nzc4NjBmZGJhMmFkZGIzZmJlZmMwNjExM2FlOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5o
dG1sCkBAIC01OSw3ICs1OSw3IEBAIGZ1bmN0aW9uIHJlbmRlckFwcGx5QXV0aG9yU3R5bGVDYXNl
KCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXBwbHktYXV0aG9yLXN0eWxlJykuYXBwZW5kQ2hpbGQo
ZGl2KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsK
KyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
YXNzZXJ0RmFsc2UoJ2RlZmF1bHQgYXBwbHlBdXRob3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5
QXV0aG9yU3R5bGVzKTsKICAgICBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsK
ICAgICBhc3NlcnRUcnVlKCdhcHBseUF1dGhvclN0eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNoYWRv
d1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwpAQCAtNzAsNyArNzAsNyBAQCBmdW5jdGlvbiByZW5k
ZXJOb0FwcGx5QXV0aG9yU3R5bGVDYXNlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm8tYXBwbHkt
YXV0aG9yLXN0eWxlJykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgYXBwbHlBdXRo
b3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKICAgICBzaGFkb3dSb290
LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7CiAgICAgYXNzZXJ0RmFsc2UoJ2FwcGx5QXV0aG9y
U3R5bGVzIHNob3VsZCBiZSBmYWxzZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwpA
QCAtODEsNyArODEsNyBAQCBmdW5jdGlvbiByZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aElubGlu
ZVN0eWxlRGVjbGFyYXRpb25DYXNlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2l0aC1pbmxpbmUt
c3R5bGUtZGVjbGFyYXRpb24nKS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCBhcHBs
eUF1dGhvclN0eWxlcycsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwogICAgIHNoYWRv
d1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOwogICAgIGFzc2VydFRydWUoJ2FwcGx5QXV0
aG9yU3R5bGVzIHNob3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7
CkBAIC05Miw3ICs5Miw3IEBAIGZ1bmN0aW9uIHJlbmRlckFwcGx5QXV0aG9yU3R5bGVXaXRoT3Zl
cnJpZGluZ0ltcG9ydGFudFByb3BlcnR5Q2FzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyeS10
by1vdmVycmlkZS1pbXBvcnRhbnQnKS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNoYWRv
d1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0g
ZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCBh
cHBseUF1dGhvclN0eWxlcycsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwogICAgIHNo
YWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOwogICAgIGFzc2VydFRydWUoJ2FwcGx5
QXV0aG9yU3R5bGVzIHNob3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxl
cyk7CkBAIC0xMDMsNyArMTAzLDcgQEAgZnVuY3Rpb24gdGVzdENoYW5naW5nQXBwbHlBdXRob3JT
dHlsZUZyb21UcnVlVG9GYWxzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYW5nZS1hcHBseS1h
dXRob3Itc3R5bGUtZnJvbS10cnVlLXRvLWZhbHNlJykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAg
IHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hh
ZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgYXNzZXJ0RmFsc2Uo
J2RlZmF1bHQgYXBwbHlBdXRob3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVz
KTsKICAgICBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKICAgICBhc3NlcnRU
cnVlKCdhcHBseUF1dGhvclN0eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3QuYXBwbHlB
dXRob3JTdHlsZXMpOwpAQCAtMTI0LDcgKzEyNCw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2luZ0Fw
cGx5QXV0aG9yU3R5bGVGcm9tRmFsc2VUb1RydWUoKSB7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGFu
Z2UtYXBwbHktYXV0aG9yLXN0eWxlLWZyb20tZmFsc2UtdG8tdHJ1ZScpLmFwcGVuZENoaWxkKGRp
dik7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7Cisg
ICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNo
YWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKICAgICBhc3NlcnRGYWxzZSgnYXBw
bHlBdXRob3JTdHlsZXMgc2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0
eWxlcyk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdj48c3BhbiBpZD0idGVzdDIi
Pjwvc3Bhbj48L2Rpdj4nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWF0dGFjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtYXR0YWNoZWQuaHRtbAppbmRleCBmYmI2Zjg2YzJmYmYxMGQ4MTNmOGMzMDU1
YWIzMzBmNjYwZjM2ZWUwLi5mNTEyNWZiZDQwODVmNWIwNTlhYWRiNTdmNDYyNTllYjJjODY5NDBj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXR0
YWNoZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
YXR0YWNoZWQuaHRtbApAQCAtMTcsNyArMTcsNyBAQCB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpOwogICAgIHdpbmRvdy5saWdodCA9IGNyZWF0ZVNw
YW5XaXRoVGV4dCgnTElHSFQnKTsKICAgICByb290LmFwcGVuZENoaWxkKGxpZ2h0KTsKIAotICAg
IHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNo
YWRvd1Jvb3QgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHNob3VsZEJl
KCdpbnRlcm5hbHMuYXR0YWNoZWQobGlnaHQpJywgJ2ZhbHNlJyk7CiAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmFwcGVuZENoaWxkKHJvb3QpOwpAQCAtMjksNyArMjks
NyBAQCB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
OwogICAgIHdpbmRvdy5saWdodCA9IGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQnKTsKICAgICBy
b290LmFwcGVuZENoaWxkKGxpZ2h0KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSByb290LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRX
aXRoU2VsZWN0KCdzcGFuJykpOwogCiAgICAgc2hvdWxkQmUoJ2ludGVybmFscy5hdHRhY2hlZChs
aWdodCknLCAnZmFsc2UnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1pbm5lckhUTUwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1pbm5lckhUTUwuaHRtbAppbmRleCBkMDc4N2I0YWI0ZmVhMGZiYmE4NDI4
ODNkZDdhZjAyMDE4ODZmZmE4Li44MGZlZjkxNWEwMGZkZDliNWM5M2YwODVlMDAxNGE1NTczOTBk
NTE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
aW5uZXJIVE1MLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LWlubmVySFRNTC5odG1sCkBAIC0xNyw3ICsxNyw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogCiBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGhvc3QpOwotcm9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
Oworcm9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiB2YXIgZGl2MSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogZGl2MS5zZXRBdHRyaWJ1dGUoImlkIiwgImRp
djEiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1qcy1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQKaW5kZXggOTNmMGJjNTNiMjQyY2E1YWQ4YjdkYWM4
NmUxNDQzM2ZmZjM1OTdjMS4uOTlmZjA2Zjc5YjcwODhhNzY5YjQ1NTFiZmU0OTEzMjE1OGQ4Yjhh
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpz
LWFwaS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQKQEAgLTMsMTAgKzMsNiBAQCBUZXN0cyBmb3IgU2hh
ZG93Um9vdCBKUyBBUElzLiBDYW4gb25seSBydW4gd2l0aGluIERSVAogT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgogCiAKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IFdlYktpdFNoYWRv
d1Jvb3QodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RF
cnJvcjogRE9NIEV4Y2VwdGlvbiAzLgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChudWxsKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlv
biAzLgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdCgxKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogUEFTUyBzaGFkb3dSb290
LmdldEVsZW1lbnRCeUlkKCdkaXYxJykgaXMgZGl2MQogUEFTUyBzaGFkb3dSb290LmdldEVsZW1l
bnRCeUlkKCdmb28nKSBpcyBudWxsCiBQQVNTIHNoYWRvd1Jvb3QuZ2V0RWxlbWVudHNCeUNsYXNz
TmFtZSgnY2xhc3MyJykgaXMgW2RpdjJdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKaW5kZXggZGM1MWM2Yzg3ZGMwZWU5NmQ5M2Ey
MTBjYmRjZDE2MmQxYzcxYjM1Mi4uMjk3OGI5NDkxNmZkM2FiMGNiYTM1NmEyZDI5NTJlMmE4NjQ5
OGU0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWpzLWFwaS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1qcy1hcGkuaHRtbApAQCAtMTQsMTMgKzE0LDkgQEAgZGVzY3JpcHRpb24oIlRlc3RzIGZvciBT
aGFkb3dSb290IEpTIEFQSXMuIENhbiBvbmx5IHJ1biB3aXRoaW4gRFJUIik7CiAKIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLXNob3VsZFRocm93
KCJuZXcgV2ViS2l0U2hhZG93Um9vdCgpIik7Ci1zaG91bGRUaHJvdygibmV3IFdlYktpdFNoYWRv
d1Jvb3QodW5kZWZpbmVkKSIpOwotc2hvdWxkVGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290KG51
bGwpIik7Ci1zaG91bGRUaHJvdygibmV3IFdlYktpdFNoYWRvd1Jvb3QoMSkiKTsKIHZhciBzaGFk
b3dIb3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHNoYWRvd0hvc3QpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChzaGFkb3dIb3N0KTsKK3ZhciBzaGFkb3dSb290ID0gc2hhZG93SG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAKIHZhciBkaXYxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CiBkaXYxLnNldEF0dHJpYnV0ZSgiaWQiLCAiZGl2MSIpOwpAQCAtNTQsNyArNTAsNyBAQCBz
aG91bGRCZU51bGwoInNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmZvbycpIik7CiBzaG91bGRC
ZSgic2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYnKSIsICJbZGl2MSwgZGl2Ml0iKTsK
IHNob3VsZEJlKCJzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2ZvbycpIiwgIltdIik7CiAK
LXZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHNoYWRvd0hvc3Qp
OwordmFyIHlvdW5nZXJTaGFkb3dSb290ID0gc2hhZG93SG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiBzaG91bGROb3RCZSgieW91bmdlclNoYWRvd1Jvb3QiLCAic2hhZG93Um9vdCIpOwog
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1u
ZXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LW5ldy1leHBlY3RlZC50eHQKaW5kZXggZTk5MzhkY2Q4YTY3ZGJkMWFiNWM0OWZkMWIyMTBlNTA4
YzQ3OWVjZC4uMGI4ZjE4M2E0N2M1YmY2OGE1ODY4MmJkNmM2MWRhYWRlOTA2ZmRjMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3Qg
J25ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2
KSBhcmUgdGhlIHNhbWUuCitUaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3QgJ2hvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUgdGhl
IHNhbWUuCiAKIFBBU1Mgcm9vdDEgaXMgcm9vdDIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1uZXcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcu
aHRtbAppbmRleCBkNjIxZDcxMDg0MzRjY2NmYzE3MzE0ZmJmZjE3ZGQ5ODI0YTY0NzVkLi40YTVk
MzdmYmNiZGU3MTE2YjkxZjAwYzRhNjg1MTI4ZGM4NTU1YTVjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sCkBAIC00LDcgKzQsNyBAQAog
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keT4KLTxwPlRoaXMgdGVzdCBjaGVja3MgdGhlIG9iamVjdCAnbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCknIGFuZCBpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYpIGFyZSB0
aGUgc2FtZS48L3A+Cis8cD5UaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3QgJ2hvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUgdGhl
IHNhbWUuPC9wPgogPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CiAKIDxzY3JpcHQ+CkBAIC0xNSw4
ICsxNSw4IEBAIGZ1bmN0aW9uIGRvVGVzdCgpIHsKICAgICB9CiAKICAgICBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAvLyB3ZSBzaG91bGQgY2FsbCBuZXcgV2ViS2l0
U2hhZG93Um9vdCBmaXJzdC4KLSAgICByb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7
CisgICAgLy8gd2Ugc2hvdWxkIGNhbGwgd2ViS2l0Q3JlYXRlU2hhZG93Um9vdCBmaXJzdC4KKyAg
ICByb290MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgcm9vdDIgPSBpbnRl
cm5hbHMuc2hhZG93Um9vdChkaXYpOwogCiAgICAgc2hvdWxkQmUoJ3Jvb3QxJywgJ3Jvb3QyJyk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtcmVz
ZXRTdHlsZUluaGVyaXRhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtcmVzZXRTdHlsZUluaGVyaXRhbmNlLmh0bWwKaW5kZXggYzFiOGQyNmE4Mjc1NWQy
OWMyMGJjMDJiZmM5YThiMDA3OTg3NmJmNS4uMmU3YzBiNzBkYjE4N2YwZWI2MGVjODM3ODU4N2Jk
OGNhYmM3OWYzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbApAQCAtNjAs
NyArNjAsNyBAQCBmdW5jdGlvbiByZW5kZXJXaXRoTm9SZXNldFN0eWxlSW5oZXJpdGFuY2UoKSB7
CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRpdi5j
bGFzc05hbWUgPSAncmVzZXRUZXN0JzsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgcmVzZXRTdHlsZUluaGVyaXRh
bmNlIHNob3VsZCBiZSBmYWxzZScsIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlKTsK
ICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2PnRleHQ8L2Rpdj4nOwogICAgIApAQCAt
NzEsNyArNzEsNyBAQCBmdW5jdGlvbiByZW5kZXJXaXRoUmVzZXRTdHlsZUluaGVyaXRhbmNlKCkg
ewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBkaXYu
Y2xhc3NOYW1lID0gJ3Jlc2V0VGVzdCc7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIGFzc2VydEZhbHNlKCdkZWZhdWx0IHJlc2V0U3R5bGVJbmhlcml0
YW5jZSBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290LnJlc2V0U3R5bGVJbmhlcml0YW5jZSk7
CiAgICAgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSB0cnVlOwogICAgIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gJzxkaXY+dGV4dDwvZGl2Pic7CkBAIC04NCw3ICs4NCw3IEBAIGZ1
bmN0aW9uIHJlbmRlcldpdGhDaGFuZ2luZ1Jlc2V0U3R5bGVJbmhlcml0YW5jZUZyb21UcnVlVG9G
YWxzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAg
ICAgZGl2LmNsYXNzTmFtZSA9ICdyZXNldFRlc3QnOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCByZXNldFN0eWxl
SW5oZXJpdGFuY2Ugc2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJp
dGFuY2UpOwogICAgIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gdHJ1ZTsKICAg
ICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0MSI+dGV4dDwvZGl2Pic7CkBA
IC0xMDcsNyArMTA3LDcgQEAgZnVuY3Rpb24gcmVuZGVyV2l0aENoYW5naW5nUmVzZXRTdHlsZUlu
aGVyaXRhbmNlRnJvbUZhbHNlVG9UcnVlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKICAgICBkaXYuY2xhc3NOYW1lID0gJ3Jlc2V0VGVzdCc7CiAKLSAg
ICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNo
YWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGFzc2VydEZhbHNl
KCdkZWZhdWx0IHJlc2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dS
b290LnJlc2V0U3R5bGVJbmhlcml0YW5jZSk7CiAgICAgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5o
ZXJpdGFuY2UgPSBmYWxzZTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0
ZXN0MiI+dGV4dDwvZGl2Pic7CkBAIC0xMzcsNyArMTM3LDcgQEAgZnVuY3Rpb24gcmVuZGVyUmVz
ZXRTdHlsZUluaGVyaXRhbmNlRm9yQ29udGVudCgpIHsKICAgICBkaXYuY2xhc3NOYW1lID0gJ3Jl
c2V0VGVzdCc7CiAgICAgZGl2LmFwcGVuZENoaWxkKGNyZWF0ZURpdldpdGhUZXh0KCd0ZXh0Jykp
OwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAg
IHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFk
b3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7CiAg
ICAgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSB0cnVlOwogICAgIGFzc2VydFRy
dWUoJ3Jlc2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3QucmVz
ZXRTdHlsZUluaGVyaXRhbmNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBmdW5jdGlvbiByZW5kZXJO
b1Jlc2V0U3R5bGVJbmhlcml0YW5jZUZvckNvbnRlbnQoKSB7CiAgICAgZGl2LmNsYXNzTmFtZSA9
ICdyZXNldFRlc3QnOwogICAgIGRpdi5hcHBlbmRDaGlsZChjcmVhdGVEaXZXaXRoVGV4dCgndGV4
dCcpKTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsK
KyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4n
OwogICAgIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gZmFsc2U7CiAgICAgYXNz
ZXJ0RmFsc2UoJ3Jlc2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dS
b290LnJlc2V0U3R5bGVJbmhlcml0YW5jZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LXNlbGVjdC1hdHRyaWJ1dGUtZmVhdHVyZXNldC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1zZWxlY3QtYXR0cmlidXRlLWZlYXR1cmVz
ZXQuaHRtbAppbmRleCAwNjY2ZjcxN2UwZWY4ZDAyM2Q3OTcwZjA5YmIyMmMzZTkwN2M1ZTgxLi40
MmJhNzY3MWQ5MTMwMGUwODQyY2RlYWE4NzA4NGFmZDg2MWQ2YzhlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXNlbGVjdC1hdHRyaWJ1dGUtZmVhdHVyZXNl
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctc2VsZWN0LWF0
dHJpYnV0ZS1mZWF0dXJlc2V0Lmh0bWwKQEAgLTExMSw3ICsxMTEsNyBAQCB0ZXN0Q2FzZShmdW5j
dGlvbigpCiB7CiAgICAgZGVidWcoJ011bHRpcGxlIFNoYWRvd1Jvb3QgY2FzZScpOwogCi0gICAg
dmFyIGFub3RoZXJTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAg
dmFyIGFub3RoZXJTaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAK
ICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNmb28iPjwvY29u
dGVudD4nOwogICAgIGFub3RoZXJTaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxl
Y3Q9IiNiYXIiPjwvY29udGVudD48Y29udGVudCBzZWxlY3Q9ImRpdltiYXpdLC5iYXIiPjwvY29u
dGVudD4nOwpAQCAtMTUyLDcgKzE1Miw3IEBAIHRlc3RDYXNlKGZ1bmN0aW9uKCkKICAgICBzaGFk
b3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNmb28iPjwvY29udGVudD4nOwog
CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHZhciBu
ZXN0ZWRTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgbmVz
dGVkU2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgbmVzdGVk
U2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjYmFyIj48L2NvbnRlbnQ+
JzsKICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbAppbmRleCA2Yjg4MWViMmRjZTk3ZDFiNTM3
NDFjYThhNmIxYzVmOTcwMTQ3OTdmLi5hYjRhMmVmNDRlMjc3OTU2Zjc2OGFiYWM0ZjhkYzdkNGNl
MjM1NDkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXVs
LWxpLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy11bC1saS5o
dG1sCkBAIC05LDcgKzksNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgIHZhciBob3N0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChob3N0KTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cisg
ICAgdmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgdmFy
IHVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndWwnKTsKICAgICB2YXIgbGkgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdsaScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1keW5hbWljLXN0eWxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZHluYW1pYy1zdHlsaW5nLmh0bWwKaW5kZXggOGZiODM4ZDBj
NDNkNTRmOGM3NDBiNDkzZWY2ZGU5ZGM0NzNmNWNiNS4uNWI0YWJlZGY1MDg3YjZhZmVjY2VkMGQy
YjdlYTMxOTExY2Y3ZTI0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1keW5hbWljLXN0eWxpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWR5bmFtaWMtc3R5bGluZy5odG1sCkBAIC0xNiwxMCArMTYsMTAg
QEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICA8L2Rpdj4KIDxzY3JpcHQ+CiB2YXIgYm94ID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2JveCIpOwotdmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChib3gpOwordmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBib3gud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogb2xkZXN0U2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGNv
bnRlbnQ+PC9jb250ZW50PiI7CiAgICAgCi12YXIgeW91bmdlc3RTaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2l0ZW0iKSk7Cit2YXIgeW91
bmdlc3RTaGFkb3dSb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2l0ZW0iKS53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiB5b3VuZ2VzdFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzdHls
ZT4iICsKICAgICAgICIuc2VsZWN0ZWQge2JhY2tncm91bmQ6IHJlZDt9IiArCiAgICAgICAiPC9z
dHlsZT4iICsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWJ1dHRvbi1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggYThk
Y2Y4M2FiMzg5OGRkMmY2OWE5N2VmMjE5NTI5MTJmMjc5MTZiZi4uYTY0NmUyZDNmMDRmOWUwZTNl
NzNkMmIwNTA1NGVhOTU2MDRlOGUxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hh
ZG93Lmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdj48Y29udGVudCBzZWxlY3Q9InNw
YW4iPjwvY29udGVudD48c2hhZG93Pjwvc2hhZG93PjwvZGl2PicKIDwvc2NyaXB0PgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24t
b25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWJ1dHRvbi1vbmx5LXNoYWRvdy5odG1sCmluZGV4IDZkNDg1NDg5ODY4MDI0NjlmZTM5ODRk
MzAzYzI5MmRiODNkNDFiM2IuLjg2ODBkYzJmMDY1NzBhZmQ4OTJlMWYxYjJjNWQxYjY5ZWU3YWJj
ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWJ1dHRvbi1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1vbmx5LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsxMCw3IEBA
CiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7
Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRv
d1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJI
VE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IgogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24td2l0aG91
dC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWJ1dHRvbi13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IDdiYjEzZTFhY2I4NTQ5MGQ4YmExZjJi
ODIzYmJkNzJiYjMzYzdkOWEuLjM5NjVjNGJiNzY4MGM3NDVmODkzMjE4Y2M4ZmMzNzYxZGEyMzRh
ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWJ1dHRvbi13aXRob3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsx
MCw3IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdo
b3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFy
IHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIDwvc2NyaXB0Pgog
CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1idXR0b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWJ1dHRvbi5odG1sCmluZGV4IDUwNDYwM2M2MmU3N2JmYWE4MDBhYTFmMWY1YTMzNTQ5
N2JhNzg4NjEuLjU2ZTZkMzQ0YWM0MjVlYzE5NTM5YTYyOTZkYTBkOWIwZjlmMWQzMTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRv
bi5odG1sCkBAIC0xMCwxMiArMTAsMTIgQEAKIDxidXR0b24gaWQ9Imhvc3QyIj5Lb3Rvcmk8L2J1
dHRvbj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiBPdG9uYXNoaSI7
CiAKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3ZhciBz
aGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3Qy
LmlubmVySFRNTCA9ICJmb28gPHNoYWRvdz48L3NoYWRvdz4gYmFyIjsKLXZhciBzaGFkb3dSb290
MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MyA9IGhvc3Qy
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QzLmlubmVySFRNTCA9ICJGT08g
PHNoYWRvdz48L3NoYWRvdz4gQkFSIjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1jb21wbGV4LXNoYWRv
dy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRz
ZXQtY29tcGxleC1zaGFkb3cuaHRtbAppbmRleCBhNDAyYmFiOTViZjY4NmFmYmQ1NGViNjg0ZGQx
ZDBhOGVkMzcxMWEwLi41NzkyOTlkMzg5OGVkYTA2NTc4NmY1MGIyNjI0ZWI1M2Y0ZjRiMzMxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVs
ZHNldC1jb21wbGV4LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTEyLDYgKzEy
LDYgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hv
c3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9jb250ZW50PjxkaXYgc3R5bGU9J21hcmdpbjogMjBweCc+
PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LW9ubHktc2hhZG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1v
bmx5LXNoYWRvdy5odG1sCmluZGV4IGJjMDA2Zjc2NTkxZDZkMDEyMWNkZmEzNGY3ODY0MDFlZDRk
Yjk4ZmUuLjQzNGE2YjQ4MjFmNDhkNDA0ZWI4ZmJhNmZiNTg4YjEzYTUzMjg5ZWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LW9u
bHktc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItZmllbGRzZXQtb25seS1zaGFkb3cuaHRtbApAQCAtMTUsNiArMTUsNiBAQCBpZiAod2lu
ZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9N
Rm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iCiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxk
c2V0LXdpdGhvdXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1maWVsZHNldC13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IGY2YmNiYjI0Mzky
ZmU0YjM2N2RhOGI1NDQ0ZDJkOWFhZmFiOWRmNTcuLjFlMGIyODFlOTUwNWJjMWViNzIzZjI1YzZj
Mjg4YjMzNTYzZjQ5Y2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWZpZWxkc2V0LXdpdGhvdXQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtd2l0aG91dC1zaGFkb3cu
aHRtbApAQCAtMTQsNSArMTQsNSBAQAogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxl
ZCh0cnVlKTsKIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZh
ciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9v
dCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFzc29jaWF0
ZWQtZWxlbWVudC11c2VyYWdlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWZvcm0tYXNzb2NpYXRlZC1lbGVtZW50LXVzZXJhZ2VudC5odG1sCmluZGV4
IGVmZTdlMGQ1NDUzMWZlYWY4NmEyNmE2MWRmOGZjYjdmNWY4YWM2MDEuLjdjMjg1ZjAyODZjN2Nk
YzIwNjk4NGMwMGEzODNiMDJhODA0MzA5MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZvcm0tYXNzb2NpYXRlZC1lbGVtZW50LXVzZXJhZ2Vu
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZv
cm0tYXNzb2NpYXRlZC1lbGVtZW50LXVzZXJhZ2VudC5odG1sCkBAIC0zNSw3ICszNSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogCiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtcy5sZW5ndGg7ICsr
aSkgewogICAgICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1zW2ld
KTsKLSAgICAgICAgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAg
ICAgICBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgICAg
IHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IjsKIAogICAgICAgICBv
bGRlc3RTaGFkb3dSb290ID0gaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9zdCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1h
bHQtdXBkYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1pbWFnZS1hbHQtdXBkYXRlLmh0bWwKaW5kZXggN2EzMThkYzRkNWM3MDg4ZjM2YjI5MzVlY2Zk
MTExYjg2YmFkNWYwZC4uMGVlNzJmMjViYjdlNDQxNGVhMDVmMTM3NTBiNmM5ZWQ5Mjg4ZWUwZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtYWx0LXVwZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWltYWdlLWFsdC11cGRhdGUuaHRtbApAQCAtMTQsNyArMTQsNyBAQCBpZiAod2lu
ZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9N
Rm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0
KSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAg
ICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNo
YWRvd1Jvb3QuaW5uZXJIVE1MID0gIihiZWZvcmUpPHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIpIjsK
IAogICAgIHZhciB1c2VyQWdlbnRTaGFkb3dSb290ID0gaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jv
b3QoaG9zdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1pbWFnZS1hbHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWltYWdlLWFsdC5odG1sCmluZGV4IDJjMmNkZTVmMGQ1MmNhYTIxYzc2NjhlYjQz
YzUxMTlkMjE2M2JhODUuLjMyNWI3N2UyMzY4MGJmNzkwODJhNGZhMmIwMThmZGE5Y2ZhNmRhMzkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWlt
YWdlLWFsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWltYWdlLWFsdC5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50
RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dS
b290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5l
ckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwogCiAgICAgdmFyIHVz
ZXJBZ2VudFNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChob3N0KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdl
LWNvbnRlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLWNvbnRlbnQuaHRtbAppbmRleCA0ZWU3MGMyZTYzOTdmM2MzNjFhZmQ3NDA4ZjgzZDI0
MTY3ZDViMDExLi4xZjczNTcwZjQwZTcyOTkxMDdiYTg0MjdmZWQzMzkyODI3OTZlMzg5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1j
b250ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItaW1hZ2UtY29udGVudC5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVt
ZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFk
b3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcik8Y29udGVudD48L2Nv
bnRlbnQ+IjsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2UtZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtZHluYW1pYy5odG1sCmluZGV4IGUzNzYzOGVjNzJlYWUw
NGVhOTQ2ODRhMzNjMWIzMzNiYzc4MTliMGEuLjYyOTc3ZTQzOWFjYjcyNjNjYzk2ZjRkZjZmZGY3
NGE4ZmQ2MDVjZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWltYWdlLWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1keW5hbWljLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNo
YWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dE
T00oaG9zdCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
ICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFm
dGVyKSIKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItaW1hZ2UtZXZlbnQtY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWV2ZW50LWNsaWNrLmh0bWwKaW5kZXggNTljODhkMWVj
ODEzZTFkOWM5ZjRjYTU0NzI5YTNhNTA4NDk3N2E3MS4uMzEzNjc3MTk5OWM0YjVkN2UwMWRmNTE0
YWZkYzYzNDY5ZDJkYmEyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItaW1hZ2UtZXZlbnQtY2xpY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1ldmVudC1jbGljay5odG1sCkBAIC0y
MCw3ICsyMCw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogfQogCiBmdW5jdGlvbiBhZGRT
aGFkb3dET00oaG9zdCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFk
b3c+KGFmdGVyKSA8c3BhbiBpZD0ndGFyZ2V0Jz50YXJnZXQ8L3NwYW4+IjsKICAgICByZXR1cm4g
c2hhZG93Um9vdDsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1pbWFnZS1ldmVudC5odG1sCmluZGV4IDcxMDEwNTRhYmRkYjAwMWQ0
ZTUxOTdmZDBmYjM1ODRjNWE2ZDg5NDcuLmEwMGQ0ODU5MDYwMWI0NmMwZDIyMzZkY2I5MjY2MDA5
NTQxNjg4MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWltYWdlLWV2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItaW1hZ2UtZXZlbnQuaHRtbApAQCAtMjQsNyArMjQsNyBAQCBmdW5jdGlv
biBsaXN0ZW5lcihldmVudCkgewogfQogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewot
ICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFy
IHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgZGl2
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRD
aGlsZChkaXYpOwogICAgIGRpdi5pZCA9ICdpbm5lci1kaXYnOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93ZG9tLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1pbi1z
aGFkb3dkb20uaHRtbAppbmRleCA3NjU3YjBmOGE5MWIxZWY1NDExM2EyOGE1YmQ2Njk4Mzg4MWQy
YzdmLi40NDIwNGYyZmIxYWE3MzI0MTdhYTY0MDU5ZGZiZGJkMDMzODgyMjNlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1pbi1zaGFk
b3dkb20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1pbWFnZS1pbi1zaGFkb3dkb20uaHRtbApAQCAtMTEsMTEgKzExLDExIEBACiBpZiAod2luZG93
LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9y
QW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiYmVmb3JlPGltZyBpZD0naW1nJyBzcmM9
Jy4uL3Jlc291cmNlcy9hcHBsZS5naWYnPmFmdGVyIjsKIAogdmFyIGltZyA9IHNoYWRvd1Jvb3Qu
Z2V0RWxlbWVudEJ5SWQoJ2ltZycpOwotdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChpbWcpOwordmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBpbWcud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogCiBuZXN0ZWRTaGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxz
aGFkb3c+PC9zaGFkb3c+KGFmdGVyKSI7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLW1hcC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWwKaW5kZXgg
ZDUxNjcxZTZkZDA3MjQ3NDZkOWIxZTc4ODhkZGNmNThjZGIzNTlmZi4uYTQ2NjVhZmYxZWVlMDQy
ZWZiNWMwNzEwZjA3MjFmNWI0YzA0NTM0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWwKQEAgLTI2LDcgKzI2
LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAgIHZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hh
ZG93Pjwvc2hhZG93PiI7CiAKICAgICB2YXIgdXNlckFnZW50U2hhZG93Um9vdCA9IGludGVybmFs
cy5vbGRlc3RTaGFkb3dSb290KGhvc3QpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utc3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXN0eWxlLmh0bWwKaW5kZXggNjEzY2Ez
NGU2MDJmZmZmNDM4NzI5NTZmZjZkZGI4YTZlZjJmOGFmYy4uMDkyNmYxZTZhZDRmZmUxMDU1NTdj
ZjVkMDYwNjE5ZTIxYjVhMjU4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utc3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1zdHlsZS5odG1sCkBAIC0yNiw3ICsyNiw3
IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRo
b3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hh
ZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93
PihhZnRlcikiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLW11bHRpcGxlLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1tdWx0aXBsZS1zaGFk
b3cuaHRtbAppbmRleCAzMDk2NGRhODhlOGZhNmQ5YTNhYzkxMjlmN2M0NjMzYmRlODA1YjczLi5j
NDdlNWI3MGJjMjdiYzgxZmY2NDM1YWNmNDc4MmI2YzZlZjk0Zjk4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLW11bHRpcGxl
LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWltYWdlLXdpdGgtbXVsdGlwbGUtc2hhZG93Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRv
d0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00o
aG9zdCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBzaGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVy
KSIKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItaW1hZ2Utd2l0aC1wc2V1ZG8taWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtcHNldWRvLWlkLmh0bWwKaW5kZXggNGE0NzBm
MzMwNTk3M2ZmNDI1MDU5OGJjYzE0ZjEzYjYwZTE3YjdhZC4uOGIzMGU4ODc3ODk2MTU1ZGFiMWM1
YjhiZTA4OTA2ZDA2MmYyYjZmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1wc2V1ZG8taWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXBzZXVkby1pZC5o
dG1sCkBAIC0yMCw3ICsyMCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsK
IAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9y
ZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXdpZHRoLWFuZC1oZWln
aHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdl
LXdpdGgtd2lkdGgtYW5kLWhlaWdodC5odG1sCmluZGV4IDhiYzllNzlmYTFjNWYyZTI5NTQxN2M4
NGU3M2NiOTQ2ZTY3YzBiZWMuLmU2NTI0M2VmODE3Zjg2MzY2OGY3ODQ2Njc3NTg2N2IzMmM5ZmQ4
ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLXdpdGgtd2lkdGgtYW5kLWhlaWdodC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtd2lkdGgtYW5kLWhlaWdodC5odG1s
CkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAog
ZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8
c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UuaHRtbAppbmRleCA3MTU1MzEwMDljYzdi
MzQ4OTAzOTJkNDhmNTE5MDJhMDQwMjQzOTI3Li45MDU0ZDFhYWE1YjliMDQ0OGQ3M2ZlM2I3NTM2
ZjRhZjY3MWU0ZGNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1pbWFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVs
ZW1lbnRFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAg
IHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290
LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSI7CiB9CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdl
bi1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Ita2V5Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggM2RiODg0NmU2YTQ0MmFk
N2FkMmVjZGUyNWQwZjYyM2E4MGUzMzUxMi4uM2E2MTZjN2FhMWM5YTNkMmM1OWZmZGJiMzUyMjg1
MGI2MWM2MjRhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Ita2V5Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAg
LTEyLDYgKzEyLDYgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAKIGhvc3QuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2Zvb2JhcicpKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2Nv
bnRlbnQ+PGRpdiBzdHlsZT0nbWFyZ2luOiAyMHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Ita2V5Z2VuLW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbAppbmRleCAwYWY5Mjhl
MzE4ZGY4Njc3MTRjNzY4ZWZjYjZlODAyNGM2NTYxYTYwLi5iYzEyYTU0OGVhZDkyNTgxOGMzMDRh
Y2MwNmJmYTc0MGFjZWRjMTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbApA
QCAtOSw3ICs5LDcgQEAKIDwvZm9ybT4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3No
YWRvdycpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3cpOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4t
d2l0aG91dC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWtleWdlbi13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IDY2NzExOTg2ODA2NjU3NDBm
ZjJiNTkwZWQ0YzRlODdkMGIyNmU3MjAuLmE1ZWU5N2JhM2ZiOTJjMTNiNjVhOWIxODFjMDk2YThk
N2QyMGYwMTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWtleWdlbi13aXRob3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0x
Myw3ICsxMyw3IEBACiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1tZWRpYS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
bWVkaWEuaHRtbAppbmRleCAyZTA0NGRlNTdhZDk2YWU3ODVhNzg5YjM0NjdkZjczNzdiZjdlOTZi
Li5mZTllN2FkMTExMGE3YTFjZTg0Yzg5MGJiNjQ5ZjA5NmNlNWNiZGI1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZWRpYS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1lZGlhLmh0bWwKQEAg
LTEyLDcgKzEyLDcgQEAKIAogPHNjcmlwdD4KIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7
Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2
YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J21hcmdpbjogMTBweCc+PHNoYWRvdz48L3No
YWRvdz48L2Rpdj4iCiAgICAgcmV0dXJuIHNoYWRvd1Jvb3Q7CiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1keW5hbWljLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1keW5hbWlj
Lmh0bWwKaW5kZXggOTQ1MjExN2VmNWQwYmM5MjlhZGU1YTBmY2YxZWQ1ZGJkZjM0MTlmNC4uZjNk
NzQyMTk5YWUyMTk5YWM5NDQ5YjQwMTdkNDI0NjI5OTg4NjI1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItZHluYW1pYy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLWR5bmFt
aWMuaHRtbApAQCAtMTQsNyArMTQsNyBAQCBpZiAod2luZG93LmludGVybmFscykKIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNo
YWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8
c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsKIAogc2V0VGltZW91dChmdW5j
dGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLW1ldGVyLW11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1tZXRlci1tdWx0aXBsZS5odG1sCmluZGV4IGQxOGUwZDYxZTU2YjUwZjE4
ODU1ZWMwN2IyYTQzMjdhYWQyNmM0MDMuLjBiNmViN2Q1MTY2M2I4OGZkMTUzZWQ3MTYxMzk4MmJm
ZmE4OGY1NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLW1ldGVyLW11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItbXVsdGlwbGUuaHRtbApAQCAtMTcsMTAgKzE3LDEwIEBA
IG1ldGVyOjotd2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1l
bnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwv
c3Bhbj4iOwogCi12YXIgeW91bmdlciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFy
IHlvdW5nZXIgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHlvdW5nZXIuaW5uZXJI
VE1MID0gIjxkaXYgc3R5bGU9J21hcmdpbjogMCAxMHB4IDAgMTBweDsgaGVpZ2h0OiAxZW07IHdp
ZHRoOiA1ZW07Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiI7CiA8L3NjcmlwdD4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0
aC1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
bWV0ZXItd2l0aC1zdHlsZS5odG1sCmluZGV4IDA4ZDdmMmIxYjBkMTdhZWYxMzlmYjdkMzhmMjA5
ZDQ0NDA0MDViNjcuLjQ2MjBmZDU0MGExZDI1NGEyOGE3ODNiY2JmYzQ4MTA1YThmNmI0YWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVy
LXdpdGgtc3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1tZXRlci13aXRoLXN0eWxlLmh0bWwKQEAgLTI4LDcgKzI4LDcgQEAgbWV0ZXI6Oi13
ZWJraXQtbWV0ZXItaW5uZXItZWxlbWVudCB7CiBpZiAod2luZG93LmludGVybmFscykKICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQo
dHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2
YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9v
dC5pbm5lckhUTUwgPSAiPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6IDEwMHB4Jz48c2hhZG93Pjwv
c2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+PC9kaXY+IjsKIDwvc2NyaXB0PgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRo
b3V0LWFwcGVhcmFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLW1ldGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sCmluZGV4IGFlY2UyM2I3NjdiN2Iz
ZjQyMjQwZGYzNDVkNTk1OTZlMTlmZWNmNjQuLmNmYmYyNTE2ZmZjYjUwYmJiNDk5MjNmYWEyNDkx
ZTVmOGIwZTRhNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLW1ldGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5o
dG1sCkBAIC0yMCw3ICsyMCw3IEBAIG1ldGVyIHsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxl
ZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
K3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsK
IDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1tZXRlci13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LXNoYWRvdy1lbGVt
ZW50Lmh0bWwKaW5kZXggZjczODY4MWI5NDczNDlhZTdlNTg5Y2QzYTM5ODA4MGEzMWUxM2YyNS4u
ZWUyYzcxMDM0NWJkZDBmNWJmMGZhNDE0MWQxNGJhNTY0YWE2NjE1NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aG91dC1zaGFk
b3ctZWxlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLW1ldGVyLXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbApAQCAtMTEsNyArMTEsNyBA
QAogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhv
clNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzcGFuPm5vIHBy
b2dyZXNzPC9zcGFuPiIKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXIuaHRtbAppbmRleCBjMDk1Yzc4YWJkYWU4OTc5
MGQ1ZGFmMzY5YzUxNDA4NjUzYTk0MDI2Li43NjdmODc5NWU0N2ExZWE5MmQzMmQyOTQzODcwMzhh
ZDczNzM5YjMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1tZXRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLW1ldGVyLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVt
ZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8
L3NwYW4+IjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1jb21wbGV4LXNoYWRvdy5o
dG1sCmluZGV4IDAxNzEzMTIwYWUwODFmNzVjOGM4Zjk1NDdiYWRjZGU3NTk3OTYwNWIuLmU0MmJh
YmViYTdiNThjOWJjNDhmNzkzYjkzMGFkNWEyZDdkZmIxNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1jb21wbGV4LXNoYWRvdy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVj
dC1jb21wbGV4LXNoYWRvdy5odG1sCkBAIC0xMSw2ICsxMSw2IEBACiAKIDxzY3JpcHQ+CiB2YXIg
aG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50Pjwv
Y29udGVudD48ZGl2IHN0eWxlPSdtYXJnaW46IDIwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+
IgogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1vYmplY3Qtb25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sCmluZGV4IDAwNDA4
NTIxZTc2M2ViM2IxYmRlMDkxNWI1YTE0MDRmMGM3NTE1MDEuLmY1NDJiZDFhOTYxZWUwNmJhMzEz
ZDA1ZmE1YmM3ZmU1ZjU5MGFiYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1s
CkBAIC0xMiw2ICsxMiw2IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAog
dmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KQordmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKQogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48
L3NoYWRvdz4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LXdpdGhvdXQtc2hhZG93Lmh0
bWwKaW5kZXggZTM0OGQ3NWMzYTdmMTRkOTFhY2ZlMzgxNWUyMmRkYjM0MDdkNTM4My4uOGQ1YTMy
NmIyZTU1YjU5MjMzNGNhM2Q0NzE5NDNmMmUzOTc4MjZlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LXdpdGhvdXQtc2hhZG93Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0
LXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTksNSArOSw1IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9z
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpCit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LWNvbXBsZXgtc2hh
ZG93Lmh0bWwKaW5kZXggYjMxZDgzZjI5ZWVlNDJkOTMxMmVhMjdhZGU4N2E1MzNmMGMxNTVlMi4u
MTgxOTM5ZGYyZDg0NGZlNWNiMmUzMDZmZjRmZmY2ODNjZWI3YTA0OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LWNvbXBsZXgtc2hh
ZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
b3V0cHV0LWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTksNiArOSw2IEBACiAKIDxzY3JpcHQ+CiB2
YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50
PjwvY29udGVudD48ZGl2IHN0eWxlPSdtYXJnaW46IDIwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PC9k
aXY+IgogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sCmluZGV4IDE3
ZDM0MTY3ZGVkODY4MDFkYTlhZWI3MjhiNWFiYTE1ZGQ0ZWI5NjYuLjFmOWFhZGIwM2I2MTk4NzIz
NjA2MmE5OWE1OThkYWQwZDYzNzk3YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5o
dG1sCkBAIC05LDYgKzksNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiIKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0
cHV0LXdpdGhvdXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1vdXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCA0ODIwZjgyZTQyNTM0
ZTg1MWMxMGJlYTNhOGExN2RmZTMxM2I4ZjVkLi5jOGJlYTJkYjQ1ZjlkYWUzNzg4MzRkNzRlNjQz
NGQ2Y2MzOWE0NjU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1vdXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbApA
QCAtOSw1ICs5LDUgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1wcm9ncmVzcy1keW5hbWljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1wcm9ncmVzcy1keW5hbWljLmh0bWwKaW5kZXggY2JmYjljODJmNzEzMTll
MTJkYzliYjZkOGRlNzBkZmI2ZjhmMGQzMS4uNzE2NTY2NzJiMjQ0ZDY3ZTJlMDljZTczZjdmMjg5
ODVhODczMGEyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItcHJvZ3Jlc3MtZHluYW1pYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLWR5bmFtaWMuaHRtbApAQCAtMTYsNyArMTYs
NyBAQCBpZiAod2luZG93LmludGVybmFscykKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFu
PihhZnRlcik8L3NwYW4+IjsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLW11bHRp
cGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9n
cmVzcy1tdWx0aXBsZS5odG1sCmluZGV4IDA4MDUxNjBjYjhjOTI3M2Y3NDZiNDIzZmFlYTI4YmVm
ZmMyMTViYmQuLmNlYjU0NjI3N2Q4MmQ1ZDQ0MzdjZjJiYjAzMzg5YmRjYWY3YjYzZGEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNz
LW11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItcHJvZ3Jlc3MtbXVsdGlwbGUuaHRtbApAQCAtMTYsMTAgKzE2LDEwIEBAIHByb2dyZXNz
Ojotd2Via2l0LXByb2dyZXNzLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRF
bmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNo
YWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwvc3Bh
bj4iOwogCi12YXIgeW91bmdlciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHlv
dW5nZXIgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHlvdW5nZXIuaW5uZXJIVE1M
ID0gIjxkaXYgc3R5bGU9J21hcmdpbjogMCAxMHB4IDAgMTBweDsgaGVpZ2h0OiAxZW07IHdpZHRo
OiAxMGVtOyc+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4iOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdp
dGgtc3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXByb2dyZXNzLXdpdGgtc3R5bGUuaHRtbAppbmRleCA4NjJlODY4MGNkOThlNDY3NzZjYzVjZjg3
MTc1NzBhYmRkYmQ2YTcyLi41NjEyMjI4YjgxNGIxODE0YWRlODQwZTY4NmE0OTc5YTE5MDJmYTg4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1w
cm9ncmVzcy13aXRoLXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aC1zdHlsZS5odG1sCkBAIC0yOCw3ICsyOCw3IEBA
IHByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFu
eUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OiAx
MDBweCc+PHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPjwvZGl2PiI7CiA8L3Nj
cmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LWFwcGVhcmFuY2UuaHRt
bAppbmRleCA3NGRlZjk4YWE1ZDNkNTBmMGExYzU4M2QyOTk5YzgzMmVmNDRmNDI1Li5jYTIyOThi
MWZhZDg5MzUxN2YyZTVlNWUwOWY1NGFkYTdjNzhiOTExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LWFwcGVhcmFu
Y2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1w
cm9ncmVzcy13aXRob3V0LWFwcGVhcmFuY2UuaHRtbApAQCAtMjAsNyArMjAsNyBAQCBwcm9ncmVz
cyB7CiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0
aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48
L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91
dC1zaGFkb3ctZWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1zaGFkb3ctZWxlbWVudC5odG1sCmluZGV4IDgxNDA1
ZGRkNWM1NDI0ZGMxZTA5YWI0OGQzM2Y5MTFlMjQxM2ZjYTUuLjkyZjQxZmYxNTM4MjViYjM0YTFm
OGY5OTU4OGRlZjJhNWM1Njg4YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13
aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAKIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JB
bnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c3Bhbj5ubyBwcm9ncmVzczwvc3Bhbj4i
CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItcHJvZ3Jlc3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXByb2dyZXNzLmh0bWwKaW5kZXggYWJkMWJjZTdmYTk4MGZlZDIxZmFlYzFm
ODM3MjJmMjE2ZWVjYTQxZi4uMWVkNjZmZjU1YzlhY2NmY2JlZDVmYWViNWZjZGJmYzVlNzAzMDhh
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
cHJvZ3Jlc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1wcm9ncmVzcy5odG1sCkBAIC0xNCw3ICsxNCw3IEBACiBpZiAod2luZG93LmludGVybmFs
cykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVu
dEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9z
cGFuPiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3cuaHRt
bAppbmRleCA5ZjU0Mjk2NDFmZmM4Yzk3ZTI5OGIxODgyM2Y2M2UzNzBhZDMwMGFhLi44OTc2Y2Q2
M2M3YTc2OWIwNzMyMzQ5MjM2YjNhMjM3OWE3NzJkNWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3cuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qt
Y29tcGxleC1zaGFkb3cuaHRtbApAQCAtMTMsNiArMTMsNiBAQAogCiA8c2NyaXB0PgogdmFyIGhv
c3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2Nv
bnRlbnQ+PGRpdiBzdHlsZT0nbWFyZ2luOiAyMHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbAppbmRleCAzZGJiYWMx
ZmIzYTE0MTI0ZDNiZmJjMGY1YzdkZGQ3NWFlMWNmYWM2Li41MTQyMzM3Nzc5ZDdiMzY1ZGU1YzM0
NzhiMGQzZDBiMDBjNjZkOWI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbApA
QCAtMTMsNiArMTMsNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBz
aGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiIKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0
LXdpdGhvdXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCBhMWY0MDk1ZDY5YTQyYTQw
YWVjYTZmYzczZDc3OWFlODI1ZTY1OTI4Li5jNjlhMGIyMWNhNGZlNGYwMzg4MTM1Y2Q3MDI4Y2Q0
NjlmNjM4YzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbApAQCAt
MTMsNSArMTMsNSBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXRleHRhcmVhLWNvbXBsZXgtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1jb21wbGV4LXNoYWRvdy5odG1sCmluZGV4IDY4
NzhiNjBhY2RjNDAzMDdmZmRmOTBmNWU5Y2E1OWY1NmU2MTg0ZWEuLjg3ZDhhMTcxNWMyYWJlN2E3
MDllYzNlNDZhMzNjOGM5Y2FhY2NlY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtY29tcGxl
eC1zaGFkb3cuaHRtbApAQCAtMjMsNyArMjMsNyBAQCB2YXIgcCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3AnKTsKIHAuaW5uZXJIVE1MID0gInBhcmFncmFwaDxiPmJvbGQ8L2I+cGFyYWdyYXBo
IjsKIGhvc3QuYXBwZW5kQ2hpbGQocCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogCiAvLyA8Y29udGVudD48L2NvbnRlbnQ+PGRpdiBzdHlsZT0ibWFyZ2luOiAyMHB4
Ij48c2hhZG93Pjwvc2hhZG93PjwvZGl2Pgogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdjb250ZW50JykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtb25seS1zaGFkb3cuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLW9ubHktc2hh
ZG93Lmh0bWwKaW5kZXggMDliN2NlYWU2NjBmYjdkYzM5ZWE2YmYyMGIyMDMyNDhjODM3NTFjOS4u
NTk5ODMxZjljYmU0ZDAyZDQzZWU0YWU0MThkNDUxYzFkNzExYzJhOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtb25seS1zaGFk
b3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10
ZXh0YXJlYS1vbmx5LXNoYWRvdy5odG1sCkBAIC03LDYgKzcsNiBAQAogPC9mb3JtPgogCiA8c2Ny
aXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBz
aGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4
dGFyZWEtd2l0aC1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGgtYXR0cmlidXRlLmh0bWwKaW5kZXggNmU1NDVlMmIx
ZDI4ZWZlNTIwODdiNmRiY2EyNDc3MTZhMTExZWEwMC4uNjc5MWI0MGJkODViNWEzZGNkMjkxN2E2
MDdiYjBiNjIxODJjOWYzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1hdHRyaWJ1dGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLWF0dHJpYnV0
ZS5odG1sCkBAIC03LDYgKzcsNiBAQAogPC9mb3JtPgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1wbGFjZWhv
bGRlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4
dGFyZWEtd2l0aC1wbGFjZWhvbGRlci5odG1sCmluZGV4IDJjNzI2YTBiZGQwYzc3MGI4YTM2Mjgy
ZGQ4ZmI4MDIxZjgxZDk4ZjMuLjY4ZjI4ZDc0YmZjMGM1NGJlMWU0YmNhZjI3ZTMxMWNlMTFiYzU5
ODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXRleHRhcmVhLXdpdGgtcGxhY2Vob2xkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLXBsYWNlaG9sZGVyLmh0bWwKQEAg
LTEyLDcgKzEyLDcgQEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFy
IHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9v
dDEgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdiZWZvcmUnKSk7CiBzaGFkb3dSb290MS5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiBzaGFkb3dSb290MS5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnYWZ0ZXInKSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRo
LXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10
ZXh0YXJlYS13aXRoLXN0eWxlLmh0bWwKaW5kZXggNjhkNzYyZjAzNDljOGJjNzYzNzlmNWYzYWMx
NjIwY2Y5MWY3MDAyYi4uZTljYmRmM2FlMzYwNGE5NDVhNjZiMzJlYTI2NWM4OWQ1OTU3OGY4YSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4
dGFyZWEtd2l0aC1zdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGgtc3R5bGUuaHRtbApAQCAtMTYsNyArMTYsNyBAQCB0
ZXh0YXJlYSB7CiA8L2Zvcm0+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc2hhZG93JykpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRob3V0LXNoYWRvdy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEt
d2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCBkODc3YTAzNzc3NGQ3Nzc4ZjBlYTgzNWQ4YjJhNmJl
MjI5YjEzOTgyLi40N2MwYmIxNzQ4Mjg2NjY0ZDA5MDdjZjUwOWQxNmIwYWU5MDZhOTVjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJl
YS13aXRob3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTExLDUgKzExLDUg
QEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRo
b3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS5odG1sCmluZGV4IDk4NTg4
OTY0N2IzN2VlOTk3NTE1ZGI1NGM0NWY3YTkxYmZjNTM3MjUuLmUyOTU3OWYxYWU1NzZlZDE4YjEz
MDUyYWJjNmEzZDk5MGQ2NDBmZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEuaHRtbApAQCAtMTEsNyArMTEsNyBAQAog
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNo
YWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIAogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwogZGl2LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSI7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1jbG9u
ZW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25l
bm9kZS5odG1sCmluZGV4IGYzZmI5ZjE3ODAxZTM3OTA3OWFiMWE2MDFhNDYzMzY1MmU4MWI4NmMu
LmViZDNlZWM0ZTRjZDJlZDdhNDc2NWZkM2UxYjllNWVkMmI2MzFhMDAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25lbm9kZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25lbm9kZS5odG1sCkBA
IC05LDcgKzksNyBAQAogZGVzY3JpcHRpb24oJ0NhbGxpbmcgU2hhZG93Um9vdC5jbG9uZU5vZGUo
KSBzaG91bGQgdGhyb3cgYSBEQVRBX0NMT05FX0VSUiBleGNlcHRpb24uJyk7CiAKIHZhciBob3N0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIHNob3VsZFRocm93KCdzaGFkb3dSb290LmNsb25lTm9kZSgpJywgJyJF
cnJvcjogRGF0YUNsb25lRXJyb3I6IERPTSBFeGNlcHRpb24gMjUiJyk7CiA8L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LW9mLWlu
c2VydGlvbnBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9v
dC1vZi1pbnNlcnRpb25wb2ludC5odG1sCmluZGV4IDlkNDZjYWVlYmY1ZjA0MjQwZGZiMmMzMTRl
MDc0N2NlZjdiYjZlOWYuLmIwNWE5MzdiNDFkZjEwZDk2Zjk4NDEyYzNkYjcwZjYwOTQ2YWI1MjEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LW9mLWlu
c2VydGlvbnBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d3Jvb3Qtb2YtaW5zZXJ0aW9ucG9pbnQuaHRtbApAQCAtOSw3ICs5LDcgQEAKIDwvZGl2PgogCiA8
c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3Zh
ciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290
LmlubmVySFRNTCA9CiAgICAgJzxkaXY+JyArIAogICAgICAgICAnPGNvbnRlbnQgaWQ9ImFjdGl2
ZS1jb250ZW50IiBzZWxlY3Q9ImRpdiI+PGRpdj5mYWxsYmFjazwvZGl2PjwvY29udGVudD4nICsK
QEAgLTE3LDExICsxNywxMSBAQCBzaGFkb3dSb290LmlubmVySFRNTCA9CiAgICAgJzwvZGl2Pic7
CiAKIHZhciBhY3RpdmVDb250ZW50ID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnYWN0aXZl
LWNvbnRlbnQnKTsKLXZhciBzaGFkb3dSb290Rm9yQWN0aXZlQ29udGVudCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGFjdGl2ZUNvbnRlbnQpOwordmFyIHNoYWRvd1Jvb3RGb3JBY3RpdmVDb250ZW50
ID0gYWN0aXZlQ29udGVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Rm9y
QWN0aXZlQ29udGVudC5pbm5lckhUTUwgPSAnPGRpdj5Gb3IgYWN0aXZlIGNvbnRlbnQ8L2Rpdj4n
OwogCiB2YXIgaW5hY3RpdmVDb250ZW50ID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnaW5h
Y3RpdmUtY29udGVudCcpOwotdmFyIHNoYWRvd1Jvb3RGb3JJbmFjdGl2ZUNvbnRlbnQgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChpbmFjdGl2ZUNvbnRlbnQpOwordmFyIHNoYWRvd1Jvb3RGb3JJbmFj
dGl2ZUNvbnRlbnQgPSBpbmFjdGl2ZUNvbnRlbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93Um9vdEZvckluYWN0aXZlQ29udGVudC5pbm5lckhUTUwgPSAnPGRpdj5Gb3IgSW5hY3Rp
dmUgY29udGVudDwvZGl2Pic7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3QtdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd3Jvb3QtdHlwZS5odG1sCmluZGV4IDdmMTZlNTc3NTg5MDAwN2MxNjFh
MWJhMjVkNTNkOTQ4MmQwZWRiYmEuLjhjMjAyOTViYWQzOTJhNjE1YmU0YjhlNDhkMTU0MDUyNDgy
ZDQ5NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290
LXR5cGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC10
eXBlLmh0bWwKQEAgLTEyLDcgKzEyLDcgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IGVuc3VyZXMgU2hhZG93Um9vdFR5cGUgaXMgY29ycmVjdGx5IHJlZmxlY3RlZCIpOwogCi12
YXIgc2hhZG93Um9vdEZvckRpdiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNo
YWRvd1Jvb3RGb3JEaXYgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBzaGFk
b3dSb290Rm9ySW5wdXQgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChpbnB1dCk7CiAKIHNob3VsZEJl
KCciQXV0aG9yU2hhZG93Um9vdCInLCAnaW50ZXJuYWxzLnNoYWRvd1Jvb3RUeXBlKHNoYWRvd1Jv
b3RGb3JEaXYpJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5
bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbAppbmRleCAwYTkzOWJiNzMyZTVkOWQzNTM3
ZGNmNmE3OWE1MDRjNjMxMjI3YWJiLi5iNzc2YzdmYzZjMTI0N2M0NjU1ODg4M2MyMTMyYzkxNDA2
NGE0N2IzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2Yt
ZGlzdHJpYnV0ZWQtbm9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
dHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKQEAgLTI4LDcgKzI4LDcgQEAgZGVzY3JpcHRp
b24oIlRlc3RzIHRvIGVuc3VyZSB0aGF0IHN0eWxlcyBvZiBkaXN0cmlidXRlZCBub2RlcyBhcmUg
ZGlmZmVyZW50IGlmIHQKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiAKLXZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJob3N0IikpOwordmFyIHNyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhv
c3QiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzci5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSIjY2hpbGQtYSI+PC9jb250ZW50PjxkaXYgc3R5bGU9ImNvbG9yOiBibHVlIj48Y29u
dGVudCBzZWxlY3Q9IiNjaGlsZC1iIj48L2NvbnRlbnQ+PC9kaXY+JzsKIAogc2hvdWxkQmUoJ2dl
dENvbG9yUHJvcGVydHkoImNoaWxkLWEiKScsICcicmdiKDI1NSwgMCwgMCkiJyk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFibGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFi
bGVkLmh0bWwKaW5kZXggOTViYjkyN2E1ZTgzOWZmODVkNzZiNGZhYjYwYjJiOGRiNGEwMjc2NC4u
NzU2YmU5MDQ4Yzg3N2Q1YjNhZjZjYmM4YmQ5YmQ2YzVjOTQ2NTk2YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLXNjb3BlZC1ub3QtZW5hYmxlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1zY29wZWQtbm90LWVuYWJsZWQu
aHRtbApAQCAtMTgsNyArMTgsNyBAQCBpZiAod2luZG93LmludGVybmFscykKIDxzY3JpcHQ+CiBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgY29udGVudCBlbGVtZW50IGZlYXR1cmUgY2Fu
IGJlIGRpc2FibGVkIik7CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
Iik7Ci12YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3cuaW5uZXJIVE1MID0gIjxz
dHlsZT4gc3BhbiB7IGNvbG9yOiBibHVlOyB9IDwvc3R5bGU+PHNwYW4gaWQ9J3Nob3VsZEJlQXBw
bGllZCc+U2hvdWxkIGJlIGJsdWU8L3NwYW4+IjsKIHZhciBzaG91bGRCZUFwcGxpZWQgPSBzaGFk
b3cuZ2V0RWxlbWVudEJ5SWQoInNob3VsZEJlQXBwbGllZCIpOwogdmFyIHNob3VsZE5vdEJlQXBw
bGllZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaG91bGROb3RCZUFwcGxpZWQiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRy
aWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1h
dHRyaWJ1dGUuaHRtbAppbmRleCAyY2NkOGRjOWY4ZWRlN2NkYjY0NzI5OGYwYjQ3MzhmMjc0Mjg3
OTQyLi45YThkZTQwNzBjOTI5MTc1NTc4OGRhZDQ2NzVhODQxYjcyYmFmMTdiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJp
YnV0ZS5odG1sCkBAIC04LDcgKzgsNyBAQAogPGRpdiBpZD0iaG9zdDEiPjwvZGl2PgogCiA8c2Ny
aXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFy
IHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2LnNldEF0dHJpYnV0ZSgncHNldWRv
JywgJ3gtZm9vJyk7CiBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2Zv
byBiYXInKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3VwcHJl
c3MtbXV0YXRpb24tZXZlbnRzLWluLXNoYWRvdy1jaGFyYWN0ZXJkYXRhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3VwcHJlc3MtbXV0YXRpb24tZXZlbnRzLWluLXNoYWRvdy1j
aGFyYWN0ZXJkYXRhLmh0bWwKaW5kZXggYWExYjYyYzc0ODMzOTI1OTliODgxYTI4NmYxZGY4YTY1
NWE2NGE5Ny4uZGNjMjE3MzZlMzM1M2RkZmEwMDg4NzEyOWQ0Mzk5NDgyMzg1MmUyMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N1cHByZXNzLW11dGF0aW9uLWV2ZW50
cy1pbi1zaGFkb3ctY2hhcmFjdGVyZGF0YS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zdXBwcmVzcy1tdXRhdGlvbi1ldmVudHMtaW4tc2hhZG93LWNoYXJhY3RlcmRhdGEu
aHRtbApAQCAtOCw3ICs4LDcgQEAKIGRlc2NyaXB0aW9uKCJFbnN1cmVzIHRoYXQgRE9NQ2hhcmFj
dGVyRGF0YU1vZGlmaWVkIGlzbid0IGZpcmVkIGluc2lkZSBzaGFkb3dzLiIpOwogdmFyIGZpcmVk
ID0gZmFsc2U7CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12
YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CiBkaXYuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ2hhcmFjdGVyRGF0YU1vZGlm
aWVkIiwgZnVuY3Rpb24oZXZ0KSB7CiAgICAgZmlyZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3RyYW5zaXRpb24tb24tc2hhZG93LWhvc3Qtd2l0aC1k
aXN0cmlidXRlZC1ub2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdHJhbnNp
dGlvbi1vbi1zaGFkb3ctaG9zdC13aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbAppbmRleCAzOWVh
N2I0MmI2ZDllMjUxNGEyNGFkZWNjZjMwMWNlY2ZmMDA1YTgzLi44ZTJiOTg4NGJiMDRmMGYwNzI0
Njc5Njg2MzUzMGM1OTdjYzJkNDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvdHJhbnNpdGlvbi1vbi1zaGFkb3ctaG9zdC13aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdHJhbnNpdGlvbi1vbi1zaGFkb3ct
aG9zdC13aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbApAQCAtMjgsNyArMjgsNyBAQCBjb25zdCBl
eHBlY3RlZFZhbHVlcyA9IFsKICAgCiBmdW5jdGlvbiBzZXR1cFRlc3QoKSB7CiAgICAgdmFyIGJv
eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gnKTsKLSAgICB2YXIgc2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGJveCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBib3gud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iKjpmaXJzdC1jaGlsZCI+PC9jb250ZW50Pic7CiAgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsKICAgICAgICAgc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJjb250ZW50Iiku
c2V0QXR0cmlidXRlKCJzZWxlY3QiLCAiKjpsYXN0LWNoaWxkIik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCmlu
ZGV4IGM0OTYzNzM4NGYyMWU3NzMzMDZkNDg0ZDhhYjdiMWNiMzczODViNmYuLmUwNzJkMWYxMmIy
NTgyNzQwYTU4N2RmZjhlOGUyYzFmOTM5M2FkZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCkBAIC0zNCw3
ICszNCw3IEBAIGZ1bmN0aW9uIGdldFVzZXJNb2RpZnlQcm9wZXJ0eShpZCkgewogfQogCiBmdW5j
dGlvbiBwcmVwYXJlTm9kZUluU2hhZG93Um9vdChob3N0LCBjb250ZW50RWRpdGFibGVBdHRyaWJ1
dGVWYWx1ZUZvck5vZGUpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgdmFyIG5vZGVJblNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwogICAgIGlmIChjb250ZW50RWRpdGFibGVBdHRyaWJ1dGVWYWx1ZUZvck5vZGUgIT0gbnVs
bCkKICAgICAgICAgbm9kZUluU2hhZG93LnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywg
Y29udGVudEVkaXRhYmxlQXR0cmlidXRlVmFsdWVGb3JOb2RlKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1pbi1zaGFkb3ctZG9tLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtaW4tc2hhZG93LWRvbS5odG1s
CmluZGV4IDkwZDY5MTRmYjJmYjIwNjFmZTEzYzg5NDM3YmFmODIxNmM1NTUwNjguLjg3YThlNWRh
YmFiNjM4M2RmYjhjYzc5MGYzODM0YzE0MDRmZTc1MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1pbi1zaGFkb3ctZG9tLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3doZWVsLWV2ZW50LWluLXNoYWRvdy1kb20uaHRtbApA
QCAtMjMsNyArMjMsNyBAQCBmdW5jdGlvbiBjcmVhdGVCb3gobmFtZSkgewogICAgIHJldHVybiBk
aXY7CiB9CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2
YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIHNoYWRv
d0RpdiA9IGNyZWF0ZUJveCgnc2hhZG93Jyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKHNoYWRv
d0Rpdik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1l
dmVudC1vbi1pbnB1dC1pbi1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvd2hlZWwtZXZlbnQtb24taW5wdXQtaW4tc2hhZG93LWRvbS5odG1sCmluZGV4IGIwZTlm
MmQzOWZmZmQ5MjhhMmU5MDE2YWY5ODljOTA5NjA1YzBiN2IuLjc4ODNlNWZhMzI3NTZmNzBiMzBl
ZmNlMjViOWM3OTZmNmUyZjYyYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy93aGVlbC1ldmVudC1vbi1pbnB1dC1pbi1zaGFkb3ctZG9tLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3doZWVsLWV2ZW50LW9uLWlucHV0LWluLXNoYWRvdy1kb20u
aHRtbApAQCAtMjMsNyArMjMsNyBAQCBmdW5jdGlvbiBjcmVhdGVJbnB1dChuYW1lKSB7CiAgICAg
cmV0dXJuIGRpdjsKIH0KIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2
YXIgc2hhZG93RGl2ID0gY3JlYXRlSW5wdXQoJ3NoYWRvdycpOwogc2hhZG93Um9vdC5hcHBlbmRD
aGlsZChzaGFkb3dEaXYpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9k
ZXRhY2hlZC1zaGFkb3ctZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFj
aGVkLXNoYWRvdy1mcmFtZS5odG1sCmluZGV4IGQwM2RjNzhjZDY5MmEwNjgyMzJjODgxNjkzODk3
NWVmYzg5NzhiYmYuLmNkNzQzYjBiMjM2ZDVmNDE4Y2Y2YzRiNDNlMjdlZjc0ZjM2ZjhhNTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLXNoYWRvdy1mcmFtZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLXNoYWRvdy1mcmFtZS5o
dG1sCkBAIC0xMyw3ICsxMyw3IEBAIGhlbHBlckRpdiA9IGNvbnRhaW5lci5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CiBoZWxwZXJGcmFtZSA9IGNvbnRhaW5lci5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSk7CiAKIGhlbHBlckZy
YW1lLmNvbnRlbnRXaW5kb3cub251bmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaGVscGVyRGl2KTsKKyAgICBzaGFkb3dSb290ID0gaGVs
cGVyRGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBpbm5lckZyYW1lID0gc2hhZG93
Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSk7CiB9Owog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVj
dGVkLnR4dAppbmRleCBjMjcyOGQ0NmFmMjg1OGZmZmU1Nzc0YmNmMWI0M2Y5ODcyZTAxMjdjLi45
MzY5YWE4NDNiY2QxYjliY2Y1ZTA0MzhhODdkZThhMjI3NGNkYmZkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTMz
MSw3ICszMzEsNiBAQCBQQVNTIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWVDb25zdAogRkFJTCBXZWJLaXRJbnRlbnQu
dG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBXZWJLaXRJbnRlbnRDb25zdHJ1Y3Rvcl0uIFdh
cyBbb2JqZWN0IEludGVudENvbnN0cnVjdG9yXS4KIEZBSUwgV2ViS2l0TXV0YXRpb25PYnNlcnZl
ci50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25z
dHJ1Y3Rvcl0uIFdhcyBbb2JqZWN0IE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcl0uCiBQQVNT
IFdlYktpdFBvaW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0UG9pbnRDb25zdHJ1Y3Rv
cl0nCi1GQUlMIFdlYktpdFNoYWRvd1Jvb3QudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBX
ZWJLaXRTaGFkb3dSb290Q29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBTaGFkb3dSb290Q29uc3Ry
dWN0b3JdLgogUEFTUyBXZWJLaXRUcmFuc2l0aW9uRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBXZWJLaXRUcmFuc2l0aW9uRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYlNvY2tldC50b1N0
cmluZygpIGlzICdbb2JqZWN0IFdlYlNvY2tldENvbnN0cnVjdG9yXScKIFBBU1MgV2hlZWxFdmVu
dC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdoZWVsRXZlbnRDb25zdHJ1Y3Rvcl0nCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178694</attachid>
            <date>2012-12-10 20:12:20 -0800</date>
            <delta_ts>2012-12-10 22:03:50 -0800</delta_ts>
            <desc>further updating.</desc>
            <filename>bug-102913-20121211130942.patch</filename>
            <type>text/plain</type>
            <size>239919</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZTgxMjA2M2Q5M2JhZGU2M2QwMjhiMzU0NjBlYmNiY2UxMjA4ZTVjLi4y
ZjA5MTU3MDZhMDBiNDE4Y2Q1OGVhYjk4M2JlNDgzMDU4YjgyNzUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMTItMTItMTAgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFtTaGFkb3cgRE9NXSBLaWxsIFNoYWRvd1Jvb3QgY29uc3RydWN0b3IKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjkxMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBTaGFk
b3dSb290IGNvbnN0cnVjdG9yIGluIGZhdm9yIG9mIEVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVXBkYXRlIGV4aXN0aW5nIHRlc3RzLgor
CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OmNyZWF0ZVNoYWRvd1Jvb3QpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTEyLTEwICBLeXVuZ1RhZSBLaW0gIDxr
dGYua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCBhZnRlciByMTM3MjIxCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5pZGwKaW5kZXggZmY5MDFlNTI4ZDc2NzI3Zjg5N2M2Mzg3MzI0
NWRmNGFiMmVmOGEzMS4uMWZlZDMxYTAxZGMxM2VlYmE5MjYzNTI5NzViYWQ4ZjVmYmQxNGJhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbApAQCAtMjYsOCArMjYsNiBAQAogCiBbCiAgICAg
Q29uZGl0aW9uYWw9U0hBRE9XX0RPTSwKLSAgICBDb25zdHJ1Y3RvcihpbiBFbGVtZW50IGhvc3Qp
LAotICAgIENvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAogICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0CiBdIGludGVyZmFjZSBTaGFkb3dSb290IDogRG9jdW1lbnRGcmFnbWVudCB7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgYWN0aXZlRWxlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAppbmRleCA5MThmNDgwNzUwMDdiYTcwNDNhOTkyMjg3MWYxZGE1MmQwNDJmZjhiLi41
ZTZiMjJmZGI5NzhmZWFkZjBjZjdlYmYwOGQxOTk0OGU2NjU5YWYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCkBAIC00MDEsNyArNDAxLDYgQEAKICAgICBhdHRyaWJ1dGUgRW50aXR5Q29u
c3RydWN0b3IgRW50aXR5OwogICAgIGF0dHJpYnV0ZSBFbnRpdHlSZWZlcmVuY2VDb25zdHJ1Y3Rv
ciBFbnRpdHlSZWZlcmVuY2U7CiAgICAgYXR0cmlidXRlIFByb2Nlc3NpbmdJbnN0cnVjdGlvbkNv
bnN0cnVjdG9yIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjsKLSAgICBbQ29uZGl0aW9uYWw9U0hBRE9X
X0RPTSwgVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTV0gYXR0cmlidXRlIFNoYWRvd1Jvb3RD
b25zdHJ1Y3RvciBXZWJLaXRTaGFkb3dSb290OwogICAgIFtDb25kaXRpb25hbD1TSEFET1dfRE9N
LCBWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NXSBhdHRyaWJ1dGUgSFRNTENvbnRlbnRFbGVt
ZW50Q29uc3RydWN0b3IgSFRNTENvbnRlbnRFbGVtZW50OwogICAgIFtDb25kaXRpb25hbD1TSEFE
T1dfRE9NLCBWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NXSBhdHRyaWJ1dGUgSFRNTFNoYWRv
d0VsZW1lbnRDb25zdHJ1Y3RvciBIVE1MU2hhZG93RWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IDg4MmZmZDI4NzgwZjQ0MGYyZDYwNWYyMzY2YzAxYTRlOWVk
MTkzOWUuLjZjOThmZDM1YzhkZDFiNTZhNWE3Y2VkMzZkMDUwYjAxZjRhY2M5NWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTUyOSw2ICs1MjksMTUgQEAgSW50ZXJuYWxz
OjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6OmVuc3VyZVNo
YWRvd1Jvb3QoRWxlbWUKICAgICByZXR1cm4gU2hhZG93Um9vdDo6Y3JlYXRlKGhvc3QsIGVjKS5n
ZXQoKTsKIH0KIAorSW50ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2Rl
KiBJbnRlcm5hbHM6OmNyZWF0ZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgaWYgKCFob3N0KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1Nf
RVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIFNoYWRvd1Jvb3Q6OmNy
ZWF0ZShob3N0LCBlYykuZ2V0KCk7Cit9CisKIEludGVybmFsczo6U2hhZG93Um9vdElmU2hhZG93
RE9NRW5hYmxlZE9yTm9kZSogSW50ZXJuYWxzOjpzaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIEZJWE1FOiBJbnRlcm5hbHM6OnNoYWRvd1Jvb3Qo
KSBpbiB0ZXN0cyBzaG91bGQgYmUgY29udmVydGVkIHRvIHlvdW5nZXN0U2hhZG93Um9vdCgpIG9y
IG9sZGVzdFNoYWRvd1Jvb3QoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDA2
ODVmOWJmYmI0NmZhNjQ1ZTk3NDAyOTNlOTFhYzIyYmRiYWNlZGUuLjUxN2MzZTdiYjZiZjBhNzIy
Njk5ODRmYzVkOTJhMjVlNGU1NjNmMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApA
QCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBOb2RlIFNoYWRvd1Jvb3RJZlNo
YWRvd0RPTUVuYWJsZWRPck5vZGU7CiAjZW5kaWYKICAgICBTaGFkb3dSb290SWZTaGFkb3dET01F
bmFibGVkT3JOb2RlKiBlbnN1cmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNv
ZGUmKTsKKyAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBjcmVhdGVTaGFk
b3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBTaGFkb3dSb290SWZT
aGFkb3dET01FbmFibGVkT3JOb2RlKiBzaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiB5b3VuZ2Vz
dFNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFNoYWRvd1Jv
b3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIG9sZGVzdFNoYWRvd1Jvb3QoRWxlbWVudCogaG9z
dCwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4
IDhjZDFiODAwNTA5YjRlOGY3Y2I3M2VhNTk3MDE4ZmUzMGZiNGExZjcuLmFlOTgwZTRkYWI2MjRh
Y2JmMWZlOWRkZjg1ZTVmYWRiMmYzNjJlNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKQEAgLTM2LDYgKzM2LDcgQEAKIAogI2lmIGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00p
ICYmIEVOQUJMRV9TSEFET1dfRE9NCiAgICAgU2hhZG93Um9vdCBlbnN1cmVTaGFkb3dSb290KGlu
IEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIFNoYWRvd1Jvb3QgY3Jl
YXRlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAg
ICBTaGFkb3dSb290IHNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4Y2Vw
dGlvbik7CiAgICAgU2hhZG93Um9vdCB5b3VuZ2VzdFNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgU2hhZG93Um9vdCBvbGRlc3RTaGFkb3dSb290
KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGViZDM5ZjYy
NWIzM2ZiNDcxYWEwNGY3NTg4MWFhODZkMGNkYWQ1MWYuLjgxZjljYzdmZTllMmEzZTAxYmQyNDRm
YjcwOTkxNmRmZGIwZGI4MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMjEgQEAKKzIwMTItMTItMTAgIEhh
eWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTaGFkb3cgRE9NXSBL
aWxsIFNoYWRvd1Jvb3QgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMjkxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktcGFzdGUtZmxvYXQu
aHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9hZGp1c3RpbmctZWRpdGluZy1ib3VuZGFy
eS13aXRoLXRhYmxlLWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2Jv
bGQtdHdpY2UtaW4tc2hhZG93Lmh0bWw6CisgICAgICAgICogZWRpdGluZy9zaGFkb3cvYnJlYWtp
bmctZWRpdGluZy1ib3VuZGFyaWVzLTIuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9i
cmVha2luZy1lZGl0aW5nLWJvdW5kYXJpZXMuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRv
dy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJ5LXdpdGgtdGFibGUuaHRtbDoKKyAgICAgICAgKiBl
ZGl0aW5nL3NoYWRvdy9jb21wYXJlLXBvc2l0aW9ucy1pbi1uZXN0ZWQtc2hhZG93Lmh0bWw6Cisg
ICAgICAgICogZWRpdGluZy9zaGFkb3cvY29udGVudGVkaXRhYmxlLXByb3BhZ2F0aW9uLWF0LXNo
YWRvdy1ib3VuZGFyeS5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2RlbGV0ZS1jaGFy
YWN0ZXJzLWluLWRpc3RyaWJ1dGVkLW5vZGUtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBlZGl0aW5n
L3NoYWRvdy9kZWxldGUtbGlzdC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3No
YWRvdy9kb3VibGVjbGljay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbDoKKyAgICAgICAg
KiBlZGl0aW5nL3NoYWRvdy9leGVjY29tbWFuZC1pbmRlbnQtaW4tc2hhZG93Lmh0bWw6CisgICAg
ICAgICogZWRpdGluZy9zaGFkb3cvaW5zZXJ0b3JkZXJlZGxpc3QtY3Jhc2guaHRtbDoKKyAgICAg
ICAgKiBlZGl0aW5nL3NoYWRvdy9wcmVzc2luZy1lbnRlci1vbi1saXN0Lmh0bWw6CisgICAgICAg
ICogZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRt
bDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9zZWxlY3QtY29udGVudGVkaXRhYmxlLXNoYWRv
d2hvc3QuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9zZWxlY3Rpb24tb2Ytb3JwaGFu
LXNoYWRvd3Jvb3QuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9zZWxlY3Rpb24tb2Yt
c2hhZG93cm9vdC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L3NoYWRvdy1zZWxlY3Rp
b24tbm90LWV4cG9ydGVkLmh0bWw6CisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0
eWxlLXNjb3BlZC1hcHBseS1hdXRob3Itc3R5bGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1z
Y29wZWQtaW4tc2hhZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1z
Y29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1zY29wZWQtaW4tc2hhZG93Lmh0bWw6CisgICAgICAg
ICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hh
ZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Fkb3B0LW5vZGUtd2l0aC1zaGFk
b3ctcm9vdC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9hdGhvc3QtYXRydWxlcy5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9iYXNlLWluLXNoYWRvdy10cmVlLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NhcmV0LXJhbmdlLWZyb20tcG9pbnQtaW4tbmVz
dGVkLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWFmdGVy
LXN0eWxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1p
bi1tZWRpYS1lbGVtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
ZWxlbWVudC1pbi1tZXRlci1lbGVtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2NvbnRlbnQtZWxlbWVudC1pbi1wcm9ncmVzcy1lbGVtZW50Lmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1zZWxlY3QtZWxlbWVudC5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtb3V0c2lkZS1zaGFkb3ctc3R5
bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24t
Y29tcGxleC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVj
dGlvbi1keW5hbWljLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWZhbGxiYWNrLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1vcmRlci5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1zaGFkb3cu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW4tc2hhZG93Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NwcGV2ZW50LWlucHV0LWluLXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tYXR0cmlidXRlLW1vZGlm
aWVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1jbGFzc05h
bWUtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9u
LWlkLW1vZGlmaWVkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2RyYWctdG8tbWV0
ZXItaW4tc2hhZG93LWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Ryb3At
ZXZlbnQtZm9yLWlucHV0LWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9kcm9wLWV2ZW50LWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9l
bGVtZW50LWZyb20tcG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9mb3JtLWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxlbWVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvaGFzLWVsZW1lbnRzaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvaG9zdC13cmFwcGVyLXJlY2xhaW1lZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9pZnJhbWUtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2lu
cHV0LXdpdGgtdmFsaWRhdGlvbi13aXRob3V0LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LWxpc3QtbWVudS1jcmFzaC5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtcmVzZXRTdHlsZUluaGVyaXRhbmNlLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1zaGFkb3ctY3Jh
c2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXZpZGVv
LWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2ludmFsaWRhdGUtZGlzdHJp
YnV0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2xpbmstaW4tc2hhZG93LXRy
ZWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1h
ZG9wdC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290
LXJlbmRlcmluZy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFk
b3dyb290Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BhcmVudC10cmVlLXNjb3Bl
LWluLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG8tYXR0cmli
dXRlLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0dHJp
YnV0ZS1yZW5kZXJpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtb3B0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1idXR0b24uaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWZpZWxkc2V0
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNh
YmxlZC1pbnB1dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZGlzYWJsZWQtb3B0Z3JvdXAuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGlvbi5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2VsZWN0Lmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC10ZXh0YXJl
YS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC1hbmNob3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWVuYWJsZWQtYXJlYS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0b24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtZmllbGRzZXQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtaW5wdXQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtb3B0
Z3JvdXAuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWVuYWJsZWQtb3B0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1lbmFibGVkLXNlbGVjdC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC10ZXh0YXJlYS5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1dC5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1p
bmF0ZS1wcm9ncmVzcy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtbGluay1hbmNob3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWxpbmstYXJlYS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtdGFyZ2V0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRlZC1hcmVhLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3JlbW92ZS1zdHlsZXMtaW4tc2hhZG93LWNyYXNoLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1hdHRyaWJ1dGUtbW9kaWZp
ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWNsYXNzTmFt
ZS1tb2RpZmllZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24t
aWQtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVzaXplLWluLXNo
YWRvdy1kb20uaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3BvbHlm
aWxsLmpzOgorICAgICAgICAoLkVsZW1lbnQucHJvdG90eXBlLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QpOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvc2hhZG93LWRvbS5qczoK
KyAgICAgICAgKGNyZWF0ZURPTSk6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NlbGVjdC1p
bWFnZS13aXRoLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zZWxlY3Rp
b24tc2hvdWxkbnQtZXhwb3NlLXNoYWRvdy1kb20uaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2VsZWN0aW9ucy1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWFuZC1saXN0LWVsZW1lbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hhZG93LXJvb3QtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRvdy1yb290Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50LWNyYXNoLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpdi1yZWZsb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LWR5bmFtaWMtc3R5bGUtY2hhbmdlLXZpYS1tdXRhdGlvbi1hbmQtc2Vs
ZWN0b3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1lbnQtcmVu
ZGVyaW5nLW11bHRpcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1l
bGVtZW50LXJlbmRlcmluZy1zaW5nbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LW5lc3RlZC1wc2V1ZG8taWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LW9uLWltYWdlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1w
c2V1ZG8taWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlbW92ZWNo
aWxkLWFuZC1ibHVyLWV2ZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yZXByb2plY3Rpb24tY2xpY2suaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1hcHBlbmQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtYXR0YWNoZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtaW5uZXJIVE1MLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWpzLWFwaS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1uZXctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1uZXcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtcmVz
ZXRTdHlsZUluaGVyaXRhbmNlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1zZWxlY3QtYXR0cmlidXRlLWZlYXR1cmVzZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXVsLWxpLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1keW5hbWljLXN0eWxpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1idXR0b24tY29tcGxleC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24tb25seS1zaGFkb3cuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24td2l0aG91dC1zaGFkb3cuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24uaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1jb21wbGV4
LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZp
ZWxkc2V0LW9ubHktc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItZmllbGRzZXQtd2l0aG91dC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFzc29jaWF0ZWQtZWxlbWVudC11c2VyYWdlbnQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQt
dXBkYXRlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtYWx0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtY29udGVudC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1pbWFnZS1ldmVudC1jbGljay5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLWV2ZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93ZG9tLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utc3R5bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLW11bHRpcGxlLXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtcHNl
dWRvLWlkLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2Utd2l0aC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItaW1hZ2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1rZXlnZW4tY29tcGxleC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4td2l0aG91dC1zaGFkb3cuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZWRpYS5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLWR5bmFtaWMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1tdWx0aXBs
ZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdp
dGgtc3R5bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1t
ZXRlci13aXRob3V0LWFwcGVhcmFuY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXIuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3Qtb25seS1zaGFk
b3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3Qt
d2l0aG91dC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1vdXRwdXQtY29tcGxleC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1keW5hbWljLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MtbXVs
dGlwbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9n
cmVzcy13aXRoLXN0eWxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1zaGFkb3ctZWxlbWVudC5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBs
ZXgtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LW9ubHktc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtY29tcGxleC1zaGFkb3cuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1vbmx5LXNoYWRvdy5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdp
dGgtYXR0cmlidXRlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItdGV4dGFyZWEtd2l0aC1wbGFjZWhvbGRlci5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGgtc3R5bGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRob3V0LXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3QtY2xvbmVub2RlLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3Qtb2YtaW5zZXJ0aW9ucG9pbnQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC10eXBlLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFibGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdXBwcmVzcy1tdXRhdGlvbi1ldmVudHMtaW4tc2hh
ZG93LWNoYXJhY3RlcmRhdGEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvdHJhbnNp
dGlvbi1vbi1zaGFkb3ctaG9zdC13aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtaW4tc2hhZG93LWRvbS5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1vbi1pbnB1dC1pbi1zaGFkb3ctZG9tLmh0
bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZGV0YWNoZWQtc2hhZG93LWZyYW1lLmh0bWw6Cisg
ICAgICAgICogZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZWxlbWVudHMvc2hhZG93LXJvb3QuaHRtbDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZWxlbWVudHMvdXBkYXRlLXNoYWRvd2RvbS5odG1sOgorICAgICAgICAqIHBsYXRmb3Jt
L2VmbC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Ogor
CiAyMDEyLTEyLTEwICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IEZpeCBleHBlY3RhdGlvbnMgbGludCBlcnJvcnMgaW4gcjEzNzIzMQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktcGFzdGUtZmxvYXQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXBhc3RlLWZsb2F0Lmh0bWwKaW5kZXggMzVj
M2ZiMDAzMDBiNTMwZjkzYTlkYTk2NzkxYzIzYWY3ZTE2NDcyZi4uMmZkNDk5MDE1ZTUyZTU3NjM2
MjRiZDQxNThiZjc2NTljOTRlYTcyNSAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEy
NDkKemNtYSk2LSo0SjU1UHQ3cGFyMEE8KUAwQWpXYUB4UU5OQjRAeEElfTcjSHo4USplT05Ue2Bj
TTRLK1Z7c2BYeF44Cnp5WUlnSDcxe2NvRV5sT3VSYTQjbzlxSDtgYncwbEVoc3xKV3VkRCUmJlN4
V2Q0S1RMd1E1KHFpJH4xUEx2O0RfbAp6NEVDYzcyKmNpTmN7QSp+Sk5KayRNRTNkUzB7TDleUH19
YVghV2VNXmpqZXxyOGxQe2AmbyVQKD50V0drQjdxNV8KejtUV2dHRU00VjF6Sm4ma3tmb3o7SzVJ
RnFObEkzeXVVOHFJQHAtKTZYKzNSflpoQUNYQkthQEg9UGRDQj4jNSFDCnpEbmx0d3NTPlF8QkRw
a3hmM1F3KllxQihya01RWVReYmNJM0VCQExWWEVvOzlabkYjOGU0fjJqTG8mSloyWkIlYAp6OSh2
bmg/Kz9FIUp6eXBfK0Uha1M7S0t4aiN0bUlCdn56PkxmTFEmVVBVb3hESTVyN3BpeTNfVHtzPlFx
OVIhOWsKemAkN3lOdHtCRTM/KFlgTWA3OTspazhASXAtK0BSTD4zR1chPDg5UlE1UHIkZ1VzRVko
VShURGhySEpieSpTMHg7CnpISSNLVDVwZ3w0OFQlIT5eMDhHZTNfa0dGZjx4cVdAaWg2Y1NINHZT
c3UpRj9FdiZWenBCVUs8bztWNWJUUmZJJQp6Wkw3V15wVm5KNF43a1AwU1J6PztDQipDK15fKk5t
aypzOXVOWlY7ZzxlO0l9bTI7RVdHfG85T0dmWmsjLWdEMWsKenhzVjBEb1NqY3IrQW5MR0UzKyZI
YGxTUj0hR2V3anA9JVVPbmx4N1pjeGA8dk8xYlhLK3VLYHkkT3NSZmozI3paCmczeStRUilta0gh
eEYxbDJ0a1F1TyFUJVVhN1RsRTNxd3JfQDB+R1VjeEJ2aEUKCmxpdGVyYWwgMjQ5OAp6Y21iYEot
RVB4QjVRWFFPciFjKz41fk4lZ1EmYlg9RHBnUkMhaE09SlpBNit4aUNhTDNSfG1lYz54dTJnWm1F
UTwKeldiTzZMbktRclotK3dII0Q9WH5VN0l0SiQhYyVUem59KDt2Oys1SWZDYnFHO3QmeD9Tend2
Y3VIP35Ca0t4Vn5WCnohZDtHNVZMZn1zKTZXKGkqUFl1OGlKcEIhY1p1WntjbTE5SXIrflohWjNF
SzJXaz5QVj9iaH1CcHgpcikrSyVDTAp6NCVZWFEqKChzY0Y+aV4pMjV1OEx0P2hANig1KENUbnM/
JG0zRnRaTzN6JU9iUm9GV3NucXhFV3pENF40KmBCMngKelhlcilfanIoelRidU1jLURYI2Z7ViQr
NTl1WTkmSmsqOWEjKCMmUnppUT9Da1JkdzgtZ01JdXl7I1E4MUFURGVgCno3MCszeDxWejluYnd2
Njg4MUxzJmxfSzg7V2Npd0Y5NGJePClRKVB4PEo2dEdJQHtQQyhTeVJ5en1VanV5UVQrWAp6ZHY+
Mnc3Y1U+RWtqSm47K3UzPVR6cDglOyZzRTQ+cFpecyMtczk/Rytvei1GV0l9YVhXa3l+WExgKVVu
VTI9dyQKejs7OFB7eUQjdXMmYG8qaGx2JUpmPThhZTtfU0RwSVgrVzVqeVdNZzM0dGYpR00pbnls
MU53NXJiO3dAREtDdk8pCnpJYmBwSGVQbGkpXzd3Jj41KCVFalV2VzZ4Ki1hWHJyMXh+S2JDQTgl
LVpPdHI+PVh7ZVA2bSYmKytOU1dZSyReRgp6Zk5sSHEpP0R8RHZgdXk4KFktJDw5KlZoVWN+P35T
P2JneDc8TyZvJlR7NjJNdlF4NjJ1cjVuV1EqeFlRciNkfi0KemFOPDtYJmRBRlZTeUlQdShSSkJt
X3E8fFBVNi1AUSg/djN4YEFJbHNpbEQxZ1lScz9sUVJtTWtJflJlPWdlcXslCnpIOG0tMUBodGU0
UnIlN2FCS2V+ZVc2SGtmcEg5fFFzcDt+U3dQcUQ1SWBTKU48WmNTZVpPNSotI2J+dmtQY2QjQAp6
ZnhjJCZTenUrdHpoPSFnI0pnaFVkMlpMUFAhP0R9cU4yVWU2WUJiZT99cjAkXmBePn4+LWRfTDUr
bVhsWE4lKFgKemtoWU07eXBGNnJrNUsmXyYmdTY7Z2pINFlTQHBNfWA7O3I/TTFIQ2dIPkB3aDx4
ZnJZaWhaO2d6WTBfaEByMktWCm8lPnJ+KVBoTTg+MkZeSilzJDVsNUM7SVFSVXAoQT8oPHx9dFBM
Y098LWhIJEUxd05FPXN7akIxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFk
b3cvYWRqdXN0aW5nLWVkaXRpbmctYm91bmRhcnktd2l0aC10YWJsZS1pbi1zaGFkb3cuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2FkanVzdGluZy1lZGl0aW5nLWJvdW5kYXJ5LXdp
dGgtdGFibGUtaW4tc2hhZG93Lmh0bWwKaW5kZXggMDgzZGU3Y2M5ODFkNjlhODgzNWU4YjE4NGM3
ZDZiZGY2YmJhZWI0ZS4uNDNjMDNiZmJjNzI5ZTE2YzJlOGRlYTNiMjVlNzA0N2MxNDE5MTY1NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYWRqdXN0aW5nLWVkaXRpbmct
Ym91bmRhcnktd2l0aC10YWJsZS1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NoYWRvdy9hZGp1c3RpbmctZWRpdGluZy1ib3VuZGFyeS13aXRoLXRhYmxlLWluLXNoYWRv
dy5odG1sCkBAIC0xNywxMiArMTcsMTIgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBzaGFkb3dS
b290LmFwcGVuZENoaWxkKGRpdik7CiBkaXYuaW5uZXJIVE1MID0gIjx0YWJsZSBib3JkZXI9JzEn
Pjx0cj48dGQ+c2hhZG93IDE8L3RkPjwvdHI+PHRyPjx0ZCBpZD0nc3JjJz5zaGFkb3cgMjwvdGQ+
PC90cj48L3RhYmxlPiI7CiAKLXZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZGl2KTsKK3ZhciBuZXN0ZWRTaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIG5lc3RlZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgY29udGVudGVkaXRh
YmxlPmJlZm9yZTxzaGFkb3c+PC9zaGFkb3c+YWZ0ZXI8L2Rpdj4iOwogCiB2YXIgc3JjID0gc2hh
ZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnc3JjJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NoYWRvdy9ib2xkLXR3aWNlLWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zaGFkb3cvYm9sZC10d2ljZS1pbi1zaGFkb3cuaHRtbAppbmRleCAyNGI4ZmFlZDExZmQx
YmMzNWIyM2I0YTdkMjcxMWIwZWY0MzhlM2IwLi4zNjhmNTQ1MmZiODA1ODZlYThiMDhhY2VkOGMy
NWI2Y2E2ODA5YzZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9ib2xk
LXR3aWNlLWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2Jv
bGQtdHdpY2UtaW4tc2hhZG93Lmh0bWwKQEAgLTE4LDExICsxOCwxMSBAQAogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12YXIgc2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxkaXYgaWQ9
InNoYWRvdy1ob3N0Ij48c3BhbiBjb250ZW50ZWRpdGFibGU+c2hhZG93IGJlZm9yZTwvc3Bhbj48
c2hhZG93Pjwvc2hhZG93PnNoYWRvdyAoYWZ0ZXIpPC9kaXY+JzsKIAogdmFyIG5lc3RlZFNoYWRv
d0hvc3QgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdzaGFkb3ctaG9zdCcpOwotdmFyIG5l
c3RlZFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChuZXN0ZWRTaGFkb3dIb3N0KTsK
K3ZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmVzdGVkU2hhZG93SG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiBuZXN0ZWRTaGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJpbm5lciIg
Y29udGVudGVkaXRhYmxlPm5lc3RlZCBiZWZvcmU8c2hhZG93Pjwvc2hhZG93Pm5lc3RlZCBhZnRl
cjwvZGl2Pic7CiAKIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91bmRhcmllcy0yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJpZXMt
Mi5odG1sCmluZGV4IDc1NmE1MDY0MWU1MzcyZWM0MWQxNGQ0MTIyMzMwMzhkNDE1NWE0NWYuLjJh
ZGFkZDg5NDkxZTM0NDE0Mjc1YmJlNDljODM3ODJiNmMzMDM4OWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91bmRhcmllcy0yLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtpbmctZWRpdGluZy1ib3VuZGFy
aWVzLTIuaHRtbApAQCAtMTYsMTMgKzE2LDEzIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2
LnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgJ3RydWUnKTsKIHNoYWRvd1Jvb3QuYXBw
ZW5kQ2hpbGQoZGl2KTsKIGRpdi5pbm5lckhUTUwgPSAiPGRpdiBpZD0nc291cmNlJz5iZWZvcmUg
c2hhZG93PC9kaXY+PHNoYWRvdz48L3NoYWRvdz48ZGl2PmFmdGVyIHNoYWRvdzwvZGl2PiI7CiAK
LXZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKK3ZhciBu
ZXN0ZWRTaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIG5lc3RlZFNo
YWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgY29udGVudGVkaXRhYmxlPmJlZm9yZSBuZXN0ZWQ8
c2hhZG93Pjwvc2hhZG93PmFmdGVyIG5lc3RlZDwvZGl2PiI7CiAKIHZhciBzb3VyY2UgPSBzaGFk
b3dSb290LmdldEVsZW1lbnRCeUlkKCdzb3VyY2UnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91bmRhcmllcy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtpbmctZWRpdGluZy1ib3VuZGFyaWVzLmh0bWwKaW5k
ZXggMTY4MjA5ZjRiYTAwMDE0ZGM3NzIxMGMyM2Q5ODIzNjg5NDRhMmY0ZS4uNDNlZWUxOTJjMGVl
MDMwMDkyYzdkN2E4ZWMzNzkyOTNmMGI1N2Y5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zaGFkb3cvYnJlYWtpbmctZWRpdGluZy1ib3VuZGFyaWVzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtpbmctZWRpdGluZy1ib3VuZGFyaWVzLmh0bWwKQEAg
LTE0LDExICsxNCwxMSBAQCBUaGlzIGlzIGJlY2F1c2UgdGhlIHN0YXJ0IHBvc2l0aW9uIG9mIFNl
bGVjdGlvbiBjb21lcyBhZnRlciB0aGUgZW5kIHBvc2l0aW9uIG9mCiA8cHJlIGlkPSJjb25zb2xl
Ij48L3ByZT4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNwYW4gaWQ9J3NoYWRvdy1ob3N0Jz5iZWZvcmUg
c2hhZG93PHNoYWRvdyBpZD0nc2hhZG93Jz48L3NoYWRvdz5hZnRlciBzaGFkb3c8L3NwYW4+Igog
CiB2YXIgbmVzdGVkU2hhZG93SG9zdCA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ3NoYWRv
dy1ob3N0Jyk7Ci12YXIgbmVzdGVkU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG5l
c3RlZFNoYWRvd0hvc3QpOwordmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXN0ZWRTaGFkb3dIb3N0
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIG5lc3RlZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0g
IjxzcGFuIGNvbnRlbnRlZGl0YWJsZT5iZWZvcmUgbmVzdGVkPHNoYWRvdz48L3NoYWRvdz5hZnRl
ciBuZXN0ZWQ8L3NwYW4+IgogCiAvLyBUaGlzIHNob3VsZCBub3QgY2F1c2UgYSBjcmFzaC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91
bmRhcnktd2l0aC10YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtp
bmctZWRpdGluZy1ib3VuZGFyeS13aXRoLXRhYmxlLmh0bWwKaW5kZXggMGM4MzI1YjIwYzg5NjAy
YjI1ZGM0ZjFkMTA5YWI4NDI2ZjQ2OGY0YS4uOGVlNzlkNGQyNmU0M2QwNDBmNTYwMjJhMTFiMTU1
NTkzMjgzM2FiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtp
bmctZWRpdGluZy1ib3VuZGFyeS13aXRoLXRhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zaGFkb3cvYnJlYWtpbmctZWRpdGluZy1ib3VuZGFyeS13aXRoLXRhYmxlLmh0bWwKQEAg
LTE1LDcgKzE1LDcgQEAgVGhpcyB0ZXN0IGNoZWNrcyB0aGUgJmx0O3NwYW4mZ3Q7IGRvZXMgbm90
IGNoYW5nZWQgdG8gbm9uLWNvbnRlbnRlZGl0YWJsZSBlbGVtZW4KIDxwcmUgaWQ9ImNvbnNvbGUi
PjwvcHJlPgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8dGFibGUgYm9yZGVyPSIxIj4nICsKICAgICAnPHRy
Pjx0ZCBpZD0iZHN0Ij5hYWFhYTwvdGQ+PHRkIGlkPSJhbm90aGVyIj5hYWFhYTwvdGQ+PC90cj4n
ICsKICAgICAnPHRyPjx0ZD5hYWFhYTwvdGQ+PHRkPmFhYWFhPC90ZD48L3RyPicgKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvY29tcGFyZS1wb3NpdGlvbnMtaW4tbmVz
dGVkLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvY29tcGFyZS1wb3Np
dGlvbnMtaW4tbmVzdGVkLXNoYWRvdy5odG1sCmluZGV4IDY4ZWViYjQ4MWRmNGJlYzU4ODlmZGU2
ZmExNDUyMjYyNzg0ZDI1MzkuLjNhNmE2ZTA4NzkyNjlmMTYwZGRhYTQ4YjQyODVhYTA1NzYyN2Mx
ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2NvbXBhcmUtcG9zaXRp
b25zLWluLW5lc3RlZC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9jb21wYXJlLXBvc2l0aW9ucy1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwKQEAgLTE4LDExICsxOCwx
MSBAQCBmdW5jdGlvbiBjcmVhdGVCb3gobmFtZSkgewogfQogCiBmdW5jdGlvbiBjcmVhdGVOZXN0
ZWRTaGFkb3dET00oaG9zdCwgY29udGVudCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIG5lc3Rl
ZFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBuZXN0ZWRT
aGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgZGl2SW5O
ZXN0ZWRTaGFkb3dSb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZGl2
SW5OZXN0ZWRTaGFkb3dSb290LmlubmVySFRNTCA9IGNvbnRlbnQ7CiAgICAgbmVzdGVkU2hhZG93
Um9vdC5hcHBlbmRDaGlsZChkaXZJbk5lc3RlZFNoYWRvd1Jvb3QpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvY29udGVudGVkaXRhYmxlLXByb3BhZ2F0aW9uLWF0LXNo
YWRvdy1ib3VuZGFyeS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvY29udGVudGVk
aXRhYmxlLXByb3BhZ2F0aW9uLWF0LXNoYWRvdy1ib3VuZGFyeS5odG1sCmluZGV4IDYxYzg2ZDUw
NWMwMjU1OThjNzAxMDhlZWQ0ZmU3YTM0MDk1MGE2MTMuLmI4ZDM1MmM1MzEzNTAwMzVjOThlMTMy
NzIwN2NmZGU3ZjBhZTVkMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93
L2NvbnRlbnRlZGl0YWJsZS1wcm9wYWdhdGlvbi1hdC1zaGFkb3ctYm91bmRhcnkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9jb250ZW50ZWRpdGFibGUtcHJvcGFnYXRpb24t
YXQtc2hhZG93LWJvdW5kYXJ5Lmh0bWwKQEAgLTI4LDcgKzI4LDcgQEAgZnVuY3Rpb24gY29tcHV0
ZWRTdHlsZShlbGVtZW50LCBzdHlsZSkgewogfQogCiBmdW5jdGlvbiBwcmVwYXJlTm9kZUluU2hh
ZG93Um9vdChob3N0KSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogICAgIHZhciBub2RlSW5TaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKICAgICBub2RlSW5TaGFkb3cuc2V0QXR0cmlidXRlKCdpZCcsICdub2RlLWluLXNoYWRvdy1y
b290Jyk7CiAgICAgbm9kZUluU2hhZG93LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCdJbiBTaGFkb3cnKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9kZWxldGUtY2hhcmFjdGVycy1pbi1kaXN0cmlidXRlZC1ub2RlLWNyYXNoLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9kZWxldGUtY2hhcmFjdGVycy1pbi1kaXN0cmlidXRlZC1u
b2RlLWNyYXNoLmh0bWwKaW5kZXggZWRhNDljZTVjNDIwOTE2MGE1YTY5NDMzODZkMzhhYmY1ZmEx
YWUzMC4uOGM3ZTVkZGMwODQwZTI4ODBjZTIxODNlY2M0Y2Q2MjExZDZiNDhiZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZGVsZXRlLWNoYXJhY3RlcnMtaW4tZGlzdHJp
YnV0ZWQtbm9kZS1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2Rl
bGV0ZS1jaGFyYWN0ZXJzLWluLWRpc3RyaWJ1dGVkLW5vZGUtY3Jhc2guaHRtbApAQCAtNiw3ICs2
LDcgQEAKIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzaGFkb3dob3N0JykpOwordmFyIHNoYWRvd1Jvb3QgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnc2hhZG93aG9zdCcpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50PjwvY29udGVudD4iOwogCiB2YXIg
dGV4dE5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hhZG93aG9zdCcpLmZpcnN0Q2hp
bGQuZmlyc3RDaGlsZDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2Rl
bGV0ZS1saXN0LWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZGVs
ZXRlLWxpc3QtaW4tc2hhZG93Lmh0bWwKaW5kZXggM2ZkZTU1MDc3ZWIwNTU2MzRiYzI2MmVmMzEz
MWQ4NDcxYmFkNGYwYS4uNzY2OTM3NzIwZWE3N2Q2YTQyNzUwNmZlYzEwZjMyZjYwNjQ5ZGFmNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZGVsZXRlLWxpc3QtaW4tc2hh
ZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZGVsZXRlLWxpc3QtaW4t
c2hhZG93Lmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiB2YXIgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogbGkuaW5u
ZXJIVE1MID0gJ2hvZ2Vob2dlJzsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQobGkpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZG91YmxlY2xpY2stb24tbWV0ZXItaW4t
c2hhZG93LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9kb3VibGVjbGlj
ay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbAppbmRleCA3YmUzMDY3MmRhZWEwYjM5MWFm
ZWZmZjJiOGQ5NzdlZTAyNmRiYzQwLi4zODJmZTRlMmU0OTNhNjk0OThkMWIwNmYyZGMzZGZlNTlh
MjEyMDJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9kb3VibGVjbGlj
ay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NoYWRvdy9kb3VibGVjbGljay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbApAQCAtMTAs
NyArMTAsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAKIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFp
bmVyJyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGNvbnRhaW5lcik7
Cit2YXIgc2hhZG93Um9vdCA9IGNvbnRhaW5lci53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2
YXIgbWV0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRlcicpOwogc2hhZG93Um9vdC5h
cHBlbmRDaGlsZChtZXRlcik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hh
ZG93L2V4ZWNjb21tYW5kLWluZGVudC1pbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2hhZG93L2V4ZWNjb21tYW5kLWluZGVudC1pbi1zaGFkb3cuaHRtbAppbmRleCBkZmFlZWU2
ZDg3NzE4NWYzZGNlNzA4ZjA1MDA3ZDhiMGRhZDAzY2RmLi5hYWU3NWFhYmNjZTRjNWJjZGI5YzZl
NjgwNjYzNTljMzRkMjFjMmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9leGVjY29tbWFuZC1pbmRlbnQtaW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zaGFkb3cvZXhlY2NvbW1hbmQtaW5kZW50LWluLXNoYWRvdy5odG1sCkBAIC0xNCw3ICsx
NCw3IEBAIHRvIGNvbmZpcm0gYSBjcmFzaCBkb2Vzbid0IGhhcHBlbi48L3A+CiA8cHJlIGlkPSJj
b25zb2xlIj48L2Rpdj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoY29udGFpbmVyKTsKK3ZhciBzaGFkb3dSb290ID0gY29udGFpbmVyLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzcGFuIGNvbnRlbnRl
ZGl0YWJsZT5Lb3RvcmkgT3RvbmFzaGk8L3NwYW4+IgogdmFyIHNwYW4gPSBzaGFkb3dSb290LmZp
cnN0Q2hpbGQ7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2luc2Vy
dG9yZGVyZWRsaXN0LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9pbnNl
cnRvcmRlcmVkbGlzdC1jcmFzaC5odG1sCmluZGV4IDI1ODEwNjM5Yzg0NzljNTMxYTM1ZjI5Y2E0
MDJmOGVkOTZkZDk4NzEuLjZlZGJlNDdmY2RjMGQwNjc3MGE2YTVkZWEwMzBkOTU0MTJlN2M4NWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2luc2VydG9yZGVyZWRsaXN0
LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvaW5zZXJ0b3JkZXJl
ZGxpc3QtY3Jhc2guaHRtbApAQCAtMTksMTIgKzE5LDEyIEBAIFRvIHRlc3QgbWFudWFsbHksIHNl
bGVjdCBmcm9tIChiZWZvcmUgbmVzdGVkKSB0byAoYWZ0ZXIgbmVzdGVkKSwgdGhlbiBwcmVzcyBJ
dGFsCiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hh
ZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwog
ZGl2LmlubmVySFRNTCA9ICI8c3BhbiBjb250ZW50ZWRpdGFibGU+KGJlZm9yZSBzaGFkb3cpPC9z
cGFuPjxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyIHNoYWRvdykiOwogCi12YXIgbmVzdGVkU2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7Cit2YXIgbmVzdGVkU2hhZG93Um9vdCA9
IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBuZXN0ZWRTaGFkb3dSb290LmlubmVySFRN
TCA9ICI8ZGl2IGNvbnRlbnRlZGl0YWJsZT4oYmVmb3JlIDxzcGFuIGlkPSdzcmMnPjwvc3Bhbj5u
ZXN0ZWQpPHNoYWRvdz48L3NoYWRvdz4obmVzdGVkIDxzcGFuIGlkPSdkc3QnPjwvc3Bhbj5hZnRl
cik8L2Rpdj4iOwogCiB2YXIgc3JjID0gbmVzdGVkU2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgn
c3JjJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9wcmVzc2luZy1l
bnRlci1vbi1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9wcmVzc2luZy1l
bnRlci1vbi1saXN0Lmh0bWwKaW5kZXggMmJkN2M2M2UwYjQ2ZDBiZjJjODljMmNlODY1MDk0MGQw
MmIxOGIzNS4uNTQyNzVhZTU3ODZjMjYyYTFlYTI0NDJlYTI2NDAwNzIzMTdlZTRmYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvcHJlc3NpbmctZW50ZXItb24tbGlzdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3ByZXNzaW5nLWVudGVyLW9uLWxp
c3QuaHRtbApAQCAtMjAsNyArMjAsNyBAQCBiZWNhc3VlIG1vZGlmeWluZyBTaGFkb3cgRE9NIHJl
bW92ZXMgdGhlIHJlbmRlcmVyIGluIFNoYWRvdyBET00gYW5kIGRlc2VuZGFudCBvZgogaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12YXIgc2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBo
b3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBsaSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2xpJyk7CiBsaS5pbm5lckhUTUwgPSAnaW5zaWRlIHNoYWRvdyc7CiBzaGFkb3dSb290
LmFwcGVuZENoaWxkKGxpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93
L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NoYWRvdy9yaWdodGNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sCmlu
ZGV4IGQ4NTdlYjY0NWZmMzUzODViYmEyMDRhN2M5MDJjNDgwNTYwYWE5OGQuLjYzNmEwMjEzZDk0
ZTM1YTE4Yjk1ZDI4NTk3YTUzZGYyOWU4MmQ4MTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1vbi1tZXRlci1pbi1zaGFk
b3ctY3Jhc2guaHRtbApAQCAtMTYsNyArMTYsNyBAQCBmdW5jdGlvbiBjb250ZXh0Q2xpY2soeCwg
eSkgewogfQogCiB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRh
aW5lcicpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChjb250YWluZXIp
OwordmFyIHNoYWRvd1Jvb3QgPSBjb250YWluZXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
dmFyIG1ldGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0ZXInKTsKIHNoYWRvd1Jvb3Qu
YXBwZW5kQ2hpbGQobWV0ZXIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3No
YWRvdy9zZWxlY3QtY29udGVudGVkaXRhYmxlLXNoYWRvd2hvc3QuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L3NlbGVjdC1jb250ZW50ZWRpdGFibGUtc2hhZG93aG9zdC5odG1sCmlu
ZGV4IDRmYjA0MWJhZTVjZmU4NmFlNTMxMWUyMjE2MTVlNTE0ZGEzYzAzMWQuLjAxMTMxYTY0YWEy
M2Y0OGJiMjQxYTAzMjc3NmNkYjg5MTVkZGU3ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2hhZG93L3NlbGVjdC1jb250ZW50ZWRpdGFibGUtc2hhZG93aG9zdC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3NlbGVjdC1jb250ZW50ZWRpdGFibGUtc2hhZG93
aG9zdC5odG1sCkBAIC0xNyw3ICsxNyw3IEBACiAKIDxzY3JpcHQ+CiAKLXZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiU0hBRE9XIERP
TSI7CiAKIHZhciBzZWxlY3Rpb24gPSBzaGFkb3dSb290LmdldFNlbGVjdGlvbigpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2VsZWN0aW9uLW9mLW9ycGhhbi1zaGFk
b3dyb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9zZWxlY3Rpb24tb2Ytb3Jw
aGFuLXNoYWRvd3Jvb3QuaHRtbAppbmRleCAyOGZlZDA2ZGFhNGQ3MjRhNDM1MjgxMmQzODVhZmU2
MWYzNWJhMDdiLi4wNTgxMzIxYWEwMzA0ZDQzMjFiNDY5YmYzMWYyMWI2ZThiYjc3OTQwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9zZWxlY3Rpb24tb2Ytb3JwaGFuLXNo
YWRvd3Jvb3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9zZWxlY3Rpb24t
b2Ytb3JwaGFuLXNoYWRvd3Jvb3QuaHRtbApAQCAtMTQsNyArMTQsNyBAQAogCiA8c2NyaXB0Pgog
dmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLXZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiS290b3JpIE90
b25hc2hpIgogCiB2YXIgc2VsZWN0aW9uID0gc2hhZG93Um9vdC5nZXRTZWxlY3Rpb24oKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3NlbGVjdGlvbi1vZi1zaGFkb3dy
b290Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9zZWxlY3Rpb24tb2Ytc2hhZG93
cm9vdC5odG1sCmluZGV4IDgxZTBjZTNiNmIyMDMzNzhkYTFlOGM1MzNhMzhjMjY3YjkwMmJhYjAu
LjcwNzJhZWFjOGNkY2UzODAxYTA2MzAwMjU5MGE2YjNiNTYwZWU0MDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3NlbGVjdGlvbi1vZi1zaGFkb3dyb290Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2VsZWN0aW9uLW9mLXNoYWRvd3Jvb3QuaHRt
bApAQCAtMzQsNyArMzQsNyBAQCBmdW5jdGlvbiBjcmVhdGVDb21wbGV4U2hhZG93VHJlZShjb250
YWluZXIpIHsKICAgICAgICAgICAgICI8ZGl2IHRpdGxlPSdESVYzIElOICIgKyBuYW1lICsgIic+
IiArIGluZGVudChpbmRlbnRMZXZlbCkgKyAiRElWIDMgKCIgKyBuYW1lICsgIik8L2Rpdj4iOwog
CiAgICAgICAgIHZhciBob3N0SW5TaGFkb3dSb290ID0gc2hhZG93Um9vdC5maXJzdENoaWxkLm5l
eHRTaWJsaW5nOwotICAgICAgICB2YXIgbmVzdGVkU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3RJblNoYWRvd1Jvb3QpOworICAgICAgICB2YXIgbmVzdGVkU2hhZG93Um9vdCA9
IGhvc3RJblNoYWRvd1Jvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgICAgICBuZXN0
ZWRTaGFkb3dSb290LnRpdGxlID0gJ05FU1RFRCBTSEFET1cgUk9PVCBJTiAnICsgbmFtZTsKICAg
ICAgICAgdHJlZVNjb3Blcy5wdXNoKG5lc3RlZFNoYWRvd1Jvb3QpOwogCkBAIC01MSwxMSArNTEs
MTEgQEAgZnVuY3Rpb24gY3JlYXRlQ29tcGxleFNoYWRvd1RyZWUoY29udGFpbmVyKSB7CiAKICAg
ICB2YXIgaG9zdCA9IGNvbnRhaW5lci5maXJzdENoaWxkLm5leHRTaWJsaW5nOwogCi0gICAgdmFy
IG9sZGVyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBv
bGRlclNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBvbGRl
clNoYWRvd1Jvb3QudGl0bGUgPSAnT0xERVIgU0hBRE9XIFJPT1QnOwogICAgIHRyZWVTY29wZXMu
cHVzaChvbGRlclNoYWRvd1Jvb3QpOwogCi0gICAgdmFyIHlvdW5nZXJTaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHlvdW5nZXJTaGFkb3dSb290ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgeW91bmdlclNoYWRvd1Jvb3QudGl0bGUg
PSAnWU9VTkdFUiBTSEFET1cgUk9PVCc7CiAgICAgdHJlZVNjb3Blcy5wdXNoKHlvdW5nZXJTaGFk
b3dSb290KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2hhZG93
LXNlbGVjdGlvbi1ub3QtZXhwb3J0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93
L3NoYWRvdy1zZWxlY3Rpb24tbm90LWV4cG9ydGVkLmh0bWwKaW5kZXggYjdjNGIyOTRiMDUwMTA3
NGI2ZDNjMTE0Mjc0NTM2YTJiYWI5NmQ3Ny4uY2ZlNjI5ZDgxOTk4MzY4NTJlNjdlMGZjZDI2Zjgx
NGFkMGNkNzAwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2hhZG93
LXNlbGVjdGlvbi1ub3QtZXhwb3J0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3No
YWRvdy9zaGFkb3ctc2VsZWN0aW9uLW5vdC1leHBvcnRlZC5odG1sCkBAIC0xNCw3ICsxNCw3IEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAog
dmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKLXZh
ciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKK3ZhciBzaGFk
b3dSb290ID0gY29udGFpbmVyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogdmFyIGRpdjIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdjIuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoJ0lOIFNIQURPVyBUUkVFIDEnKSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1z
dHlsZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0
eWxlLXNjb3BlZC1hcHBseS1hdXRob3Itc3R5bGVzLWV4cGVjdGVkLnR4dAppbmRleCA2YTYzZDlh
YTg0MzQ3ZDY3MGU2MGZlODRjZTVlZDk2ZTNkNjNhMmI1Li4zOWUzYWE4YzVkMDA5NWNkMmZhYjM3
ZmM0ZWRmOWVjYzM5MDM5MTAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHls
ZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHkt
YXV0aG9yLXN0eWxlcy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiBQQVNTIHdpbmRvdy5p
bnRlcm5hbHMgaXMgZGVmaW5lZC4KLVBBU1Mgd2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dS
b290IGlzIGRlZmluZWQuCi1QQVNTIFdlYktpdFNoYWRvd1Jvb3QgaXMgZGVmaW5lZC4KIFBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1hcHBseS1hdXRo
b3Itc3R5bGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUt
c2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMuaHRtbAppbmRleCAzMmI5MDYxZjNiNzNjZDFmYzUz
MjMyMGRhOWE4ZGVkZTZmMWNiNjU0Li42YTkwZjdhODljZDYxNjcwOTI3MWRiMDg0NDYyMGZmYzk3
OTYxOTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5
bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMuaHRtbApA
QCAtOCw4ICs4LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogCiBzaG91bGRCZURlZmluZWQoIndpbmRvdy5pbnRlcm5hbHMiKTsKLXNob3Vs
ZEJlRGVmaW5lZCgid2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dSb290Iik7Ci1zaG91bGRC
ZURlZmluZWQoIldlYktpdFNoYWRvd1Jvb3QiKTsKIAogZnVuY3Rpb24gZHVtcENvbXB1dGVkU3R5
bGUobm9kZSkKIHsKQEAgLTIzLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdEJhc2ljKCkKICAgICBk
aXYuaW5uZXJIVE1MID0gJzxkaXY+PHN0eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6IDFweCBzb2xp
ZCByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9Imhvc3QiPjwvZGl2PjwvZGl2Pic7CiAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0IikpOworICAgIHZhciBzaGFk
b3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRhcmdldCI+dGFyZ2V0PC9k
aXY+JzsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CiAKQEAgLTQ1LDkgKzQz
LDkgQEAgZnVuY3Rpb24gdGVzdEVuY2xvc2luZ1NoYWRvdygpCiAgICAgdmFyIGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZGl2KTsKIAotICAgIHZhciBvdXRlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7
CisgICAgdmFyIG91dGVyU2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBvdXRlclNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxlPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlk
IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0ib3V0ZXIiPm91dGVyPC9kaXY+JzsKLSAgICB2YXIgc2hh
ZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91
dGVyIikpOworICAgIHZhciBzaGFkb3cgPSBvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0
ZXIiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICc8
ZGl2IGlkPSJ0YXJnZXQiPnRhcmdldDwvZGl2Pic7CiAKICAgICAvLyBiZWZvcmUKQEAgLTY3LDEy
ICs2NSwxMiBAQCBmdW5jdGlvbiB0ZXN0RW5jbG9zaW5nU2hhZG93V2l0aFNjb3BlZCgpCiAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBvdXRlclNoYWRvdyA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGRpdik7CisgICAgdmFyIG91dGVyU2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBvdXRlclNoYWRvdy5pbm5lckhUTUwgPSAnPGRpdj48c3R5bGUgc2Nv
cGVkPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0ib3V0ZXJJ
blNjb3BlIj5vdXRlckluU2NvcGU8L2Rpdj48L2Rpdj48ZGl2IGlkPSJvdXRlck91dE9mU2NvcGUi
Pm91dGVyT3V0T2ZTY29wZTwvZGl2Pic7CiAKLSAgICB2YXIgc2hhZG93MSA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KG91dGVyU2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRlckluU2NvcGUiKSk7Cisg
ICAgdmFyIHNoYWRvdzEgPSBvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJJblNjb3Bl
Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzEuaW5uZXJIVE1MID0gJzxk
aXYgaWQ9InRhcmdldEluU2NvcGUiPnRhcmdldEluU2NvcGU8L2Rpdj4nOwotICAgIHZhciBzaGFk
b3cyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91
dGVyT3V0T2ZTY29wZSIpKTsKKyAgICB2YXIgc2hhZG93MiA9IG91dGVyU2hhZG93LmdldEVsZW1l
bnRCeUlkKCJvdXRlck91dE9mU2NvcGUiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
c2hhZG93Mi5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGFyZ2V0T3V0T2ZTY29wZSI+dGFyZ2V0T3V0
T2ZTY29wZTwvZGl2Pic7CiAKICAgICAvLyBiZWZvcmUKQEAgLTk4LDE1ICs5NiwxNSBAQCBmdW5j
dGlvbiB0ZXN0TmVzdGVkU2hhZG93KCkKICAgICBkaXYuaW5uZXJIVE1MID0gJzxzdHlsZSBzY29w
ZWQ+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgcmVkIH08L3N0eWxlPjxkaXYgaWQ9Imhvc3QiPjwv
ZGl2Pic7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIG91
dGVyTW9zdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJob3N0IikpOworICAgIHZhciBvdXRlck1vc3RTaGFkb3cgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaG9zdCIpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBvdXRlck1vc3RT
aGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5kaXYgeyBib3JkZXI6IDFweCBzb2xpZCBibHVlOyB9
PC9zdHlsZT48ZGl2IGlkPSJvdXRlck1vc3QiPm91dGVyTW9zdDwvZGl2Pic7CiAgICAgb3V0ZXJN
b3N0U2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7CiAKLSAgICB2YXIgb3V0ZXJTaGFk
b3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChvdXRlck1vc3RTaGFkb3cuZ2V0RWxlbWVudEJ5SWQo
Im91dGVyTW9zdCIpKTsKKyAgICB2YXIgb3V0ZXJTaGFkb3cgPSBvdXRlck1vc3RTaGFkb3cuZ2V0
RWxlbWVudEJ5SWQoIm91dGVyTW9zdCIpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBv
dXRlclNoYWRvdy5pbm5lckhUTUwgPSAnPGRpdiBpZD0ib3V0ZXIiPm91dGVyPC9kaXY+JzsKICAg
ICBvdXRlclNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9IGZhbHNlOwogCi0gICAgdmFyIHNoYWRv
dyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVyU2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRl
ciIpKTsKKyAgICB2YXIgc2hhZG93ID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91dGVy
Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAnPGRp
diBpZD0idGFyZ2V0Ij50YXJnZXQ8L2Rpdj4nOwogICAgIHNoYWRvdy5hcHBseUF1dGhvclN0eWxl
cyA9IGZhbHNlOwogCkBAIC0xMzIsMTUgKzEzMCwxNSBAQCBmdW5jdGlvbiB0ZXN0TXVsdGlwbGVT
aGFkb3coKQogICAgIGRpdi5pbm5lckhUTUwgPSAnPHN0eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6
IDFweCBzb2xpZCByZWQgfTwvc3R5bGU+PGRpdj50ZXN0PC9kaXY+JzsKICAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgb2xkZXN0U2hhZG93ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgb2xkZXN0U2hhZG93ID0gZGl2LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKICAgICBvbGRlc3RTaGFkb3cuaW5uZXJIVE1MID0gJzxzaGFkb3c+PC9z
aGFkb3c+PGRpdiBpZD0ib2xkZXN0U2hhZG93Ij5vbGRlc3RTaGFkb3c8L2Rpdj4nOwogICAgIG9s
ZGVzdFNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9IGZhbHNlOwogCi0gICAgdmFyIG9sZGVyU2hh
ZG93ID0gIG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIG9sZGVyU2hhZG93ID0g
IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgb2xkZXJTaGFkb3cuaW5uZXJIVE1M
ID0gJzxzdHlsZSBzY29wZWQ+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgYmx1ZSB9PC9zdHlsZT48
c2hhZG93Pjwvc2hhZG93PjxkaXYgaWQ9Im9sZGVyU2hhZG93Ij5vbGRlclNoYWRvdzwvZGl2Pic7
CiAgICAgb2xkZXJTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKIAotICAgIHZhciBz
aGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAnPHNoYWRv
dz48L3NoYWRvdz48ZGl2IGlkPSJ0YXJnZXQiPnNoYWRvdzwvZGl2Pic7CiAgICAgc2hhZG93LmFw
cGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7CiAKQEAgLTE4NiwxNSArMTg0LDE1IEBAIGZ1bmN0aW9u
IHRlc3RPcmRlck9mQXBwbHlTdHlsZSgpCiAgICAgZGl2LmlubmVySFRNTCA9ICc8c3R5bGUgc2Nv
cGVkPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZCB9PC9zdHlsZT48ZGl2IGlkPSJob3N0Ij48
L2Rpdj4nOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBv
dXRlck1vc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaG9zdCIpKTsKKyAgICB2YXIgb3V0ZXJNb3N0U2hhZG93ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImhvc3QiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgb3V0ZXJNb3N0
U2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgYmx1ZTsg
fTwvc3R5bGU+PGRpdiBpZD0ib3V0ZXJNb3N0Ij5vdXRlck1vc3Q8L2Rpdj4nOwogICAgIG91dGVy
TW9zdFNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9IHRydWU7CiAKLSAgICB2YXIgb3V0ZXJTaGFk
b3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChvdXRlck1vc3RTaGFkb3cuZ2V0RWxlbWVudEJ5SWQo
Im91dGVyTW9zdCIpKTsKKyAgICB2YXIgb3V0ZXJTaGFkb3cgPSBvdXRlck1vc3RTaGFkb3cuZ2V0
RWxlbWVudEJ5SWQoIm91dGVyTW9zdCIpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBv
dXRlclNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxlPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIGdy
ZWVuOyB9PC9zdHlsZT48ZGl2IGlkPSJvdXRlciI+b3V0ZXI8L2Rpdj4nOwogICAgIG91dGVyU2hh
ZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKIAotICAgIHZhciBzaGFkb3cgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChvdXRlclNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXIiKSk7CisgICAg
dmFyIHNoYWRvdyA9IG91dGVyU2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRlciIpLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5kaXYgeyBi
b3JkZXI6IDFweCBzb2xpZCB5ZWxsb3c7IH08L3N0eWxlPjxkaXYgaWQ9InRhcmdldCI+dGFyZ2V0
PC9kaXY+JzsKICAgICBzaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5n
ZS1zY29wZWQtaW4tc2hhZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0
eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQu
dHh0CmluZGV4IGM5NjZhYjFhMmFlYjM4YWU1NDM2NTE5OGFjMDI2MWMwZDZkZjY4MTguLjY4ZjQ0
MmJmNWQyMjA0MGYxMzY2YjZjNzNmNmI2MDQzNDYxNjU0NGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1z
aGFkb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3Bl
ZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0CkBAIC0x
LDYgKzEsNCBAQAogUEFTUyB3aW5kb3cuaW50ZXJuYWxzIGlzIGRlZmluZWQuCi1QQVNTIHdpbmRv
dy5pbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdCBpcyBkZWZpbmVkLgotUEFTUyBXZWJLaXRTaGFk
b3dSb290IGlzIGRlZmluZWQuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3Bl
ZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFk
b3cuaHRtbAppbmRleCAxYTdhOTJhNTYxOTI4ZmEwNGQ4MTA0YWQ2NTZiM2VjY2E3MTAzNzQwLi45
NWZlNWVmYTZmMDBjNTkwZTMwNzkwMDAzYzk5M2EwOTFjNDQxZTlkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1zY29wZWQt
aW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0
eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRvdy5odG1sCkBAIC04LDggKzgsNiBAQCBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIHNo
b3VsZEJlRGVmaW5lZCgid2luZG93LmludGVybmFscyIpOwotc2hvdWxkQmVEZWZpbmVkKCJ3aW5k
b3cuaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3QiKTsKLXNob3VsZEJlRGVmaW5lZCgiV2ViS2l0
U2hhZG93Um9vdCIpOwogCiBmdW5jdGlvbiBkdW1wQ29tcHV0ZWRTdHlsZShub2RlKQogewpAQCAt
MjEsNyArMTksNyBAQCBmdW5jdGlvbiB0ZXN0U2NvcGVkU3R5bGVJblNoYWRvdygpCiAgICAgZGVi
dWcoInRlc3QgYSBzY29wZWQgc3R5bGUgaW4gc2hhZG93IHN1YnRyZWUuIik7CiAgICAgdmFyIGRp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KTsKKyAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
aGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIHNjb3BlZD5kaXYgeyBjb2xvcjogcmVkOyB9
PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4i
OwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMzUsNyArMzMsNyBAQCBmdW5j
dGlvbiB0ZXN0U3R5bGVJblNoYWRvdygpCiAgICAgZGVidWcoInRlc3QgYSBzdHlsZSBpbiBzaGFk
b3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48ZGl2IGlk
PSdFJz5FRUU8L2Rpdj48c3R5bGU+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PC9kaXY+PGRp
diBpZD0nRic+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKQEAg
LTQ5LDEwICs0NywxMCBAQCBmdW5jdGlvbiB0ZXN0U3R5bGVJbk11bHRpcGxlU2hhZG93KCkKICAg
ICBkZWJ1ZygidGVzdCBzdHlsZXMgaW4gbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVzLiIpOwogICAg
IHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKIAotICAgIHZhciBzaGFk
b3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93MSA9IGRpdi53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93MS5pbm5lckhUTUwgPSAiPGRpdj48
c3R5bGU+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0nRSc+RUVFPC9kaXY+PC9k
aXY+PGRpdiBpZD0nRic+RkZGPC9kaXY+IjsKIAotICAgIHZhciBzaGFkb3cyID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93MiA9IGRpdi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgc2hhZG93Mi5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVkPmRp
diB7IGNvbG9yOiBibHVlIH08L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+PGRpdiBpZD0nRyc+R0dH
PC9kaXY+PC9kaXY+IjsKIAogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKQEAg
LTY5LDEwICs2NywxMCBAQCBmdW5jdGlvbiB0ZXN0U2NvcGVkU3R5bGVJbk5lc3RlZFNoYWRvdygp
CiAgICAgZGVidWcoInRlc3QgYSBzY29wZWQgc3R5bGUgaW4gbmVzdGVkIHNoYWRvdyBzdWJ0cmVl
LiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0gICAgdmFyIHNoYWRvdzEgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cxID0gZGl2LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBzaGFkb3cxLmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQ+
ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0nRSc+RUVFPC9kaXY+PC9kaXY+PGRp
diBpZD0nRic+RkZGPC9kaXY+IjsKICAgICB2YXIgZSA9IHNoYWRvdzEuZ2V0RWxlbWVudEJ5SWQo
IkUiKTsKLSAgICB2YXIgc2hhZG93MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGUpOworICAgIHZh
ciBzaGFkb3cyID0gZS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Mi5pbm5l
ckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVkPmRpdiB7IGNvbG9yOiBibHVlOyB9PC9zdHlsZT48
ZGl2IGlkPSdHJz5HR0dHPC9kaXY+PC9kaXY+PGRpdiBpZD0nSCc+SEhISDwvZGl2PiI7CiAgICAg
ZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC04OCwxMCArODYsMTAgQEAgZnVuY3Rpb24g
dGVzdFN0eWxlSW5OZXN0ZWRTaGFkb3coKQogICAgIGRlYnVnKCJ0ZXN0IGEgc3R5bGUgaW4gbmVz
dGVkIHNoYWRvdyBzdWJ0cmVlLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0gICAgdmFy
IHNoYWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cxID0g
ZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cxLmlubmVySFRNTCA9ICI8
ZGl2PjxzdHlsZT5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rp
dj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIHZhciBlID0gc2hhZG93MS5nZXRF
bGVtZW50QnlJZCgiRSIpOwotICAgIHZhciBzaGFkb3cyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZSk7CisgICAgdmFyIHNoYWRvdzIgPSBlLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
aGFkb3cyLmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZT5kaXYgeyBjb2xvcjogYmx1ZTsgfTwvc3R5
bGU+PGRpdiBpZD0nRyc+R0dHRzwvZGl2PjwvZGl2PjxkaXYgaWQ9J0gnPkhISEg8L2Rpdj4iOwog
ICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMTA3LDcgKzEwNSw3IEBAIGZ1bmN0
aW9uIHRlc3RDaGFuZ2VTY29wZWRUb1Njb3BlZCgpCiAgICAgZGVidWcoInRlc3QgY2hhbmdpbmcg
YSBzdHlsZSBpbiBzaGFkb3cgc3VidHJlZSBmcm9tIHNjb3BlZCB0byBzY29wZWQuIik7CiAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoZGl2KTsKKyAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
ICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIHNjb3BlZCBpZD0nc3R5bGUtaW4t
c2hhZG93Jz5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48
L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVm
dDsKIApAQCAtMTI5LDcgKzEyNyw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2VTY29wZWRUb05vdFNj
b3BlZCgpCiAgICAgZGVidWcoInRlc3QgY2hhbmdpbmcgYSBzdHlsZSBpbiBzaGFkb3cgc3VidHJl
ZSBmcm9tIHNjb3BlZCB0byBub3Qtc2NvcGVkLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7
Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNo
YWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRN
TCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQgaWQ9J3N0eWxlLWluLXNoYWRvdyc+ZGl2IHsgY29sb3I6
IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0nRSc+RUVFPC9kaXY+PC9kaXY+PGRpdiBpZD0nRic+RkZG
PC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKQEAgLTE1MSw3ICsxNDks
NyBAQCBmdW5jdGlvbiB0ZXN0Q2hhbmdlTm90U2NvcGVkVG9TY29wZWQoKQogICAgIGRlYnVnKCJ0
ZXN0IGNoYW5naW5nIGEgc3R5bGUgaW4gc2hhZG93IHN1YnRyZWUgZnJvbSBub3Qtc2NvcGVkIHRv
IHNjb3BlZC4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgaWQ9
J3N0eWxlLWluLXNoYWRvdyc+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0nRSc+
RUVFPC9kaXY+PC9kaXY+PGRpdiBpZD0nRic+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5
Lm9mZnNldExlZnQ7CiAKQEAgLTE3Myw3ICsxNzEsNyBAQCBmdW5jdGlvbiB0ZXN0UmVtb3ZlU2Nv
cGVkU3R5bGVGcm9tRG9jdW1lbnQoKQogICAgIGRlYnVnKCJ0ZXN0IHJlbW92aW5nIGEgc2NvcGVk
IHN0eWxlIGZyb20gc2hhZG93IHN1YnRyZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsK
LSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hh
ZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1M
ID0gIjxkaXY+PHN0eWxlIHNjb3BlZCBpZD0nc3R5bGUtaW4tc2hhZG93Jz5kaXYgeyBjb2xvcjog
cmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8
L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMTk2LDcgKzE5NCw3
IEBAIGZ1bmN0aW9uIHRlc3RSZW1vdmVTdHlsZUZyb21Eb2N1bWVudCgpCiAgICAgZGVidWcoInRl
c3QgcmVtb3ZpbmcgYSBzdHlsZSBmcm9tIHNoYWRvdyBzdWJ0cmVlLiIpOwogICAgIHZhciBkaXYg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGRpdik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7
CisgICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hh
ZG93LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBpZD0nc3R5bGUtaW4tc2hhZG93Jz5kaXYgeyBj
b2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdG
Jz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjE5LDcg
KzIxNyw3IEBAIGZ1bmN0aW9uIHRlc3RJbnNlcnRTY29wZWRTdHlsZUludG9Eb2N1bWVudCgpCiAg
ICAgZGVidWcoInRlc3QgaW5zZXJ0aW5nIGEgc2NvcGVkIHN0eWxlIGludG8gc2hhZG93IHN1YnRy
ZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PGRpdiBpZD0nRSc+RUVF
PC9kaXY+PC9kaXY+PGRpdiBpZD0nRic+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5Lm9m
ZnNldExlZnQ7CiAKQEAgLTIzOSw3ICsyMzcsNyBAQCBmdW5jdGlvbiB0ZXN0SW5zZXJ0U3R5bGVJ
bnRvRG9jdW1lbnQoKQogICAgIGRlYnVnKCJ0ZXN0IGluc2VydGluZyBhIHN0eWxlIGludG8gc2hh
ZG93IHN1YnRyZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PGRpdiBp
ZD0nRSc+RUVFPC9kaXY+PC9kaXY+PGRpdiBpZD0nRic+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVu
dC5ib2R5Lm9mZnNldExlZnQ7CiAKQEAgLTI1OCw3ICsyNTYsNyBAQCBmdW5jdGlvbiB0ZXN0Q2hh
bmdlU2NvcGVkVG9Ob3RTY29wZWROb3RJbkRvY3VtZW50KCkKICAgICBkZWJ1ZygidGVzdCByZS1p
bnNlcnRpbmcgYSBzdHlsZSBhZnRlciBjaGFuZ2luZyBzY29wZWQgdG8gbm90IHNjb3BlZCBvZmZs
aW5lLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQg
aWQ9J3N0eWxlLWluLXNoYWRvdyc+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0n
RSc+RUVFPC9kaXY+PC9kaXY+PGRpdiBpZD0nRic+RkZGPC9kaXY+IjsKICAgICBkb2N1bWVudC5i
b2R5Lm9mZnNldExlZnQ7CiAKQEAgLTI3OCw3ICsyNzYsNyBAQCBmdW5jdGlvbiB0ZXN0Q2hhbmdl
Tm90U2NvcGVkVG9TY29wZWROb3RJbkRvY3VtZW50KCkKICAgICBkZWJ1ZygidGVzdCByZS1pbnNl
cnRpbmcgYSBzdHlsZSBhZnRlciBjaGFuZ2luZyBub3Qgc2NvcGVkIHRvIHNjb3BlZCBvZmZsaW5l
LiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBpZD0nc3R5bGUt
aW4tc2hhZG93Jz5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rp
dj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0
TGVmdDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0
eWxlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0CmluZGV4IGQ1
YThjMmYwZDIyMDMzYWY1ZTlkYTk3Mjg1NzZiNzJjNzhmMzMyNDcuLjI0YWViMmQ0OTlmYmFlNzEy
M2Y3YjA2MWExNzAyYmJhZjJiNTU0NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hhZG93LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy1l
eHBlY3RlZC50eHQKQEAgLTEsOCArMSw1IEBACiBUZXN0cyB0aGF0CiAKLVBBU1Mgd2luZG93Lmlu
dGVybmFscyBpcyBkZWZpbmVkLgotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jv
b3QgaXMgZGVmaW5lZC4KLVBBU1MgV2ViS2l0U2hhZG93Um9vdCBpcyBkZWZpbmVkLgogUEFTUyBz
aGFkb3cuaW5uZXJIVE1MIGlzIGRlZmluZWQuCiBQQVNTIHNoYWRvdy5nZXRFbGVtZW50QnlJZCBp
cyBkZWZpbmVkLgogQTogcmdiKDAsIDAsIDApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFkb3cuaHRtbAppbmRl
eCA5YWRkZTNkNzc5ZWRmZWFjODk3NTRlYTQzNmU5OTcwYTdhODQwYWUwLi5kN2MxMmEyNDgyMDEy
ZDQwODU0YWNmMTMzOTQ5NDljYTU5MzRlYTgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtaW4tc2hhZG93Lmh0bWwK
QEAgLTEwLDEzICsxMCw5IEBACiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi0gICAgICAgIHNob3VsZEJlRGVmaW5l
ZCgid2luZG93LmludGVybmFscyIpOwotICAgICAgICBzaG91bGRCZURlZmluZWQoIndpbmRvdy5p
bnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdCIpOwotICAgICAgICBzaG91bGRCZURlZmluZWQoIldl
YktpdFNoYWRvd1Jvb3QiKTsKLQogICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJBIik7CiAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkIiKTsK
LSAgICAgICAgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoYik7CisgICAgICAgIHNoYWRv
dyA9IGIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgICAgICBzaG91bGRCZURlZmluZWQo
InNoYWRvdy5pbm5lckhUTUwiKTsKICAgICAgICAgc2hvdWxkQmVEZWZpbmVkKCJzaGFkb3cuZ2V0
RWxlbWVudEJ5SWQiKTsKICAgICAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGUgc2NvcGVk
PmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxjb250ZW50PjwvY29udGVudD48ZGl2IGlkPSdD
Jz5DQ0M8L2Rpdj4iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Fk
b3B0LW5vZGUtd2l0aC1zaGFkb3ctcm9vdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2Fkb3B0LW5vZGUtd2l0aC1zaGFkb3ctcm9vdC5odG1sCmluZGV4IDBhZjY0MWI4N2ZkZDhj
NDA3MjJkN2Y4NTZmNTRmYmVmOGRmYmUxOGEuLjgxMWNhZDkxY2Y0YjRkZGYwMmI0NjkxMmFhM2Rj
ZjU4NGNlNWJiOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9hZG9w
dC1ub2RlLXdpdGgtc2hhZG93LXJvb3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvYWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWwKQEAgLTksNyArOSw3IEBACiA8
c2NyaXB0PgogZnVuY3Rpb24gdGVzdCgpIHsKICAgICB2YXIgZm9yZWlnbkRvY3VtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKS5jb250ZW50RG9jdW1lbnQ7Ci0gICAgc2hhZG93
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZm9yZWlnbkRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz
JykpOworICAgIHNoYWRvdyA9IGZvcmVpZ25Eb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncycpLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaG91bGRUaHJvdygiZG9jdW1lbnQuYWRvcHRO
b2RlKHNoYWRvdykiKTsKICAgICBsb2NhdGlvbi5yZWxvYWQoKTsKIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9hdGhvc3QtYXRydWxlcy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2F0aG9zdC1hdHJ1bGVzLmh0bWwKaW5kZXggN2Q0YjUxMWVlMDJm
YTlkNzUxZTU3ZTE2OWIwMGE2ZDg3N2Q1M2E2ZC4uYWNjNWZkZGMyNjY2MGNlZjFkNWMxYmJiOGI1
YTRmZmZkN2VjNmM0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2F0
aG9zdC1hdHJ1bGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2F0aG9z
dC1hdHJ1bGVzLmh0bWwKQEAgLTI0LDcgKzI0LDcgQEAgZnVuY3Rpb24gdGVzdFNpbXBsZUNvbnRl
bnRDYXNlKCkKIHsKICAgICBwcmVwcm9jZXNzRm9yVGVzdCgpOwogICAgIHZhciBob3N0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2IHsg
Y29sb3I6IHJlZDsgfSB9PC9zdHlsZT48Y29udGVudD48L2NvbnRlbnQ+IjsKICAgICBkdW1wQ29t
cHV0ZWRTdHlsZShob3N0KTsKIH0KQEAgLTMzLDcgKzMzLDcgQEAgZnVuY3Rpb24gdGVzdFNpbXBs
ZVNoYWRvd0Nhc2UoKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhvc3Qg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBzaGFkb3cgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3QgeyBk
aXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+IjsKICAgICBkdW1w
Q29tcHV0ZWRTdHlsZShob3N0KTsKIH0KQEAgLTQ2LDEyICs0NiwxMiBAQCBmdW5jdGlvbiB0ZXN0
SG9zdFdpdGhTZWxlY3RvcigpCiAgICAgICAgICsgIjxzcGFuIGlkPSdob3N0QicgY2xhc3M9J2hv
c3QnPjxzcGFuPldvcmxkPC9zcGFuPjwvc3Bhbj4iOwogCiAgICAgdmFyIGhvc3RBID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImhvc3RBIik7Ci0gICAgdmFyIHNoYWRvd0EgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0QSk7CisgICAgdmFyIHNoYWRvd0EgPSBob3N0QS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgdmFyIHN0eWxlID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9y
OiByZWQ7IH0gc3BhbiB7IGNvbG9yOiBibHVlOyB9IH08L3N0eWxlPiI7CiAgICAgc2hhZG93QS5p
bm5lckhUTUwgPSBzdHlsZSArICI8c2hhZG93Pjwvc2hhZG93PiI7CiAKICAgICB2YXIgaG9zdEIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdEIiKTsKLSAgICB2YXIgc2hhZG93QiA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3RCKTsKKyAgICB2YXIgc2hhZG93QiA9IGhvc3RCLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dCLmlubmVySFRNTCA9IHN0eWxlICsgIjxz
aGFkb3c+PC9zaGFkb3c+IjsKIAogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3RBKTsKQEAgLTYy
LDcgKzYyLDcgQEAgZnVuY3Rpb24gdGVzdFBzZXVkb0hvc3RXaXRoU2NvcGVkKCkKIHsKICAgICBw
cmVwcm9jZXNzRm9yVGVzdCgpOwogICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImhvc3QiKTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
CisgICAgdmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNo
YWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVkPkBob3N0IHsgZGl2IHsgY29sb3I6
IHJlZDsgfSB9PC9zdHlsZT48c2hhZG93Pjwvc2hhZG93PjxkaXY+PHN0eWxlIHNjb3BlZD5AaG9z
dCB7IGRpdiB7IGNvbG9yOiBibHVlOyB9IH08L3N0eWxlPjwvZGl2PjwvZGl2PiI7CiAgICAgZHVt
cENvbXB1dGVkU3R5bGUoaG9zdCk7CiB9CkBAIC03MSw4ICs3MSw4IEBAIGZ1bmN0aW9uIHRlc3RQ
c2V1ZG9Ib3N0V2l0aEZhbGxiYWNrU2hhZG93KCkKIHsKICAgICBwcmVwcm9jZXNzRm9yVGVzdCgp
OwogICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLSAgICB2
YXIgb2xkZXN0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFyIHlv
dW5nZXN0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIG9sZGVz
dFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciB5b3VuZ2Vz
dFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG9sZGVzdFNoYWRv
dy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9zdHls
ZT48Y29udGVudD48L2NvbnRlbnQ+IjsKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwgPSAi
PGNvbnRlbnQ+PHNoYWRvdz48L3NoYWRvdz48L2NvbnRlbnQ+IjsKICAgICBkdW1wQ29tcHV0ZWRT
dHlsZShob3N0KTsKQEAgLTgyLDggKzgyLDggQEAgZnVuY3Rpb24gdGVzdFR3b1NoYWRvd1Jvb3Rz
Q2FzZSgpCiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0gICAgdmFyIG9sZGVzdFNoYWRvdyA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOwotICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBvbGRlc3RTaGFkb3cgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgeW91bmdlc3RTaGFkb3cgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBvbGRlc3RTaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5A
aG9zdCB7IGRpdiB7IGNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PGNvbnRlbnQ+PC9jb250ZW50PiI7
CiAgICAgeW91bmdlc3RTaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7IGNv
bG9yOiBibHVlOyB9IH08L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+IjsKICAgICBkdW1wQ29tcHV0
ZWRTdHlsZShob3N0KTsKQEAgLTkzLDggKzkzLDggQEAgZnVuY3Rpb24gdGVzdFR3b1NoYWRvd1Jv
b3RzQ3JlYXRpbmdEaWZmZXJlbnRPcmRlckNhc2UoKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0
KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAg
IHZhciBvbGRlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKLSAgICB2YXIg
eW91bmdlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgb2xk
ZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHlvdW5n
ZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgeW91bmdlc3RT
aGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiBibHVlOyB9IH08
L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+IjsKICAgICBvbGRlc3RTaGFkb3cuaW5uZXJIVE1MID0g
IjxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PGNvbnRlbnQ+PC9j
b250ZW50PiI7CiAgICAgZHVtcENvbXB1dGVkU3R5bGUoaG9zdCk7CkBAIC0xMDQsMTAgKzEwNCwx
MCBAQCBmdW5jdGlvbiB0ZXN0TXVsdGlwbGVTaGFkb3dSb290c1dpdGhJbmVydFNoYWRvd0NvbnRl
bnQoKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBvbGRlc3RTaGFkb3cgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKLSAgICB2YXIgb2xkZXJTaGFkb3cgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0KTsKLSAgICB2YXIgeW91bmdlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwotICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpOworICAgIHZhciBvbGRlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKKyAgICB2YXIgb2xkZXJTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKKyAgICB2YXIgeW91bmdlclNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OworICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogCiAgICAgeW91bmdlc3RTaGFkb3cuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IjsK
ICAgICB5b3VuZ2VyU2hhZG93LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+IjsKQEAg
LTEyMCwxMCArMTIwLDEwIEBAIGZ1bmN0aW9uIHRlc3RNdWx0aXBsZVNoYWRvd1Jvb3RzV2l0aElu
ZXJ0U2hhZG93KCkKIHsKICAgICBwcmVwcm9jZXNzRm9yVGVzdCgpOwogICAgIHZhciBob3N0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLSAgICB2YXIgb2xkZXN0U2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFyIG9sZGVyU2hhZG93ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFyIHlvdW5nZXJTaGFkb3cgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKLSAgICB2YXIgeW91bmdlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0KTsKKyAgICB2YXIgb2xkZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CisgICAgdmFyIG9sZGVyU2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CisgICAgdmFyIHlvdW5nZXJTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKKyAgICB2YXIgeW91bmdlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIAogICAgIHlvdW5nZXN0U2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3Qg
eyBkaXYgeyBjb2xvcjogeWVsbG93OyB9IH08L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+IjsKICAg
ICB5b3VuZ2VyU2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xvcjog
Ymx1ZTsgfSB9PC9zdHlsZT48ZGl2PmluZXJ0PC9kaXY+IjsKQEAgLTEzNiwxMCArMTM2LDEwIEBA
IGZ1bmN0aW9uIHRlc3ROZXN0ZWRDYXNlKCkKIHsKICAgICBwcmVwcm9jZXNzRm9yVGVzdCgpOwog
ICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLSAgICB2YXIg
b3V0ZXJTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgb3V0ZXJT
aGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBvdXRlclNoYWRvdy5p
bm5lckhUTUwgPSAnPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48
ZGl2IGlkPSJuZXN0ZWRIb3N0Ij5Jbm5lclNoYWRvdzwvZGl2Pic7CiAgICAgdmFyIG5lc3RlZCA9
IG91dGVyU2hhZG93LmdldEVsZW1lbnRCeUlkKCJuZXN0ZWRIb3N0Iik7Ci0gICAgdmFyIGlubmVy
U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QobmVzdGVkKTsKKyAgICB2YXIgaW5uZXJTaGFk
b3cgPSBuZXN0ZWQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGlubmVyU2hhZG93Lmlu
bmVySFRNTCA9ICc8c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xvcjogYmx1ZTsgfSB9PC9zdHlsZT5T
aG93IDxzaGFkb3c+PC9zaGFkb3c+IGluIG91dGVyLic7CiAgICAgZHVtcENvbXB1dGVkU3R5bGUo
aG9zdCk7CiAgICAgZHVtcENvbXB1dGVkU3R5bGUobmVzdGVkKTsKQEAgLTE1MCw3ICsxNTAsNyBA
QCBmdW5jdGlvbiB0ZXN0SG9zdFZzU2NvcGVkU3R5bGUoKQogICAgIHByZXByb2Nlc3NGb3JUZXN0
KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwogICAg
IGhvc3QuaW5uZXJIVE1MID0gIjxzdHlsZSBzY29wZWQ+I2hvc3QgeyBjb2xvcjogeWVsbG93OyB9
PC9zdHlsZT48c3Bhbj5IZWxsbzwvc3Bhbj4iOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3QgeyAjaG9zdCB7
IGNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PGNvbnRlbnQ+PC9jb250ZW50PiI7CiAgICAgZHVtcENv
bXB1dGVkU3R5bGUoaG9zdCk7CiB9CkBAIC0xNjEsNyArMTYxLDcgQEAgZnVuY3Rpb24gdGVzdEhv
c3RWc0lubGluZVN0eWxlKCkKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJob3N0Iik7CiAgICAgaG9zdC5zdHlsZS5jb2xvciA9ICJ5ZWxsb3ciOwogICAgIGhvc3QuaW5u
ZXJIVE1MID0gIjxzcGFuPkhlbGxvPC9zcGFuPiI7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7
IGNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PGNvbnRlbnQ+PC9jb250ZW50PiI7CiAgICAgZHVtcENv
bXB1dGVkU3R5bGUoaG9zdCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvYmFzZS1pbi1zaGFkb3ctdHJlZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2Jhc2UtaW4tc2hhZG93LXRyZWUuaHRtbAppbmRleCA5ZGMyZDZjMWY3ZWUxNDk5NTI2Mjk3
ZDJlNGE2NGI3Zjk2MGVmOWIzLi5jZWNmOWNjZjJmZTU3NDNlYjhkNGUxZWJkYmY2MjljZDJiMWRh
N2MzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYmFzZS1pbi1zaGFk
b3ctdHJlZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9iYXNlLWluLXNo
YWRvdy10cmVlLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIDxzY3JpcHQ+CiB2YXIgY29udGFpbmVy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwogCi12YXIgc2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGNvbnRhaW5lcik7Cit2YXIgc2hhZG93Um9vdCA9IGNv
bnRhaW5lci53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKIHZhciBiYXNlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnYmFzZScpOwogYmFzZS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnaHR0cDov
L3d3dy5leGFtcGxlLmNvbS8nKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jYXJldC1yYW5nZS1mcm9tLXBvaW50LWluLW5lc3RlZC1zaGFkb3cuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jYXJldC1yYW5nZS1mcm9tLXBvaW50LWluLW5lc3RlZC1z
aGFkb3cuaHRtbAppbmRleCAxZWZhOTc4OTA0YmJmNmQxZjNhN2ZhOTRiY2Q2ZDgzMTlhM2QxZTQ3
Li44MGIxNDVkMTFhY2JlMzI3M2E2MTNjMTA1ZTdjZTJiYmIwOTdiYjg2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC1pbi1uZXN0
ZWQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NhcmV0LXJh
bmdlLWZyb20tcG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sCkBAIC0yMywxMSArMjMsMTEgQEAg
ZnVuY3Rpb24gY3JlYXRlQm94KG5hbWUpIHsKICAgICByZXR1cm4gZGl2OwogfQogCi12YXIgc2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBo
b3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKIAotdmFyIGRhcmtS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKK3ZhciBkYXJrUm9vdCA9IGRpdi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgYm94ID0gY3JlYXRlQm94KCdkYXJrJyk7CiBkYXJr
Um9vdC5hcHBlbmRDaGlsZChib3gpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1hZnRlci1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2NvbnRlbnQtYWZ0ZXItc3R5bGUuaHRtbAppbmRleCAyNGYxMTkxMjgwN2EzNGJmYTcz
MjllMWQwZjk0Yzk1YTNmZjk2NTU3Li5mM2YyNjA0Zjk4Yjg2YzI2MjdlODJlM2FmYTNmMjg3Yzkw
ODYwNDdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1h
ZnRlci1zdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50
LWFmdGVyLXN0eWxlLmh0bWwKQEAgLTUsNyArNSw3IEBACiA8c2NyaXB0PgogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLXZhciBy
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2hvc3Qn
KSk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNob3N0Jykud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogcm9vdC5pbm5lckhUTUwgPSAnPHN0eWxlPmludmFsaWQgeyB9PC9z
dHlsZT4nICsKICAgICAgICAgICAgICAgICAgJ3RleHQ8Y29udGVudD48L2NvbnRlbnQ+JzsKIHdp
bmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZWRpYS1lbGVtZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLWVsZW1lbnQu
aHRtbAppbmRleCAzYmE5MmIwOWIzYTc1N2UyM2E0ODM4YzEzNmRjMmY4MWIxNzBkZGFiLi42YjI3
YThiZTE1MDY1ZDZkOGY5NGE2Nzg1ZDcxODRkODc1MGQ3ZmQxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLWVsZW1lbnQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1l
ZGlhLWVsZW1lbnQuaHRtbApAQCAtMjcsNyArMjcsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlv
biBjb250ZW50RWxlbWVudEluVmlkZW9FbGVtZW50KGNhbGxJZkRvbmUpIHsKIAogICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hpbGQoZGl2KTsK
IAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNyID0g
ZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHZhciB2aWRlbyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdjb250ZW50Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvY29udGVudC1lbGVtZW50LWluLW1ldGVyLWVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWV0ZXItZWxlbWVudC5odG1sCmlu
ZGV4IDJmMDhhMjA3NTRjNzZjMzYwNTkwNDg1NjE0NTlmNzE0OGQ2NTA0MTkuLmQ5ZWI5MTExZjc3
ZGE5ZDdhZjQ3OTY0MDE1Y2UyNjM0MjdhNTc0MjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWV0ZXItZWxlbWVudC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWV0ZXItZWxl
bWVudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIGNvbnRl
bnRFbGVtZW50SW5NZXRlckVsZW1lbnQoY2FsbElmRG9uZSkgewogCiAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAg
dmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc3IgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgdmFyIG1ldGVyID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnbWV0ZXInKTsKICAgICB2YXIgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2NvbnRlbnQnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9j
b250ZW50LWVsZW1lbnQtaW4tcHJvZ3Jlc3MtZWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1wcm9ncmVzcy1lbGVtZW50Lmh0bWwKaW5k
ZXggNjk1NzgxMzExODY0ZTBkMjM2MjExNDcwMjBlYzIwYTZkMTI5YzViYi4uOTZlNGZjZmM5NzFm
NzdmNGYxZTYwNTg5MGZhMmVlZDgzYmZjNGEyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1wcm9ncmVzcy1lbGVtZW50Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1wcm9ncmVz
cy1lbGVtZW50Lmh0bWwKQEAgLTI3LDcgKzI3LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24g
Y29udGVudEVsZW1lbnRJblByb2dyZXNzRWxlbWVudChjYWxsSWZEb25lKSB7CiAKICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVuZENoaWxkKGRpdik7
CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzciA9
IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICB2YXIgcHJvZ3Jlc3MgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdwcm9ncmVzcycpOwogICAgIHZhciBjb250ZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1zZWxlY3QtZWxlbWVudC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1zZWxlY3QtZWxlbWVu
dC5odG1sCmluZGV4IDIyZmY4NTJiMWY3M2E0NDdiMGRmY2RhYzRhZDA2MjNhNGVlYTlkMDguLmI5
OGMzMDBkNjkwYTY1ZTg1ZmVhZjBlZWEzNGMxNDM5M2IwOTFhNzIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tc2VsZWN0LWVsZW1lbnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWlu
LXNlbGVjdC1lbGVtZW50Lmh0bWwKQEAgLTI3LDcgKzI3LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVu
Y3Rpb24gY29udGVudEVsZW1lbnRJblNlbGVjdEVsZW1lbnQoY2FsbElmRG9uZSkgewogCiAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGlsZChk
aXYpOwogCi0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIg
c3IgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgdmFyIHNlbGVjdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpOwogICAgIHZhciBjb250ZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1vdXRzaWRlLXNoYWRvdy1zdHlsZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1vdXRzaWRlLXNoYWRv
dy1zdHlsZS5odG1sCmluZGV4IDNjY2FjMGNlMGVmYWExYzZjNjc2NDIzZmNjNmI0YmY3ODRhMmY0
NTEuLjczMmMxZDI3MTM3ZDE2MzM4MDVjODVjOWNlMmU4OGFlNDU3NTk1MzggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtb3V0c2lkZS1zaGFk
b3ctc3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1l
bGVtZW50LW91dHNpZGUtc2hhZG93LXN0eWxlLmh0bWwKQEAgLTE5LDEyICsxOSwxMiBAQCBjb250
ZW50IHsKIDxzY3JpcHQ+CiAvLyBFbnN1cmVzIHRoYXQgZGlzdHJpYnV0ZWQgc2hhZG93IGNoaWxk
IGlzbid0IGVmZmVjdGVkIGJ5IHRoZSBzdHlsZS4KIHZhciBob3N0V2l0aENoaWxkID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImhvc3RXaXRoQ2hpbGQiKTsKLXZhciBzaGFkb3dGb3JIb3N0V2l0
aENoaWxkID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdFdpdGhDaGlsZCk7Cit2YXIgc2hhZG93
Rm9ySG9zdFdpdGhDaGlsZCA9IGhvc3RXaXRoQ2hpbGQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Rm9ySG9zdFdpdGhDaGlsZC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJjb250ZW50IikpOwogCiAvLyBBbHNvIGVuc3VyZXMgdGhhdCBkeW5hbWljYWxseSBtb3Zl
ZCA8Y29udGVudD4gZWxlbWVudHMgZG8gd29yay4KIHZhciBob3N0RW1wdHkgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaG9zdEVtcHR5Iik7Ci12YXIgc2hhZG93Rm9ySG9zdEVtcHR5ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdEVtcHR5KTsKK3ZhciBzaGFkb3dGb3JIb3N0RW1wdHkgPSBo
b3N0RW1wdHkud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Rm9ySG9zdEVtcHR5LmFw
cGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b0JlTW92ZWQiKSk7CiAKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWNvbXBsZXguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250
ZW50LXJlcHJvamVjdGlvbi1jb21wbGV4Lmh0bWwKaW5kZXggNWJlMDMyMDkxOWIxYTJiMjJjMDA2
MzI1OGE3YTc1ZDU0ZmJiZjFmNC4uOWI3ZDk2NTFjODcyNDFiNmViNDQzMDc1NDIyMTc2YTU2YjY1
OWIyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWNvbXBsZXguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y29udGVudC1yZXByb2plY3Rpb24tY29tcGxleC5odG1sCkBAIC0xMywxMCArMTMsMTAgQEAKIDwv
ZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj48Y29udGVudCBzZWxl
Y3Q9Ii5BIj48L2NvbnRlbnQ+PHNoYWRvdz48L3NoYWRvdz48ZGl2IGNsYXNzPSJBIj5BPC9kaXY+
PC9kaXY+JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qoc2hhZG93
Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJykpOwordmFyIHNoYWRvd1Jvb3QyID0gc2hhZG93
Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJykud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxkaXY+PGgyPkE8L2gyPjxjb250ZW50IHNlbGVjdD0i
LkEiPjwvY29udGVudD48aDI+QjwvaDI+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4nCiA8L3Njcmlw
dD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWR5bmFtaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250
ZW50LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWwKaW5kZXggZTBkMjE3MDk2MjUzNTk5MGEzMzcy
YzRjMjdlYTkxYjUyZjU1Y2ZlYi4uNzExMzZmMmRmNjZjZjEzYmUzZWQzYWU5MzQwOWJiOTM1MTkz
MzY3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y29udGVudC1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sCkBAIC04LDE1ICs4LDE1IEBACiBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZh
ciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dS
b290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmlubmVy
SFRNTCA9ICc8ZGl2PjxkaXYgaWQ9Imhvc3QyIj48Y29udGVudD48L2NvbnRlbnQ+PC9kaXY+PC9k
aXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJyk7
Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hh
ZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5p
bm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDMiPjxjb250ZW50PjwvY29udGVudD48L2Rpdj4nOwog
CiB2YXIgaG9zdDMgPSBzaGFkb3dSb290Mi5nZXRFbGVtZW50QnlJZCgnaG9zdDMnKTsKLXZhciBz
aGFkb3dSb290MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKTsKK3ZhciBzaGFkb3dSb290
MyA9IGhvc3QzLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QzLmlubmVySFRN
TCA9ICc8ZGl2Pjxjb250ZW50PjwvY29udGVudD48L2Rpdj4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
cmVwcm9qZWN0aW9uLWZhbGxiYWNrLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stY3Jhc2guaHRtbAppbmRleCBmYmRl
MDc0YTA0Y2NhMmIxMzc4YjUwYjFlYTc1ZWI4MWRhOTZkMjMyLi40YjM5OGE0MmM2MTg0NDE3Yzc0
NTU1MTE3Mjk3MGM4M2RiOWU5NzU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stY3Jhc2guaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stY3Jh
c2guaHRtbApAQCAtMTEsMTEgKzExLDExIEBACiA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KIAog
PHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsK
K3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MiI+PGNvbnRlbnQgc2VsZWN0PSJzcGFu
Ij48ZGl2IGlkPSJmYWxsYmFjayI+ZmFsbGJhY2sgZWxlbWVudDwvZGl2PjwvY29udGVudD48ZGl2
IGlkPSJkaXYiPlRoaXMgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PjwvZGl2Pic7CiAKIHZhciBo
b3N0MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpOwotdmFyIHNoYWRvd1Jv
b3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9z
dDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JzsKIAogdmFyIGNvbnRlbnQgPSBzaGFkb3dS
b290Mi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnY29udGVudCcpLml0ZW0oMCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJh
Y2stcmVwcm9qZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVu
dC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLmh0bWwKaW5kZXggMzQyYmM4YzEy
NmQ1NmYzMGFiNzc2ZjhjODIyZTI4ZTg1YTkyODgzMC4uMDM3MGZjZjQ3YTI5MGRmNjViZmRkZGI0
YzU4NTliZTNjNGY1MjQ5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1y
ZXByb2plY3Rpb24uaHRtbApAQCAtOCw3ICs4LDcgQEAKIDxkaXYgaWQ9Imhvc3QxIj48L2Rpdj4K
IAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qx
KTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNo
YWRvd1Jvb3QxLmlubmVySFRNTCA9CiAgICAgJzxkaXYgaWQ9Imhvc3QyIj4nICsKICAgICAgICAg
Jzxjb250ZW50PjxkaXYgdGl0bGU9ImRlYnVnc3RvcCI+Y29udGVudCBmYWxsYmFjayBlbGVtZW50
PC9kaXY+PC9jb250ZW50PicgKwpAQCAtMTcsNyArMTcsNyBAQCBzaGFkb3dSb290MS5pbm5lckhU
TUwgPQogICAgICc8L2Rpdj4nOwogCiB2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRFbGVtZW50
QnlJZCgnaG9zdDInKTsKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QyKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9CiAgICAgJzxkaXYgaWQ9Imhvc3QzIj4nICsKICAgICAg
ICAgJzxjb250ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JyArIApAQCAtMjYsNyArMjYsNyBA
QCBzaGFkb3dSb290Mi5pbm5lckhUTUwgPQogICAgICc8L2Rpdj4nOwogCiB2YXIgaG9zdDMgPSBz
aGFkb3dSb290Mi5nZXRFbGVtZW50QnlJZCgnaG9zdDMnKTsKLXZhciBzaGFkb3dSb290MyA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKTsKK3ZhciBzaGFkb3dSb290MyA9IGhvc3QzLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QzLmlubmVySFRNTCA9CiAgICAgJzxjb250
ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1s
CmluZGV4IGZjM2QwMDllYWIzMjVkYWUwZjM3YzgwZDAzNWU3ZDRlMmIyMGFlM2MuLmQ0ZGU0YmIx
ZGY0MDEzMmQ0MWNlZWRmZTU0MjllOGU5YjE2MGJlNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFj
ay5odG1sCkBAIC04LDcgKzgsNyBAQAogPGRpdiBpZD0iaG9zdDEiPjwvZGl2PgogCiA8c2NyaXB0
PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNo
YWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDEu
aW5uZXJIVE1MID0KICAgICAnPGRpdiBpZD0iaG9zdDIiPicgKwogICAgICAgICAnPGNvbnRlbnQ+
PGRpdiB0aXRsZT0iZGVidWdzdG9wIj5jb250ZW50IGZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj48L2Nv
bnRlbnQ+JyArCkBAIC0xNyw3ICsxNyw3IEBAIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9CiAgICAg
JzwvZGl2Pic7CiAKIHZhciBob3N0MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0
MicpOwotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFy
IHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9v
dDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JzsKIDwvc2Ny
aXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1y
ZXByb2plY3Rpb24tb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250
ZW50LXJlcHJvamVjdGlvbi1vcmRlci5odG1sCmluZGV4IGUyMzVjODkyNjhiMTMxMzYzMzIzNzg3
ZDE3NDNlOWE1OTc1OGEwZmUuLmVjYzNiOGYwYzA1OTQ4MjAzYzJhNDg1ZWJiOTMyODA2MTNmMWNj
MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJv
amVjdGlvbi1vcmRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250
ZW50LXJlcHJvamVjdGlvbi1vcmRlci5odG1sCkBAIC0xMiw3ICsxMiw3IEBACiA8L2Rpdj4KIAog
PHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2
YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaGFkb3dS
b290LmlubmVySFRNTCA9CiAgICAgJzxzaGFkb3cgaWQ9ImlkMSI+PC9zaGFkb3c+PGhyPicgKyAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVj
dGlvbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJl
cHJvamVjdGlvbi1zaGFkb3cuaHRtbAppbmRleCA3YTUzODYyNDQ2NjhkODAwNTUxZDQzMzg1NjM5
ZGJiM2U0NWZlMTcwLi5kMTgzOTNmMDdhNGU5NDNlYTY3YTgzNzQ3MTQ0M2UzZmRjMDFmYjYxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rp
b24tc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
cmVwcm9qZWN0aW9uLXNoYWRvdy5odG1sCkBAIC0xMiwxMCArMTIsMTAgQEAKIDwvZGl2PgogCiA8
c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwor
dmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93
Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj48Y29udGVudD48L2NvbnRlbnQ+PC9k
aXY+JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qoc2hhZG93Um9v
dDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJykpOwordmFyIHNoYWRvd1Jvb3QyID0gc2hhZG93Um9v
dDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJykud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hh
ZG93Um9vdDIuaW5uZXJIVE1MID0gJzxkaXY+PHNoYWRvdz48L3NoYWRvdz48ZGl2PkE8L2Rpdj48
L2Rpdj4nCiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NwcGV2ZW50LWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2NwcGV2ZW50LWluLXNoYWRvdy5odG1sCmluZGV4IGUxODcyYTU1ZDM5MDVkZDA2YjM5ZmE3YWE1
YzFmMmU2ZTJkMjYxNTUuLmZmNDNmMGE4ODM0YzhlN2I4MGEyMTBkNGYwNTQxZmU1NzQ1MTE3NDIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcHBldmVudC1pbi1zaGFk
b3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW4tc2hh
ZG93Lmh0bWwKQEAgLTMwLDExICszMCwxMSBAQCBmdW5jdGlvbiBjcmVhdGVCb3gobmFtZSkgewog
fQogCiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYp
OwogCi12YXIgZGFya1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwordmFyIGRhcmtS
b290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBib3ggPSBjcmVhdGVCb3go
J2RhcmsnKTsKIGJveC5pbm5lckhUTUwgPSAiS290b3JpIE90b25hc2hpIjsKIGRhcmtSb290LmFw
cGVuZENoaWxkKGJveCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y3BwZXZlbnQtaW5wdXQtaW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY3BwZXZlbnQtaW5wdXQtaW4tc2hhZG93Lmh0bWwKaW5kZXggOTNmMzU3YmIyNDVmYmZkZTY1
NjA1NmYzZDRlODc1MjY0OTlhYThhYy4uMzI2ZjliOTVlYmM3ZDllMGIxOGMxM2VjMDFkNTM3ZGZk
NzY3MDY2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NwcGV2ZW50
LWlucHV0LWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9j
cHBldmVudC1pbnB1dC1pbi1zaGFkb3cuaHRtbApAQCAtMjgsMTEgKzI4LDExIEBAIGZ1bmN0aW9u
IGNyZWF0ZUlucHV0KCkgewogfQogCiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogc2hhZG93Um9v
dC5hcHBlbmRDaGlsZChkaXYpOwogCi12YXIgZGFya1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChkaXYpOwordmFyIGRhcmtSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZh
ciBpbnB1dCA9IGNyZWF0ZUlucHV0KCk7CiBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ0tv
dG9yaSBPdG9uYXNoaScpOwogZGFya1Jvb3QuYXBwZW5kQ2hpbGQoaW5wdXQpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1hdHRyaWJ1dGUtbW9k
aWZpZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tYXR0
cmlidXRlLW1vZGlmaWVkLmh0bWwKaW5kZXggYjdjMGU2MjJhZWE1ZDhiNTQ0NGRjYzk5OTQxNWJl
NWQ5Njg1MmEyNi4uOTRkZjNiNGZmZmVmMDIzMTVhZmI3Y2Q3ZTE0Mzk1ODAzNWIwYzE3MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1hdHRyaWJ1
dGUtbW9kaWZpZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJp
YnV0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCkBAIC0xOCw3ICsxOCw3IEBACiBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSJkaXZbdGl0bGVdIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChm
dW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0
cmlidXRpb24tY2xhc3NOYW1lLW1vZGlmaWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvZGlzdHJpYnV0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sCmluZGV4IGQ1NDhlMGRl
MzM5YjA2MzNlZDcxYzljZmFmOWM0ZjNjMjg3MjYwMjAuLjIxMDdhZDQ5NmM5NTgzN2JjOGI4MjM2
OGM1NzUyYmRhMGFkNGU4MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9kaXN0cmlidXRpb24tY2xhc3NOYW1lLW1vZGlmaWVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRtbApAQCAt
MTgsNyArMTgsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNo
YWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iLnNlbGVjdGVkIj48L2NvbnRl
bnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24taWQtbW9kaWZpZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24taWQtbW9kaWZpZWQuaHRtbAppbmRleCA0
ZTM1Y2U3OWI2Yjc0ZjFmZTU0NGQzNGM5Y2RkMThhYTIzMDBiNGFjLi40YzQ3N2Y4OWJhNTM5NDI0
MjhhNTgwYmFmMTkzZDEyMDc5ZTI0MTQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvZGlzdHJpYnV0aW9uLWlkLW1vZGlmaWVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1pZC1tb2RpZmllZC5odG1sCkBAIC0xOCw3ICsx
OCw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2
YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9v
dC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjc2VsZWN0ZWQiPjwvY29udGVudD4nOwog
CiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2RyYWctdG8tbWV0ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZHJhZy10by1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbAppbmRl
eCAxMzdjMDVkYjk2OWE2MDVjZDkwMTRhNjQ4MTQwY2E3YThmOTc5ZTliLi4wMjg5MTIzNTVlNzNk
YTI0ZjUwYzljZjk0OWQzYmMyNDJhMzE1Y2U5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvZHJhZy10by1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJhZy10by1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRt
bApAQCAtMTEsNyArMTEsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiAKIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY29udGFpbmVyJyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGNv
bnRhaW5lcik7Cit2YXIgc2hhZG93Um9vdCA9IGNvbnRhaW5lci53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiB2YXIgbWV0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRlcicpOwogc2hh
ZG93Um9vdC5hcHBlbmRDaGlsZChtZXRlcik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWZvci1pbnB1dC1pbi1zaGFkb3cuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWZvci1pbnB1dC1pbi1zaGFkb3cuaHRt
bAppbmRleCBlMDdjOTYwMmYxNjE4MGZjMWE4MWU4YjdlNTg5MmU2NjU1NTc5NGVmLi44YTliZWMw
YjkzMjNlYjdkNTFiZmNkMWZkOWEwNTQ1N2RhNDBmNzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1mb3ItaW5wdXQtaW4tc2hhZG93Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtZm9yLWlucHV0LWluLXNo
YWRvdy5odG1sCkBAIC0xOCw3ICsxOCw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUlucHV0KG5hbWUpIHsK
IH0KIAogZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgdmFyIHNoYWRvd0lucHV0ID0gY3JlYXRlSW5wdXQoJ3NoYWRv
dycpOwogICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2hhZG93SW5wdXQpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1pbi1zaGFkb3cuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWluLXNoYWRvdy5odG1s
CmluZGV4IGZhOTI4YWYzMTZlYmNiYzkxNWJkNTJiZWEwNzdiOTYxODUxMmZhMjEuLjgwNjBkN2My
YWEyZTYwYzhhNGI2ZGM0MzU0MGFlZmU4Y2I2ZTcxOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWluLXNoYWRvdy5odG1sCkBAIC0yMSw3ICsy
MSw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUJveChuYW1lKSB7CiB9CiAKIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAg
ICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHZh
ciBzaGFkb3dEaXYgPSBjcmVhdGVCb3goJ3NoYWRvdycpOwogICAgIHNoYWRvd1Jvb3QuYXBwZW5k
Q2hpbGQoc2hhZG93RGl2KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2VsZW1lbnQtZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZWxlbWVudC1mcm9tLXBvaW50LWluLW5lc3RlZC1zaGFkb3cuaHRt
bAppbmRleCA5MjBiNTg0YTUzNTBjNjNmOWJjNGQ4MjZlM2U5YTI3YzIyNmQ0NjQ4Li43M2I0MGUw
YjFjNWQ0Njg5NWRkODg4NTExYjk1M2E1YzEzMjAwNjIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZWxlbWVudC1mcm9tLXBvaW50LWluLW5lc3RlZC1zaGFkb3cuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZWxlbWVudC1mcm9tLXBvaW50LWlu
LW5lc3RlZC1zaGFkb3cuaHRtbApAQCAtMjMsMTEgKzIzLDExIEBAIGZ1bmN0aW9uIGNyZWF0ZUJv
eChuYW1lKSB7CiAgICAgcmV0dXJuIGRpdjsKIH0KIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBz
aGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CiAKLXZhciBkYXJrUm9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGRpdik7Cit2YXIgZGFya1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogdmFyIGJveCA9IGNyZWF0ZUJveCgnZGFyaycpOwogZGFya1Jvb3QuYXBwZW5kQ2hpbGQo
Ym94KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Zvcm0taW4t
c2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZm9ybS1pbi1zaGFkb3cu
aHRtbAppbmRleCBhNDc4NGEyNDYyZDMyYjgxNWJiMzNmYzJiOGY0MGE0ZTI0ZmJhZTk4Li41YzA5
OWZiNDdjMDk3N2EyZTBmYTY1YTc5MGM0ODg4ODQzZDc5NDk1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvZm9ybS1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZm9ybS1pbi1zaGFkb3cuaHRtbApAQCAtMTMsNyArMTMsNyBAQCBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAKIGZ1bmN0aW9uIGNyZWF0ZVNoYWRvd0Zvcm0oKSB7CiAg
ICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsK
LSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGNvbnRhaW5lcik7Cisg
ICAgdmFyIHNoYWRvd1Jvb3QgPSBjb250YWluZXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPQogICAgICAgICAnPGZvcm0+JyArCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hh
ZG93LW11dGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1l
bnQtYnktaWQtaW4tc2hhZG93LW11dGF0aW9uLmh0bWwKaW5kZXggZjc4ZGU2Yzc1NTA0MDk0ZDcz
NjdiODY1YmQ3ZDAzYjY1ZTFkMTBhMi4uMGVhYTJlM2UyYmE0NDA1ZWZlY2Q3ZGZmYmFiMTgwNjZi
YWQ4NjUwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVt
ZW50LWJ5LWlkLWluLXNoYWRvdy1tdXRhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbApAQCAt
OSw3ICs5LDcgQEAKIGRlc2NyaXB0aW9uKCJUZXN0cyB0byBlbnN1cmUgdGhhdCBTaGFkb3dSb290
LmdldEVsZW1lbnRCeUlkIHdvcmtzIGV2ZW4gYWZ0ZXIgbXV0YXRpb24iKTsKIAogdmFyIGhvc3Qg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotdmFyIHNoYWRvdyA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogCiBzaG91bGRCZSgibnVsbCIsICJzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ2Zvbycp
Iik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVu
dC1lbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1jb250ZW50
LWVsZW1lbnRzLmh0bWwKaW5kZXggZjYxNTFlMjhjMzA0NDk0MDdmMDhhZDEwMTJiZDQ5Njg4YWEy
ODEyNS4uOTBkNjJiYzdhOGQxMjA2MDc5ZjM2ZWRjMWI1OGYzYTk3ZjJkMWU1NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1jb250ZW50LWVsZW1lbnRzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1jb250ZW50LWVsZW1lbnRzLmh0
bWwKQEAgLTE5LDcgKzE5LDcgQEAgZWxzZSBpZiAoIXdpbmRvdy5pbnRlcm5hbHMuaGFzQ29udGVu
dEVsZW1lbnQpCiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJob3N0Iik7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwor
dmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogc2hvdWxk
QmVGYWxzZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CiAKQEAg
LTQ2LDEwICs0NiwxMCBAQCBzaG91bGRCZVRydWUoImludGVybmFscy5oYXNDb250ZW50RWxlbWVu
dChzaGFkb3dSb290KSIpOwogLy8gQ2FzZSBmb3IgbmVzdGVkIHNoYWRvdyBzdWJ0cmVlCiBzaGFk
b3dSb290LmlubmVySFRNTCA9ICc8ZGl2PmluIHNoYWRvdyByb290PC9kaXY+JzsKIHZhciBpbm5l
ckRpdjEgPSBzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2RpdicpOwotdmFyIGlubmVyU2hhZG93
Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChpbm5lckRpdjEpOwordmFyIGlubmVyU2hhZG93
Um9vdDEgPSBpbm5lckRpdjEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogaW5uZXJTaGFkb3dS
b290MS5pbm5lckhUTUwgPSAiPGRpdj48Y29udGVudD48L2NvbnRlbnQ+PC9kaXY+IjsKIHZhciBp
bm5lckRpdjIgPSBpbm5lclNoYWRvd1Jvb3QxLnF1ZXJ5U2VsZWN0b3IoJ2RpdicpOwotdmFyIGlu
bmVyU2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChpbm5lckRpdjIpOwordmFyIGlu
bmVyU2hhZG93Um9vdDIgPSBpbm5lckRpdjIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogaW5u
ZXJTaGFkb3dSb290Mi5pbm5lckhUTUwgPSAiPGRpdj48Y29udGVudCB0aXRsZT0nZGVidWdzdG9w
Jz48L2NvbnRlbnQ+PC9kaXY+IjsKIAogc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc0NvbnRl
bnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CkBAIC02MCw3ICs2MCw3IEBAIHNob3VsZEJlRmFsc2Uo
ImludGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIpOwogCiAvLyBDYXNlIGZv
ciBtdWx0aXBsZSBzaGFkb3cgc3VidHJlZXMKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXY+
PGRpdj48ZGl2Pjxjb250ZW50PjwvY29udGVudD48L2Rpdj48L2Rpdj48L2Rpdj4iOwotdmFyIHlv
dW5nZXJTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgeW91bmdl
clNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIC8vIE1vZGlmeWlu
ZyBvbGRlciBzaGFkb3cgcm9vdCBvciB5b3VuZ2VyIHNoYWRvdyByb290IGRvZXNuJ3QgYWZmZWN0
IHRoZSBvdGhlci4KIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNo
YWRvd1Jvb3QpIik7CiBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQo
eW91bmdlclNoYWRvd1Jvb3QpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvaGFzLWVsZW1lbnRzaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9oYXMtZWxlbWVudHNoYWRvdy5odG1sCmluZGV4IDY3ZjVkMWE3MWZjNDg5ZDRiMTk0YWMwOTI3
Nzk1NWNmMDg2YjEwYTguLjJiMTFhYmZjNTNiOGY0MjAzMGMyZjNmMDBhNGJhZjUwYjQwMDEwY2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRv
dy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRv
dy5odG1sCkBAIC02MywxNyArNjMsMTcgQEAgdGVzdENhc2UoZnVuY3Rpb24oKQogICAgIHNoYWRv
d1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKICAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxl
bWVudFNoYWRvdyhzaGFkb3dSb290KScsICcwJyk7CiAKLSAgICBuZXcgV2ViS2l0U2hhZG93Um9v
dChkaXYpOworICAgIGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hvdWxkQmUo
J2ludGVybmFscy5jb3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOwogCi0gICAg
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogICAgIHNob3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jv
b3QpJywgJzEnKTsKIH0pOwogCiB0ZXN0Q2FzZShmdW5jdGlvbigpCiB7CiAgICAgZGVidWcoJ1No
b3VsZCBiZSBjb3VudGVkIGJ5IGVhY2ggc2hhZG93IHJvb3QgKG11bHRpcGxlIHNoYWRvdyByb290
IGNhc2UpJyk7Ci0gICAgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKKyAgICB5b3VuZ2VyU2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogCiAgICAgdmFyIGRpdiA9IGNyZWF0ZURPTSgnZGl2Jywge30sIGNyZWF0ZVNoYWRvd1Jv
b3QoKSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtc2hh
ZG93LWluc2VydGlvbi1wb2ludC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hh
cy1zaGFkb3ctaW5zZXJ0aW9uLXBvaW50Lmh0bWwKaW5kZXggOTg2NzAyYjkyYmE4Y2JmNTM1OTRl
ZTc1NDhhMGJkMTFkN2I5NDE2Ny4uZDZjOGNlNDA0OTkxNjg3NTY4NDJhMzE0NWM3MjBkZjk3NDE3
NGZkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1zaGFkb3ct
aW5zZXJ0aW9uLXBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hh
cy1zaGFkb3ctaW5zZXJ0aW9uLXBvaW50Lmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgZWxzZSBpZiAo
IXdpbmRvdy5pbnRlcm5hbHMuaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQpCiAKIDxzY3JpcHQ+CiB2
YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12YXIgc2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc1No
YWRvd0luc2VydGlvblBvaW50KHNoYWRvd1Jvb3QpIik7CiAKQEAgLTQyLDcgKzQyLDcgQEAgc2hv
dWxkQmVUcnVlKCJpbnRlcm5hbHMuaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoc2hhZG93Um9vdCki
KTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXY+PGRpdj48ZGl2PjxzaGFkb3c+PC9zaGFk
b3c+PC9kaXY+PC9kaXY+PC9kaXY+IjsKIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc1NoYWRv
d0luc2VydGlvblBvaW50KHNoYWRvd1Jvb3QpIik7CiAKLXZhciB5b3VuZ2VyU2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHlvdW5nZXJTaGFkb3dSb290ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAvLyBNb2RpZnlpbmcgb2xkZXIgc2hhZG93IHJv
b3Qgb3IgeW91bmdlciBzaGFkb3cgcm9vdCBkb2Vzbid0IGFmZmVjdCB0aGUgb3RoZXIuCiBzaG91
bGRCZVRydWUoImludGVybmFscy5oYXNTaGFkb3dJbnNlcnRpb25Qb2ludChzaGFkb3dSb290KSIp
Owogc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc1NoYWRvd0luc2VydGlvblBvaW50KHlvdW5n
ZXJTaGFkb3dSb290KSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2hvc3Qtd3JhcHBlci1yZWNsYWltZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9ob3N0LXdyYXBwZXItcmVjbGFpbWVkLmh0bWwKaW5kZXggMTlhMGE5NjY4NGE0ZTc1NWRkZGQ1
YzZkOGNlMjc1OWNiYmJmNzg2ZC4uZjVjNmJmZTlhMDg2MzY5M2E5ZDI1N2U4OWNkM2U2MzEwMTVi
OGM4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hvc3Qtd3JhcHBl
ci1yZWNsYWltZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaG9zdC13
cmFwcGVyLXJlY2xhaW1lZC5odG1sCkBAIC05LDcgKzksNyBAQCBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAKIGZ1bmN0aW9uIG1ha2VPcnBoYW5TaGFkb3coKSB7CiAgICAgdmFyIGhvc3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIHJldHVybiBzaGFkb3c7CiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvaWZyYW1lLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2lmcmFtZS1zaGFkb3cuaHRtbAppbmRleCA0NTk1OTJmNGY1OTMyMzY0MWQ0YzEw
MTRiNDQ0YmJjZjk5ZjBjZTY3Li44YTNjYzc5OTUxYzE4YTU4MWU3ZTBlOGUwODJhZjRiYjljYjEx
NWU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaWZyYW1lLXNoYWRv
dy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pZnJhbWUtc2hhZG93Lmh0
bWwKQEAgLTMxLDcgKzMxLDcgQEAgc2hvdWxkQmUoImkxLmxlbmd0aCIsICIyIik7CiAvLyBUaGVu
IEFkZGluZyBzb21lIGlmcmFtZXMgaW50byBhIHNoYWRvdy4KIAogdmFyIGhvc3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
dmFyIGkySW5TaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKIGkySW5T
aGFkb3cuc2V0QXR0cmlidXRlKCJuYW1lIiwgImkyIik7CiBzaGFkb3cuYXBwZW5kQ2hpbGQoaTJJ
blNoYWRvdyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQt
d2l0aC12YWxpZGF0aW9uLXdpdGhvdXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLXdpdGhvdXQtc2hhZG93Lmh0bWwKaW5kZXgg
OTQ4Y2VlZGFiZTU5MTMzMGZiMjM3YjgzMDdiMmI3YmU5ZTY5M2Q4NC4uMDE3NzcyNzRhYzRhYWY1
NWVlNzA5ZTRiZTA4MTZlYmJhOTlmZGU1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2lucHV0LXdpdGgtdmFsaWRhdGlvbi13aXRob3V0LXNoYWRvdy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24td2l0aG91
dC1zaGFkb3cuaHRtbApAQCAtMTAsNyArMTAsNyBAQAogPHNjcmlwdD4KIGZ1bmN0aW9uIGRvVGVz
dCgpIHsKICAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzc3dvcmQn
KTsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGlucHV0KTsKKyAg
ICB2YXIgc2hhZG93Um9vdCA9IGlucHV0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWJtaXQnKS5jbGljaygpOwogICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2lucHV0LXdpdGgtdmFsaWRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2lucHV0LXdpdGgtdmFsaWRhdGlvbi5odG1sCmluZGV4IDNlMTQzMTdlNTQ3NjAzYjk5MDk0Mzll
MzZmNDM4Njk4ZTFjNjk4OGQuLmRhMDc5MzQ3Nzk2NDdjNTY0YjdmMWQxZDAwZjc0ZGFlZGJkNDI0
ZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZh
bGlkYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0
aC12YWxpZGF0aW9uLmh0bWwKQEAgLTEyLDcgKzEyLDcgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRF
bmFibGVkKHRydWUpOwogCiB2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFz
c3dvcmQnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW5wdXQpOwor
dmFyIHNoYWRvd1Jvb3QgPSBpbnB1dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiI7CiAKIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdzdWJtaXQnKS5jbGljaygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2luc2VydGlvbi1wb2ludC1saXN0LW1lbnUtY3Jhc2guaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtbGlzdC1tZW51LWNyYXNoLmh0bWwK
aW5kZXggZWI4MTI1ZWQxMDgyYzA2ZDljNzI0ZGQzN2Y3ZDVmNmJiYjQ1MDRhMi4uZWFlNDU3MGM5
NzAzNThkYjdhNzhmYjFlZjZhNTEyNTBkMDAwMTJjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1saXN0LW1lbnUtY3Jhc2guaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LWxpc3QtbWVudS1j
cmFzaC5odG1sCkBAIC05LDExICs5LDExIEBAIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogZnVuY3Rp
b24gYm9vbSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CiAKLSAgICB2YXIgb2xkZXIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBv
bGRlciA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgb2xkZXIuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpOwogICAgIGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHlvdW5nZXIgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOworICAgIHZhciB5b3VuZ2VyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICB2YXIgc2VsZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0
Jyk7CiAgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwog
ICAgIHNlbGVjdC5hcHBlbmRDaGlsZChzaGFkb3cpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtcmVzZXRTdHls
ZUluaGVyaXRhbmNlLmh0bWwKaW5kZXggODBlNTMxZTY4OWZiODhmMjdhMDk5MmJkNTk0MDQ2NmM2
MjIxY2I0My4uMTY0ZDZjNTBlZmUzYzk4NzZmNzYzZjM0OTc4YzUzNzgxYTVmYjg3YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1yZXNldFN0
eWxlSW5oZXJpdGFuY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5z
ZXJ0aW9uLXBvaW50LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sCkBAIC0xNCw3ICsxNCw3IEBA
IGZ1bmN0aW9uIHRlc3ROb1Jlc2V0U3R5bGVJbmhlcml0YW5jZSgpIHsKICAgICBkZWJ1ZygiVGVz
dCBjYXNlOiBubyByZXNldC1zdHlsZS1pbmhlcml0YW5jZS4gY29sb3IgdmFsdWUgc2hvdWxkIGJl
IGluaGVyaXRlZCBmcm9tIHRoZSBzaGFkb3cgaG9zdC4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ25vLXJlc2V0LXN0eWxlLWluaGVyaXRhbmNlJyk7CiAKLSAgICB2
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRv
d1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5u
ZXJIVE1MID0gJzxjb250ZW50IGlkPSJjb250ZW50Ij48L2NvbnRlbnQ+JzsKICAgICAKICAgICBz
aGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdjb250ZW50JykucmVzZXRTdHlsZUluaGVyaXRhbmNl
ID0gZmFsc2U7CkBAIC0yNiw3ICsyNiw3IEBAIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJp
dGFuY2UoKSB7CiAgICAgZGVidWcoIlRlc3QgY2FzZTogcmVzZXQtc3R5bGUtaW5oZXJ0aWFjZSBi
YXNpYyB0ZXN0LiBjb2xvciB2YWx1ZSBzaG91bGQgYmUgaW5pdGlhbCBiZWNhdXNlIGluc2VydGlv
biBwb2ludCdzIHJlc2V0U3R5bGVJbmhlcml0YW5jZSBpcyB0cnVlLiIpOwogICAgIHZhciBkaXYg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzZXQtc3R5bGUtaW5oZXJpdGFuY2UnKTsKIAot
ICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIg
c2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9v
dC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgaWQ9ImNvbnRlbnQiPjwvY29udGVudD4nOwogCiAgICAg
c2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpLnJlc2V0U3R5bGVJbmhlcml0YW5j
ZSA9IHRydWU7CkBAIC0zOCw3ICszOCw3IEBAIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJp
dGFuY2VXaXRoQXR0cmlidXRlKCkgewogICAgIGRlYnVnKCJUZXN0IGNhc2U6IG1ha2UgYSBjb250
ZW50IGVsZW1lbnQgcmVzZXQtc3R5bGUtaW5oZXJ0aWFjZSBieSB1c2luZyBpdHMgYXR0cmlidXRl
LiBjb2xvciB2YWx1ZSBzaG91bGQgYmUgaW5pdGlhbCBiZWNhdXNlIGluc2VydGlvbiBwb2ludCdz
IHJlc2V0U3R5bGVJbmhlcml0YW5jZSBpcyB0cnVlLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncmVzZXQtc3R5bGUtaW5oZXJpdGFuY2UnKTsKIAotICAgIHZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9v
dCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgaWQ9ImNvbnRlbnQiIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlPjwvY29u
dGVudD4nOwogCiAgICAgc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJyZXNldC1zdHlsZS1pbmhlcml0YW5jZSIpLmZpcnN0Q2hpbGQpLmNv
bG9yJywgJyJyZ2IoMCwgMCwgMCkiJyk7CkBAIC00OSw3ICs0OSw3IEBAIGZ1bmN0aW9uIHRlc3RT
aGFkb3dSZXNldFN0eWxlSW5oZXJpdGFuY2VXaXRoQXR0cmlidXRlKCkgewogICAgIGRlYnVnKCJU
ZXN0IGNhc2U6IG1ha2UgYSBzaGFkb3cgZWxlbWVudCByZXNldC1zdHlsZS1pbmhlcnRpYWNlIGJ5
IHVzaW5nIGl0cyBhdHRyaWJ1dGUuIGNvbG9yIHZhbHVlIHNob3VsZCBiZSBpbml0aWFsIGJlY2F1
c2UgaW5zZXJ0aW9uIHBvaW50J3MgcmVzZXRTdHlsZUluaGVyaXRhbmNlIGlzIHRydWUuIik7CiAg
ICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldC1zdHlsZS1pbmhlcml0
YW5jZScpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYp
OworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8c2hhZG93IGlkPSJjb250ZW50IiByZXNldC1zdHls
ZS1pbmhlcml0YW5jZT48L2NvbnRlbnQ+JzsKIAogICAgIHNob3VsZEJlKCd3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzZXQtc3R5bGUtaW5oZXJpdGFu
Y2UiKS5maXJzdENoaWxkKS5jb2xvcicsICcicmdiKDAsIDAsIDApIicpOwpAQCAtNjAsNyArNjAs
NyBAQCBmdW5jdGlvbiB0ZXN0UmVzZXRTdHlsZUluaGVyaXRhbmNlRHluYW1pYygpIHsKICAgICBk
ZWJ1ZygiVGVzdCBjYXNlOiByZXNldC1zdHlsZS1pbmhlcnRpYWNlIGNoYW5nZXMgZHluYW1pY2Fs
bHkuIEZpcnN0bHkgY29sb3IgdmFsdWUgc2hvdWxkIGJlIGluaGVyaXRlZC4gTmV4dCwgaW5pdGlh
bC4gQXQgbGFzdCwgaW5oZXJpdGVkLiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgncmVzZXQtc3R5bGUtaW5oZXJpdGFuY2UtZHluYW1pYycpOwogCi0gICAgdmFyIHNo
YWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290
ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmlubmVySFRN
TCA9ICc8Y29udGVudCBpZD0iY29udGVudCI+PC9jb250ZW50Pic7CiAKICAgICBzaGFkb3dSb290
LmdldEVsZW1lbnRCeUlkKCdjb250ZW50JykucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gZmFsc2U7
CkBAIC03OSw3ICs3OSw3IEBAIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJpdGFuY2VEeW5h
bWljKCkgewogZnVuY3Rpb24gdGVzdFJlc2V0U3R5bGVJbmhlcml0YW5jZVdpdGhvdXRDcm9zc2lu
Z1VwcGVyQm91bmRhcnkoKSB7CiAgICAgZGVidWcoIlRlc3QgY2FzZTogdGhlIHBhcmVudCBub2Rl
IG9mIHRoZSBkaXN0cmlidXRlZCBub2RlIGlzIGluIHRoZSBzYW1lIHNoYWRvdyBkb20gc3VidHJl
ZSBhcyB0aGUgaW5zZXJ0aW9uIHBvaW50LiBjb2xvciB2YWx1ZSBzaG91bGQgYmUgaW5pdGlhbC4g
cmVzZXQtc3R5bGUtaW5oZXJpdGFuY2UgZG9lc24ndCBkZXBlbmQgb24gd2hldGhlciBwYXJlbnQg
c3R5bGUgbm9kZSBpcyBpbiB0aGUgc2FtZSB0cmVlc2NvcGUgb3Igbm90LiIpOwogICAgIHZhciBk
aXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzZXQtYnV0LW5vdC1jcm9zcy11cHBlci1i
b3VuZGFyeScpOwotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAK
ICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2IHN0eWxlPSJjb2xvcjpibHVlOyBiYWNr
Z3JvdW5kLWNvbG9yOmdyZWVuOyI+PGNvbnRlbnQgaWQ9ImNvbnRlbnQiPjwvY29udGVudD48L2Rp
dj4nOwogCkBAIC05MSwxMyArOTEsMTMgQEAgZnVuY3Rpb24gdGVzdFJlc2V0U3R5bGVJbmhlcml0
YW5jZVdpdGhvdXRDcm9zc2luZ1VwcGVyQm91bmRhcnkoKSB7CiBmdW5jdGlvbiB0ZXN0UmVzZXRT
dHlsZUluaGVyaXRhbmNlV2l0aE11bHRpcGxlU2hhZG93Um9vdHMoKSB7CiAgICAgZGVidWcoIlRl
c3QgY2FzZTogcmVzZXQtc3R5bGUtaW5oZXJpdGFuY2Ugd2l0aCBtdWx0aXBsZSBzaGFkb3cgcm9v
dHMuIGNvbG9yIHZhbHVlIHNob3VsZCBiZSBpbml0aWFsLCBiZWNhdXNlIHJlc2V0LXN0eWxlLWlu
aGVyaXRhbmNlIG9mIHRoZSBpbnNlcnRpb24gcG9pbnQgaW4gdGhlIHlvdW5nZXN0IHNoYWRvdyBy
b290IGlzIHRydWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdt
dWx0aXBsZS1zaGFkb3ctcm9vdHMnKTsKLSAgICB2YXIgb2xkZXN0U2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG9sZGVzdFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0g
Jzxjb250ZW50IGlkPSJjb250ZW50Ij48L2NvbnRlbnQ+JzsKIAotICAgIHZhciB5b3VuZ2VyU2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHlvdW5nZXJTaGFk
b3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB5b3VuZ2VyU2hhZG93
Um9vdC5pbm5lckhUTUwgPSAnPHNoYWRvdyBpZD0ic2hhZG93Ij48L3NoYWRvdz4nOwogCi0gICAg
dmFyIHlvdW5nZXN0U2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAg
dmFyIHlvdW5nZXN0U2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgeW91bmdlc3RTaGFkb3dSb290LmlubmVySFRNTCA9ICc8c2hhZG93IGlkPSJzaGFkb3ciPjwv
c2hhZG93Pic7CiAKICAgICBvbGRlc3RTaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdjb250ZW50
JykucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gZmFsc2U7CkBAIC0xMTAsMTAgKzExMCwxMCBAQCBm
dW5jdGlvbiB0ZXN0UmVzZXRTdHlsZUluaGVyaXRhbmNlV2l0aE11bHRpcGxlU2hhZG93Um9vdHMo
KSB7CiBmdW5jdGlvbiB0ZXN0UmVzZXRTdHlsZUluaGVyaXRhbmNlV2l0aE11bHRpcGxlSW5zZXJ0
aW9uUG9pbnRzKCkgewogICAgIGRlYnVnKCJUZXN0IGNhc2U6IG11bHRpcGxlIGluc2VydGlvbiBw
b2ludHMgaW4gdGhlIHNhbWUgc2hhZG93IGRvbSBzdWJ0cmVlLi4gRWFjaCByZXNldC1zdHlsZS1p
bmhlcml0YW5jZSBzaG91bGQgYmUgY2hlY2tlZC4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ211bHRpcGxlLWluc2VydGlvbi1wb2ludHMnKTsKLSAgICB2YXIgb2xk
ZXN0U2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIG9sZGVz
dFNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG9sZGVzdFNo
YWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IGlkPSJjb250ZW50Ij48L2NvbnRlbnQ+JzsK
IAotICAgIHZhciB5b3VuZ2VzdFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYp
OworICAgIHZhciB5b3VuZ2VzdFNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogICAgIHlvdW5nZXN0U2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0
PSI6Zmlyc3QtY2hpbGQiIGlkPSJjb250ZW50Ij48L2NvbnRlbnQ+PHNoYWRvdyBpZD0ic2hhZG93
Ij48L3NoYWRvdz4nOwogCiAgICAgeW91bmdlc3RTaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdj
b250ZW50JykucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXNoYWRvdy1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC1zaGFkb3ctY3Jh
c2guaHRtbAppbmRleCBhYzk0MTA4YjYwZmZmY2UyMGFkNGY4Njg4MjE0YTMwMTk2OTFmNzkxLi5i
YTQzNzczZDU1ODc3OWRlOGQyOTMzY2UyY2IxNTlmYjY2NTkyNDZjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXNoYWRvdy1jcmFzaC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtc2hhZG93
LWNyYXNoLmh0bWwKQEAgLTksMTAgKzksMTAgQEAgZnVuY3Rpb24gcnVuVGVzdHMoKQogICAgIHZh
ciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZGl2KTsKKyAgICBzaGFkb3cxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
aGFkb3cxLmlubmVySFRNTCA9ICI8c3R5bGU+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGRp
dj5IRUxMTzwvZGl2PiI7CiAKLSAgICBzaGFkb3cyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KTsKKyAgICBzaGFkb3cyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFk
b3cyLmlubmVySFRNTCA9ICI8ZGl2PjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+IjsKICAgICBkb2N1
bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiUEFT
UyI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBv
aW50LXZpZGVvLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0
aW9uLXBvaW50LXZpZGVvLWNyYXNoLmh0bWwKaW5kZXggYWYxMjNkYjlhMzY5MTU0NGExNzMwMDk5
OTgzMDZmOTg5YjY5ZTA5Yy4uNzk4OGZiMTFhYTkxOGQ1Njk3M2VhYWVlYzQzZWU4NWY2M2MyZGJm
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2lu
dC12aWRlby1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNl
cnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbApAQCAtOSw4ICs5LDggQEAganNUZXN0SXNBc3lu
YyA9IHRydWU7CiBmdW5jdGlvbiBib29tKCkgewogICAgIGRpdk5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hp
bGQoZGl2Tm9kZSk7Ci0gICAgZGl2U2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdk5v
ZGUpOwotICAgIGRpdlNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXZOb2RlKTsKKyAg
ICBkaXZTaGFkb3cxID0gZGl2Tm9kZS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgZGl2
U2hhZG93MiA9IGRpdk5vZGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIAogICAgIHZp
ZGVvTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZGl2U2hhZG93
Mi5hcHBlbmRDaGlsZCh2aWRlb05vZGUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2ludmFsaWRhdGUtZGlzdHJpYnV0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvaW52YWxpZGF0ZS1kaXN0cmlidXRpb24uaHRtbAppbmRleCBiMzkwNTFiZDk0
N2E1MTk0ZTZiMTU0NzU3MjI2Y2M1Y2QxYmUzMGFhLi5kNjdkMGMwZmE5MGJmODQ4ZTk5NjA0MWNm
OWViZTg5ZDljYmUxMDIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
aW52YWxpZGF0ZS1kaXN0cmlidXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvaW52YWxpZGF0ZS1kaXN0cmlidXRpb24uaHRtbApAQCAtOCwxMSArOCwxMSBAQAogaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi12
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jv
b3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1M
ID0gIjxwPm9sZGVzdCBzaGFkb3c8L3A+IgogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAg
IHZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBz
aGFkb3dSb290MiA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jv
b3QyLmlubmVySFRNTCA9ICI8cD55b3VuZ2VyIHNoYWRvdzwvcD4iOwogCiAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2xp
bmstaW4tc2hhZG93LXRyZWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9saW5r
LWluLXNoYWRvdy10cmVlLmh0bWwKaW5kZXggZDc3ZDMzZWM1NTdlNDU4NDNlYzQ0OGYyMjdiMmY2
OWNhOTZjZDY5NS4uZDQ2M2YwNTFkMTNiZTgwZDM1OTJlN2Y3ZDZlZWQ1YTk3NmRmYzlhYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2xpbmstaW4tc2hhZG93LXRyZWUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbGluay1pbi1zaGFkb3ctdHJl
ZS5odG1sCkBAIC0xNiw3ICsxNiw3IEBAIGZ1bmN0aW9uIGNvbXB1dGVkQmFja2dyb3VuZENvbG9y
KGVsZW0pIHsKIAogdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250
YWluZXInKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChjb250YWlu
ZXIpOwordmFyIHNoYWRvd1Jvb3QgPSBjb250YWluZXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogCiB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTsKIGxpbmsuc2V0
QXR0cmlidXRlKCdyZWwnLCAnc3R5bGVzaGVldCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwKaW5kZXgg
MjgzOWFlNzgyNTEyODdlNmE4NWE3YmJiMTMzNDM4MDEyMzI4M2JiZS4uNjQ5NGFlOTk1OGJkYmE2
YTg3MjQ3ZWI1ZjkyZTczMzI5OTVkMTIyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sCkBAIC0xMiw4
ICsxMiw4IEBACiA8c2NyaXB0PgogZnVuY3Rpb24gZG9UZXN0KCkgewogICAgIHZhciB0YXJnZXQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICBzcjEgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdCh0YXJnZXQpOwotICAgIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHRhcmdldCk7
CisgICAgc3IxID0gdGFyZ2V0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICBzcjIgPSB0
YXJnZXQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgc2hvdWxkQmUoJ2RvY3VtZW50
JywgJ3NyMS5vd25lckRvY3VtZW50Jyk7CiAgICAgc2hvdWxkQmUoJ3NyMS5vd25lckRvY3VtZW50
JywgJ3NyMi5vd25lckRvY3VtZW50Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1yZW5kZXJpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1sCmluZGV4
IDQwNTlhMzExNjIzNGRkMmQ5MGExZWU1NjJjYTRjZWE0YjE1ODYzNTEuLmZmOWZiMjM4OTRmNzNi
YmNkMDJmMDZlMGVhYjc1MTlhYjBkZTVkMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1s
CkBAIC0yMywxMiArMjMsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVzdERvdWJsZVNo
YWRvd1N1YnRyZWVzKGNhbGxJZkRvbmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdMSUdIVCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsK
KyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFOiBTSE9VTEQgTk9UIEJFIFJFTkRF
UkVEJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRDogU0hP
VUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdBRlRFUjogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKIAotICAgIHZhciBzcjIg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4
dCgnQkVGT1JFJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01J
RCcpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsK
QEAgLTQ0LDE3ICs0NCwxNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiB0ZXN0VHJpcGxlU2hh
ZG93U3VidHJlZXMoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0xJR0hUJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwor
ICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkU6IFNIT1VMRCBOT1QgQkUgUkVOREVS
RUQnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEOiBTSE9V
TEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogCi0gICAgdmFyIHNyMiA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdCRUZPUkU6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAg
IHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJF
IFJFTkRFUkVEJykpOwogCi0gICAgdmFyIHNyMyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3Qp
OworICAgIHZhciBzcjMgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjMu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IzLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogICAgIHNyMy5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtNzAsMTIgKzcwLDEyIEBAIHRlc3RGdW5j
cy5wdXNoKGZ1bmN0aW9uIHRlc3RTaGFkb3dTdWJ0cmVlc1dpdGhDb250ZW50KGNhbGxJZkRvbmUp
IHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJv
b3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdMSUdIVCcpKTsKIAotICAgIHZhciBz
cjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnQkVGT1JFOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAgIHNyMS5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRDogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsK
ICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUjogU0hPVUxEIE5P
VCBCRSBSRU5ERVJFRCcpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChy
b290KTsKKyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
c3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyMi5h
cHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnc3BhbicsICdGQUxMQkFDSycpKTsK
ICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsKQEAgLTky
LDEyICs5MiwxMiBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiB0ZXN0U2hhZG93U3VidHJlZXNX
aXRoQ29udGVudEluT2xkZXJTdWJ0cmVlKGNhbGxJZkRvbmUpCiAgICAgcm9vdC5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUIDEnLCAnYzEnKSk7CiAgICAgcm9vdC5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUIDInLCAnYzInKSk7CiAKLSAgICB2YXIgc3Ix
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBwZW5kQ2hp
bGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJy5jMicsICdGQUxMQkFDSycpKTsKICAgICBzcjEu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUjogU0hPVUxEIE5PVCBCRSBSRU5E
RVJFRCcpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAg
ICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyMi5hcHBlbmRDaGls
ZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLmMxJywgJ0ZBTExCQUNLJykpOwogICAgIHNyMi5h
cHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtMTE0LDcgKzExNCw3
IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHRlc3RTaGFkb3dTdWJ0cmVlc1dpdGhEeW5hbWlj
Q3JlYXRpb24oY2FsbElmRG9uZSkgewogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdMSUdIVCAxJywgJ2MxJykpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdMSUdIVCAyJywgJ2MyJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkU6IFNI
T1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRl
bnRXaXRoU2VsZWN0KCdzcGFuJywgJ0ZBTExCQUNLIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVI6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CkBA
IC0xMjIsNyArMTIyLDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVzdFNoYWRvd1N1YnRy
ZWVzV2l0aER5bmFtaWNDcmVhdGlvbihjYWxsSWZEb25lKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGlsZChyb290KTsKIAogICAgIHNl
dFRpbWVvdXQoKGZ1bmN0aW9uKGNhbGxJZkRvbmUsIHJvb3QpIHsgcmV0dXJuIGZ1bmN0aW9uKCkg
ewotICAgICAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgICAg
IHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICAgICAgc3IyLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgICAgICBzcjIuYXBw
ZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3NwYW4nLCAnRkFMTEJBQ0sgMicpKTsK
ICAgICAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBA
IC0xMzgsMTMgKzEzOCwxMyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiB0ZXN0U2hhZG93U3Vi
dHJlZXNXaXRoRHluYW1pY0NyZWF0aW9uT3V0T2ZUcmVlKGNhbGxJZkRvbgogICAgIHJvb3QuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdMSUdIVCAxJywgJ2MxJykpOwogICAgIHJvb3Qu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdMSUdIVCAyJywgJ2MyJykpOwogCi0gICAg
dmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdCRUZPUkU6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCdzcGFuJywgJ0ZBTExCQUNLIDEnKSk7
CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVI6IFNIT1VMRCBO
T1QgQkUgUkVOREVSRUQnKSk7CiAKICAgICBzZXRUaW1lb3V0KChmdW5jdGlvbihjYWxsSWZEb25l
LCByb290KSB7IHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHNyMiA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KHJvb3QpOworICAgICAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0JFRk9SRScpKTsKICAgICAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2Vs
ZWN0KCdzcGFuJywgJ0ZBTExCQUNLIDInKSk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0bWwKaW5kZXggMmE2YjUyODBlZGQxYTg3YjI0
NzAyODE3NWRkOWE2ODYzZDQyNjEyYy4uMjExZWRiNGQ1ZjA1ZmEyMTExMzNiYWZkMTVjNTRiNjNl
N2I4YTBlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxl
LXNoYWRvd3Jvb3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlw
bGUtc2hhZG93cm9vdC5odG1sCkBAIC05LDE1ICs5LDE1IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgZW5zdXJlIHRoYXQgdGhlIG11bHRpcGxlIHNoYWRvdyByb290IGlzIGF2YWlsYWJsZS4iKTsK
IAogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogc2hvdWxkQmUoImlu
dGVybmFscy5zaGFkb3dSb290KGRpdikiLCAibnVsbCIpOwotdmFyIHNoYWRvd1Jvb3QxID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKK3ZhciBzaGFkb3dSb290MSA9IGRpdi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiBzaG91bGRCZSgiaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSIsICJz
aGFkb3dSb290MSIpOwogc2hvdWxkQmUoImludGVybmFscy5vbGRlclNoYWRvd1Jvb3Qoc2hhZG93
Um9vdDEpIiwgIm51bGwiKTsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoZGl2KQordmFyIHNoYWRvd1Jvb3QyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKQog
c2hvdWxkQmUoImludGVybmFscy5zaGFkb3dSb290KGRpdikiLCAic2hhZG93Um9vdDIiKTsKIHNo
b3VsZEJlKCJpbnRlcm5hbHMub2xkZXJTaGFkb3dSb290KHNoYWRvd1Jvb3QyKSIsICJzaGFkb3dS
b290MSIpOwogCi12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwor
dmFyIHNoYWRvd1Jvb3QzID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNob3VsZEJl
KCJpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYpIiwgInNoYWRvd1Jvb3QzIik7CiBzaG91bGRCZSgi
aW50ZXJuYWxzLm9sZGVyU2hhZG93Um9vdChzaGFkb3dSb290MykiLCAic2hhZG93Um9vdDIiKTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BhcmVudC10cmVlLXNj
b3BlLWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BhcmVudC10
cmVlLXNjb3BlLWluLXNoYWRvdy5odG1sCmluZGV4IDBhMDgxOTQyMGVkZTkzY2YzMjgxODY3ZGY5
M2VkMmE5ZTQwY2ExMGUuLjFkYTZhZmEzYzY3Y2U4MmM4MjRhOTQ0MzM5Njk1OWFmNGNjNzBhZTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wYXJlbnQtdHJlZS1zY29w
ZS1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcGFyZW50
LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWwKQEAgLTEyLDEzICsxMiwxMyBAQAogICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CiAKICAgZGVidWcoIkNyZWF0aW5nIHNoYWRvdyBkb20g
c3VidHJlZXMgZnJvbSB0b3AgdG8gYm90dG9tLiIpOwotICB2YXIgc2hhZG93MSA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGRpdik7CisgIHZhciBzaGFkb3cxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgc2hhZG93MS5pbm5lckhUTUwgPSAiPGRpdiBpZD0nRSc+L2Rpdj4iOwogICB2
YXIgZSA9IHNoYWRvdzEuZ2V0RWxlbWVudEJ5SWQoIkUiKTsKLSAgdmFyIHNoYWRvdzIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChlKTsKKyAgdmFyIHNoYWRvdzIgPSBlLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgc2hhZG93Mi5pbm5lckhUTUwgPSAiPGRpdiBpZD0nRic+PC9kaXY+IjsKICAg
dmFyIGYgPSBzaGFkb3cyLmdldEVsZW1lbnRCeUlkKCJGIik7Ci0gIHZhciBzaGFkb3czID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoZik7CisgIHZhciBzaGFkb3czID0gZi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgIHNoYWRvdzMuaW5uZXJIVE1MID0gIjxkaXYgaWQ9J0cnPjwvZGl2PiI7CiAK
ICAgc2hvdWxkQmUoImludGVybmFscy5wYXJlbnRUcmVlU2NvcGUoc2hhZG93MSkiLCAiZG9jdW1l
bnQiKTsKQEAgLTMwLDEzICszMCwxMyBAQAogICBkZWJ1ZygiQ3JlYXRpbmcgbXVsdGlwbGUgc2hh
ZG93IGRvbSBzdWJ0cmVlcy4iKTsKICAgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CiAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgc2hhZG93MSA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdik7CisgIHNoYWRvdzEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICBzaGFkb3cxLmlubmVySFRNTCA9ICI8ZGl2IGlkPSdIJz48L2Rpdj4iOwogCiAg
IHZhciBoID0gc2hhZG93MS5nZXRFbGVtZW50QnlJZCgiSCIpOwotICBzaGFkb3cyID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaCk7CisgIHNoYWRvdzIgPSBoLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKICAgc2hhZG93Mi5pbm5lckhUTUwgPSAiPGRpdj5zaGFkb3cyPC9kaXY+IjsKLSAgc2hhZG93
MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGgpOworICBzaGFkb3czID0gaC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgIHNoYWRvdzMuaW5uZXJIVE1MID0gIjxkaXY+c2hhZG93MzwvZGl2PiI7
CiAgIHNob3VsZEJlKCJpbnRlcm5hbHMucGFyZW50VHJlZVNjb3BlKHNoYWRvdzIpIiwgInNoYWRv
dzEiKTsKICAgc2hvdWxkQmUoImludGVybmFscy5wYXJlbnRUcmVlU2NvcGUoc2hhZG93MykiLCAi
c2hhZG93MSIpOwpAQCAtNDUsMTMgKzQ1LDEzIEBACiAKICAgZGVidWcoIkNyZWF0aW5nIG11bHRp
cGxlIHNoYWRvdyBkb20gc3VidHJlZXMgZnJvbSBib3R0b20gdG8gdG9wLiIpOwogICBmID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gIHNoYWRvdzMgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChmKTsKKyAgc2hhZG93MyA9IGYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFk
b3czLmlubmVySFRNTCA9ICI8ZGl2IGlkPSdHJz48L2Rpdj4iOwogICBlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7Ci0gIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChlKTsK
KyAgc2hhZG93MiA9IGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3cyLmFwcGVu
ZENoaWxkKGYpOwogICBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgc2hh
ZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgIHNoYWRvdzEgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3cxLmFwcGVuZENoaWxkKGUpOwogICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9wc2V1ZG8tYXR0cmlidXRlLWR5bmFtaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9wc2V1ZG8tYXR0cmlidXRlLWR5bmFtaWMuaHRtbAppbmRleCBmMGRhMjBm
MTUyNmUxNDA4NjczZTdjZjdlMGI5Yzk5YzA2NTllNWM3Li44YmVmZjBlNDk4YmVkODE3YmUzMmJk
MDcxYjM2MzJiNWU1MzM4NzNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcHNldWRvLWF0dHJpYnV0ZS1keW5hbWljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUtZHluYW1pYy5odG1sCkBAIC0yMiw3ICsyMiw3IEBA
CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hh
ZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2LndlYmtpdFBzZXVkbyA9ICd4LWZvbyc7CiBk
aXYuaW5uZXJIVE1MID0gIlRoaXMgc2hvdWxkIGJlIGJsdWUuIjsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG8tYXR0cmlidXRlLXJlbmRlcmluZy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUtcmVuZGVyaW5nLmh0
bWwKaW5kZXggNzY4MmI0MmYwZDlmZWQ3ZDNmOTcyOThlYjIyNzBlYzMxMWVkYjFiOC4uZTgzNzY5
OTc2NzFhMzU0NDUxNzdhNDA1OGQ0ODFjYWUxN2QyZDEzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUtcmVuZGVyaW5nLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUtcmVuZGVyaW5nLmh0
bWwKQEAgLTE4LDEzICsxOCwxMyBAQCBkaXY6Oi13ZWJraXQtZm9vYmFyIHsKIDxkaXYgaWQ9Imhv
c3QyIj48L2Rpdj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIHZhciBkaXYxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBkaXYx
LndlYmtpdFBzZXVkbyA9ICd4LWZvbyc7CiBkaXYxLmlubmVySFRNTCA9ICJUaGlzIHRleHQgc2hv
dWxkIGJlIHJlZC4iOwogc2hhZG93Um9vdDEuYXBwZW5kQ2hpbGQoZGl2MSk7CiAKLXZhciBzaGFk
b3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MiA9
IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYyID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CiBkaXYyLndlYmtpdFBzZXVkbyA9ICctd2Via2l0LWZvb2Jhcic7
CiBkaXYyLmlubmVySFRNTCA9ICJUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSByZWQuIjsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hl
Y2tlZC1pbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNz
LXVwZGF0ZS1jaGVja2VkLWlucHV0Lmh0bWwKaW5kZXggOGEyZTM4NDhkN2Y1NDRiOGQxNTVjMmEx
ZjQ4OGE5MDQxNjIyYjQ0ZC4uZDQ0NWU1MjA1NWJjMzg0NTk1YmRjOGE5NTlmNDg0ZjczYjdlY2Vl
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVw
ZGF0ZS1jaGVja2VkLWlucHV0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLWlucHV0Lmh0bWwKQEAgLTMzLDEwICszMywxMCBA
QAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5l
ckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4nOwotbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdDMpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImlucHV0OmNoZWNr
ZWQiPic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0NCkuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4nOworaG9zdDIu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Imlu
cHV0OmNoZWNrZWQiPic7Citob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKK2hvc3Q0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2Vk
Ij4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGlucHV0MS5jaGVja2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtY2hlY2tlZC1vcHRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1vcHRpb24uaHRtbAppbmRleCBiN2JhZjc5ZWNhZjlm
YjlkNjZjMjEwZGRlNmVmOWQyOTQyNTFmZDJjLi41OTc0YjlkMzUxODkxYWE0ZjUwZGJlMTIwODQx
OGI2NzQ2OWYyNDA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtb3B0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLW9wdGlvbi5odG1sCkBAIC0y
NSw4ICsyNSw4IEBACiA8c2NyaXB0PgoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLXZhciBzaGFk
b3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKLXZhciBzaGFkb3dSb290MiA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIAogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0ib3B0aW9uOmNoZWNrZWQiPic7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRl
bnQgc2VsZWN0PSJvcHRpb246Y2hlY2tlZCI+JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtYnV0dG9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWJ1
dHRvbi5odG1sCmluZGV4IDY4NjRjYWE2ZTZiOGY2NTZmMzA1ZTQ0ODE5Yzc2YThjN2E5Y2QxZjMu
LmE2MTliMDNlY2I1ZGFjM2U3YzYzN2IwNmRiY2EyMzkzMWUxOTM3YzMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtYnV0
dG9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVw
ZGF0ZS1kaXNhYmxlZC1idXR0b24uaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVk
Ij48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+
PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChm
dW5jdGlvbigpIHsKICAgICBidXR0b24yLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZGlzYWJsZWQtZmllbGRzZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtZmllbGRzZXQuaHRtbAppbmRleCA1ODU3MTUxOGE3
MjE3ZWZjZjMxMGJhYmFkNWU2YWI3NjU1M2JiMTBhLi45MDkxNzdkY2U2ZTMwM2MwYmZhYTQzZDUw
ODExMDg5MTQ4OGYxMGVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWZpZWxkc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1maWVsZHNldC5o
dG1sCkBAIC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5l
ckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNh
YmxlZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJI
VE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlz
YWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGZpZWxk
c2V0Mi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWlucHV0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2Fi
bGVkLWlucHV0Lmh0bWwKaW5kZXggMzJmMjFjZWM1ODE5ZTkyYzcwY2UxMTM3MjNkYjAzODY3MDcx
Mzk0MC4uMGFlNzlkZWY1MmQxNWRmYzVmNmVhZWVmMjAyM2I5MjBhOGI5OTViYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxl
ZC1pbnB1dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtZGlzYWJsZWQtaW5wdXQuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2Fi
bGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwg
PSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxl
ZCI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91
dChmdW5jdGlvbigpIHsKICAgICBpbnB1dDIuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVw
ZGF0ZS1kaXNhYmxlZC1vcHRncm91cC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRncm91cC5odG1sCmluZGV4IGQ4ODYwMzNk
N2ExOWFmMmU0MDNhODIyNDM0MWM0MmRiMTQzY2IwNjcuLmI3MjJlZDE0ODQ3MTVhNGUwZWY0NWM0
Zjg5MDA2MzI4Y2I0Mzc1MGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtb3B0Z3JvdXAuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGdyb3Vw
Lmh0bWwKQEAgLTI3LDggKzI3LDggQEAKIDxzY3JpcHQ+CiBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
IAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwotdmFyIHNo
YWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3Qx
ID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9z
dDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPic7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPic7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1v
cHRpb24uaHRtbAppbmRleCA0NTAyMjdmMzhlZGRlZjNlOGEzZjU2ZDAxOWEzMmQ5ZDY5OWFkNzhi
Li40MmFkMzQwMTQzMGQ2MmZiOWQ4MjUyOGJlYmJjZjVjMDU3ZTNkOTFmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9w
dGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZGlzYWJsZWQtb3B0aW9uLmh0bWwKQEAgLTI3LDggKzI3LDggQEAKIDxzY3JpcHQ+CiBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDEpOwotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dDIpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwor
dmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaGFk
b3dSb290MS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPic7CiBzaGFk
b3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPic7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRp
c2FibGVkLXNlbGVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1kaXNhYmxlZC1zZWxlY3QuaHRtbAppbmRleCBkYTAzYzE0YTAzYjQwNGI5NTVi
MjUyMTE1YzlmZWIyODRkYWVhOGExLi5mODY4ZGYyNTE3OWE5MTQ1NTkyZDUzZDk2ZWQ2NzJjOGQy
NDllOTUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWRpc2FibGVkLXNlbGVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2VsZWN0Lmh0bWwKQEAgLTIyLDgg
KzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29u
dGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRl
bnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRl
bnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250
ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgc2VsZWN0Mi5zZXRBdHRyaWJ1
dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLXRleHRhcmVhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLXRleHRhcmVh
Lmh0bWwKaW5kZXggZDc1ZjRjYzU5M2IwNGY2NzUxZWNhMjE2MzdhNzgxZjdjYTUyYTQ4OC4uZjg2
NDhiZWI2MzY5ODllMDQ4Y2VlYzI3MGM2NDczMjk3N2I5YzdmNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC10ZXh0YXJl
YS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZGlzYWJsZWQtdGV4dGFyZWEuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVk
Ij48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+
PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChm
dW5jdGlvbigpIHsKICAgICB0ZXh0YXJlYTIuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVw
ZGF0ZS1lbmFibGVkLWFuY2hvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFuY2hvci5odG1sCmluZGV4IDk2OTE0MDRjOTkzZGFi
Y2FhOTY0OWZlMzcyN2E2MDczMjVhM2Q3YTYuLmI1MDViMzg0NDRhMWM2YjE3Y2Q5Y2ViMDgzMmIy
MjFiYTUyN2I2ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1hbmNob3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYW5jaG9yLmh0bWwKQEAgLTIy
LDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8
Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250
ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRl
bnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBhbmNob3IyLnJlbW92ZUF0dHJp
YnV0ZSgnaHJlZicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFyZWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1hcmVhLmh0bWwKaW5kZXggMTU4N2Jh
YmRjYmNjNGNmNjhjYTY3Nzk4MWMwZmQ0NWIwNGM0ODE5Zi4uMDI5YTE5YjNlMTBjNDdmMTEwOTAz
NjJhODA3M2ZlYzk4ZDZkMmRiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFyZWEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYXJlYS5odG1sCkBA
IC00MSw4ICs0MSw4IEBAIGhvc3QxLmFwcGVuZENoaWxkKGFyZWEyKTsKIGhvc3QyLmFwcGVuZENo
aWxkKGFyZWEzKTsKIGhvc3QyLmFwcGVuZENoaWxkKGFyZWE0KTsKIAotbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6ZW5hYmxlZCI+
PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iYXJlYTplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOmVuYWJs
ZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYXJlYTIucmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWVuYWJsZWQtYnV0dG9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWVuYWJsZWQtYnV0dG9uLmh0bWwKaW5kZXggZDY4YTBmNmYzNDRiZTNmYjVh
Y2M2N2IzZjg3ZjY4NjM2ZmNhN2MzMy4uN2Q3NWUyNTIwMmI1Njg2OGY0MDVhNjI3MjI2NjU2NjA4
MTFlMzA1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1lbmFibGVkLWJ1dHRvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0b24uaHRtbApAQCAtMjIsOCAr
MjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+
JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4n
OwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGJ1dHRvbjIuc2V0QXR0cmlidXRlKCdk
aXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWZpZWxkc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtZmllbGRzZXQuaHRtbApp
bmRleCBkNzg1ZjZiOWQwZThlMzI2ODFhYzAzODYzNTE3OTUwZWQzZTcwNDY3Li44Mzg1MzQwNjRk
ODBmOWJlZmVmOWE0N2IyNTU0NzhjMDBjMzIwZDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtZmllbGRzZXQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJs
ZWQtZmllbGRzZXQuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVu
dD4nOwotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBz
ZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7
Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewog
ICAgIGZpZWxkc2V0Mi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
aW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZW5hYmxlZC1pbnB1dC5odG1sCmluZGV4IDA5MTM3M2M0ZjM5ZDM5NjVkNTg2YTVlMzE1NjVi
OWFkZDZlZWQxZmMuLjBkN2I5NDBlM2UyZDBmNzYzZTNkZTc0Y2UzY2IxZjA0YzVlODYxMzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUt
ZW5hYmxlZC1pbnB1dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1pbnB1dC5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6
ZW5hYmxlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJI
VE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFi
bGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CiAgICAgaW5wdXQyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVl
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZW5hYmxlZC1vcHRncm91cC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9wdGdyb3VwLmh0bWwKaW5kZXggNTc3MDU3ZDdl
ODRhMGFhYWMxYjkxN2UzOTI1YWVkZjRmNjU3ZjQ1YS4uOGQzMjI1NWM3YzA2ODc3MmFjOTRmZWU0
ZjhkZWViMjE1YjE2YjE1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9wdGdyb3VwLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9wdGdyb3VwLmh0
bWwKQEAgLTI3LDggKzI3LDggQEAKIDxzY3JpcHQ+CiBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAot
dmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwotdmFyIHNoYWRv
d1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QxID0g
aG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGNv
bnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+JzsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29u
dGVudCBzZWxlY3Q9IjplbmFibGVkIj4nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9wdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9wdGlvbi5o
dG1sCmluZGV4IDQ1NWVkN2Q4N2UzNzFhYmY2ODdlNWEzNWZhNzJhYjRmNDdhZjQzZTAuLmMyNTI2
ZDU1NGZhNjNlMjJiZDcwY2ZlYTM0ZDc4ZDg4MmI3MGYzNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1vcHRpb24uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVu
YWJsZWQtb3B0aW9uLmh0bWwKQEAgLTI3LDggKzI3LDggQEAKIDxzY3JpcHQ+CiBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dDEpOwotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFy
IHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNoYWRv
d1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaGFkb3dSb290MS5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+JzsKIHNoYWRvd1Jvb3QyLmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj4nOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXNlbGVj
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1l
bmFibGVkLXNlbGVjdC5odG1sCmluZGV4IDgwYjFkNmY3MDljMjAzYTEzYjE5NjMxMmVjOWI5YzIz
OTNiZTI1YzguLjUzOWY4NjdlNGFmZGNmMWJiNDEzYjJkY2ZkODk2MGU0YTJlMjA4YzUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5h
YmxlZC1zZWxlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijpl
bmFibGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJs
ZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91
dChmdW5jdGlvbigpIHsKICAgICBzZWxlY3QyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVl
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZW5hYmxlZC10ZXh0YXJlYS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXRleHRhcmVhLmh0bWwKaW5kZXggMzRjMGJjMzcx
MjI4ZWZmNjZhODA4MjQzMTQwMjk1YmIzZWRkOWQ4NS4uMDUxNzdlZWJiYjk4MzZiN2IxNTE2MTkz
YjNjODFmNDE0MzFjNzhjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXRleHRhcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXRleHRhcmVhLmh0
bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxl
ZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVk
Ij48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICB0ZXh0YXJlYTIu
c2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLWlucHV0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0
ZXJtaW5hdGUtaW5wdXQuaHRtbAppbmRleCAxYTg2YTU3OTg5NTQxNThkOGRlNGQxZmEyYTZhNTFj
ZTFmZDcxZGVmLi4wNTRlNDRiNjVkMzllZDRhNWY5NmIwNTk1NThiYTc2ZDBiYmUzNTcyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWlu
ZGV0ZXJtaW5hdGUtaW5wdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtaW5wdXQuaHRtbApAQCAtMzAsNyArMzAs
NyBAQCBpbnB1dDIuaW5kZXRlcm1pbmF0ZSA9IHRydWU7CiBpbnB1dDQuaW5kZXRlcm1pbmF0ZSA9
IHRydWU7CiBpbnB1dDUuaW5kZXRlcm1pbmF0ZSA9IHRydWU7CiAKLXZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2Vs
ZWN0PSJzcGFuLCBpbnB1dDppbmRldGVybWluYXRlIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91
dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1wcm9ncmVzcy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLXByb2dy
ZXNzLmh0bWwKaW5kZXggMTYzNzUzYWVjYzc0YTM2OTJjYmRjOTVhODJhZmFiMmRiOWIyMTFmNi4u
YWVkN2ZjOTMyNDk5YTc3MmM0NzE5YjdhMDhmNDI1MGIwZDBjNzc4MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRl
LXByb2dyZXNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLXByb2dyZXNzLmh0bWwKQEAgLTIyLDcgKzIyLDcgQEAg
cHJvZ3Jlc3MgewogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
OwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0ic3Bhbixwcm9ncmVzczppbmRldGVy
bWluYXRlIj48L2NvbnRlbnQ+JzsKIHByb2dyZXNzMS52YWx1ZSA9ICczMCc7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1h
bmNob3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtbGluay1hbmNob3IuaHRtbAppbmRleCA3MGIwZWQ0YWQxNTBkZTFlYmViYTY0NjliMDc4Zjlj
NWU2NTZiZWY2Li5iMzNjZTVmY2VkZDVmOWIzYTEyNjhjMzkxNjRhYjQ0ZDI4MDJiMTg0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxp
bmstYW5jaG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2Ns
YXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6bGluayI+
PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iOmxpbmsiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpsaW5rIj48L2NvbnRlbnQ+
JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSI6bGluayI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAg
ICAgYW5jaG9yMi5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hcmVhLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYXJlYS5o
dG1sCmluZGV4IGNlMmM2YTZjMTUwYjIzMjdkNmE0ZTBlNDQwNGE5Nzc4MTI2NTRiZWMuLjNhYmMy
YWUxZjExZDM4NWQ0ZTRhN2I0Zjk4MDg5NjI3NjMwNmVkMTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hcmVhLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFy
ZWEuaHRtbApAQCAtNDEsOCArNDEsOCBAQCBob3N0MS5hcHBlbmRDaGlsZChhcmVhMik7CiBob3N0
Mi5hcHBlbmRDaGlsZChhcmVhMyk7CiBob3N0Mi5hcHBlbmRDaGlsZChhcmVhNCk7CiAKLW5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVh
OmxpbmsiPjwvY29udGVudD4nOwotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6bGluayI+PC9jb250ZW50Pic7Citob3N0MS53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTps
aW5rIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhU
TUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOmxpbmsiPjwvY29udGVudD4nOwogCiBzZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgewogICAgIGFyZWEyLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS10
YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtdGFyZ2V0Lmh0bWwKaW5kZXggMzlhNDY3MmQwNTM0OGZmYWIyOGMxZDUzMjNiNTRmOWU4NDEx
NjRmOS4uNDE4ZjFmZTE4ZWZiOTVhOTJjMjgxOTFiNmJjODY5ZDExMmFkNDVhZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS10YXJnZXQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LXRhcmdldC5odG1sCkBAIC0yMCw3ICsyMCw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAog
bG9jYXRpb24uaGFzaCA9ICcjdGFyZ2V0MSc7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXY6
dGFyZ2V0Ij48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRl
ZC1hbmNob3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtdmlzaXRlZC1hbmNob3IuaHRtbAppbmRleCA1NGMxYTA2MDEzOGEzNGIyOWY4OWM0Y2I3
MjJmNDljMDE3YWUxZmQwLi5jOGUyMmE4MzQ0OWE5NTE0ZDA3N2ZkZTdiOTM0YzlmNjU0OWU4NTYz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBk
YXRlLXZpc2l0ZWQtYW5jaG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1sCkBAIC0yMiw4ICsyMiw4IEBA
CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2Vs
ZWN0PSI6dmlzaXRlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Miku
aW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOnZpc2l0ZWQiPjwvY29udGVudD4nOworaG9z
dDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
Ijp2aXNpdGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6dmlzaXRlZCI+PC9jb250ZW50Pic7CiAKIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYW5jaG9yMi5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYn
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtdmlzaXRlZC1hcmVhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYXJlYS5odG1sCmluZGV4IGY2Y2QyZDZiNmEyNTVlYzFj
ZTA2MWE0ZTdkNmE3ZjAxOGI3MTNhNzIuLjdlN2VkNGU5ODFlYjY3NDQ1NzI1MmNkN2VhNjg3YTBj
NWRlYTMxNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtdmlzaXRlZC1hcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFyZWEuaHRtbApAQCAtNDEsOCArNDEs
OCBAQCBob3N0MS5hcHBlbmRDaGlsZChhcmVhMik7CiBob3N0Mi5hcHBlbmRDaGlsZChhcmVhMyk7
CiBob3N0Mi5hcHBlbmRDaGlsZChhcmVhNCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qx
KS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOnZpc2l0ZWQiPjwvY29udGVudD4n
OwotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxl
Y3Q9ImFyZWE6dmlzaXRlZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTp2aXNpdGVkIj48L2NvbnRl
bnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRl
bnQgc2VsZWN0PSJhcmVhOnZpc2l0ZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgewogICAgIGFyZWEyLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlbW92ZS1zdHlsZXMtaW4tc2hhZG93LWNyYXNo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVtb3ZlLXN0eWxlcy1pbi1zaGFk
b3ctY3Jhc2guaHRtbAppbmRleCAyZjI2NmQzY2Q2Yzc0Mzk5OTFmYTg4YWU1MTQ3NDk4MjViMDkw
YTAyLi43NDcwNTRkYWZiZmE2NDg1MTBhZTA1NGJlNzMxMTlkNWYwMjhkMThmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVtb3ZlLXN0eWxlcy1pbi1zaGFkb3ctY3Jh
c2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVtb3ZlLXN0eWxlcy1p
bi1zaGFkb3ctY3Jhc2guaHRtbApAQCAtNyw3ICs3LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogCiBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2hvc3QnKTsKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
KTsKKyAgICB2YXIgc3IgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICAvLyBU
ZXN0IHRoZSBjYXNlOiB0d28gc3R5bGVzIGFyZSBpbiBzaGFkb3cgZG9tIHN1YnRyZWUgYW5kIHRo
ZXkgYXJlIG5vdAogICAgIC8vIGRpcmVjdCBjaGlscmVuIG9mIHRoZSBzaGFkb3cgcm9vdC4KICAg
ICBzci5pbm5lckhUTUwgPSAnPGRpdj48c3R5bGU+ZGl2IHsgY29sb3I6IGJsdWU7IH08L3N0eWxl
PkhlbGxvPC9kaXY+PGRpdj48c3R5bGU+c3BhbiB7IGNvbG9yOiByZWQgfTwvc3R5bGU+PHNwYW4+
V29ybGQ8L3NwYW4+PC9kaXY+JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9yZXByb2plY3Rpb24tYXR0cmlidXRlLW1vZGlmaWVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCmluZGV4
IDMzNTE2NWIwMWQ5YmQ1NjJjNThhZDIyYTAyYTBjOGVhZGUyOTFlMGYuLjc5MDZiZDQ2MmIxYmIw
NTlkMGQ5MTY5ZTFkOWU4Mzg1MDgzNzZjNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9yZXByb2plY3Rpb24tYXR0cmlidXRlLW1vZGlmaWVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1hdHRyaWJ1dGUtbW9kaWZpZWQu
aHRtbApAQCAtMTgsMTEgKzE4LDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MiI+PHNo
YWRvdz48L3NoYWRvdz48L2Rpdj4nOwogCiB2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRFbGVt
ZW50QnlJZCgnaG9zdDInKTsKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdlt0aXRsZT1z
ZWxlY3RlZF0iPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1jbGFzc05hbWUt
bW9kaWZpZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24t
Y2xhc3NOYW1lLW1vZGlmaWVkLmh0bWwKaW5kZXggOTczZGE2NjRhZTJmMDUzNWVhNDk4NGRkMGM5
ZjIyMWY5OWJmOWY4MC4uMTZlOTY0YWY1YjJkMjgwYmNmYWNkM2IwMWU4NWNmMDZkNTI1N2JjMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1jbGFz
c05hbWUtbW9kaWZpZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVw
cm9qZWN0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sCkBAIC0xOCwxMSArMTgsMTEgQEAKIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAot
dmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRv
d1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDEuaW5u
ZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj48c2hhZG93Pjwvc2hhZG93PjwvZGl2Pic7CiAKIHZh
ciBob3N0MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpOwotdmFyIHNoYWRv
d1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0g
aG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iLnNlbGVjdGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChm
dW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXBy
b2plY3Rpb24taWQtbW9kaWZpZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9y
ZXByb2plY3Rpb24taWQtbW9kaWZpZWQuaHRtbAppbmRleCA0MDAwYjg0NjhhOGViNmJhMjhiYWE0
MzMxZjZhMmVjYTA2NmQ3ZGFiLi4wNDIyNmVhZDdiZWVhNjM0N2UzYjM3YzZkZjRhNmQ3MjEyYjE5
Njc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9u
LWlkLW1vZGlmaWVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJv
amVjdGlvbi1pZC1tb2RpZmllZC5odG1sCkBAIC0xOCwxMSArMTgsMTEgQEAKIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRv
d1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0g
aG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0g
JzxkaXYgaWQ9Imhvc3QyIj48c2hhZG93Pjwvc2hhZG93PjwvZGl2Pic7CiAKIHZhciBob3N0MiA9
IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpOwotdmFyIHNoYWRvd1Jvb3QyID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iI3NlbGVjdGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigp
IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNpemUtaW4tc2hh
ZG93LWRvbS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc2l6ZS1pbi1zaGFk
b3ctZG9tLmh0bWwKaW5kZXggZWVkMTk3Yzk5ODJkMDFhZGY3ZmE3ZmVkNDMzZTc2N2YzMTkzNjc0
ZC4uZmRiNzk1NjYwYzlhOGRiNTMyNWRjN2Y3Mzk4MGRmZTUxMjcxOWQyYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc2l6ZS1pbi1zaGFkb3ctZG9tLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc2l6ZS1pbi1zaGFkb3ctZG9tLmh0bWwK
QEAgLTIwLDcgKzIwLDcgQEAgZnVuY3Rpb24gY3JlYXRlQm94KG5hbWUpIHsKICAgICByZXR1cm4g
ZGl2OwogfQogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwor
dmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBib3gg
PSBjcmVhdGVCb3goJ2RhcmsnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoYm94KTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9wb2x5ZmlsbC5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvcG9seWZpbGwuanMKaW5k
ZXggYWE4MGFmMWRlMjFlMGE2YTAzYWE5Y2NiYTBmZmRmZWZhYjU0NmU0Yi4uN2JiNWZiMTEyNDBi
MDBjZWY1ZjY3YzM3MzIyYjI0YzVjNTRjMWJkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3Jlc291cmNlcy9wb2x5ZmlsbC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3BvbHlmaWxsLmpzCkBAIC0xLDUgKzEsNSBAQAotaWYgKCF3
aW5kb3cuV2ViS2l0U2hhZG93Um9vdCAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0Jd2luZG93Lldl
YktpdFNoYWRvd1Jvb3QgPSBmdW5jdGlvbihlbGVtZW50KSB7Ci0JCXJldHVybiBpbnRlcm5hbHMu
ZW5zdXJlU2hhZG93Um9vdChlbGVtZW50KTsKLQl9CitpZiAoIUVsZW1lbnQucHJvdG90eXBlLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QgJiYgd2luZG93LmludGVybmFscykgeworICAgIEVsZW1lbnQu
cHJvdG90eXBlLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
cmV0dXJuIHdpbmRvdy5pbnRlcm5hbHMuY3JlYXRlU2hhZG93Um9vdCh0aGlzKTsKKyAgICB9Owog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9zaGFk
b3ctZG9tLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9zaGFkb3ct
ZG9tLmpzCmluZGV4IDZkZjUwMDg5ZGUwMzZhMjA4ZWY4N2M2NjUyNDM0YWU2ZGYwOTk3YTguLmIy
NGUxYmEzY2EzNjVmZWM2ODkzODgzYWVlNzNkODI0MDRiYzcwYmMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvc2hhZG93LWRvbS5qcworKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3NoYWRvdy1kb20uanMKQEAgLTI3LDEy
ICsyNywxMCBAQCBmdW5jdGlvbiBjcmVhdGVET00odGFnTmFtZSwgYXR0cmlidXRlcykKICAgICAg
ICAgaWYgKGNoaWxkLmlzU2hhZG93Um9vdCkgewogICAgICAgICAgICAgKytzaGFkb3dSb290Q291
bnQ7CiAgICAgICAgICAgICB2YXIgc2hhZG93Um9vdDsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
V2ViS2l0U2hhZG93Um9vdCkKLSAgICAgICAgICAgICAgICBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZWxlbWVudCk7Ci0gICAgICAgICAgICBlbHNlIGlmIChzaGFkb3dSb290Y291
bnQgPT0gMSkKLSAgICAgICAgICAgICAgICBzaGFkb3dSb290ID0gaW50ZXJuYWxzLmVuc3VyZVNo
YWRvd1Jvb3QoZWxlbWVudCk7CisgICAgICAgICAgICBpZiAoZWxlbWVudC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KQorICAgICAgICAgICAgICAgIHNoYWRvd1Jvb3QgPSBlbGVtZW50LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoZWxlbWVudCk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgdGhyb3cgIkNyZWF0ZURPTSBjYW5ub3QgYmUgdXNlZCB0byBob3N0IG11bHRpcGxlIFNoYWRv
d1Jvb3RzIHdpdGhvdXQgbmV3IFdlYktpdFNoYWRvd1Jvb3QoKSI7CisgICAgICAgICAgICAgICAg
c2hhZG93Um9vdCA9IGludGVybmFscy5jcmVhdGVTaGFkb3dSb290KGVsZW1lbnQpOwogICAgICAg
ICAgICAgaWYgKGNoaWxkLmF0dHJpYnV0ZXMpIHsKICAgICAgICAgICAgICAgICBmb3IgKHZhciBh
dHRyaWJ1dGUgaW4gY2hpbGQuYXR0cmlidXRlcykgewogICAgICAgICAgICAgICAgICAgICAvLyBT
aGFkb3cgUm9vdCBkb2VzIG5vdCBoYXZlIHNldEF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3QtaW1hZ2Utd2l0aC1zaGFkb3cuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3QtaW1hZ2Utd2l0aC1zaGFkb3cuaHRtbApp
bmRleCBmN2M4MTIwNTk3OTA4ZWZmOWJhZmY2MGM3ODRiMGIwZGRjNjIyMzg4Li44MWExY2U4YTJj
NDg2YjI5OTg3YjAzYjAyZGIyYzJiZmU0MGEyYmRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2VsZWN0LWltYWdlLXdpdGgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdC1pbWFnZS13aXRoLXNoYWRvdy5odG1sCkBAIC05
LDcgKzksNyBAQAogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBo
b3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxz
cGFuIGlkPSdzcGFuMSc+S290b3JpPC9zcGFuPjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4gaWQ9J3Nw
YW4yJz5QaXlvPC9zcGFuPiI7CiAKIHZhciBzcGFuMSA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5
SWQoJ3NwYW4xJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2Vs
ZWN0aW9uLXNob3VsZG50LWV4cG9zZS1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2VsZWN0aW9uLXNob3VsZG50LWV4cG9zZS1zaGFkb3ctZG9tLmh0bWwKaW5k
ZXggMzI4OTNjOGY4OTAxYWMxYWVjMWQ5NDY2MDNlZDZhYTM2ZTc0MWNjNy4uNTIxNTllZWYyYzY2
YjJmNTRmZTZiNjI4NmU2ODQ3ZDMwNGE3NTA1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NlbGVjdGlvbi1zaG91bGRudC1leHBvc2Utc2hhZG93LWRvbS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb24tc2hvdWxkbnQtZXhwb3Nl
LXNoYWRvdy1kb20uaHRtbApAQCAtMjQsNyArMjQsNyBAQCBmdW5jdGlvbiBkcmFnRnJvbVRvKGVs
ZW1lbnRGcm9tLCBlbGVtZW50VG8pIHsKIAogdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjb250YWluZXInKTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoY29udGFpbmVyKTsKK3ZhciBzaGFkb3dSb290MSA9IGNvbnRhaW5lci53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPQogICAgICc8ZGl2IGlk
PSJkaXYxIiB0aXRsZT0iZGl2MSI+WW91IFNhdG9oPC9kaXY+JyArCiAgICAgJzxkaXYgaWQ9ImRp
djIiIHRpdGxlPSJkaXYyIj5TZW4gWWFyaXp1aTwvZGl2PicgKwpAQCAtMzMsNyArMzMsNyBAQCB2
YXIgZGl2MSA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdkaXYxJyk7CiB2YXIgZGl2MiA9
IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdkaXYyJyk7CiB2YXIgZGl2MyA9IHNoYWRvd1Jv
b3QxLmdldEVsZW1lbnRCeUlkKCdkaXYzJyk7CiAKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGRpdjIpOwordmFyIHNoYWRvd1Jvb3QyID0gZGl2Mi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPQogICAgICc8ZGl2IGlkPSJkaXY0
IiB0aXRsZT0iZGl2NCI+SGFuYSBPc2hpcm9pPC9kaXY+JyArCiAgICAgJzxkaXYgaWQ9ImRpdjUi
IHRpdGxlPSJkaXY1Ij5VbWUgU2hpcmF1bWU8L2Rpdj4nICsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb25zLWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbnMtaW4tc2hhZG93Lmh0bWwKaW5kZXggN2MxY2M3
OWIxOWFjM2I3Y2FiZjE5ZjdlNjVhMjdkNDE2YTk0MDZkYS4uNTI4YjVlNWRkOGM2ZjYwNzYwYmM3
NzhiNjRmN2RiNDFiNzk4ZDY3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NlbGVjdGlvbnMtaW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NlbGVjdGlvbnMtaW4tc2hhZG93Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAKIDxzY3Jp
cHQ+CiBmdW5jdGlvbiBjcmVhdGVTaGFkb3dET00oc2hhZG93Um9vdCwgbmFtZSkgewogICAgIHZh
ciBob3N0SW5TaGFkb3dSb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwotICAg
IHZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdEluU2hhZG93
Um9vdCk7CisgICAgdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBob3N0SW5TaGFkb3dSb290LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgc3BhbkluU2hhZG93ID0gY3JlYXRlU3Bhbldp
dGhUZXh0KCdTUEFOIElOIE5FU1RFRCBJTiBTSEFET1cgJyArIG5hbWUpOwogICAgIG5lc3RlZFNo
YWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc3BhbkluU2hhZG93KTsKIApAQCAtMzgsMTAgKzM4LDEwIEBA
IHZhciBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiB2YXIgc3BhbkluSG9z
dCA9IGNyZWF0ZVNwYW5XaXRoVGV4dCgnSU4gSE9TVCcpOwogaG9zdC5hcHBlbmRDaGlsZChzcGFu
SW5Ib3N0KTsKIAotdmFyIG9sZGVyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOwordmFyIG9sZGVyU2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogdmFyIHNwYW5zMSA9IGNyZWF0ZVNoYWRvd0RPTShvbGRlclNoYWRvd1Jvb3QsICdPTERFUicp
OwogCi12YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
K3ZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
dmFyIHNwYW5zMiA9IGNyZWF0ZVNoYWRvd0RPTSh5b3VuZ2VyU2hhZG93Um9vdCwgJ1lPVU5HRVIn
KTsKIAogdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXIn
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYW5kLWxp
c3QtZWxlbWVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYW5k
LWxpc3QtZWxlbWVudHMuaHRtbAppbmRleCAzZTVjYjZiNzg0ZGJmZDhmMmQ5MzI1NzA0ZDRiNzc1
OWI5YzMxMTdiLi44NTRiNWExNWI1MWU2NWU2NzExYWYxNTUwYjcwZGFiNmMxNWM4OWUxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWFuZC1saXN0LWVsZW1l
bnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hbmQtbGlz
dC1lbGVtZW50cy5odG1sCkBAIC0zNSw3ICszNSw3IEBAIHVsIHsKIC8vICAgPGxpPkM8L2xpPgog
Ly8gPC9vbD4gICAKIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsK
LXZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3cgPSBo
b3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvdy5hcHBseUF1dGhvclN0eWxlcyA9
IHRydWU7CiBzaGFkb3cuaW5uZXJIVE1MID0gIjxsaT5YPC9saT48dWw+PHNoYWRvdz48L3NoYWRv
dz48L3VsPjxsaT5ZPC9saT4iOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFk
b3ctcm9vdC1leHBlY3RlZC50eHQKaW5kZXggZmVlNmMzM2ZiZmI5Njk5MDBhNDZlZTMyZTQ1NWEz
YjAwMjQ1N2M0Yi4uMzhkYzgyZTUwMjdjYzU3ZWMyNWQwMjcxY2FiZGNhOTYyMGFlZWEyMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUt
c2hhZG93LXJvb3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRvdy1yb290LWV4cGVjdGVkLnR4dApAQCAtMyw3ICsz
LDYgQEAgVGVzdHMgZm9yIFNoYWRvd0F3YXJlIEpTIEFQSXMuCiBPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCiAKIAotUEFTUyByb290MS5jb25zdHJ1Y3RvciBpcyB3aW5kb3cuV2ViS2l0U2hhZG93
Um9vdAogUEFTUyByb290MSBpcyBub3Qgcm9vdDIKIFBBU1Mgcm9vdDEgaXMgd2luZG93LmludGVy
bmFscy5vbGRlc3RTaGFkb3dSb290KGhvc3QpCiBQQVNTIHJvb3QyIGlzIHdpbmRvdy5pbnRlcm5h
bHMueW91bmdlc3RTaGFkb3dSb290KGhvc3QpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hhZG93LXJvb3QuaHRt
bAppbmRleCBiZGYxNTNkNjg3MGQzOGI1ZWE3NjU0OTEyMWYyMDVhZWJmODJkNjRkLi5kYTYyMGEz
ODc2NDVlNTFjMThiMzUzNGI1NzBhZjc4MmUxMWVlYzRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRv
dy1yb290Lmh0bWwKQEAgLTEyLDcgKzEyLDYgQEAgRWxlbWVudC5wcm90b3R5cGUuY3JlYXRlU2hh
ZG93Um9vdCA9IEVsZW1lbnQucHJvdG90eXBlLmNyZWF0ZVNoYWRvd1Jvb3QgfHwgRWxlbWUKIHZh
ciBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiB2YXIgcm9vdDEgPSBob3N0
LmNyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciByb290MiA9IGhvc3QuY3JlYXRlU2hhZG93Um9vdCgp
Owotc2hvdWxkQmUoInJvb3QxLmNvbnN0cnVjdG9yIiwgIndpbmRvdy5XZWJLaXRTaGFkb3dSb290
Iik7CiBzaG91bGROb3RCZSgicm9vdDEiLCAicm9vdDIiKTsKIHNob3VsZEJlKCJyb290MSIsICJ3
aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9zdCkiKTsKIHNob3VsZEJlKCJyb290
MiIsICJ3aW5kb3cuaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdChob3N0KSIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50LWNyYXNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnQtY3Jhc2guaHRt
bAppbmRleCAyZjJiMmU5YmY2NWU2MjA0MmE1NTQ2MmIwNTMyYWQzNjFjZDdiYTY4Li42NDUyZjQ5
ODg5ZjgzMGNiY2I1OTcyODhmOWE1ZjU4ZDAzNmJiODE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnQtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWNvbnRlbnQtY3Jhc2guaHRtbApAQCAtMTAsNyAr
MTAsNyBAQAogCiA8c2NyaXB0PgogdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdj
b250YWluZXInKTsKLXZhciByb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKK3ZhciBy
b290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHJvb3QuaW5uZXJIVE1MID0gIjxj
b250ZW50IHNlbGVjdD0nc3Bhbic+UEFTUzwvY29udGVudD4iOwogPC9zY3JpcHQ+CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUtZXhwZWN0
ZWQudHh0CmluZGV4IDY3YzUwNzQ4NWY3ZDViNjUwMjEwZWRkZjM2NTFjMjUwMjJiYzI0YTMuLmFh
YmVjOTk4YzY4MTllOTdjMTY1ZTM2NDMyMzVmZWYzZmVhZWQ1MWIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dApA
QCAtNCw0NyArNCw0NyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIERJVgotUEFTUyBu
ZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSBpcyBub3QgbnVsbAorUEFTUyBlbGVtZW50Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSBpcyBub3QgbnVsbAogU1BBTgotUEFTUyBuZXcgV2ViS2l0
U2hhZG93Um9vdChlbGVtZW50KSBpcyBub3QgbnVsbAorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKSBpcyBub3QgbnVsbAogQQotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChl
bGVtZW50KSBpcyBub3QgbnVsbAorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KSBpcyBub3QgbnVsbAogU0VDVElPTgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50
KSBpcyBub3QgbnVsbAorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSBpcyBu
b3QgbnVsbAogSU5QVVQKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4K
K1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIHRyZWYKLVBBU1Mg
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVy
YXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0
RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIEFVRElPCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290
KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBE
T00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9u
IDMuCiBWSURFTwotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFT
UyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogU0VMRUNUCi1QQVNTIG5l
dyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFy
Y2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVy
cm9yOiBET00gRXhjZXB0aW9uIDMuCiBJTUcKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxl
bWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBF
eGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4K
IFRFWFRBUkVBCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNT
IGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCiBJRlJBTUUKLVBBU1MgbmV3
IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJj
aHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJy
b3I6IERPTSBFeGNlcHRpb24gMy4KIENBTlZBUwotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChl
bGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9N
IEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAz
LgogTUVURVIKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1Mg
ZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBI
aWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIFBST0dSRVNTCi1QQVNTIG5l
dyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFy
Y2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVy
cm9yOiBET00gRXhjZXB0aW9uIDMuCiBPQkpFQ1QKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERP
TSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24g
My4KIEVNQkVECi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNT
IGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCiBLRVlHRU4KLVBBU1MgbmV3
IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJj
aHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJy
b3I6IERPTSBFeGNlcHRpb24gMy4KIFZJREVPCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVs
ZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00g
RXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMu
CiBBVURJTwotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBl
bGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhp
ZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogRklFTERTRVQKLVBBU1MgbmV3
IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJj
aHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJy
b3I6IERPTSBFeGNlcHRpb24gMy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1kaXNhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRp
c2FibGUuaHRtbAppbmRleCAyNTM0NjU0ZDkxZGY0MzA3M2M2MWE0NmZkYjc3ZGU2Nzg4NjMzMTU4
Li5mZTdiYTZlMmI1ZTEzOGI5MzM4ODNmYzYxMWJhYmFiN2ZiODI5OTFkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbApAQCAtMTQsOSArMTQs
OSBAQCBmdW5jdGlvbiB0ZXN0VG9BZGRTaGFkb3dSb290KGVsZW1lbnQsIHN1Y2Nlc3MpIHsKICAg
ICBkZWJ1ZyhlbGVtZW50Lm5vZGVOYW1lKTsKIAogICAgIGlmIChzdWNjZXNzKQotICAgICAgICBz
aG91bGROb3RCZSgibmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkiLCAibnVsbCIpOworICAg
ICAgICBzaG91bGROb3RCZSgiZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkiLCAibnVs
bCIpOwogICAgIGVsc2UKLSAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290
KGVsZW1lbnQpIik7CisgICAgICAgIHNob3VsZFRocm93KCJlbGVtZW50LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKSIpOwogfQogCiB2YXIgZWxlbWVudHNUb1N1Y2Nlc3MgPSBbCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpdi1yZWZsb3cuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGl2LXJlZmxvdy5odG1sCmluZGV4IGIw
OThmMTg0MGU3MjgxNThjNDFjMDkxOWQ1OWM4YjdmYTU4YjY3MmMuLjY3YzQ2NmFhNzAyNTc3YjFi
MGY2MDk5MzJiZTI3NDlkMmZmODIzMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctZGl2LXJlZmxvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctZGl2LXJlZmxvdy5odG1sCkBAIC0xOCw5ICsxOCw5IEBAIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQogICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZv
ckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJob3N0Iik7Ci12YXIgc2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
OwordmFyIHNoYWRvdzEgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvdzEu
aW5uZXJIVE1MID0gIjxkaXY+PHNoYWRvdz48L3NoYWRvdz48ZGl2PjwvZGl2PjwvZGl2PiI7Ci12
YXIgc2hhZG93MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvdzIgPSBo
b3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvdzIuaW5uZXJIVE1MID0gIjxzZWN0
aW9uPiIKICAgICAgICAgICAgICAgICAgKyAgICI8c2hhZG93Pjwvc2hhZG93PiIKICAgICAgICAg
ICAgICAgICAgKyAgICI8ZGl2PnNlY29uZCBsaW5lIGZvbGxvd3MuPC9kaXY+IgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1keW5hbWljLXN0eWxlLWNoYW5n
ZS12aWEtbXV0YXRpb24tYW5kLXNlbGVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWR5bmFtaWMtc3R5bGUtY2hhbmdlLXZpYS1tdXRhdGlvbi1hbmQtc2VsZWN0
b3IuaHRtbAppbmRleCAzMDVlOTVlNjA2NzAyZDVkMzEwNTgyNDE0OWEyYTVmYTAzNDg0NmZjLi5l
NWRmYmE4YmYwZDc4YmIzZmVhMDQyMzQwMjU2ZTQ5YTczMGM4MGVlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWR5bmFtaWMtc3R5bGUtY2hhbmdlLXZpYS1t
dXRhdGlvbi1hbmQtc2VsZWN0b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWR5bmFtaWMtc3R5bGUtY2hhbmdlLXZpYS1tdXRhdGlvbi1hbmQtc2VsZWN0b3Iu
aHRtbApAQCAtNyw3ICs3LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICBkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZm9vKTsKIAogICAgIHZhciBiYXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICB2YXIgYmFyU2hhZG93ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoYmFyKTsKKyAgICB2YXIgYmFyU2hhZG93ID0gYmFyLndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKICAgICBiYXIuc2V0QXR0cmlidXRlKCdjbGFzcycsICdiYXInKTsKICAgICBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoYmFyKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1tdWx0aXBsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmlu
Zy1tdWx0aXBsZS5odG1sCmluZGV4IGE1ZGRiNjMxNWIyZmNkY2E2YmU2N2VjNTg0ZDlkOWE1ZmZh
ZmJiYjcuLjdiZWU3MDE0YTE3MGJkZjFmYTRiM2I4MWRhMjE4OWM2NzQ3YjhlNjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmct
bXVsdGlwbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVs
ZW1lbnQtcmVuZGVyaW5nLW11bHRpcGxlLmh0bWwKQEAgLTI0LDEyICsyNCwxMiBAQCB0ZXN0RnVu
Y3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3VibGVTaGFkb3dSb290KGNhbGxJZkRvbmUpIHsK
ICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3Qu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZU
RVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAg
ICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtNDYsMTEgKzQ2LDExIEBAIHRl
c3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0RvdWJsZVNoYWRvd1Jvb3RXaXRoT25lU2hh
ZG93RWxlbWVudChjYWxsSWZEb25lCiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlE
JykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZh
ciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQo
Y3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUg
MicpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93
JykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7
CkBAIC02OCwxNyArNjgsMTcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nVHJp
cGxlU2hhZG93Um9vdChjYWxsSWZEb25lKSB7CiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4
dCgnTUlEJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwor
ICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMS5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JF
Rk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
aGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIg
MicpKTsKIAotICAgIHZhciBzcjMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2
YXIgc3IzID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IzLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDMnKSk7CiAgICAgc3IzLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQo
Y3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAzJykpOwpAQCAtOTcsMTIgKzk3LDEyIEBAIHRlc3RG
dW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ1R3b1NoYWRvd1Jvb3RzKGNhbGxJZkRvbmUpIHsK
ICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3Qu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZU
RVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAg
ICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgdmFyIHNoYWRv
dzIxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2hhZG93MjEuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdGQUxMQkFDSyAyLTEnKSk7CiAgICAgdmFyIHNo
YWRvdzIyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CkBAIC0xMzAsNyArMTMw
LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVzdFdpdGhEb3VibGVTaGFkb3dSb290V2l0
aENvbnRlbnQxKGNhbGxJZkRvbmUpIHsKIAogICAgIHZhciBzaGFkb3cxID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2hhZG93MS5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ1NIQURPVyBGQUxMQkFDSyAxJykpOwotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEn
KSk7CiAgICAgdmFyIGNvbnRlbnQxID0gY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJy5zcjEnLCAn
Q09OVEVOVCBGQUxMQkFDSyAxJyk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNvbnRlbnQxKTsKQEAg
LTEzOSw3ICsxMzksNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiB0ZXN0V2l0aERvdWJsZVNo
YWRvd1Jvb3RXaXRoQ29udGVudDEoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNoYWRvdzIgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnU0hBRE9XIEZBTExCQUNLIDInKSk7Ci0gICAgdmFyIHNyMiA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdCRUZPUkUgMicpKTsKICAgICB2YXIgY29udGVudDsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY29u
dGVudCA9IGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCcuc3IyJywgJ0NPTlRFTlQgRkFMTEJBQ0sg
MicpKTsKQEAgLTE2NCw3ICsxNjQsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiB0ZXN0V2l0
aERvdWJsZVNoYWRvd1Jvb3RXaXRoQ29udGVudDIoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNo
YWRvdzEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cxLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnU0hBRE9XIEZBTExCQUNLIDEnKSk7Ci0gICAg
dmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVu
dFdpdGhTZWxlY3QoJy5zcjEnLCAnQ09OVEVOVCBGQUxMQkFDSyAxJykpOwogICAgIHNyMS5hcHBl
bmRDaGlsZChzaGFkb3cxKTsKQEAgLTE3Miw3ICsxNzIsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5j
dGlvbiB0ZXN0V2l0aERvdWJsZVNoYWRvd1Jvb3RXaXRoQ29udGVudDIoY2FsbElmRG9uZSkgewog
CiAgICAgdmFyIHNoYWRvdzIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAg
ICBzaGFkb3cyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnU0hBRE9XIEZBTExCQUNL
IDInKSk7Ci0gICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZh
ciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMicpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQo
Y3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJy5zcjInLCAnQ09OVEVOVCBGQUxMQkFDSyAyJykpOwog
ICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnc3BhbicsICdDT05U
RU5UIEZBTExCQUNLIDMnKSk7CkBAIC0xOTAsNyArMTkwLDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVu
Y3Rpb24gcmVuZGVyaW5nRG91YmxlU2hhZG93Um9vdER5bmFtaWNhbGx5QWRkZWQxKGNhbGxJZkRv
bmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAg
IHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIg
c3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4
dCgnQUZURVIgMScpKTsKQEAgLTE5OCw3ICsxOTgsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlv
biByZW5kZXJpbmdEb3VibGVTaGFkb3dSb290RHluYW1pY2FsbHlBZGRlZDEoY2FsbElmRG9uZSkg
ewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5k
Q2hpbGQocm9vdCk7CiAKICAgICB2YXIgZiA9IChmdW5jdGlvbihyb290LCBjYWxsSWZEb25lKSB7
IHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KHJvb3QpOworICAgICAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAy
JykpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hh
ZG93JykpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRF
UiAyJykpOwpAQCAtMjE2LDEyICsyMTYsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVu
ZGVyaW5nRG91YmxlU2hhZG93Um9vdER5bmFtaWNhbGx5QWRkZWQyKGNhbGxJZkRvbmUpIHsKICAg
ICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JF
Rk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
aGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIg
MScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2
YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKIApAQCAtMjQ0LDExICsyNDQsMTEgQEAg
dGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nRG91YmxlU2hhZG93Um9vdER5bmFtaWNh
bGx5QWRkZWQzKGNhbGxJZkRvbmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdN
SUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAg
dmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9S
RSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFk
b3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicp
KTsKQEAgLTI3MiwxMiArMjcyLDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmlu
Z0RvdWJsZVNoYWRvd1Jvb3REeW5hbWljYWxseVJlbW92ZWQxKGNhbGxJZkRvbmUpCiAgICAgdmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUg
MScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93
JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7
CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNy
MiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0
ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTI5OSwxMiArMjk5LDEyIEBAIHRlc3RGdW5j
cy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0RvdWJsZVNoYWRvd1Jvb3REeW5hbWljYWxseVJlbW92
ZWQyKGNhbGxJZkRvbmUpCiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwog
Ci0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEg
PSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwog
ICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAg
ICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTMy
NSwxMiArMzI1LDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0xpZ2h0Q2hp
bGRyZW5EeW5hbWljYWxseUFkZGVkKGNhbGxJZkRvbmUpIHsKIAogICAgIHZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykp
OwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7
CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAot
ICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0g
cm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0
ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMzUyLDExICszNTIsMTEgQEAgdGVzdEZ1bmNzLnB1
c2goZnVuY3Rpb24gcmVuZGVyaW5nT2xkZXJTaGFkb3dSb290Q29udGVudER5bmFtaWNhbGx5QWRk
ZWQoY2FsbElmRG8KICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAg
ICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJv
b3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwog
ICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAg
ICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTM3
OCwxMiArMzc4LDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0xpZ2h0Q2hp
bGRyZW5EeW5hbWljYWxseVJlbW92ZWQoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAg
c3IxLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBz
cjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFy
IHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdCRUZPUkUgMicpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0FGVEVSIDInKSk7CkBAIC00MDUsMTMgKzQwNSwxMyBAQCB0ZXN0RnVuY3MucHVzaChmdW5j
dGlvbiByZW5kZXJpbmdPbGRlclNoYWRvd1Jvb3RDb250ZW50RHluYW1pY2FsbHlSZW1vdmVkKGNh
bGxJZgogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAg
cm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBz
cjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdBRlRFUiAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ1NI
T1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwog
ICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAg
ICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJp
bmctc2luZ2xlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1l
bnQtcmVuZGVyaW5nLXNpbmdsZS5odG1sCmluZGV4IDZiODhiYmU1OTYzMmUzZDdhZjU3Mjk0ZWQ5
NWZmZDMzNGQ1NTBmNDUuLjg1Yzc0N2I5Y2FjNTE2ZjQyYjU3YmI1NjFlNzczMmJlMDgzOWE0NTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1y
ZW5kZXJpbmctc2luZ2xlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1lbGVtZW50LXJlbmRlcmluZy1zaW5nbGUuaHRtbApAQCAtMjQsNyArMjQsNyBAQCB0ZXN0
RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdTaW5nbGVTaGFkb3dSb290KGNhbGxJZkRvbmUp
IHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJv
b3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3Ig
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
aGFkb3cnKSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicp
KTsKQEAgLTQyLDcgKzQyLDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTm90
RmFsbGJhY2tlZChjYWxsSWZEb25lKSB7CiAKICAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2hhZG93LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnRkFMTEJBQ0snKSk7Ci0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
cm9vdCk7CisgICAgdmFyIHNyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
c3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IuYXBw
ZW5kQ2hpbGQoc2hhZG93KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0FGVEVSJykpOwpAQCAtNTksNyArNTksNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5k
ZXJpbmdGYWxsYmFja2VkKGNhbGxJZkRvbmUpIHsKIAogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdGQUxMQkFDSycpKTsKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
ICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBz
ci5hcHBlbmRDaGlsZChzaGFkb3cpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnQUZURVInKSk7CkBAIC04MCw3ICs4MCw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9u
IHJlbmRlcmluZ01peGVkT2ZGYWxsYmFja0FuZE5vbkZhbGxiYWNrKGNhbGxJZkRvbmUpIHsKICAg
ICB2YXIgc2hhZG93MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAgIHNo
YWRvdzIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdGQUxMQkFDSyAyJykpOwogCi0g
ICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyID0gcm9v
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoc2hhZG93MSk7CiAgICAg
c3IuYXBwZW5kQ2hpbGQoc2hhZG93Mik7CkBAIC05OSw3ICs5OSw3IEBAIHRlc3RGdW5jcy5wdXNo
KGZ1bmN0aW9uIHJlbmRlcmluZ1NoYWRvd1Jvb3RCZWZvcmVDb250ZW50KGNhbGxJZkRvbmUpIHsK
IAogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAg
ICBzaGFkb3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdTSEFET1cgRkFMTEJBQ0sn
KSk7Ci0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNy
ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoc2hhZG93KTsK
ICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ00gMScpKTsKQEAgLTEyMCw3
ICsxMjAsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdTaGFkb3dSb290QWZ0
ZXJDb250ZW50KGNhbGxJZkRvbmUpIHsKIAogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdTSEFET1cgRkFMTEJBQ0snKSk7Ci0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAg
c3IuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3NwYW4nLCAnQ09OVEVOVCBG
QUxMQkFDSycpKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ00gMScp
KTsKQEAgLTEzOSw3ICsxMzksNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdT
aGFkb3dFbGVtZW50RHluYW1pY2FsbHlBZGRlZChjYWxsSWZEb25lKSB7CiAgICAgdmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAg
ICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRCcpKTsKIApAQCAtMTYzLDcg
KzE2Myw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ1NoYWRvd0VsZW1lbnRE
eW5hbWljYWxseVJlbW92ZWQoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNoYWRvdyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogCi0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAg
ICAgc3IuYXBwZW5kQ2hpbGQoc2hhZG93KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtMTg0LDcgKzE4NCw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1
bmN0aW9uIHJlbmRlcmluZ0xpZ2h0Q2hpbGRyZW5EeW5hbWljYWxseUFkZGVkKGNhbGxJZkRvbmUp
IHsKIAogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAKLSAg
ICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdBRlRFUicpKTsKQEAgLTIwOSw3ICsyMDksNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiBy
ZW5kZXJpbmdMaWdodENoaWxkcmVuRHluYW1pY2FsbHlSZW1vdmVkKGNhbGxJZkRvbmUpIHsKICAg
ICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2hh
ZG93LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogCi0gICAgdmFyIHNy
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyID0gcm9vdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0
KCdCRUZPUkUnKSk7CiAgICAgc3IuYXBwZW5kQ2hpbGQoc2hhZG93KTsKICAgICBzci5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1uZXN0ZWQtcHNldWRvLWlkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW5lc3RlZC1wc2V1ZG8taWQuaHRtbAppbmRleCAz
NmUwNWY0YTE2NDA2ZDAxOTNhNDBiYjNmYzIwNDE2YTIyZWYxNmFlLi40YTRiYWE4Nzc5NzkxMjM3
Zjc5NmEyYWFlMzExOWMxMjhiZWFhNjJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LW5lc3RlZC1wc2V1ZG8taWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LW5lc3RlZC1wc2V1ZG8taWQuaHRtbApAQCAtMjYsNyArMjYs
NyBAQCBwOjp4LXNoYWRvdy1jaGlsZDo6eC1uZXN0ZWQtc2hhZG93LWNoaWxkIHsKIDxzY3JpcHQ+
CiBmdW5jdGlvbiBidWlsZFNoYWRvd1dpdGhPbmVDaGlsZChob3N0LCBjaGlsZFRhZ05hbWUsIGNo
aWxkUHNldWRvSWQpCiB7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOworICAgIHZhciBzaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICB2YXIgc2hhZG93Q2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGNoaWxkVGFnTmFtZSk7
CiAgICAgc2hhZG93LmFwcGVuZENoaWxkKHNoYWRvd0NoaWxkKTsKICAgICBpbnRlcm5hbHMuc2V0
U2hhZG93UHNldWRvSWQoc2hhZG93Q2hpbGQsIGNoaWxkUHNldWRvSWQpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1vbi1pbWFnZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1vbi1pbWFnZS5odG1sCmluZGV4IGZlNzc0ZGY0
NDkwYTVlMTFjZTlkYTI5NmVlMDg5ZGQ4MDRjYWM5NmIuLmQ4MzBiZjc1ZWYwN2MyZDVkOTM4NTdi
OGZmMTcxOGVhMjhmNzdkOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctb24taW1hZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LW9uLWltYWdlLmh0bWwKQEAgLTksNyArOSw3IEBAIHZhciBpbWFnZUNvbnRlbnRTdHls
ZSA9ICJjb250ZW50OiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5T
VWhFCiBmdW5jdGlvbiBjcmVhdGVJbWFnZURpdldpdGhTaGFkb3coKSB7CiAgIHZhciBpbWFnZURp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICBpbWFnZURpdi5zZXRBdHRyaWJ1
dGUoInN0eWxlIiwgaW1hZ2VDb250ZW50U3R5bGUpOwotICB2YXIgc2hhZG93ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaW1hZ2VEaXYpOyAKKyAgdmFyIHNoYWRvdyA9IGltYWdlRGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsgCiAgIHNoYWRvdy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKSk7CiAgIHJldHVybiBpbWFnZURpdjsKIH0KQEAgLTE4LDcgKzE4LDcgQEAg
ZnVuY3Rpb24gY3JlYXRlSW1hZ2VEaXZXaXRoQ29udGVudFNoYWRvdygpIHsKICAgdmFyIGltYWdl
RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgIGltYWdlRGl2LnNldEF0dHJp
YnV0ZSgic3R5bGUiLCBpbWFnZUNvbnRlbnRTdHlsZSk7CiAgIGltYWdlRGl2LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKLSAgdmFyIHNoYWRvdyA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGltYWdlRGl2KTsgCisgIHZhciBzaGFkb3cgPSBpbWFnZURpdi53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7IAogICBzaGFkb3cuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2JykpOwogICBzaGFkb3cuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnY29udGVudCcpKTsKICAgcmV0dXJuIGltYWdlRGl2OwpAQCAtMjcsNyArMjcsNyBAQCBm
dW5jdGlvbiBjcmVhdGVJbWFnZURpdldpdGhDb250ZW50U2hhZG93KCkgewogZnVuY3Rpb24gY3Jl
YXRlSW1hZ2VEaXZXaXRoRmFsbGJhY2tDb250ZW50U2hhZG93KCkgewogICB2YXIgaW1hZ2VEaXYg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgaW1hZ2VEaXYuc2V0QXR0cmlidXRl
KCJzdHlsZSIsIGltYWdlQ29udGVudFN0eWxlKTsKLSAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGltYWdlRGl2KTsgCisgIHZhciBzaGFkb3cgPSBpbWFnZURpdi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7IAogICBzaGFkb3cuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2JykpOwogICB2YXIgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Nv
bnRlbnQnKTsKICAgY29udGVudC5pbm5lckhUTUwgPSAiPGRpdj48L2Rpdj4iOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1wc2V1ZG8taWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcHNldWRvLWlkLmh0bWwKaW5kZXggZTVi
ZmM5ZGI3NzM5YzYzNDBkMjNiZGU2MzBlN2M1ZTNiZWEzZGNiZC4uYTc0NzUxZTk4YmRkMDlhYTZj
NDgxOWJhNmU2MzJhZTRlM2NlMjA4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1wc2V1ZG8taWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXBzZXVkby1pZC5odG1sCkBAIC0yNSwxOSArMjUsMTkgQEAgZGl2Ojpmb29i
YXIgewogPGRpdiBpZD0iaG9zdDMiPjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3Qx
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdjEgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKIGRpdjEuaW5uZXJIVE1MID0gInBzZXVkbyBpcyB4LXNoYWRvdzogVGhpcyBz
aG91bGQgYmUgcmVkLiI7CiBkaXYxLndlYmtpdFBzZXVkbyA9ICJ4LXNoYWRvdyI7CiBzaGFkb3dS
b290MS5hcHBlbmRDaGlsZChkaXYxKTsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogdmFyIGRpdjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRp
djIuaW5uZXJIVE1MID0gInBzZXVkbyBpcyAtdGVzdDogVGhpcyBzaG91bGQgbm90IGJlIHJlZC4i
OwogZGl2Mi53ZWJraXRQc2V1ZG8gPSAiLXRlc3QiOwogc2hhZG93Um9vdDIuYXBwZW5kQ2hpbGQo
ZGl2Mik7CiAKLXZhciBzaGFkb3dSb290MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKTsK
K3ZhciBzaGFkb3dSb290MyA9IGhvc3QzLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBk
aXYzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBkaXYzLmlubmVySFRNTCA9ICJw
c2V1ZG8gaXMgZm9vYmFyOiBUaGlzIHNob3VsZCBub3QgYmUgcmVkLiI7CiBkaXYzLndlYmtpdFBz
ZXVkbyA9ICJmb29iYXIiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yZW1vdmVjaGlsZC1hbmQtYmx1ci1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yZW1vdmVjaGlsZC1hbmQtYmx1ci1ldmVudC5odG1sCmluZGV4
IDdjMjMyOTQ2OGM1NjZjMDc3Nzc0Njg5ODFkODBlNGU2MWU0Yzg5OTYuLmExNTY5YzNlNGY0Y2Yy
YmFjMDA2NTZmOGJmZmYwZDRlODIwZjJhZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcmVtb3ZlY2hpbGQtYW5kLWJsdXItZXZlbnQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlbW92ZWNoaWxkLWFuZC1ibHVyLWV2
ZW50Lmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAKIGRlc2NyaXB0aW9uKCdDaGVjayBmb2N1c2VkIHNo
YWRvdyBub2RlIGRpc3BhdGNocyBibHVyIGV2ZW50IG9uIHJlbW92ZUNoaWxkIG9mIGhvc3QuJyk7
CiB2YXIgbG9ncyA9IFtdOwogdmFyIHRlc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dCcpOwotdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHRlc3QpOwordmFyIHNoYWRv
dyA9IHRlc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGlucHV0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKIHNoYWRvdy5hcHBlbmRDaGlsZChpbnB1dCk7CiBpbnB1
dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgZnVuY3Rpb24gKCkgeyBsb2dzLnB1c2goJ2JsdXIn
KTsgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJl
cHJvamVjdGlvbi1jbGljay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yZXByb2plY3Rpb24tY2xpY2suaHRtbAppbmRleCBkNjkxODYxMjg3YzdiZWNlMDNmZTVmMTJk
NjZmMzFhYjNmNWU4MjNmLi45NDRkNGViZTIzNTM3MDc4ZTA2YWIwZDcxZjdjNjg2YWJlMWY2ZDFk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVj
dGlvbi1jbGljay5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cmVwcm9qZWN0aW9uLWNsaWNrLmh0bWwKQEAgLTEyLDE0ICsxMiwxNCBAQAogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12YXIgc2hhZG93Um9v
dDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0
MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRp
diBpZD0idGFyZ2V0Ij5PbGRlc3QgU2hhZG93Um9vdCBDaGlsZDwvZGl2Pic7CiAKLXZhciBzaGFk
b3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MiA9
IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9
ICc8ZGl2IGlkPSJob3N0MyI+PHNoYWRvdz48L3NoYWRvdz48Y29udGVudD48L2NvbnRlbnQ+PGRp
dj5Zb3VuZ2VzdCBTaGFkb3dSb290IENoaWxkPC9kaXY+PC9kaXY+JzsKIAogdmFyIGhvc3QzID0g
c2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QzJyk7Ci12YXIgc2hhZG93Um9vdDMgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7Cit2YXIgc2hhZG93Um9vdDMgPSBob3N0My53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290My5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogCiBjb250YWluZXIub2Zmc2V0TGVmdDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWR5
bmFtaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0
aW9uLWR5bmFtaWMuaHRtbAppbmRleCA3YjM0NTIxNWI4MmFmYmZjYzM1YjEzMzZkNDllY2JhYzM0
ZjIzYTIyLi4xMTAzNWZhNmJjNGEyYmRjODhlYjM3NDY2ZWViMmE3NzRmYTZiOTIyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1keW5h
bWljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2pl
Y3Rpb24tZHluYW1pYy5odG1sCkBAIC04LDE0ICs4LDE0IEBACiBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290MSA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlk
PSJob3N0MiI+T2xkZXN0IFNoYWRvd1Jvb3QgQ2hpbGQ8L2Rpdj4nOwogCi12YXIgc2hhZG93Um9v
dDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0
MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRp
diBpZD0iaG9zdDMiPjxzaGFkb3c+PC9zaGFkb3c+PGNvbnRlbnQ+PC9jb250ZW50PjxkaXY+WW91
bmdlc3QgU2hhZG93Um9vdCBDaGlsZDwvZGl2PjwvZGl2Pic7CiAKIHZhciBob3N0MyA9IHNoYWRv
d1Jvb3QyLmdldEVsZW1lbnRCeUlkKCdob3N0MycpOwotdmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDMuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVj
dD0iZGl2Ij48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWZhbGxi
YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlv
bi1mYWxsYmFjay5odG1sCmluZGV4IGU4YzQzZjIwZjFiZGE1NDU4ZDZlNGU1OTAwMDIwYTVlNjhi
MWE0NTQuLjFlZGUxNDljMzczNjQwYTMxYzg5M2Q5ZTM2NzU5OGFmMTFiYjlmMDAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWZhbGxi
YWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2pl
Y3Rpb24tZmFsbGJhY2suaHRtbApAQCAtNSwxNyArNSwxNyBAQAogPGRpdiBpZD0iaG9zdDEiPjxk
aXY+SG9zdCBDaGlsZDwvZGl2PjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9
Imhvc3QyIj5PbGRlc3QgU2hhZG93Um9vdCBDaGlsZDwvZGl2Pic7CiAKLXZhciBzaGFkb3dSb290
MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3Qx
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8c2hh
ZG93Pjwvc2hhZG93Pjxjb250ZW50PjwvY29udGVudD48c2hhZG93PjxkaXYgdGl0bGU9ImRlYnVn
c3RvcCI+U2hhZG93IEZhbGxiYWNrIEVsZW1lbnQgKDEpPC9kaXY+PC9zaGFkb3c+JzsKIAotdmFy
IHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jv
b3QzID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDMuaW5uZXJI
VE1MID0gJzxkaXYgaWQ9Imhvc3Q0Ij48c2hhZG93Pjwvc2hhZG93PjxzaGFkb3c+PGRpdj5TaGFk
b3cgRmFsbGJhY2sgRWxlbWVudCAoMik8L2Rpdj48L3NoYWRvdz48c3Bhbj5Ob3QgcmVuZGVyZWQg
KDEpPC9zcGFuPjxzaGFkb3c+PHNwYW4+Tm90IHJlbmRlcmVkICgyKTwvc3Bhbj48L3NoYWRvdz48
L2Rpdj4nOwogCiB2YXIgaG9zdDQgPSBzaGFkb3dSb290My5nZXRFbGVtZW50QnlJZCgnaG9zdDQn
KTsKLXZhciBzaGFkb3dSb290NCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Q0KTsKK3ZhciBz
aGFkb3dSb290NCA9IGhvc3Q0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogc2hhZG93Um9v
dDQuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JzsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXBy
b2plY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9q
ZWN0aW9uLmh0bWwKaW5kZXggNzQ0NTA4MmVhODJjN2I5M2VhMDAwY2I2YjY1YWFkMTU3YzIwNGYx
Ny4uNmExYWMzZDkzZmZjOTEzM2QyMTUyYTdkYTVmMzFhMDVlMDI5ZTk4YiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi5odG1sCkBA
IC01LDE0ICs1LDE0IEBACiA8ZGl2IGlkPSJob3N0MSI+PGRpdj5Ib3N0IENoaWxkPC9kaXY+PC9k
aXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPk9sZGVzdCBTaGFkb3dS
b290IENoaWxkPC9kaXY+JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QzIj48c2hhZG93Pjwv
c2hhZG93Pjxjb250ZW50PjwvY29udGVudD48ZGl2PllvdW5nZXN0IFNoYWRvd1Jvb3QgQ2hpbGQ8
L2Rpdj48L2Rpdj4nOwogCiB2YXIgaG9zdDMgPSBzaGFkb3dSb290Mi5nZXRFbGVtZW50QnlJZCgn
aG9zdDMnKTsKLXZhciBzaGFkb3dSb290MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKTsK
K3ZhciBzaGFkb3dSb290MyA9IGhvc3QzLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3QzLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7CiA8
L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yZXByb2plY3Rpb24yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJlcHJvamVjdGlvbjIuaHRtbAppbmRleCA5ZjdkNzc2MjMzNDdmZjM2ZDU4NWI2YzMyMzk0NWU2
NTg4MjVkNTU1Li43YzI0YjYyNjA0Y2JlZDg1MmYzYmE4NTI2NjNiZTdjNTI3NDNmOGQ1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbjIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlv
bjIuaHRtbApAQCAtNSwxNCArNSwxNCBAQAogPGRpdiBpZD0iaG9zdDEiPjxkaXY+QjwvZGl2Pjwv
ZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxzaGFkb3c+PC9zaGFkb3c+JzsKIAotdmFyIHNo
YWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3Qy
ID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1M
ID0gJzxkaXYgaWQ9Imhvc3QzIj48c2hhZG93Pjwvc2hhZG93PjwvZGl2Pic7CiAKIHZhciBob3N0
MyA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRCeUlkKCdob3N0MycpOwotdmFyIHNoYWRvd1Jvb3Qz
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDMuaW5uZXJIVE1MID0gJzxkaXY+
QTwvZGl2Pjxjb250ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+PGRpdj5DPC9kaXY+JzsKIDwv
c2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYXBwZW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJv
b3QtYXBwZW5kLmh0bWwKaW5kZXggNWRhODhjNWJlMWEzZmYyZTkwNTUzYjA5YmFiNWM4MTY3OWNm
ZWUyMS4uNjI5NDliMjgwZjEyNDFkMDMzNmQ0NzJlMWE5MGIzMGUwNWExYjM4ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWFwcGVuZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBlbmQuaHRtbApA
QCAtMTYsNyArMTYsNyBAQCBmdW5jdGlvbiBkb1Rlc3QoKSB7CiAgICAgfQogCiAgICAgdmFyIGRp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHJvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOworICAgIHJvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ1NTJykpOwog
CiAgICAgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwpA
QCAtMjYsNyArMjYsNyBAQCBmdW5jdGlvbiBkb1Rlc3QoKSB7CiAgICAgc2hvdWxkQmUoJ2NvbnRh
aW5lci5maXJzdENoaWxkLnRleHRDb250ZW50JywgJyJTUyInKTsKIAogICAgIHZhciBkaXYgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICByb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZGl2KTsKKyAgICByb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICByb290LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdQQScpKTsKIAogICAg
IGNvbnRhaW5lci5pbnNlcnRCZWZvcmUocm9vdCwgY29udGFpbmVyLmZpcnN0Q2hpbGQpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWFwcGx5QXV0
aG9yU3R5bGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
YXBwbHlBdXRob3JTdHlsZXMuaHRtbAppbmRleCA2MThlYzgyMDAwN2FlOGRiMGZjNzViMjFkNDNm
ODUxY2ZlZGQyYWVkLi5jYjc5N2IxODgxMTc3ODYwZmRiYTJhZGRiM2ZiZWZjMDYxMTNhZTljIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXBwbHlB
dXRob3JTdHlsZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbApAQCAtNTksNyArNTksNyBAQCBmdW5jdGlvbiBy
ZW5kZXJBcHBseUF1dGhvclN0eWxlQ2FzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FwcGx5LWF1
dGhvci1zdHlsZScpLmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGFzc2VydEZhbHNlKCdkZWZhdWx0IGFwcGx5QXV0aG9y
U3R5bGVzJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CiAgICAgc2hhZG93Um9vdC5h
cHBseUF1dGhvclN0eWxlcyA9IHRydWU7CiAgICAgYXNzZXJ0VHJ1ZSgnYXBwbHlBdXRob3JTdHls
ZXMgc2hvdWxkIGJlIHRydWUnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKQEAgLTcw
LDcgKzcwLDcgQEAgZnVuY3Rpb24gcmVuZGVyTm9BcHBseUF1dGhvclN0eWxlQ2FzZSgpIHsKICAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ25vLWFwcGx5LWF1dGhvci1zdHlsZScpLmFwcGVuZENoaWxkKGRpdik7
CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAg
dmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGFzc2Vy
dEZhbHNlKCdkZWZhdWx0IGFwcGx5QXV0aG9yU3R5bGVzJywgc2hhZG93Um9vdC5hcHBseUF1dGhv
clN0eWxlcyk7CiAgICAgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyA9IGZhbHNlOwogICAg
IGFzc2VydEZhbHNlKCdhcHBseUF1dGhvclN0eWxlcyBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dS
b290LmFwcGx5QXV0aG9yU3R5bGVzKTsKQEAgLTgxLDcgKzgxLDcgQEAgZnVuY3Rpb24gcmVuZGVy
QXBwbHlBdXRob3JTdHlsZVdpdGhJbmxpbmVTdHlsZURlY2xhcmF0aW9uQ2FzZSgpIHsKICAgICB2
YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3dpdGgtaW5saW5lLXN0eWxlLWRlY2xhcmF0aW9uJykuYXBwZW5kQ2hpbGQo
ZGl2KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsK
KyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
YXNzZXJ0RmFsc2UoJ2RlZmF1bHQgYXBwbHlBdXRob3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5
QXV0aG9yU3R5bGVzKTsKICAgICBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsK
ICAgICBhc3NlcnRUcnVlKCdhcHBseUF1dGhvclN0eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNoYWRv
d1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwpAQCAtOTIsNyArOTIsNyBAQCBmdW5jdGlvbiByZW5k
ZXJBcHBseUF1dGhvclN0eWxlV2l0aE92ZXJyaWRpbmdJbXBvcnRhbnRQcm9wZXJ0eUNhc2UoKSB7
CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0cnktdG8tb3ZlcnJpZGUtaW1wb3J0YW50JykuYXBwZW5kQ2hp
bGQoZGl2KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgYXBwbHlBdXRob3JTdHlsZXMnLCBzaGFkb3dSb290LmFw
cGx5QXV0aG9yU3R5bGVzKTsKICAgICBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1
ZTsKICAgICBhc3NlcnRUcnVlKCdhcHBseUF1dGhvclN0eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNo
YWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwpAQCAtMTAzLDcgKzEwMyw3IEBAIGZ1bmN0aW9u
IHRlc3RDaGFuZ2luZ0FwcGx5QXV0aG9yU3R5bGVGcm9tVHJ1ZVRvRmFsc2UoKSB7CiAgICAgdmFy
IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjaGFuZ2UtYXBwbHktYXV0aG9yLXN0eWxlLWZyb20tdHJ1ZS10by1mYWxzZScp
LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIGFzc2VydEZhbHNlKCdkZWZhdWx0IGFwcGx5QXV0aG9yU3R5bGVzJywgc2hh
ZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CiAgICAgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0
eWxlcyA9IHRydWU7CiAgICAgYXNzZXJ0VHJ1ZSgnYXBwbHlBdXRob3JTdHlsZXMgc2hvdWxkIGJl
IHRydWUnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKQEAgLTEyNCw3ICsxMjQsNyBA
QCBmdW5jdGlvbiB0ZXN0Q2hhbmdpbmdBcHBseUF1dGhvclN0eWxlRnJvbUZhbHNlVG9UcnVlKCkg
ewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnY2hhbmdlLWFwcGx5LWF1dGhvci1zdHlsZS1mcm9tLWZhbHNl
LXRvLXRydWUnKS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFs
c2U7CiAgICAgYXNzZXJ0RmFsc2UoJ2FwcGx5QXV0aG9yU3R5bGVzIHNob3VsZCBiZSBmYWxzZScs
IHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1M
ID0gJzxkaXY+PHNwYW4gaWQ9InRlc3QyIj48L3NwYW4+PC9kaXY+JzsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hdHRhY2hlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWF0dGFjaGVkLmh0bWwKaW5kZXgg
ZmJiNmY4NmMyZmJmMTBkODEzZjhjMzA1NWFiMzMwZjY2MGYzNmVlMC4uZjUxMjVmYmQ0MDg1ZjVi
MDU5YWFkYjU3ZjQ2MjU5ZWIyYzg2OTQwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWF0dGFjaGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWF0dGFjaGVkLmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAg
dmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKTsKICAg
ICB3aW5kb3cubGlnaHQgPSBjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUJyk7CiAgICAgcm9vdC5h
cHBlbmRDaGlsZChsaWdodCk7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KHJvb3QpOworICAgIHZhciBzaGFkb3dSb290ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAKICAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmF0dGFjaGVkKGxpZ2h0KScsICdm
YWxzZScpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKS5hcHBlbmRD
aGlsZChyb290KTsKQEAgLTI5LDcgKzI5LDcgQEAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKTsKICAgICB3aW5kb3cubGlnaHQgPSBjcmVhdGVTcGFu
V2l0aFRleHQoJ0xJR0hUJyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChsaWdodCk7CiAKLSAgICB2
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzaGFk
b3dSb290ID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5h
cHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnc3BhbicpKTsKIAogICAgIHNob3Vs
ZEJlKCdpbnRlcm5hbHMuYXR0YWNoZWQobGlnaHQpJywgJ2ZhbHNlJyk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtaW5uZXJIVE1MLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtaW5uZXJIVE1MLmh0bWwKaW5k
ZXggZDA3ODdiNGFiNGZlYTBmYmJhODQyODgzZGQ3YWYwMjAxODg2ZmZhOC4uODBmZWY5MTVhMDBm
ZGQ5YjVjOTNmMDg1ZTAwMTRhNTU3MzkwZDUxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWlubmVySFRNTC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1pbm5lckhUTUwuaHRtbApAQCAtMTcsNyArMTcs
NyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIAogaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChob3N0KTsKLXJvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIAogdmFyIGRpdjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKIGRp
djEuc2V0QXR0cmlidXRlKCJpZCIsICJkaXYxIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGktZXhwZWN0ZWQudHh0CmluZGV4
IDkzZjBiYzUzYjI0MmNhNWFkOGI3ZGFjODZlMTQ0MzNmZmYzNTk3YzEuLjk5ZmYwNmY3OWI3MDg4
YTc2OWI0NTUxYmZlNDkxMzIxNThkOGI4YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGktZXhwZWN0ZWQudHh0CkBAIC0z
LDEwICszLDYgQEAgVGVzdHMgZm9yIFNoYWRvd1Jvb3QgSlMgQVBJcy4gQ2FuIG9ubHkgcnVuIHdp
dGhpbiBEUlQKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIG5ldyBXZWJLaXRT
aGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KLVBBU1MgbmV3
IFdlYktpdFNoYWRvd1Jvb3QobnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlS
ZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
MSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNl
cHRpb24gMy4KIFBBU1Mgc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnZGl2MScpIGlzIGRpdjEK
IFBBU1Mgc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnZm9vJykgaXMgbnVsbAogUEFTUyBzaGFk
b3dSb290LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NsYXNzMicpIGlzIFtkaXYyXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCmlu
ZGV4IGRjNTFjNmM4N2RjMGVlOTZkOTNhMjEwY2JkY2QxNjJkMWM3MWIzNTIuLjI5NzhiOTQ5MTZm
ZDNhYjBjYmEzNTZhMmQyOTUyZTJhODY0OThlNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKQEAgLTE0LDEzICsxNCw5IEBA
IGRlc2NyaXB0aW9uKCJUZXN0cyBmb3IgU2hhZG93Um9vdCBKUyBBUElzLiBDYW4gb25seSBydW4g
d2l0aGluIERSVCIpOwogCiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci1zaG91bGRUaHJvdygibmV3IFdlYktpdFNoYWRvd1Jvb3QoKSIpOwotc2hv
dWxkVGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290KHVuZGVmaW5lZCkiKTsKLXNob3VsZFRocm93
KCJuZXcgV2ViS2l0U2hhZG93Um9vdChudWxsKSIpOwotc2hvdWxkVGhyb3coIm5ldyBXZWJLaXRT
aGFkb3dSb290KDEpIik7CiB2YXIgc2hhZG93SG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwogZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzaGFkb3dIb3N0KTsKLXZhciBzaGFk
b3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qoc2hhZG93SG9zdCk7Cit2YXIgc2hhZG93Um9v
dCA9IHNoYWRvd0hvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiB2YXIgZGl2MSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogZGl2MS5zZXRBdHRyaWJ1dGUoImlkIiwgImRp
djEiKTsKQEAgLTU0LDcgKzUwLDcgQEAgc2hvdWxkQmVOdWxsKCJzaGFkb3dSb290LnF1ZXJ5U2Vs
ZWN0b3IoJy5mb28nKSIpOwogc2hvdWxkQmUoInNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgn
ZGl2JykiLCAiW2RpdjEsIGRpdjJdIik7CiBzaG91bGRCZSgic2hhZG93Um9vdC5xdWVyeVNlbGVj
dG9yQWxsKCdmb28nKSIsICJbXSIpOwogCi12YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChzaGFkb3dIb3N0KTsKK3ZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IHNoYWRv
d0hvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hvdWxkTm90QmUoInlvdW5nZXJTaGFk
b3dSb290IiwgInNoYWRvd1Jvb3QiKTsKIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXctZXhwZWN0ZWQudHh0CmluZGV4IGU5OTM4ZGNk
OGE2N2RiZDFhYjVjNDlmZDFiMjEwZTUwOGM0NzllY2QuLjBiOGYxODNhNDdjNWJmNjhhNTg2ODJi
ZDZjNjFkYWFkZTkwNmZkYzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1uZXctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctcm9vdC1uZXctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotVGhp
cyB0ZXN0IGNoZWNrcyB0aGUgb2JqZWN0ICduZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KScgYW5k
IGludGVybmFscy5zaGFkb3dSb290KGRpdikgYXJlIHRoZSBzYW1lLgorVGhpcyB0ZXN0IGNoZWNr
cyB0aGUgb2JqZWN0ICdob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKScgYW5kIGludGVybmFs
cy5zaGFkb3dSb290KGRpdikgYXJlIHRoZSBzYW1lLgogCiBQQVNTIHJvb3QxIGlzIHJvb3QyCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwKaW5kZXggZDYyMWQ3MTA4NDM0Y2NjZmMxNzMx
NGZiZmYxN2RkOTgyNGE2NDc1ZC4uNGE1ZDM3ZmJjYmRlNzExNmI5MWYwMGM0YTY4NTEyOGRjODU1
NWE1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LW5ldy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1u
ZXcuaHRtbApAQCAtNCw3ICs0LDcgQEAKIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Ci08cD5UaGlzIHRlc3Qg
Y2hlY2tzIHRoZSBvYmplY3QgJ25ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpJyBhbmQgaW50ZXJu
YWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUgdGhlIHNhbWUuPC9wPgorPHA+VGhpcyB0ZXN0IGNoZWNr
cyB0aGUgb2JqZWN0ICdob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKScgYW5kIGludGVybmFs
cy5zaGFkb3dSb290KGRpdikgYXJlIHRoZSBzYW1lLjwvcD4KIDxwcmUgaWQ9ImNvbnNvbGUiPjwv
cHJlPgogCiA8c2NyaXB0PgpAQCAtMTUsOCArMTUsOCBAQCBmdW5jdGlvbiBkb1Rlc3QoKSB7CiAg
ICAgfQogCiAgICAgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgLy8g
d2Ugc2hvdWxkIGNhbGwgbmV3IFdlYktpdFNoYWRvd1Jvb3QgZmlyc3QuCi0gICAgcm9vdDEgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIC8vIHdlIHNob3VsZCBjYWxsIHdlYktpdENy
ZWF0ZVNoYWRvd1Jvb3QgZmlyc3QuCisgICAgcm9vdDEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIHJvb3QyID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KTsKIAogICAgIHNo
b3VsZEJlKCdyb290MScsICdyb290MicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5o
dG1sCmluZGV4IGMxYjhkMjZhODI3NTVkMjljMjBiYzAyYmZjOWE4YjAwNzk4NzZiZjUuLjJlN2Mw
YjcwZGIxODdmMGViNjBlYzgzNzg1ODdiZDhjYWJjNzlmMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtcmVzZXRTdHls
ZUluaGVyaXRhbmNlLmh0bWwKQEAgLTYwLDcgKzYwLDcgQEAgZnVuY3Rpb24gcmVuZGVyV2l0aE5v
UmVzZXRTdHlsZUluaGVyaXRhbmNlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKICAgICBkaXYuY2xhc3NOYW1lID0gJ3Jlc2V0VGVzdCc7CiAKLSAgICB2
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRv
d1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGFzc2VydEZhbHNlKCdk
ZWZhdWx0IHJlc2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290
LnJlc2V0U3R5bGVJbmhlcml0YW5jZSk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRp
dj50ZXh0PC9kaXY+JzsKICAgICAKQEAgLTcxLDcgKzcxLDcgQEAgZnVuY3Rpb24gcmVuZGVyV2l0
aFJlc2V0U3R5bGVJbmhlcml0YW5jZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgZGl2LmNsYXNzTmFtZSA9ICdyZXNldFRlc3QnOwogCi0gICAg
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFk
b3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgn
ZGVmYXVsdCByZXNldFN0eWxlSW5oZXJpdGFuY2Ugc2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9v
dC5yZXNldFN0eWxlSW5oZXJpdGFuY2UpOwogICAgIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVy
aXRhbmNlID0gdHJ1ZTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2PnRleHQ8L2Rp
dj4nOwpAQCAtODQsNyArODQsNyBAQCBmdW5jdGlvbiByZW5kZXJXaXRoQ2hhbmdpbmdSZXNldFN0
eWxlSW5oZXJpdGFuY2VGcm9tVHJ1ZVRvRmFsc2UoKSB7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRpdi5jbGFzc05hbWUgPSAncmVzZXRUZXN0JzsK
IAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2
YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgYXNzZXJ0
RmFsc2UoJ2RlZmF1bHQgcmVzZXRTdHlsZUluaGVyaXRhbmNlIHNob3VsZCBiZSBmYWxzZScsIHNo
YWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlKTsKICAgICBzaGFkb3dSb290LnJlc2V0U3R5
bGVJbmhlcml0YW5jZSA9IHRydWU7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdiBp
ZD0idGVzdDEiPnRleHQ8L2Rpdj4nOwpAQCAtMTA3LDcgKzEwNyw3IEBAIGZ1bmN0aW9uIHJlbmRl
cldpdGhDaGFuZ2luZ1Jlc2V0U3R5bGVJbmhlcml0YW5jZUZyb21GYWxzZVRvVHJ1ZSgpIHsKICAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZGl2LmNsYXNz
TmFtZSA9ICdyZXNldFRlc3QnOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCByZXNldFN0eWxlSW5oZXJpdGFuY2Ug
c2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UpOwogICAg
IHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gZmFsc2U7CiAgICAgc2hhZG93Um9v
dC5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdDIiPnRleHQ8L2Rpdj4nOwpAQCAtMTM3LDcgKzEz
Nyw3IEBAIGZ1bmN0aW9uIHJlbmRlclJlc2V0U3R5bGVJbmhlcml0YW5jZUZvckNvbnRlbnQoKSB7
CiAgICAgZGl2LmNsYXNzTmFtZSA9ICdyZXNldFRlc3QnOwogICAgIGRpdi5hcHBlbmRDaGlsZChj
cmVhdGVEaXZXaXRoVGV4dCgndGV4dCcpKTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2Vs
ZWN0PSJkaXYiPjwvY29udGVudD4nOwogICAgIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRh
bmNlID0gdHJ1ZTsKICAgICBhc3NlcnRUcnVlKCdyZXNldFN0eWxlSW5oZXJpdGFuY2Ugc2hvdWxk
IGJlIHRydWUnLCBzaGFkb3dSb290LnJlc2V0U3R5bGVJbmhlcml0YW5jZSk7CkBAIC0xNTAsNyAr
MTUwLDcgQEAgZnVuY3Rpb24gcmVuZGVyTm9SZXNldFN0eWxlSW5oZXJpdGFuY2VGb3JDb250ZW50
KCkgewogICAgIGRpdi5jbGFzc05hbWUgPSAncmVzZXRUZXN0JzsKICAgICBkaXYuYXBwZW5kQ2hp
bGQoY3JlYXRlRGl2V2l0aFRleHQoJ3RleHQnKSk7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JzsKICAgICBzaGFkb3dSb290LnJlc2V0U3R5bGVJbmhl
cml0YW5jZSA9IGZhbHNlOwogICAgIGFzc2VydEZhbHNlKCdyZXNldFN0eWxlSW5oZXJpdGFuY2Ug
c2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1zZWxlY3QtYXR0cmli
dXRlLWZlYXR1cmVzZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
c2VsZWN0LWF0dHJpYnV0ZS1mZWF0dXJlc2V0Lmh0bWwKaW5kZXggMDY2NmY3MTdlMGVmOGQwMjNk
Nzk3MGYwOWJiMjJjM2U5MDdjNWU4MS4uNDJiYTc2NzFkOTEzMDBlMDg0MmNkZWFhODcwODRhZmQ4
NjFkNmM4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1z
ZWxlY3QtYXR0cmlidXRlLWZlYXR1cmVzZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXNlbGVjdC1hdHRyaWJ1dGUtZmVhdHVyZXNldC5odG1sCkBAIC0xMTEs
NyArMTExLDcgQEAgdGVzdENhc2UoZnVuY3Rpb24oKQogewogICAgIGRlYnVnKCdNdWx0aXBsZSBT
aGFkb3dSb290IGNhc2UnKTsKIAotICAgIHZhciBhbm90aGVyU2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBhbm90aGVyU2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNv
bnRlbnQgc2VsZWN0PSIjZm9vIj48L2NvbnRlbnQ+JzsKICAgICBhbm90aGVyU2hhZG93Um9vdC5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjYmFyIj48L2NvbnRlbnQ+PGNvbnRlbnQgc2Vs
ZWN0PSJkaXZbYmF6XSwuYmFyIj48L2NvbnRlbnQ+JzsKQEAgLTE1Miw3ICsxNTIsNyBAQCB0ZXN0
Q2FzZShmdW5jdGlvbigpCiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2Vs
ZWN0PSIjZm9vIj48L2NvbnRlbnQ+JzsKIAogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKLSAgICB2YXIgbmVzdGVkU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGRpdik7CisgICAgdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIG5lc3RlZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iI2JhciI+PC9jb250ZW50Pic7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChk
aXYpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXVs
LWxpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXVsLWxpLmh0bWwK
aW5kZXggNmI4ODFlYjJkY2U5N2QxYjUzNzQxY2E4YTZiMWM1Zjk3MDE0Nzk3Zi4uYWI0YTJlZjQ0
ZTI3Nzk1NmY3NjhhYmFjNGY4ZGM3ZDRjZTIzNTQ5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy11bC1saS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbApAQCAtOSw3ICs5LDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiAKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaG9zdCk7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHZhciB1bCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Vs
Jyk7CiAgICAgdmFyIGxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZHluYW1pYy1zdHlsaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWR5bmFtaWMtc3R5
bGluZy5odG1sCmluZGV4IDhmYjgzOGQwYzQzZDU0ZjhjNzQwYjQ5M2VmNmRlOWRjNDczZjVjYjUu
LjViNGFiZWRmNTA4N2I2YWZlY2NlZDBkMmI3ZWEzMTkxMWNmN2UyNDQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZHluYW1pYy1zdHlsaW5nLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1keW5hbWljLXN0eWxp
bmcuaHRtbApAQCAtMTYsMTAgKzE2LDEwIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgPC9k
aXY+CiA8c2NyaXB0PgogdmFyIGJveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNib3giKTsK
LXZhciBvbGRlc3RTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoYm94KTsKK3ZhciBv
bGRlc3RTaGFkb3dSb290ID0gYm94LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIG9sZGVzdFNo
YWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50PjwvY29udGVudD4iOwogICAgIAotdmFyIHlv
dW5nZXN0U2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoIiNpdGVtIikpOwordmFyIHlvdW5nZXN0U2hhZG93Um9vdCA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoIiNpdGVtIikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogeW91bmdlc3RTaGFk
b3dSb290LmlubmVySFRNTCA9ICI8c3R5bGU+IiArCiAgICAgICAiLnNlbGVjdGVkIHtiYWNrZ3Jv
dW5kOiByZWQ7fSIgKwogICAgICAgIjwvc3R5bGU+IiArCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24tY29tcGxleC1zaGFkb3cuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1jb21w
bGV4LXNoYWRvdy5odG1sCmluZGV4IGE4ZGNmODNhYjM4OThkZDJmNjlhOTdlZjIxOTUyOTEyZjI3
OTE2YmYuLmE2NDZlMmQzZjA0ZjllMGUzZTczZDJiMDUwNTRlYTk1NjA0ZThlMWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1jb21w
bGV4LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWJ1dHRvbi1jb21wbGV4LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiAKIDxz
Y3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3Qg
PSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0g
JzxkaXY+PGNvbnRlbnQgc2VsZWN0PSJzcGFuIj48L2NvbnRlbnQ+PHNoYWRvdz48L3NoYWRvdz48
L2Rpdj4nCiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24tb25seS1zaGFkb3cuaHRtbAppbmRl
eCA2ZDQ4NTQ4OTg2ODAyNDY5ZmUzOTg0ZDMwM2MyOTJkYjgzZDQxYjNiLi44NjgwZGMyZjA2NTcw
YWZkODkyZTFmMWIyYzVkMWI2OWVlN2FiY2RlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24tb25seS1zaGFkb3cuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24tb25seS1zaGFk
b3cuaHRtbApAQCAtMTAsNyArMTAsNyBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiIKIDwvc2Ny
aXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItYnV0dG9uLXdpdGhvdXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24td2l0aG91dC1zaGFkb3cuaHRtbAppbmRl
eCA3YmIxM2UxYWNiODU0OTBkOGJhMWYyYjgyM2JiZDcyYmIzM2M3ZDlhLi4zOTY1YzRiYjc2ODBj
NzQ1Zjg5MzIxOGNjOGZjMzc2MWRhMjM0YWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24td2l0aG91dC1zaGFkb3cuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24td2l0aG91
dC1zaGFkb3cuaHRtbApAQCAtMTAsNyArMTAsNyBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiA8L3NjcmlwdD4KIAogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24uaHRtbAppbmRleCA1MDQ2MDNj
NjJlNzdiZmFhODAwYWExZjFmNWEzMzU0OTdiYTc4ODYxLi41NmU2ZDM0NGFjNDI1ZWMxOTUzOWE2
Mjk2ZGEwZDliMGY5ZjFkMzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1idXR0b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24uaHRtbApAQCAtMTAsMTIgKzEwLDEyIEBACiA8YnV0
dG9uIGlkPSJob3N0MiI+S290b3JpPC9idXR0b24+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9v
dDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0
MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAiPHNo
YWRvdz48L3NoYWRvdz4gT3RvbmFzaGkiOwogCi12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAiZm9vIDxzaGFkb3c+PC9zaGFk
b3c+IGJhciI7Ci12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7
Cit2YXIgc2hhZG93Um9vdDMgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFk
b3dSb290My5pbm5lckhUTUwgPSAiRk9PIDxzaGFkb3c+PC9zaGFkb3c+IEJBUiI7CiA8L3Njcmlw
dD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItZmllbGRzZXQtY29tcGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggYTQw
MmJhYjk1YmY2ODZhZmJkNTRlYjY4NGRkMWQwYThlZDM3MTFhMC4uNTc5Mjk5ZDM4OThlZGEwNjU3
ODZmNTBiMjYyNGViNTNmNGY0YjMzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtY29tcGxleC1zaGFkb3cuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1jb21wbGV4
LXNoYWRvdy5odG1sCkBAIC0xMiw2ICsxMiw2IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50PjwvY29udGVudD48
ZGl2IHN0eWxlPSdtYXJnaW46IDIwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+IgogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1maWVsZHNldC1vbmx5LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtb25seS1zaGFkb3cuaHRtbAppbmRleCBiYzAwNmY3NjU5
MWQ2ZDAxMjFjZGZhMzRmNzg2NDAxZWQ0ZGI5OGZlLi40MzRhNmI0ODIxZjQ4ZDQwNGViOGZiYTZm
YjU4OGIxM2E1MzI4OWVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1maWVsZHNldC1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LW9ubHktc2hhZG93Lmh0bWwK
QEAgLTE1LDYgKzE1LDYgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiB2
YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+
PC9zaGFkb3c+IgogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC13aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtd2l0aG91dC1zaGFk
b3cuaHRtbAppbmRleCBmNmJjYmIyNDM5MmZlNGIzNjdkYThiNTQ0NGQyZDlhYWZhYjlkZjU3Li4x
ZTBiMjgxZTk1MDViYzFlYjcyM2YyNWM2YzI4OGIzMzU2M2Y0OWNhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC13aXRob3V0LXNo
YWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWZpZWxkc2V0LXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTE0LDUgKzE0LDUgQEAKIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQogICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hh
ZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiB2YXIgaG9zdCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItZm9ybS1hc3NvY2lhdGVkLWVsZW1lbnQtdXNlcmFnZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFzc29jaWF0ZWQtZWxl
bWVudC11c2VyYWdlbnQuaHRtbAppbmRleCBlZmU3ZTBkNTQ1MzFmZWFmODZhMjZhNjFkZjhmY2I3
ZjVmOGFjNjAxLi43YzI4NWYwMjg2YzdjZGMyMDY5ODRjMDBhMzgzYjAyYTgwNDMwOTAxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFz
c29jaWF0ZWQtZWxlbWVudC11c2VyYWdlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFzc29jaWF0ZWQtZWxlbWVudC11c2VyYWdlbnQu
aHRtbApAQCAtMzUsNyArMzUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgZWxlbXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgdmFyIGhvc3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChlbGVtc1tpXSk7Ci0gICAgICAgIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKKyAgICAgICAgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93
Pjwvc2hhZG93PiI7CiAKICAgICAgICAgb2xkZXN0U2hhZG93Um9vdCA9IGludGVybmFscy5vbGRl
c3RTaGFkb3dSb290KGhvc3QpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtYWx0LXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtYWx0LXVwZGF0ZS5odG1sCmluZGV4IDdh
MzE4ZGM0ZDVjNzA4OGYzNmIyOTM1ZWNmZDExMWI4NmJhZDVmMGQuLjBlZTcyZjI1YmI3ZTQ0MTRl
YTA1ZjEzNzUwYjZjOWVkOTI4OGVlMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWFsdC11cGRhdGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQtdXBkYXRlLmh0bWwK
QEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiBm
dW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxz
aGFkb3c+PC9zaGFkb3c+KGFmdGVyKSI7CiAKICAgICB2YXIgdXNlckFnZW50U2hhZG93Um9vdCA9
IGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KGhvc3QpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtYWx0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQuaHRtbAppbmRleCAy
YzJjZGU1ZjBkNTJjYWEyMWM3NjY4ZWI0M2M1MTE5ZDIxNjNiYTg1Li4zMjViNzdlMjM2ODBiZjc5
MDgyYTRmYTJiMDE4ZmRhOWNmYTZkYTM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQuaHRtbApAQCAtMTQsNyArMTQs
NyBAQCBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0
aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNo
YWRvd0RPTShob3N0KSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIihiZWZvcmUpPHNoYWRvdz48L3NoYWRv
dz4oYWZ0ZXIpIjsKIAogICAgIHZhciB1c2VyQWdlbnRTaGFkb3dSb290ID0gaW50ZXJuYWxzLm9s
ZGVzdFNoYWRvd1Jvb3QoaG9zdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1jb250ZW50Lmh0bWwKaW5kZXggNGVlNzBj
MmU2Mzk3ZjNjMzYxYWZkNzQwOGY4M2QyNDE2N2Q1YjAxMS4uMWY3MzU3MGY0MGU3Mjk5MTA3YmE4
NDI3ZmVkMzM5MjgyNzk2ZTM4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtY29udGVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWNvbnRlbnQuaHRtbApAQCAtMTQsNyAr
MTQsNyBAQCBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFk
ZFNoYWRvd0RPTShob3N0KSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIihiZWZvcmUpPHNoYWRvdz48L3No
YWRvdz4oYWZ0ZXIpPGNvbnRlbnQ+PC9jb250ZW50PiI7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWR5bmFtaWMuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWR5bmFtaWMu
aHRtbAppbmRleCBlMzc2MzhlYzcyZWFlMDRlYTk0Njg0YTMzYzFiMzMzYmM3ODE5YjBhLi42Mjk3
N2U0MzlhY2I3MjYzY2M5NmY0ZGY2ZmRmNzRhOGZkNjA1Y2ZiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1keW5hbWljLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtZHluYW1p
Yy5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVl
KTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJl
Zm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiCiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWV2ZW50LWNsaWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1ldmVudC1j
bGljay5odG1sCmluZGV4IDU5Yzg4ZDFlYzgxM2UxZDljOWY0Y2E1NDcyOWEzYTUwODQ5NzdhNzEu
LjMxMzY3NzE5OTljNGI1ZDdlMDFkZjUxNGFmZGM2MzQ2OWQyZGJhMmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWV2ZW50LWNsaWNr
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtZXZlbnQtY2xpY2suaHRtbApAQCAtMjAsNyArMjAsNyBAQCBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKIH0KIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwg
PSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikgPHNwYW4gaWQ9J3RhcmdldCc+dGFy
Z2V0PC9zcGFuPiI7CiAgICAgcmV0dXJuIHNoYWRvd1Jvb3Q7CiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1ldmVudC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtZXZlbnQuaHRt
bAppbmRleCA3MTAxMDU0YWJkZGIwMDFkNGU1MTk3ZmQwZmIzNTg0YzVhNmQ4OTQ3Li5hMDBkNDg1
OTA2MDFiNDZjMGQyMjM2ZGNiOTI2NjAwOTU0MTY4ODIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1ldmVudC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWV2ZW50Lmh0bWwK
QEAgLTI0LDcgKzI0LDcgQEAgZnVuY3Rpb24gbGlzdGVuZXIoZXZlbnQpIHsKIH0KIAogZnVuY3Rp
b24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwogICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKICAgICBkaXYuaWQgPSAnaW5uZXIt
ZGl2JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWltYWdlLWluLXNoYWRvd2RvbS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93ZG9tLmh0bWwKaW5kZXggNzY1N2IwZjhhOTFi
MWVmNTQxMTNhMjhhNWJkNjY5ODM4ODFkMmM3Zi4uNDQyMDRmMmZiMWFhNzMyNDE3YWE2NDA1OWRm
YmRiZDAzMzg4MjIzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93ZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93ZG9tLmh0bWwKQEAgLTEx
LDExICsxMSwxMSBAQAogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3Qg
PSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0g
ImJlZm9yZTxpbWcgaWQ9J2ltZycgc3JjPScuLi9yZXNvdXJjZXMvYXBwbGUuZ2lmJz5hZnRlciI7
CiAKIHZhciBpbWcgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdpbWcnKTsKLXZhciBuZXN0
ZWRTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW1nKTsKK3ZhciBuZXN0ZWRTaGFk
b3dSb290ID0gaW1nLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogbmVzdGVkU2hhZG93Um9v
dC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1pbWFnZS1tYXAuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWltYWdlLW1hcC5odG1sCmluZGV4IGQ1MTY3MWU2ZGQwNzI0NzQ2ZDliMWU3ODg4ZGRjZjU4
Y2RiMzU5ZmYuLmE0NjY1YWZmMWVlZTA0MmVmYjVjMDcxMGYwNzIxZjViNGMwNDUzNDYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLW1h
cC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWlt
YWdlLW1hcC5odG1sCkBAIC0yNiw3ICsyNiw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3Qp
IHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAg
IHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iOwogCiAgICAgdmFyIHVzZXJB
Z2VudFNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChob3N0KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXN0
eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFn
ZS1zdHlsZS5odG1sCmluZGV4IDYxM2NhMzRlNjAyZmZmZjQzODcyOTU2ZmY2ZGRiOGE2ZWYyZjhh
ZmMuLjA5MjZmMWU2YWQ0ZmZlMTA1NTU3Y2Y1ZDA2MDYxOWUyMWI1YTI1ODAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXN0eWxlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Ut
c3R5bGUuaHRtbApAQCAtMjYsNyArMjYsNyBAQCBpZiAod2luZG93LmludGVybmFscykKICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQo
dHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0gICAgdmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0g
IihiZWZvcmUpPHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIpIjsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1tdWx0aXBs
ZS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLXdpdGgtbXVsdGlwbGUtc2hhZG93Lmh0bWwKaW5kZXggMzA5NjRkYTg4ZThmYTZkOWEz
YWM5MTI5ZjdjNDYzM2JkZTgwNWI3My4uYzQ3ZTViNzBiYzI3YmM4MWZmNjQzNWFjZjQ3ODJiNmM2
ZWY5NGY5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItaW1hZ2Utd2l0aC1tdWx0aXBsZS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLW11bHRpcGxlLXNoYWRvdy5o
dG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsK
IAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9y
ZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiCiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtcHNldWRvLWlkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXBz
ZXVkby1pZC5odG1sCmluZGV4IDRhNDcwZjMzMDU5NzNmZjQyNTA1OThiY2MxNGYxM2I2MGUxN2I3
YWQuLjhiMzBlODg3Nzg5NjE1NWRhYjFjNWI4YmUwODkwNmQwNjJmMmI2ZmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtcHNl
dWRvLWlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItaW1hZ2Utd2l0aC1wc2V1ZG8taWQuaHRtbApAQCAtMjAsNyArMjAsNyBAQCBpZiAod2luZG93
LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9y
QW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7
Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2
YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gIihiZWZvcmUpPHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIpIjsKIH0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
aW1hZ2Utd2l0aC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAppbmRl
eCA4YmM5ZTc5ZmExYzVmMmUyOTU0MTdjODRlNzNjYjk0NmU2N2MwYmVjLi5lNjUyNDNlZjgxN2Y4
NjM2NjhmNzg0NjY3NzU4NjdiMzJjOWZkODgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXdpZHRoLWFuZC1oZWlnaHQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13
aXRoLXdpZHRoLWFuZC1oZWlnaHQuaHRtbApAQCAtMTQsNyArMTQsNyBAQCBpZiAod2luZG93Lmlu
dGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55
RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0g
ICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jv
b3QuaW5uZXJIVE1MID0gIihiZWZvcmUpPHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIpIjsKIH0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdl
Lmh0bWwKaW5kZXggNzE1NTMxMDA5Y2M3YjM0ODkwMzkyZDQ4ZjUxOTAyYTA0MDI0MzkyNy4uOTA1
NGQxYWFhNWI5YjA0NDhkNzNmZTNiNzUzNmY0YWY2NzFlNGRjZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS5odG1sCkBAIC0xNCw3
ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24g
YWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwv
c2hhZG93PihhZnRlcikiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4tY29tcGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi1jb21wbGV4LXNoYWRvdy5o
dG1sCmluZGV4IDNkYjg4NDZlNmE0NDJhZDdhZDJlY2RlMjVkMGY2MjNhODBlMzM1MTIuLjNhNjE2
YzdhYTFjOWEzZDJjNTlmZmRiYjM1MjI4NTBiNjFjNjI0YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi1jb21wbGV4LXNoYWRvdy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdl
bi1jb21wbGV4LXNoYWRvdy5odG1sCkBAIC0xMiw2ICsxMiw2IEBAIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQogCiBob3N0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdmb29iYXIn
KSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9jb250ZW50PjxkaXYgc3R5bGU9J21hcmdpbjogMjBweCc+
PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi1vbmx5LXNoYWRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLW9ubHkt
c2hhZG93Lmh0bWwKaW5kZXggMGFmOTI4ZTMxOGRmODY3NzE0Yzc2OGVmY2I2ZTgwMjRjNjU2MWE2
MC4uYmMxMmE1NDhlYWQ5MjU4MThjMzA0YWNjMDZiZmE3NDBhY2VkYzEzNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLW9ubHktc2hh
ZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
a2V5Z2VuLW9ubHktc2hhZG93Lmh0bWwKQEAgLTksNyArOSw3IEBACiA8L2Zvcm0+CiAKIDxzY3Jp
cHQ+Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBzaGFkb3cgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQo
c2hhZG93KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLXdpdGhvdXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4td2l0aG91dC1zaGFkb3cuaHRt
bAppbmRleCA2NjcxMTk4NjgwNjY1NzQwZmYyYjU5MGVkNGM0ZTg3ZDBiMjZlNzIwLi5hNWVlOTdi
YTNmYjkyYzEzYjY1YTliMTgxYzA5NmE4ZDdkMjBmMDE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4td2l0aG91dC1zaGFkb3cuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4t
d2l0aG91dC1zaGFkb3cuaHRtbApAQCAtMTMsNyArMTMsNyBAQAogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1l
bnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWVkaWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1lZGlhLmh0bWwKaW5kZXggMmUwNDRkZTU3YWQ5NmFl
Nzg1YTc4OWIzNDY3ZGY3Mzc3YmY3ZTk2Yi4uZmU5ZTdhZDExMTBhN2ExY2U4NGM4OTBiYjY0OWYw
OTZjZTVjYmRiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItbWVkaWEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1tZWRpYS5odG1sCkBAIC0xMiw3ICsxMiw3IEBACiAKIDxzY3JpcHQ+CiBmdW5j
dGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8ZGl2IHN0eWxlPSdt
YXJnaW46IDEwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+IgogICAgIHJldHVybiBzaGFkb3dS
b290OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItbWV0ZXItZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItbWV0ZXItZHluYW1pYy5odG1sCmluZGV4IDk0NTIxMTdlZjVkMGJjOTI5YWRl
NWEwZmNmMWVkNWRiZGYzNDE5ZjQuLmYzZDc0MjE5OWFlMjE5OWFjOTQ0OWI0MDE3ZDQyNDYyOTk4
ODYyNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLW1ldGVyLWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1tZXRlci1keW5hbWljLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9z
cGFuPiI7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1tdWx0aXBsZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItbXVsdGlwbGUuaHRt
bAppbmRleCBkMThlMGQ2MWU1NmI1MGYxODg1NWVjMDdiMmE0MzI3YWFkMjZjNDAzLi4wYjZlYjdk
NTE2NjNiODhmZDE1M2VkNzE2MTM5ODJiZmZhODhmNTRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1tdWx0aXBsZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLW11bHRpcGxl
Lmh0bWwKQEAgLTE3LDEwICsxNywxMCBAQCBtZXRlcjo6LXdlYmtpdC1tZXRlci1pbm5lci1lbGVt
ZW50IHsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRB
dXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93
Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsKIAotdmFyIHlvdW5nZXIgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciB5b3VuZ2VyID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiB5b3VuZ2VyLmlubmVySFRNTCA9ICI8ZGl2IHN0eWxlPSdtYXJnaW46IDAgMTBw
eCAwIDEwcHg7IGhlaWdodDogMWVtOyB3aWR0aDogNWVtOyc+PHNoYWRvdz48L3NoYWRvdz48L2Rp
dj4iOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGgtc3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGgtc3R5bGUuaHRtbAppbmRleCAwOGQ3
ZjJiMWIwZDE3YWVmMTM5ZmI3ZDM4ZjIwOWQ0NDQwNDA1YjY3Li40NjIwZmQ1NDBhMWQyNTRhMjhh
NzgzYmNiZmM0ODEwNWE4ZjZiNGFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRoLXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aC1zdHlsZS5odG1sCkBA
IC0yOCw3ICsyOCw3IEBAIG1ldGVyOjotd2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQgewogaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRv
d0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J21hcmdp
bi1sZWZ0OiAxMDBweCc+PHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPjwvZGl2
PiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aG91dC1hcHBlYXJhbmNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LWFwcGVhcmFuY2Uu
aHRtbAppbmRleCBhZWNlMjNiNzY3YjdiM2Y0MjI0MGRmMzQ1ZDU5NTk2ZTE5ZmVjZjY0Li5jZmJm
MjUxNmZmY2I1MGJiYjQ5OTIzZmFhMjQ5MWU1ZjhiMGU0YTY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LWFwcGVhcmFu
Y2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1t
ZXRlci13aXRob3V0LWFwcGVhcmFuY2UuaHRtbApAQCAtMjAsNyArMjAsNyBAQCBtZXRlciB7CiBp
ZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hh
ZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRv
dz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aG91dC1zaGFkb3ct
ZWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
bWV0ZXItd2l0aG91dC1zaGFkb3ctZWxlbWVudC5odG1sCmluZGV4IGY3Mzg2ODFiOTQ3MzQ5YWU3
ZTU4OWNkM2EzOTgwODBhMzFlMTNmMjUuLmVlMmM3MTAzNDViZGQwZjViZjBmYTQxNDFkMTRiYTU2
NGFhNjYxNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLW1ldGVyLXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LXNoYWRvdy1lbGVt
ZW50Lmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0
cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3Zh
ciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290
LmlubmVySFRNTCA9ICI8c3Bhbj5ubyBwcm9ncmVzczwvc3Bhbj4iCiA8L3NjcmlwdD4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXIu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLmh0
bWwKaW5kZXggYzA5NWM3OGFiZGFlODk3OTBkNWRhZjM2OWM1MTQwODY1M2E5NDAyNi4uNzY3Zjg3
OTVlNDdhMWVhOTJkMzJkMjk0Mzg3MDM4YWQ3MzczOWIzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci5odG1sCkBAIC0xMSw3ICsx
MSw3IEBACiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRv
dz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LWNvbXBs
ZXgtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbAppbmRleCAwMTcxMzEyMGFlMDgxZjc1YzhjOGY5
NTQ3YmFkY2RlNzU5Nzk2MDViLi5lNDJiYWJlYmE3YjU4YzliYzQ4Zjc5M2I5MzBhZDVhMmQ3ZGZi
MTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbApAQCAtMTEsNiAr
MTEsNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3Zh
ciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290
LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+PGRpdiBzdHlsZT0nbWFyZ2luOiAyMHB4
Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LW9ubHktc2hhZG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3Qtb25s
eS1zaGFkb3cuaHRtbAppbmRleCAwMDQwODUyMWU3NjNlYjNiMWJkZTA5MTViNWExNDA0ZjBjNzUx
NTAxLi5mNTQyYmQxYTk2MWVlMDZiYTMxM2QwNWZhNWJjN2ZlNWY1OTBhYmEzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3Qtb25seS1z
aGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1vYmplY3Qtb25seS1zaGFkb3cuaHRtbApAQCAtMTIsNiArMTIsNiBAQCBpZiAod2luZG93Lmlu
dGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55
RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCkK
K3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkKIHNoYWRvd1Jv
b3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IgogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3Qtd2l0aG91
dC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IGUzNDhkNzVjM2E3ZjE0ZDkxYWNmZTM4
MTVlMjJkZGIzNDA3ZDUzODMuLjhkNWEzMjZiMmU1NWI1OTIzMzRjYTNkNDcxOTQzZjJlMzk3ODI2
ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sCkBAIC05LDUgKzks
NSBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9z
dCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KQordmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKQogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQt
Y29tcGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5odG1sCmluZGV4IGIzMWQ4M2YyOWVlZTQyZDkz
MTJlYTI3YWRlODdhNTMzZjBjMTU1ZTIuLjE4MTkzOWRmMmQ4NDRmZTVjYjJlMzA2ZmY0ZmZmNjgz
Y2ViN2EwNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5odG1sCkBAIC05
LDYgKzksNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
K3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+PGRpdiBzdHlsZT0nbWFyZ2luOiAy
MHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LW9ubHktc2hhZG93
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQt
b25seS1zaGFkb3cuaHRtbAppbmRleCAxN2QzNDE2N2RlZDg2ODAxZGE5YWViNzI4YjVhYmExNWRk
NGViOTY2Li4xZjlhYWRiMDNiNjE5ODcyMzYwNjJhOTlhNTk4ZGFkMGQ2Mzc5N2FlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtb25s
eS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbApAQCAtOSw2ICs5LDYgQEAKIAogPHNjcmlwdD4K
IHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRv
dz48L3NoYWRvdz4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC13aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LXdpdGhvdXQtc2hhZG93
Lmh0bWwKaW5kZXggNDgyMGY4MmU0MjUzNGU4NTFjMTBiZWEzYThhMTdkZmUzMTNiOGY1ZC4uYzhi
ZWEyZGI0NWY5ZGFlMzc4ODM0ZDc0ZTY0MzRkNmNjMzlhNDY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LXdpdGhvdXQtc2hhZG93
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0
cHV0LXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTksNSArOSw1IEBACiAKIDxzY3JpcHQ+CiB2YXIg
aG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MtZHluYW1pYy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MtZHluYW1pYy5o
dG1sCmluZGV4IGNiZmI5YzgyZjcxMzE5ZTEyZGM5YmI2ZDhkZTcwZGZiNmY4ZjBkMzEuLjcxNjU2
NjcyYjI0NGQ2N2UyZTA5Y2U3M2Y3ZjI4OTg1YTg3MzBhMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLWR5bmFtaWMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1k
eW5hbWljLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZh
ciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9v
dCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwg
PSAiPHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPiI7CiAKIHNldFRpbWVvdXQo
ZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1wcm9ncmVzcy1tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MtbXVsdGlwbGUuaHRtbAppbmRleCAwODA1MTYw
Y2I4YzkyNzNmNzQ2YjQyM2ZhZWEyOGJlZmZjMjE1YmJkLi5jZWI1NDYyNzdkODJkNWQ0NDM3Y2Yy
YmIwMzM4OWJkY2FmN2I2M2RhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1tdWx0aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLW11bHRpcGxlLmh0bWwKQEAg
LTE2LDEwICsxNiwxMCBAQCBwcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1pbm5lci1lbGVtZW50
IHsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRo
b3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwv
c2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsKIAotdmFyIHlvdW5nZXIgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKK3ZhciB5b3VuZ2VyID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiB5b3VuZ2VyLmlubmVySFRNTCA9ICI8ZGl2IHN0eWxlPSdtYXJnaW46IDAgMTBweCAw
IDEwcHg7IGhlaWdodDogMWVtOyB3aWR0aDogMTBlbTsnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+
IjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRoLXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRoLXN0eWxlLmh0bWwKaW5kZXgg
ODYyZTg2ODBjZDk4ZTQ2Nzc2Y2M1Y2Y4NzE3NTcwYWJkZGJkNmE3Mi4uNTYxMjIyOGI4MTRiMTgx
NGFkZTg0MGU2ODZhNDk3OWExOTAyZmE4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aC1zdHlsZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGgtc3R5
bGUuaHRtbApAQCAtMjgsNyArMjgsNyBAQCBwcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1pbm5l
ci1lbGVtZW50IHsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNo
YWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8
ZGl2IHN0eWxlPSdtYXJnaW4tbGVmdDogMTAwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFm
dGVyKTwvc3Bhbj48L2Rpdj4iOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGhvdXQtYXBwZWFyYW5j
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jl
c3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWwKaW5kZXggNzRkZWY5OGFhNWQzZDUwZjBhMWM1ODNk
Mjk5OWM4MzJlZjQ0ZjQyNS4uY2EyMjk4YjFmYWQ4OTM1MTdmMmU1ZTVlMDlmNTRhZGE3Yzc4Yjkx
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
cHJvZ3Jlc3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWwK
QEAgLTIwLDcgKzIwLDcgQEAgcHJvZ3Jlc3MgewogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVk
KHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwor
dmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jv
b3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwvc3Bhbj4iOwog
PC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXByb2dyZXNzLXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGhvdXQtc2hhZG93
LWVsZW1lbnQuaHRtbAppbmRleCA4MTQwNWRkZDVjNTQyNGRjMWUwOWFiNDhkMzNmOTExZTI0MTNm
Y2E1Li45MmY0MWZmMTUzODI1YmIzNGExZjhmOTk1ODhkZWYyYTVjNTY4OGI1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRo
b3V0LXNoYWRvdy1lbGVtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1zaGFkb3ctZWxlbWVudC5odG1sCkBAIC0x
NCw3ICsxNCw3IEBACiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAi
PHNwYW4+bm8gcHJvZ3Jlc3M8L3NwYW4+IgogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy5odG1sCmluZGV4
IGFiZDFiY2U3ZmE5ODBmZWQyMWZhZWMxZjgzNzIyZjIxNmVlY2E0MWYuLjFlZDY2ZmY1NWM5YWNj
ZmNiZWQ1ZmFlYjVmY2RiZmM1ZTcwMzA4YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MuaHRtbApAQCAtMTQsNyArMTQs
NyBAQAogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1
dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+
PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwvc3Bhbj4iOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1jb21wbGV4
LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggOWY1NDI5NjQxZmZjOGM5N2UyOThiMTg4
MjNmNjNlMzcwYWQzMDBhYS4uODk3NmNkNjNjN2E3NjliMDczMjM0OTIzNmIzYTIzNzlhNzcyZDVl
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTEzLDYgKzEz
LDYgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hv
c3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9jb250ZW50PjxkaXYgc3R5bGU9J21hcmdpbjogMjBweCc+
PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHkt
c2hhZG93Lmh0bWwKaW5kZXggM2RiYmFjMWZiM2ExNDEyNGQzYmZiYzBmNWM3ZGRkNzVhZTFjZmFj
Ni4uNTE0MjMzNzc3OWQ3YjM2NWRlNWMzNDc4YjBkM2QwYjAwYzY2ZDliNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hh
ZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LW9ubHktc2hhZG93Lmh0bWwKQEAgLTEzLDYgKzEzLDYgQEAKIAogPHNjcmlwdD4KIHZh
ciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48
L3NoYWRvdz4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0
bWwKaW5kZXggYTFmNDA5NWQ2OWE0MmE0MGFlY2E2ZmM3M2Q3NzlhZTgyNWU2NTkyOC4uYzY5YTBi
MjFjYTRmZTRmMDM4ODEzNWNkNzAyOGNkNDY5ZjYzOGM0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0
LXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTEzLDUgKzEzLDUgQEAKIAogPHNjcmlwdD4KIHZhciBo
b3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1jb21wbGV4LXNoYWRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtY29t
cGxleC1zaGFkb3cuaHRtbAppbmRleCA2ODc4YjYwYWNkYzQwMzA3ZmZkZjkwZjVlOWNhNTlmNTZl
NjE4NGVhLi44N2Q4YTE3MTVjMmFiZTdhNzA5ZWMzZTQ2YTMzYzhjOWNhYWNjZWNlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1j
b21wbGV4LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXRleHRhcmVhLWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTIzLDcgKzIzLDcgQEAg
dmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7CiBwLmlubmVySFRNTCA9ICJwYXJh
Z3JhcGg8Yj5ib2xkPC9iPnBhcmFncmFwaCI7CiBob3N0LmFwcGVuZENoaWxkKHApOwogCi12YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3Qg
PSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogLy8gPGNvbnRlbnQ+PC9jb250ZW50
PjxkaXYgc3R5bGU9Im1hcmdpbjogMjBweCI+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4KIHNoYWRv
d1Jvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRh
cmVhLW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci10ZXh0YXJlYS1vbmx5LXNoYWRvdy5odG1sCmluZGV4IDA5YjdjZWFlNjYwZmI3ZGMz
OWVhNmJmMjBiMjAzMjQ4YzgzNzUxYzkuLjU5OTgzMWY5Y2JlNGQwMmQ0M2VlNGFlNDE4ZDQ1MWMx
ZDcxMWMyYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXRleHRhcmVhLW9ubHktc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtb25seS1zaGFkb3cuaHRtbApAQCAtNyw2
ICs3LDYgQEAKIDwvZm9ybT4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzaGFkb3cnKSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGgtYXR0cmlidXRlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLWF0dHJp
YnV0ZS5odG1sCmluZGV4IDZlNTQ1ZTJiMWQyOGVmZTUyMDg3YjZkYmNhMjQ3NzE2YTExMWVhMDAu
LjY3OTFiNDBiZDg1YjVhM2RjZDI5MTdhNjA3YmIwYjYyMTgyYzlmMzggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGgtYXR0
cmlidXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItdGV4dGFyZWEtd2l0aC1hdHRyaWJ1dGUuaHRtbApAQCAtNyw2ICs3LDYgQEAKIDwvZm9ybT4K
IAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93
Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXRleHRhcmVhLXdpdGgtcGxhY2Vob2xkZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGgtcGxhY2Vob2xkZXIuaHRtbAppbmRl
eCAyYzcyNmEwYmRkMGM3NzBiOGEzNjI4MmRkOGZiODAyMWY4MWQ5OGYzLi42OGYyOGQ3NGJmYzBj
NTRiZTFlNGJjYWYyN2UzMTFjZTExYmM1OTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLXBsYWNlaG9sZGVyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEt
d2l0aC1wbGFjZWhvbGRlci5odG1sCkBAIC0xMiw3ICsxMiw3IEBACiBpZiAod2luZG93LmludGVy
bmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxl
bWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiBzaGFkb3dSb290MS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnYmVm
b3JlJykpOwogc2hhZG93Um9vdDEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
c2hhZG93JykpOwogc2hhZG93Um9vdDEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoJ2FmdGVyJykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1zdHlsZS5odG1sCmluZGV4IDY4
ZDc2MmYwMzQ5YzhiYzc2Mzc5ZjVmM2FjMTYyMGNmOTFmNzAwMmIuLmU5Y2JkZjNhZTM2MDRhOTQ1
YTY2YjMyZWEyNjVjODlkNTk1NzhmOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGgtc3R5bGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLXN0eWxl
Lmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAgdGV4dGFyZWEgewogPC9mb3JtPgogCiA8c2NyaXB0Pgot
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dS
b290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKIDwvc2NyaXB0PgogPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
dGV4dGFyZWEtd2l0aG91dC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGhvdXQtc2hhZG93Lmh0bWwKaW5kZXggZDg3N2Ew
Mzc3NzRkNzc3OGYwZWE4MzVkOGIyYTZiZTIyOWIxMzk4Mi4uNDdjMGJiMTc0ODI4NjY2NGQwOTA3
Y2Y1MDlkMTZiMGFlOTA2YTk1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRob3V0LXNo
YWRvdy5odG1sCkBAIC0xMSw1ICsxMSw1IEBACiBpZiAod2luZG93LmludGVybmFscykKICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQo
dHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2
YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10
ZXh0YXJlYS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
dGV4dGFyZWEuaHRtbAppbmRleCA5ODU4ODk2NDdiMzdlZTk5NzUxNWRiNTRjNDVmN2E5MWJmYzUz
NzI1Li5lMjk1NzlmMWFlNTc2ZWQxOGIxMzA1MmFiYzZhM2Q5OTBkNjQwZmQ5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVh
Lmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVl
KTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBz
aGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKIHZhciBkaXYgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdi5pbm5lckhUTUwgPSAiKGJlZm9yZSk8
c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd3Jvb3QtY2xvbmVub2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93cm9vdC1jbG9uZW5vZGUuaHRtbAppbmRleCBmM2ZiOWYxNzgwMWUzNzkw
NzlhYjFhNjAxYTQ2MzM2NTJlODFiODZjLi5lYmQzZWVjNGU0Y2QyZWQ3YTQ3NjVmZDNlMWI5ZTVl
ZDJiNjMxYTAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
cm9vdC1jbG9uZW5vZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93cm9vdC1jbG9uZW5vZGUuaHRtbApAQCAtOSw3ICs5LDcgQEAKIGRlc2NyaXB0aW9uKCdDYWxs
aW5nIFNoYWRvd1Jvb3QuY2xvbmVOb2RlKCkgc2hvdWxkIHRocm93IGEgREFUQV9DTE9ORV9FUlIg
ZXhjZXB0aW9uLicpOwogCiB2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFk
b3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaG91bGRUaHJvdygnc2hh
ZG93Um9vdC5jbG9uZU5vZGUoKScsICciRXJyb3I6IERhdGFDbG9uZUVycm9yOiBET00gRXhjZXB0
aW9uIDI1IicpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93cm9vdC1vZi1pbnNlcnRpb25wb2ludC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3Qtb2YtaW5zZXJ0aW9ucG9pbnQuaHRtbAppbmRleCA5
ZDQ2Y2FlZWJmNWYwNDI0MGRmYjJjMzE0ZTA3NDdjZWY3YmI2ZTlmLi5iMDVhOTM3YjQxZGYxMGQ5
NmY5ODQxMmMzZGI3MGY2MDk0NmFiNTIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93cm9vdC1vZi1pbnNlcnRpb25wb2ludC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LW9mLWluc2VydGlvbnBvaW50Lmh0bWwKQEAg
LTksNyArOSw3IEBACiA8L2Rpdj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPQogICAgICc8ZGl2PicgKyAKICAg
ICAgICAgJzxjb250ZW50IGlkPSJhY3RpdmUtY29udGVudCIgc2VsZWN0PSJkaXYiPjxkaXY+ZmFs
bGJhY2s8L2Rpdj48L2NvbnRlbnQ+JyArCkBAIC0xNywxMSArMTcsMTEgQEAgc2hhZG93Um9vdC5p
bm5lckhUTUwgPQogICAgICc8L2Rpdj4nOwogCiB2YXIgYWN0aXZlQ29udGVudCA9IHNoYWRvd1Jv
b3QuZ2V0RWxlbWVudEJ5SWQoJ2FjdGl2ZS1jb250ZW50Jyk7Ci12YXIgc2hhZG93Um9vdEZvckFj
dGl2ZUNvbnRlbnQgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChhY3RpdmVDb250ZW50KTsKK3ZhciBz
aGFkb3dSb290Rm9yQWN0aXZlQ29udGVudCA9IGFjdGl2ZUNvbnRlbnQud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogc2hhZG93Um9vdEZvckFjdGl2ZUNvbnRlbnQuaW5uZXJIVE1MID0gJzxkaXY+
Rm9yIGFjdGl2ZSBjb250ZW50PC9kaXY+JzsKIAogdmFyIGluYWN0aXZlQ29udGVudCA9IHNoYWRv
d1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2luYWN0aXZlLWNvbnRlbnQnKTsKLXZhciBzaGFkb3dSb290
Rm9ySW5hY3RpdmVDb250ZW50ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW5hY3RpdmVDb250ZW50
KTsKK3ZhciBzaGFkb3dSb290Rm9ySW5hY3RpdmVDb250ZW50ID0gaW5hY3RpdmVDb250ZW50Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3RGb3JJbmFjdGl2ZUNvbnRlbnQuaW5u
ZXJIVE1MID0gJzxkaXY+Rm9yIEluYWN0aXZlIGNvbnRlbnQ8L2Rpdj4nOwogPC9zY3JpcHQ+CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LXR5cGUu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LXR5cGUuaHRtbApp
bmRleCA3ZjE2ZTU3NzU4OTAwMDdjMTYxYTFiYTI1ZDUzZDk0ODJkMGVkYmJhLi44YzIwMjk1YmFk
MzkyYTYxNWJlNGI4ZTQ4ZDE1NDA1MjQ4MmQ0OTRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC10eXBlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd3Jvb3QtdHlwZS5odG1sCkBAIC0xMiw3ICsxMiw3IEBACiA8c2Ny
aXB0PgogZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIFNoYWRvd1Jvb3RUeXBlIGlzIGNv
cnJlY3RseSByZWZsZWN0ZWQiKTsKIAotdmFyIHNoYWRvd1Jvb3RGb3JEaXYgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290Rm9yRGl2ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiB2YXIgc2hhZG93Um9vdEZvcklucHV0ID0gaW50ZXJuYWxzLnNoYWRv
d1Jvb3QoaW5wdXQpOwogCiBzaG91bGRCZSgnIkF1dGhvclNoYWRvd1Jvb3QiJywgJ2ludGVybmFs
cy5zaGFkb3dSb290VHlwZShzaGFkb3dSb290Rm9yRGl2KScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwK
aW5kZXggMGE5MzliYjczMmU1ZDlkMzUzN2RjZjZhNzlhNTA0YzYzMTIyN2FiYi4uYjc3NmM3ZmM2
YzEyNDdjNDY1NTg4ODNjMjEzMmM5MTQwNjRhNDdiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sCkBA
IC0yOCw3ICsyOCw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0cyB0byBlbnN1cmUgdGhhdCBzdHlsZXMg
b2YgZGlzdHJpYnV0ZWQgbm9kZXMgYXJlIGRpZmZlcmVudCBpZiB0CiBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12YXIgc3IgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpKTsKK3ZhciBzciA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c3IuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iI2NoaWxkLWEiPjwvY29udGVudD48ZGl2
IHN0eWxlPSJjb2xvcjogYmx1ZSI+PGNvbnRlbnQgc2VsZWN0PSIjY2hpbGQtYiI+PC9jb250ZW50
PjwvZGl2Pic7CiAKIHNob3VsZEJlKCdnZXRDb2xvclByb3BlcnR5KCJjaGlsZC1hIiknLCAnInJn
YigyNTUsIDAsIDApIicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3N0eWxlLXNjb3BlZC1ub3QtZW5hYmxlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3N0eWxlLXNjb3BlZC1ub3QtZW5hYmxlZC5odG1sCmluZGV4IDk1YmI5MjdhNWU4MzlmZjg1
ZDc2YjRmYWI2MGIyYjhkYjRhMDI3NjQuLjc1NmJlOTA0OGM4NzdkNWIzYWY2Y2JjOGJkOWJkNmM1
Yzk0NjU5NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1z
Y29wZWQtbm90LWVuYWJsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c3R5bGUtc2NvcGVkLW5vdC1lbmFibGVkLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIGNv
bnRlbnQgZWxlbWVudCBmZWF0dXJlIGNhbiBiZSBkaXNhYmxlZCIpOwogdmFyIGhvc3QgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QpOwordmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+IHNwYW4geyBjb2xvcjogYmx1ZTsgfSA8L3N0
eWxlPjxzcGFuIGlkPSdzaG91bGRCZUFwcGxpZWQnPlNob3VsZCBiZSBibHVlPC9zcGFuPiI7CiB2
YXIgc2hvdWxkQmVBcHBsaWVkID0gc2hhZG93LmdldEVsZW1lbnRCeUlkKCJzaG91bGRCZUFwcGxp
ZWQiKTsKIHZhciBzaG91bGROb3RCZUFwcGxpZWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c2hvdWxkTm90QmVBcHBsaWVkIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLmh0bWwKaW5kZXggMmNjZDhkYzlmOGVk
ZTdjZGI2NDcyOThmMGI0NzM4ZjI3NDI4Nzk0Mi4uOWE4ZGU0MDcwYzkyOTE3NTU3ODhkYWQ0Njc1
YTg0MWI3MmJhZjE3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0
eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUuaHRtbApAQCAtOCw3ICs4LDcgQEAKIDxkaXYg
aWQ9Imhvc3QxIj48L2Rpdj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
IGRpdi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICd4LWZvbycpOwogZGl2LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKCdmb28gYmFyJykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3N1cHByZXNzLW11dGF0aW9uLWV2ZW50cy1pbi1zaGFkb3ctY2hh
cmFjdGVyZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N1cHByZXNzLW11
dGF0aW9uLWV2ZW50cy1pbi1zaGFkb3ctY2hhcmFjdGVyZGF0YS5odG1sCmluZGV4IGFhMWI2MmM3
NDgzMzkyNTk5Yjg4MWEyODZmMWRmOGE2NTVhNjRhOTcuLmRjYzIxNzM2ZTMzNTNkZGZhMDA4ODcx
MjlkNDM5OTQ4MjM4NTJlMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zdXBwcmVzcy1tdXRhdGlvbi1ldmVudHMtaW4tc2hhZG93LWNoYXJhY3RlcmRhdGEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3VwcHJlc3MtbXV0YXRpb24tZXZlbnRz
LWluLXNoYWRvdy1jaGFyYWN0ZXJkYXRhLmh0bWwKQEAgLTgsNyArOCw3IEBACiBkZXNjcmlwdGlv
bigiRW5zdXJlcyB0aGF0IERPTUNoYXJhY3RlckRhdGFNb2RpZmllZCBpc24ndCBmaXJlZCBpbnNp
ZGUgc2hhZG93cy4iKTsKIHZhciBmaXJlZCA9IGZhbHNlOwogdmFyIGhvc3QgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpOwordmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFy
IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogZGl2LmFkZEV2ZW50TGlzdGVu
ZXIoIkRPTUNoYXJhY3RlckRhdGFNb2RpZmllZCIsIGZ1bmN0aW9uKGV2dCkgewogICAgIGZpcmVk
ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy90cmFuc2l0
aW9uLW9uLXNoYWRvdy1ob3N0LXdpdGgtZGlzdHJpYnV0ZWQtbm9kZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3RyYW5zaXRpb24tb24tc2hhZG93LWhvc3Qtd2l0aC1kaXN0cmli
dXRlZC1ub2RlLmh0bWwKaW5kZXggMzllYTdiNDJiNmQ5ZTI1MTRhMjRhZGVjY2YzMDFjZWNmZjAw
NWE4My4uOGUyYjk4ODRiYjA0ZjBmMDcyNDY3OTY4NjM1MzBjNTk3Y2MyZDQ1ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3RyYW5zaXRpb24tb24tc2hhZG93LWhvc3Qt
d2l0aC1kaXN0cmlidXRlZC1ub2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3RyYW5zaXRpb24tb24tc2hhZG93LWhvc3Qtd2l0aC1kaXN0cmlidXRlZC1ub2RlLmh0bWwK
QEAgLTI4LDcgKzI4LDcgQEAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCiAgIAogZnVuY3Rpb24g
c2V0dXBUZXN0KCkgewogICAgIHZhciBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94
Jyk7Ci0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChib3gpOworICAg
IHZhciBzaGFkb3dSb290ID0gYm94LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFk
b3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Iio6Zmlyc3QtY2hpbGQiPjwvY29u
dGVudD4nOwogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgIHNoYWRvd1Jvb3Qu
cXVlcnlTZWxlY3RvcigiY29udGVudCIpLnNldEF0dHJpYnV0ZSgic2VsZWN0IiwgIio6bGFzdC1j
aGlsZCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9k
aWZ5LWluaGVyaXRhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1t
b2RpZnktaW5oZXJpdGFuY2UuaHRtbAppbmRleCBjNDk2MzczODRmMjFlNzczMzA2ZDQ4NGQ4YWI3
YjFjYjM3Mzg1YjZmLi5lMDcyZDFmMTJiMjU4Mjc0MGE1ODdkZmY4ZThlMmMxZjkzOTNhZGYwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJp
dGFuY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnkt
aW5oZXJpdGFuY2UuaHRtbApAQCAtMzQsNyArMzQsNyBAQCBmdW5jdGlvbiBnZXRVc2VyTW9kaWZ5
UHJvcGVydHkoaWQpIHsKIH0KIAogZnVuY3Rpb24gcHJlcGFyZU5vZGVJblNoYWRvd1Jvb3QoaG9z
dCwgY29udGVudEVkaXRhYmxlQXR0cmlidXRlVmFsdWVGb3JOb2RlKSB7Ci0gICAgdmFyIHNoYWRv
d1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHZhciBub2RlSW5TaGFkb3cgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBpZiAoY29udGVudEVkaXRhYmxlQXR0
cmlidXRlVmFsdWVGb3JOb2RlICE9IG51bGwpCiAgICAgICAgIG5vZGVJblNoYWRvdy5zZXRBdHRy
aWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsIGNvbnRlbnRFZGl0YWJsZUF0dHJpYnV0ZVZhbHVlRm9y
Tm9kZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZl
bnQtaW4tc2hhZG93LWRvbS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3doZWVs
LWV2ZW50LWluLXNoYWRvdy1kb20uaHRtbAppbmRleCA5MGQ2OTE0ZmIyZmIyMDYxZmUxM2M4OTQz
N2JhZjgyMTZjNTU1MDY4Li44N2E4ZTVkYWJhYjYzODNkZmI4Y2M3OTBmMzgzNGMxNDA0ZmU3NTEw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtaW4t
c2hhZG93LWRvbS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1l
dmVudC1pbi1zaGFkb3ctZG9tLmh0bWwKQEAgLTIzLDcgKzIzLDcgQEAgZnVuY3Rpb24gY3JlYXRl
Qm94KG5hbWUpIHsKICAgICByZXR1cm4gZGl2OwogfQogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIHZhciBzaGFkb3dEaXYgPSBjcmVhdGVCb3goJ3NoYWRvdycpOwogc2hh
ZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3dEaXYpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtb24taW5wdXQtaW4tc2hhZG93LWRvbS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3doZWVsLWV2ZW50LW9uLWlucHV0LWluLXNo
YWRvdy1kb20uaHRtbAppbmRleCBiMGU5ZjJkMzlmZmZkOTI4YTJlOTAxNmFmOTg5YzkwOTYwNWMw
YjdiLi43ODgzZTVmYTMyNzU2ZjcwYjMwZWZjZTI1YjljNzk2ZjZlMmY2MmMzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtb24taW5wdXQtaW4tc2hh
ZG93LWRvbS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVu
dC1vbi1pbnB1dC1pbi1zaGFkb3ctZG9tLmh0bWwKQEAgLTIzLDcgKzIzLDcgQEAgZnVuY3Rpb24g
Y3JlYXRlSW5wdXQobmFtZSkgewogICAgIHJldHVybiBkaXY7CiB9CiAKLXZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIHNoYWRvd0RpdiA9IGNyZWF0ZUlucHV0KCdzaGFk
b3cnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2hhZG93RGl2KTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtc2hhZG93LWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1zaGFkb3ctZnJhbWUuaHRtbAppbmRleCBkMDNk
Yzc4Y2Q2OTJhMDY4MjMyYzg4MTY5Mzg5NzVlZmM4OTc4YmJmLi5jZDc0M2IwYjIzNmQ1ZjQxOGNm
NmM0YjQzZTI3ZWY3NGYzNmY4YTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9kZXRhY2hlZC1zaGFkb3ctZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9kZXRhY2hlZC1zaGFkb3ctZnJhbWUuaHRtbApAQCAtMTMsNyArMTMsNyBAQCBoZWxwZXJEaXYg
PSBjb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwog
aGVscGVyRnJhbWUgPSBjb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaWZyYW1lIikpOwogCiBoZWxwZXJGcmFtZS5jb250ZW50V2luZG93Lm9udW5sb2FkID0gZnVu
Y3Rpb24oKSB7Ci0gICAgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhlbHBlckRp
dik7CisgICAgc2hhZG93Um9vdCA9IGhlbHBlckRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAgICAgaW5uZXJGcmFtZSA9IHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaWZyYW1lIikpOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9q
cy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMv
Z2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggYzI3MjhkNDZhZjI4NThmZmZl
NTc3NGJjZjFiNDNmOTg3MmUwMTI3Yy4uOTM2OWFhODQzYmNkMWI5YmNmNWUwNDM4YTg3ZGU4YTIy
NzRjZGJmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1
Y3RvcnMtZXhwZWN0ZWQudHh0CkBAIC0zMzEsNyArMzMxLDYgQEAgUEFTUyBXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdENTU1RyYW5zZm9ybVZhbHVl
Q29uc3QKIEZBSUwgV2ViS2l0SW50ZW50LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2Vi
S2l0SW50ZW50Q29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBJbnRlbnRDb25zdHJ1Y3Rvcl0uCiBG
QUlMIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBNdXRhdGlvbk9i
c2VydmVyQ29uc3RydWN0b3JdLgogUEFTUyBXZWJLaXRQb2ludC50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IFdlYktpdFBvaW50Q29uc3RydWN0b3JdJwotRkFJTCBXZWJLaXRTaGFkb3dSb290LnRvU3Ry
aW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0U2hhZG93Um9vdENvbnN0cnVjdG9yXS4gV2Fz
IFtvYmplY3QgU2hhZG93Um9vdENvbnN0cnVjdG9yXS4KIFBBU1MgV2ViS2l0VHJhbnNpdGlvbkV2
ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0VHJhbnNpdGlvbkV2ZW50Q29uc3RydWN0
b3JdJwogUEFTUyBXZWJTb2NrZXQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJTb2NrZXRDb25z
dHJ1Y3Rvcl0nCiBQQVNTIFdoZWVsRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXaGVlbEV2
ZW50Q29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1l
bnRzL3NoYWRvdy1yb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2hh
ZG93LXJvb3QuaHRtbAppbmRleCAwMjM2YzZkOTY5Y2ExYTc3OTljYTEyZDdlMTJkMjNjZmU3MTE1
ODI1Li41YTEyOTQ1YTliYWFkMzNjMzEzZGUzZDI2MTBjMmQ1ZDk5N2RhNjBmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2hhZG93LXJvb3QuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2hhZG93LXJvb3QuaHRtbApAQCAtMzIsOSAr
MzIsOSBAQCBmdW5jdGlvbiB0ZXN0KCkKIDwvZGl2PgogCiA8c2NyaXB0PgotbmV3IFdlYktpdFNo
YWRvd1Jvb3QodGVzdDEpOwotbmV3IFdlYktpdFNoYWRvd1Jvb3QodGVzdDIpOwotbmV3IFdlYktp
dFNoYWRvd1Jvb3QodGVzdDMpOwordGVzdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordGVz
dDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordGVzdDMud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogPC9zY3JpcHQ+CiAKIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lbGVtZW50cy91cGRhdGUtc2hhZG93ZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvdXBkYXRlLXNoYWRvd2RvbS5odG1sCmluZGV4IDNjYmQ5MWNlMmVlMDFlMzhk
OGVlZjgwNzFlZjFkNTRhMTU3ZGE0OTYuLjIzMzFlOGM4YmE2MmZhOTcxNDlkZWYxZWY0ZDY5OWE2
MWRmMmQwZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy91cGRh
dGUtc2hhZG93ZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3Vw
ZGF0ZS1zaGFkb3dkb20uaHRtbApAQCAtMzgsNyArMzgsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIDwv
ZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBz
aGFkb3dSb290LmlubmVySFRNTCA9ICI8ZGl2PjwvZGl2PiI7CiA8L3NjcmlwdD4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9qcy9nbG9iYWwt
Y29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA3YTk0ZGIxYWU5NTNhYmY1ZDdlOTYyMjEw
NmM4NjcyZmFjZmYwZGQyLi5lYzY4ZGZjM2NjOWRmOWE5Y2ZjOTBlYzU4OTkwMTE4MzMwNjMwNmU4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9qcy9nbG9iYWwtY29u
c3RydWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFz
dC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMzM3LDcgKzMzNyw2IEBA
IFBBU1MgV2ViS2l0Q1NTVmlld3BvcnRSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0
Q1NTVmlld3BvcnRSdWxlQ29uc3RydWN0CiBGQUlMIFdlYktpdEludGVudC50b1N0cmluZygpIHNo
b3VsZCBiZSBbb2JqZWN0IFdlYktpdEludGVudENvbnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgSW50
ZW50Q29uc3RydWN0b3JdLgogRkFJTCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLnRvU3RyaW5nKCkg
c2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXS4gV2Fz
IFtvYmplY3QgTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXS4KIFBBU1MgV2ViS2l0UG9pbnQu
dG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRQb2ludENvbnN0cnVjdG9yXScKLUZBSUwgV2Vi
S2l0U2hhZG93Um9vdC50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFdlYktpdFNoYWRvd1Jv
b3RDb25zdHJ1Y3Rvcl0uIFdhcyBbb2JqZWN0IFNoYWRvd1Jvb3RDb25zdHJ1Y3Rvcl0uCiBQQVNT
IFdlYktpdFRyYW5zaXRpb25FdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdFRyYW5z
aXRpb25FdmVudENvbnN0cnVjdG9yXScKIFBBU1MgV2ViU29ja2V0LnRvU3RyaW5nKCkgaXMgJ1tv
YmplY3QgV2ViU29ja2V0Q29uc3RydWN0b3JdJwogUEFTUyBXaGVlbEV2ZW50LnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgV2hlZWxFdmVudENvbnN0cnVjdG9yXScKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKaW5kZXggNDdjYjBhYTAwZjAwYTJmZTRiZmZkNzhjYzlmNDNlZmNjNzQ4YjUz
Yi4uN2IyYjFkZWYyOTg2YzhjZjM0ZWU2OTIzMWQ1ODc4NDk0Y2QzZDVhYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTMzMyw3ICszMzMsNiBAQCBQQVNTIFdlYktpdENT
U1JlZ2lvblJ1bGUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRDU1NSZWdpb25SdWxlQ29u
c3RydWN0b3JdJwogUEFTUyBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS50b1N0cmluZygpIGlzICdb
b2JqZWN0IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlQ29uc3RydWN0b3JdJwogRkFJTCBXZWJLaXRN
dXRhdGlvbk9ic2VydmVyLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0TXV0YXRp
b25PYnNlcnZlckNvbnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgTXV0YXRpb25PYnNlcnZlckNvbnN0
cnVjdG9yXS4KIFBBU1MgV2ViS2l0UG9pbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRQ
b2ludENvbnN0cnVjdG9yXScKLUZBSUwgV2ViS2l0U2hhZG93Um9vdC50b1N0cmluZygpIHNob3Vs
ZCBiZSBbb2JqZWN0IFdlYktpdFNoYWRvd1Jvb3RDb25zdHJ1Y3Rvcl0uIFdhcyBbb2JqZWN0IFNo
YWRvd1Jvb3RDb25zdHJ1Y3Rvcl0uCiBQQVNTIFdlYktpdFRyYW5zaXRpb25FdmVudC50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IFdlYktpdFRyYW5zaXRpb25FdmVudENvbnN0cnVjdG9yXScKIFBBU1Mg
V2ViU29ja2V0LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViU29ja2V0Q29uc3RydWN0b3JdJwog
UEFTUyBXaGVlbEV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2hlZWxFdmVudENvbnN0cnVj
dG9yXScK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178715</attachid>
            <date>2012-12-10 22:03:57 -0800</date>
            <delta_ts>2012-12-12 17:45:02 -0800</delta_ts>
            <desc>fix a test on mac.</desc>
            <filename>bug-102913-20121211150118.patch</filename>
            <type>text/plain</type>
            <size>240344</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZTgxMjA2M2Q5M2JhZGU2M2QwMjhiMzU0NjBlYmNiY2UxMjA4ZTVjLi4y
ZjA5MTU3MDZhMDBiNDE4Y2Q1OGVhYjk4M2JlNDgzMDU4YjgyNzUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMTItMTItMTAgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFtTaGFkb3cgRE9NXSBLaWxsIFNoYWRvd1Jvb3QgY29uc3RydWN0b3IKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjkxMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBTaGFk
b3dSb290IGNvbnN0cnVjdG9yIGluIGZhdm9yIG9mIEVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVXBkYXRlIGV4aXN0aW5nIHRlc3RzLgor
CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OmNyZWF0ZVNoYWRvd1Jvb3QpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTEyLTEwICBLeXVuZ1RhZSBLaW0gIDxr
dGYua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCBhZnRlciByMTM3MjIxCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5pZGwKaW5kZXggZmY5MDFlNTI4ZDc2NzI3Zjg5N2M2Mzg3MzI0
NWRmNGFiMmVmOGEzMS4uMWZlZDMxYTAxZGMxM2VlYmE5MjYzNTI5NzViYWQ4ZjVmYmQxNGJhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbApAQCAtMjYsOCArMjYsNiBAQAogCiBbCiAgICAg
Q29uZGl0aW9uYWw9U0hBRE9XX0RPTSwKLSAgICBDb25zdHJ1Y3RvcihpbiBFbGVtZW50IGhvc3Qp
LAotICAgIENvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAogICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0CiBdIGludGVyZmFjZSBTaGFkb3dSb290IDogRG9jdW1lbnRGcmFnbWVudCB7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgYWN0aXZlRWxlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAppbmRleCA5MThmNDgwNzUwMDdiYTcwNDNhOTkyMjg3MWYxZGE1MmQwNDJmZjhiLi41
ZTZiMjJmZGI5NzhmZWFkZjBjZjdlYmYwOGQxOTk0OGU2NjU5YWYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCkBAIC00MDEsNyArNDAxLDYgQEAKICAgICBhdHRyaWJ1dGUgRW50aXR5Q29u
c3RydWN0b3IgRW50aXR5OwogICAgIGF0dHJpYnV0ZSBFbnRpdHlSZWZlcmVuY2VDb25zdHJ1Y3Rv
ciBFbnRpdHlSZWZlcmVuY2U7CiAgICAgYXR0cmlidXRlIFByb2Nlc3NpbmdJbnN0cnVjdGlvbkNv
bnN0cnVjdG9yIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjsKLSAgICBbQ29uZGl0aW9uYWw9U0hBRE9X
X0RPTSwgVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTV0gYXR0cmlidXRlIFNoYWRvd1Jvb3RD
b25zdHJ1Y3RvciBXZWJLaXRTaGFkb3dSb290OwogICAgIFtDb25kaXRpb25hbD1TSEFET1dfRE9N
LCBWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NXSBhdHRyaWJ1dGUgSFRNTENvbnRlbnRFbGVt
ZW50Q29uc3RydWN0b3IgSFRNTENvbnRlbnRFbGVtZW50OwogICAgIFtDb25kaXRpb25hbD1TSEFE
T1dfRE9NLCBWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NXSBhdHRyaWJ1dGUgSFRNTFNoYWRv
d0VsZW1lbnRDb25zdHJ1Y3RvciBIVE1MU2hhZG93RWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IDg4MmZmZDI4NzgwZjQ0MGYyZDYwNWYyMzY2YzAxYTRlOWVk
MTkzOWUuLjZjOThmZDM1YzhkZDFiNTZhNWE3Y2VkMzZkMDUwYjAxZjRhY2M5NWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTUyOSw2ICs1MjksMTUgQEAgSW50ZXJuYWxz
OjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBJbnRlcm5hbHM6OmVuc3VyZVNo
YWRvd1Jvb3QoRWxlbWUKICAgICByZXR1cm4gU2hhZG93Um9vdDo6Y3JlYXRlKGhvc3QsIGVjKS5n
ZXQoKTsKIH0KIAorSW50ZXJuYWxzOjpTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2Rl
KiBJbnRlcm5hbHM6OmNyZWF0ZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgaWYgKCFob3N0KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1Nf
RVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIFNoYWRvd1Jvb3Q6OmNy
ZWF0ZShob3N0LCBlYykuZ2V0KCk7Cit9CisKIEludGVybmFsczo6U2hhZG93Um9vdElmU2hhZG93
RE9NRW5hYmxlZE9yTm9kZSogSW50ZXJuYWxzOjpzaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIEZJWE1FOiBJbnRlcm5hbHM6OnNoYWRvd1Jvb3Qo
KSBpbiB0ZXN0cyBzaG91bGQgYmUgY29udmVydGVkIHRvIHlvdW5nZXN0U2hhZG93Um9vdCgpIG9y
IG9sZGVzdFNoYWRvd1Jvb3QoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDA2
ODVmOWJmYmI0NmZhNjQ1ZTk3NDAyOTNlOTFhYzIyYmRiYWNlZGUuLjUxN2MzZTdiYjZiZjBhNzIy
Njk5ODRmYzVkOTJhMjVlNGU1NjNmMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApA
QCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBOb2RlIFNoYWRvd1Jvb3RJZlNo
YWRvd0RPTUVuYWJsZWRPck5vZGU7CiAjZW5kaWYKICAgICBTaGFkb3dSb290SWZTaGFkb3dET01F
bmFibGVkT3JOb2RlKiBlbnN1cmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNv
ZGUmKTsKKyAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBjcmVhdGVTaGFk
b3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBTaGFkb3dSb290SWZT
aGFkb3dET01FbmFibGVkT3JOb2RlKiBzaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiB5b3VuZ2Vz
dFNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFNoYWRvd1Jv
b3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIG9sZGVzdFNoYWRvd1Jvb3QoRWxlbWVudCogaG9z
dCwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4
IDhjZDFiODAwNTA5YjRlOGY3Y2I3M2VhNTk3MDE4ZmUzMGZiNGExZjcuLjExZjI1MTlhZDdhMjYw
ZThiZjY2NWYxNzc0OGEyYTdlNGFkYWU0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKQEAgLTM2LDYgKzM2LDcgQEAKIAogI2lmIGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00p
ICYmIEVOQUJMRV9TSEFET1dfRE9NCiAgICAgU2hhZG93Um9vdCBlbnN1cmVTaGFkb3dSb290KGlu
IEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIFNoYWRvd1Jvb3QgY3Jl
YXRlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAg
ICBTaGFkb3dSb290IHNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4Y2Vw
dGlvbik7CiAgICAgU2hhZG93Um9vdCB5b3VuZ2VzdFNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgU2hhZG93Um9vdCBvbGRlc3RTaGFkb3dSb290
KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwpAQCAtNDMsNiArNDQsNyBA
QAogICAgIFNoYWRvd1Jvb3Qgb2xkZXJTaGFkb3dSb290KGluIE5vZGUgcm9vdCkgcmFpc2VzIChE
T01FeGNlcHRpb24pOwogI2Vsc2UKICAgICBOb2RlIGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVu
dCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgTm9kZSBjcmVhdGVTaGFkb3dSb290
KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIE5vZGUgc2hhZG93
Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICBOb2RlIHlv
dW5nZXN0U2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsK
ICAgICBOb2RlIG9sZGVzdFNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZWJkMzlmNjI1YjMzZmI0NzFhYTA0Zjc1ODgxYWE4NmQwY2RhZDUx
Zi4uODFmOWNjN2ZlOWUyYTNlMDFiZDI0NGZiNzA5OTE2ZGZkYjBkYjgyZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIyMSBAQAorMjAxMi0xMi0xMCAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW1NoYWRvdyBET01dIEtpbGwgU2hhZG93Um9vdCBjb25zdHJ1Y3RvcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyOTEzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvY29weS1wYXN0ZS1mbG9hdC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93
L2FkanVzdGluZy1lZGl0aW5nLWJvdW5kYXJ5LXdpdGgtdGFibGUtaW4tc2hhZG93Lmh0bWw6Cisg
ICAgICAgICogZWRpdGluZy9zaGFkb3cvYm9sZC10d2ljZS1pbi1zaGFkb3cuaHRtbDoKKyAgICAg
ICAgKiBlZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJpZXMtMi5odG1sOgor
ICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91bmRhcmllcy5odG1s
OgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2JyZWFraW5nLWVkaXRpbmctYm91bmRhcnktd2l0
aC10YWJsZS5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2NvbXBhcmUtcG9zaXRpb25z
LWluLW5lc3RlZC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9jb250ZW50
ZWRpdGFibGUtcHJvcGFnYXRpb24tYXQtc2hhZG93LWJvdW5kYXJ5Lmh0bWw6CisgICAgICAgICog
ZWRpdGluZy9zaGFkb3cvZGVsZXRlLWNoYXJhY3RlcnMtaW4tZGlzdHJpYnV0ZWQtbm9kZS1jcmFz
aC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2RlbGV0ZS1saXN0LWluLXNoYWRvdy5o
dG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2RvdWJsZWNsaWNrLW9uLW1ldGVyLWluLXNo
YWRvdy1jcmFzaC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L2V4ZWNjb21tYW5kLWlu
ZGVudC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9pbnNlcnRvcmRl
cmVkbGlzdC1jcmFzaC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L3ByZXNzaW5nLWVu
dGVyLW9uLWxpc3QuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NoYWRvdy9yaWdodGNsaWNrLW9u
LW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc2hhZG93L3Nl
bGVjdC1jb250ZW50ZWRpdGFibGUtc2hhZG93aG9zdC5odG1sOgorICAgICAgICAqIGVkaXRpbmcv
c2hhZG93L3NlbGVjdGlvbi1vZi1vcnBoYW4tc2hhZG93cm9vdC5odG1sOgorICAgICAgICAqIGVk
aXRpbmcvc2hhZG93L3NlbGVjdGlvbi1vZi1zaGFkb3dyb290Lmh0bWw6CisgICAgICAgICogZWRp
dGluZy9zaGFkb3cvc2hhZG93LXNlbGVjdGlvbi1ub3QtZXhwb3J0ZWQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29w
ZWQtYXBwbHktYXV0aG9yLXN0eWxlcy5odG1sOgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNj
b3BlZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3Bl
ZC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUt
c2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUt
c2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvYWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L2F0aG9zdC1hdHJ1bGVzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2Jhc2UtaW4tc2hhZG93LXRyZWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY2Fy
ZXQtcmFuZ2UtZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtYWZ0ZXItc3R5bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLWVsZW1lbnQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1ldGVyLWVsZW1lbnQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLXByb2dyZXNzLWVs
ZW1lbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWlu
LXNlbGVjdC1lbGVtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
ZWxlbWVudC1vdXRzaWRlLXNoYWRvdy1zdHlsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1jb21wbGV4Lmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stY3Jhc2guaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2st
cmVwcm9qZWN0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWZhbGxiYWNrLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRl
bnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Nv
bnRlbnQtcmVwcm9qZWN0aW9uLXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9jcHBldmVudC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY3Bw
ZXZlbnQtaW5wdXQtaW4tc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Rp
c3RyaWJ1dGlvbi1hdHRyaWJ1dGUtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvZGlzdHJpYnV0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24taWQtbW9kaWZpZWQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvZHJhZy10by1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1mb3ItaW5wdXQtaW4tc2hhZG93Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4tc2hhZG93Lmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L2VsZW1lbnQtZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hh
ZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Zvcm0taW4tc2hhZG93Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy1t
dXRhdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVt
ZW50cy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRvdy5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtc2hhZG93LWluc2VydGlvbi1wb2lu
dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9ob3N0LXdyYXBwZXItcmVjbGFpbWVk
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2lmcmFtZS1zaGFkb3cuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLXdpdGhvdXQtc2hh
ZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2lucHV0LXdpdGgtdmFsaWRhdGlv
bi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtbGlzdC1t
ZW51LWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2lu
dC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
aW5zZXJ0aW9uLXBvaW50LXNoYWRvdy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9pbnNlcnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvaW52YWxpZGF0ZS1kaXN0cmlidXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvbGluay1pbi1zaGFkb3ctdHJlZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvcGFyZW50LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUtZHluYW1pYy5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9wc2V1ZG8tYXR0cmlidXRlLXJlbmRlcmluZy5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1pbnB1dC5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1vcHRp
b24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRp
c2FibGVkLWJ1dHRvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtZGlzYWJsZWQtZmllbGRzZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWlucHV0Lmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRncm91cC5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtb3B0
aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1k
aXNhYmxlZC1zZWxlY3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWRpc2FibGVkLXRleHRhcmVhLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFuY2hvci5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1hcmVhLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWJ1dHRvbi5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxl
ZC1maWVsZHNldC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZW5hYmxlZC1pbnB1dC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1vcHRncm91cC5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1vcHRpb24uaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXRl
eHRhcmVhLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0
ZS1pbmRldGVybWluYXRlLWlucHV0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3Bz
ZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLXByb2dyZXNzLmh0bWw6CisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hcmVhLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS10YXJnZXQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQt
YW5jaG9yLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0
ZS12aXNpdGVkLWFyZWEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVtb3ZlLXN0
eWxlcy1pbi1zaGFkb3ctY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVw
cm9qZWN0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9yZXByb2plY3Rpb24tY2xhc3NOYW1lLW1vZGlmaWVkLmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1pZC1tb2RpZmllZC5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9yZXNpemUtaW4tc2hhZG93LWRvbS5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9yZXNvdXJjZXMvcG9seWZpbGwuanM6CisgICAgICAgICguRWxlbWVudC5wcm90
b3R5cGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCk6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3Jlc291cmNlcy9zaGFkb3ctZG9tLmpzOgorICAgICAgICAoY3JlYXRlRE9NKToKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2VsZWN0LWltYWdlLXdpdGgtc2hhZG93Lmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbi1zaG91bGRudC1leHBvc2Utc2hhZG93LWRvbS5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb25zLWluLXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYW5kLWxpc3QtZWxlbWVudHMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ct
cm9vdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2Fy
ZS1jcmVhdGUtc2hhZG93LXJvb3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LWNvbnRlbnQtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWRpc2FibGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
ZGlzYWJsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGl2LXJlZmxv
dy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZHluYW1pYy1zdHlsZS1j
aGFuZ2UtdmlhLW11dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctbXVsdGlwbGUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1lbnQtcmVuZGVyaW5nLXNpbmdsZS5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctbmVzdGVkLXBzZXVkby1pZC5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctb24taW1hZ2UuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXBzZXVkby1pZC5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcmVtb3ZlY2hpbGQtYW5kLWJsdXItZXZlbnQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1jbGljay5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1mYWxsYmFjay5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24yLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWFwcGVuZC5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hdHRhY2hlZC5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1pbm5lckhUTUwuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWw6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXNlbGVjdC1hdHRyaWJ1dGUtZmVhdHVyZXNldC5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWR5bmFtaWMtc3R5bGluZy5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1jb21wbGV4LXNoYWRv
dy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi1v
bmx5LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWJ1dHRvbi13aXRob3V0LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWJ1dHRvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWZpZWxkc2V0LWNvbXBsZXgtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtb25seS1zaGFkb3cuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC13aXRob3V0LXNoYWRv
dy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZvcm0tYXNz
b2NpYXRlZC1lbGVtZW50LXVzZXJhZ2VudC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLWltYWdlLWFsdC11cGRhdGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1jb250ZW50Lmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtZHluYW1pYy5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWV2ZW50LWNsaWNrLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtZXZlbnQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1pbi1zaGFkb3dk
b20uaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1t
YXAuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1z
dHlsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdl
LXdpdGgtbXVsdGlwbGUtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1wc2V1ZG8taWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXdpZHRoLWFuZC1oZWlnaHQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS5odG1sOgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi1jb21wbGV4LXNoYWRv
dy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi1v
bmx5LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWtleWdlbi13aXRob3V0LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLW1lZGlhLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItbWV0ZXItZHluYW1pYy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLW1ldGVyLW11bHRpcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aC1zdHlsZS5odG1sOgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sOgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGhvdXQtc2hh
ZG93LWVsZW1lbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1tZXRlci5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9i
amVjdC1jb21wbGV4LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5odG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNo
YWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1
dC13aXRob3V0LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXByb2dyZXNzLWR5bmFtaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1wcm9ncmVzcy1tdWx0aXBsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGgtc3R5bGUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LWFwcGVhcmFu
Y2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVz
cy13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3MuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1j
b21wbGV4LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXRleHRhcmVhLW9ubHktc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1hdHRyaWJ1dGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLXBsYWNlaG9sZGVyLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0
aC1zdHlsZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRl
eHRhcmVhLXdpdGhvdXQtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItdGV4dGFyZWEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93cm9vdC1jbG9uZW5vZGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
cm9vdC1vZi1pbnNlcnRpb25wb2ludC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dyb290LXR5cGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2Yt
ZGlzdHJpYnV0ZWQtbm9kZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdHlsZS1z
Y29wZWQtbm90LWVuYWJsZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5bGlu
Zy1wc2V1ZG8tYXR0cmlidXRlLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N1cHBy
ZXNzLW11dGF0aW9uLWV2ZW50cy1pbi1zaGFkb3ctY2hhcmFjdGVyZGF0YS5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy90cmFuc2l0aW9uLW9uLXNoYWRvdy1ob3N0LXdpdGgtZGlzdHJp
YnV0ZWQtbm9kZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1p
bmhlcml0YW5jZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1p
bi1zaGFkb3ctZG9tLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3doZWVsLWV2ZW50
LW9uLWlucHV0LWluLXNoYWRvdy1kb20uaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9kZXRh
Y2hlZC1zaGFkb3ctZnJhbWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2pzL2dsb2JhbC1jb25zdHJ1
Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy9zaGFkb3ct
cm9vdC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy91cGRhdGUtc2hhZG93ZG9t
Lmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisKIDIwMTItMTItMTAgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IGV4cGVjdGF0aW9ucyBsaW50IGVycm9ycyBp
biByMTM3MjMxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvY29w
eS1wYXN0ZS1mbG9hdC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHkt
cGFzdGUtZmxvYXQuaHRtbAppbmRleCAzNWMzZmIwMDMwMGI1MzBmOTNhOWRhOTY3OTFjMjNhZjdl
MTY0NzJmLi4yZmQ0OTkwMTVlNTJlNTc2MzYyNGJkNDE1OGJmNzY1OWM5NGVhNzI1IDEwMDY0NApH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTI0OQp6Y21hKTYtKjRKNTVQdDdwYXIwQTwpQDBBaldh
QHhRTk5CNEB4QSV9NyNIejhRKmVPTlR7YGNNNEsrVntzYFh4XjgKenlZSWdINzF7Y29FXmxPdVJh
NCNvOXFIO2BidzBsRWhzfEpXdWREJSYmU3hXZDRLVEx3UTUocWkkfjFQTHY7RF9sCno0RUNjNzIq
Y2lOY3tBKn5KTkprJE1FM2RTMHtMOV5QfX1hWCFXZU1eamplfHI4bFB7YCZvJVAoPnRXR2tCN3E1
Xwp6O1RXZ0dFTTRWMXpKbiZre2ZvejtLNUlGcU5sSTN5dVU4cUlAcC0pNlgrM1J+WmhBQ1hCS2FA
SD1QZENCPiM1IUMKekRubHR3c1M+UXxCRHBreGYzUXcqWXFCKHJrTVFZVF5iY0kzRUJATFZYRW87
OVpuRiM4ZTR+MmpMbyZKWjJaQiVgCno5KHZuaD8rP0UhSnp5cF8rRSFrUztLS3hqI3RtSUJ2fno+
TGZMUSZVUFVveERJNXI3cGl5M19Ue3M+UXE5UiE5awp6YCQ3eU50e0JFMz8oWWBNYDc5OylrOEBJ
cC0rQFJMPjNHVyE8ODlSUTVQciRnVXNFWShVKFREaHJISmJ5KlMweDsKekhJI0tUNXBnfDQ4VCUh
Pl4wOEdlM19rR0ZmPHhxV0BpaDZjU0g0dlNzdSlGP0V2JlZ6cEJVSzxvO1Y1YlRSZkklCnpaTDdX
XnBWbko0XjdrUDBTUno/O0NCKkMrXl8qTm1rKnM5dU5aVjtnPGU7SX1tMjtFV0d8bzlPR2ZaayMt
Z0Qxawp6eHNWMERvU2pjcitBbkxHRTMrJkhgbFNSPSFHZXdqcD0lVU9ubHg3WmN4YDx2TzFiWEsr
dUtgeSRPc1JmajMjeloKZzN5K1FSKW1rSCF4RjFsMnRrUXVPIVQlVWE3VGxFM3F3cl9AMH5HVWN4
QnZoRQoKbGl0ZXJhbCAyNDk4CnpjbWJgSi1FUHhCNVFYUU9yIWMrPjV+TiVnUSZiWD1EcGdSQyFo
TT1KWkE2K3hpQ2FMM1J8bWVjPnh1MmdabUVRPAp6V2JPNkxuS1FyWi0rd0gjRD1YflU3SXRKJCFj
JVR6bn0oO3Y7KzVJZkNicUc7dCZ4P1N6d3ZjdUg/fkJrS3hWflYKeiFkO0c1VkxmfXMpNlcoaSpQ
WXU4aUpwQiFjWnVae2NtMTlJcit+WiFaM0VLMldrPlBWP2JofUJweClyKStLJUNMCno0JVlYUSoo
KHNjRj5pXikyNXU4THQ/aEA2KDUoQ1Rucz8kbTNGdFpPM3olT2JSb0ZXc25xeEVXekQ0XjQqYEIy
eAp6WGVyKV9qcih6VGJ1TWMtRFgjZntWJCs1OXVZOSZKayo5YSMoIyZSemlRP0NrUmR3OC1nTUl1
eXsjUTgxQVREZWAKejcwKzN4PFZ6OW5id3Y2ODgxTHMmbF9LODtXY2l3Rjk0Yl48KVEpUHg8SjZ0
R0lAe1BDKFN5Unl6fVVqdXlRVCtYCnpkdj4ydzdjVT5Fa2pKbjsrdTM9VHpwOCU7JnNFND5wWl5z
Iy1zOT9HK296LUZXSX1hWFdreX5YTGApVW5VMj13JAp6Ozs4UHt5RCN1cyZgbypobHYlSmY9OGFl
O19TRHBJWCtXNWp5V01nMzR0ZilHTSlueWwxTnc1cmI7d0BES0N2TykKekliYHBIZVBsaSlfN3cm
PjUoJUVqVXZXNngqLWFYcnIxeH5LYkNBOCUtWk90cj49WHtlUDZtJiYrK05TV1lLJF5GCnpmTmxI
cSk/RHxEdmB1eTgoWS0kPDkqVmhVY34/flM/Ymd4NzxPJm8mVHs2Mk12UXg2MnVyNW5XUSp4WVFy
I2R+LQp6YU48O1gmZEFGVlN5SVB1KFJKQm1fcTx8UFU2LUBRKD92M3hgQUlsc2lsRDFnWVJzP2xR
Um1Na0l+UmU9Z2VxeyUKekg4bS0xQGh0ZTRSciU3YUJLZX5lVzZIa2ZwSDl8UXNwO35Td1BxRDVJ
YFMpTjxaY1NlWk81Ki0jYn52a1BjZCNACnpmeGMkJlN6dSt0emg9IWcjSmdoVWQyWkxQUCE/RH1x
TjJVZTZZQmJlP31yMCReYF4+fj4tZF9MNSttWGxYTiUoWAp6a2hZTTt5cEY2cms1SyZfJiZ1Njtn
akg0WVNAcE19YDs7cj9NMUhDZ0g+QHdoPHhmcllpaFo7Z3pZMF9oQHIyS1YKbyU+cn4pUGhNOD4y
Rl5KKXMkNWw1QztJUVJVcChBPyg8fH10UExjT3wtaEgkRTF3TkU9c3tqQjEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9hZGp1c3RpbmctZWRpdGluZy1ib3VuZGFyeS13
aXRoLXRhYmxlLWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYWRq
dXN0aW5nLWVkaXRpbmctYm91bmRhcnktd2l0aC10YWJsZS1pbi1zaGFkb3cuaHRtbAppbmRleCAw
ODNkZTdjYzk4MWQ2OWE4ODM1ZThiMTg0YzdkNmJkZjZiYmFlYjRlLi40M2MwM2JmYmM3MjllMTZj
MmU4ZGVhM2IyNWU3MDQ3YzE0MTkxNjU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NoYWRvdy9hZGp1c3RpbmctZWRpdGluZy1ib3VuZGFyeS13aXRoLXRhYmxlLWluLXNoYWRvdy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2FkanVzdGluZy1lZGl0aW5nLWJv
dW5kYXJ5LXdpdGgtdGFibGUtaW4tc2hhZG93Lmh0bWwKQEAgLTE3LDEyICsxNywxMiBAQAogaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3Qg
PSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKIGRpdi5pbm5l
ckhUTUwgPSAiPHRhYmxlIGJvcmRlcj0nMSc+PHRyPjx0ZD5zaGFkb3cgMTwvdGQ+PC90cj48dHI+
PHRkIGlkPSdzcmMnPnNoYWRvdyAyPC90ZD48L3RyPjwvdGFibGU+IjsKIAotdmFyIG5lc3RlZFNo
YWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwordmFyIG5lc3RlZFNoYWRvd1Jv
b3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogbmVzdGVkU2hhZG93Um9vdC5pbm5l
ckhUTUwgPSAiPGRpdiBjb250ZW50ZWRpdGFibGU+YmVmb3JlPHNoYWRvdz48L3NoYWRvdz5hZnRl
cjwvZGl2PiI7CiAKIHZhciBzcmMgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdzcmMnKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2JvbGQtdHdpY2UtaW4tc2hh
ZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9ib2xkLXR3aWNlLWluLXNoYWRv
dy5odG1sCmluZGV4IDI0YjhmYWVkMTFmZDFiYzM1YjIzYjRhN2QyNzExYjBlZjQzOGUzYjAuLjM2
OGY1NDUyZmI4MDU4NmVhOGIwOGFjZWQ4YzI1YjZjYTY4MDljNmMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc2hhZG93L2JvbGQtdHdpY2UtaW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYm9sZC10d2ljZS1pbi1zaGFkb3cuaHRtbApAQCAtMTgs
MTEgKzE4LDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAnPGRpdiBpZD0ic2hhZG93LWhvc3QiPjxzcGFuIGNvbnRlbnRlZGl0
YWJsZT5zaGFkb3cgYmVmb3JlPC9zcGFuPjxzaGFkb3c+PC9zaGFkb3c+c2hhZG93IChhZnRlcik8
L2Rpdj4nOwogCiB2YXIgbmVzdGVkU2hhZG93SG9zdCA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5
SWQoJ3NoYWRvdy1ob3N0Jyk7Ci12YXIgbmVzdGVkU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KG5lc3RlZFNoYWRvd0hvc3QpOwordmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXN0ZWRT
aGFkb3dIb3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIG5lc3RlZFNoYWRvd1Jvb3QuaW5u
ZXJIVE1MID0gJzxkaXYgaWQ9ImlubmVyIiBjb250ZW50ZWRpdGFibGU+bmVzdGVkIGJlZm9yZTxz
aGFkb3c+PC9zaGFkb3c+bmVzdGVkIGFmdGVyPC9kaXY+JzsKIAogaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtpbmct
ZWRpdGluZy1ib3VuZGFyaWVzLTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2Jy
ZWFraW5nLWVkaXRpbmctYm91bmRhcmllcy0yLmh0bWwKaW5kZXggNzU2YTUwNjQxZTUzNzJlYzQx
ZDE0ZDQxMjIzMzAzOGQ0MTU1YTQ1Zi4uMmFkYWRkODk0OTFlMzQ0MTQyNzViYmU0OWM4Mzc4MmI2
YzMwMzg5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtpbmct
ZWRpdGluZy1ib3VuZGFyaWVzLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJpZXMtMi5odG1sCkBAIC0xNiwxMyArMTYsMTMgQEAK
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAot
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dS
b290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBkaXYuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUn
LCAndHJ1ZScpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwogZGl2LmlubmVySFRNTCA9
ICI8ZGl2IGlkPSdzb3VyY2UnPmJlZm9yZSBzaGFkb3c8L2Rpdj48c2hhZG93Pjwvc2hhZG93Pjxk
aXY+YWZ0ZXIgc2hhZG93PC9kaXY+IjsKIAotdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpOwordmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogbmVzdGVkU2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGRpdiBjb250
ZW50ZWRpdGFibGU+YmVmb3JlIG5lc3RlZDxzaGFkb3c+PC9zaGFkb3c+YWZ0ZXIgbmVzdGVkPC9k
aXY+IjsKIAogdmFyIHNvdXJjZSA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ3NvdXJjZScp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvYnJlYWtpbmctZWRpdGlu
Zy1ib3VuZGFyaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1l
ZGl0aW5nLWJvdW5kYXJpZXMuaHRtbAppbmRleCAxNjgyMDlmNGJhMDAwMTRkYzc3MjEwYzIzZDk4
MjM2ODk0NGEyZjRlLi40M2VlZTE5MmMwZWUwMzAwOTJjN2Q3YThlYzM3OTI5M2YwYjU3ZjkzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJv
dW5kYXJpZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1l
ZGl0aW5nLWJvdW5kYXJpZXMuaHRtbApAQCAtMTQsMTEgKzE0LDExIEBAIFRoaXMgaXMgYmVjYXVz
ZSB0aGUgc3RhcnQgcG9zaXRpb24gb2YgU2VsZWN0aW9uIGNvbWVzIGFmdGVyIHRoZSBlbmQgcG9z
aXRpb24gb2YKIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgogCiA8c2NyaXB0PgotdmFyIHNoYWRv
d1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c3Bh
biBpZD0nc2hhZG93LWhvc3QnPmJlZm9yZSBzaGFkb3c8c2hhZG93IGlkPSdzaGFkb3cnPjwvc2hh
ZG93PmFmdGVyIHNoYWRvdzwvc3Bhbj4iCiAKIHZhciBuZXN0ZWRTaGFkb3dIb3N0ID0gc2hhZG93
Um9vdC5nZXRFbGVtZW50QnlJZCgnc2hhZG93LWhvc3QnKTsKLXZhciBuZXN0ZWRTaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QobmVzdGVkU2hhZG93SG9zdCk7Cit2YXIgbmVzdGVkU2hh
ZG93Um9vdCA9IG5lc3RlZFNoYWRvd0hvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogbmVz
dGVkU2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNwYW4gY29udGVudGVkaXRhYmxlPmJlZm9yZSBu
ZXN0ZWQ8c2hhZG93Pjwvc2hhZG93PmFmdGVyIG5lc3RlZDwvc3Bhbj4iCiAKIC8vIFRoaXMgc2hv
dWxkIG5vdCBjYXVzZSBhIGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
aGFkb3cvYnJlYWtpbmctZWRpdGluZy1ib3VuZGFyeS13aXRoLXRhYmxlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJ5LXdpdGgtdGFibGUu
aHRtbAppbmRleCAwYzgzMjViMjBjODk2MDJiMjVkYzRmMWQxMDlhYjg0MjZmNDY4ZjRhLi44ZWU3
OWQ0ZDI2ZTQzZDA0MGY1NjAyMmExMWIxNTU1OTMyODMzYWJjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJvdW5kYXJ5LXdpdGgtdGFibGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9icmVha2luZy1lZGl0aW5nLWJv
dW5kYXJ5LXdpdGgtdGFibGUuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBUaGlzIHRlc3QgY2hlY2tz
IHRoZSAmbHQ7c3BhbiZndDsgZG9lcyBub3QgY2hhbmdlZCB0byBub24tY29udGVudGVkaXRhYmxl
IGVsZW1lbgogPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzx0YWJs
ZSBib3JkZXI9IjEiPicgKwogICAgICc8dHI+PHRkIGlkPSJkc3QiPmFhYWFhPC90ZD48dGQgaWQ9
ImFub3RoZXIiPmFhYWFhPC90ZD48L3RyPicgKwogICAgICc8dHI+PHRkPmFhYWFhPC90ZD48dGQ+
YWFhYWE8L3RkPjwvdHI+JyArCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9jb21wYXJlLXBvc2l0aW9ucy1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NoYWRvdy9jb21wYXJlLXBvc2l0aW9ucy1pbi1uZXN0ZWQtc2hhZG93Lmh0bWwKaW5k
ZXggNjhlZWJiNDgxZGY0YmVjNTg4OWZkZTZmYTE0NTIyNjI3ODRkMjUzOS4uM2E2YTZlMDg3OTI2
OWYxNjBkZGFhNDhiNDI4NWFhMDU3NjI3YzFlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zaGFkb3cvY29tcGFyZS1wb3NpdGlvbnMtaW4tbmVzdGVkLXNoYWRvdy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2NvbXBhcmUtcG9zaXRpb25zLWluLW5lc3RlZC1z
aGFkb3cuaHRtbApAQCAtMTgsMTEgKzE4LDExIEBAIGZ1bmN0aW9uIGNyZWF0ZUJveChuYW1lKSB7
CiB9CiAKIGZ1bmN0aW9uIGNyZWF0ZU5lc3RlZFNoYWRvd0RPTShob3N0LCBjb250ZW50KSB7Ci0g
ICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHZhciBkaXYg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBzaGFkb3dSb290LmFwcGVuZENo
aWxkKGRpdik7CiAKLSAgICB2YXIgbmVzdGVkU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGRpdik7CisgICAgdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogICAgIHZhciBkaXZJbk5lc3RlZFNoYWRvd1Jvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKICAgICBkaXZJbk5lc3RlZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0g
Y29udGVudDsKICAgICBuZXN0ZWRTaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdkluTmVzdGVkU2hh
ZG93Um9vdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9jb250ZW50
ZWRpdGFibGUtcHJvcGFnYXRpb24tYXQtc2hhZG93LWJvdW5kYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NoYWRvdy9jb250ZW50ZWRpdGFibGUtcHJvcGFnYXRpb24tYXQtc2hhZG93LWJv
dW5kYXJ5Lmh0bWwKaW5kZXggNjFjODZkNTA1YzAyNTU5OGM3MDEwOGVlZDRmZTdhMzQwOTUwYTYx
My4uYjhkMzUyYzUzMTM1MDAzNWM5OGUxMzI3MjA3Y2ZkZTdmMGFlNWQwNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvY29udGVudGVkaXRhYmxlLXByb3BhZ2F0aW9uLWF0
LXNoYWRvdy1ib3VuZGFyeS5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2Nv
bnRlbnRlZGl0YWJsZS1wcm9wYWdhdGlvbi1hdC1zaGFkb3ctYm91bmRhcnkuaHRtbApAQCAtMjgs
NyArMjgsNyBAQCBmdW5jdGlvbiBjb21wdXRlZFN0eWxlKGVsZW1lbnQsIHN0eWxlKSB7CiB9CiAK
IGZ1bmN0aW9uIHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGhvc3QpIHsKLSAgICB2YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgdmFyIG5vZGVJblNoYWRvdyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIG5vZGVJblNoYWRvdy5zZXRBdHRyaWJ1
dGUoJ2lkJywgJ25vZGUtaW4tc2hhZG93LXJvb3QnKTsKICAgICBub2RlSW5TaGFkb3cuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ0luIFNoYWRvdycpKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2RlbGV0ZS1jaGFyYWN0ZXJzLWluLWRpc3RyaWJ1
dGVkLW5vZGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2RlbGV0ZS1j
aGFyYWN0ZXJzLWluLWRpc3RyaWJ1dGVkLW5vZGUtY3Jhc2guaHRtbAppbmRleCBlZGE0OWNlNWM0
MjA5MTYwYTVhNjk0MzM4NmQzOGFiZjVmYTFhZTMwLi44YzdlNWRkYzA4NDBlMjg4MGNlMjE4M2Vj
YzRjZDYyMTFkNmI0OGJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9k
ZWxldGUtY2hhcmFjdGVycy1pbi1kaXN0cmlidXRlZC1ub2RlLWNyYXNoLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZGVsZXRlLWNoYXJhY3RlcnMtaW4tZGlzdHJpYnV0ZWQt
bm9kZS1jcmFzaC5odG1sCkBAIC02LDcgKzYsNyBAQAogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLXZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NoYWRvd2hvc3Qn
KSk7Cit2YXIgc2hhZG93Um9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaGFkb3dob3N0
Jykud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGNv
bnRlbnQ+PC9jb250ZW50PiI7CiAKIHZhciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdzaGFkb3dob3N0JykuZmlyc3RDaGlsZC5maXJzdENoaWxkOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZGVsZXRlLWxpc3QtaW4tc2hhZG93Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9kZWxldGUtbGlzdC1pbi1zaGFkb3cuaHRtbAppbmRleCAz
ZmRlNTUwNzdlYjA1NTYzNGJjMjYyZWYzMTMxZDg0NzFiYWQ0ZjBhLi43NjY5Mzc3MjBlYTc3ZDZh
NDI3NTA2ZmVjMTBmMzJmNjA2NDlkYWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NoYWRvdy9kZWxldGUtbGlzdC1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NoYWRvdy9kZWxldGUtbGlzdC1pbi1zaGFkb3cuaHRtbApAQCAtMjAsNyArMjAsNyBAQAog
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCi12
YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jv
b3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBsaSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2xpJyk7CiBsaS5pbm5lckhUTUwgPSAnaG9nZWhvZ2UnOwogc2hhZG93Um9v
dC5hcHBlbmRDaGlsZChsaSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9kb3VibGVjbGljay1vbi1tZXRlci1pbi1zaGFkb3ctY3Jhc2guaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L2RvdWJsZWNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1s
CmluZGV4IDdiZTMwNjcyZGFlYTBiMzkxYWZlZmZmMmI4ZDk3N2VlMDI2ZGJjNDAuLjM4MmZlNGUy
ZTQ5M2E2OTQ5OGQxYjA2ZjJkYzNkZmU1OWEyMTIwMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L2RvdWJsZWNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2RvdWJsZWNsaWNrLW9uLW1ldGVyLWlu
LXNoYWRvdy1jcmFzaC5odG1sCkBAIC0xMCw3ICsxMCw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogdmFyIGNvbnRhaW5lciA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKK3ZhciBzaGFkb3dSb290ID0gY29udGFpbmVyLndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBtZXRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ21ldGVyJyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKG1ldGVyKTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZXhlY2NvbW1hbmQtaW5kZW50LWluLXNoYWRv
dy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvZXhlY2NvbW1hbmQtaW5kZW50LWlu
LXNoYWRvdy5odG1sCmluZGV4IGRmYWVlZTZkODc3MTg1ZjNkY2U3MDhmMDUwMDdkOGIwZGFkMDNj
ZGYuLmFhZTc1YWFiY2NlNGM1YmNkYjljNmU2ODA2NjM1OWMzNGQyMWMyYzcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L2V4ZWNjb21tYW5kLWluZGVudC1pbi1zaGFkb3cu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9leGVjY29tbWFuZC1pbmRlbnQt
aW4tc2hhZG93Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgdG8gY29uZmlybSBhIGNyYXNoIGRvZXNu
J3QgaGFwcGVuLjwvcD4KIDxwcmUgaWQ9ImNvbnNvbGUiPjwvZGl2PgogCiA8c2NyaXB0PgotdmFy
IHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChjb250YWluZXIpOwordmFyIHNoYWRv
d1Jvb3QgPSBjb250YWluZXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAiPHNwYW4gY29udGVudGVkaXRhYmxlPktvdG9yaSBPdG9uYXNoaTwvc3Bhbj4i
CiB2YXIgc3BhbiA9IHNoYWRvd1Jvb3QuZmlyc3RDaGlsZDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zaGFkb3cvaW5zZXJ0b3JkZXJlZGxpc3QtY3Jhc2guaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2hhZG93L2luc2VydG9yZGVyZWRsaXN0LWNyYXNoLmh0bWwKaW5kZXgg
MjU4MTA2MzljODQ3OWM1MzFhMzVmMjljYTQwMmY4ZWQ5NmRkOTg3MS4uNmVkYmU0N2ZjZGMwZDA2
NzcwYTZhNWRlYTAzMGQ5NTQxMmU3Yzg1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zaGFkb3cvaW5zZXJ0b3JkZXJlZGxpc3QtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NoYWRvdy9pbnNlcnRvcmRlcmVkbGlzdC1jcmFzaC5odG1sCkBAIC0xOSwxMiArMTks
MTIgQEAgVG8gdGVzdCBtYW51YWxseSwgc2VsZWN0IGZyb20gKGJlZm9yZSBuZXN0ZWQpIHRvIChh
ZnRlciBuZXN0ZWQpLCB0aGVuIHByZXNzIEl0YWwKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBzaGFk
b3dSb290LmFwcGVuZENoaWxkKGRpdik7CiBkaXYuaW5uZXJIVE1MID0gIjxzcGFuIGNvbnRlbnRl
ZGl0YWJsZT4oYmVmb3JlIHNoYWRvdyk8L3NwYW4+PHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIgc2hh
ZG93KSI7CiAKLXZhciBuZXN0ZWRTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KTsKK3ZhciBuZXN0ZWRTaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IG5lc3RlZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgY29udGVudGVkaXRhYmxlPihiZWZv
cmUgPHNwYW4gaWQ9J3NyYyc+PC9zcGFuPm5lc3RlZCk8c2hhZG93Pjwvc2hhZG93PihuZXN0ZWQg
PHNwYW4gaWQ9J2RzdCc+PC9zcGFuPmFmdGVyKTwvZGl2PiI7CiAKIHZhciBzcmMgPSBuZXN0ZWRT
aGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdzcmMnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L3ByZXNzaW5nLWVudGVyLW9uLWxpc3QuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L3ByZXNzaW5nLWVudGVyLW9uLWxpc3QuaHRtbAppbmRleCAyYmQ3YzYz
ZTBiNDZkMGJmMmM4OWMyY2U4NjUwOTQwZDAyYjE4YjM1Li41NDI3NWFlNTc4NmMyNjJhMWVhMjQ0
MmVhMjY0MDA3MjMxN2VlNGZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9wcmVzc2luZy1lbnRlci1vbi1saXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
aGFkb3cvcHJlc3NpbmctZW50ZXItb24tbGlzdC5odG1sCkBAIC0yMCw3ICsyMCw3IEBAIGJlY2Fz
dWUgbW9kaWZ5aW5nIFNoYWRvdyBET00gcmVtb3ZlcyB0aGUgcmVuZGVyZXIgaW4gU2hhZG93IERP
TSBhbmQgZGVzZW5kYW50IG9mCiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
dmFyIGxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKTsKIGxpLmlubmVySFRNTCA9ICdp
bnNpZGUgc2hhZG93JzsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQobGkpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1vbi1tZXRlci1pbi1zaGFkb3ct
Y3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3JpZ2h0Y2xpY2stb24tbWV0
ZXItaW4tc2hhZG93LWNyYXNoLmh0bWwKaW5kZXggZDg1N2ViNjQ1ZmYzNTM4NWJiYTIwNGE3Yzkw
MmM0ODA1NjBhYTk4ZC4uNjM2YTAyMTNkOTRlMzVhMThiOTVkMjg1OTdhNTNkZjI5ZTgyZDgxMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvcmlnaHRjbGljay1vbi1tZXRl
ci1pbi1zaGFkb3ctY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9y
aWdodGNsaWNrLW9uLW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sCkBAIC0xNiw3ICsxNiw3IEBA
IGZ1bmN0aW9uIGNvbnRleHRDbGljayh4LCB5KSB7CiB9CiAKIHZhciBjb250YWluZXIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGNvbnRhaW5lcik7Cit2YXIgc2hhZG93Um9vdCA9IGNvbnRhaW5lci53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgbWV0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdtZXRlcicpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChtZXRlcik7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3NlbGVjdC1jb250ZW50ZWRpdGFibGUtc2hh
ZG93aG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2VsZWN0LWNvbnRlbnRl
ZGl0YWJsZS1zaGFkb3dob3N0Lmh0bWwKaW5kZXggNGZiMDQxYmFlNWNmZTg2YWU1MzExZTIyMTYx
NWU1MTRkYTNjMDMxZC4uMDExMzFhNjRhYTIzZjQ4YmIyNDFhMDMyNzc2Y2RiODkxNWRkZTdlZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2VsZWN0LWNvbnRlbnRlZGl0
YWJsZS1zaGFkb3dob3N0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2Vs
ZWN0LWNvbnRlbnRlZGl0YWJsZS1zaGFkb3dob3N0Lmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAKIAog
PHNjcmlwdD4KIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
K3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290LmlubmVySFRNTCA9ICJTSEFET1cgRE9NIjsKIAogdmFyIHNlbGVjdGlvbiA9IHNoYWRvd1Jv
b3QuZ2V0U2VsZWN0aW9uKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRv
dy9zZWxlY3Rpb24tb2Ytb3JwaGFuLXNoYWRvd3Jvb3QuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2hhZG93L3NlbGVjdGlvbi1vZi1vcnBoYW4tc2hhZG93cm9vdC5odG1sCmluZGV4IDI4ZmVk
MDZkYWE0ZDcyNGE0MzUyODEyZDM4NWFmZTYxZjM1YmEwN2IuLjA1ODEzMjFhYTAzMDRkNDMyMWI0
NjliZjMxZjIxYjZlOGJiNzc5NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2hh
ZG93L3NlbGVjdGlvbi1vZi1vcnBoYW4tc2hhZG93cm9vdC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2hhZG93L3NlbGVjdGlvbi1vZi1vcnBoYW4tc2hhZG93cm9vdC5odG1sCkBAIC0x
NCw3ICsxNCw3IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
K3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290LmlubmVySFRNTCA9ICJLb3RvcmkgT3RvbmFzaGkiCiAKIHZhciBzZWxlY3Rpb24gPSBzaGFk
b3dSb290LmdldFNlbGVjdGlvbigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
aGFkb3cvc2VsZWN0aW9uLW9mLXNoYWRvd3Jvb3QuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2hhZG93L3NlbGVjdGlvbi1vZi1zaGFkb3dyb290Lmh0bWwKaW5kZXggODFlMGNlM2I2YjIwMzM3
OGRhMWU4YzUzM2EzOGMyNjdiOTAyYmFiMC4uNzA3MmFlYWM4Y2RjZTM4MDFhMDYzMDAyNTkwYTZi
M2I1NjBlZTQwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2VsZWN0
aW9uLW9mLXNoYWRvd3Jvb3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NoYWRvdy9z
ZWxlY3Rpb24tb2Ytc2hhZG93cm9vdC5odG1sCkBAIC0zNCw3ICszNCw3IEBAIGZ1bmN0aW9uIGNy
ZWF0ZUNvbXBsZXhTaGFkb3dUcmVlKGNvbnRhaW5lcikgewogICAgICAgICAgICAgIjxkaXYgdGl0
bGU9J0RJVjMgSU4gIiArIG5hbWUgKyAiJz4iICsgaW5kZW50KGluZGVudExldmVsKSArICJESVYg
MyAoIiArIG5hbWUgKyAiKTwvZGl2PiI7CiAKICAgICAgICAgdmFyIGhvc3RJblNoYWRvd1Jvb3Qg
PSBzaGFkb3dSb290LmZpcnN0Q2hpbGQubmV4dFNpYmxpbmc7Ci0gICAgICAgIHZhciBuZXN0ZWRT
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdEluU2hhZG93Um9vdCk7CisgICAg
ICAgIHZhciBuZXN0ZWRTaGFkb3dSb290ID0gaG9zdEluU2hhZG93Um9vdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgICAgIG5lc3RlZFNoYWRvd1Jvb3QudGl0bGUgPSAnTkVTVEVEIFNI
QURPVyBST09UIElOICcgKyBuYW1lOwogICAgICAgICB0cmVlU2NvcGVzLnB1c2gobmVzdGVkU2hh
ZG93Um9vdCk7CiAKQEAgLTUxLDExICs1MSwxMSBAQCBmdW5jdGlvbiBjcmVhdGVDb21wbGV4U2hh
ZG93VHJlZShjb250YWluZXIpIHsKIAogICAgIHZhciBob3N0ID0gY29udGFpbmVyLmZpcnN0Q2hp
bGQubmV4dFNpYmxpbmc7CiAKLSAgICB2YXIgb2xkZXJTaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIG9sZGVyU2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIG9sZGVyU2hhZG93Um9vdC50aXRsZSA9ICdPTERFUiBTSEFE
T1cgUk9PVCc7CiAgICAgdHJlZVNjb3Blcy5wdXNoKG9sZGVyU2hhZG93Um9vdCk7CiAKLSAgICB2
YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2
YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICB5b3VuZ2VyU2hhZG93Um9vdC50aXRsZSA9ICdZT1VOR0VSIFNIQURPVyBST09UJzsKICAgICB0
cmVlU2NvcGVzLnB1c2goeW91bmdlclNoYWRvd1Jvb3QpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NoYWRvdy9zaGFkb3ctc2VsZWN0aW9uLW5vdC1leHBvcnRlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zaGFkb3cvc2hhZG93LXNlbGVjdGlvbi1ub3QtZXhwb3J0ZWQu
aHRtbAppbmRleCBiN2M0YjI5NGIwNTAxMDc0YjZkM2MxMTQyNzQ1MzZhMmJhYjk2ZDc3Li5jZmU2
MjlkODE5OTgzNjg1MmU2N2UwZmNkMjZmODE0YWQwY2Q3MDBlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NoYWRvdy9zaGFkb3ctc2VsZWN0aW9uLW5vdC1leHBvcnRlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2hhZG93L3NoYWRvdy1zZWxlY3Rpb24tbm90LWV4cG9y
dGVkLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2NvbnRhaW5lcicpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChjb250YWluZXIpOwordmFyIHNoYWRvd1Jvb3QgPSBjb250YWluZXIud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogCiB2YXIgZGl2MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwogZGl2Mi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnSU4gU0hBRE9XIFRS
RUUgMScpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9z
dHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMt
ZXhwZWN0ZWQudHh0CmluZGV4IDZhNjNkOWFhODQzNDdkNjcwZTYwZmU4NGNlNWVkOTZlM2Q2M2Ey
YjUuLjM5ZTNhYThjNWQwMDk1Y2QyZmFiMzdmYzRlZGY5ZWNjMzkwMzkxMDAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0
aG9yLXN0eWxlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUt
c2NvcGVkL3N0eWxlLXNjb3BlZC1hcHBseS1hdXRob3Itc3R5bGVzLWV4cGVjdGVkLnR4dApAQCAt
MSw2ICsxLDQgQEAKIFBBU1Mgd2luZG93LmludGVybmFscyBpcyBkZWZpbmVkLgotUEFTUyB3aW5k
b3cuaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3QgaXMgZGVmaW5lZC4KLVBBU1MgV2ViS2l0U2hh
ZG93Um9vdCBpcyBkZWZpbmVkLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29w
ZWQvc3R5bGUtc2NvcGVkLWFwcGx5LWF1dGhvci1zdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy5odG1s
CmluZGV4IDMyYjkwNjFmM2I3M2NkMWZjNTMyMzIwZGE5YThkZWRlNmYxY2I2NTQuLjZhOTBmN2E4
OWNkNjE2NzA5MjcxZGIwODQ0NjIwZmZjOTc5NjE5NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYXBwbHktYXV0aG9yLXN0eWxlcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQt
YXBwbHktYXV0aG9yLXN0eWxlcy5odG1sCkBAIC04LDggKzgsNiBAQCBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIHNob3VsZEJlRGVmaW5lZCgi
d2luZG93LmludGVybmFscyIpOwotc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJuYWxzLmVu
c3VyZVNoYWRvd1Jvb3QiKTsKLXNob3VsZEJlRGVmaW5lZCgiV2ViS2l0U2hhZG93Um9vdCIpOwog
CiBmdW5jdGlvbiBkdW1wQ29tcHV0ZWRTdHlsZShub2RlKQogewpAQCAtMjMsNyArMjEsNyBAQCBm
dW5jdGlvbiB0ZXN0QmFzaWMoKQogICAgIGRpdi5pbm5lckhUTUwgPSAnPGRpdj48c3R5bGUgc2Nv
cGVkPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgfTwvc3R5bGU+PGRpdiBpZD0iaG9zdCI+
PC9kaXY+PC9kaXY+JzsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CiAKLSAg
ICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImhvc3QiKSk7CisgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJo
b3N0Iikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAn
PGRpdiBpZD0idGFyZ2V0Ij50YXJnZXQ8L2Rpdj4nOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZGl2KTsKIApAQCAtNDUsOSArNDMsOSBAQCBmdW5jdGlvbiB0ZXN0RW5jbG9zaW5nU2hh
ZG93KCkKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIG91dGVyU2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgb3V0ZXJTaGFkb3cgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c3R5
bGU+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSJvdXRlciI+
b3V0ZXI8L2Rpdj4nOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChvdXRl
clNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXIiKSk7CisgICAgdmFyIHNoYWRvdyA9IG91dGVy
U2hhZG93LmdldEVsZW1lbnRCeUlkKCJvdXRlciIpLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
ICAgICBzaGFkb3cuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRhcmdldCI+dGFyZ2V0PC9kaXY+JzsK
IAogICAgIC8vIGJlZm9yZQpAQCAtNjcsMTIgKzY1LDEyIEBAIGZ1bmN0aW9uIHRlc3RFbmNsb3Np
bmdTaGFkb3dXaXRoU2NvcGVkKCkKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFy
IG91dGVyU2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgb3V0ZXJT
aGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG91dGVyU2hhZG93Lmlu
bmVySFRNTCA9ICc8ZGl2PjxzdHlsZSBzY29wZWQ+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgcmVk
OyB9PC9zdHlsZT48ZGl2IGlkPSJvdXRlckluU2NvcGUiPm91dGVySW5TY29wZTwvZGl2PjwvZGl2
PjxkaXYgaWQ9Im91dGVyT3V0T2ZTY29wZSI+b3V0ZXJPdXRPZlNjb3BlPC9kaXY+JzsKIAotICAg
IHZhciBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJTaGFkb3cuZ2V0RWxlbWVu
dEJ5SWQoIm91dGVySW5TY29wZSIpKTsKKyAgICB2YXIgc2hhZG93MSA9IG91dGVyU2hhZG93Lmdl
dEVsZW1lbnRCeUlkKCJvdXRlckluU2NvcGUiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgc2hhZG93MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGFyZ2V0SW5TY29wZSI+dGFyZ2V0SW5T
Y29wZTwvZGl2Pic7Ci0gICAgdmFyIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChvdXRl
clNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJPdXRPZlNjb3BlIikpOworICAgIHZhciBzaGFk
b3cyID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91dGVyT3V0T2ZTY29wZSIpLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0
YXJnZXRPdXRPZlNjb3BlIj50YXJnZXRPdXRPZlNjb3BlPC9kaXY+JzsKIAogICAgIC8vIGJlZm9y
ZQpAQCAtOTgsMTUgKzk2LDE1IEBAIGZ1bmN0aW9uIHRlc3ROZXN0ZWRTaGFkb3coKQogICAgIGRp
di5pbm5lckhUTUwgPSAnPHN0eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6IDFweCBzb2xpZCByZWQg
fTwvc3R5bGU+PGRpdiBpZD0iaG9zdCI+PC9kaXY+JzsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGRpdik7CiAKLSAgICB2YXIgb3V0ZXJNb3N0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKSk7CisgICAgdmFyIG91dGVyTW9z
dFNoYWRvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iikud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogICAgIG91dGVyTW9zdFNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxlPmRpdiB7
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7IH08L3N0eWxlPjxkaXYgaWQ9Im91dGVyTW9zdCI+b3V0
ZXJNb3N0PC9kaXY+JzsKICAgICBvdXRlck1vc3RTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSBm
YWxzZTsKIAotICAgIHZhciBvdXRlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVy
TW9zdFNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJNb3N0IikpOworICAgIHZhciBvdXRlclNo
YWRvdyA9IG91dGVyTW9zdFNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJNb3N0Iikud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8ZGl2IGlk
PSJvdXRlciI+b3V0ZXI8L2Rpdj4nOwogICAgIG91dGVyU2hhZG93LmFwcGx5QXV0aG9yU3R5bGVz
ID0gZmFsc2U7CiAKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qob3V0ZXJT
aGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm91dGVyIikpOworICAgIHZhciBzaGFkb3cgPSBvdXRlclNo
YWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXIiKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgc2hhZG93LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXQiPnRhcmdldDwvZGl2Pic7CiAg
ICAgc2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gZmFsc2U7CiAKQEAgLTEzMiwxNSArMTMwLDE1
IEBAIGZ1bmN0aW9uIHRlc3RNdWx0aXBsZVNoYWRvdygpCiAgICAgZGl2LmlubmVySFRNTCA9ICc8
c3R5bGUgc2NvcGVkPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZCB9PC9zdHlsZT48ZGl2PnRl
c3Q8L2Rpdj4nOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZh
ciBvbGRlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBvbGRl
c3RTaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG9sZGVzdFNoYWRv
dy5pbm5lckhUTUwgPSAnPHNoYWRvdz48L3NoYWRvdz48ZGl2IGlkPSJvbGRlc3RTaGFkb3ciPm9s
ZGVzdFNoYWRvdzwvZGl2Pic7CiAgICAgb2xkZXN0U2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0g
ZmFsc2U7CiAKLSAgICB2YXIgb2xkZXJTaGFkb3cgPSAgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KTsKKyAgICB2YXIgb2xkZXJTaGFkb3cgPSAgZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
ICAgICBvbGRlclNoYWRvdy5pbm5lckhUTUwgPSAnPHN0eWxlIHNjb3BlZD5kaXYgeyBib3JkZXI6
IDFweCBzb2xpZCBibHVlIH08L3N0eWxlPjxzaGFkb3c+PC9zaGFkb3c+PGRpdiBpZD0ib2xkZXJT
aGFkb3ciPm9sZGVyU2hhZG93PC9kaXY+JzsKICAgICBvbGRlclNoYWRvdy5hcHBseUF1dGhvclN0
eWxlcyA9IGZhbHNlOwogCi0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRp
dik7CisgICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAg
c2hhZG93LmlubmVySFRNTCA9ICc8c2hhZG93Pjwvc2hhZG93PjxkaXYgaWQ9InRhcmdldCI+c2hh
ZG93PC9kaXY+JzsKICAgICBzaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKIApAQCAt
MTg2LDE1ICsxODQsMTUgQEAgZnVuY3Rpb24gdGVzdE9yZGVyT2ZBcHBseVN0eWxlKCkKICAgICBk
aXYuaW5uZXJIVE1MID0gJzxzdHlsZSBzY29wZWQ+ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgcmVk
IH08L3N0eWxlPjxkaXYgaWQ9Imhvc3QiPjwvZGl2Pic7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChkaXYpOwogCi0gICAgdmFyIG91dGVyTW9zdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0IikpOworICAgIHZhciBvdXRlck1v
c3RTaGFkb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBvdXRlck1vc3RTaGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5kaXYg
eyBib3JkZXI6IDFweCBzb2xpZCBibHVlOyB9PC9zdHlsZT48ZGl2IGlkPSJvdXRlck1vc3QiPm91
dGVyTW9zdDwvZGl2Pic7CiAgICAgb3V0ZXJNb3N0U2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0g
dHJ1ZTsKIAotICAgIHZhciBvdXRlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVy
TW9zdFNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJNb3N0IikpOworICAgIHZhciBvdXRlclNo
YWRvdyA9IG91dGVyTW9zdFNoYWRvdy5nZXRFbGVtZW50QnlJZCgib3V0ZXJNb3N0Iikud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+
ZGl2IHsgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47IH08L3N0eWxlPjxkaXYgaWQ9Im91dGVyIj5v
dXRlcjwvZGl2Pic7CiAgICAgb3V0ZXJTaGFkb3cuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOwog
Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KG91dGVyU2hhZG93LmdldEVs
ZW1lbnRCeUlkKCJvdXRlciIpKTsKKyAgICB2YXIgc2hhZG93ID0gb3V0ZXJTaGFkb3cuZ2V0RWxl
bWVudEJ5SWQoIm91dGVyIikud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5p
bm5lckhUTUwgPSAnPHN0eWxlPmRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHllbGxvdzsgfTwvc3R5
bGU+PGRpdiBpZD0idGFyZ2V0Ij50YXJnZXQ8L2Rpdj4nOwogICAgIHNoYWRvdy5hcHBseUF1dGhv
clN0eWxlcyA9IHRydWU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxl
LXNjb3BlZC9zdHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3ctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Ut
c2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQKaW5kZXggYzk2NmFiMWEyYWViMzhhZTU0MzY1
MTk4YWMwMjYxYzBkNmRmNjgxOC4uNjhmNDQyYmY1ZDIyMDQwZjEzNjZiNmM3M2Y2YjYwNDM0NjE2
NTQ0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxl
LXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWlu
LXNoYWRvdy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiBQQVNTIHdpbmRvdy5pbnRlcm5h
bHMgaXMgZGVmaW5lZC4KLVBBU1Mgd2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dSb290IGlz
IGRlZmluZWQuCi1QQVNTIFdlYktpdFNoYWRvd1Jvb3QgaXMgZGVmaW5lZC4KIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1jaGFuZ2Utc2NvcGVkLWlu
LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNj
b3BlZC1jaGFuZ2Utc2NvcGVkLWluLXNoYWRvdy5odG1sCmluZGV4IDFhN2E5MmE1NjE5MjhmYTA0
ZDgxMDRhZDY1NmIzZWNjYTcxMDM3NDAuLjk1ZmU1ZWZhNmYwMGM1OTBlMzA3OTAwMDNjOTkzYTA5
MWM0NDFlOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9z
dHlsZS1zY29wZWQtY2hhbmdlLXNjb3BlZC1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWNoYW5nZS1zY29wZWQtaW4tc2hh
ZG93Lmh0bWwKQEAgLTgsOCArOCw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIAogc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJuYWxz
Iik7Ci1zaG91bGRCZURlZmluZWQoIndpbmRvdy5pbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdCIp
Owotc2hvdWxkQmVEZWZpbmVkKCJXZWJLaXRTaGFkb3dSb290Iik7CiAKIGZ1bmN0aW9uIGR1bXBD
b21wdXRlZFN0eWxlKG5vZGUpCiB7CkBAIC0yMSw3ICsxOSw3IEBAIGZ1bmN0aW9uIHRlc3RTY29w
ZWRTdHlsZUluU2hhZG93KCkKICAgICBkZWJ1ZygidGVzdCBhIHNjb3BlZCBzdHlsZSBpbiBzaGFk
b3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUg
c2NvcGVkPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2Pjwv
ZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0
OwogCkBAIC0zNSw3ICszMyw3IEBAIGZ1bmN0aW9uIHRlc3RTdHlsZUluU2hhZG93KCkKICAgICBk
ZWJ1ZygidGVzdCBhIHN0eWxlIGluIHNoYWRvdyBzdWJ0cmVlLiIpOwogICAgIHZhciBkaXYgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGRpdik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7Cisg
ICAgdmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93
LmlubmVySFRNTCA9ICI8ZGl2PjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjxzdHlsZT5kaXYgeyBjb2xv
cjogcmVkOyB9PC9zdHlsZT48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3Vt
ZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtNDksMTAgKzQ3LDEwIEBAIGZ1bmN0aW9uIHRlc3RT
dHlsZUluTXVsdGlwbGVTaGFkb3coKQogICAgIGRlYnVnKCJ0ZXN0IHN0eWxlcyBpbiBtdWx0aXBs
ZSBzaGFkb3cgc3VidHJlZXMuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwogCi0gICAgdmFyIHNoYWRvdzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYp
OworICAgIHZhciBzaGFkb3cxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
aGFkb3cxLmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZT5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHls
ZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogCi0g
ICAgdmFyIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFk
b3cyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cyLmlubmVySFRN
TCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQ+ZGl2IHsgY29sb3I6IGJsdWUgfTwvc3R5bGU+PHNoYWRv
dz48L3NoYWRvdz48ZGl2IGlkPSdHJz5HR0c8L2Rpdj48L2Rpdj4iOwogCiAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkaXYpOwpAQCAtNjksMTAgKzY3LDEwIEBAIGZ1bmN0aW9uIHRlc3RT
Y29wZWRTdHlsZUluTmVzdGVkU2hhZG93KCkKICAgICBkZWJ1ZygidGVzdCBhIHNjb3BlZCBzdHls
ZSBpbiBuZXN0ZWQgc2hhZG93IHN1YnRyZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsK
LSAgICB2YXIgc2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNo
YWRvdzEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzEuaW5uZXJI
VE1MID0gIjxkaXY+PHN0eWxlIHNjb3BlZD5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2
IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIHZhciBl
ID0gc2hhZG93MS5nZXRFbGVtZW50QnlJZCgiRSIpOwotICAgIHZhciBzaGFkb3cyID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZSk7CisgICAgdmFyIHNoYWRvdzIgPSBlLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBzaGFkb3cyLmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBzY29wZWQ+ZGl2
IHsgY29sb3I6IGJsdWU7IH08L3N0eWxlPjxkaXYgaWQ9J0cnPkdHR0c8L2Rpdj48L2Rpdj48ZGl2
IGlkPSdIJz5ISEhIPC9kaXY+IjsKICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKQEAg
LTg4LDEwICs4NiwxMCBAQCBmdW5jdGlvbiB0ZXN0U3R5bGVJbk5lc3RlZFNoYWRvdygpCiAgICAg
ZGVidWcoInRlc3QgYSBzdHlsZSBpbiBuZXN0ZWQgc2hhZG93IHN1YnRyZWUuIik7CiAgICAgdmFy
IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGRpdik7CisgICAgdmFyIHNoYWRvdzEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
ICAgIHNoYWRvdzEuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlPmRpdiB7IGNvbG9yOiByZWQ7IH08
L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7
CiAgICAgdmFyIGUgPSBzaGFkb3cxLmdldEVsZW1lbnRCeUlkKCJFIik7Ci0gICAgdmFyIHNoYWRv
dzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChlKTsKKyAgICB2YXIgc2hhZG93MiA9IGUud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzIuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxl
PmRpdiB7IGNvbG9yOiBibHVlOyB9PC9zdHlsZT48ZGl2IGlkPSdHJz5HR0dHPC9kaXY+PC9kaXY+
PGRpdiBpZD0nSCc+SEhISDwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0Owog
CkBAIC0xMDcsNyArMTA1LDcgQEAgZnVuY3Rpb24gdGVzdENoYW5nZVNjb3BlZFRvU2NvcGVkKCkK
ICAgICBkZWJ1ZygidGVzdCBjaGFuZ2luZyBhIHN0eWxlIGluIHNoYWRvdyBzdWJ0cmVlIGZyb20g
c2NvcGVkIHRvIHNjb3BlZC4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBz
aGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48
c3R5bGUgc2NvcGVkIGlkPSdzdHlsZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0
eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAg
ICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCkBAIC0xMjksNyArMTI3LDcgQEAgZnVuY3Rp
b24gdGVzdENoYW5nZVNjb3BlZFRvTm90U2NvcGVkKCkKICAgICBkZWJ1ZygidGVzdCBjaGFuZ2lu
ZyBhIHN0eWxlIGluIHNoYWRvdyBzdWJ0cmVlIGZyb20gc2NvcGVkIHRvIG5vdC1zY29wZWQuIik7
CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIHNjb3BlZCBpZD0nc3R5
bGUtaW4tc2hhZG93Jz5kaXYgeyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8
L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zm
c2V0TGVmdDsKIApAQCAtMTUxLDcgKzE0OSw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2VOb3RTY29w
ZWRUb1Njb3BlZCgpCiAgICAgZGVidWcoInRlc3QgY2hhbmdpbmcgYSBzdHlsZSBpbiBzaGFkb3cg
c3VidHJlZSBmcm9tIG5vdC1zY29wZWQgdG8gc2NvcGVkLiIpOwogICAgIHZhciBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGRpdik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAg
dmFyIHNoYWRvdyA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Lmlu
bmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBpZD0nc3R5bGUtaW4tc2hhZG93Jz5kaXYgeyBjb2xvcjog
cmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8
L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMTczLDcgKzE3MSw3
IEBAIGZ1bmN0aW9uIHRlc3RSZW1vdmVTY29wZWRTdHlsZUZyb21Eb2N1bWVudCgpCiAgICAgZGVi
dWcoInRlc3QgcmVtb3ZpbmcgYSBzY29wZWQgc3R5bGUgZnJvbSBzaGFkb3cgc3VidHJlZS4iKTsK
ICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogICAgIHNoYWRvdy5pbm5lckhUTUwgPSAiPGRpdj48c3R5bGUgc2NvcGVkIGlkPSdzdHls
ZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwv
ZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9keS5vZmZz
ZXRMZWZ0OwogCkBAIC0xOTYsNyArMTk0LDcgQEAgZnVuY3Rpb24gdGVzdFJlbW92ZVN0eWxlRnJv
bURvY3VtZW50KCkKICAgICBkZWJ1ZygidGVzdCByZW1vdmluZyBhIHN0eWxlIGZyb20gc2hhZG93
IHN1YnRyZWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKLSAgICB2YXIgc2hhZG93ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93ID0gZGl2LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1MID0gIjxkaXY+PHN0eWxlIGlk
PSdzdHlsZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08L3N0eWxlPjxkaXYgaWQ9J0Un
PkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7CiAgICAgZG9jdW1lbnQuYm9k
eS5vZmZzZXRMZWZ0OwogCkBAIC0yMTksNyArMjE3LDcgQEAgZnVuY3Rpb24gdGVzdEluc2VydFNj
b3BlZFN0eWxlSW50b0RvY3VtZW50KCkKICAgICBkZWJ1ZygidGVzdCBpbnNlcnRpbmcgYSBzY29w
ZWQgc3R5bGUgaW50byBzaGFkb3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYp
OwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBz
aGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhU
TUwgPSAiPGRpdj48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5GRkY8L2Rp
dj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjM5LDcgKzIzNyw3IEBA
IGZ1bmN0aW9uIHRlc3RJbnNlcnRTdHlsZUludG9Eb2N1bWVudCgpCiAgICAgZGVidWcoInRlc3Qg
aW5zZXJ0aW5nIGEgc3R5bGUgaW50byBzaGFkb3cgc3VidHJlZS4iKTsKICAgICB2YXIgZGl2ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChkaXYpOwotICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwor
ICAgIHZhciBzaGFkb3cgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRv
dy5pbm5lckhUTUwgPSAiPGRpdj48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdG
Jz5GRkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjU4LDcg
KzI1Niw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2VTY29wZWRUb05vdFNjb3BlZE5vdEluRG9jdW1l
bnQoKQogICAgIGRlYnVnKCJ0ZXN0IHJlLWluc2VydGluZyBhIHN0eWxlIGFmdGVyIGNoYW5naW5n
IHNjb3BlZCB0byBub3Qgc2NvcGVkIG9mZmxpbmUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2
KTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIg
c2hhZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJI
VE1MID0gIjxkaXY+PHN0eWxlIHNjb3BlZCBpZD0nc3R5bGUtaW4tc2hhZG93Jz5kaXYgeyBjb2xv
cjogcmVkOyB9PC9zdHlsZT48ZGl2IGlkPSdFJz5FRUU8L2Rpdj48L2Rpdj48ZGl2IGlkPSdGJz5G
RkY8L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIApAQCAtMjc4LDcgKzI3
Niw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2VOb3RTY29wZWRUb1Njb3BlZE5vdEluRG9jdW1lbnQo
KQogICAgIGRlYnVnKCJ0ZXN0IHJlLWluc2VydGluZyBhIHN0eWxlIGFmdGVyIGNoYW5naW5nIG5v
dCBzY29wZWQgdG8gc2NvcGVkIG9mZmxpbmUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsK
LSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hh
ZG93ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1M
ID0gIjxkaXY+PHN0eWxlIGlkPSdzdHlsZS1pbi1zaGFkb3cnPmRpdiB7IGNvbG9yOiByZWQ7IH08
L3N0eWxlPjxkaXYgaWQ9J0UnPkVFRTwvZGl2PjwvZGl2PjxkaXYgaWQ9J0YnPkZGRjwvZGl2PiI7
CiAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNoYWRvdy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWluLXNo
YWRvdy1leHBlY3RlZC50eHQKaW5kZXggZDVhOGMyZjBkMjIwMzNhZjVlOWRhOTcyODU3NmI3MmM3
OGYzMzI0Ny4uMjRhZWIyZDQ5OWZiYWU3MTIzZjdiMDYxYTE3MDJiYmFmMmI1NTQ0NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1pbi1z
aGFkb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3Bl
ZC9zdHlsZS1zY29wZWQtaW4tc2hhZG93LWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDUgQEAKIFRl
c3RzIHRoYXQKIAotUEFTUyB3aW5kb3cuaW50ZXJuYWxzIGlzIGRlZmluZWQuCi1QQVNTIHdpbmRv
dy5pbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdCBpcyBkZWZpbmVkLgotUEFTUyBXZWJLaXRTaGFk
b3dSb290IGlzIGRlZmluZWQuCiBQQVNTIHNoYWRvdy5pbm5lckhUTUwgaXMgZGVmaW5lZC4KIFBB
U1Mgc2hhZG93LmdldEVsZW1lbnRCeUlkIGlzIGRlZmluZWQuCiBBOiByZ2IoMCwgMCwgMCkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQt
aW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUt
c2NvcGVkLWluLXNoYWRvdy5odG1sCmluZGV4IDlhZGRlM2Q3NzllZGZlYWM4OTc1NGVhNDM2ZTk5
NzBhN2E4NDBhZTAuLmQ3YzEyYTI0ODIwMTJkNDA4NTRhY2YxMzM5NDk0OWNhNTkzNGVhODIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQt
aW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0
eWxlLXNjb3BlZC1pbi1zaGFkb3cuaHRtbApAQCAtMTAsMTMgKzEwLDkgQEAKICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiAKLSAgICAgICAgc2hvdWxkQmVEZWZpbmVkKCJ3aW5kb3cuaW50ZXJuYWxzIik7Ci0gICAgICAg
IHNob3VsZEJlRGVmaW5lZCgid2luZG93LmludGVybmFscy5lbnN1cmVTaGFkb3dSb290Iik7Ci0g
ICAgICAgIHNob3VsZEJlRGVmaW5lZCgiV2ViS2l0U2hhZG93Um9vdCIpOwotCiAgICAgICAgIHZh
ciBhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkEiKTsKICAgICAgICAgdmFyIGIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiQiIpOwotICAgICAgICBzaGFkb3cgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChiKTsKKyAgICAgICAgc2hhZG93ID0gYi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAgICAgICAgIHNob3VsZEJlRGVmaW5lZCgic2hhZG93LmlubmVySFRNTCIpOwogICAgICAgICBz
aG91bGRCZURlZmluZWQoInNoYWRvdy5nZXRFbGVtZW50QnlJZCIpOwogICAgICAgICBzaGFkb3cu
aW5uZXJIVE1MID0gIjxzdHlsZSBzY29wZWQ+ZGl2IHsgY29sb3I6IHJlZDsgfTwvc3R5bGU+PGNv
bnRlbnQ+PC9jb250ZW50PjxkaXYgaWQ9J0MnPkNDQzwvZGl2PiI7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYWRvcHQtbm9kZS13aXRoLXNoYWRvdy1yb290
Lmh0bWwKaW5kZXggMGFmNjQxYjg3ZmRkOGM0MDcyMmQ3Zjg1NmY1NGZiZWY4ZGZiZTE4YS4uODEx
Y2FkOTFjZjRiNGRkZjAyYjQ2OTEyYWEzZGNmNTg0Y2U1YmI5MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2Fkb3B0LW5vZGUtd2l0aC1zaGFkb3ctcm9vdC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9hZG9wdC1ub2RlLXdpdGgtc2hhZG93LXJv
b3QuaHRtbApAQCAtOSw3ICs5LDcgQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiB0ZXN0KCkgewogICAg
IHZhciBmb3JlaWduRG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9vdCcpLmNv
bnRlbnREb2N1bWVudDsKLSAgICBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChmb3JlaWdu
RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3MnKSk7CisgICAgc2hhZG93ID0gZm9yZWlnbkRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzJykud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNo
b3VsZFRocm93KCJkb2N1bWVudC5hZG9wdE5vZGUoc2hhZG93KSIpOwogICAgIGxvY2F0aW9uLnJl
bG9hZCgpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2F0aG9z
dC1hdHJ1bGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYXRob3N0LWF0cnVs
ZXMuaHRtbAppbmRleCA3ZDRiNTExZWUwMmZhOWQ3NTFlNTdlMTY5YjAwYTZkODc3ZDUzYTZkLi5h
Y2M1ZmRkYzI2NjYwY2VmMWQ1YzFiYmI4YjVhNGZmZmQ3ZWM2YzQ4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYXRob3N0LWF0cnVsZXMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvYXRob3N0LWF0cnVsZXMuaHRtbApAQCAtMjQsNyArMjQsNyBA
QCBmdW5jdGlvbiB0ZXN0U2ltcGxlQ29udGVudENhc2UoKQogewogICAgIHByZXByb2Nlc3NGb3JU
ZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwot
ICAgIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hh
ZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRN
TCA9ICI8c3R5bGU+QGhvc3QgeyBkaXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxjb250ZW50
PjwvY29udGVudD4iOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwogfQpAQCAtMzMsNyAr
MzMsNyBAQCBmdW5jdGlvbiB0ZXN0U2ltcGxlU2hhZG93Q2FzZSgpCiB7CiAgICAgcHJlcHJvY2Vz
c0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
Iik7Ci0gICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZh
ciBzaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5u
ZXJIVE1MID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PHNo
YWRvdz48L3NoYWRvdz4iOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwogfQpAQCAtNDYs
MTIgKzQ2LDEyIEBAIGZ1bmN0aW9uIHRlc3RIb3N0V2l0aFNlbGVjdG9yKCkKICAgICAgICAgKyAi
PHNwYW4gaWQ9J2hvc3RCJyBjbGFzcz0naG9zdCc+PHNwYW4+V29ybGQ8L3NwYW4+PC9zcGFuPiI7
CiAKICAgICB2YXIgaG9zdEEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdEEiKTsKLSAg
ICB2YXIgc2hhZG93QSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3RBKTsKKyAgICB2YXIgc2hh
ZG93QSA9IGhvc3RBLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgc3R5bGUgPSAi
PHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSBzcGFuIHsgY29sb3I6IGJsdWU7IH0g
fTwvc3R5bGU+IjsKICAgICBzaGFkb3dBLmlubmVySFRNTCA9IHN0eWxlICsgIjxzaGFkb3c+PC9z
aGFkb3c+IjsKIAogICAgIHZhciBob3N0QiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
QiIpOwotICAgIHZhciBzaGFkb3dCID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdEIpOworICAg
IHZhciBzaGFkb3dCID0gaG9zdEIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRv
d0IuaW5uZXJIVE1MID0gc3R5bGUgKyAiPHNoYWRvdz48L3NoYWRvdz4iOwogCiAgICAgZHVtcENv
bXB1dGVkU3R5bGUoaG9zdEEpOwpAQCAtNjIsNyArNjIsNyBAQCBmdW5jdGlvbiB0ZXN0UHNldWRv
SG9zdFdpdGhTY29wZWQoKQogewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhv
c3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBzaGFkb3cgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93LmlubmVySFRNTCA9ICI8ZGl2PjxzdHlsZSBz
Y29wZWQ+QGhvc3QgeyBkaXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxzaGFkb3c+PC9zaGFk
b3c+PGRpdj48c3R5bGUgc2NvcGVkPkBob3N0IHsgZGl2IHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5
bGU+PC9kaXY+PC9kaXY+IjsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKIH0KQEAgLTcx
LDggKzcxLDggQEAgZnVuY3Rpb24gdGVzdFBzZXVkb0hvc3RXaXRoRmFsbGJhY2tTaGFkb3coKQog
ewogICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBvbGRlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0KTsKLSAgICB2YXIgeW91bmdlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0KTsKKyAgICB2YXIgb2xkZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgb2xkZXN0U2hhZG93LmlubmVySFRNTCA9ICI8c3R5bGU+QGhvc3QgeyBk
aXYgeyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxjb250ZW50PjwvY29udGVudD4iOwogICAgIHlv
dW5nZXN0U2hhZG93LmlubmVySFRNTCA9ICI8Y29udGVudD48c2hhZG93Pjwvc2hhZG93PjwvY29u
dGVudD4iOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwpAQCAtODIsOCArODIsOCBAQCBm
dW5jdGlvbiB0ZXN0VHdvU2hhZG93Um9vdHNDYXNlKCkKIHsKICAgICBwcmVwcm9jZXNzRm9yVGVz
dCgpOwogICAgIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLSAg
ICB2YXIgb2xkZXN0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFy
IHlvdW5nZXN0U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIG9s
ZGVzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciB5b3Vu
Z2VzdFNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIG9sZGVzdFNo
YWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9z
dHlsZT48Y29udGVudD48L2NvbnRlbnQ+IjsKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwg
PSAiPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5bGU+PHNoYWRvdz48
L3NoYWRvdz4iOwogICAgIGR1bXBDb21wdXRlZFN0eWxlKGhvc3QpOwpAQCAtOTMsOCArOTMsOCBA
QCBmdW5jdGlvbiB0ZXN0VHdvU2hhZG93Um9vdHNDcmVhdGluZ0RpZmZlcmVudE9yZGVyQ2FzZSgp
CiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0gICAgdmFyIG9sZGVzdFNoYWRvdyA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOwotICAgIHZhciB5b3VuZ2VzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QpOworICAgIHZhciBvbGRlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKKyAgICB2YXIgeW91bmdlc3RTaGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0
IHsgZGl2IHsgY29sb3I6IGJsdWU7IH0gfTwvc3R5bGU+PHNoYWRvdz48L3NoYWRvdz4iOwogICAg
IG9sZGVzdFNoYWRvdy5pbm5lckhUTUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJl
ZDsgfSB9PC9zdHlsZT48Y29udGVudD48L2NvbnRlbnQ+IjsKICAgICBkdW1wQ29tcHV0ZWRTdHls
ZShob3N0KTsKQEAgLTEwNCwxMCArMTA0LDEwIEBAIGZ1bmN0aW9uIHRlc3RNdWx0aXBsZVNoYWRv
d1Jvb3RzV2l0aEluZXJ0U2hhZG93Q29udGVudCgpCiB7CiAgICAgcHJlcHJvY2Vzc0ZvclRlc3Qo
KTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci0gICAg
dmFyIG9sZGVzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwotICAgIHZhciBv
bGRlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwotICAgIHZhciB5b3VuZ2Vy
U2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci0gICAgdmFyIHlvdW5nZXN0U2hh
ZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIG9sZGVzdFNoYWRvdyA9
IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciBvbGRlclNoYWRvdyA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciB5b3VuZ2VyU2hhZG93ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICB5b3VuZ2VzdFNoYWRvdy5pbm5lckhU
TUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iOwogICAgIHlvdW5nZXJTaGFkb3cuaW5uZXJIVE1MID0g
Ijxjb250ZW50PjwvY29udGVudD4iOwpAQCAtMTIwLDEwICsxMjAsMTAgQEAgZnVuY3Rpb24gdGVz
dE11bHRpcGxlU2hhZG93Um9vdHNXaXRoSW5lcnRTaGFkb3coKQogewogICAgIHByZXByb2Nlc3NG
b3JUZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIp
OwotICAgIHZhciBvbGRlc3RTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKLSAg
ICB2YXIgb2xkZXJTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKLSAgICB2YXIg
eW91bmdlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwotICAgIHZhciB5b3Vu
Z2VzdFNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBvbGRlc3RT
aGFkb3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgb2xkZXJTaGFk
b3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICB2YXIgeW91bmdlclNoYWRv
dyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworICAgIHZhciB5b3VuZ2VzdFNoYWRv
dyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgeW91bmdlc3RTaGFkb3cu
aW5uZXJIVE1MID0gIjxzdHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiB5ZWxsb3c7IH0gfTwvc3R5
bGU+PHNoYWRvdz48L3NoYWRvdz4iOwogICAgIHlvdW5nZXJTaGFkb3cuaW5uZXJIVE1MID0gIjxz
dHlsZT5AaG9zdCB7IGRpdiB7IGNvbG9yOiBibHVlOyB9IH08L3N0eWxlPjxkaXY+aW5lcnQ8L2Rp
dj4iOwpAQCAtMTM2LDEwICsxMzYsMTAgQEAgZnVuY3Rpb24gdGVzdE5lc3RlZENhc2UoKQogewog
ICAgIHByZXByb2Nlc3NGb3JUZXN0KCk7CiAgICAgdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaG9zdCIpOwotICAgIHZhciBvdXRlclNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOworICAgIHZhciBvdXRlclNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIG91dGVyU2hhZG93LmlubmVySFRNTCA9ICc8c3R5bGU+QGhvc3QgeyBkaXYg
eyBjb2xvcjogcmVkOyB9IH08L3N0eWxlPjxkaXYgaWQ9Im5lc3RlZEhvc3QiPklubmVyU2hhZG93
PC9kaXY+JzsKICAgICB2YXIgbmVzdGVkID0gb3V0ZXJTaGFkb3cuZ2V0RWxlbWVudEJ5SWQoIm5l
c3RlZEhvc3QiKTsKLSAgICB2YXIgaW5uZXJTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChu
ZXN0ZWQpOworICAgIHZhciBpbm5lclNoYWRvdyA9IG5lc3RlZC53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgaW5uZXJTaGFkb3cuaW5uZXJIVE1MID0gJzxzdHlsZT5AaG9zdCB7IGRpdiB7
IGNvbG9yOiBibHVlOyB9IH08L3N0eWxlPlNob3cgPHNoYWRvdz48L3NoYWRvdz4gaW4gb3V0ZXIu
JzsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShu
ZXN0ZWQpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIGZ1bmN0aW9uIHRlc3RIb3N0VnNTY29wZWRTdHls
ZSgpCiAgICAgcHJlcHJvY2Vzc0ZvclRlc3QoKTsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJob3N0Iik7CiAgICAgaG9zdC5pbm5lckhUTUwgPSAiPHN0eWxlIHNjb3Bl
ZD4jaG9zdCB7IGNvbG9yOiB5ZWxsb3c7IH08L3N0eWxlPjxzcGFuPkhlbGxvPC9zcGFuPiI7Ci0g
ICAgdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFk
b3cgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3cuaW5uZXJIVE1M
ID0gIjxzdHlsZT5AaG9zdCB7ICNob3N0IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48Y29udGVu
dD48L2NvbnRlbnQ+IjsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKIH0KQEAgLTE2MSw3
ICsxNjEsNyBAQCBmdW5jdGlvbiB0ZXN0SG9zdFZzSW5saW5lU3R5bGUoKQogICAgIHZhciBob3N0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKICAgICBob3N0LnN0eWxlLmNvbG9y
ID0gInllbGxvdyI7CiAgICAgaG9zdC5pbm5lckhUTUwgPSAiPHNwYW4+SGVsbG88L3NwYW4+IjsK
LSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNo
YWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdy5pbm5lckhU
TUwgPSAiPHN0eWxlPkBob3N0IHsgZGl2IHsgY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48Y29udGVu
dD48L2NvbnRlbnQ+IjsKICAgICBkdW1wQ29tcHV0ZWRTdHlsZShob3N0KTsKIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9iYXNlLWluLXNoYWRvdy10cmVlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvYmFzZS1pbi1zaGFkb3ctdHJlZS5odG1sCmlu
ZGV4IDlkYzJkNmMxZjdlZTE0OTk1MjYyOTdkMmU0YTY0YjdmOTYwZWY5YjMuLmNlY2Y5Y2NmMmZl
NTc0M2ViOGQ0ZTFlYmRiZjYyOWNkMmIxZGE3YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9iYXNlLWluLXNoYWRvdy10cmVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2Jhc2UtaW4tc2hhZG93LXRyZWUuaHRtbApAQCAtMTEsNyArMTEsNyBA
QAogPHNjcmlwdD4KIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29u
dGFpbmVyJyk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoY29udGFp
bmVyKTsKK3ZhciBzaGFkb3dSb290ID0gY29udGFpbmVyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKIAogdmFyIGJhc2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiYXNlJyk7CiBiYXNlLnNl
dEF0dHJpYnV0ZSgnaHJlZicsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NhcmV0LXJhbmdlLWZyb20tcG9pbnQtaW4t
bmVzdGVkLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NhcmV0LXJh
bmdlLWZyb20tcG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sCmluZGV4IDFlZmE5Nzg5MDRiYmY2
ZDFmM2E3ZmE5NGJjZDZkODMxOWEzZDFlNDcuLjgwYjE0NWQxMWFjYmUzMjczYTYxM2MxMDVlN2Nl
MmJiYjA5N2JiODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jYXJl
dC1yYW5nZS1mcm9tLXBvaW50LWluLW5lc3RlZC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC1pbi1uZXN0ZWQtc2hhZG93
Lmh0bWwKQEAgLTIzLDExICsyMywxMSBAQCBmdW5jdGlvbiBjcmVhdGVCb3gobmFtZSkgewogICAg
IHJldHVybiBkaXY7CiB9CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
dmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogc2hhZG93Um9vdC5hcHBl
bmRDaGlsZChkaXYpOwogCi12YXIgZGFya1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYp
OwordmFyIGRhcmtSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBib3gg
PSBjcmVhdGVCb3goJ2RhcmsnKTsKIGRhcmtSb290LmFwcGVuZENoaWxkKGJveCk7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWFmdGVyLXN0eWxlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1hZnRlci1zdHlsZS5odG1s
CmluZGV4IDI0ZjExOTEyODA3YTM0YmZhNzMyOWUxZDBmOTRjOTVhM2ZmOTY1NTcuLmYzZjI2MDRm
OThiODZjMjYyN2U4MmUzYWZhM2YyODdjOTA4NjA0N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWFmdGVyLXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtYWZ0ZXItc3R5bGUuaHRtbApAQCAtNSw3ICs1LDcg
QEAKIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgd2luZG93LnRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotdmFyIHJvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCcjaG9zdCcpKTsKK3ZhciByb290ID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignI2hvc3QnKS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiByb290LmlubmVySFRN
TCA9ICc8c3R5bGU+aW52YWxpZCB7IH08L3N0eWxlPicgKwogICAgICAgICAgICAgICAgICAndGV4
dDxjb250ZW50PjwvY29udGVudD4nOwogd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWlu
LW1lZGlhLWVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50
LWVsZW1lbnQtaW4tbWVkaWEtZWxlbWVudC5odG1sCmluZGV4IDNiYTkyYjA5YjNhNzU3ZTIzYTQ4
MzhjMTM2ZGMyZjgxYjE3MGRkYWIuLjZiMjdhOGJlMTUwNjVkNmQ4Zjk0YTY3ODVkNzE4NGQ4NzUw
ZDdmZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVs
ZW1lbnQtaW4tbWVkaWEtZWxlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWVkaWEtZWxlbWVudC5odG1sCkBAIC0yNyw3ICsyNyw3
IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIGNvbnRlbnRFbGVtZW50SW5WaWRlb0VsZW1lbnQo
Y2FsbElmRG9uZSkgewogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250
YWluZXInKS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNyID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZGl2KTsKKyAgICB2YXIgc3IgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
CiAgICAgdmFyIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAgICB2
YXIgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvbnRlbnQnKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWV0ZXIt
ZWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVu
dC1pbi1tZXRlci1lbGVtZW50Lmh0bWwKaW5kZXggMmYwOGEyMDc1NGM3NmMzNjA1OTA0ODU2MTQ1
OWY3MTQ4ZDY1MDQxOS4uZDllYjkxMTFmNzdkYTlkN2FmNDc5NjQwMTVjZTI2MzQyN2E1NzQyNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1p
bi1tZXRlci1lbGVtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nv
bnRlbnQtZWxlbWVudC1pbi1tZXRlci1lbGVtZW50Lmh0bWwKQEAgLTI3LDcgKzI3LDcgQEAgdGVz
dEZ1bmNzLnB1c2goZnVuY3Rpb24gY29udGVudEVsZW1lbnRJbk1ldGVyRWxlbWVudChjYWxsSWZE
b25lKSB7CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicp
LmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChk
aXYpOworICAgIHZhciBzciA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICB2
YXIgbWV0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRlcicpOwogICAgIHZhciBjb250
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1wcm9ncmVzcy1lbGVt
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWlu
LXByb2dyZXNzLWVsZW1lbnQuaHRtbAppbmRleCA2OTU3ODEzMTE4NjRlMGQyMzYyMTE0NzAyMGVj
MjBhNmQxMjljNWJiLi45NmU0ZmNmYzk3MWY3N2Y0ZjFlNjA1ODkwZmEyZWVkODNiZmM0YTI5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWlu
LXByb2dyZXNzLWVsZW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y29udGVudC1lbGVtZW50LWluLXByb2dyZXNzLWVsZW1lbnQuaHRtbApAQCAtMjcsNyArMjcsNyBA
QCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiBjb250ZW50RWxlbWVudEluUHJvZ3Jlc3NFbGVtZW50
KGNhbGxJZkRvbmUpIHsKIAogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29u
dGFpbmVyJykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGRpdik7CisgICAgdmFyIHNyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IAogICAgIHZhciBwcm9ncmVzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Byb2dyZXNzJyk7
CiAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50Jyk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWlu
LXNlbGVjdC1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVu
dC1lbGVtZW50LWluLXNlbGVjdC1lbGVtZW50Lmh0bWwKaW5kZXggMjJmZjg1MmIxZjczYTQ0N2Iw
ZGZjZGFjNGFkMDYyM2E0ZWVhOWQwOC4uYjk4YzMwMGQ2OTBhNjVlODVmZWFmMGVlYTM0YzE0Mzkz
YjA5MWE3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
ZWxlbWVudC1pbi1zZWxlY3QtZWxlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tc2VsZWN0LWVsZW1lbnQuaHRtbApAQCAtMjcsNyAr
MjcsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiBjb250ZW50RWxlbWVudEluU2VsZWN0RWxl
bWVudChjYWxsSWZEb25lKSB7CiAKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFs
LWNvbnRhaW5lcicpLmFwcGVuZENoaWxkKGRpdik7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzciA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAKICAgICB2YXIgc2VsZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0Jyk7
CiAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50Jyk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LW91
dHNpZGUtc2hhZG93LXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29u
dGVudC1lbGVtZW50LW91dHNpZGUtc2hhZG93LXN0eWxlLmh0bWwKaW5kZXggM2NjYWMwY2UwZWZh
YTFjNmM2NzY0MjNmY2M2YjRiZjc4NGEyZjQ1MS4uNzMyYzFkMjcxMzdkMTYzMzgwNWM4NWM5Y2Uy
ZTg4YWU0NTc1OTUzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nv
bnRlbnQtZWxlbWVudC1vdXRzaWRlLXNoYWRvdy1zdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtb3V0c2lkZS1zaGFkb3ctc3R5bGUuaHRt
bApAQCAtMTksMTIgKzE5LDEyIEBAIGNvbnRlbnQgewogPHNjcmlwdD4KIC8vIEVuc3VyZXMgdGhh
dCBkaXN0cmlidXRlZCBzaGFkb3cgY2hpbGQgaXNuJ3QgZWZmZWN0ZWQgYnkgdGhlIHN0eWxlLgog
dmFyIGhvc3RXaXRoQ2hpbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdFdpdGhDaGls
ZCIpOwotdmFyIHNoYWRvd0Zvckhvc3RXaXRoQ2hpbGQgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0V2l0aENoaWxkKTsKK3ZhciBzaGFkb3dGb3JIb3N0V2l0aENoaWxkID0gaG9zdFdpdGhDaGls
ZC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dGb3JIb3N0V2l0aENoaWxkLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNvbnRlbnQiKSk7CiAKIC8vIEFsc28gZW5z
dXJlcyB0aGF0IGR5bmFtaWNhbGx5IG1vdmVkIDxjb250ZW50PiBlbGVtZW50cyBkbyB3b3JrLgog
dmFyIGhvc3RFbXB0eSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0RW1wdHkiKTsKLXZh
ciBzaGFkb3dGb3JIb3N0RW1wdHkgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0RW1wdHkpOwor
dmFyIHNoYWRvd0Zvckhvc3RFbXB0eSA9IGhvc3RFbXB0eS53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiBzaGFkb3dGb3JIb3N0RW1wdHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRvQmVNb3ZlZCIpKTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tY29tcGxleC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWNvbXBsZXguaHRtbApp
bmRleCA1YmUwMzIwOTE5YjFhMmIyMmMwMDYzMjU4YTdhNzVkNTRmYmJmMWY0Li45YjdkOTY1MWM4
NzI0MWI2ZWI0NDMwNzU0MjIxNzZhNTZiNjU5YjIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tY29tcGxleC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1jb21wbGV4Lmh0
bWwKQEAgLTEzLDEwICsxMywxMCBAQAogPC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9v
dDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0
MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRp
diBpZD0iaG9zdDIiPjxjb250ZW50IHNlbGVjdD0iLkEiPjwvY29udGVudD48c2hhZG93Pjwvc2hh
ZG93PjxkaXYgY2xhc3M9IkEiPkE8L2Rpdj48L2Rpdj4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKSk7
Cit2YXIgc2hhZG93Um9vdDIgPSBzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKS53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdj48
aDI+QTwvaDI+PGNvbnRlbnQgc2VsZWN0PSIuQSI+PC9jb250ZW50PjxoMj5CPC9oMj48c2hhZG93
Pjwvc2hhZG93PjwvZGl2PicKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbApp
bmRleCBlMGQyMTcwOTYyNTM1OTkwYTMzNzJjNGMyN2VhOTFiNTJmNTVjZmViLi43MTEzNmYyZGY2
NmNmMTNiZTNlZDNhZTkzNDA5YmI5MzUxOTMzNjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1keW5hbWljLmh0
bWwKQEAgLTgsMTUgKzgsMTUgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxkaXY+PGRpdiBpZD0iaG9zdDIiPjxj
b250ZW50PjwvY29udGVudD48L2Rpdj48L2Rpdj4nOwogCiB2YXIgaG9zdDIgPSBzaGFkb3dSb290
MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKTsKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MyI+PGNv
bnRlbnQ+PC9jb250ZW50PjwvZGl2Pic7CiAKIHZhciBob3N0MyA9IHNoYWRvd1Jvb3QyLmdldEVs
ZW1lbnRCeUlkKCdob3N0MycpOwotdmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdDMpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Um9vdDMuaW5uZXJIVE1MID0gJzxkaXY+PGNvbnRlbnQ+PC9jb250ZW50Pjwv
ZGl2Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stY3Jhc2guaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxs
YmFjay1jcmFzaC5odG1sCmluZGV4IGZiZGUwNzRhMDRjY2EyYjEzNzhiNTBiMWVhNzVlYjgxZGE5
NmQyMzIuLjRiMzk4YTQyYzYxODQ0MTdjNzQ1NTUxMTcyOTcwYzgzZGI5ZTk3NTcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxs
YmFjay1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50
LXJlcHJvamVjdGlvbi1mYWxsYmFjay1jcmFzaC5odG1sCkBAIC0xMSwxMSArMTEsMTEgQEAKIDxw
cmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhv
c3QyIj48Y29udGVudCBzZWxlY3Q9InNwYW4iPjxkaXYgaWQ9ImZhbGxiYWNrIj5mYWxsYmFjayBl
bGVtZW50PC9kaXY+PC9jb250ZW50PjxkaXYgaWQ9ImRpdiI+VGhpcyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+PC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5
SWQoJ2hvc3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
Mik7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBz
aGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4n
OwogCiB2YXIgY29udGVudCA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdjb250
ZW50JykuaXRlbSgwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9j
b250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2pl
Y3Rpb24uaHRtbAppbmRleCAzNDJiYzhjMTI2ZDU2ZjMwYWI3NzZmOGM4MjJlMjhlODVhOTI4ODMw
Li4wMzcwZmNmNDdhMjkwZGY2NWJmZGRkYjRjNTg1OWJlM2M0ZjUyNDlhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2st
cmVwcm9qZWN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRl
bnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sCkBAIC04LDcgKzgsNyBA
QAogPGRpdiBpZD0iaG9zdDEiPjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QxID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDEuaW5uZXJIVE1MID0KICAgICAnPGRp
diBpZD0iaG9zdDIiPicgKwogICAgICAgICAnPGNvbnRlbnQ+PGRpdiB0aXRsZT0iZGVidWdzdG9w
Ij5jb250ZW50IGZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj48L2NvbnRlbnQ+JyArCkBAIC0xNyw3ICsx
Nyw3IEBAIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9CiAgICAgJzwvZGl2Pic7CiAKIHZhciBob3N0
MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpOwotdmFyIHNoYWRvd1Jvb3Qy
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0KICAgICAn
PGRpdiBpZD0iaG9zdDMiPicgKwogICAgICAgICAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29u
dGVudD4nICsgCkBAIC0yNiw3ICsyNiw3IEBAIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9CiAgICAg
JzwvZGl2Pic7CiAKIHZhciBob3N0MyA9IHNoYWRvd1Jvb3QyLmdldEVsZW1lbnRCeUlkKCdob3N0
MycpOwotdmFyIHNoYWRvd1Jvb3QzID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFy
IHNoYWRvd1Jvb3QzID0gaG9zdDMud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9v
dDMuaW5uZXJIVE1MID0KICAgICAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVj
dGlvbi1mYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
cmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWwKaW5kZXggZmMzZDAwOWVhYjMyNWRhZTBmMzdjODBk
MDM1ZTdkNGUyYjIwYWUzYy4uZDRkZTRiYjFkZjQwMTMyZDQxY2VlZGZlNTQyOWU4ZTliMTYwYmU2
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9q
ZWN0aW9uLWZhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nv
bnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWwKQEAgLTgsNyArOCw3IEBACiA8ZGl2IGlk
PSJob3N0MSI+PC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPQogICAgICc8ZGl2IGlkPSJob3N0
MiI+JyArCiAgICAgICAgICc8Y29udGVudD48ZGl2IHRpdGxlPSJkZWJ1Z3N0b3AiPmNvbnRlbnQg
ZmFsbGJhY2sgZWxlbWVudDwvZGl2PjwvY29udGVudD4nICsKQEAgLTE3LDcgKzE3LDcgQEAgc2hh
ZG93Um9vdDEuaW5uZXJIVE1MID0KICAgICAnPC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93
Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0
PSJkaXYiPjwvY29udGVudD4nOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1vcmRlci5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwKaW5k
ZXggZTIzNWM4OTI2OGIxMzEzNjMzMjM3ODdkMTc0M2U5YTU5NzU4YTBmZS4uZWNjM2I4ZjBjMDU5
NDgyMDNjMmE0ODVlYmI5MzI4MDYxM2YxY2MwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLW9yZGVyLmh0bWwKQEAg
LTEyLDcgKzEyLDcgQEAKIDwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0KICAgICAnPHNoYWRvdyBp
ZD0iaWQxIj48L3NoYWRvdz48aHI+JyArIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLXNoYWRvdy5odG1sCmluZGV4IDdh
NTM4NjI0NDY2OGQ4MDA1NTFkNDMzODU2MzlkYmIzZTQ1ZmUxNzAuLmQxODM5M2YwN2E0ZTk0M2Vh
NjdhODM3NDcxNDQzZTNmZGMwMWZiNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tc2hhZG93Lmh0bWwKQEAgLTEy
LDEwICsxMiwxMCBAQAogPC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9z
dDIiPjxjb250ZW50PjwvY29udGVudD48L2Rpdj4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKSk7Cit2
YXIgc2hhZG93Um9vdDIgPSBzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKS53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdj48c2hh
ZG93Pjwvc2hhZG93PjxkaXY+QTwvZGl2PjwvZGl2PicKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW4tc2hhZG93Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW4tc2hhZG93Lmh0bWwKaW5kZXgg
ZTE4NzJhNTVkMzkwNWRkMDZiMzlmYTdhYTVjMWYyZTZlMmQyNjE1NS4uZmY0M2YwYTg4MzRjOGU3
YjgwYTIxMGQ0ZjA1NDFmZTU3NDUxMTc0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2NwcGV2ZW50LWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jcHBldmVudC1pbi1zaGFkb3cuaHRtbApAQCAtMzAsMTEgKzMwLDExIEBAIGZ1
bmN0aW9uIGNyZWF0ZUJveChuYW1lKSB7CiB9CiAKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBz
aGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CiAKLXZhciBkYXJrUm9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGRpdik7Cit2YXIgZGFya1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogdmFyIGJveCA9IGNyZWF0ZUJveCgnZGFyaycpOwogYm94LmlubmVySFRNTCA9ICJLb3Rv
cmkgT3RvbmFzaGkiOwogZGFya1Jvb3QuYXBwZW5kQ2hpbGQoYm94KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcHBldmVudC1pbnB1dC1pbi1zaGFkb3cuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcHBldmVudC1pbnB1dC1pbi1zaGFkb3cuaHRt
bAppbmRleCA5M2YzNTdiYjI0NWZiZmRlNjU2MDU2ZjNkNGU4NzUyNjQ5OWFhOGFjLi4zMjZmOWI5
NWViYzdkOWUwYjE4YzEzZWMwMWQ1MzdkZmQ3NjcwNjZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY3BwZXZlbnQtaW5wdXQtaW4tc2hhZG93Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NwcGV2ZW50LWlucHV0LWluLXNoYWRvdy5odG1sCkBA
IC0yOCwxMSArMjgsMTEgQEAgZnVuY3Rpb24gY3JlYXRlSW5wdXQoKSB7CiB9CiAKIAotdmFyIHNo
YWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CiAKLXZhciBkYXJr
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7Cit2YXIgZGFya1Jvb3QgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGlucHV0ID0gY3JlYXRlSW5wdXQoKTsKIGlucHV0
LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnS290b3JpIE90b25hc2hpJyk7CiBkYXJrUm9vdC5hcHBl
bmRDaGlsZChpbnB1dCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
ZGlzdHJpYnV0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1hdHRyaWJ1dGUtbW9kaWZpZWQuaHRtbAppbmRleCBiN2Mw
ZTYyMmFlYTVkOGI1NDQ0ZGNjOTk5NDE1YmU1ZDk2ODUyYTI2Li45NGRmM2I0ZmZmZWYwMjMxNWFm
YjdjZDdlMTQzOTU4MDM1YjBjMTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvZGlzdHJpYnV0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tYXR0cmlidXRlLW1vZGlmaWVkLmh0bWwK
QEAgLTE4LDcgKzE4LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdlt0aXRsZV0iPjwv
Y29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24tY2xhc3NOYW1lLW1v
ZGlmaWVkLmh0bWwKaW5kZXggZDU0OGUwZGUzMzliMDYzM2VkNzFjOWNmYWY5YzRmM2MyODcyNjAy
MC4uMjEwN2FkNDk2Yzk1ODM3YmM4YjgyMzY4YzU3NTJiZGEwYWQ0ZTgzNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1jbGFzc05hbWUtbW9kaWZp
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWNs
YXNzTmFtZS1tb2RpZmllZC5odG1sCkBAIC0xOCw3ICsxOCw3IEBACiBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSIuc2VsZWN0ZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlvbi1p
ZC1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Rpc3RyaWJ1dGlv
bi1pZC1tb2RpZmllZC5odG1sCmluZGV4IDRlMzVjZTc5YjZiNzRmMWZlNTQ0ZDM0YzljZGQxOGFh
MjMwMGI0YWMuLjRjNDc3Zjg5YmE1Mzk0MjQyOGE1ODBiYWYxOTNkMTIwNzllMjQxNDQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kaXN0cmlidXRpb24taWQtbW9kaWZp
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZGlzdHJpYnV0aW9uLWlk
LW1vZGlmaWVkLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
IiNzZWxlY3RlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJhZy10by1tZXRlci1pbi1zaGFk
b3ctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1ldGVy
LWluLXNoYWRvdy1jcmFzaC5odG1sCmluZGV4IDEzN2MwNWRiOTY5YTYwNWNkOTAxNGE2NDgxNDBj
YTdhOGY5NzllOWIuLjAyODkxMjM1NWU3M2RhMjRmNTBjOWNmOTQ5ZDNiYzI0MmEzMTVjZTkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRvLW1ldGVyLWluLXNo
YWRvdy1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcmFnLXRv
LW1ldGVyLWluLXNoYWRvdy1jcmFzaC5odG1sCkBAIC0xMSw3ICsxMSw3IEBAIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogdmFyIGNvbnRhaW5l
ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKLXZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKK3ZhciBzaGFkb3dSb290ID0gY29u
dGFpbmVyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBtZXRlciA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ21ldGVyJyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKG1ldGVyKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtZm9yLWlu
cHV0LWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZl
bnQtZm9yLWlucHV0LWluLXNoYWRvdy5odG1sCmluZGV4IGUwN2M5NjAyZjE2MTgwZmMxYTgxZThi
N2U1ODkyZTY2NTU1Nzk0ZWYuLjhhOWJlYzBiOTMyM2ViN2Q1MWJmY2QxZmQ5YTA1NDU3ZGE0MGY3
MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWZv
ci1pbnB1dC1pbi1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
ZHJvcC1ldmVudC1mb3ItaW5wdXQtaW4tc2hhZG93Lmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgZnVu
Y3Rpb24gY3JlYXRlSW5wdXQobmFtZSkgewogfQogCiBmdW5jdGlvbiBydW5UZXN0KCkgewotICAg
IHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNo
YWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgc2hhZG93
SW5wdXQgPSBjcmVhdGVJbnB1dCgnc2hhZG93Jyk7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGls
ZChzaGFkb3dJbnB1dCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9kcm9wLWV2ZW50LWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2Ryb3AtZXZlbnQtaW4tc2hhZG93Lmh0bWwKaW5kZXggZmE5MjhhZjMxNmViY2JjOTE1YmQ1MmJl
YTA3N2I5NjE4NTEyZmEyMS4uODA2MGQ3YzJhYTJlNjBjOGE0YjZkYzQzNTQwYWVmZThjYjZlNzE4
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4t
c2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQt
aW4tc2hhZG93Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gY3JlYXRlQm94KG5hbWUp
IHsKIH0KIAogZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgICAgdmFyIHNoYWRvd0RpdiA9IGNyZWF0ZUJveCgnc2hhZG93
Jyk7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3dEaXYpOwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZWxlbWVudC1mcm9tLXBvaW50LWluLW5lc3Rl
ZC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9lbGVtZW50LWZyb20t
cG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sCmluZGV4IDkyMGI1ODRhNTM1MGM2M2Y5YmM0ZDgy
NmUzZTlhMjdjMjI2ZDQ2NDguLjczYjQwZTBiMWM1ZDQ2ODk1ZGQ4ODg1MTFiOTUzYTVjMTMyMDA2
MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9lbGVtZW50LWZyb20t
cG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9lbGVtZW50LWZyb20tcG9pbnQtaW4tbmVzdGVkLXNoYWRvdy5odG1sCkBAIC0yMywxMSAr
MjMsMTEgQEAgZnVuY3Rpb24gY3JlYXRlQm94KG5hbWUpIHsKICAgICByZXR1cm4gZGl2OwogfQog
Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRv
d1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKIAot
dmFyIGRhcmtSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKK3ZhciBkYXJrUm9vdCA9
IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgYm94ID0gY3JlYXRlQm94KCdkYXJr
Jyk7CiBkYXJrUm9vdC5hcHBlbmRDaGlsZChib3gpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZm9ybS1pbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9mb3JtLWluLXNoYWRvdy5odG1sCmluZGV4IGE0Nzg0YTI0NjJkMzJiODE1YmIz
M2ZjMmI4ZjQwYTRlMjRmYmFlOTguLjVjMDk5ZmI0N2MwOTc3YTJlMGZhNjVhNzkwYzQ4ODg4NDNk
Nzk0OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9mb3JtLWluLXNo
YWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9mb3JtLWluLXNoYWRv
dy5odG1sCkBAIC0xMyw3ICsxMyw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rp
b24gY3JlYXRlU2hhZG93Rm9ybSgpIHsKICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoY29udGFpbmVyKTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGNvbnRhaW5lci53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9CiAg
ICAgICAgICc8Zm9ybT4nICsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRt
bAppbmRleCBmNzhkZTZjNzU1MDQwOTRkNzM2N2I4NjViZDdkMDNiNjVlMWQxMGEyLi4wZWFhMmUz
ZTJiYTQ0MDVlZmVjZDdkZmZiYWIxODA2NmJhZDg2NTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LW11dGF0aW9uLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWlu
LXNoYWRvdy1tdXRhdGlvbi5odG1sCkBAIC05LDcgKzksNyBAQAogZGVzY3JpcHRpb24oIlRlc3Rz
IHRvIGVuc3VyZSB0aGF0IFNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQgd29ya3MgZXZlbiBhZnRl
ciBtdXRhdGlvbiIpOwogCiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0
Iik7Ci12YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKIHNob3VsZEJlKCJudWxsIiwgInNo
YWRvdy5nZXRFbGVtZW50QnlJZCgnZm9vJykiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2hhcy1jb250ZW50LWVsZW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxlbWVudHMuaHRtbAppbmRleCBmNjE1MWUyOGMz
MDQ0OTQwN2YwOGFkMTAxMmJkNDk2ODhhYTI4MTI1Li45MGQ2MmJjN2E4ZDEyMDYwNzlmMzZlZGMx
YjU4ZjNhOTdmMmQxZTU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
aGFzLWNvbnRlbnQtZWxlbWVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvaGFzLWNvbnRlbnQtZWxlbWVudHMuaHRtbApAQCAtMTksNyArMTksNyBAQCBlbHNlIGlmICgh
d2luZG93LmludGVybmFscy5oYXNDb250ZW50RWxlbWVudCkKIAogPHNjcmlwdD4KIHZhciBob3N0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLXZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogCiBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVs
ZW1lbnQoc2hhZG93Um9vdCkiKTsKIApAQCAtNDYsMTAgKzQ2LDEwIEBAIHNob3VsZEJlVHJ1ZSgi
aW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CiAvLyBDYXNlIGZvciBu
ZXN0ZWQgc2hhZG93IHN1YnRyZWUKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxkaXY+aW4gc2hh
ZG93IHJvb3Q8L2Rpdj4nOwogdmFyIGlubmVyRGl2MSA9IHNoYWRvd1Jvb3QucXVlcnlTZWxlY3Rv
cignZGl2Jyk7Ci12YXIgaW5uZXJTaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGlu
bmVyRGl2MSk7Cit2YXIgaW5uZXJTaGFkb3dSb290MSA9IGlubmVyRGl2MS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBpbm5lclNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICI8ZGl2Pjxjb250ZW50
PjwvY29udGVudD48L2Rpdj4iOwogdmFyIGlubmVyRGl2MiA9IGlubmVyU2hhZG93Um9vdDEucXVl
cnlTZWxlY3RvcignZGl2Jyk7Ci12YXIgaW5uZXJTaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGlubmVyRGl2Mik7Cit2YXIgaW5uZXJTaGFkb3dSb290MiA9IGlubmVyRGl2Mi53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiBpbm5lclNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICI8ZGl2
Pjxjb250ZW50IHRpdGxlPSdkZWJ1Z3N0b3AnPjwvY29udGVudD48L2Rpdj4iOwogCiBzaG91bGRC
ZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKQEAgLTYw
LDcgKzYwLDcgQEAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNo
YWRvd1Jvb3QpIik7CiAKIC8vIENhc2UgZm9yIG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcwogc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAiPGRpdj48ZGl2PjxkaXY+PGNvbnRlbnQ+PC9jb250ZW50Pjwv
ZGl2PjwvZGl2PjwvZGl2PiI7Ci12YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0KTsKK3ZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogLy8gTW9kaWZ5aW5nIG9sZGVyIHNoYWRvdyByb290IG9yIHlvdW5nZXIg
c2hhZG93IHJvb3QgZG9lc24ndCBhZmZlY3QgdGhlIG90aGVyLgogc2hvdWxkQmVUcnVlKCJpbnRl
cm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKIHNob3VsZEJlRmFsc2UoImlu
dGVybmFscy5oYXNDb250ZW50RWxlbWVudCh5b3VuZ2VyU2hhZG93Um9vdCkiKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtZWxlbWVudHNoYWRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWwKaW5kZXgg
NjdmNWQxYTcxZmM0ODlkNGIxOTRhYzA5Mjc3OTU1Y2YwODZiMTBhOC4uMmIxMWFiZmM1M2I4ZjQy
MDMwYzJmM2YwMGE0YmFmNTBiNDAwMTBjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2hhcy1lbGVtZW50c2hhZG93Lmh0bWwKQEAgLTYzLDE3ICs2MywxNyBAQCB0ZXN0
Q2FzZShmdW5jdGlvbigpCiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkaXYpOwogICAgIHNo
b3VsZEJlKCdpbnRlcm5hbHMuY291bnRFbGVtZW50U2hhZG93KHNoYWRvd1Jvb3QpJywgJzAnKTsK
IAotICAgIG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgZGl2LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBzaG91bGRCZSgnaW50ZXJuYWxzLmNvdW50RWxlbWVudFNoYWRvdyhz
aGFkb3dSb290KScsICcxJyk7CiAKLSAgICBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAg
IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hvdWxkQmUoJ2ludGVybmFscy5j
b3VudEVsZW1lbnRTaGFkb3coc2hhZG93Um9vdCknLCAnMScpOwogfSk7CiAKIHRlc3RDYXNlKGZ1
bmN0aW9uKCkKIHsKICAgICBkZWJ1ZygnU2hvdWxkIGJlIGNvdW50ZWQgYnkgZWFjaCBzaGFkb3cg
cm9vdCAobXVsdGlwbGUgc2hhZG93IHJvb3QgY2FzZSknKTsKLSAgICB5b3VuZ2VyU2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHlvdW5nZXJTaGFkb3dSb290ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICB2YXIgZGl2ID0gY3JlYXRlRE9N
KCdkaXYnLCB7fSwgY3JlYXRlU2hhZG93Um9vdCgpKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2hhcy1zaGFkb3ctaW5zZXJ0aW9uLXBvaW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbApp
bmRleCA5ODY3MDJiOTJiYThjYmY1MzU5NGVlNzU0OGEwYmQxMWQ3Yjk0MTY3Li5kNmM4Y2U0MDQ5
OTE2ODc1Njg0MmEzMTQ1YzcyMGRmOTc0MTc0ZmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLXNoYWRvdy1pbnNlcnRpb24tcG9pbnQuaHRtbApA
QCAtMTgsNyArMTgsNyBAQCBlbHNlIGlmICghd2luZG93LmludGVybmFscy5oYXNTaGFkb3dJbnNl
cnRpb25Qb2ludCkKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImhvc3QiKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaG91
bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoc2hhZG93Um9vdCki
KTsKIApAQCAtNDIsNyArNDIsNyBAQCBzaG91bGRCZVRydWUoImludGVybmFscy5oYXNTaGFkb3dJ
bnNlcnRpb25Qb2ludChzaGFkb3dSb290KSIpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGRp
dj48ZGl2PjxkaXY+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj48L2Rpdj48L2Rpdj4iOwogc2hvdWxk
QmVUcnVlKCJpbnRlcm5hbHMuaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoc2hhZG93Um9vdCkiKTsK
IAotdmFyIHlvdW5nZXJTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2
YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIC8v
IE1vZGlmeWluZyBvbGRlciBzaGFkb3cgcm9vdCBvciB5b3VuZ2VyIHNoYWRvdyByb290IGRvZXNu
J3QgYWZmZWN0IHRoZSBvdGhlci4KIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc1NoYWRvd0lu
c2VydGlvblBvaW50KHNoYWRvd1Jvb3QpIik7CiBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFz
U2hhZG93SW5zZXJ0aW9uUG9pbnQoeW91bmdlclNoYWRvd1Jvb3QpIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaG9zdC13cmFwcGVyLXJlY2xhaW1lZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hvc3Qtd3JhcHBlci1yZWNsYWltZWQuaHRtbApp
bmRleCAxOWEwYTk2Njg0YTRlNzU1ZGRkZDVjNmQ4Y2UyNzU5Y2JiYmY3ODZkLi5mNWM2YmZlOWEw
ODYzNjkzYTlkMjU3ZTg5Y2QzZTYzMTAxNWI4YzhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvaG9zdC13cmFwcGVyLXJlY2xhaW1lZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9ob3N0LXdyYXBwZXItcmVjbGFpbWVkLmh0bWwKQEAgLTksNyAr
OSw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gbWFrZU9ycGhhblNoYWRv
dygpIHsKICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAg
IHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgcmV0dXJuIHNoYWRvdzsKIH07
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pZnJhbWUtc2hhZG93
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaWZyYW1lLXNoYWRvdy5odG1sCmlu
ZGV4IDQ1OTU5MmY0ZjU5MzIzNjQxZDRjMTAxNGI0NDRiYmNmOTlmMGNlNjcuLjhhM2NjNzk5NTFj
MThhNTgxZTdlMGU4ZTA4MmFmNGJiOWNiMTE1ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9pZnJhbWUtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2lmcmFtZS1zaGFkb3cuaHRtbApAQCAtMzEsNyArMzEsNyBAQCBzaG91bGRCZSgi
aTEubGVuZ3RoIiwgIjIiKTsKIC8vIFRoZW4gQWRkaW5nIHNvbWUgaWZyYW1lcyBpbnRvIGEgc2hh
ZG93LgogCiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12YXIg
c2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93ID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgaTJJblNoYWRvdyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpOwogaTJJblNoYWRvdy5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAiaTIi
KTsKIHNoYWRvdy5hcHBlbmRDaGlsZChpMkluU2hhZG93KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24td2l0aG91dC1zaGFkb3cu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24t
d2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCA5NDhjZWVkYWJlNTkxMzMwZmIyMzdiODMwN2IyYjdi
ZTllNjkzZDg0Li4wMTc3NzI3NGFjNGFhZjU1ZWU3MDllNGJlMDgxNmViYmE5OWZkZTVjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9u
LXdpdGhvdXQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2lu
cHV0LXdpdGgtdmFsaWRhdGlvbi13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsxMCw3IEBA
CiA8c2NyaXB0PgogZnVuY3Rpb24gZG9UZXN0KCkgewogICAgIHZhciBpbnB1dCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdwYXNzd29yZCcpOwotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaW5wdXQpOworICAgIHZhciBzaGFkb3dSb290ID0gaW5wdXQud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1p
dCcpLmNsaWNrKCk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5wdXQtd2l0aC12YWxpZGF0aW9uLmh0bWwKaW5k
ZXggM2UxNDMxN2U1NDc2MDNiOTkwOTQzOWUzNmY0Mzg2OThlMWM2OTg4ZC4uZGEwNzkzNDc3OTY0
N2M1NjRiN2YxZDFkMDBmNzRkYWVkYmQ0MjRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L2lucHV0LXdpdGgtdmFsaWRhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9pbnB1dC13aXRoLXZhbGlkYXRpb24uaHRtbApAQCAtMTIsNyArMTIs
NyBAQCBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0
aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIHZhciBpbnB1dCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXNzd29yZCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChpbnB1dCk7Cit2YXIgc2hhZG93Um9vdCA9IGlucHV0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFk
b3c+IjsKIAogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1pdCcpLmNsaWNrKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LWxpc3Qt
bWVudS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1w
b2ludC1saXN0LW1lbnUtY3Jhc2guaHRtbAppbmRleCBlYjgxMjVlZDEwODJjMDZkOWM3MjRkZDM3
ZjdkNWY2YmJiNDUwNGEyLi5lYWU0NTcwYzk3MDM1OGRiN2E3OGZiMWVmNmE1MTI1MGQwMDAxMmM5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50
LWxpc3QtbWVudS1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9p
bnNlcnRpb24tcG9pbnQtbGlzdC1tZW51LWNyYXNoLmh0bWwKQEAgLTksMTEgKzksMTEgQEAganNU
ZXN0SXNBc3luYyA9IHRydWU7CiBmdW5jdGlvbiBib29tKCkgewogICAgIHZhciBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIAotICAgIHZhciBvbGRlciA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGRpdik7CisgICAgdmFyIG9sZGVyID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKICAgICBvbGRlci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KSk7CiAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGRpdik7CiAKLSAg
ICB2YXIgeW91bmdlciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHlvdW5n
ZXIgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHZhciBzZWxlY3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTsKICAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2VsZWN0LmFwcGVuZENoaWxkKHNoYWRvdyk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50
LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2luc2VydGlvbi1wb2ludC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbAppbmRleCA4MGU1MzFl
Njg5ZmI4OGYyN2EwOTkyYmQ1OTQwNDY2YzYyMjFjYjQzLi4xNjRkNmM1MGVmZTNjOTg3NmY3NjNm
MzQ5NzhjNTM3ODFhNWZiODdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvaW5zZXJ0aW9uLXBvaW50LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtcmVzZXRTdHlsZUluaGVyaXRh
bmNlLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgZnVuY3Rpb24gdGVzdE5vUmVzZXRTdHlsZUluaGVy
aXRhbmNlKCkgewogICAgIGRlYnVnKCJUZXN0IGNhc2U6IG5vIHJlc2V0LXN0eWxlLWluaGVyaXRh
bmNlLiBjb2xvciB2YWx1ZSBzaG91bGQgYmUgaW5oZXJpdGVkIGZyb20gdGhlIHNoYWRvdyBob3N0
LiIpOwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm8tcmVzZXQtc3R5
bGUtaW5oZXJpdGFuY2UnKTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgaWQ9ImNvbnRlbnQi
PjwvY29udGVudD4nOwogICAgIAogICAgIHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRl
bnQnKS5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSBmYWxzZTsKQEAgLTI2LDcgKzI2LDcgQEAgZnVu
Y3Rpb24gdGVzdFJlc2V0U3R5bGVJbmhlcml0YW5jZSgpIHsKICAgICBkZWJ1ZygiVGVzdCBjYXNl
OiByZXNldC1zdHlsZS1pbmhlcnRpYWNlIGJhc2ljIHRlc3QuIGNvbG9yIHZhbHVlIHNob3VsZCBi
ZSBpbml0aWFsIGJlY2F1c2UgaW5zZXJ0aW9uIHBvaW50J3MgcmVzZXRTdHlsZUluaGVyaXRhbmNl
IGlzIHRydWUuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNl
dC1zdHlsZS1pbmhlcml0YW5jZScpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBpZD0iY29u
dGVudCI+PC9jb250ZW50Pic7CiAKICAgICBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdjb250
ZW50JykucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gdHJ1ZTsKQEAgLTM4LDcgKzM4LDcgQEAgZnVu
Y3Rpb24gdGVzdFJlc2V0U3R5bGVJbmhlcml0YW5jZVdpdGhBdHRyaWJ1dGUoKSB7CiAgICAgZGVi
dWcoIlRlc3QgY2FzZTogbWFrZSBhIGNvbnRlbnQgZWxlbWVudCByZXNldC1zdHlsZS1pbmhlcnRp
YWNlIGJ5IHVzaW5nIGl0cyBhdHRyaWJ1dGUuIGNvbG9yIHZhbHVlIHNob3VsZCBiZSBpbml0aWFs
IGJlY2F1c2UgaW5zZXJ0aW9uIHBvaW50J3MgcmVzZXRTdHlsZUluaGVyaXRhbmNlIGlzIHRydWUu
Iik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldC1zdHlsZS1p
bmhlcml0YW5jZScpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBpZD0iY29udGVudCIgcmVz
ZXQtc3R5bGUtaW5oZXJpdGFuY2U+PC9jb250ZW50Pic7CiAKICAgICBzaG91bGRCZSgnd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc2V0LXN0eWxlLWlu
aGVyaXRhbmNlIikuZmlyc3RDaGlsZCkuY29sb3InLCAnInJnYigwLCAwLCAwKSInKTsKQEAgLTQ5
LDcgKzQ5LDcgQEAgZnVuY3Rpb24gdGVzdFNoYWRvd1Jlc2V0U3R5bGVJbmhlcml0YW5jZVdpdGhB
dHRyaWJ1dGUoKSB7CiAgICAgZGVidWcoIlRlc3QgY2FzZTogbWFrZSBhIHNoYWRvdyBlbGVtZW50
IHJlc2V0LXN0eWxlLWluaGVydGlhY2UgYnkgdXNpbmcgaXRzIGF0dHJpYnV0ZS4gY29sb3IgdmFs
dWUgc2hvdWxkIGJlIGluaXRpYWwgYmVjYXVzZSBpbnNlcnRpb24gcG9pbnQncyByZXNldFN0eWxl
SW5oZXJpdGFuY2UgaXMgdHJ1ZS4iKTsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Jlc2V0LXN0eWxlLWluaGVyaXRhbmNlJyk7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxzaGFk
b3cgaWQ9ImNvbnRlbnQiIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlPjwvY29udGVudD4nOwogCiAg
ICAgc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJyZXNldC1zdHlsZS1pbmhlcml0YW5jZSIpLmZpcnN0Q2hpbGQpLmNvbG9yJywgJyJyZ2Io
MCwgMCwgMCkiJyk7CkBAIC02MCw3ICs2MCw3IEBAIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5o
ZXJpdGFuY2VEeW5hbWljKCkgewogICAgIGRlYnVnKCJUZXN0IGNhc2U6IHJlc2V0LXN0eWxlLWlu
aGVydGlhY2UgY2hhbmdlcyBkeW5hbWljYWxseS4gRmlyc3RseSBjb2xvciB2YWx1ZSBzaG91bGQg
YmUgaW5oZXJpdGVkLiBOZXh0LCBpbml0aWFsLiBBdCBsYXN0LCBpbmhlcml0ZWQuIik7CiAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldC1zdHlsZS1pbmhlcml0YW5j
ZS1keW5hbWljJyk7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IGlkPSJjb250ZW50Ij48L2Nv
bnRlbnQ+JzsKIAogICAgIHNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5yZXNl
dFN0eWxlSW5oZXJpdGFuY2UgPSBmYWxzZTsKQEAgLTc5LDcgKzc5LDcgQEAgZnVuY3Rpb24gdGVz
dFJlc2V0U3R5bGVJbmhlcml0YW5jZUR5bmFtaWMoKSB7CiBmdW5jdGlvbiB0ZXN0UmVzZXRTdHls
ZUluaGVyaXRhbmNlV2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFyeSgpIHsKICAgICBkZWJ1Zygi
VGVzdCBjYXNlOiB0aGUgcGFyZW50IG5vZGUgb2YgdGhlIGRpc3RyaWJ1dGVkIG5vZGUgaXMgaW4g
dGhlIHNhbWUgc2hhZG93IGRvbSBzdWJ0cmVlIGFzIHRoZSBpbnNlcnRpb24gcG9pbnQuIGNvbG9y
IHZhbHVlIHNob3VsZCBiZSBpbml0aWFsLiByZXNldC1zdHlsZS1pbmhlcml0YW5jZSBkb2Vzbid0
IGRlcGVuZCBvbiB3aGV0aGVyIHBhcmVudCBzdHlsZSBub2RlIGlzIGluIHRoZSBzYW1lIHRyZWVz
Y29wZSBvciBub3QuIik7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdy
ZXNldC1idXQtbm90LWNyb3NzLXVwcGVyLWJvdW5kYXJ5Jyk7Ci0gICAgdmFyIHNoYWRvd1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxk
aXYgc3R5bGU9ImNvbG9yOmJsdWU7IGJhY2tncm91bmQtY29sb3I6Z3JlZW47Ij48Y29udGVudCBp
ZD0iY29udGVudCI+PC9jb250ZW50PjwvZGl2Pic7CiAKQEAgLTkxLDEzICs5MSwxMyBAQCBmdW5j
dGlvbiB0ZXN0UmVzZXRTdHlsZUluaGVyaXRhbmNlV2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFy
eSgpIHsKIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJpdGFuY2VXaXRoTXVsdGlwbGVTaGFk
b3dSb290cygpIHsKICAgICBkZWJ1ZygiVGVzdCBjYXNlOiByZXNldC1zdHlsZS1pbmhlcml0YW5j
ZSB3aXRoIG11bHRpcGxlIHNoYWRvdyByb290cy4gY29sb3IgdmFsdWUgc2hvdWxkIGJlIGluaXRp
YWwsIGJlY2F1c2UgcmVzZXQtc3R5bGUtaW5oZXJpdGFuY2Ugb2YgdGhlIGluc2VydGlvbiBwb2lu
dCBpbiB0aGUgeW91bmdlc3Qgc2hhZG93IHJvb3QgaXMgdHJ1ZS4iKTsKICAgICB2YXIgZGl2ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ211bHRpcGxlLXNoYWRvdy1yb290cycpOwotICAgIHZh
ciBvbGRlc3RTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIg
b2xkZXN0U2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgb2xk
ZXN0U2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgaWQ9ImNvbnRlbnQiPjwvY29udGVu
dD4nOwogCi0gICAgdmFyIHlvdW5nZXJTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZGl2KTsKKyAgICB2YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIHlvdW5nZXJTaGFkb3dSb290LmlubmVySFRNTCA9ICc8c2hhZG93IGlkPSJz
aGFkb3ciPjwvc2hhZG93Pic7CiAKLSAgICB2YXIgeW91bmdlc3RTaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgeW91bmdlc3RTaGFkb3dSb290ID0gZGl2Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB5b3VuZ2VzdFNoYWRvd1Jvb3QuaW5uZXJIVE1M
ID0gJzxzaGFkb3cgaWQ9InNoYWRvdyI+PC9zaGFkb3c+JzsKIAogICAgIG9sZGVzdFNoYWRvd1Jv
b3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSBmYWxz
ZTsKQEAgLTExMCwxMCArMTEwLDEwIEBAIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5oZXJpdGFu
Y2VXaXRoTXVsdGlwbGVTaGFkb3dSb290cygpIHsKIGZ1bmN0aW9uIHRlc3RSZXNldFN0eWxlSW5o
ZXJpdGFuY2VXaXRoTXVsdGlwbGVJbnNlcnRpb25Qb2ludHMoKSB7CiAgICAgZGVidWcoIlRlc3Qg
Y2FzZTogbXVsdGlwbGUgaW5zZXJ0aW9uIHBvaW50cyBpbiB0aGUgc2FtZSBzaGFkb3cgZG9tIHN1
YnRyZWUuLiBFYWNoIHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlIHNob3VsZCBiZSBjaGVja2VkLiIp
OwogICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXVsdGlwbGUtaW5zZXJ0
aW9uLXBvaW50cycpOwotICAgIHZhciBvbGRlc3RTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZGl2KTsKKyAgICB2YXIgb2xkZXN0U2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgb2xkZXN0U2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
aWQ9ImNvbnRlbnQiPjwvY29udGVudD4nOwogCi0gICAgdmFyIHlvdW5nZXN0U2hhZG93Um9vdCA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHlvdW5nZXN0U2hhZG93Um9vdCA9
IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgeW91bmdlc3RTaGFkb3dSb290Lmlu
bmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpmaXJzdC1jaGlsZCIgaWQ9ImNvbnRlbnQiPjwv
Y29udGVudD48c2hhZG93IGlkPSJzaGFkb3ciPjwvc2hhZG93Pic7CiAKICAgICB5b3VuZ2VzdFNo
YWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5yZXNldFN0eWxlSW5oZXJpdGFuY2Ug
PSBmYWxzZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRp
b24tcG9pbnQtc2hhZG93LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
aW5zZXJ0aW9uLXBvaW50LXNoYWRvdy1jcmFzaC5odG1sCmluZGV4IGFjOTQxMDhiNjBmZmZjZTIw
YWQ0Zjg2ODgyMTRhMzAxOTY5MWY3OTEuLmJhNDM3NzNkNTU4Nzc5ZGU4ZDI5MzNjZTJjYjE1OWZi
NjY1OTI0NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRp
b24tcG9pbnQtc2hhZG93LWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2luc2VydGlvbi1wb2ludC1zaGFkb3ctY3Jhc2guaHRtbApAQCAtOSwxMCArOSwxMCBAQCBm
dW5jdGlvbiBydW5UZXN0cygpCiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHNoYWRv
dzEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvdzEgPSBkaXYud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzEuaW5uZXJIVE1MID0gIjxzdHlsZT5kaXYg
eyBjb2xvcjogcmVkOyB9PC9zdHlsZT48ZGl2PkhFTExPPC9kaXY+IjsKIAotICAgIHNoYWRvdzIg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHNoYWRvdzIgPSBkaXYud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvdzIuaW5uZXJIVE1MID0gIjxkaXY+PHNoYWRvdz48
L3NoYWRvdz48L2Rpdj4iOwogICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKICAgICBkb2N1
bWVudC5ib2R5LmlubmVySFRNTCA9ICJQQVNTIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnNlcnRpb24tcG9pbnQtdmlkZW8tY3Jhc2guaHRtbAppbmRl
eCBhZjEyM2RiOWEzNjkxNTQ0YTE3MzAwOTk5ODMwNmY5ODliNjllMDljLi43OTg4ZmIxMWFhOTE4
ZDU2OTczZWFhZWVjNDNlZTg1ZjYzYzJkYmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvaW5zZXJ0aW9uLXBvaW50LXZpZGVvLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2luc2VydGlvbi1wb2ludC12aWRlby1jcmFzaC5odG1sCkBA
IC05LDggKzksOCBAQCBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIGZ1bmN0aW9uIGJvb20oKSB7CiAg
ICAgZGl2Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChkaXZOb2RlKTsKLSAgICBkaXZTaGFkb3cxID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2Tm9kZSk7Ci0gICAgZGl2U2hhZG93MiA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGRpdk5vZGUpOworICAgIGRpdlNoYWRvdzEgPSBkaXZOb2RlLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKKyAgICBkaXZTaGFkb3cyID0gZGl2Tm9kZS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgCiAgICAgdmlkZW9Ob2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgndmlkZW8nKTsKICAgICBkaXZTaGFkb3cyLmFwcGVuZENoaWxkKHZpZGVvTm9kZSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaW52YWxpZGF0ZS1kaXN0cmlidXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3RyaWJ1
dGlvbi5odG1sCmluZGV4IGIzOTA1MWJkOTQ3YTUxOTRlNmIxNTQ3NTcyMjZjYzVjZDFiZTMwYWEu
LmQ2N2QwYzBmYTkwYmY4NDhlOTk2MDQxY2Y5ZWJlODlkOWNiZTEwMjMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3RyaWJ1dGlvbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9pbnZhbGlkYXRlLWRpc3RyaWJ1dGlvbi5o
dG1sCkBAIC04LDExICs4LDExIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHA+b2xkZXN0IHNoYWRvdzwvcD4iCiAKIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QyID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gIjxwPnlvdW5nZXIgc2hh
ZG93PC9wPiI7CiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbGluay1pbi1zaGFkb3ctdHJlZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2xpbmstaW4tc2hhZG93LXRyZWUuaHRtbAppbmRleCBkNzdk
MzNlYzU1N2U0NTg0M2VjNDQ4ZjIyN2IyZjY5Y2E5NmNkNjk1Li5kNDYzZjA1MWQxM2JlODBkMzU5
MmU3ZjdkNmVlZDVhOTc2ZGZjOWFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvbGluay1pbi1zaGFkb3ctdHJlZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9saW5rLWluLXNoYWRvdy10cmVlLmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAgZnVuY3Rp
b24gY29tcHV0ZWRCYWNrZ3JvdW5kQ29sb3IoZWxlbSkgewogCiB2YXIgY29udGFpbmVyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwogCi12YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGNvbnRhaW5lcik7Cit2YXIgc2hhZG93Um9vdCA9IGNvbnRhaW5l
ci53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnbGluaycpOwogbGluay5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdzdHlsZXNoZWV0Jyk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93
cm9vdC1hZG9wdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNo
YWRvd3Jvb3QtYWRvcHQuaHRtbAppbmRleCAyODM5YWU3ODI1MTI4N2U2YTg1YTdiYmIxMzM0Mzgw
MTIzMjgzYmJlLi42NDk0YWU5OTU4YmRiYTZhODcyNDdlYjVmOTJlNzMzMjk5NWQxMjJhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1h
ZG9wdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFk
b3dyb290LWFkb3B0Lmh0bWwKQEAgLTEyLDggKzEyLDggQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiBk
b1Rlc3QoKSB7CiAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwotICAgIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHRhcmdldCk7Ci0gICAgc3IyID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QodGFyZ2V0KTsKKyAgICBzcjEgPSB0YXJnZXQud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOworICAgIHNyMiA9IHRhcmdldC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAKICAgICBzaG91bGRCZSgnZG9jdW1lbnQnLCAnc3IxLm93bmVyRG9jdW1lbnQnKTsKICAgICBz
aG91bGRCZSgnc3IxLm93bmVyRG9jdW1lbnQnLCAnc3IyLm93bmVyRG9jdW1lbnQnKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LXJl
bmRlcmluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRv
d3Jvb3QtcmVuZGVyaW5nLmh0bWwKaW5kZXggNDA1OWEzMTE2MjM0ZGQyZDkwYTFlZTU2MmNhNGNl
YTRiMTU4NjM1MS4uZmY5ZmIyMzg5NGY3M2JiY2QwMmYwNmUwZWFiNzUxOWFiMGRlNWQyZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3Qt
cmVuZGVyaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxl
LXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWwKQEAgLTIzLDEyICsyMywxMiBAQCB0ZXN0RnVuY3Mu
cHVzaChmdW5jdGlvbiB0ZXN0RG91YmxlU2hhZG93U3VidHJlZXMoY2FsbElmRG9uZSkgewogICAg
IHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUJykpOwogCi0gICAgdmFyIHNyMSA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdC
RUZPUkU6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnTUlEOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAgIHNy
MS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJFIFJF
TkRFUkVEJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwor
ICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IyLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtNDQsMTcgKzQ0LDE3IEBAIHRlc3RGdW5jcy5w
dXNoKGZ1bmN0aW9uIHRlc3RUcmlwbGVTaGFkb3dTdWJ0cmVlcyhjYWxsSWZEb25lKSB7CiAgICAg
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JF
Rk9SRTogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdNSUQ6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3Ix
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVI6IFNIT1VMRCBOT1QgQkUgUkVO
REVSRUQnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7Cisg
ICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5ERVJF
RCcpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQ6IFNIT1VM
RCBOT1QgQkUgUkVOREVSRUQnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnQUZURVI6IFNIT1VMRCBOT1QgQkUgUkVOREVSRUQnKSk7CiAKLSAgICB2YXIgc3IzID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMyA9IHJvb3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIHNyMy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0JFRk9SRScpKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQn
KSk7CiAgICAgc3IzLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBA
IC03MCwxMiArNzAsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVzdFNoYWRvd1N1YnRy
ZWVzV2l0aENvbnRlbnQoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0xJR0hUJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3Qp
OworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkU6IFNIT1VMRCBOT1QgQkUgUkVO
REVSRUQnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEOiBT
SE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0FGVEVSOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogCi0gICAgdmFyIHNy
MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhU
ZXh0KCdCRUZPUkUnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2Vs
ZWN0KCdzcGFuJywgJ0ZBTExCQUNLJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtOTIsMTIgKzkyLDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1
bmN0aW9uIHRlc3RTaGFkb3dTdWJ0cmVlc1dpdGhDb250ZW50SW5PbGRlclN1YnRyZWUoY2FsbElm
RG9uZSkKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQgMScs
ICdjMScpKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQg
MicsICdjMicpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsK
KyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFOiBTSE9VTEQgTk9UIEJFIFJFTkRF
UkVEJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLmMy
JywgJ0ZBTExCQUNLJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0FGVEVSOiBTSE9VTEQgTk9UIEJFIFJFTkRFUkVEJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZP
UkUnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCcuYzEn
LCAnRkFMTEJBQ0snKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgn
QUZURVInKSk7CkBAIC0xMTQsNyArMTE0LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gdGVz
dFNoYWRvd1N1YnRyZWVzV2l0aER5bmFtaWNDcmVhdGlvbihjYWxsSWZEb25lKSB7CiAgICAgcm9v
dC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUIDEnLCAnYzEnKSk7CiAgICAg
cm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJR0hUIDInLCAnYzInKSk7CiAK
LSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9
IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKICAgICBz
cjEuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3NwYW4nLCAnRkFMTEJBQ0sg
MScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUjogU0hP
VUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKQEAgLTEyMiw3ICsxMjIsNyBAQCB0ZXN0RnVuY3MucHVz
aChmdW5jdGlvbiB0ZXN0U2hhZG93U3VidHJlZXNXaXRoRHluYW1pY0NyZWF0aW9uKGNhbGxJZkRv
bmUpIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFw
cGVuZENoaWxkKHJvb3QpOwogCiAgICAgc2V0VGltZW91dCgoZnVuY3Rpb24oY2FsbElmRG9uZSwg
cm9vdCkgeyByZXR1cm4gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChyb290KTsKKyAgICAgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdC
RUZPUkUnKSk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVj
dCgnc3BhbicsICdGQUxMQkFDSyAyJykpOwogICAgICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCdBRlRFUicpKTsKQEAgLTEzOCwxMyArMTM4LDEzIEBAIHRlc3RGdW5jcy5w
dXNoKGZ1bmN0aW9uIHRlc3RTaGFkb3dTdWJ0cmVlc1dpdGhEeW5hbWljQ3JlYXRpb25PdXRPZlRy
ZWUoY2FsbElmRG9uCiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0xJ
R0hUIDEnLCAnYzEnKSk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J0xJR0hUIDInLCAnYzInKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
cm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAg
IHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRTogU0hPVUxEIE5PVCBC
RSBSRU5ERVJFRCcpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxl
Y3QoJ3NwYW4nLCAnRkFMTEJBQ0sgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdBRlRFUjogU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKIAogICAgIHNldFRp
bWVvdXQoKGZ1bmN0aW9uKGNhbGxJZkRvbmUsIHJvb3QpIHsgcmV0dXJuIGZ1bmN0aW9uKCkgewot
ICAgICAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgICAgIHZh
ciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICAgICAgc3IyLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgICAgICBzcjIuYXBwZW5k
Q2hpbGQoY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3NwYW4nLCAnRkFMTEJBQ0sgMicpKTsKICAg
ICAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QuaHRt
bAppbmRleCAyYTZiNTI4MGVkZDFhODdiMjQ3MDI4MTc1ZGQ5YTY4NjNkNDI2MTJjLi4yMTFlZGI0
ZDVmMDVmYTIxMTEzM2JhZmQxNWM1NGI2M2U3YjhhMGVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0bWwKQEAgLTksMTUgKzks
MTUgQEAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmUgdGhhdCB0aGUgbXVsdGlwbGUgc2hh
ZG93IHJvb3QgaXMgYXZhaWxhYmxlLiIpOwogCiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiBzaG91bGRCZSgiaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSIsICJudWxs
Iik7Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOwordmFyIHNo
YWRvd1Jvb3QxID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNob3VsZEJlKCJpbnRl
cm5hbHMuc2hhZG93Um9vdChkaXYpIiwgInNoYWRvd1Jvb3QxIik7CiBzaG91bGRCZSgiaW50ZXJu
YWxzLm9sZGVyU2hhZG93Um9vdChzaGFkb3dSb290MSkiLCAibnVsbCIpOwogCi12YXIgc2hhZG93
Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpCit2YXIgc2hhZG93Um9vdDIgPSBkaXYu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpCiBzaG91bGRCZSgiaW50ZXJuYWxzLnNoYWRvd1Jvb3Qo
ZGl2KSIsICJzaGFkb3dSb290MiIpOwogc2hvdWxkQmUoImludGVybmFscy5vbGRlclNoYWRvd1Jv
b3Qoc2hhZG93Um9vdDIpIiwgInNoYWRvd1Jvb3QxIik7CiAKLXZhciBzaGFkb3dSb290MyA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGRpdik7Cit2YXIgc2hhZG93Um9vdDMgPSBkaXYud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogc2hvdWxkQmUoImludGVybmFscy5zaGFkb3dSb290KGRpdikiLCAi
c2hhZG93Um9vdDMiKTsKIHNob3VsZEJlKCJpbnRlcm5hbHMub2xkZXJTaGFkb3dSb290KHNoYWRv
d1Jvb3QzKSIsICJzaGFkb3dSb290MiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcGFyZW50LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcGFyZW50LXRyZWUtc2NvcGUtaW4tc2hhZG93Lmh0bWwKaW5kZXgg
MGEwODE5NDIwZWRlOTNjZjMyODE4NjdkZjkzZWQyYTllNDBjYTEwZS4uMWRhNmFmYTNjNjdjZTgy
YzgyNGE5NDQzMzk2OTU5YWY0Y2M3MGFlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BhcmVudC10cmVlLXNjb3BlLWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wYXJlbnQtdHJlZS1zY29wZS1pbi1zaGFkb3cuaHRtbApAQCAt
MTIsMTMgKzEyLDEzIEBACiAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIAogICBk
ZWJ1ZygiQ3JlYXRpbmcgc2hhZG93IGRvbSBzdWJ0cmVlcyBmcm9tIHRvcCB0byBib3R0b20uIik7
Ci0gIHZhciBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgdmFyIHNoYWRv
dzEgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3cxLmlubmVySFRNTCA9
ICI8ZGl2IGlkPSdFJz4vZGl2PiI7CiAgIHZhciBlID0gc2hhZG93MS5nZXRFbGVtZW50QnlJZCgi
RSIpOwotICB2YXIgc2hhZG93MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGUpOworICB2YXIgc2hh
ZG93MiA9IGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3cyLmlubmVySFRNTCA9
ICI8ZGl2IGlkPSdGJz48L2Rpdj4iOwogICB2YXIgZiA9IHNoYWRvdzIuZ2V0RWxlbWVudEJ5SWQo
IkYiKTsKLSAgdmFyIHNoYWRvdzMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChmKTsKKyAgdmFyIHNo
YWRvdzMgPSBmLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgc2hhZG93My5pbm5lckhUTUwg
PSAiPGRpdiBpZD0nRyc+PC9kaXY+IjsKIAogICBzaG91bGRCZSgiaW50ZXJuYWxzLnBhcmVudFRy
ZWVTY29wZShzaGFkb3cxKSIsICJkb2N1bWVudCIpOwpAQCAtMzAsMTMgKzMwLDEzIEBACiAgIGRl
YnVnKCJDcmVhdGluZyBtdWx0aXBsZSBzaGFkb3cgZG9tIHN1YnRyZWVzLiIpOwogICBkaXYgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChkaXYpOwotICBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgc2hhZG93
MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgIHNoYWRvdzEuaW5uZXJIVE1MID0g
IjxkaXYgaWQ9J0gnPjwvZGl2PiI7CiAKICAgdmFyIGggPSBzaGFkb3cxLmdldEVsZW1lbnRCeUlk
KCJIIik7Ci0gIHNoYWRvdzIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChoKTsKKyAgc2hhZG93MiA9
IGgud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICBzaGFkb3cyLmlubmVySFRNTCA9ICI8ZGl2
PnNoYWRvdzI8L2Rpdj4iOwotICBzaGFkb3czID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaCk7Cisg
IHNoYWRvdzMgPSBoLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgc2hhZG93My5pbm5lckhU
TUwgPSAiPGRpdj5zaGFkb3czPC9kaXY+IjsKICAgc2hvdWxkQmUoImludGVybmFscy5wYXJlbnRU
cmVlU2NvcGUoc2hhZG93MikiLCAic2hhZG93MSIpOwogICBzaG91bGRCZSgiaW50ZXJuYWxzLnBh
cmVudFRyZWVTY29wZShzaGFkb3czKSIsICJzaGFkb3cxIik7CkBAIC00NSwxMyArNDUsMTMgQEAK
IAogICBkZWJ1ZygiQ3JlYXRpbmcgbXVsdGlwbGUgc2hhZG93IGRvbSBzdWJ0cmVlcyBmcm9tIGJv
dHRvbSB0byB0b3AuIik7CiAgIGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAg
c2hhZG93MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGYpOworICBzaGFkb3czID0gZi53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAgIHNoYWRvdzMuaW5uZXJIVE1MID0gIjxkaXYgaWQ9J0cnPjwv
ZGl2PiI7CiAgIGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgc2hhZG93MiA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGUpOworICBzaGFkb3cyID0gZS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgIHNoYWRvdzIuYXBwZW5kQ2hpbGQoZik7CiAgIGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwotICBzaGFkb3cxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KTsKKyAgc2hhZG93MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgIHNoYWRvdzEu
YXBwZW5kQ2hpbGQoZSk7CiAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUtZHlu
YW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1hdHRyaWJ1dGUt
ZHluYW1pYy5odG1sCmluZGV4IGYwZGEyMGYxNTI2ZTE0MDg2NzNlN2NmN2UwYjljOTljMDY1OWU1
YzcuLjhiZWZmMGU0OThiZWQ4MTdiZTMyYmQwNzFiMzYzMmI1ZTUzMzg3M2EgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG8tYXR0cmlidXRlLWR5bmFtaWMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0dHJpYnV0ZS1keW5h
bWljLmh0bWwKQEAgLTIyLDcgKzIyLDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBkaXYu
d2Via2l0UHNldWRvID0gJ3gtZm9vJzsKIGRpdi5pbm5lckhUTUwgPSAiVGhpcyBzaG91bGQgYmUg
Ymx1ZS4iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkby1h
dHRyaWJ1dGUtcmVuZGVyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvLWF0dHJpYnV0ZS1yZW5kZXJpbmcuaHRtbAppbmRleCA3NjgyYjQyZjBkOWZlZDdkM2Y5NzI5
OGViMjI3MGVjMzExZWRiMWI4Li5lODM3Njk5NzY3MWEzNTQ0NTE3N2E0MDU4ZDQ4MWNhZTE3ZDJk
MTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvLWF0dHJp
YnV0ZS1yZW5kZXJpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvLWF0dHJpYnV0ZS1yZW5kZXJpbmcuaHRtbApAQCAtMTgsMTMgKzE4LDEzIEBAIGRpdjo6LXdl
YmtpdC1mb29iYXIgewogPGRpdiBpZD0iaG9zdDIiPjwvZGl2PgogCiA8c2NyaXB0PgotdmFyIHNo
YWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3Qx
ID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdjEgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdjEud2Via2l0UHNldWRvID0gJ3gtZm9vJzsKIGRpdjEu
aW5uZXJIVE1MID0gIlRoaXMgdGV4dCBzaG91bGQgYmUgcmVkLiI7CiBzaGFkb3dSb290MS5hcHBl
bmRDaGlsZChkaXYxKTsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogdmFyIGRpdjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIGRpdjIud2Via2l0
UHNldWRvID0gJy13ZWJraXQtZm9vYmFyJzsKIGRpdjIuaW5uZXJIVE1MID0gIlRoaXMgdGV4dCBz
aG91bGQgbm90IGJlIHJlZC4iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLWlucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRtbAppbmRl
eCA4YTJlMzg0OGQ3ZjU0NGI4ZDE1NWMyYTFmNDg4YTkwNDE2MjJiNDRkLi5kNDQ1ZTUyMDU1YmMz
ODQ1OTViZGM4YTk1OWY0ODRmNzNiN2VjZWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5wdXQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWNoZWNrZWQtaW5w
dXQuaHRtbApAQCAtMzMsMTAgKzMzLDEwIEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qx
KS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4nOwotbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImlucHV0
OmNoZWNrZWQiPic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MykuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3Q0KS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVja2VkIj4nOworaG9z
dDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
ImlucHV0OmNoZWNrZWQiPic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJI
VE1MID0gJzxjb250ZW50IHNlbGVjdD0iaW5wdXQ6Y2hlY2tlZCI+JzsKK2hvc3QzLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJpbnB1dDpjaGVj
a2VkIj4nOworaG9zdDQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29u
dGVudCBzZWxlY3Q9ImlucHV0OmNoZWNrZWQiPic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
CiAgICAgaW5wdXQxLmNoZWNrZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLW9wdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1jaGVja2VkLW9wdGlv
bi5odG1sCmluZGV4IGI3YmFmNzllY2FmOWZiOWQ2NmMyMTBkZGU2ZWY5ZDI5NDI1MWZkMmMuLjU5
NzRiOWQzNTE4OTFhYTRmNTBkYmUxMjA4NDE4YjY3NDY5ZjI0MDcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtY2hlY2tlZC1vcHRpb24u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWNoZWNrZWQtb3B0aW9uLmh0bWwKQEAgLTI1LDggKzI1LDggQEAKIDxzY3JpcHQ+CiBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDEpOwotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwor
dmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwordmFyIHNo
YWRvd1Jvb3QyID0gaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiBzaGFkb3dSb290
MS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJvcHRpb246Y2hlY2tlZCI+JzsKIHNoYWRv
d1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Im9wdGlvbjpjaGVja2VkIj4nOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0
ZS1kaXNhYmxlZC1idXR0b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtYnV0dG9uLmh0bWwKaW5kZXggNjg2NGNhYTZlNmI4ZjY1
NmYzMDVlNDQ4MTljNzZhOGM3YTljZDFmMy4uYTYxOWIwM2VjYjVkYWMzZTdjNjM3YjA2ZGJjYTIz
OTMxZTE5MzdjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVk
b2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1idXR0b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWJ1dHRvbi5odG1sCkBAIC0y
Miw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9j
b250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwv
Y29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGJ1dHRvbjIuc2V0QXR0
cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1maWVsZHNldC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1maWVs
ZHNldC5odG1sCmluZGV4IDU4NTcxNTE4YTcyMTdlZmNmMzEwYmFiYWQ1ZTZhYjc2NTUzYmIxMGEu
LjkwOTE3N2RjZTZlMzAzYzBiZmFhNDNkNTA4MTEwODkxNDg4ZjEwZWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtZmll
bGRzZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWRpc2FibGVkLWZpZWxkc2V0Lmh0bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNh
YmxlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJs
ZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CiAgICAgZmllbGRzZXQyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0
cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtZGlzYWJsZWQtaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtaW5wdXQuaHRtbAppbmRleCAzMmYyMWNlYzU4
MTllOTJjNzBjZTExMzcyM2RiMDM4NjcwNzEzOTQwLi4wYWU3OWRlZjUyZDE1ZGZjNWY2ZWFlZWYy
MDIzYjkyMGE4Yjk5NWJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLWlucHV0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1pbnB1dC5odG1sCkBA
IC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwg
PSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+
PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQi
PjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIGlucHV0Mi5zZXRB
dHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGdyb3VwLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9w
dGdyb3VwLmh0bWwKaW5kZXggZDg4NjAzM2Q3YTE5YWYyZTQwM2E4MjI0MzQxYzQyZGIxNDNjYjA2
Ny4uYjcyMmVkMTQ4NDcxNWE0ZTBlZjQ1YzRmODkwMDYzMjhjYjQzNzUwYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1v
cHRncm91cC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtZGlzYWJsZWQtb3B0Z3JvdXAuaHRtbApAQCAtMjcsOCArMjcsOCBAQAogPHNjcmlw
dD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0MSk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAK
IHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+JzsK
IHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+JzsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZGlzYWJsZWQtb3B0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNl
dWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLW9wdGlvbi5odG1sCmluZGV4IDQ1MDIyN2YzOGVkZGVm
M2U4YTNmNTZkMDE5YTMyZDlkNjk5YWQ3OGIuLjQyYWQzNDAxNDMwZDYyZmI5ZDgyNTI4YmViYmNm
NWMwNTdlM2Q5MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtb3B0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC1vcHRpb24uaHRtbApAQCAt
MjcsOCArMjcsOCBAQAogPHNjcmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hh
ZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Ci12YXIgc2hhZG93Um9vdDIg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiAKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBz
ZWxlY3Q9IjpkaXNhYmxlZCI+JzsKIHNoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBz
ZWxlY3Q9IjpkaXNhYmxlZCI+JzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2VsZWN0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWRpc2FibGVkLXNlbGVjdC5odG1s
CmluZGV4IGRhMDNjMTRhMDNiNDA0Yjk1NWIyNTIxMTVjOWZlYjI4NGRhZWE4YTEuLmY4NjhkZjI1
MTc5YTkxNDU1OTJkNTNkOTZlZDY3MmM4ZDI0OWU5NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJsZWQtc2VsZWN0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNh
YmxlZC1zZWxlY3QuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRl
bnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9jb250ZW50
Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigp
IHsKICAgICBzZWxlY3QyLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCB0cnVlKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZGlzYWJs
ZWQtdGV4dGFyZWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtZGlzYWJsZWQtdGV4dGFyZWEuaHRtbAppbmRleCBkNzVmNGNjNTkzYjA0ZjY3NTFl
Y2EyMTYzN2E3ODFmN2NhNTJhNDg4Li5mODY0OGJlYjYzNjk4OWUwNDhjZWVjMjcwYzY0NzMyOTc3
YjljN2Y2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWRpc2FibGVkLXRleHRhcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1kaXNhYmxlZC10ZXh0YXJlYS5odG1sCkBAIC0y
Miw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktpdFNoYWRv
d1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpkaXNhYmxlZCI+PC9j
b250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iOmRpc2FibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZGlzYWJsZWQiPjwv
Y29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIHRleHRhcmVhMi5zZXRB
dHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYW5jaG9yLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYW5jaG9y
Lmh0bWwKaW5kZXggOTY5MTQwNGM5OTNkYWJjYWE5NjQ5ZmUzNzI3YTYwNzMyNWEzZDdhNi4uYjUw
NWIzODQ0NGExYzZiMTdjZDljZWIwODMyYjIyMWJhNTI3YjY4MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWFuY2hvci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUt
ZW5hYmxlZC1hbmNob3IuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29u
dGVudD4nOwotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVu
dCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50
Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
ewogICAgIGFuY2hvcjIucmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYXJlYS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFi
bGVkLWFyZWEuaHRtbAppbmRleCAxNTg3YmFiZGNiY2M0Y2Y2OGNhNjc3OTgxYzBmZDQ1YjA0YzQ4
MTlmLi4wMjlhMTliM2UxMGM0N2YxMTA5MDM2MmE4MDczZmVjOThkNmQyZGJmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQt
YXJlYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtZW5hYmxlZC1hcmVhLmh0bWwKQEAgLTQxLDggKzQxLDggQEAgaG9zdDEuYXBwZW5kQ2hp
bGQoYXJlYTIpOwogaG9zdDIuYXBwZW5kQ2hpbGQoYXJlYTMpOwogaG9zdDIuYXBwZW5kQ2hpbGQo
YXJlYTQpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250
ZW50IHNlbGVjdD0iYXJlYTplbmFibGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOmVuYWJsZWQiPjwv
Y29udGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8
Y29udGVudCBzZWxlY3Q9ImFyZWE6ZW5hYmxlZCI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTplbmFi
bGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBhcmVhMi5y
ZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0b24uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1idXR0b24uaHRt
bAppbmRleCBkNjhhMGY2ZjM0NGJlM2ZiNWFjYzY3YjNmODdmNjg2MzZmY2E3YzMzLi43ZDc1ZTI1
MjAyYjU2ODY4ZjQwNWE2MjcyMjY2NTY2MDgxMWUzMDVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYnV0dG9uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFi
bGVkLWJ1dHRvbi5odG1sCkBAIC0yMiw4ICsyMiw4IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIp
CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50
Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsK
K2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2Vs
ZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAg
ICAgYnV0dG9uMi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtZmll
bGRzZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZW5hYmxlZC1maWVsZHNldC5odG1sCmluZGV4IGQ3ODVmNmI5ZDBlOGUzMjY4MWFjMDM4NjM1
MTc5NTBlZDNlNzA0NjcuLjgzODUzNDA2NGQ4MGY5YmVmZWY5YTQ3YjI1NTQ3OGMwMGMzMjBkMTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRh
dGUtZW5hYmxlZC1maWVsZHNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1maWVsZHNldC5odG1sCkBAIC0yMiw4ICsyMiw4
IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CiAKLW5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQg
c2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwor
aG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxl
Y3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7CiAK
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgZmllbGRzZXQyLnNldEF0dHJpYnV0ZSgnZGlz
YWJsZWQnLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9w
c2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1pbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0bWwKaW5kZXggMDkx
MzczYzRmMzlkMzk2NWQ1ODZhNWUzMTU2NWI5YWRkNmVlZDFmYy4uMGQ3Yjk0MGUzZTJkMGY3NjNl
M2RlNzRjZTNjYjFmMDRjNWU4NjEzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLWlucHV0Lmh0
bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVy
SFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxl
ZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1M
ID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVk
Ij48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBpbnB1dDIuc2V0
QXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLW9wdGdyb3VwLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtb3B0
Z3JvdXAuaHRtbAppbmRleCA1NzcwNTdkN2U4NGEwYWFhYzFiOTE3ZTM5MjVhZWRmNGY2NTdmNDVh
Li44ZDMyMjU1YzdjMDY4NzcyYWM5NGZlZTRmOGRlZWIyMTViMTZiMTU5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtb3B0
Z3JvdXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWVuYWJsZWQtb3B0Z3JvdXAuaHRtbApAQCAtMjcsOCArMjcsOCBAQAogPHNjcmlwdD4K
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0MSk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0Mik7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKIHNo
YWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj4nOwogc2hh
ZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPic7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVu
YWJsZWQtb3B0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWVuYWJsZWQtb3B0aW9uLmh0bWwKaW5kZXggNDU1ZWQ3ZDg3ZTM3MWFiZjY4N2U1
YTM1ZmE3MmFiNGY0N2FmNDNlMC4uYzI1MjZkNTU0ZmE2M2UyMmJkNzBjZmVhMzRkNzhkODgyYjcw
ZjM0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNz
LXVwZGF0ZS1lbmFibGVkLW9wdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1vcHRpb24uaHRtbApAQCAtMjcsOCArMjcs
OCBAQAogPHNjcmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi12YXIgc2hhZG93Um9vdDEg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijpl
bmFibGVkIj4nOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVu
YWJsZWQiPic7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtc2VsZWN0Lmh0bWwKaW5kZXggODBiMWQ2
ZjcwOWMyMDNhMTNiMTk2MzEyZWM5YjljMjM5M2JlMjVjOC4uNTM5Zjg2N2U0YWZkY2YxYmI0MTNi
MmRjZmQ4OTYwZTRhMmUyMDhjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXNlbGVjdC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtZW5hYmxlZC1zZWxlY3QuaHRt
bApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJI
VE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVk
Ij48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwg
PSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQi
PjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgIHNlbGVjdDIuc2V0
QXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1lbmFibGVkLXRleHRhcmVhLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtdGV4
dGFyZWEuaHRtbAppbmRleCAzNGMwYmMzNzEyMjhlZmY2NmE4MDgyNDMxNDAyOTViYjNlZGQ5ZDg1
Li4wNTE3N2VlYmJiOTgzNmI3YjE1MTYxOTNiM2M4MWY0MTQzMWM3OGMwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtdGV4
dGFyZWEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWVuYWJsZWQtdGV4dGFyZWEuaHRtbApAQCAtMjIsOCArMjIsOCBAQAogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi1uZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0MSkuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOmVuYWJs
ZWQiPjwvY29udGVudD4nOwotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpLmlubmVySFRNTCA9
ICc8Y29udGVudCBzZWxlY3Q9IjplbmFibGVkIj48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6ZW5hYmxlZCI+
PC9jb250ZW50Pic7Citob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iOmVuYWJsZWQiPjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewogICAgIHRleHRhcmVhMi5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgdHJ1ZSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBk
YXRlLWluZGV0ZXJtaW5hdGUtaW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1dC5odG1sCmluZGV4IDFhODZh
NTc5ODk1NDE1OGQ4ZGU0ZDFmYTJhNmE1MWNlMWZkNzFkZWYuLjA1NGU0NGI2NWQzOWVkNGE1Zjk2
YjA1OTU1OGJhNzZkMGJiZTM1NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1pbnB1dC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0
ZS1pbnB1dC5odG1sCkBAIC0zMCw3ICszMCw3IEBAIGlucHV0Mi5pbmRldGVybWluYXRlID0gdHJ1
ZTsKIGlucHV0NC5pbmRldGVybWluYXRlID0gdHJ1ZTsKIGlucHV0NS5pbmRldGVybWluYXRlID0g
dHJ1ZTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3Zh
ciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290
LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9InNwYW4sIGlucHV0OmluZGV0ZXJtaW5hdGUi
PjwvY29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRl
LXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3Mt
dXBkYXRlLWluZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MuaHRtbAppbmRleCAxNjM3NTNhZWNjNzRhMzY5
MmNiZGM5NWE4MmFmYWIyZGI5YjIxMWY2Li5hZWQ3ZmM5MzI0OTlhNzcyYzQ3MTliN2EwOGY0MjUw
YjBkMGM3NzgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRv
Y2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtcHJvZ3Jl
c3MuaHRtbApAQCAtMjIsNyArMjIsNyBAQCBwcm9ncmVzcyB7CiBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKLXZhciBzaGFkb3dSb290ID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2Vs
ZWN0PSJzcGFuLHByb2dyZXNzOmluZGV0ZXJtaW5hdGUiPjwvY29udGVudD4nOwogcHJvZ3Jlc3Mx
LnZhbHVlID0gJzMwJzsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sCmluZGV4IDcwYjBl
ZDRhZDE1MGRlMWViZWJhNjQ2OWIwNzhmOWM1ZTY1NmJlZjYuLmIzM2NlNWZjZWRkNWY5YjNhMTI2
OGMzOTE2NGFiNDRkMjgwMmIxODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hbmNob3IuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYW5jaG9yLmh0bWwKQEAg
LTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9
ICc8Y29udGVudCBzZWxlY3Q9IjpsaW5rIj48L2NvbnRlbnQ+JzsKLW5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6bGluayI+PC9jb250ZW50
Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5uZXJIVE1MID0gJzxjb250ZW50
IHNlbGVjdD0iOmxpbmsiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpsaW5rIj48L2NvbnRlbnQ+JzsKIAog
c2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBhbmNob3IyLnJlbW92ZUF0dHJpYnV0ZSgnaHJl
ZicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNz
LXVwZGF0ZS1saW5rLWFyZWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtbGluay1hcmVhLmh0bWwKaW5kZXggY2UyYzZhNmMxNTBiMjMyN2Q2YTRl
MGU0NDA0YTk3NzgxMjY1NGJlYy4uM2FiYzJhZTFmMTFkMzg1ZDRlNGE3YjRmOTgwODk2Mjc2MzA2
ZWQxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNz
LXVwZGF0ZS1saW5rLWFyZWEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYXJlYS5odG1sCkBAIC00MSw4ICs0MSw4IEBAIGhvc3Qx
LmFwcGVuZENoaWxkKGFyZWEyKTsKIGhvc3QyLmFwcGVuZENoaWxkKGFyZWEzKTsKIGhvc3QyLmFw
cGVuZENoaWxkKGFyZWE0KTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6bGluayI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTpsaW5r
Ij48L2NvbnRlbnQ+JzsKK2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwg
PSAnPGNvbnRlbnQgc2VsZWN0PSJhcmVhOmxpbmsiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6bGlu
ayI+PC9jb250ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYXJlYTIucmVt
b3ZlQXR0cmlidXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS10YXJnZXQuaHRtbAppbmRleCAzOWE0NjcyZDA1
MzQ4ZmZhYjI4YzFkNTMyM2I1NGY5ZTg0MTE2NGY5Li40MThmMWZlMThlZmI5NWE5MmMyODE5MWI2
YmM4NjlkMTEyYWQ0NWFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cHNldWRvY2xhc3MtdXBkYXRlLXRhcmdldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdGFyZ2V0Lmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogCiBsb2NhdGlvbi5oYXNoID0gJyN0YXJnZXQxJzsKIAot
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dS
b290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdjp0YXJnZXQiPjwvY29udGVudD4nOwogCiBzZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFuY2hvci5odG1sCmluZGV4
IDU0YzFhMDYwMTM4YTM0YjI5Zjg5YzRjYjcyMmY0OWMwMTdhZTFmZDAuLmM4ZTIyYTgzNDQ5YTk1
MTRkMDc3ZmRlN2I5MzRjOWY2NTQ5ZTg1NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRlZC1hbmNob3IuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0ZWQtYW5j
aG9yLmh0bWwKQEAgLTIyLDggKzIyLDggQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEp
LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijp2aXNpdGVkIj48L2NvbnRlbnQ+JzsKLW5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6
dmlzaXRlZCI+PC9jb250ZW50Pic7Citob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkuaW5u
ZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iOnZpc2l0ZWQiPjwvY29udGVudD4nOworaG9zdDIu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9Ijp2
aXNpdGVkIj48L2NvbnRlbnQ+JzsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICBhbmNo
b3IyLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFyZWEuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtdmlzaXRlZC1hcmVhLmh0
bWwKaW5kZXggZjZjZDJkNmI2YTI1NWVjMWNlMDYxYTRlN2Q2YTdmMDE4YjcxM2E3Mi4uN2U3ZWQ0
ZTk4MWViNjc0NDU3MjUyY2Q3ZWE2ODdhMGM1ZGVhMzE3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS12aXNpdGVkLWFyZWEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLXZpc2l0
ZWQtYXJlYS5odG1sCkBAIC00MSw4ICs0MSw4IEBAIGhvc3QxLmFwcGVuZENoaWxkKGFyZWEyKTsK
IGhvc3QyLmFwcGVuZENoaWxkKGFyZWEzKTsKIGhvc3QyLmFwcGVuZENoaWxkKGFyZWE0KTsKIAot
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9
ImFyZWE6dmlzaXRlZCI+PC9jb250ZW50Pic7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Miku
aW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTp2aXNpdGVkIj48L2NvbnRlbnQ+JzsK
K2hvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2Vs
ZWN0PSJhcmVhOnZpc2l0ZWQiPjwvY29udGVudD4nOworaG9zdDIud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImFyZWE6dmlzaXRlZCI+PC9jb250
ZW50Pic7CiAKIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgYXJlYTIucmVtb3ZlQXR0cmli
dXRlKCdocmVmJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVt
b3ZlLXN0eWxlcy1pbi1zaGFkb3ctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9yZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sCmluZGV4IDJmMjY2ZDNjZDZj
NzQzOTk5MWZhODhhZTUxNDc0OTgyNWIwOTBhMDIuLjc0NzA1NGRhZmJmYTY0ODUxMGFlMDU0YmU3
MzExOWQ1ZjAyOGQxOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9y
ZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9yZW1vdmUtc3R5bGVzLWluLXNoYWRvdy1jcmFzaC5odG1sCkBAIC03LDcgKzcs
NyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAg
dmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotICAgIHZhciBzciA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzciA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIC8vIFRlc3QgdGhlIGNhc2U6IHR3byBzdHlsZXMgYXJlIGlu
IHNoYWRvdyBkb20gc3VidHJlZSBhbmQgdGhleSBhcmUgbm90CiAgICAgLy8gZGlyZWN0IGNoaWxy
ZW4gb2YgdGhlIHNoYWRvdyByb290LgogICAgIHNyLmlubmVySFRNTCA9ICc8ZGl2PjxzdHlsZT5k
aXYgeyBjb2xvcjogYmx1ZTsgfTwvc3R5bGU+SGVsbG88L2Rpdj48ZGl2PjxzdHlsZT5zcGFuIHsg
Y29sb3I6IHJlZCB9PC9zdHlsZT48c3Bhbj5Xb3JsZDwvc3Bhbj48L2Rpdj4nOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1hdHRyaWJ1dGUtbW9k
aWZpZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24tYXR0
cmlidXRlLW1vZGlmaWVkLmh0bWwKaW5kZXggMzM1MTY1YjAxZDliZDU2MmM1OGFkMjJhMDJhMGM4
ZWFkZTI5MWUwZi4uNzkwNmJkNDYyYjFiYjA1OWQwZDkxNjllMWQ5ZTgzODUwODM3NmM1ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1hdHRyaWJ1
dGUtbW9kaWZpZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9q
ZWN0aW9uLWF0dHJpYnV0ZS1tb2RpZmllZC5odG1sCkBAIC0xOCwxMSArMTgsMTEgQEAKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFy
IHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jv
b3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDEuaW5uZXJI
VE1MID0gJzxkaXYgaWQ9Imhvc3QyIj48c2hhZG93Pjwvc2hhZG93PjwvZGl2Pic7CiAKIHZhciBo
b3N0MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1lbnRCeUlkKCdob3N0MicpOwotdmFyIHNoYWRvd1Jv
b3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9z
dDIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxj
b250ZW50IHNlbGVjdD0iZGl2W3RpdGxlPXNlbGVjdGVkXSI+PC9jb250ZW50Pic7CiAKIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcmVwcm9qZWN0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1jbGFzc05hbWUtbW9kaWZpZWQuaHRtbAppbmRleCA5
NzNkYTY2NGFlMmYwNTM1ZWE0OTg0ZGQwYzlmMjIxZjk5YmY5ZjgwLi4xNmU5NjRhZjViMmQyODBi
Y2ZhY2QzYjAxZTg1Y2YwNmQ1MjU3YmMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcmVwcm9qZWN0aW9uLWNsYXNzTmFtZS1tb2RpZmllZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24tY2xhc3NOYW1lLW1vZGlmaWVkLmh0
bWwKQEAgLTE4LDExICsxOCwxMSBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxzaGFk
b3c+PC9zaGFkb3c+PC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVu
dEJ5SWQoJ2hvc3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0Mik7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIuc2VsZWN0ZWQiPjwv
Y29udGVudD4nOwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1pZC1tb2RpZmllZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlcHJvamVjdGlvbi1pZC1tb2RpZmllZC5odG1sCmlu
ZGV4IDQwMDBiODQ2OGE4ZWI2YmEyOGJhYTQzMzFmNmEyZWNhMDY2ZDdkYWIuLjA0MjI2ZWFkN2Jl
ZWE2MzQ3ZTNiMzdjNmRmNGE2ZDcyMTJiMTk2NzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9yZXByb2plY3Rpb24taWQtbW9kaWZpZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVwcm9qZWN0aW9uLWlkLW1vZGlmaWVkLmh0bWwKQEAgLTE4
LDExICsxOCwxMSBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwogCi12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPjxzaGFkb3c+PC9zaGFk
b3c+PC9kaXY+JzsKIAogdmFyIGhvc3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hv
c3QyJyk7Ci12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2
YXIgc2hhZG93Um9vdDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290Mi5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjc2VsZWN0ZWQiPjwvY29udGVudD4n
OwogCiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3Jlc2l6ZS1pbi1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcmVzaXplLWluLXNoYWRvdy1kb20uaHRtbAppbmRleCBlZWQxOTdjOTk4MmQw
MWFkZjdmYTdmZWQ0MzNlNzY3ZjMxOTM2NzRkLi5mZGI3OTU2NjBjOWE4ZGI1MzI1ZGM3ZjczOTgw
ZGZlNTEyNzE5ZDJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVz
aXplLWluLXNoYWRvdy1kb20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cmVzaXplLWluLXNoYWRvdy1kb20uaHRtbApAQCAtMjAsNyArMjAsNyBAQCBmdW5jdGlvbiBjcmVh
dGVCb3gobmFtZSkgewogICAgIHJldHVybiBkaXY7CiB9CiAKLXZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogdmFyIGJveCA9IGNyZWF0ZUJveCgnZGFyaycpOwogc2hhZG93Um9v
dC5hcHBlbmRDaGlsZChib3gpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcmVzb3VyY2VzL3BvbHlmaWxsLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3Jlc291cmNlcy9wb2x5ZmlsbC5qcwppbmRleCBhYTgwYWYxZGUyMWUwYTZhMDNhYTljY2JhMGZm
ZGZlZmFiNTQ2ZTRiLi43YmI1ZmIxMTI0MGIwMGNlZjVmNjdjMzczMjJiMjRjNWM1NGMxYmRmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3BvbHlmaWxs
LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvcG9seWZpbGwu
anMKQEAgLTEsNSArMSw1IEBACi1pZiAoIXdpbmRvdy5XZWJLaXRTaGFkb3dSb290ICYmIHdpbmRv
dy5pbnRlcm5hbHMpIHsKLQl3aW5kb3cuV2ViS2l0U2hhZG93Um9vdCA9IGZ1bmN0aW9uKGVsZW1l
bnQpIHsKLQkJcmV0dXJuIGludGVybmFscy5lbnN1cmVTaGFkb3dSb290KGVsZW1lbnQpOwotCX0K
K2lmICghRWxlbWVudC5wcm90b3R5cGUud2Via2l0Q3JlYXRlU2hhZG93Um9vdCAmJiB3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgRWxlbWVudC5wcm90b3R5cGUud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCA9IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gd2luZG93LmludGVybmFscy5jcmVhdGVT
aGFkb3dSb290KHRoaXMpOworICAgIH07CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3NoYWRvdy1kb20uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcmVzb3VyY2VzL3NoYWRvdy1kb20uanMKaW5kZXggNmRmNTAwODlkZTAzNmEyMDhl
Zjg3YzY2NTI0MzRhZTZkZjA5OTdhOC4uYjI0ZTFiYTNjYTM2NWZlYzY4OTM4ODNhZWU3M2Q4MjQw
NGJjNzBiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291cmNl
cy9zaGFkb3ctZG9tLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJj
ZXMvc2hhZG93LWRvbS5qcwpAQCAtMjcsMTIgKzI3LDEwIEBAIGZ1bmN0aW9uIGNyZWF0ZURPTSh0
YWdOYW1lLCBhdHRyaWJ1dGVzKQogICAgICAgICBpZiAoY2hpbGQuaXNTaGFkb3dSb290KSB7CiAg
ICAgICAgICAgICArK3NoYWRvd1Jvb3RDb3VudDsKICAgICAgICAgICAgIHZhciBzaGFkb3dSb290
OwotICAgICAgICAgICAgaWYgKHdpbmRvdy5XZWJLaXRTaGFkb3dSb290KQotICAgICAgICAgICAg
ICAgIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KTsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKHNoYWRvd1Jvb3Rjb3VudCA9PSAxKQotICAgICAgICAgICAgICAgIHNoYWRv
d1Jvb3QgPSBpbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdChlbGVtZW50KTsKKyAgICAgICAgICAg
IGlmIChlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QpCisgICAgICAgICAgICAgICAgc2hh
ZG93Um9vdCA9IGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdChlbGVtZW50KTsKICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0aHJvdyAiQ3JlYXRlRE9NIGNhbm5vdCBiZSB1
c2VkIHRvIGhvc3QgbXVsdGlwbGUgU2hhZG93Um9vdHMgd2l0aG91dCBuZXcgV2ViS2l0U2hhZG93
Um9vdCgpIjsKKyAgICAgICAgICAgICAgICBzaGFkb3dSb290ID0gaW50ZXJuYWxzLmNyZWF0ZVNo
YWRvd1Jvb3QoZWxlbWVudCk7CiAgICAgICAgICAgICBpZiAoY2hpbGQuYXR0cmlidXRlcykgewog
ICAgICAgICAgICAgICAgIGZvciAodmFyIGF0dHJpYnV0ZSBpbiBjaGlsZC5hdHRyaWJ1dGVzKSB7
CiAgICAgICAgICAgICAgICAgICAgIC8vIFNoYWRvdyBSb290IGRvZXMgbm90IGhhdmUgc2V0QXR0
cmlidXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdC1p
bWFnZS13aXRoLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVj
dC1pbWFnZS13aXRoLXNoYWRvdy5odG1sCmluZGV4IGY3YzgxMjA1OTc5MDhlZmY5YmFmZjYwYzc4
NGIwYjBkZGM2MjIzODguLjgxYTFjZThhMmM0ODZiMjk5ODdiMDNiMDJkYjJjMmJmZTQwYTJiZGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3QtaW1hZ2Utd2l0
aC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0LWlt
YWdlLXdpdGgtc2hhZG93Lmh0bWwKQEAgLTksNyArOSw3IEBACiBpZiAod2luZG93LmludGVybmFs
cykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVu
dEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNwYW4gaWQ9J3NwYW4xJz5Lb3Rvcmk8L3NwYW4+PHNo
YWRvdz48L3NoYWRvdz48c3BhbiBpZD0nc3BhbjInPlBpeW88L3NwYW4+IjsKIAogdmFyIHNwYW4x
ID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnc3BhbjEnKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb24tc2hvdWxkbnQtZXhwb3NlLXNoYWRvdy1k
b20uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zZWxlY3Rpb24tc2hvdWxkbnQt
ZXhwb3NlLXNoYWRvdy1kb20uaHRtbAppbmRleCAzMjg5M2M4Zjg5MDFhYzFhZWMxZDk0NjYwM2Vk
NmFhMzZlNzQxY2M3Li41MjE1OWVlZjJjNjZiMmY1NGZlNmI2Mjg2ZTY4NDdkMzA0YTc1MDVjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9uLXNob3VsZG50
LWV4cG9zZS1zaGFkb3ctZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NlbGVjdGlvbi1zaG91bGRudC1leHBvc2Utc2hhZG93LWRvbS5odG1sCkBAIC0yNCw3ICsyNCw3
IEBAIGZ1bmN0aW9uIGRyYWdGcm9tVG8oZWxlbWVudEZyb20sIGVsZW1lbnRUbykgewogCiB2YXIg
Y29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwogCi12YXIg
c2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChjb250YWluZXIpOwordmFyIHNoYWRv
d1Jvb3QxID0gY29udGFpbmVyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3Qx
LmlubmVySFRNTCA9CiAgICAgJzxkaXYgaWQ9ImRpdjEiIHRpdGxlPSJkaXYxIj5Zb3UgU2F0b2g8
L2Rpdj4nICsKICAgICAnPGRpdiBpZD0iZGl2MiIgdGl0bGU9ImRpdjIiPlNlbiBZYXJpenVpPC9k
aXY+JyArCkBAIC0zMyw3ICszMyw3IEBAIHZhciBkaXYxID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVu
dEJ5SWQoJ2RpdjEnKTsKIHZhciBkaXYyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2Rp
djInKTsKIHZhciBkaXYzID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2RpdjMnKTsKIAot
dmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2Mik7Cit2YXIgc2hhZG93
Um9vdDIgPSBkaXYyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QyLmlubmVy
SFRNTCA9CiAgICAgJzxkaXYgaWQ9ImRpdjQiIHRpdGxlPSJkaXY0Ij5IYW5hIE9zaGlyb2k8L2Rp
dj4nICsKICAgICAnPGRpdiBpZD0iZGl2NSIgdGl0bGU9ImRpdjUiPlVtZSBTaGlyYXVtZTwvZGl2
PicgKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NlbGVjdGlvbnMt
aW4tc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9ucy1p
bi1zaGFkb3cuaHRtbAppbmRleCA3YzFjYzc5YjE5YWMzYjdjYWJmMTlmN2U2NWEyN2Q0MTZhOTQw
NmRhLi41MjhiNWU1ZGQ4YzZmNjA3NjBiYzc3OGI2NGY3ZGI0MWI3OThkNjc0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9ucy1pbi1zaGFkb3cuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2VsZWN0aW9ucy1pbi1zaGFkb3cuaHRt
bApAQCAtMTQsNyArMTQsNyBAQAogPHNjcmlwdD4KIGZ1bmN0aW9uIGNyZWF0ZVNoYWRvd0RPTShz
aGFkb3dSb290LCBuYW1lKSB7CiAgICAgdmFyIGhvc3RJblNoYWRvd1Jvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzcGFuJyk7Ci0gICAgdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0SW5TaGFkb3dSb290KTsKKyAgICB2YXIgbmVzdGVkU2hhZG93Um9v
dCA9IGhvc3RJblNoYWRvd1Jvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHZhciBz
cGFuSW5TaGFkb3cgPSBjcmVhdGVTcGFuV2l0aFRleHQoJ1NQQU4gSU4gTkVTVEVEIElOIFNIQURP
VyAnICsgbmFtZSk7CiAgICAgbmVzdGVkU2hhZG93Um9vdC5hcHBlbmRDaGlsZChzcGFuSW5TaGFk
b3cpOwogCkBAIC0zOCwxMCArMzgsMTAgQEAgdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKIHZhciBzcGFuSW5Ib3N0ID0gY3JlYXRlU3BhbldpdGhUZXh0KCdJTiBIT1NU
Jyk7CiBob3N0LmFwcGVuZENoaWxkKHNwYW5Jbkhvc3QpOwogCi12YXIgb2xkZXJTaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgb2xkZXJTaGFkb3dSb290ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgc3BhbnMxID0gY3JlYXRlU2hhZG93RE9N
KG9sZGVyU2hhZG93Um9vdCwgJ09MREVSJyk7CiAKLXZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHlvdW5nZXJTaGFkb3dSb290ID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgc3BhbnMyID0gY3JlYXRlU2hhZG93RE9NKHlv
dW5nZXJTaGFkb3dSb290LCAnWU9VTkdFUicpOwogCiB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1hbmQtbGlzdC1lbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hbmQtbGlzdC1lbGVtZW50cy5odG1sCmluZGV4IDNlNWNi
NmI3ODRkYmZkOGYyZDkzMjU3MDRkNGI3NzU5YjljMzExN2IuLjg1NGI1YTE1YjUxZTY1ZTY3MTFh
ZjE1NTBiNzBkYWI2YzE1Yzg5ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctYW5kLWxpc3QtZWxlbWVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LWFuZC1saXN0LWVsZW1lbnRzLmh0bWwKQEAgLTM1LDcgKzM1LDcg
QEAgdWwgewogLy8gICA8bGk+QzwvbGk+CiAvLyA8L29sPiAgIAogdmFyIGhvc3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaG9zdCIpOwotdmFyIHNoYWRvdyA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwordmFyIHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKIHNoYWRvdy5pbm5lckhUTUwgPSAiPGxp
Plg8L2xpPjx1bD48c2hhZG93Pjwvc2hhZG93PjwvdWw+PGxpPlk8L2xpPiI7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtY3Jl
YXRlLXNoYWRvdy1yb290LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctYXdhcmUtY3JlYXRlLXNoYWRvdy1yb290LWV4cGVjdGVkLnR4dAppbmRleCBmZWU2
YzMzZmJmYjk2OTkwMGE0NmVlMzJlNDU1YTNiMDAyNDU3YzRiLi4zOGRjODJlNTAyN2NjNTdlYzI1
ZDAyNzFjYWJkY2E5NjIwYWVlYTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWF3YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hhZG93LXJv
b3QtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsNiBAQCBUZXN0cyBmb3IgU2hhZG93QXdhcmUgSlMg
QVBJcy4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHJvb3QxLmNvbnN0cnVj
dG9yIGlzIHdpbmRvdy5XZWJLaXRTaGFkb3dSb290CiBQQVNTIHJvb3QxIGlzIG5vdCByb290Mgog
UEFTUyByb290MSBpcyB3aW5kb3cuaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9zdCkKIFBB
U1Mgcm9vdDIgaXMgd2luZG93LmludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QoaG9zdCkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUtY3JlYXRl
LXNoYWRvdy1yb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWF3
YXJlLWNyZWF0ZS1zaGFkb3ctcm9vdC5odG1sCmluZGV4IGJkZjE1M2Q2ODcwZDM4YjVlYTc2NTQ5
MTIxZjIwNWFlYmY4MmQ2NGQuLmRhNjIwYTM4NzY0NWU1MWMxOGIzNTM0YjU3MGFmNzgyZTExZWVj
NGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYXdhcmUt
Y3JlYXRlLXNoYWRvdy1yb290Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1hd2FyZS1jcmVhdGUtc2hhZG93LXJvb3QuaHRtbApAQCAtMTIsNyArMTIsNiBAQCBF
bGVtZW50LnByb3RvdHlwZS5jcmVhdGVTaGFkb3dSb290ID0gRWxlbWVudC5wcm90b3R5cGUuY3Jl
YXRlU2hhZG93Um9vdCB8fCBFbGVtZQogdmFyIGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKIHZhciByb290MSA9IGhvc3QuY3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIHJvb3Qy
ID0gaG9zdC5jcmVhdGVTaGFkb3dSb290KCk7Ci1zaG91bGRCZSgicm9vdDEuY29uc3RydWN0b3Ii
LCAid2luZG93LldlYktpdFNoYWRvd1Jvb3QiKTsKIHNob3VsZE5vdEJlKCJyb290MSIsICJyb290
MiIpOwogc2hvdWxkQmUoInJvb3QxIiwgIndpbmRvdy5pbnRlcm5hbHMub2xkZXN0U2hhZG93Um9v
dChob3N0KSIpOwogc2hvdWxkQmUoInJvb3QyIiwgIndpbmRvdy5pbnRlcm5hbHMueW91bmdlc3RT
aGFkb3dSb290KGhvc3QpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWNvbnRlbnQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctY29udGVudC1jcmFzaC5odG1sCmluZGV4IDJmMmIyZTliZjY1ZTYyMDQyYTU1NDYy
YjA1MzJhZDM2MWNkN2JhNjguLjY0NTJmNDk4ODlmODMwY2JjYjU5NzI4OGY5YTVmNThkMDM2YmI4
MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVu
dC1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29u
dGVudC1jcmFzaC5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiAKIDxzY3JpcHQ+CiB2YXIgZGl2ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwotdmFyIHJvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpOwordmFyIHJvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpOwogcm9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQgc2VsZWN0PSdzcGFuJz5QQVNTPC9jb250
ZW50PiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQKaW5kZXggNjdjNTA3NDg1ZjdkNWI2NTAy
MTBlZGRmMzY1MWMyNTAyMmJjMjRhMy4uYWFiZWM5OThjNjgxOWU5N2MxNjVlMzY0MzIzNWZlZjNm
ZWFlZDUxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1k
aXNhYmxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LWRpc2FibGUtZXhwZWN0ZWQudHh0CkBAIC00LDQ3ICs0LDQ3IEBAIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFCiAKIAogRElWCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlz
IG5vdCBudWxsCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBu
dWxsCiBTUEFOCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxs
CitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBudWxsCiBBCi1Q
QVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCitQQVNTIGVsZW1l
bnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBudWxsCiBTRUNUSU9OCi1QQVNTIG5l
dyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCitQQVNTIGVsZW1lbnQud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpIGlzIG5vdCBudWxsCiBJTlBVVAotUEFTUyBuZXcgV2ViS2l0
U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVl
c3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9N
IEV4Y2VwdGlvbiAzLgogdHJlZgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlv
biAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogQVVESU8K
LVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlS
ZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIFZJREVPCi1QQVNTIG5ldyBXZWJLaXRTaGFk
b3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVy
cm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9v
dCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhj
ZXB0aW9uIDMuCiBTRUxFQ1QKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24g
My4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIElNRwotUEFT
UyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhp
ZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVl
c3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogVEVYVEFSRUEKLVBBU1MgbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJy
b3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNl
cHRpb24gMy4KIElGUkFNRQotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAz
LgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogQ0FOVkFTCi1Q
QVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVx
dWVzdEVycm9yOiBET00gRXhjZXB0aW9uIDMuCiBNRVRFUgotUEFTUyBuZXcgV2ViS2l0U2hhZG93
Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJv
cjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAzLgogUFJPR1JFU1MKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24g
My4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIE9CSkVDVAot
UEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBlbGVtZW50Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJl
cXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogRU1CRUQKLVBBU1MgbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJy
b3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNl
cHRpb24gMy4KIEtFWUdFTgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAz
LgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogVklERU8KLVBB
U1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBI
aWVyYXJjaHlSZXF1ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KK1BBU1MgZWxlbWVudC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBIaWVyYXJjaHlSZXF1
ZXN0RXJyb3I6IERPTSBFeGNlcHRpb24gMy4KIEFVRElPCi1QQVNTIG5ldyBXZWJLaXRTaGFkb3dS
b290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9y
OiBET00gRXhjZXB0aW9uIDMuCitQQVNTIGVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSGllcmFyY2h5UmVxdWVzdEVycm9yOiBET00gRXhjZXB0
aW9uIDMuCiBGSUVMRFNFVAotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAz
LgorUEFTUyBlbGVtZW50LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCmluZGV4IDI1MzQ2NTRkOTFkZjQz
MDczYzYxYTQ2ZmRiNzdkZTY3ODg2MzMxNTguLmZlN2JhNmUyYjVlMTM4YjkzMzg4M2ZjNjExYmFi
YWI3ZmI4Mjk5MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctZGlzYWJsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
ZGlzYWJsZS5odG1sCkBAIC0xNCw5ICsxNCw5IEBAIGZ1bmN0aW9uIHRlc3RUb0FkZFNoYWRvd1Jv
b3QoZWxlbWVudCwgc3VjY2VzcykgewogICAgIGRlYnVnKGVsZW1lbnQubm9kZU5hbWUpOwogCiAg
ICAgaWYgKHN1Y2Nlc3MpCi0gICAgICAgIHNob3VsZE5vdEJlKCJuZXcgV2ViS2l0U2hhZG93Um9v
dChlbGVtZW50KSIsICJudWxsIik7CisgICAgICAgIHNob3VsZE5vdEJlKCJlbGVtZW50LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKSIsICJudWxsIik7CiAgICAgZWxzZQotICAgICAgICBzaG91bGRU
aHJvdygibmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkiKTsKKyAgICAgICAgc2hvdWxkVGhy
b3coImVsZW1lbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpIik7CiB9CiAKIHZhciBlbGVtZW50
c1RvU3VjY2VzcyA9IFsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctZGl2LXJlZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1kaXYtcmVmbG93Lmh0bWwKaW5kZXggYjA5OGYxODQwZTcyODE1OGM0MWMwOTE5ZDU5YzhiN2Zh
NThiNjcyYy4uNjdjNDY2YWE3MDI1NzdiMWIwZjYwOTkzMmJlMjc0OWQyZmY4MjMwNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXYtcmVmbG93Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXYtcmVmbG93Lmh0bWwK
QEAgLTE4LDkgKzE4LDkgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIHZh
ciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKLXZhciBzaGFkb3cxID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93MSA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogc2hhZG93MS5pbm5lckhUTUwgPSAiPGRpdj48c2hhZG93Pjwvc2hh
ZG93PjxkaXY+PC9kaXY+PC9kaXY+IjsKLXZhciBzaGFkb3cyID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7Cit2YXIgc2hhZG93MiA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwog
c2hhZG93Mi5pbm5lckhUTUwgPSAiPHNlY3Rpb24+IgogICAgICAgICAgICAgICAgICArICAgIjxz
aGFkb3c+PC9zaGFkb3c+IgogICAgICAgICAgICAgICAgICArICAgIjxkaXY+c2Vjb25kIGxpbmUg
Zm9sbG93cy48L2Rpdj4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LWR5bmFtaWMtc3R5bGUtY2hhbmdlLXZpYS1tdXRhdGlvbi1hbmQtc2VsZWN0b3IuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZHluYW1pYy1zdHlsZS1jaGFu
Z2UtdmlhLW11dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1sCmluZGV4IDMwNWU5NWU2MDY3MDJkNWQz
MTA1ODI0MTQ5YTJhNWZhMDM0ODQ2ZmMuLmU1ZGZiYThiZjBkNzhiYjNmZWEwNDIzNDAyNTZlNDlh
NzMwYzgwZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
ZHluYW1pYy1zdHlsZS1jaGFuZ2UtdmlhLW11dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZHluYW1pYy1zdHlsZS1jaGFuZ2Ut
dmlhLW11dGF0aW9uLWFuZC1zZWxlY3Rvci5odG1sCkBAIC03LDcgKzcsNyBAQCBmdW5jdGlvbiB0
ZXN0KCkgewogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChmb28pOwog
CiAgICAgdmFyIGJhciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHZhciBi
YXJTaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChiYXIpOworICAgIHZhciBiYXJTaGFkb3cg
PSBiYXIud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGJhci5zZXRBdHRyaWJ1dGUoJ2Ns
YXNzJywgJ2JhcicpOwogICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChi
YXIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVs
ZW1lbnQtcmVuZGVyaW5nLW11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWVsZW1lbnQtcmVuZGVyaW5nLW11bHRpcGxlLmh0bWwKaW5kZXggYTVkZGI2MzE1
YjJmY2RjYTZiZTY3ZWM1ODRkOWQ5YTVmZmFmYmJiNy4uN2JlZTcwMTRhMTcwYmRmMWZhNGIzYjgx
ZGEyMTg5YzY3NDdiOGU2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1tdWx0aXBsZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctbXVsdGlwbGUuaHRtbApA
QCAtMjQsMTIgKzI0LDEyIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0RvdWJs
ZVNoYWRvd1Jvb3QoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAg
ICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZP
UkUgMicpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hh
ZG93JykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDIn
KSk7CkBAIC00NiwxMSArNDYsMTEgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5n
RG91YmxlU2hhZG93Um9vdFdpdGhPbmVTaGFkb3dFbGVtZW50KGNhbGxJZkRvbmUKICAgICB2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAx
JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7
CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNy
MiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0
ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTY4LDE3ICs2OCwxNyBAQCB0ZXN0RnVuY3Mu
cHVzaChmdW5jdGlvbiByZW5kZXJpbmdUcmlwbGVTaGFkb3dSb290KGNhbGxJZkRvbmUpIHsKICAg
ICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JF
Rk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
aGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIg
MScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2
YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQo
Y3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwogCi0gICAgdmFyIHNyMyA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjMgPSByb290LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUg
MycpKTsKICAgICBzcjMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93
JykpOwogICAgIHNyMy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDMnKSk7
CkBAIC05NywxMiArOTcsMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nVHdv
U2hhZG93Um9vdHMoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQo
J01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAg
ICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKICAgICB2YXIgc2hhZG93MjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
aGFkb3cnKTsKICAgICBzaGFkb3cyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0ZB
TExCQUNLIDItMScpKTsKICAgICB2YXIgc2hhZG93MjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzaGFkb3cnKTsKQEAgLTEzMCw3ICsxMzAsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiB0
ZXN0V2l0aERvdWJsZVNoYWRvd1Jvb3RXaXRoQ29udGVudDEoY2FsbElmRG9uZSkgewogCiAgICAg
dmFyIHNoYWRvdzEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFk
b3cxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnU0hBRE9XIEZBTExCQUNLIDEnKSk7
Ci0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEg
PSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICB2YXIgY29udGVudDEgPSBjcmVhdGVD
b250ZW50V2l0aFNlbGVjdCgnLnNyMScsICdDT05URU5UIEZBTExCQUNLIDEnKTsKICAgICBzcjEu
YXBwZW5kQ2hpbGQoY29udGVudDEpOwpAQCAtMTM5LDcgKzEzOSw3IEBAIHRlc3RGdW5jcy5wdXNo
KGZ1bmN0aW9uIHRlc3RXaXRoRG91YmxlU2hhZG93Um9vdFdpdGhDb250ZW50MShjYWxsSWZEb25l
KSB7CiAKICAgICB2YXIgc2hhZG93MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycp
OwogICAgIHNoYWRvdzIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdTSEFET1cgRkFM
TEJBQ0sgMicpKTsKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7Cisg
ICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMi5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHZhciBjb250ZW50
OwogICAgIHNyMi5hcHBlbmRDaGlsZChjb250ZW50ID0gY3JlYXRlQ29udGVudFdpdGhTZWxlY3Qo
Jy5zcjInLCAnQ09OVEVOVCBGQUxMQkFDSyAyJykpOwpAQCAtMTY0LDcgKzE2NCw3IEBAIHRlc3RG
dW5jcy5wdXNoKGZ1bmN0aW9uIHRlc3RXaXRoRG91YmxlU2hhZG93Um9vdFdpdGhDb250ZW50Mihj
YWxsSWZEb25lKSB7CiAKICAgICB2YXIgc2hhZG93MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3NoYWRvdycpOwogICAgIHNoYWRvdzEuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdT
SEFET1cgRkFMTEJBQ0sgMScpKTsKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
cm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAg
IHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNy
MS5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLnNyMScsICdDT05URU5UIEZB
TExCQUNLIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKHNoYWRvdzEpOwpAQCAtMTcyLDcgKzE3
Miw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHRlc3RXaXRoRG91YmxlU2hhZG93Um9vdFdp
dGhDb250ZW50MihjYWxsSWZEb25lKSB7CiAKICAgICB2YXIgc2hhZG93MiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRvdzIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdTSEFET1cgRkFMTEJBQ0sgMicpKTsKLSAgICB2YXIgc3IyID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAy
JykpOwogICAgIHNyMi5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLnNyMics
ICdDT05URU5UIEZBTExCQUNLIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRl
bnRXaXRoU2VsZWN0KCdzcGFuJywgJ0NPTlRFTlQgRkFMTEJBQ0sgMycpKTsKQEAgLTE5MCw3ICsx
OTAsNyBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3VibGVTaGFkb3dSb290
RHluYW1pY2FsbHlBZGRlZDEoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290
KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3Ix
LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwpAQCAtMTk4LDcgKzE5OCw3
IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0RvdWJsZVNoYWRvd1Jvb3REeW5h
bWljYWxseUFkZGVkMShjYWxsSWZEb25lKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGlsZChyb290KTsKIAogICAgIHZhciBmID0gKGZ1
bmN0aW9uKHJvb3QsIGNhbGxJZkRvbmUpIHsgcmV0dXJuIGZ1bmN0aW9uKCkgewotICAgICAgICB2
YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgICAgIHZhciBzcjIgPSBy
b290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICAgICAgc3IyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgICAgIHNyMi5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7CkBAIC0yMTYsMTIgKzIxNiwxMiBAQCB0
ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdEb3VibGVTaGFkb3dSb290RHluYW1pY2Fs
bHlBZGRlZDIoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01J
RCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2
YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQo
Y3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUg
MicpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykp
OwogCkBAIC0yNDQsMTEgKzI0NCwxMSBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJp
bmdEb3VibGVTaGFkb3dSb290RHluYW1pY2FsbHlBZGRlZDMoY2FsbElmRG9uZSkgewogICAgIHZh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRD
aGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JF
IDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScp
KTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIg
c3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMjcyLDEyICsyNzIsMTIgQEAgdGVzdEZ1
bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nRG91YmxlU2hhZG93Um9vdER5bmFtaWNhbGx5UmVt
b3ZlZDEoY2FsbElmRG9uZSkKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7
CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNy
MSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyMS5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0
ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAotICAgIHZhciBzcjIgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7
CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsK
ICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUiAyJykpOwpAQCAt
Mjk5LDEyICsyOTksMTIgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nRG91Ymxl
U2hhZG93Um9vdER5bmFtaWNhbGx5UmVtb3ZlZDIoY2FsbElmRG9uZSkKICAgICB2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3Jl
YXRlU3BhbldpdGhUZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IxID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3Qocm9vdCk7CisgICAgdmFyIHNyMSA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAxJykpOwog
ICAgIHNyMS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAg
ICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMScpKTsKIAotICAg
IHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9v
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMzI1LDEyICszMjUsMTIgQEAgdGVzdEZ1bmNzLnB1c2go
ZnVuY3Rpb24gcmVuZGVyaW5nTGlnaHRDaGlsZHJlbkR5bmFtaWNhbGx5QWRkZWQoY2FsbElmRG9u
ZSkgewogCiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIAot
ICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IxID0g
cm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0
ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAgc3IxLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCdBRlRFUiAxJykpOwogCi0gICAgdmFyIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KHJvb3QpOworICAgIHZhciBzcjIgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
ICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMicpKTsKICAg
ICBzcjIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAg
IHNyMi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDInKSk7CkBAIC0zNTIs
MTEgKzM1MiwxMSBAQCB0ZXN0RnVuY3MucHVzaChmdW5jdGlvbiByZW5kZXJpbmdPbGRlclNoYWRv
d1Jvb3RDb250ZW50RHluYW1pY2FsbHlBZGRlZChjYWxsSWZEbwogICAgIHZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ01JRCcpKTsKIAotICAgIHZhciBzcjEgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChyb290KTsKKyAgICB2YXIgc3IxID0gcm9vdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgc3IxLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFIDEnKSk7CiAgICAg
c3IxLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKIAotICAg
IHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9v
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdBRlRFUiAyJykpOwpAQCAtMzc4LDEyICszNzgsMTIgQEAgdGVzdEZ1bmNzLnB1c2go
ZnVuY3Rpb24gcmVuZGVyaW5nTGlnaHRDaGlsZHJlbkR5bmFtaWNhbGx5UmVtb3ZlZChjYWxsSWZE
b25lKSB7CiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAg
ICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnTUlEJykpOwogCi0gICAgdmFy
IHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzcjEgPSByb290Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMS5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0FGVEVSIDEnKSk7CiAKLSAgICB2YXIgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9v
dCk7CisgICAgdmFyIHNyMiA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNy
Mi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRSAyJykpOwogICAgIHNyMi5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiAgICAgc3IyLmFw
cGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIgMicpKTsKQEAgLTQwNSwxMyArNDA1
LDEzIEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ09sZGVyU2hhZG93Um9vdENv
bnRlbnREeW5hbWljYWxseVJlbW92ZWQoY2FsbElmCiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICByb290LmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnTUlEJykpOwogCi0gICAgdmFyIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3Qp
OworICAgIHZhciBzcjEgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzcjEu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdCRUZPUkUgMScpKTsKICAgICBzcjEuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93JykpOwogICAgIHNyMS5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSIDEnKSk7CiAgICAgc3IxLmFwcGVuZENo
aWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnU0hPVUxEIE5PVCBCRSBSRU5ERVJFRCcpKTsKIAotICAg
IHZhciBzcjIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IyID0gcm9v
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnQkVGT1JFIDInKSk7CiAgICAgc3IyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzcjIuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCdBRlRFUiAyJykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1zaW5nbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctZWxlbWVudC1yZW5kZXJpbmctc2luZ2xlLmh0bWwKaW5kZXgg
NmI4OGJiZTU5NjMyZTNkN2FmNTcyOTRlZDk1ZmZkMzM0ZDU1MGY0NS4uODVjNzQ3YjljYWM1MTZm
NDJiNTdiYjU2MWU3NzMyYmUwODM5YTQ1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1lbGVtZW50LXJlbmRlcmluZy1zaW5nbGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWVsZW1lbnQtcmVuZGVyaW5nLXNpbmdsZS5o
dG1sCkBAIC0yNCw3ICsyNCw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ1Np
bmdsZVNoYWRvd1Jvb3QoY2FsbElmRG9uZSkgewogICAgIHZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ01JRCcpKTsKIAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOwor
ICAgIHZhciBzciA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzci5hcHBlbmRDaGlsZChj
cmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtNDIsNyArNDIsNyBAQCB0ZXN0RnVuY3Mu
cHVzaChmdW5jdGlvbiByZW5kZXJpbmdOb3RGYWxsYmFja2VkKGNhbGxJZkRvbmUpIHsKIAogICAg
IHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFk
b3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdGQUxMQkFDSycpKTsKLSAgICB2YXIg
c3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cpOwogICAgIHNyLmFwcGVu
ZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC01OSw3ICs1OSw3IEBAIHRl
c3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0ZhbGxiYWNrZWQoY2FsbElmRG9uZSkgewog
CiAgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAg
IHNoYWRvdy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0ZBTExCQUNLJykpOwotICAg
IHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzciA9IHJvb3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVuZENoaWxkKHNoYWRvdyk7CiAgICAgc3Iu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsKQEAgLTgwLDcgKzgwLDcg
QEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTWl4ZWRPZkZhbGxiYWNrQW5kTm9u
RmFsbGJhY2soY2FsbElmRG9uZSkgewogICAgIHZhciBzaGFkb3cyID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc2hhZG93Jyk7CiAgICAgc2hhZG93Mi5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0
aFRleHQoJ0ZBTExCQUNLIDInKSk7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChyb290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAg
ICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5h
cHBlbmRDaGlsZChzaGFkb3cxKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cyKTsKQEAgLTk5
LDcgKzk5LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nU2hhZG93Um9vdEJl
Zm9yZUNvbnRlbnQoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRvdy5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ1NIQURPVyBGQUxMQkFDSycpKTsKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3Qo
KTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAg
ICBzci5hcHBlbmRDaGlsZChzaGFkb3cpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5X
aXRoVGV4dCgnTSAxJykpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHRlc3RGdW5jcy5wdXNoKGZ1bmN0
aW9uIHJlbmRlcmluZ1NoYWRvd1Jvb3RBZnRlckNvbnRlbnQoY2FsbElmRG9uZSkgewogCiAgICAg
dmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwogICAgIHNoYWRv
dy5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ1NIQURPVyBGQUxMQkFDSycpKTsKLSAg
ICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSByb290
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFu
V2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVDb250ZW50V2l0
aFNlbGVjdCgnc3BhbicsICdDT05URU5UIEZBTExCQUNLJykpOwogICAgIHNyLmFwcGVuZENoaWxk
KGNyZWF0ZVNwYW5XaXRoVGV4dCgnTSAxJykpOwpAQCAtMTM5LDcgKzEzOSw3IEBAIHRlc3RGdW5j
cy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ1NoYWRvd0VsZW1lbnREeW5hbWljYWxseUFkZGVkKGNh
bGxJZkRvbmUpIHsKICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCdBRlRFUicpKTsKIAot
ICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHJvb3QpOworICAgIHZhciBzciA9IHJv
b3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRo
VGV4dCgnTUlEJykpOwogCkBAIC0xNjMsNyArMTYzLDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rp
b24gcmVuZGVyaW5nU2hhZG93RWxlbWVudER5bmFtaWNhbGx5UmVtb3ZlZChjYWxsSWZEb25lKSB7
CiAKICAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CiAK
LSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsKKyAgICB2YXIgc3IgPSBy
b290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVT
cGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGlsZChzaGFkb3cpOwogICAg
IHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVInKSk7CkBAIC0xODQsNyAr
MTg0LDcgQEAgdGVzdEZ1bmNzLnB1c2goZnVuY3Rpb24gcmVuZGVyaW5nTGlnaHRDaGlsZHJlbkR5
bmFtaWNhbGx5QWRkZWQoY2FsbElmRG9uZSkgewogCiAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKIAotICAgIHZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KHJvb3QpOworICAgIHZhciBzciA9IHJvb3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAg
IHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQkVGT1JFJykpOwogICAgIHNyLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKICAgICBzci5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0FGVEVSJykpOwpAQCAtMjA5LDcgKzIwOSw3IEBA
IHRlc3RGdW5jcy5wdXNoKGZ1bmN0aW9uIHJlbmRlcmluZ0xpZ2h0Q2hpbGRyZW5EeW5hbWljYWxs
eVJlbW92ZWQoY2FsbElmRG9uZSkgewogICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdzaGFkb3cnKTsKICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhU
ZXh0KCdNSUQnKSk7CiAKLSAgICB2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChyb290KTsK
KyAgICB2YXIgc3IgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzci5hcHBl
bmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoJ0JFRk9SRScpKTsKICAgICBzci5hcHBlbmRDaGls
ZChzaGFkb3cpOwogICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgnQUZURVIn
KSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW5lc3Rl
ZC1wc2V1ZG8taWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctbmVz
dGVkLXBzZXVkby1pZC5odG1sCmluZGV4IDM2ZTA1ZjRhMTY0MDZkMDE5M2E0MGJiM2ZjMjA0MTZh
MjJlZjE2YWUuLjRhNGJhYTg3Nzk3OTEyMzdmNzk2YTJhYWUzMTE5YzEyOGJlYWE2MmIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctbmVzdGVkLXBzZXVkby1p
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctbmVzdGVkLXBz
ZXVkby1pZC5odG1sCkBAIC0yNiw3ICsyNiw3IEBAIHA6Ongtc2hhZG93LWNoaWxkOjp4LW5lc3Rl
ZC1zaGFkb3ctY2hpbGQgewogPHNjcmlwdD4KIGZ1bmN0aW9uIGJ1aWxkU2hhZG93V2l0aE9uZUNo
aWxkKGhvc3QsIGNoaWxkVGFnTmFtZSwgY2hpbGRQc2V1ZG9JZCkKIHsKLSAgICB2YXIgc2hhZG93
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvdyA9IGhvc3Qud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHZhciBzaGFkb3dDaGlsZCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoY2hpbGRUYWdOYW1lKTsKICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQoc2hhZG93
Q2hpbGQpOwogICAgIGludGVybmFscy5zZXRTaGFkb3dQc2V1ZG9JZChzaGFkb3dDaGlsZCwgY2hp
bGRQc2V1ZG9JZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LW9uLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LW9u
LWltYWdlLmh0bWwKaW5kZXggZmU3NzRkZjQ0OTBhNWUxMWNlOWRhMjk2ZWUwODlkZDgwNGNhYzk2
Yi4uZDgzMGJmNzVlZjA3YzJkNWQ5Mzg1N2I4ZmYxNzE4ZWEyOGY3N2Q5OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1vbi1pbWFnZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctb24taW1hZ2UuaHRtbApAQCAtOSw3ICs5
LDcgQEAgdmFyIGltYWdlQ29udGVudFN0eWxlID0gImNvbnRlbnQ6IHVybChkYXRhOmltYWdlL3Bu
ZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEUKIGZ1bmN0aW9uIGNyZWF0ZUltYWdlRGl2V2l0
aFNoYWRvdygpIHsKICAgdmFyIGltYWdlRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CiAgIGltYWdlRGl2LnNldEF0dHJpYnV0ZSgic3R5bGUiLCBpbWFnZUNvbnRlbnRTdHlsZSk7
Ci0gIHZhciBzaGFkb3cgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChpbWFnZURpdik7IAorICB2YXIg
c2hhZG93ID0gaW1hZ2VEaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOyAKICAgc2hhZG93LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKICAgcmV0dXJuIGltYWdl
RGl2OwogfQpAQCAtMTgsNyArMTgsNyBAQCBmdW5jdGlvbiBjcmVhdGVJbWFnZURpdldpdGhDb250
ZW50U2hhZG93KCkgewogICB2YXIgaW1hZ2VEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKICAgaW1hZ2VEaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGltYWdlQ29udGVudFN0eWxl
KTsKICAgaW1hZ2VEaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykp
OwotICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW1hZ2VEaXYpOyAKKyAgdmFy
IHNoYWRvdyA9IGltYWdlRGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsgCiAgIHNoYWRvdy5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgIHNoYWRvdy5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50JykpOwogICByZXR1cm4gaW1h
Z2VEaXY7CkBAIC0yNyw3ICsyNyw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUltYWdlRGl2V2l0aENvbnRl
bnRTaGFkb3coKSB7CiBmdW5jdGlvbiBjcmVhdGVJbWFnZURpdldpdGhGYWxsYmFja0NvbnRlbnRT
aGFkb3coKSB7CiAgIHZhciBpbWFnZURpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwogICBpbWFnZURpdi5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgaW1hZ2VDb250ZW50U3R5bGUpOwot
ICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW1hZ2VEaXYpOyAKKyAgdmFyIHNo
YWRvdyA9IGltYWdlRGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsgCiAgIHNoYWRvdy5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgIHZhciBjb250ZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOwogICBjb250ZW50LmlubmVySFRNTCA9
ICI8ZGl2PjwvZGl2PiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXBzZXVkby1pZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1wc2V1ZG8taWQuaHRtbAppbmRleCBlNWJmYzlkYjc3MzljNjM0MGQyM2JkZTYzMGU3YzVlM2Jl
YTNkY2JkLi5hNzQ3NTFlOThiZGQwOWFhNmM0ODE5YmE2ZTYzMmFlNGUzY2UyMDg4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXBzZXVkby1pZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcHNldWRvLWlkLmh0bWwKQEAg
LTI1LDE5ICsyNSwxOSBAQCBkaXY6OmZvb2JhciB7CiA8ZGl2IGlkPSJob3N0MyI+PC9kaXY+CiAK
IDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7
Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIg
ZGl2MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2MS5pbm5lckhUTUwgPSAi
cHNldWRvIGlzIHgtc2hhZG93OiBUaGlzIHNob3VsZCBiZSByZWQuIjsKIGRpdjEud2Via2l0UHNl
dWRvID0gIngtc2hhZG93IjsKIHNoYWRvd1Jvb3QxLmFwcGVuZENoaWxkKGRpdjEpOwogCi12YXIg
c2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7Cit2YXIgc2hhZG93Um9v
dDIgPSBob3N0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgZGl2MiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2Mi5pbm5lckhUTUwgPSAicHNldWRvIGlzIC10ZXN0
OiBUaGlzIHNob3VsZCBub3QgYmUgcmVkLiI7CiBkaXYyLndlYmtpdFBzZXVkbyA9ICItdGVzdCI7
CiBzaGFkb3dSb290Mi5hcHBlbmRDaGlsZChkaXYyKTsKIAotdmFyIHNoYWRvd1Jvb3QzID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdjMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKIGRpdjMuaW5uZXJIVE1MID0gInBzZXVkbyBpcyBmb29iYXI6IFRoaXMgc2hvdWxkIG5v
dCBiZSByZWQuIjsKIGRpdjMud2Via2l0UHNldWRvID0gImZvb2JhciI7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlbW92ZWNoaWxkLWFuZC1ibHVyLWV2
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlbW92ZWNoaWxk
LWFuZC1ibHVyLWV2ZW50Lmh0bWwKaW5kZXggN2MyMzI5NDY4YzU2NmMwNzc3NzQ2ODk4MWQ4MGU0
ZTYxZTRjODk5Ni4uYTE1NjljM2U0ZjRjZjJiYWMwMDY1NmY4YmZmZjBkNGU4MjBmMmFlOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZW1vdmVjaGlsZC1h
bmQtYmx1ci1ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcmVtb3ZlY2hpbGQtYW5kLWJsdXItZXZlbnQuaHRtbApAQCAtMTAsNyArMTAsNyBAQAogZGVz
Y3JpcHRpb24oJ0NoZWNrIGZvY3VzZWQgc2hhZG93IG5vZGUgZGlzcGF0Y2hzIGJsdXIgZXZlbnQg
b24gcmVtb3ZlQ2hpbGQgb2YgaG9zdC4nKTsKIHZhciBsb2dzID0gW107CiB2YXIgdGVzdCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Ci12YXIgc2hhZG93ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QodGVzdCk7Cit2YXIgc2hhZG93ID0gdGVzdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiB2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwogc2hhZG93
LmFwcGVuZENoaWxkKGlucHV0KTsKIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBmdW5j
dGlvbiAoKSB7IGxvZ3MucHVzaCgnYmx1cicpOyB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWNsaWNrLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1jbGljay5odG1sCmluZGV4
IGQ2OTE4NjEyODdjN2JlY2UwM2ZlNWYxMmQ2NmYzMWFiM2Y1ZTgyM2YuLjk0NGQ0ZWJlMjM1Mzcw
NzhlMDZhYjBkNzFmN2M2ODZhYmUxZjZkMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWNsaWNrLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tY2xpY2suaHRtbApAQCAtMTIs
MTQgKzEyLDE0IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiAKLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qx
KTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNo
YWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0YXJnZXQiPk9sZGVzdCBTaGFkb3dSb290
IENoaWxkPC9kaXY+JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDEpOwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QzIj48c2hhZG93Pjwvc2hh
ZG93Pjxjb250ZW50PjwvY29udGVudD48ZGl2PllvdW5nZXN0IFNoYWRvd1Jvb3QgQ2hpbGQ8L2Rp
dj48L2Rpdj4nOwogCiB2YXIgaG9zdDMgPSBzaGFkb3dSb290Mi5nZXRFbGVtZW50QnlJZCgnaG9z
dDMnKTsKLXZhciBzaGFkb3dSb290MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKTsKK3Zh
ciBzaGFkb3dSb290MyA9IGhvc3QzLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jv
b3QzLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7CiAKIGNv
bnRhaW5lci5vZmZzZXRMZWZ0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24tZHluYW1pYy5odG1sCmluZGV4IDdiMzQ1MjE1
YjgyYWZiZmNjMzViMTMzNmQ0OWVjYmFjMzRmMjNhMjIuLjExMDM1ZmE2YmM0YTJiZGM4OGViMzc0
NjZlZWIyYTc3NGZhNmI5MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcmVwcm9qZWN0aW9uLWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1keW5hbWljLmh0bWwKQEAgLTgsMTQgKzgs
MTQgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwor
dmFyIHNoYWRvd1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93
Um9vdDEuaW5uZXJIVE1MID0gJzxkaXYgaWQ9Imhvc3QyIj5PbGRlc3QgU2hhZG93Um9vdCBDaGls
ZDwvZGl2Pic7CiAKLXZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qx
KTsKK3ZhciBzaGFkb3dSb290MiA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNo
YWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8ZGl2IGlkPSJob3N0MyI+PHNoYWRvdz48L3NoYWRvdz48
Y29udGVudD48L2NvbnRlbnQ+PGRpdj5Zb3VuZ2VzdCBTaGFkb3dSb290IENoaWxkPC9kaXY+PC9k
aXY+JzsKIAogdmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QzJyk7
Ci12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7Cit2YXIgc2hh
ZG93Um9vdDMgPSBob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290My5p
bm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogCiBzZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWwKaW5kZXggZThjNDNmMjBm
MWJkYTU0NThkNmU0ZTU5MDAwMjBhNWU2OGIxYTQ1NC4uMWVkZTE0OWMzNzM2NDBhMzFjODkzZDll
MzY3NTk4YWYxMWJiOWYwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sCkBAIC01LDE3ICs1
LDE3IEBACiA8ZGl2IGlkPSJob3N0MSI+PGRpdj5Ib3N0IENoaWxkPC9kaXY+PC9kaXY+CiAKIDxz
Y3JpcHQ+Ci12YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2
YXIgc2hhZG93Um9vdDEgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290MS5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDIiPk9sZGVzdCBTaGFkb3dSb290IENoaWxk
PC9kaXY+JzsKIAotdmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEp
OwordmFyIHNoYWRvd1Jvb3QyID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hh
ZG93Um9vdDIuaW5uZXJIVE1MID0gJzxzaGFkb3c+PC9zaGFkb3c+PGNvbnRlbnQ+PC9jb250ZW50
PjxzaGFkb3c+PGRpdiB0aXRsZT0iZGVidWdzdG9wIj5TaGFkb3cgRmFsbGJhY2sgRWxlbWVudCAo
MSk8L2Rpdj48L3NoYWRvdz4nOwogCi12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDMgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiBzaGFkb3dSb290My5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDQiPjxzaGFkb3c+
PC9zaGFkb3c+PHNoYWRvdz48ZGl2PlNoYWRvdyBGYWxsYmFjayBFbGVtZW50ICgyKTwvZGl2Pjwv
c2hhZG93PjxzcGFuPk5vdCByZW5kZXJlZCAoMSk8L3NwYW4+PHNoYWRvdz48c3Bhbj5Ob3QgcmVu
ZGVyZWQgKDIpPC9zcGFuPjwvc2hhZG93PjwvZGl2Pic7CiAKIHZhciBob3N0NCA9IHNoYWRvd1Jv
b3QzLmdldEVsZW1lbnRCeUlkKCdob3N0NCcpOwotdmFyIHNoYWRvd1Jvb3Q0ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdDQpOwordmFyIHNoYWRvd1Jvb3Q0ID0gaG9zdDQud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpOwogCiBzaGFkb3dSb290NC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0
PSJkaXYiPjwvY29udGVudD4nOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yZXByb2plY3Rpb24uaHRtbAppbmRleCA3NDQ1MDgyZWE4MmM3
YjkzZWEwMDBjYjZiNjVhYWQxNTdjMjA0ZjE3Li42YTFhYzNkOTNmZmM5MTMzZDIxNTJhN2RhNWYz
MWEwNWUwMjllOThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJlcHJvamVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcmVwcm9qZWN0aW9uLmh0bWwKQEAgLTUsMTQgKzUsMTQgQEAKIDxkaXYgaWQ9Imhvc3Qx
Ij48ZGl2Pkhvc3QgQ2hpbGQ8L2Rpdj48L2Rpdj4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290
MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3Qx
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmlubmVySFRNTCA9ICc8ZGl2
IGlkPSJob3N0MiI+T2xkZXN0IFNoYWRvd1Jvb3QgQ2hpbGQ8L2Rpdj4nOwogCi12YXIgc2hhZG93
Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDIgPSBo
b3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAn
PGRpdiBpZD0iaG9zdDMiPjxzaGFkb3c+PC9zaGFkb3c+PGNvbnRlbnQ+PC9jb250ZW50PjxkaXY+
WW91bmdlc3QgU2hhZG93Um9vdCBDaGlsZDwvZGl2PjwvZGl2Pic7CiAKIHZhciBob3N0MyA9IHNo
YWRvd1Jvb3QyLmdldEVsZW1lbnRCeUlkKCdob3N0MycpOwotdmFyIHNoYWRvd1Jvb3QzID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDMpOwordmFyIHNoYWRvd1Jvb3QzID0gaG9zdDMud2Via2l0
Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdDMuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0iZGl2Ij48L2NvbnRlbnQ+JzsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJlcHJvamVjdGlvbjIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sCmluZGV4IDlmN2Q3
NzYyMzM0N2ZmMzZkNTg1YjZjMzIzOTQ1ZTY1ODgyNWQ1NTUuLjdjMjRiNjI2MDRjYmVkODUyZjNi
YTg1MjY2M2JlN2M1Mjc0M2Y4ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctcmVwcm9qZWN0aW9uMi5odG1sCkBAIC01LDE0ICs1LDE0IEBACiA8ZGl2
IGlkPSJob3N0MSI+PGRpdj5CPC9kaXY+PC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9v
dDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDEgPSBob3N0
MS53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290MS5pbm5lckhUTUwgPSAnPHNo
YWRvdz48L3NoYWRvdz4nOwogCi12YXIgc2hhZG93Um9vdDIgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDIgPSBob3N0MS53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiBzaGFkb3dSb290Mi5pbm5lckhUTUwgPSAnPGRpdiBpZD0iaG9zdDMiPjxzaGFkb3c+PC9z
aGFkb3c+PC9kaXY+JzsKIAogdmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQo
J2hvc3QzJyk7Ci12YXIgc2hhZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7
Cit2YXIgc2hhZG93Um9vdDMgPSBob3N0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFk
b3dSb290My5pbm5lckhUTUwgPSAnPGRpdj5BPC9kaXY+PGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwv
Y29udGVudD48ZGl2PkM8L2Rpdj4nOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBlbmQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBlbmQuaHRtbAppbmRleCA1ZGE4OGM1YmUx
YTNmZjJlOTA1NTNiMDliYWI1YzgxNjc5Y2ZlZTIxLi42Mjk0OWIyODBmMTI0MWQwMzM2ZDQ3MmUx
YTkwYjMwZTA1YTFiMzhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtYXBwZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWFwcGVuZC5odG1sCkBAIC0xNiw3ICsxNiw3IEBAIGZ1bmN0aW9uIGRvVGVz
dCgpIHsKICAgICB9CiAKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7Ci0gICAgcm9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgcm9vdCA9IGRp
di53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSgnU1MnKSk7CiAKICAgICBjb250YWluZXIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnY29udGFpbmVyJyk7CkBAIC0yNiw3ICsyNiw3IEBAIGZ1bmN0aW9uIGRvVGVz
dCgpIHsKICAgICBzaG91bGRCZSgnY29udGFpbmVyLmZpcnN0Q2hpbGQudGV4dENvbnRlbnQnLCAn
IlNTIicpOwogCiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwot
ICAgIHJvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHJvb3QgPSBkaXYud2Vi
a2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoJ1BBJykpOwogCiAgICAgY29udGFpbmVyLmluc2VydEJlZm9yZShyb290LCBj
b250YWluZXIuZmlyc3RDaGlsZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtYXBwbHlBdXRob3JTdHlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCmluZGV4IDYx
OGVjODIwMDA3YWU4ZGIwZmM3NWIyMWQ0M2Y4NTFjZmVkZDJhZWQuLmNiNzk3YjE4ODExNzc4NjBm
ZGJhMmFkZGIzZmJlZmMwNjExM2FlOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hcHBseUF1dGhvclN0eWxlcy5odG1sCkBA
IC01OSw3ICs1OSw3IEBAIGZ1bmN0aW9uIHJlbmRlckFwcGx5QXV0aG9yU3R5bGVDYXNlKCkgewog
ICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnYXBwbHktYXV0aG9yLXN0eWxlJykuYXBwZW5kQ2hpbGQoZGl2KTsK
IAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2
YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgYXNzZXJ0
RmFsc2UoJ2RlZmF1bHQgYXBwbHlBdXRob3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9y
U3R5bGVzKTsKICAgICBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKICAgICBh
c3NlcnRUcnVlKCdhcHBseUF1dGhvclN0eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3Qu
YXBwbHlBdXRob3JTdHlsZXMpOwpAQCAtNzAsNyArNzAsNyBAQCBmdW5jdGlvbiByZW5kZXJOb0Fw
cGx5QXV0aG9yU3R5bGVDYXNlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm8tYXBwbHktYXV0aG9y
LXN0eWxlJykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgYXBwbHlBdXRob3JTdHls
ZXMnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKICAgICBzaGFkb3dSb290LmFwcGx5
QXV0aG9yU3R5bGVzID0gZmFsc2U7CiAgICAgYXNzZXJ0RmFsc2UoJ2FwcGx5QXV0aG9yU3R5bGVz
IHNob3VsZCBiZSBmYWxzZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwpAQCAtODEs
NyArODEsNyBAQCBmdW5jdGlvbiByZW5kZXJBcHBseUF1dGhvclN0eWxlV2l0aElubGluZVN0eWxl
RGVjbGFyYXRpb25DYXNlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2l0aC1pbmxpbmUtc3R5bGUt
ZGVjbGFyYXRpb24nKS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCBhcHBseUF1dGhv
clN0eWxlcycsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwogICAgIHNoYWRvd1Jvb3Qu
YXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOwogICAgIGFzc2VydFRydWUoJ2FwcGx5QXV0aG9yU3R5
bGVzIHNob3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CkBAIC05
Miw3ICs5Miw3IEBAIGZ1bmN0aW9uIHJlbmRlckFwcGx5QXV0aG9yU3R5bGVXaXRoT3ZlcnJpZGlu
Z0ltcG9ydGFudFByb3BlcnR5Q2FzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyeS10by1vdmVy
cmlkZS1pbXBvcnRhbnQnKS5hcHBlbmRDaGlsZChkaXYpOwogCi0gICAgdmFyIHNoYWRvd1Jvb3Qg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCBhcHBseUF1
dGhvclN0eWxlcycsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JTdHlsZXMpOwogICAgIHNoYWRvd1Jv
b3QuYXBwbHlBdXRob3JTdHlsZXMgPSB0cnVlOwogICAgIGFzc2VydFRydWUoJ2FwcGx5QXV0aG9y
U3R5bGVzIHNob3VsZCBiZSB0cnVlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7CkBA
IC0xMDMsNyArMTAzLDcgQEAgZnVuY3Rpb24gdGVzdENoYW5naW5nQXBwbHlBdXRob3JTdHlsZUZy
b21UcnVlVG9GYWxzZSgpIHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYW5nZS1hcHBseS1hdXRob3It
c3R5bGUtZnJvbS10cnVlLXRvLWZhbHNlJykuYXBwZW5kQ2hpbGQoZGl2KTsKIAotICAgIHZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9v
dCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1
bHQgYXBwbHlBdXRob3JTdHlsZXMnLCBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzKTsKICAg
ICBzaGFkb3dSb290LmFwcGx5QXV0aG9yU3R5bGVzID0gdHJ1ZTsKICAgICBhc3NlcnRUcnVlKCdh
cHBseUF1dGhvclN0eWxlcyBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3QuYXBwbHlBdXRob3JT
dHlsZXMpOwpAQCAtMTI0LDcgKzEyNCw3IEBAIGZ1bmN0aW9uIHRlc3RDaGFuZ2luZ0FwcGx5QXV0
aG9yU3R5bGVGcm9tRmFsc2VUb1RydWUoKSB7CiAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGFuZ2UtYXBw
bHktYXV0aG9yLXN0eWxlLWZyb20tZmFsc2UtdG8tdHJ1ZScpLmFwcGVuZENoaWxkKGRpdik7CiAK
LSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFy
IHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jv
b3QuYXBwbHlBdXRob3JTdHlsZXMgPSBmYWxzZTsKICAgICBhc3NlcnRGYWxzZSgnYXBwbHlBdXRo
b3JTdHlsZXMgc2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5hcHBseUF1dGhvclN0eWxlcyk7
CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdj48c3BhbiBpZD0idGVzdDIiPjwvc3Bh
bj48L2Rpdj4nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWF0dGFjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYXR0YWNoZWQuaHRtbAppbmRleCBmYmI2Zjg2YzJmYmYxMGQ4MTNmOGMzMDU1YWIzMzBm
NjYwZjM2ZWUwLi5mNTEyNWZiZDQwODVmNWIwNTlhYWRiNTdmNDYyNTllYjJjODY5NDBjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXR0YWNoZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXR0YWNo
ZWQuaHRtbApAQCAtMTcsNyArMTcsNyBAQCB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRhaW5lciIpOwogICAgIHdpbmRvdy5saWdodCA9IGNyZWF0ZVNwYW5XaXRo
VGV4dCgnTElHSFQnKTsKICAgICByb290LmFwcGVuZENoaWxkKGxpZ2h0KTsKIAotICAgIHZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qocm9vdCk7CisgICAgdmFyIHNoYWRvd1Jv
b3QgPSByb290LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIAogICAgIHNob3VsZEJlKCdpbnRl
cm5hbHMuYXR0YWNoZWQobGlnaHQpJywgJ2ZhbHNlJyk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2NvbnRhaW5lcicpLmFwcGVuZENoaWxkKHJvb3QpOwpAQCAtMjksNyArMjksNyBAQCB2
YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpOwogICAg
IHdpbmRvdy5saWdodCA9IGNyZWF0ZVNwYW5XaXRoVGV4dCgnTElHSFQnKTsKICAgICByb290LmFw
cGVuZENoaWxkKGxpZ2h0KTsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3Qocm9vdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSByb290LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGNyZWF0ZUNvbnRlbnRXaXRoU2Vs
ZWN0KCdzcGFuJykpOwogCiAgICAgc2hvdWxkQmUoJ2ludGVybmFscy5hdHRhY2hlZChsaWdodCkn
LCAnZmFsc2UnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1pbm5lckhUTUwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1pbm5lckhUTUwuaHRtbAppbmRleCBkMDc4N2I0YWI0ZmVhMGZiYmE4NDI4ODNkZDdh
ZjAyMDE4ODZmZmE4Li44MGZlZjkxNWEwMGZkZDliNWM5M2YwODVlMDAxNGE1NTczOTBkNTE0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtaW5uZXJI
VE1MLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWlu
bmVySFRNTC5odG1sCkBAIC0xNyw3ICsxNyw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewog
CiBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGhvc3QpOwotcm9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworcm9v
dCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiB2YXIgZGl2MSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogZGl2MS5zZXRBdHRyaWJ1dGUoImlkIiwgImRpdjEiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1h
cGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWpzLWFwaS1leHBlY3RlZC50eHQKaW5kZXggOTNmMGJjNTNiMjQyY2E1YWQ4YjdkYWM4NmUxNDQz
M2ZmZjM1OTdjMS4uOTlmZjA2Zjc5YjcwODhhNzY5YjQ1NTFiZmU0OTEzMjE1OGQ4YjhhMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWpzLWFwaS1leHBlY3RlZC50eHQKQEAgLTMsMTAgKzMsNiBAQCBUZXN0cyBmb3IgU2hhZG93Um9v
dCBKUyBBUElzLiBDYW4gb25seSBydW4gd2l0aGluIERSVAogT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgogCiAKLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
dW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjog
RE9NIEV4Y2VwdGlvbiAzLgotUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChudWxsKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IEhpZXJhcmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgot
UEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdCgxKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhpZXJh
cmNoeVJlcXVlc3RFcnJvcjogRE9NIEV4Y2VwdGlvbiAzLgogUEFTUyBzaGFkb3dSb290LmdldEVs
ZW1lbnRCeUlkKCdkaXYxJykgaXMgZGl2MQogUEFTUyBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlk
KCdmb28nKSBpcyBudWxsCiBQQVNTIHNoYWRvd1Jvb3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgn
Y2xhc3MyJykgaXMgW2RpdjJdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtanMtYXBpLmh0bWwKaW5kZXggZGM1MWM2Yzg3ZGMwZWU5NmQ5M2EyMTBjYmRj
ZDE2MmQxYzcxYjM1Mi4uMjk3OGI5NDkxNmZkM2FiMGNiYTM1NmEyZDI5NTJlMmE4NjQ5OGU0NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFw
aS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1h
cGkuaHRtbApAQCAtMTQsMTMgKzE0LDkgQEAgZGVzY3JpcHRpb24oIlRlc3RzIGZvciBTaGFkb3dS
b290IEpTIEFQSXMuIENhbiBvbmx5IHJ1biB3aXRoaW4gRFJUIik7CiAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLXNob3VsZFRocm93KCJuZXcg
V2ViS2l0U2hhZG93Um9vdCgpIik7Ci1zaG91bGRUaHJvdygibmV3IFdlYktpdFNoYWRvd1Jvb3Qo
dW5kZWZpbmVkKSIpOwotc2hvdWxkVGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290KG51bGwpIik7
Ci1zaG91bGRUaHJvdygibmV3IFdlYktpdFNoYWRvd1Jvb3QoMSkiKTsKIHZhciBzaGFkb3dIb3N0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHNoYWRvd0hvc3QpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChz
aGFkb3dIb3N0KTsKK3ZhciBzaGFkb3dSb290ID0gc2hhZG93SG9zdC53ZWJraXRDcmVhdGVTaGFk
b3dSb290KCk7CiAKIHZhciBkaXYxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiBk
aXYxLnNldEF0dHJpYnV0ZSgiaWQiLCAiZGl2MSIpOwpAQCAtNTQsNyArNTAsNyBAQCBzaG91bGRC
ZU51bGwoInNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmZvbycpIik7CiBzaG91bGRCZSgic2hh
ZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYnKSIsICJbZGl2MSwgZGl2Ml0iKTsKIHNob3Vs
ZEJlKCJzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2ZvbycpIiwgIltdIik7CiAKLXZhciB5
b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHNoYWRvd0hvc3QpOwordmFy
IHlvdW5nZXJTaGFkb3dSb290ID0gc2hhZG93SG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaG91bGROb3RCZSgieW91bmdlclNoYWRvd1Jvb3QiLCAic2hhZG93Um9vdCIpOwogCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy1l
eHBlY3RlZC50eHQKaW5kZXggZTk5MzhkY2Q4YTY3ZGJkMWFiNWM0OWZkMWIyMTBlNTA4YzQ3OWVj
ZC4uMGI4ZjE4M2E0N2M1YmY2OGE1ODY4MmJkNmM2MWRhYWRlOTA2ZmRjMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSw0IEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3QgJ25ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUg
dGhlIHNhbWUuCitUaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3QgJ2hvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUgdGhlIHNhbWUu
CiAKIFBBU1Mgcm9vdDEgaXMgcm9vdDIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcuaHRtbApp
bmRleCBkNjIxZDcxMDg0MzRjY2NmYzE3MzE0ZmJmZjE3ZGQ5ODI0YTY0NzVkLi40YTVkMzdmYmNi
ZGU3MTE2YjkxZjAwYzRhNjg1MTI4ZGM4NTU1YTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sCkBAIC00LDcgKzQsNyBAQAogPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hl
YWQ+CiA8Ym9keT4KLTxwPlRoaXMgdGVzdCBjaGVja3MgdGhlIG9iamVjdCAnbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCknIGFuZCBpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYpIGFyZSB0aGUgc2Ft
ZS48L3A+Cis8cD5UaGlzIHRlc3QgY2hlY2tzIHRoZSBvYmplY3QgJ2hvc3Qud2Via2l0Q3JlYXRl
U2hhZG93Um9vdCgpJyBhbmQgaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhcmUgdGhlIHNhbWUu
PC9wPgogPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CiAKIDxzY3JpcHQ+CkBAIC0xNSw4ICsxNSw4
IEBAIGZ1bmN0aW9uIGRvVGVzdCgpIHsKICAgICB9CiAKICAgICBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKLSAgICAvLyB3ZSBzaG91bGQgY2FsbCBuZXcgV2ViS2l0U2hhZG93
Um9vdCBmaXJzdC4KLSAgICByb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAg
Ly8gd2Ugc2hvdWxkIGNhbGwgd2ViS2l0Q3JlYXRlU2hhZG93Um9vdCBmaXJzdC4KKyAgICByb290
MSA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgcm9vdDIgPSBpbnRlcm5hbHMu
c2hhZG93Um9vdChkaXYpOwogCiAgICAgc2hvdWxkQmUoJ3Jvb3QxJywgJ3Jvb3QyJyk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtcmVzZXRTdHls
ZUluaGVyaXRhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJv
b3QtcmVzZXRTdHlsZUluaGVyaXRhbmNlLmh0bWwKaW5kZXggYzFiOGQyNmE4Mjc1NWQyOWMyMGJj
MDJiZmM5YThiMDA3OTg3NmJmNS4uMmU3YzBiNzBkYjE4N2YwZWI2MGVjODM3ODU4N2JkOGNhYmM3
OWYzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LXJlc2V0U3R5bGVJbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcm9vdC1yZXNldFN0eWxlSW5oZXJpdGFuY2UuaHRtbApAQCAtNjAsNyArNjAs
NyBAQCBmdW5jdGlvbiByZW5kZXJXaXRoTm9SZXNldFN0eWxlSW5oZXJpdGFuY2UoKSB7CiAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgIGRpdi5jbGFzc05h
bWUgPSAncmVzZXRUZXN0JzsKIAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZGl2KTsKKyAgICB2YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dS
b290KCk7CiAgICAgYXNzZXJ0RmFsc2UoJ2RlZmF1bHQgcmVzZXRTdHlsZUluaGVyaXRhbmNlIHNo
b3VsZCBiZSBmYWxzZScsIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlKTsKICAgICBz
aGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2PnRleHQ8L2Rpdj4nOwogICAgIApAQCAtNzEsNyAr
NzEsNyBAQCBmdW5jdGlvbiByZW5kZXJXaXRoUmVzZXRTdHlsZUluaGVyaXRhbmNlKCkgewogICAg
IHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICBkaXYuY2xhc3NO
YW1lID0gJ3Jlc2V0VGVzdCc7CiAKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogICAgIGFzc2VydEZhbHNlKCdkZWZhdWx0IHJlc2V0U3R5bGVJbmhlcml0YW5jZSBz
aG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290LnJlc2V0U3R5bGVJbmhlcml0YW5jZSk7CiAgICAg
c2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSB0cnVlOwogICAgIHNoYWRvd1Jvb3Qu
aW5uZXJIVE1MID0gJzxkaXY+dGV4dDwvZGl2Pic7CkBAIC04NCw3ICs4NCw3IEBAIGZ1bmN0aW9u
IHJlbmRlcldpdGhDaGFuZ2luZ1Jlc2V0U3R5bGVJbmhlcml0YW5jZUZyb21UcnVlVG9GYWxzZSgp
IHsKICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZGl2
LmNsYXNzTmFtZSA9ICdyZXNldFRlc3QnOwogCi0gICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBzaGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKICAgICBhc3NlcnRGYWxzZSgnZGVmYXVsdCByZXNldFN0eWxlSW5oZXJp
dGFuY2Ugc2hvdWxkIGJlIGZhbHNlJywgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2Up
OwogICAgIHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gdHJ1ZTsKICAgICBzaGFk
b3dSb290LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0MSI+dGV4dDwvZGl2Pic7CkBAIC0xMDcs
NyArMTA3LDcgQEAgZnVuY3Rpb24gcmVuZGVyV2l0aENoYW5naW5nUmVzZXRTdHlsZUluaGVyaXRh
bmNlRnJvbUZhbHNlVG9UcnVlKCkgewogICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKICAgICBkaXYuY2xhc3NOYW1lID0gJ3Jlc2V0VGVzdCc7CiAKLSAgICB2YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CisgICAgdmFyIHNoYWRvd1Jv
b3QgPSBkaXYud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIGFzc2VydEZhbHNlKCdkZWZh
dWx0IHJlc2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290LnJl
c2V0U3R5bGVJbmhlcml0YW5jZSk7CiAgICAgc2hhZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFu
Y2UgPSBmYWxzZTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJ0ZXN0MiI+
dGV4dDwvZGl2Pic7CkBAIC0xMzcsNyArMTM3LDcgQEAgZnVuY3Rpb24gcmVuZGVyUmVzZXRTdHls
ZUluaGVyaXRhbmNlRm9yQ29udGVudCgpIHsKICAgICBkaXYuY2xhc3NOYW1lID0gJ3Jlc2V0VGVz
dCc7CiAgICAgZGl2LmFwcGVuZENoaWxkKGNyZWF0ZURpdldpdGhUZXh0KCd0ZXh0JykpOwogCi0g
ICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworICAgIHZhciBz
aGFkb3dSb290ID0gZGl2LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290
LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7CiAgICAgc2hh
ZG93Um9vdC5yZXNldFN0eWxlSW5oZXJpdGFuY2UgPSB0cnVlOwogICAgIGFzc2VydFRydWUoJ3Jl
c2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgdHJ1ZScsIHNoYWRvd1Jvb3QucmVzZXRTdHls
ZUluaGVyaXRhbmNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBmdW5jdGlvbiByZW5kZXJOb1Jlc2V0
U3R5bGVJbmhlcml0YW5jZUZvckNvbnRlbnQoKSB7CiAgICAgZGl2LmNsYXNzTmFtZSA9ICdyZXNl
dFRlc3QnOwogICAgIGRpdi5hcHBlbmRDaGlsZChjcmVhdGVEaXZXaXRoVGV4dCgndGV4dCcpKTsK
IAotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2
YXIgc2hhZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJkaXYiPjwvY29udGVudD4nOwogICAg
IHNoYWRvd1Jvb3QucmVzZXRTdHlsZUluaGVyaXRhbmNlID0gZmFsc2U7CiAgICAgYXNzZXJ0RmFs
c2UoJ3Jlc2V0U3R5bGVJbmhlcml0YW5jZSBzaG91bGQgYmUgZmFsc2UnLCBzaGFkb3dSb290LnJl
c2V0U3R5bGVJbmhlcml0YW5jZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXNlbGVjdC1hdHRyaWJ1dGUtZmVhdHVyZXNldC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1zZWxlY3QtYXR0cmlidXRlLWZlYXR1cmVzZXQuaHRt
bAppbmRleCAwNjY2ZjcxN2UwZWY4ZDAyM2Q3OTcwZjA5YmIyMmMzZTkwN2M1ZTgxLi40MmJhNzY3
MWQ5MTMwMGUwODQyY2RlYWE4NzA4NGFmZDg2MWQ2YzhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXNlbGVjdC1hdHRyaWJ1dGUtZmVhdHVyZXNldC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctc2VsZWN0LWF0dHJpYnV0
ZS1mZWF0dXJlc2V0Lmh0bWwKQEAgLTExMSw3ICsxMTEsNyBAQCB0ZXN0Q2FzZShmdW5jdGlvbigp
CiB7CiAgICAgZGVidWcoJ011bHRpcGxlIFNoYWRvd1Jvb3QgY2FzZScpOwogCi0gICAgdmFyIGFu
b3RoZXJTaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIGFu
b3RoZXJTaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAKICAgICBz
aGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNmb28iPjwvY29udGVudD4n
OwogICAgIGFub3RoZXJTaGFkb3dSb290LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNi
YXIiPjwvY29udGVudD48Y29udGVudCBzZWxlY3Q9ImRpdltiYXpdLC5iYXIiPjwvY29udGVudD4n
OwpAQCAtMTUyLDcgKzE1Miw3IEBAIHRlc3RDYXNlKGZ1bmN0aW9uKCkKICAgICBzaGFkb3dSb290
LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNmb28iPjwvY29udGVudD4nOwogCiAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHZhciBuZXN0ZWRT
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKKyAgICB2YXIgbmVzdGVkU2hh
ZG93Um9vdCA9IGRpdi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgbmVzdGVkU2hhZG93
Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIjYmFyIj48L2NvbnRlbnQ+JzsKICAg
ICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbAppbmRleCA2Yjg4MWViMmRjZTk3ZDFiNTM3NDFjYThh
NmIxYzVmOTcwMTQ3OTdmLi5hYjRhMmVmNDRlMjc3OTU2Zjc2OGFiYWM0ZjhkYzdkNGNlMjM1NDky
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXVsLWxpLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy11bC1saS5odG1sCkBA
IC05LDcgKzksNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgIHZhciBob3N0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChob3N0
KTsKLSAgICB2YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFy
IHNoYWRvdyA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogCiAgICAgdmFyIHVsID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndWwnKTsKICAgICB2YXIgbGkgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdsaScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1keW5hbWljLXN0eWxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZHluYW1pYy1zdHlsaW5nLmh0bWwKaW5kZXggOGZiODM4ZDBjNDNkNTRm
OGM3NDBiNDkzZWY2ZGU5ZGM0NzNmNWNiNS4uNWI0YWJlZGY1MDg3YjZhZmVjY2VkMGQyYjdlYTMx
OTExY2Y3ZTI0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1keW5hbWljLXN0eWxpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWR5bmFtaWMtc3R5bGluZy5odG1sCkBAIC0xNiwxMCArMTYsMTAgQEAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICA8L2Rpdj4KIDxzY3JpcHQ+CiB2YXIgYm94ID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcigiI2JveCIpOwotdmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChib3gpOwordmFyIG9sZGVzdFNoYWRvd1Jvb3QgPSBib3gud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogb2xkZXN0U2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+
PC9jb250ZW50PiI7CiAgICAgCi12YXIgeW91bmdlc3RTaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2l0ZW0iKSk7Cit2YXIgeW91bmdlc3RT
aGFkb3dSb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2l0ZW0iKS53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiB5b3VuZ2VzdFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzdHlsZT4iICsK
ICAgICAgICIuc2VsZWN0ZWQge2JhY2tncm91bmQ6IHJlZDt9IiArCiAgICAgICAiPC9zdHlsZT4i
ICsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWJ1dHRvbi1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggYThkY2Y4M2Fi
Mzg5OGRkMmY2OWE5N2VmMjE5NTI5MTJmMjc5MTZiZi4uYTY0NmUyZDNmMDRmOWUwZTNlNzNkMmIw
NTA1NGVhOTU2MDRlOGUxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItYnV0dG9uLWNvbXBsZXgtc2hhZG93Lmh0
bWwKQEAgLTEwLDcgKzEwLDcgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGRpdj48Y29udGVudCBzZWxlY3Q9InNwYW4iPjwv
Y29udGVudD48c2hhZG93Pjwvc2hhZG93PjwvZGl2PicKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24tb25seS1z
aGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1
dHRvbi1vbmx5LXNoYWRvdy5odG1sCmluZGV4IDZkNDg1NDg5ODY4MDI0NjlmZTM5ODRkMzAzYzI5
MmRiODNkNDFiM2IuLjg2ODBkYzJmMDY1NzBhZmQ4OTJlMWYxYjJjNWQxYjY5ZWU3YWJjZGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRv
bi1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWJ1dHRvbi1vbmx5LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsxMCw3IEBACiAKIDxz
Y3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3Qg
PSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0g
IjxzaGFkb3c+PC9zaGFkb3c+IgogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1idXR0b24td2l0aG91dC1zaGFk
b3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRv
bi13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IDdiYjEzZTFhY2I4NTQ5MGQ4YmExZjJiODIzYmJk
NzJiYjMzYzdkOWEuLjM5NjVjNGJiNzY4MGM3NDVmODkzMjE4Y2M4ZmMzNzYxZGEyMzRhZDggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRv
bi13aXRob3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWJ1dHRvbi13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0xMCw3ICsxMCw3IEBA
CiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7
Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRv
d1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIDwvc2NyaXB0PgogCiA8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1idXR0b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWJ1dHRvbi5odG1sCmluZGV4IDUwNDYwM2M2MmU3N2JmYWE4MDBhYTFmMWY1YTMzNTQ5N2JhNzg4
NjEuLjU2ZTZkMzQ0YWM0MjVlYzE5NTM5YTYyOTZkYTBkOWIwZjlmMWQzMTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWJ1dHRvbi5odG1s
CkBAIC0xMCwxMiArMTAsMTIgQEAKIDxidXR0b24gaWQ9Imhvc3QyIj5Lb3Rvcmk8L2J1dHRvbj4K
IAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qx
KTsKK3ZhciBzaGFkb3dSb290MSA9IGhvc3QxLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNo
YWRvd1Jvb3QxLmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiBPdG9uYXNoaSI7CiAKLXZh
ciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dS
b290MiA9IGhvc3QyLndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QyLmlubmVy
SFRNTCA9ICJmb28gPHNoYWRvdz48L3NoYWRvdz4gYmFyIjsKLXZhciBzaGFkb3dSb290MyA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3ZhciBzaGFkb3dSb290MyA9IGhvc3QyLndlYmtp
dENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QzLmlubmVySFRNTCA9ICJGT08gPHNoYWRv
dz48L3NoYWRvdz4gQkFSIjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1jb21wbGV4LXNoYWRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtY29t
cGxleC1zaGFkb3cuaHRtbAppbmRleCBhNDAyYmFiOTViZjY4NmFmYmQ1NGViNjg0ZGQxZDBhOGVk
MzcxMWEwLi41NzkyOTlkMzg5OGVkYTA2NTc4NmY1MGIyNjI0ZWI1M2Y0ZjRiMzMxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1j
b21wbGV4LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLWZpZWxkc2V0LWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTEyLDYgKzEyLDYgQEAK
IAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsK
LXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93
Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhU
TUwgPSAiPGNvbnRlbnQ+PC9jb250ZW50PjxkaXYgc3R5bGU9J21hcmdpbjogMjBweCc+PHNoYWRv
dz48L3NoYWRvdz48L2Rpdj4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LW9ubHktc2hhZG93Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1vbmx5LXNo
YWRvdy5odG1sCmluZGV4IGJjMDA2Zjc2NTkxZDZkMDEyMWNkZmEzNGY3ODY0MDFlZDRkYjk4ZmUu
LjQzNGE2YjQ4MjFmNDhkNDA0ZWI4ZmJhNmZiNTg4YjEzYTUzMjg5ZWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LW9ubHktc2hh
ZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
ZmllbGRzZXQtb25seS1zaGFkb3cuaHRtbApAQCAtMTUsNiArMTUsNiBAQCBpZiAod2luZG93Lmlu
dGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55
RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iCiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LXdp
dGhvdXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1maWVsZHNldC13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IGY2YmNiYjI0MzkyZmU0YjM2
N2RhOGI1NDQ0ZDJkOWFhZmFiOWRmNTcuLjFlMGIyODFlOTUwNWJjMWViNzIzZjI1YzZjMjg4YjMz
NTYzZjQ5Y2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWZpZWxkc2V0LXdpdGhvdXQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtd2l0aG91dC1zaGFkb3cuaHRtbApA
QCAtMTQsNSArMTQsNSBAQAogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVl
KTsKIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKLXZhciBzaGFk
b3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhv
c3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1mb3JtLWFzc29jaWF0ZWQtZWxl
bWVudC11c2VyYWdlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWZvcm0tYXNzb2NpYXRlZC1lbGVtZW50LXVzZXJhZ2VudC5odG1sCmluZGV4IGVmZTdl
MGQ1NDUzMWZlYWY4NmEyNmE2MWRmOGZjYjdmNWY4YWM2MDEuLjdjMjg1ZjAyODZjN2NkYzIwNjk4
NGMwMGEzODNiMDJhODA0MzA5MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWZvcm0tYXNzb2NpYXRlZC1lbGVtZW50LXVzZXJhZ2VudC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZvcm0tYXNz
b2NpYXRlZC1lbGVtZW50LXVzZXJhZ2VudC5odG1sCkBAIC0zNSw3ICszNSw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogCiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtcy5sZW5ndGg7ICsraSkgewog
ICAgICAgICB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1zW2ldKTsKLSAg
ICAgICAgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgICAgICBz
aGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgICAgIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IjsKIAogICAgICAgICBvbGRlc3RT
aGFkb3dSb290ID0gaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9zdCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1hbHQtdXBk
YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFn
ZS1hbHQtdXBkYXRlLmh0bWwKaW5kZXggN2EzMThkYzRkNWM3MDg4ZjM2YjI5MzVlY2ZkMTExYjg2
YmFkNWYwZC4uMGVlNzJmMjViYjdlNDQxNGVhMDVmMTM3NTBiNmM5ZWQ5Mjg4ZWUwZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtYWx0
LXVwZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWltYWdlLWFsdC11cGRhdGUuaHRtbApAQCAtMTQsNyArMTQsNyBAQCBpZiAod2luZG93Lmlu
dGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55
RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0g
ICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIg
c2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jv
b3QuaW5uZXJIVE1MID0gIihiZWZvcmUpPHNoYWRvdz48L3NoYWRvdz4oYWZ0ZXIpIjsKIAogICAg
IHZhciB1c2VyQWdlbnRTaGFkb3dSb290ID0gaW50ZXJuYWxzLm9sZGVzdFNoYWRvd1Jvb3QoaG9z
dCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1pbWFnZS1hbHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWltYWdlLWFsdC5odG1sCmluZGV4IDJjMmNkZTVmMGQ1MmNhYTIxYzc2NjhlYjQzYzUxMTlk
MjE2M2JhODUuLjMyNWI3N2UyMzY4MGJmNzkwODJhNGZhMmIwMThmZGE5Y2ZhNmRhMzkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWFs
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWlt
YWdlLWFsdC5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxl
ZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93
Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0g
aG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwg
PSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcikiOwogCiAgICAgdmFyIHVzZXJBZ2Vu
dFNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChob3N0KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLWNvbnRl
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdl
LWNvbnRlbnQuaHRtbAppbmRleCA0ZWU3MGMyZTYzOTdmM2MzNjFhZmQ3NDA4ZjgzZDI0MTY3ZDVi
MDExLi4xZjczNTcwZjQwZTcyOTkxMDdiYTg0MjdmZWQzMzkyODI3OTZlMzg5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1jb250ZW50
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1h
Z2UtY29udGVudC5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQog
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5h
YmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhU
TUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRlcik8Y29udGVudD48L2NvbnRlbnQ+
IjsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItaW1hZ2UtZHluYW1pYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2UtZHluYW1pYy5odG1sCmluZGV4IGUzNzYzOGVjNzJlYWUwNGVhOTQ2
ODRhMzNjMWIzMzNiYzc4MTliMGEuLjYyOTc3ZTQzOWFjYjcyNjNjYzk2ZjRkZjZmZGY3NGE4ZmQ2
MDVjZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLWltYWdlLWR5bmFtaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1pbWFnZS1keW5hbWljLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RP
TUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9z
dCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cisg
ICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBz
aGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSIK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItaW1hZ2UtZXZlbnQtY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLWV2ZW50LWNsaWNrLmh0bWwKaW5kZXggNTljODhkMWVjODEzZTFk
OWM5ZjRjYTU0NzI5YTNhNTA4NDk3N2E3MS4uMzEzNjc3MTk5OWM0YjVkN2UwMWRmNTE0YWZkYzYz
NDY5ZDJkYmEyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItaW1hZ2UtZXZlbnQtY2xpY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1ldmVudC1jbGljay5odG1sCkBAIC0yMCw3ICsy
MCw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogfQogCiBmdW5jdGlvbiBhZGRTaGFkb3dE
T00oaG9zdCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
ICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFm
dGVyKSA8c3BhbiBpZD0ndGFyZ2V0Jz50YXJnZXQ8L3NwYW4+IjsKICAgICByZXR1cm4gc2hhZG93
Um9vdDsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWltYWdlLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1pbWFnZS1ldmVudC5odG1sCmluZGV4IDcxMDEwNTRhYmRkYjAwMWQ0ZTUxOTdm
ZDBmYjM1ODRjNWE2ZDg5NDcuLmEwMGQ0ODU5MDYwMWI0NmMwZDIyMzZkY2I5MjY2MDA5NTQxNjg4
MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWltYWdlLWV2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItaW1hZ2UtZXZlbnQuaHRtbApAQCAtMjQsNyArMjQsNyBAQCBmdW5jdGlvbiBsaXN0
ZW5lcihldmVudCkgewogfQogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAgIHZh
ciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRv
d1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICB2YXIgZGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChk
aXYpOwogICAgIGRpdi5pZCA9ICdpbm5lci1kaXYnOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtaW4tc2hhZG93ZG9tLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1pbi1zaGFkb3dk
b20uaHRtbAppbmRleCA3NjU3YjBmOGE5MWIxZWY1NDExM2EyOGE1YmQ2Njk4Mzg4MWQyYzdmLi40
NDIwNGYyZmIxYWE3MzI0MTdhYTY0MDU5ZGZiZGJkMDMzODgyMjNlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1pbi1zaGFkb3dkb20u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFn
ZS1pbi1zaGFkb3dkb20uaHRtbApAQCAtMTEsMTEgKzExLDExIEBACiBpZiAod2luZG93LmludGVy
bmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxl
bWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
Owogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiYmVmb3JlPGltZyBpZD0naW1nJyBzcmM9Jy4uL3Jl
c291cmNlcy9hcHBsZS5naWYnPmFmdGVyIjsKIAogdmFyIGltZyA9IHNoYWRvd1Jvb3QuZ2V0RWxl
bWVudEJ5SWQoJ2ltZycpOwotdmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChpbWcpOwordmFyIG5lc3RlZFNoYWRvd1Jvb3QgPSBpbWcud2Via2l0Q3JlYXRlU2hhZG93
Um9vdCgpOwogCiBuZXN0ZWRTaGFkb3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+
PC9zaGFkb3c+KGFmdGVyKSI7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLW1hcC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWwKaW5kZXggZDUxNjcx
ZTZkZDA3MjQ3NDZkOWIxZTc4ODhkZGNmNThjZGIzNTlmZi4uYTQ2NjVhZmYxZWVlMDQyZWZiNWMw
NzEwZjA3MjFmNWI0YzA0NTM0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UtbWFwLmh0bWwKQEAgLTI2LDcgKzI2LDcgQEAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCiBm
dW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwv
c2hhZG93PiI7CiAKICAgICB2YXIgdXNlckFnZW50U2hhZG93Um9vdCA9IGludGVybmFscy5vbGRl
c3RTaGFkb3dSb290KGhvc3QpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utc3R5bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXN0eWxlLmh0bWwKaW5kZXggNjEzY2EzNGU2MDJm
ZmZmNDM4NzI5NTZmZjZkZGI4YTZlZjJmOGFmYy4uMDkyNmYxZTZhZDRmZmUxMDU1NTdjZjVkMDYw
NjE5ZTIxYjVhMjU4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2Utc3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS1zdHlsZS5odG1sCkBAIC0yNiw3ICsyNiw3IEBAIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFk
b3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gYWRkU2hhZG93RE9N
KGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
OworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiAg
ICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93Pjwvc2hhZG93PihhZnRl
cikiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1pbWFnZS13aXRoLW11bHRpcGxlLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1tdWx0aXBsZS1zaGFkb3cuaHRt
bAppbmRleCAzMDk2NGRhODhlOGZhNmQ5YTNhYzkxMjlmN2M0NjMzYmRlODA1YjczLi5jNDdlNWI3
MGJjMjdiYzgxZmY2NDM1YWNmNDc4MmI2YzZlZjk0Zjk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLW11bHRpcGxlLXNoYWRv
dy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWlt
YWdlLXdpdGgtbXVsdGlwbGUtc2hhZG93Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZv
ckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkg
ewotICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAg
dmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFk
b3dSb290LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSIKIH0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
aW1hZ2Utd2l0aC1wc2V1ZG8taWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLWltYWdlLXdpdGgtcHNldWRvLWlkLmh0bWwKaW5kZXggNGE0NzBmMzMwNTk3
M2ZmNDI1MDU5OGJjYzE0ZjEzYjYwZTE3YjdhZC4uOGIzMGU4ODc3ODk2MTU1ZGFiMWM1YjhiZTA4
OTA2ZDA2MmYyYjZmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItaW1hZ2Utd2l0aC1wc2V1ZG8taWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXBzZXVkby1pZC5odG1sCkBA
IC0yMCw3ICsyMCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVu
Y3Rpb24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hh
ZG93Pjwvc2hhZG93PihhZnRlcikiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS13aXRoLXdpZHRoLWFuZC1oZWlnaHQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgt
d2lkdGgtYW5kLWhlaWdodC5odG1sCmluZGV4IDhiYzllNzlmYTFjNWYyZTI5NTQxN2M4NGU3M2Ni
OTQ2ZTY3YzBiZWMuLmU2NTI0M2VmODE3Zjg2MzY2OGY3ODQ2Njc3NTg2N2IzMmM5ZmQ4ODIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWltYWdl
LXdpdGgtd2lkdGgtYW5kLWhlaWdodC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWltYWdlLXdpdGgtd2lkdGgtYW5kLWhlaWdodC5odG1sCkBAIC0x
NCw3ICsxNCw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rp
b24gYWRkU2hhZG93RE9NKGhvc3QpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiAgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiKGJlZm9yZSk8c2hhZG93
Pjwvc2hhZG93PihhZnRlcikiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItaW1hZ2UuaHRtbAppbmRleCA3MTU1MzEwMDljYzdiMzQ4OTAz
OTJkNDhmNTE5MDJhMDQwMjQzOTI3Li45MDU0ZDFhYWE1YjliMDQ0OGQ3M2ZlM2I3NTM2ZjRhZjY3
MWU0ZGNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1pbWFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLWltYWdlLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRF
bmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhZGRTaGFkb3dET00oaG9zdCkgewotICAgIHZhciBz
aGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvd1Jv
b3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBzaGFkb3dSb290LmlubmVy
SFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSI7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi1jb21w
bGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3Ita2V5Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggM2RiODg0NmU2YTQ0MmFkN2FkMmVj
ZGUyNWQwZjYyM2E4MGUzMzUxMi4uM2E2MTZjN2FhMWM5YTNkMmM1OWZmZGJiMzUyMjg1MGI2MWM2
MjRhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3Ita2V5Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3Ita2V5Z2VuLWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTEyLDYg
KzEyLDYgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAKIGhvc3QuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoJ2Zvb2JhcicpKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+
PGRpdiBzdHlsZT0nbWFyZ2luOiAyMHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3Ita2V5Z2VuLW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbAppbmRleCAwYWY5MjhlMzE4ZGY4
Njc3MTRjNzY4ZWZjYjZlODAyNGM2NTYxYTYwLi5iYzEyYTU0OGVhZDkyNTgxOGMzMDRhY2MwNmJm
YTc0MGFjZWRjMTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4tb25seS1zaGFkb3cuaHRtbApAQCAtOSw3
ICs5LDcgQEAKIDwvZm9ybT4KIAogPHNjcmlwdD4KLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktp
dFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpOwogdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycp
Owogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3cpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1rZXlnZW4td2l0aG91
dC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWtleWdlbi13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IDY2NzExOTg2ODA2NjU3NDBmZjJiNTkw
ZWQ0YzRlODdkMGIyNmU3MjAuLmE1ZWU5N2JhM2ZiOTJjMTNiNjVhOWIxODFjMDk2YThkN2QyMGYw
MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LWtleWdlbi13aXRob3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLWtleWdlbi13aXRob3V0LXNoYWRvdy5odG1sCkBAIC0xMyw3ICsx
Myw3IEBACiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qu
d2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZWRp
YS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWVkaWEu
aHRtbAppbmRleCAyZTA0NGRlNTdhZDk2YWU3ODVhNzg5YjM0NjdkZjczNzdiZjdlOTZiLi5mZTll
N2FkMTExMGE3YTFjZTg0Yzg5MGJiNjQ5ZjA5NmNlNWNiZGI1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZWRpYS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1lZGlhLmh0bWwKQEAgLTEyLDcg
KzEyLDcgQEAKIAogPHNjcmlwdD4KIGZ1bmN0aW9uIGFkZFNoYWRvd0RPTShob3N0KSB7Ci0gICAg
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hh
ZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3Qu
aW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J21hcmdpbjogMTBweCc+PHNoYWRvdz48L3NoYWRvdz48
L2Rpdj4iCiAgICAgcmV0dXJuIHNoYWRvd1Jvb3Q7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1keW5hbWljLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci1keW5hbWljLmh0bWwK
aW5kZXggOTQ1MjExN2VmNWQwYmM5MjlhZGU1YTBmY2YxZWQ1ZGJkZjM0MTlmNC4uZjNkNzQyMTk5
YWUyMTk5YWM5NDQ5YjQwMTdkNDI0NjI5OTg4NjI1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItZHluYW1pYy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLWR5bmFtaWMuaHRt
bApAQCAtMTQsNyArMTQsNyBAQCBpZiAod2luZG93LmludGVybmFscykKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jv
b3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93
Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsKIAogc2V0VGltZW91dChmdW5jdGlvbigp
IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LW1ldGVyLW11bHRpcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1tZXRlci1tdWx0aXBsZS5odG1sCmluZGV4IGQxOGUwZDYxZTU2YjUwZjE4ODU1ZWMw
N2IyYTQzMjdhYWQyNmM0MDMuLjBiNmViN2Q1MTY2M2I4OGZkMTUzZWQ3MTYxMzk4MmJmZmE4OGY1
NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LW1ldGVyLW11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3ItbWV0ZXItbXVsdGlwbGUuaHRtbApAQCAtMTcsMTAgKzE3LDEwIEBAIG1ldGVy
Ojotd2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFi
bGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qp
OwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwvc3Bhbj4i
OwogCi12YXIgeW91bmdlciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHlvdW5n
ZXIgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHlvdW5nZXIuaW5uZXJIVE1MID0g
IjxkaXYgc3R5bGU9J21hcmdpbjogMCAxMHB4IDAgMTBweDsgaGVpZ2h0OiAxZW07IHdpZHRoOiA1
ZW07Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aC1zdHls
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXIt
d2l0aC1zdHlsZS5odG1sCmluZGV4IDA4ZDdmMmIxYjBkMTdhZWYxMzlmYjdkMzhmMjA5ZDQ0NDA0
MDViNjcuLjQ2MjBmZDU0MGExZDI1NGEyOGE3ODNiY2JmYzQ4MTA1YThmNmI0YWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGgt
c3R5bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1tZXRlci13aXRoLXN0eWxlLmh0bWwKQEAgLTI4LDcgKzI4LDcgQEAgbWV0ZXI6Oi13ZWJraXQt
bWV0ZXItaW5uZXItZWxlbWVudCB7CiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7
CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hh
ZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5l
ckhUTUwgPSAiPGRpdiBzdHlsZT0nbWFyZ2luLWxlZnQ6IDEwMHB4Jz48c2hhZG93Pjwvc2hhZG93
PjxzcGFuPihhZnRlcik8L3NwYW4+PC9kaXY+IjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LWFw
cGVhcmFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LW1ldGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sCmluZGV4IGFlY2UyM2I3NjdiN2IzZjQyMjQw
ZGYzNDVkNTk1OTZlMTlmZWNmNjQuLmNmYmYyNTE2ZmZjYjUwYmJiNDk5MjNmYWEyNDkxZTVmOGIw
ZTRhNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLW1ldGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW1ldGVyLXdpdGhvdXQtYXBwZWFyYW5jZS5odG1sCkBA
IC0yMCw3ICsyMCw3IEBAIG1ldGVyIHsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVl
KTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBz
aGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Lmlu
bmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+IjsKIDwvc2Ny
aXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1tZXRlci13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci13aXRob3V0LXNoYWRvdy1lbGVtZW50Lmh0
bWwKaW5kZXggZjczODY4MWI5NDczNDlhZTdlNTg5Y2QzYTM5ODA4MGEzMWUxM2YyNS4uZWUyYzcx
MDM0NWJkZDBmNWJmMGZhNDE0MWQxNGJhNTY0YWE2NjE1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXItd2l0aG91dC1zaGFkb3ctZWxl
bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LW1ldGVyLXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRv
d0RPTUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxzcGFuPm5vIHByb2dyZXNz
PC9zcGFuPiIKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1tZXRlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItbWV0ZXIuaHRtbAppbmRleCBjMDk1Yzc4YWJkYWU4OTc5MGQ1ZGFm
MzY5YzUxNDA4NjUzYTk0MDI2Li43NjdmODc5NWU0N2ExZWE5MmQzMmQyOTQzODcwMzhhZDczNzM5
YjMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1tZXRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLW1ldGVyLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQog
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5h
YmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFk
b3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRlcik8L3NwYW4+
IjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1vYmplY3QtY29tcGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1jb21wbGV4LXNoYWRvdy5odG1sCmlu
ZGV4IDAxNzEzMTIwYWUwODFmNzVjOGM4Zjk1NDdiYWRjZGU3NTk3OTYwNWIuLmU0MmJhYmViYTdi
NThjOWJjNDhmNzkzYjkzMGFkNWEyZDdkZmIxNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1jb21wbGV4LXNoYWRvdy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1jb21w
bGV4LXNoYWRvdy5odG1sCkBAIC0xMSw2ICsxMSw2IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0
ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50PjwvY29udGVu
dD48ZGl2IHN0eWxlPSdtYXJnaW46IDIwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+IgogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1vYmplY3Qtb25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sCmluZGV4IDAwNDA4NTIxZTc2
M2ViM2IxYmRlMDkxNWI1YTE0MDRmMGM3NTE1MDEuLmY1NDJiZDFhOTYxZWUwNmJhMzEzZDA1ZmE1
YmM3ZmU1ZjU5MGFiYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sCkBAIC0x
Miw2ICsxMiw2IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAogdmFyIGhv
c3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KQordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKQogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRv
dz4iCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwKaW5k
ZXggZTM0OGQ3NWMzYTdmMTRkOTFhY2ZlMzgxNWUyMmRkYjM0MDdkNTM4My4uOGQ1YTMyNmIyZTU1
YjU5MjMzNGNhM2Q0NzE5NDNmMmUzOTc4MjZlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LXdpdGhv
dXQtc2hhZG93Lmh0bWwKQEAgLTksNSArOSw1IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9zdCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpCit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hh
ZG93Um9vdCgpCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1jb21wbGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LWNvbXBsZXgtc2hhZG93Lmh0
bWwKaW5kZXggYjMxZDgzZjI5ZWVlNDJkOTMxMmVhMjdhZGU4N2E1MzNmMGMxNTVlMi4uMTgxOTM5
ZGYyZDg0NGZlNWNiMmUzMDZmZjRmZmY2ODNjZWI3YTA0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LWNvbXBsZXgtc2hhZG93Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0
LWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTksNiArOSw2IEBACiAKIDxzY3JpcHQ+CiB2YXIgaG9z
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENy
ZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50PjwvY29u
dGVudD48ZGl2IHN0eWxlPSdtYXJnaW46IDIwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+Igog
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sCmluZGV4IDE3ZDM0MTY3
ZGVkODY4MDFkYTlhZWI3MjhiNWFiYTE1ZGQ0ZWI5NjYuLjFmOWFhZGIwM2I2MTk4NzIzNjA2MmE5
OWE1OThkYWQwZDYzNzk3YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sCkBA
IC05LDYgKzksNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFk
b3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiIKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LXdp
dGhvdXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1vdXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCA0ODIwZjgyZTQyNTM0ZTg1MWMx
MGJlYTNhOGExN2RmZTMxM2I4ZjVkLi5jOGJlYTJkYjQ1ZjlkYWUzNzg4MzRkNzRlNjQzNGQ2Y2Mz
OWE0NjU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1vdXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtd2l0aG91dC1zaGFkb3cuaHRtbApAQCAtOSw1
ICs5LDUgQEAKIAogPHNjcmlwdD4KIHZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2
YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1w
cm9ncmVzcy1keW5hbWljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1wcm9ncmVzcy1keW5hbWljLmh0bWwKaW5kZXggY2JmYjljODJmNzEzMTllMTJkYzli
YjZkOGRlNzBkZmI2ZjhmMGQzMS4uNzE2NTY2NzJiMjQ0ZDY3ZTJlMDljZTczZjdmMjg5ODVhODcz
MGEyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItcHJvZ3Jlc3MtZHluYW1pYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLWR5bmFtaWMuaHRtbApAQCAtMTYsNyArMTYsNyBAQCBp
ZiAod2luZG93LmludGVybmFscykKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93
Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PjxzcGFuPihhZnRl
cik8L3NwYW4+IjsKIAogc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLW11bHRpcGxlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy1t
dWx0aXBsZS5odG1sCmluZGV4IDA4MDUxNjBjYjhjOTI3M2Y3NDZiNDIzZmFlYTI4YmVmZmMyMTVi
YmQuLmNlYjU0NjI3N2Q4MmQ1ZDQ0MzdjZjJiYjAzMzg5YmRjYWY3YjYzZGEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLW11bHRp
cGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
cHJvZ3Jlc3MtbXVsdGlwbGUuaHRtbApAQCAtMTYsMTAgKzE2LDEwIEBAIHByb2dyZXNzOjotd2Vi
a2l0LXByb2dyZXNzLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRFbmFibGVk
KHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwor
dmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jv
b3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+PHNwYW4+KGFmdGVyKTwvc3Bhbj4iOwog
Ci12YXIgeW91bmdlciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHlvdW5nZXIg
PSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHlvdW5nZXIuaW5uZXJIVE1MID0gIjxk
aXYgc3R5bGU9J21hcmdpbjogMCAxMHB4IDAgMTBweDsgaGVpZ2h0OiAxZW07IHdpZHRoOiAxMGVt
Oyc+PHNoYWRvdz48L3NoYWRvdz48L2Rpdj4iOwogPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGgtc3R5
bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXByb2dy
ZXNzLXdpdGgtc3R5bGUuaHRtbAppbmRleCA4NjJlODY4MGNkOThlNDY3NzZjYzVjZjg3MTc1NzBh
YmRkYmQ2YTcyLi41NjEyMjI4YjgxNGIxODE0YWRlODQwZTY4NmE0OTc5YTE5MDJmYTg4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVz
cy13aXRoLXN0eWxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aC1zdHlsZS5odG1sCkBAIC0yOCw3ICsyOCw3IEBAIHByb2dy
ZXNzOjotd2Via2l0LXByb2dyZXNzLWlubmVyLWVsZW1lbnQgewogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1l
bnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsK
IHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J21hcmdpbi1sZWZ0OiAxMDBweCc+
PHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPjwvZGl2PiI7CiA8L3NjcmlwdD4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
cHJvZ3Jlc3Mtd2l0aG91dC1hcHBlYXJhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LWFwcGVhcmFuY2UuaHRtbAppbmRl
eCA3NGRlZjk4YWE1ZDNkNTBmMGExYzU4M2QyOTk5YzgzMmVmNDRmNDI1Li5jYTIyOThiMWZhZDg5
MzUxN2YyZTVlNWUwOWY1NGFkYTdjNzhiOTExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0LWFwcGVhcmFuY2UuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVz
cy13aXRob3V0LWFwcGVhcmFuY2UuaHRtbApAQCAtMjAsNyArMjAsNyBAQCBwcm9ncmVzcyB7CiBp
ZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hh
ZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRv
dz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPiI7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jlc3Mtd2l0aG91dC1zaGFk
b3ctZWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3ItcHJvZ3Jlc3Mtd2l0aG91dC1zaGFkb3ctZWxlbWVudC5odG1sCmluZGV4IDgxNDA1ZGRkNWM1
NDI0ZGMxZTA5YWI0OGQzM2Y5MTFlMjQxM2ZjYTUuLjkyZjQxZmYxNTM4MjViYjM0YTFmOGY5OTU4
OGRlZjJhNWM1Njg4YjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXByb2dyZXNzLXdpdGhvdXQtc2hhZG93LWVsZW1lbnQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1wcm9ncmVzcy13aXRob3V0
LXNoYWRvdy1lbGVtZW50Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAKIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVt
ZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8c3Bhbj5ubyBwcm9ncmVzczwvc3Bhbj4iCiA8L3Nj
cmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3ItcHJvZ3Jlc3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXByb2dyZXNzLmh0bWwKaW5kZXggYWJkMWJjZTdmYTk4MGZlZDIxZmFlYzFmODM3MjJm
MjE2ZWVjYTQxZi4uMWVkNjZmZjU1YzlhY2NmY2JlZDVmYWViNWZjZGJmYzVlNzAzMDhhMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItcHJvZ3Jl
c3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1w
cm9ncmVzcy5odG1sCkBAIC0xNCw3ICsxNCw3IEBACiBpZiAod2luZG93LmludGVybmFscykKICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXV0aG9yU2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJs
ZWQodHJ1ZSk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7
Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz48c3Bhbj4oYWZ0ZXIpPC9zcGFuPiI7
CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3cuaHRtbAppbmRl
eCA5ZjU0Mjk2NDFmZmM4Yzk3ZTI5OGIxODgyM2Y2M2UzNzBhZDMwMGFhLi44OTc2Y2Q2M2M3YTc2
OWIwNzMyMzQ5MjM2YjNhMjM3OWE3NzJkNWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3cuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxl
eC1zaGFkb3cuaHRtbApAQCAtMTMsNiArMTMsNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVT
aGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+
PGRpdiBzdHlsZT0nbWFyZ2luOiAyMHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3Itc2VsZWN0LW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbAppbmRleCAzZGJiYWMxZmIzYTE0
MTI0ZDNiZmJjMGY1YzdkZGQ3NWFlMWNmYWM2Li41MTQyMzM3Nzc5ZDdiMzY1ZGU1YzM0NzhiMGQz
ZDBiMDBjNjZkOWI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbApAQCAtMTMs
NiArMTMsNiBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnaG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
K3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dS
b290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiIKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhv
dXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCBhMWY0MDk1ZDY5YTQyYTQwYWVjYTZm
YzczZDc3OWFlODI1ZTY1OTI4Li5jNjlhMGIyMWNhNGZlNGYwMzg4MTM1Y2Q3MDI4Y2Q0NjlmNjM4
YzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbApAQCAtMTMsNSAr
MTMsNSBAQAogCiA8c2NyaXB0PgogdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aG9zdCcpOwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3Zh
ciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRl
eHRhcmVhLWNvbXBsZXgtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci10ZXh0YXJlYS1jb21wbGV4LXNoYWRvdy5odG1sCmluZGV4IDY4NzhiNjBh
Y2RjNDAzMDdmZmRmOTBmNWU5Y2E1OWY1NmU2MTg0ZWEuLjg3ZDhhMTcxNWMyYWJlN2E3MDllYzNl
NDZhMzNjOGM5Y2FhY2NlY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtY29tcGxleC1zaGFk
b3cuaHRtbApAQCAtMjMsNyArMjMsNyBAQCB2YXIgcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3AnKTsKIHAuaW5uZXJIVE1MID0gInBhcmFncmFwaDxiPmJvbGQ8L2I+cGFyYWdyYXBoIjsKIGhv
c3QuYXBwZW5kQ2hpbGQocCk7CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgp
OwogCiAvLyA8Y29udGVudD48L2NvbnRlbnQ+PGRpdiBzdHlsZT0ibWFyZ2luOiAyMHB4Ij48c2hh
ZG93Pjwvc2hhZG93PjwvZGl2Pgogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdjb250ZW50JykpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtb25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLW9ubHktc2hhZG93Lmh0
bWwKaW5kZXggMDliN2NlYWU2NjBmYjdkYzM5ZWE2YmYyMGIyMDMyNDhjODM3NTFjOS4uNTk5ODMx
ZjljYmU0ZDAyZDQzZWU0YWU0MThkNDUxYzFkNzExYzJhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtb25seS1zaGFkb3cuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJl
YS1vbmx5LXNoYWRvdy5odG1sCkBAIC03LDYgKzcsNiBAQAogPC9mb3JtPgogCiA8c2NyaXB0Pgot
dmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dS
b290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpKTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEt
d2l0aC1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXRleHRhcmVhLXdpdGgtYXR0cmlidXRlLmh0bWwKaW5kZXggNmU1NDVlMmIxZDI4ZWZl
NTIwODdiNmRiY2EyNDc3MTZhMTExZWEwMC4uNjc5MWI0MGJkODViNWEzZGNkMjkxN2E2MDdiYjBi
NjIxODJjOWYzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1hdHRyaWJ1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLWF0dHJpYnV0ZS5odG1s
CkBAIC03LDYgKzcsNiBAQAogPC9mb3JtPgogCiA8c2NyaXB0PgotdmFyIHNoYWRvd1Jvb3QgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3NoYWRvdycpKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aC1wbGFjZWhvbGRlci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEt
d2l0aC1wbGFjZWhvbGRlci5odG1sCmluZGV4IDJjNzI2YTBiZGQwYzc3MGI4YTM2MjgyZGQ4ZmI4
MDIxZjgxZDk4ZjMuLjY4ZjI4ZDc0YmZjMGM1NGJlMWU0YmNhZjI3ZTMxMWNlMTFiYzU5ODAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRh
cmVhLXdpdGgtcGxhY2Vob2xkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLXBsYWNlaG9sZGVyLmh0bWwKQEAgLTEyLDcg
KzEyLDcgQEAKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRv
d1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93Um9vdDEgPSBo
b3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QxLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKCdiZWZvcmUnKSk7CiBzaGFkb3dSb290MS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKSk7CiBzaGFkb3dSb290MS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnYWZ0ZXInKSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRoLXN0eWxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJl
YS13aXRoLXN0eWxlLmh0bWwKaW5kZXggNjhkNzYyZjAzNDljOGJjNzYzNzlmNWYzYWMxNjIwY2Y5
MWY3MDAyYi4uZTljYmRmM2FlMzYwNGE5NDVhNjZiMzJlYTI2NWM4OWQ1OTU3OGY4YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEt
d2l0aC1zdHlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXRleHRhcmVhLXdpdGgtc3R5bGUuaHRtbApAQCAtMTYsNyArMTYsNyBAQCB0ZXh0YXJl
YSB7CiA8L2Zvcm0+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jv
b3QoKTsKIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hh
ZG93JykpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRob3V0LXNoYWRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aG91
dC1zaGFkb3cuaHRtbAppbmRleCBkODc3YTAzNzc3NGQ3Nzc4ZjBlYTgzNWQ4YjJhNmJlMjI5YjEz
OTgyLi40N2MwYmIxNzQ4Mjg2NjY0ZDA5MDdjZjUwOWQxNmIwYWU5MDZhOTVjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS13aXRo
b3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXRleHRhcmVhLXdpdGhvdXQtc2hhZG93Lmh0bWwKQEAgLTExLDUgKzExLDUgQEAKIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBdXRob3JTaGFk
b3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCh0cnVlKTsKIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVh
dGVTaGFkb3dSb290KCk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS5odG1sCmluZGV4IDk4NTg4OTY0N2Iz
N2VlOTk3NTE1ZGI1NGM0NWY3YTkxYmZjNTM3MjUuLmUyOTU3OWYxYWU1NzZlZDE4YjEzMDUyYWJj
NmEzZDk5MGQ2NDBmZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXRleHRhcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEF1dGhvclNoYWRvd0RP
TUZvckFueUVsZW1lbnRFbmFibGVkKHRydWUpOwogCi12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJL
aXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNo
YWRvd1Jvb3QoKTsKIAogdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwog
ZGl2LmlubmVySFRNTCA9ICIoYmVmb3JlKTxzaGFkb3c+PC9zaGFkb3c+KGFmdGVyKSI7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1jbG9uZW5vZGUu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25lbm9kZS5o
dG1sCmluZGV4IGYzZmI5ZjE3ODAxZTM3OTA3OWFiMWE2MDFhNDYzMzY1MmU4MWI4NmMuLmViZDNl
ZWM0ZTRjZDJlZDdhNDc2NWZkM2UxYjllNWVkMmI2MzFhMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25lbm9kZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LWNsb25lbm9kZS5odG1sCkBAIC05LDcg
KzksNyBAQAogZGVzY3JpcHRpb24oJ0NhbGxpbmcgU2hhZG93Um9vdC5jbG9uZU5vZGUoKSBzaG91
bGQgdGhyb3cgYSBEQVRBX0NMT05FX0VSUiBleGNlcHRpb24uJyk7CiAKIHZhciBob3N0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRv
d1Jvb3QoKTsKIHNob3VsZFRocm93KCdzaGFkb3dSb290LmNsb25lTm9kZSgpJywgJyJFcnJvcjog
RGF0YUNsb25lRXJyb3I6IERPTSBFeGNlcHRpb24gMjUiJyk7CiA8L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LW9mLWluc2VydGlv
bnBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC1vZi1p
bnNlcnRpb25wb2ludC5odG1sCmluZGV4IDlkNDZjYWVlYmY1ZjA0MjQwZGZiMmMzMTRlMDc0N2Nl
ZjdiYjZlOWYuLmIwNWE5MzdiNDFkZjEwZDk2Zjk4NDEyYzNkYjcwZjYwOTQ2YWI1MjEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LW9mLWluc2VydGlv
bnBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd3Jvb3Qt
b2YtaW5zZXJ0aW9ucG9pbnQuaHRtbApAQCAtOSw3ICs5LDcgQEAKIDwvZGl2PgogCiA8c2NyaXB0
PgotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKK3ZhciBzaGFk
b3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290LmlubmVy
SFRNTCA9CiAgICAgJzxkaXY+JyArIAogICAgICAgICAnPGNvbnRlbnQgaWQ9ImFjdGl2ZS1jb250
ZW50IiBzZWxlY3Q9ImRpdiI+PGRpdj5mYWxsYmFjazwvZGl2PjwvY29udGVudD4nICsKQEAgLTE3
LDExICsxNywxMSBAQCBzaGFkb3dSb290LmlubmVySFRNTCA9CiAgICAgJzwvZGl2Pic7CiAKIHZh
ciBhY3RpdmVDb250ZW50ID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnYWN0aXZlLWNvbnRl
bnQnKTsKLXZhciBzaGFkb3dSb290Rm9yQWN0aXZlQ29udGVudCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGFjdGl2ZUNvbnRlbnQpOwordmFyIHNoYWRvd1Jvb3RGb3JBY3RpdmVDb250ZW50ID0gYWN0
aXZlQ29udGVudC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3dSb290Rm9yQWN0aXZl
Q29udGVudC5pbm5lckhUTUwgPSAnPGRpdj5Gb3IgYWN0aXZlIGNvbnRlbnQ8L2Rpdj4nOwogCiB2
YXIgaW5hY3RpdmVDb250ZW50ID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnaW5hY3RpdmUt
Y29udGVudCcpOwotdmFyIHNoYWRvd1Jvb3RGb3JJbmFjdGl2ZUNvbnRlbnQgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChpbmFjdGl2ZUNvbnRlbnQpOwordmFyIHNoYWRvd1Jvb3RGb3JJbmFjdGl2ZUNv
bnRlbnQgPSBpbmFjdGl2ZUNvbnRlbnQud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogc2hhZG93
Um9vdEZvckluYWN0aXZlQ29udGVudC5pbm5lckhUTUwgPSAnPGRpdj5Gb3IgSW5hY3RpdmUgY29u
dGVudDwvZGl2Pic7CiA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd3Jvb3QtdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd3Jvb3QtdHlwZS5odG1sCmluZGV4IDdmMTZlNTc3NTg5MDAwN2MxNjFhMWJhMjVk
NTNkOTQ4MmQwZWRiYmEuLjhjMjAyOTViYWQzOTJhNjE1YmU0YjhlNDhkMTU0MDUyNDgyZDQ5NGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dyb290LXR5cGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93cm9vdC10eXBlLmh0
bWwKQEAgLTEyLDcgKzEyLDcgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVu
c3VyZXMgU2hhZG93Um9vdFR5cGUgaXMgY29ycmVjdGx5IHJlZmxlY3RlZCIpOwogCi12YXIgc2hh
ZG93Um9vdEZvckRpdiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jv
b3RGb3JEaXYgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHZhciBzaGFkb3dSb290
Rm9ySW5wdXQgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChpbnB1dCk7CiAKIHNob3VsZEJlKCciQXV0
aG9yU2hhZG93Um9vdCInLCAnaW50ZXJuYWxzLnNoYWRvd1Jvb3RUeXBlKHNoYWRvd1Jvb3RGb3JE
aXYpJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2Yt
ZGlzdHJpYnV0ZWQtbm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxl
LW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbAppbmRleCAwYTkzOWJiNzMyZTVkOWQzNTM3ZGNmNmE3
OWE1MDRjNjMxMjI3YWJiLi5iNzc2YzdmYzZjMTI0N2M0NjU1ODg4M2MyMTMyYzkxNDA2NGE0N2Iz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJp
YnV0ZWQtbm9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1v
Zi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKQEAgLTI4LDcgKzI4LDcgQEAgZGVzY3JpcHRpb24oIlRl
c3RzIHRvIGVuc3VyZSB0aGF0IHN0eWxlcyBvZiBkaXN0cmlidXRlZCBub2RlcyBhcmUgZGlmZmVy
ZW50IGlmIHQKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiAKLXZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJob3N0IikpOwordmFyIHNyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKS53
ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzci5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0
PSIjY2hpbGQtYSI+PC9jb250ZW50PjxkaXYgc3R5bGU9ImNvbG9yOiBibHVlIj48Y29udGVudCBz
ZWxlY3Q9IiNjaGlsZC1iIj48L2NvbnRlbnQ+PC9kaXY+JzsKIAogc2hvdWxkQmUoJ2dldENvbG9y
UHJvcGVydHkoImNoaWxkLWEiKScsICcicmdiKDI1NSwgMCwgMCkiJyk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFibGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtc2NvcGVkLW5vdC1lbmFibGVkLmh0
bWwKaW5kZXggOTViYjkyN2E1ZTgzOWZmODVkNzZiNGZhYjYwYjJiOGRiNGEwMjc2NC4uNzU2YmU5
MDQ4Yzg3N2Q1YjNhZjZjYmM4YmQ5YmQ2YzVjOTQ2NTk2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLXNjb3BlZC1ub3QtZW5hYmxlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1zY29wZWQtbm90LWVuYWJsZWQuaHRtbApA
QCAtMTgsNyArMTgsNyBAQCBpZiAod2luZG93LmludGVybmFscykKIDxzY3JpcHQ+CiBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgY29udGVudCBlbGVtZW50IGZlYXR1cmUgY2FuIGJlIGRp
c2FibGVkIik7CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12
YXIgc2hhZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiBzaGFkb3cuaW5uZXJIVE1MID0gIjxzdHlsZT4g
c3BhbiB7IGNvbG9yOiBibHVlOyB9IDwvc3R5bGU+PHNwYW4gaWQ9J3Nob3VsZEJlQXBwbGllZCc+
U2hvdWxkIGJlIGJsdWU8L3NwYW4+IjsKIHZhciBzaG91bGRCZUFwcGxpZWQgPSBzaGFkb3cuZ2V0
RWxlbWVudEJ5SWQoInNob3VsZEJlQXBwbGllZCIpOwogdmFyIHNob3VsZE5vdEJlQXBwbGllZCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaG91bGROb3RCZUFwcGxpZWQiKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1dGUu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsaW5nLXBzZXVkby1hdHRyaWJ1
dGUuaHRtbAppbmRleCAyY2NkOGRjOWY4ZWRlN2NkYjY0NzI5OGYwYjQ3MzhmMjc0Mjg3OTQyLi45
YThkZTQwNzBjOTI5MTc1NTc4OGRhZDQ2NzVhODQxYjcyYmFmMTdiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGluZy1wc2V1ZG8tYXR0cmlidXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxpbmctcHNldWRvLWF0dHJpYnV0ZS5o
dG1sCkBAIC04LDcgKzgsNyBAQAogPGRpdiBpZD0iaG9zdDEiPjwvZGl2PgogCiA8c2NyaXB0Pgot
dmFyIHNoYWRvd1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRv
d1Jvb3QxID0gaG9zdDEud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZGl2LnNldEF0dHJpYnV0ZSgncHNldWRvJywgJ3gt
Zm9vJyk7CiBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2ZvbyBiYXIn
KSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3VwcHJlc3MtbXV0
YXRpb24tZXZlbnRzLWluLXNoYWRvdy1jaGFyYWN0ZXJkYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc3VwcHJlc3MtbXV0YXRpb24tZXZlbnRzLWluLXNoYWRvdy1jaGFyYWN0
ZXJkYXRhLmh0bWwKaW5kZXggYWExYjYyYzc0ODMzOTI1OTliODgxYTI4NmYxZGY4YTY1NWE2NGE5
Ny4uZGNjMjE3MzZlMzM1M2RkZmEwMDg4NzEyOWQ0Mzk5NDgyMzg1MmUyMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N1cHByZXNzLW11dGF0aW9uLWV2ZW50cy1pbi1z
aGFkb3ctY2hhcmFjdGVyZGF0YS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zdXBwcmVzcy1tdXRhdGlvbi1ldmVudHMtaW4tc2hhZG93LWNoYXJhY3RlcmRhdGEuaHRtbApA
QCAtOCw3ICs4LDcgQEAKIGRlc2NyaXB0aW9uKCJFbnN1cmVzIHRoYXQgRE9NQ2hhcmFjdGVyRGF0
YU1vZGlmaWVkIGlzbid0IGZpcmVkIGluc2lkZSBzaGFkb3dzLiIpOwogdmFyIGZpcmVkID0gZmFs
c2U7CiB2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Ci12YXIgc2hh
ZG93ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hhZG93ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CiBkaXYuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkIiwg
ZnVuY3Rpb24oZXZ0KSB7CiAgICAgZmlyZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3RyYW5zaXRpb24tb24tc2hhZG93LWhvc3Qtd2l0aC1kaXN0cmli
dXRlZC1ub2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdHJhbnNpdGlvbi1v
bi1zaGFkb3ctaG9zdC13aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbAppbmRleCAzOWVhN2I0MmI2
ZDllMjUxNGEyNGFkZWNjZjMwMWNlY2ZmMDA1YTgzLi44ZTJiOTg4NGJiMDRmMGYwNzI0Njc5Njg2
MzUzMGM1OTdjYzJkNDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
dHJhbnNpdGlvbi1vbi1zaGFkb3ctaG9zdC13aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdHJhbnNpdGlvbi1vbi1zaGFkb3ctaG9zdC13
aXRoLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbApAQCAtMjgsNyArMjgsNyBAQCBjb25zdCBleHBlY3Rl
ZFZhbHVlcyA9IFsKICAgCiBmdW5jdGlvbiBzZXR1cFRlc3QoKSB7CiAgICAgdmFyIGJveCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gnKTsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGJveCk7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBib3gud2Via2l0Q3Jl
YXRlU2hhZG93Um9vdCgpOwogICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxjb250ZW50IHNl
bGVjdD0iKjpmaXJzdC1jaGlsZCI+PC9jb250ZW50Pic7CiAgICAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsKICAgICAgICAgc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJjb250ZW50Iikuc2V0QXR0
cmlidXRlKCJzZWxlY3QiLCAiKjpsYXN0LWNoaWxkIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCmluZGV4IGM0
OTYzNzM4NGYyMWU3NzMzMDZkNDg0ZDhhYjdiMWNiMzczODViNmYuLmUwNzJkMWYxMmIyNTgyNzQw
YTU4N2RmZjhlOGUyYzFmOTM5M2FkZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCkBAIC0zNCw3ICszNCw3
IEBAIGZ1bmN0aW9uIGdldFVzZXJNb2RpZnlQcm9wZXJ0eShpZCkgewogfQogCiBmdW5jdGlvbiBw
cmVwYXJlTm9kZUluU2hhZG93Um9vdChob3N0LCBjb250ZW50RWRpdGFibGVBdHRyaWJ1dGVWYWx1
ZUZvck5vZGUpIHsKLSAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOworICAgIHZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7
CiAgICAgdmFyIG5vZGVJblNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwog
ICAgIGlmIChjb250ZW50RWRpdGFibGVBdHRyaWJ1dGVWYWx1ZUZvck5vZGUgIT0gbnVsbCkKICAg
ICAgICAgbm9kZUluU2hhZG93LnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgY29udGVu
dEVkaXRhYmxlQXR0cmlidXRlVmFsdWVGb3JOb2RlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1pbi1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvd2hlZWwtZXZlbnQtaW4tc2hhZG93LWRvbS5odG1sCmluZGV4
IDkwZDY5MTRmYjJmYjIwNjFmZTEzYzg5NDM3YmFmODIxNmM1NTUwNjguLjg3YThlNWRhYmFiNjM4
M2RmYjhjYzc5MGYzODM0YzE0MDRmZTc1MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy93aGVlbC1ldmVudC1pbi1zaGFkb3ctZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3doZWVsLWV2ZW50LWluLXNoYWRvdy1kb20uaHRtbApAQCAtMjMs
NyArMjMsNyBAQCBmdW5jdGlvbiBjcmVhdGVCb3gobmFtZSkgewogICAgIHJldHVybiBkaXY7CiB9
CiAKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Cit2YXIgc2hh
ZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOwogdmFyIHNoYWRvd0RpdiA9
IGNyZWF0ZUJveCgnc2hhZG93Jyk7CiBzaGFkb3dSb290LmFwcGVuZENoaWxkKHNoYWRvd0Rpdik7
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy93aGVlbC1ldmVudC1v
bi1pbnB1dC1pbi1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
d2hlZWwtZXZlbnQtb24taW5wdXQtaW4tc2hhZG93LWRvbS5odG1sCmluZGV4IGIwZTlmMmQzOWZm
ZmQ5MjhhMmU5MDE2YWY5ODljOTA5NjA1YzBiN2IuLjc4ODNlNWZhMzI3NTZmNzBiMzBlZmNlMjVi
OWM3OTZmNmUyZjYyYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy93
aGVlbC1ldmVudC1vbi1pbnB1dC1pbi1zaGFkb3ctZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3doZWVsLWV2ZW50LW9uLWlucHV0LWluLXNoYWRvdy1kb20uaHRtbApA
QCAtMjMsNyArMjMsNyBAQCBmdW5jdGlvbiBjcmVhdGVJbnB1dChuYW1lKSB7CiAgICAgcmV0dXJu
IGRpdjsKIH0KIAotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsK
K3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiB2YXIgc2hh
ZG93RGl2ID0gY3JlYXRlSW5wdXQoJ3NoYWRvdycpOwogc2hhZG93Um9vdC5hcHBlbmRDaGlsZChz
aGFkb3dEaXYpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hl
ZC1zaGFkb3ctZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLXNo
YWRvdy1mcmFtZS5odG1sCmluZGV4IGQwM2RjNzhjZDY5MmEwNjgyMzJjODgxNjkzODk3NWVmYzg5
NzhiYmYuLmNkNzQzYjBiMjM2ZDVmNDE4Y2Y2YzRiNDNlMjdlZjc0ZjM2ZjhhNTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLXNoYWRvdy1mcmFtZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLXNoYWRvdy1mcmFtZS5odG1sCkBA
IC0xMyw3ICsxMyw3IEBAIGhlbHBlckRpdiA9IGNvbnRhaW5lci5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CiBoZWxwZXJGcmFtZSA9IGNvbnRhaW5lci5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSk7CiAKIGhlbHBlckZyYW1lLmNv
bnRlbnRXaW5kb3cub251bmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaGVscGVyRGl2KTsKKyAgICBzaGFkb3dSb290ID0gaGVscGVyRGl2
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKICAgICBpbm5lckZyYW1lID0gc2hhZG93Um9vdC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSk7CiB9OwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dAppbmRleCBjMjcyOGQ0NmFmMjg1OGZmZmU1Nzc0YmNmMWI0M2Y5ODcyZTAxMjdjLi45MzY5YWE4
NDNiY2QxYjliY2Y1ZTA0MzhhODdkZThhMjI3NGNkYmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTMzMSw3ICsz
MzEsNiBAQCBQQVNTIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWVDb25zdAogRkFJTCBXZWJLaXRJbnRlbnQudG9TdHJp
bmcoKSBzaG91bGQgYmUgW29iamVjdCBXZWJLaXRJbnRlbnRDb25zdHJ1Y3Rvcl0uIFdhcyBbb2Jq
ZWN0IEludGVudENvbnN0cnVjdG9yXS4KIEZBSUwgV2ViS2l0TXV0YXRpb25PYnNlcnZlci50b1N0
cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rv
cl0uIFdhcyBbb2JqZWN0IE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcl0uCiBQQVNTIFdlYktp
dFBvaW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0UG9pbnRDb25zdHJ1Y3Rvcl0nCi1G
QUlMIFdlYktpdFNoYWRvd1Jvb3QudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBXZWJLaXRT
aGFkb3dSb290Q29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBTaGFkb3dSb290Q29uc3RydWN0b3Jd
LgogUEFTUyBXZWJLaXRUcmFuc2l0aW9uRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJL
aXRUcmFuc2l0aW9uRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYlNvY2tldC50b1N0cmluZygp
IGlzICdbb2JqZWN0IFdlYlNvY2tldENvbnN0cnVjdG9yXScKIFBBU1MgV2hlZWxFdmVudC50b1N0
cmluZygpIGlzICdbb2JqZWN0IFdoZWVsRXZlbnRDb25zdHJ1Y3Rvcl0nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2hhZG93LXJvb3QuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy9zaGFkb3ctcm9vdC5odG1sCmluZGV4IDAyMzZjNmQ5Njlj
YTFhNzc5OWNhMTJkN2UxMmQyM2NmZTcxMTU4MjUuLjVhMTI5NDVhOWJhYWQzM2MzMTNkZTNkMjYx
MGMyZDVkOTk3ZGE2MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy9zaGFkb3ctcm9vdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9z
aGFkb3ctcm9vdC5odG1sCkBAIC0zMiw5ICszMiw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogPC9kaXY+
CiAKIDxzY3JpcHQ+Ci1uZXcgV2ViS2l0U2hhZG93Um9vdCh0ZXN0MSk7Ci1uZXcgV2ViS2l0U2hh
ZG93Um9vdCh0ZXN0Mik7Ci1uZXcgV2ViS2l0U2hhZG93Um9vdCh0ZXN0Myk7Cit0ZXN0MS53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7Cit0ZXN0Mi53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7Cit0
ZXN0My53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CiA8L3NjcmlwdD4KIAogPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3VwZGF0ZS1zaGFkb3dkb20u
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy91cGRhdGUtc2hhZG93ZG9tLmh0
bWwKaW5kZXggM2NiZDkxY2UyZWUwMWUzOGQ4ZWVmODA3MWVmMWQ1NGExNTdkYTQ5Ni4uMjMzMWU4
YzhiYTYyZmE5NzE0OWRlZjFlZjRkNjk5YTYxZGYyZDBlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VsZW1lbnRzL3VwZGF0ZS1zaGFkb3dkb20uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvdXBkYXRlLXNoYWRvd2RvbS5odG1sCkBAIC0zOCw3ICsz
OCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogPC9kaXY+CiAKIDxzY3JpcHQ+Ci12YXIgc2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0Lndl
YmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXY+PC9k
aXY+IjsKIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwv
ZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2VmbC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CmluZGV4
IDdhOTRkYjFhZTk1M2FiZjVkN2U5NjIyMTA2Yzg2NzJmYWNmZjBkZDIuLmVjNjhkZmMzY2M5ZGY5
YTljZmM5MGVjNTg5OTAxMTgzMzA2MzA2ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0CkBAIC0zMzcsNyArMzM3LDYgQEAgUEFTUyBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRDU1NWaWV3cG9ydFJ1bGVDb25zdHJ1Y3QKIEZBSUwg
V2ViS2l0SW50ZW50LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0SW50ZW50Q29u
c3RydWN0b3JdLiBXYXMgW29iamVjdCBJbnRlbnRDb25zdHJ1Y3Rvcl0uCiBGQUlMIFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCBXZWJLaXRNdXRhdGlv
bk9ic2VydmVyQ29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBNdXRhdGlvbk9ic2VydmVyQ29uc3Ry
dWN0b3JdLgogUEFTUyBXZWJLaXRQb2ludC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdFBv
aW50Q29uc3RydWN0b3JdJwotRkFJTCBXZWJLaXRTaGFkb3dSb290LnRvU3RyaW5nKCkgc2hvdWxk
IGJlIFtvYmplY3QgV2ViS2l0U2hhZG93Um9vdENvbnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgU2hh
ZG93Um9vdENvbnN0cnVjdG9yXS4KIFBBU1MgV2ViS2l0VHJhbnNpdGlvbkV2ZW50LnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgV2ViS2l0VHJhbnNpdGlvbkV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBX
ZWJTb2NrZXQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJTb2NrZXRDb25zdHJ1Y3Rvcl0nCiBQ
QVNTIFdoZWVsRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXaGVlbEV2ZW50Q29uc3RydWN0
b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFs
LWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFz
dC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA0N2NiMGFhMDBmMDBh
MmZlNGJmZmQ3OGNjOWY0M2VmY2M3NDhiNTNiLi43YjJiMWRlZjI5ODZjOGNmMzRlZTY5MjMxZDU4
Nzg0OTRjZDNkNWFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9q
cy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMzMz
LDcgKzMzMyw2IEBAIFBBU1MgV2ViS2l0Q1NTUmVnaW9uUnVsZS50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IFdlYktpdENTU1JlZ2lvblJ1bGVDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYktpdENTU1RyYW5z
Zm9ybVZhbHVlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWVD
b25zdHJ1Y3Rvcl0nCiBGQUlMIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSBzaG91
bGQgYmUgW29iamVjdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdLiBXYXMgW29i
amVjdCBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdLgogUEFTUyBXZWJLaXRQb2ludC50b1N0
cmluZygpIGlzICdbb2JqZWN0IFdlYktpdFBvaW50Q29uc3RydWN0b3JdJwotRkFJTCBXZWJLaXRT
aGFkb3dSb290LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0U2hhZG93Um9vdENv
bnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgU2hhZG93Um9vdENvbnN0cnVjdG9yXS4KIFBBU1MgV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0VHJhbnNpdGlv
bkV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJTb2NrZXQudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBXZWJTb2NrZXRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdoZWVsRXZlbnQudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBXaGVlbEV2ZW50Q29uc3RydWN0b3JdJwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179163</attachid>
            <date>2012-12-12 17:45:08 -0800</date>
            <delta_ts>2012-12-16 20:57:43 -0800</delta_ts>
            <desc>relanding.</desc>
            <filename>bug-102913-20121213104228.patch</filename>
            <type>text/plain</type>
            <size>6255</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU0Yjk0YWI5NzkwOTA2
NzYyNzE2ZTFiMjY5ZTU1MWEyZjQyMTg1Zi4uOGQ0YjkxOWY4YWE1NGM3YmQ4Y2Q4OTQ4NDU0Yjcw
Mzc0MDZlNjBiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTEyICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93IERPTV0gS2ls
bCBTaGFkb3dSb290IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDI5MTMKKworICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEds
YXprb3YuCisKKyAgICAgICAgUmUtbGFuZGluZyByMTM3NDA4IHdoaWNoIGJyZWFrcyBicm93c2Vy
IHRlc3RzIG9uIGNocm9taXVtLiBJJ3ZlCisgICAgICAgIHVwZGF0ZWQgdGhlIGJyb3dzZXIgdGVz
dHMgb24gY2hyb21pdW0gc28gdGhhdCB0aGV5IGRvIG5vdCB1c2UKKyAgICAgICAgV2ViS2l0U2hh
ZG93Um9vdCBjb25zdHJ1Y3Rvci4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFVwZGF0aW5nIGV4
aXN0aW5nIGxheW91dCB0ZXN0cy4KKworICAgICAgICAqIGRvbS9TaGFkb3dSb290LmlkbDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTItMTItMTIgIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IGRpc3BhdGNoIGZha2UgbW91c2Vtb3Zl
IGV2ZW50cyB3aGVuIHdlIGRvbid0IGtub3cgd2hlcmUgdGhlIGN1cnNvciBpcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NoYWRvd1Jvb3QuaWRsCmluZGV4IDQ5ZmZlMTg1ZDRiZTBmYjNhYmYwMzEyNWYyMTQ2ZWZjMzAy
MDkxYzEuLmRmNTc4YzFhYWRhMTI2YmFmNWUxMzZjMDM2ZjU1YmNhNDlmMWEwMWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93Um9vdC5pZGwKQEAgLTI2LDggKzI2LDYgQEAKIAogWwogICAgIENvbmRpdGlv
bmFsPVNIQURPV19ET00sCi0gICAgQ29uc3RydWN0b3IoaW4gRWxlbWVudCBob3N0KSwKLSAgICBD
b25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbiwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBp
bnRlcmZhY2UgU2hhZG93Um9vdCA6IERvY3VtZW50RnJhZ21lbnQgewogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBFbGVtZW50IGFjdGl2ZUVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
aW5kZXggMTRjZWU4ZTcyYTkzMmRlNDU0MWFlMGUxYWZkMjNkYmViM2E0ZmNiNC4uMDI2MmExZGQ0
MjE4NjI2NDJkMThhYjVmOTNlMTk5MmRiOTNlNDliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbApAQCAtNDAxLDcgKzQwMSw2IEBACiAgICAgYXR0cmlidXRlIEVudGl0eUNvbnN0cnVjdG9y
IEVudGl0eTsKICAgICBhdHRyaWJ1dGUgRW50aXR5UmVmZXJlbmNlQ29uc3RydWN0b3IgRW50aXR5
UmVmZXJlbmNlOwogICAgIGF0dHJpYnV0ZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Db25zdHJ1Y3Rv
ciBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb247Ci0gICAgW0NvbmRpdGlvbmFsPVNIQURPV19ET00sIFY4
RW5hYmxlZEF0UnVudGltZT1zaGFkb3dET01dIGF0dHJpYnV0ZSBTaGFkb3dSb290Q29uc3RydWN0
b3IgV2ViS2l0U2hhZG93Um9vdDsKICAgICBbQ29uZGl0aW9uYWw9U0hBRE9XX0RPTSwgVjhFbmFi
bGVkQXRSdW50aW1lPXNoYWRvd0RPTV0gYXR0cmlidXRlIEhUTUxDb250ZW50RWxlbWVudENvbnN0
cnVjdG9yIEhUTUxDb250ZW50RWxlbWVudDsKICAgICBbQ29uZGl0aW9uYWw9U0hBRE9XX0RPTSwg
VjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTV0gYXR0cmlidXRlIEhUTUxTaGFkb3dFbGVtZW50
Q29uc3RydWN0b3IgSFRNTFNoYWRvd0VsZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NGE0NTdjNzBiYzIyMzli
YzcxNGFlNjcwZmVmYWUwMWEzNDFmZDllLi4yNjgzNTdiMjkxYmUzOWM5MGM2ODk3OTVmMmJkNmI0
YTQ1NWU2YzU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTItMTIgIEhheWF0byBJdG8g
IDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtTaGFkb3cgRE9NXSBLaWxsIFNoYWRv
d1Jvb3QgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMjkxMworCisgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4K
KworICAgICAgICAqIGZhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQ6CisKIDIwMTItMTItMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUmViYXNlbGluZSBzb21lIHRpbGVkIHNjcm9sbGluZyBy
ZXN1bHRzIHRoYXQgd2VyZSBhZmZlY3RlZCBieSByMTM3Mzg3LgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggN2JhMDdi
YjJmODEwNTdhNDdjZDc4MDI0MmQ3OGI1OTU4YmFjNDRkNC4uZjFlMGY2ZWE2YzA5MWU1ZTMyYjRj
MDUyMGY2MmQ3MWExNzYxMDdlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9i
YWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CkBAIC0zMjksNyArMzI5LDYgQEAgUEFTUyBX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdENTU1Ry
YW5zZm9ybVZhbHVlQ29uc3QKIEZBSUwgV2ViS2l0SW50ZW50LnRvU3RyaW5nKCkgc2hvdWxkIGJl
IFtvYmplY3QgV2ViS2l0SW50ZW50Q29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBJbnRlbnRDb25z
dHJ1Y3Rvcl0uCiBGQUlMIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSBzaG91bGQg
YmUgW29iamVjdCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdLiBXYXMgW29iamVj
dCBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdLgogUEFTUyBXZWJLaXRQb2ludC50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IFdlYktpdFBvaW50Q29uc3RydWN0b3JdJwotRkFJTCBXZWJLaXRTaGFk
b3dSb290LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0U2hhZG93Um9vdENvbnN0
cnVjdG9yXS4gV2FzIFtvYmplY3QgU2hhZG93Um9vdENvbnN0cnVjdG9yXS4KIFBBU1MgV2ViS2l0
VHJhbnNpdGlvbkV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0VHJhbnNpdGlvbkV2
ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJTb2NrZXQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBX
ZWJTb2NrZXRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdoZWVsRXZlbnQudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBXaGVlbEV2ZW50Q29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVk
LnR4dAppbmRleCBhMTNkZTY3OTBiODQxZGIzOTY4YjJhZGE2MjAzYWUxMmRiMDI0NjMwLi45MzYx
NWE2ZDRhOGIzZGY1MzBiMmNjYzAxY2VhNmM2YTRiOGEwZmU5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dApAQCAtMzM1LDcgKzMzNSw2IEBAIFBBU1MgV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0Q1NTVmlld3BvcnRSdWxlQ29uc3Ry
dWN0CiBGQUlMIFdlYktpdEludGVudC50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFdlYktp
dEludGVudENvbnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgSW50ZW50Q29uc3RydWN0b3JdLgogRkFJ
TCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgTXV0YXRpb25PYnNl
cnZlckNvbnN0cnVjdG9yXS4KIFBBU1MgV2ViS2l0UG9pbnQudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBXZWJLaXRQb2ludENvbnN0cnVjdG9yXScKLUZBSUwgV2ViS2l0U2hhZG93Um9vdC50b1N0cmlu
ZygpIHNob3VsZCBiZSBbb2JqZWN0IFdlYktpdFNoYWRvd1Jvb3RDb25zdHJ1Y3Rvcl0uIFdhcyBb
b2JqZWN0IFNoYWRvd1Jvb3RDb25zdHJ1Y3Rvcl0uCiBQQVNTIFdlYktpdFRyYW5zaXRpb25FdmVu
dC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdFRyYW5zaXRpb25FdmVudENvbnN0cnVjdG9y
XScKIFBBU1MgV2ViU29ja2V0LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViU29ja2V0Q29uc3Ry
dWN0b3JdJwogUEFTUyBXaGVlbEV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2hlZWxFdmVu
dENvbnN0cnVjdG9yXScKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0
L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggYjFh
ZWM3NmY5Y2QwOGUyMDA0MzlkNDFlODRlNjc2YWUwNDNmMWFmMi4uMTg2NzQ3YTBlY2E3NDRhMjQ3
MzJhZTM1MzQwMmM5MTRkMDc0NzA2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQKQEAgLTMzMCw3ICszMzAsNiBAQCBQQVNTIFdlYktpdENTU1JlZ2lvblJ1bGUudG9TdHJpbmco
KSBpcyAnW29iamVjdCBXZWJLaXRDU1NSZWdpb25SdWxlQ29uc3RydWN0b3JdJwogUEFTUyBXZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdENTU1RyYW5z
Zm9ybVZhbHVlQ29uc3RydWN0b3JdJwogRkFJTCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLnRvU3Ry
aW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgV2ViS2l0TXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9y
XS4gV2FzIFtvYmplY3QgTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXS4KIFBBU1MgV2ViS2l0
UG9pbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRQb2ludENvbnN0cnVjdG9yXScKLUZB
SUwgV2ViS2l0U2hhZG93Um9vdC50b1N0cmluZygpIHNob3VsZCBiZSBbb2JqZWN0IFdlYktpdFNo
YWRvd1Jvb3RDb25zdHJ1Y3Rvcl0uIFdhcyBbb2JqZWN0IFNoYWRvd1Jvb3RDb25zdHJ1Y3Rvcl0u
CiBQQVNTIFdlYktpdFRyYW5zaXRpb25FdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktp
dFRyYW5zaXRpb25FdmVudENvbnN0cnVjdG9yXScKIFBBU1MgV2ViU29ja2V0LnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgV2ViU29ja2V0Q29uc3RydWN0b3JdJwogUEFTUyBXaGVlbEV2ZW50LnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgV2hlZWxFdmVudENvbnN0cnVjdG9yXScK
</data>

          </attachment>
      

    </bug>

</bugzilla>