<?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>40593</bug_id>
          
          <creation_ts>2010-06-14 15:15:58 -0700</creation_ts>
          <short_desc>Add BlobBuilder.idl to expose BlobBuilder interface</short_desc>
          <delta_ts>2010-06-22 21:15:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>40735</dependson>
    
    <dependson>40950</dependson>
          <blocked>36568</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>eric</cc>
    
    <cc>jianli</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>238073</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-14 15:15:58 -0700</bug_when>
    <thetext>Need to add BlobBuilder.idl to expose BlobBuilder interface.
BlobBuilder is specified in FileWriter spec: http://dev.w3.org/2009/dap/file-system/file-writer.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239634</commentid>
    <comment_count>1</comment_count>
      <attachid>59045</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-17 16:39:53 -0700</bug_when>
    <thetext>Created attachment 59045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239648</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-17 17:00:14 -0700</bug_when>
    <thetext>Attachment 59045 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3304298</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239690</commentid>
    <comment_count>3</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-17 18:12:39 -0700</bug_when>
    <thetext>Hmm, how can I work around not to make chromium-build look for BlobBuilder&apos;s v8 binding while (unconditionally) having BlobBuilderConstructor in DOMWindow.idl?

Is temporarily adding V8_BINDING guard appropriate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240011</commentid>
    <comment_count>4</comment_count>
      <attachid>59045</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-06-18 10:22:45 -0700</bug_when>
    <thetext>Comment on attachment 59045
Patch

I think you also need to update rebaseline test results for win/qt/gtk/chromium, like platform/qt/fast/dom/Window/window-property-descriptors-expected.txt.

WebCore/ChangeLog:61
 +          Add BlobBuilder.idl to expose BlobBuilder interface
Please also mention the link to the BlobBuilder definition in the FileWriter spec in the ChangeLog.

Also, I do not see any change to V8 bindings and gyp. Are you planning to add it later? If so, make sure you land both patches at the same time.

WebCore/bindings/js/JSBlobBuilderCustom.cpp:52
 +              String endings = &quot;&quot;;
I think we can use the default empty string.

WebCore/html/BlobBuilder.idl:36
 +          Blob getBlob(in [ConvertUndefinedOrNullToNullString] DOMString contentType);
Do we need to add Optional here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240234</commentid>
    <comment_count>5</comment_count>
      <attachid>59172</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-18 17:42:09 -0700</bug_when>
    <thetext>Created attachment 59172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240235</commentid>
    <comment_count>6</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-18 17:45:29 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 59045 [details])
&gt; I think you also need to update rebaseline test results for win/qt/gtk/chromium, like platform/qt/fast/dom/Window/window-property-descriptors-expected.txt.

Added them.

&gt; WebCore/ChangeLog:61
&gt;  +          Add BlobBuilder.idl to expose BlobBuilder interface
&gt; Please also mention the link to the BlobBuilder definition in the FileWriter spec in the ChangeLog.

Done.

&gt; Also, I do not see any change to V8 bindings and gyp. Are you planning to add it later? If so, make sure you land both patches at the same time.

Hmm, I added them to this patch.

&gt; WebCore/bindings/js/JSBlobBuilderCustom.cpp:52
&gt;  +              String endings = &quot;&quot;;
&gt; I think we can use the default empty string.

Fixed.

&gt; WebCore/html/BlobBuilder.idl:36
&gt;  +          Blob getBlob(in [ConvertUndefinedOrNullToNullString] DOMString contentType);
&gt; Do we need to add Optional here?

Made it Optional (explicitly).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240237</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-18 17:55:53 -0700</bug_when>
    <thetext>Attachment 59172 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3277402</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240242</commentid>
    <comment_count>8</comment_count>
      <attachid>59172</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-18 19:32:50 -0700</bug_when>
    <thetext>Comment on attachment 59172
Patch

WebCore/bindings/js/JSBlobBuilderCustom.cpp:44
 +  JSValue JSBlobBuilder::append(ExecState* exec)
Can this be non-custom with our new overloads support in the JSC bindings generator?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240258</commentid>
    <comment_count>9</comment_count>
      <attachid>59175</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-18 20:39:50 -0700</bug_when>
    <thetext>Created attachment 59175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240260</commentid>
    <comment_count>10</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-18 20:41:36 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 59172 [details])
&gt; WebCore/bindings/js/JSBlobBuilderCustom.cpp:44
&gt;  +  JSValue JSBlobBuilder::append(ExecState* exec)
&gt; Can this be non-custom with our new overloads support in the JSC bindings generator?

Oh yes, it can.  Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240261</commentid>
    <comment_count>11</comment_count>
      <attachid>59175</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-18 20:51:31 -0700</bug_when>
    <thetext>Comment on attachment 59175
Patch

You still have a bunch of reference to JSBlobBuilder* even thought it doesn&apos;t seem to exist anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240266</commentid>
    <comment_count>12</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-18 21:20:30 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 59175 [details])
&gt; You still have a bunch of reference to JSBlobBuilder* even thought it doesn&apos;t seem to exist anymore.

Hmm, could you tell me which reference do you mean?   As for JSBlobBuilder.{cpp,h} I thought we still need them as they get generated.   Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240267</commentid>
    <comment_count>13</comment_count>
      <attachid>59175</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-18 21:26:58 -0700</bug_when>
    <thetext>Comment on attachment 59175
Patch

Oh, you&apos;re right, my mistake.  You should renominate your patch for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240269</commentid>
    <comment_count>14</comment_count>
      <attachid>59175</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-18 21:45:25 -0700</bug_when>
    <thetext>Comment on attachment 59175
Patch

(renominating for review)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240271</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-18 22:01:08 -0700</bug_when>
    <thetext>Attachment 59175 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3289345</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240387</commentid>
    <comment_count>16</comment_count>
      <attachid>59175</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-19 16:55:06 -0700</bug_when>
    <thetext>Comment on attachment 59175
Patch

I might have put the blob tests in their own subfolder, but this looks great.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240926</commentid>
    <comment_count>17</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-21 15:42:15 -0700</bug_when>
    <thetext>Committed r61585: &lt;http://trac.webkit.org/changeset/61585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240928</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-21 15:48:03 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/61585 might have broken Qt Linux Release minimal, Qt Linux ARMv5 Release, and Qt Linux ARMv7 Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240938</commentid>
    <comment_count>19</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-21 16:06:53 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; http://trac.webkit.org/changeset/61585 might have broken Qt Linux Release minimal, Qt Linux ARMv5 Release, and Qt Linux ARMv7 Release

I had missed some files to include when I tried to land the patch with local tweaks (webkit-patch failed so I did it manually).  I&apos;m going to retry submitting it later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241628</commentid>
    <comment_count>20</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-06-22 20:56:16 -0700</bug_when>
    <thetext>Committed r61650: &lt;http://trac.webkit.org/changeset/61650&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241638</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-22 21:15:33 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/61650 might have broken Qt Linux Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59045</attachid>
            <date>2010-06-17 16:39:53 -0700</date>
            <delta_ts>2010-06-18 17:42:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40593-20100617163952.patch</filename>
            <type>text/plain</type>
            <size>49420</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2MTliNjg1Y2Q1ZjhiODc0MjM4MzZmNTVlMDkyOTllMDJkYWM5NTczLi40ZDZlMDlj
N2RjMTNiODY3OGUwNjllMjZkZDE1N2VmZTE3MjM2Y2ZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMTAtMDYtMTcgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBCbG9iQnVpbGRl
ci5pZGwgdG8gZXhwb3NlIEJsb2JCdWlsZGVyIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA1OTMKKworICAgICAgICBBZGQgbmV3IGxh
eW91dCB0ZXN0cyB0byB0ZXN0IEJsb2JCdWlsZGVyIGludGVyZmFjZS4KKyAgICAgICAgQWxzbyB1
cGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgYWZmZWN0ZWQgYnkgYWRkaW5nIHRoZSBjb25zdHJ1Y3Rv
cnMgdG8gRE9NV2luZG93LgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jb25z
dHJ1Y3RlZC1vYmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
anMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9sb2NhbC9yZXNvdXJjZXMvZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL2h5YnJpZC1ibG9iLXV0aWwuanM6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtZGF0YS1ibG9i
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWh5
YnJpZC1ibG9iLmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2FsL3NlbmQtZGF0
YS1ibG9iLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2NhbC9z
ZW5kLWRhdGEtYmxvYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2FsL3Nl
bmQtaHlicmlkLWJsb2ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2xvY2FsL3NlbmQtaHlicmlkLWJsb2IuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZXMvcG9zdC1hbmQtdmVyaWZ5LWh5YnJpZC5jZ2k6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2d0ay9Ta2lwcGVkOiBBZGRlZCBzZW5kLWh5YnJpZC1ibG9iLmh0bWwgYmVjYXVz
ZSBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGUg
cGxhdGZvcm0uCisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDogQWRkZWQgc2VuZC1oeWJy
aWQtYmxvYi5odG1sIGJlY2F1c2UgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzIGlzIG5v
dCBzdXBwb3J0ZWQgb24gdGhlIHBsYXRmb3JtLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lw
cGVkOiBBZGRlZCBzZW5kLWh5YnJpZC1ibG9iLmh0bWwgYmVjYXVzZSBldmVudFNlbmRlci5iZWdp
bkRyYWdXaXRoRmlsZXMgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGUgcGxhdGZvcm0uCisKIDIwMTAt
MDYtMTcgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCBDaHJvbWl1bSBleHBlY3RhdGlvbnMgdXBkYXRlLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3Rl
ZC50eHQKaW5kZXggYTc2YjgwMTgxMzQ0OTlhMDZjMzZhOTIyZDdiOTBmOTA2ZTExMmUzYS4uMDIz
YjA0YTA2NTJkYTUzNmFhYzRmNDFhNDIzYzRkNmZhMzNlMjVkMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CkBAIC0xNTAsNiArMTUwLDEwIEBAIHdpbmRvdy5CZWZvcmVMb2FkRXZlbnQucHJvdG90eXBl
LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiBbZnVuY3Rpb25dCiB3aW5kb3cuQmVmb3JlTG9hZEV2
ZW50LnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQogd2luZG93LkJsb2IgW29i
amVjdCBCbG9iQ29uc3RydWN0b3JdCiB3aW5kb3cuQmxvYi5wcm90b3R5cGUgW29iamVjdCBCbG9i
UHJvdG90eXBlXQord2luZG93LkJsb2JCdWlsZGVyIFtvYmplY3QgQmxvYkJ1aWxkZXJDb25zdHJ1
Y3Rvcl0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUgW29iamVjdCBCbG9iQnVpbGRlclBy
b3RvdHlwZV0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuYXBwZW5kIFtmdW5jdGlvbl0K
K3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuZ2V0QmxvYiBbZnVuY3Rpb25dCiB3aW5kb3cu
Q0RBVEFTZWN0aW9uIFtvYmplY3QgQ0RBVEFTZWN0aW9uQ29uc3RydWN0b3JdCiB3aW5kb3cuQ0RB
VEFTZWN0aW9uLnByb3RvdHlwZSBbb2JqZWN0IENEQVRBU2VjdGlvblByb3RvdHlwZV0KIHdpbmRv
dy5DREFUQVNlY3Rpb24ucHJvdG90eXBlLkFUVFJJQlVURV9OT0RFIFtudW1iZXJdCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0
b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJv
cGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4IGQ0ZDM0YzIzYmViYWJjN2Y1YTFl
YWMxMTc1ZmQyZjMyY2Q5MGQ3Y2IuLmVmYzg3ZTY5MWFjOTYxNmYxYTA3YmE4NjhmNmFkYTMzYjIx
NDEyOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJv
cGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CkBAIC04LDYg
KzgsNyBAQCBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRv
dywgJ0F0dHInKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csICdBdWRpbycpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0JlZm9yZUxvYWRFdmVudCcpIGlz
ICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdp
bmRvdywgJ0Jsb2InKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcih3aW5kb3csICdCbG9iQnVpbGRlcicpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jvb2xlYW4nKSBp
cyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICdDREFUQVNlY3Rpb24nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdDU1NDaGFyc2V0UnVsZScpIGlzICdvYmpl
Y3QnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb25zdHJ1Y3RlZC1vYmplY3Rz
LXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29uc3RydWN0
ZWQtb2JqZWN0cy1wcm90b3R5cGVzLWV4cGVjdGVkLnR4dAppbmRleCA4NjlhZTE2MTg0MWIxZmU1
OTQyOWMzYTgyODI0MzM0MmY1ZjBlODJiLi4yN2YwZmI4ODk1ZWIwMDI1NTgxZjc2NGNmOTM2Nzlj
NTFlNGY5YmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb25zdHJ1Y3RlZC1v
YmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L2NvbnN0cnVjdGVkLW9iamVjdHMtcHJvdG90eXBlcy1leHBlY3RlZC50eHQKQEAgLTUsNiArNSw4
IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgKG5ldyBpbm5lci5BdWRpbygpKS5p
c0lubmVyIGlzIHRydWUKIFBBU1MgKG5ldyBpbm5lci5BdWRpbygpKS5jb25zdHJ1Y3Rvci5pc0lu
bmVyIGlzIHRydWUKK1BBU1MgKG5ldyBpbm5lci5CbG9iQnVpbGRlcigpKS5pc0lubmVyIGlzIHRy
dWUKK1BBU1MgKG5ldyBpbm5lci5CbG9iQnVpbGRlcigpKS5jb25zdHJ1Y3Rvci5pc0lubmVyIGlz
IHRydWUKIFBBU1MgKG5ldyBpbm5lci5ET01QYXJzZXIoKSkuaXNJbm5lciBpcyB0cnVlCiBQQVNT
IChuZXcgaW5uZXIuRE9NUGFyc2VyKCkpLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFT
UyAobmV3IGlubmVyLkZvcm1EYXRhKCkpLmlzSW5uZXIgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0
CmluZGV4IDQxYTc4Y2RkMWRiODAzMmJlM2Q5NmRhNTNkMmE3ODIyOGRmOTk3NzIuLjIwMWVkOTU4
YjI3ODgzNGU1YTY4NmZmNWViZjAxMzc1ZDcxMmMyNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKQEAg
LTIwOCw2ICsyMDgsNyBAQCBQQVNTIFdlYktpdENTU0tleWZyYW1lc1J1bGUgZnJvbSBpbm5lci5k
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZQogUEFTUyBXZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjYuY29uc3RydWN0b3IKIFBBU1MgV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNi5fX3Byb3RvX18KIE5ldmVyIGZvdW5k
IEF1ZGlvCitOZXZlciBmb3VuZCBCbG9iQnVpbGRlcgogTmV2ZXIgZm91bmQgQmxvYgogTmV2ZXIg
Zm91bmQgQ0RBVEFTZWN0aW9uCiBOZXZlciBmb3VuZCBDU1NSdWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAppbmRl
eCAzMjQ1YjNlN2VmYjEwZDYwOTBjNDcwZTc1NTMzZjdlM2I2OTlkMjlmLi41ZTAxYWFkZjYxMDc4
NWNkYTc1MTEyYTE2MWNjN2NjZTYwODk4ZDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTExLDYgKzEx
LDggQEAgUEFTUyBpbm5lci5CZWZvcmVMb2FkRXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlu
bmVyLkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5u
ZXIuQmxvYi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5jb25zdHJ1Y3Rvci5pc0lu
bmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuaXNJbm5lciBpcyB0cnVlCitQQVNT
IGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5l
ci5DREFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkNEQVRBU2VjdGlvbi5j
b25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQ1NTQ2hhcnNldFJ1bGUuaXNJ
bm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25z
dHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3Ry
dWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA0MDA3OTdkOTA5NzJmOTA1NWE0NjM3NGY5ZTdjNTFj
MzkyYTc4ZDhiLi5iYzlmNjdmMWExYzg5YjE1YmNhMjEwYjhlNDM3Mzc3Njg4MjIyNGQxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQKQEAgLTcsNiArNyw3IEBAIFBBU1MgQXR0ci50b1N0cmluZygpIGlzICdbb2JqZWN0IEF0
dHJDb25zdHJ1Y3Rvcl0nCiBQQVNTIEF1ZGlvLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQXVkaW9D
b25zdHJ1Y3Rvcl0nCiBQQVNTIEJlZm9yZUxvYWRFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0
IEJlZm9yZUxvYWRFdmVudENvbnN0cnVjdG9yXScKIFBBU1MgQmxvYi50b1N0cmluZygpIGlzICdb
b2JqZWN0IEJsb2JDb25zdHJ1Y3Rvcl0nCitQQVNTIEJsb2JCdWlsZGVyLnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgQmxvYkJ1aWxkZXJDb25zdHJ1Y3Rvcl0nCiBQQVNTIENEQVRBU2VjdGlvbi50b1N0
cmluZygpIGlzICdbb2JqZWN0IENEQVRBU2VjdGlvbkNvbnN0cnVjdG9yXScKIFBBU1MgQ1NTQ2hh
cnNldFJ1bGUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NDaGFyc2V0UnVsZUNvbnN0cnVjdG9y
XScKIFBBU1MgQ1NTRm9udEZhY2VSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTRm9udEZh
Y2VSdWxlQ29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2NhbC9yZXNvdXJjZXMvZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9maWxlLWZvci1kcmFnLXRvLXNlbmQyLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43MmQwMDdiNmVkYjVjZWE2ZDVjMjQzYzgyYzdiZTI0NmRmZDhjNjMxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMvZmlsZS1m
b3ItZHJhZy10by1zZW5kMi50eHQKQEAgLTAsMCArMSBAQAorQUJDREVGR0hJSktMTU5PUFFSU1RV
VldYWVoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2Vz
L2h5YnJpZC1ibG9iLXV0aWwuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291
cmNlcy9oeWJyaWQtYmxvYi11dGlsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiN2FhOGU1MGFlZTI0NDk3ZmI3
NGYxNDNkNWZjMDg0ZDQ0ZThmOGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9oeWJyaWQtYmxvYi11dGlsLmpzCkBAIC0wLDAgKzEsMTU0
IEBACit2YXIgSHlicmlkQmxvYlRlc3RVdGlsID0gZnVuY3Rpb24odGVzdEZ1bmMsIG9wdF9maWxl
UGF0aHMpIHsKKyAgICB0aGlzLnRlc3RDYWxsYmFja0Z1bmMgPSB0ZXN0RnVuYzsKKworICAgIHRo
aXMudGVzdEZpbGVQYXRocyA9IG9wdF9maWxlUGF0aHM7CisgICAgdGhpcy50ZXN0RmlsZXMgPSBb
XTsKKyAgICB0aGlzLnRlc3RGaWxlTWFwID0ge307CisgICAgdGhpcy5maWxlSW5wdXQgPSBudWxs
OworCisgICAgdGhpcy5kcmFnQmFzZURpciA9ICIiOworICAgIHRoaXMudXJsUGF0aEJhc2VEaXIg
PSAiIjsKKworICAgIHRoaXMudGVzdFVybCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3Vy
Y2VzL3Bvc3QtYW5kLXZlcmlmeS1oeWJyaWQuY2dpIjsKKworICAgIHRoaXMudXBsb2FkQmxvYiA9
IGZ1bmN0aW9uKGJsb2IsIHVybFBhcmFtZXRlcikKKyAgICB7CisgICAgICAgIHZhciB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgeGhyLm9wZW4oIlBPU1QiLCB0aGlzLnRlc3RV
cmwgKyAiPyIgKyB1cmxQYXJhbWV0ZXIsIGZhbHNlKTsKKworICAgICAgICB2YXIgcGFzc2VkOwor
ICAgICAgICB2YXIgbWVzc2FnZTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHhoci5zZW5k
KGJsb2IpOworICAgICAgICAgICAgaWYgKHhoci5yZXNwb25zZVRleHQgPT0gIk9LIikgeworICAg
ICAgICAgICAgICAgIHBhc3NlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJF
eHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiAiICsgeGhyLnJlc3BvbnNlVGV4dDsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcGFzc2VkID0gZmFsc2U7CisgICAg
ICAgICAgICAgICAgbWVzc2FnZSA9ICJVbmV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6
ICIgKyB4aHIucmVzcG9uc2VUZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9IGNhdGNoIChl
eCkgeworICAgICAgICAgICAgcGFzc2VkID0gZmFsc2U7CisgICAgICAgICAgICBtZXNzYWdlID0g
IlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHRocm93bjogIiArIGV4OworICAgICAgICB9CisKKyAgICAg
ICAgaWYgKHBhc3NlZCkKKyAgICAgICAgICAgIHRlc3RQYXNzZWQobWVzc2FnZSk7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHRlc3RGYWlsZWQobWVzc2FnZSArICcgcGFyYW1zOicgKyB1cmxQ
YXJhbWV0ZXIpOworICAgIH07CisKKyAgICB0aGlzLm9uSW5wdXRGaWxlQ2hhbmdlID0gZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgdmFyIGZpbGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZpbGUiKS5maWxlczsKKyAgICAgICAgdGhpcy50ZXN0RmlsZXMgPSBuZXcgQXJyYXkoKTsKKyAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAg
ICAgdGhpcy50ZXN0RmlsZXMucHVzaChmaWxlc1tpXSk7CisgICAgICAgICAgICB0aGlzLnRlc3RG
aWxlTWFwW3Rlc3RGaWxlUGF0aHNbaV1dID0gZmlsZXNbaV07CisgICAgICAgIH0KKyAgICAgICAg
dGhpcy50ZXN0Q2FsbGJhY2tGdW5jKCk7CisgICAgfTsKKworICAgIHRoaXMucnVuVGVzdHNXaXRo
RHJhZyA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuZmlsZUlucHV0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKKyAgICAgICAgdGhpcy5maWxlSW5wdXQuaWQgPSAi
ZmlsZSI7CisgICAgICAgIHRoaXMuZmlsZUlucHV0LnR5cGUgPSAiZmlsZSI7CisgICAgICAgIHRo
aXMuZmlsZUlucHV0LnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgICAgICAgdGhpcy5maWxlSW5w
dXQuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgICAgICAgdGhpcy5maWxlSW5wdXQubXVsdGlw
bGUgPSB0cnVlOworICAgICAgICB2YXIgb2JqID0gdGhpczsKKyAgICAgICAgdGhpcy5maWxlSW5w
dXQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgZnVuY3Rpb24oKSB7IG9iai5vbklucHV0Rmls
ZUNoYW5nZSgpIH0sIGZhbHNlKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUo
dGhpcy5maWxlSW5wdXQsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7CisKKyAgICAgICAgaWYg
KHRoaXMuZHJhZ0Jhc2VEaXIpIHsKKyAgICAgICAgICAgIHZhciBmaWxlUGF0aHMgPSBbXTsKKyAg
ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy50ZXN0RmlsZVBhdGhzLmxlbmd0aDsg
KytpKSB7CisgICAgICAgICAgICAgICAgZmlsZVBhdGhzLnB1c2godGhpcy5kcmFnQmFzZURpciAr
IHRoaXMudGVzdEZpbGVQYXRoc1tpXSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0aGlz
LnRlc3RGaWxlUGF0aHMgPSBmaWxlUGF0aHM7CisgICAgICAgIH0KKworICAgICAgICBldmVudFNl
bmRlci5iZWdpbkRyYWdXaXRoRmlsZXModGhpcy50ZXN0RmlsZVBhdGhzKTsKKyAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8oMTAsIDEwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOworICAgIH07CisKKyAgICB0aGlzLnJ1blRlc3RzID0gZnVuY3Rpb24oKSB7CisgICAgICAg
IGlmICghdGhpcy50ZXN0Q2FsbGJhY2tGdW5jKQorICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGVz
dCBib2R5IGZ1bmN0aW9uIGlzIG5vdCBpbml0aWFsaXplZC4iKTsKKyAgICAgICAgZWxzZSBpZiAo
dGhpcy50ZXN0RmlsZVBhdGhzKQorICAgICAgICAgICAgdGhpcy5ydW5UZXN0c1dpdGhEcmFnKCk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMudGVzdENhbGxiYWNrRnVuYygpOworICAg
IH07CisKKyAgICB0aGlzLkZpbGVJdGVtID0gZnVuY3Rpb24ocGF0aCkKKyAgICB7CisgICAgICAg
IHZhciBpdGVtID0gbmV3IE9iamVjdCgpOworICAgICAgICBpdGVtLnR5cGUgPSAnZmlsZSc7Cisg
ICAgICAgIGl0ZW0ucGF0aCA9IHBhdGg7CisgICAgICAgIGl0ZW0udmFsdWUgPSB0aGlzLnRlc3RG
aWxlTWFwW3BhdGhdOworICAgICAgICByZXR1cm4gaXRlbTsKKyAgICB9CisKKyAgICB0aGlzLkRh
dGFJdGVtID0gZnVuY3Rpb24oZGF0YSkKKyAgICB7CisgICAgICAgIHZhciBpdGVtID0gbmV3IE9i
amVjdCgpOworICAgICAgICBpdGVtLnR5cGUgPSAnZGF0YSc7CisgICAgICAgIGl0ZW0udmFsdWUg
PSBkYXRhOworICAgICAgICByZXR1cm4gaXRlbTsKKyAgICB9CisKKyAgICB0aGlzLkJsb2JJdGVt
ID0gZnVuY3Rpb24oaXRlbXMpCisgICAgeworICAgICAgICB2YXIgaXRlbSA9IG5ldyBPYmplY3Qo
KTsKKyAgICAgICAgaXRlbS50eXBlID0gJ2Jsb2InOworICAgICAgICBpdGVtLnZhbHVlID0gaXRl
bXM7CisgICAgICAgIHJldHVybiBpdGVtOworICAgIH0KKworICAgIHRoaXMuY3JlYXRlSXRlbVBh
cmFtQXJyYXkgPSBmdW5jdGlvbihpdGVtcywgaXRlbVBhcmFtcywgb3B0X2VuZGluZykKKyAgICB7
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgICAgIGlmIChpdGVtc1tpXSBpbnN0YW5jZW9mIEFycmF5KQorICAgICAgICAgICAgICAgIHRo
aXMuY3JlYXRlSXRlbVBhcmFtQXJyYXkoaXRlbXNbaV0sIGl0ZW1QYXJhbXMsIG9wdF9lbmRpbmcp
OworICAgICAgICAgICAgZWxzZSBpZiAoaXRlbXNbaV0udHlwZSA9PSAiZGF0YSIpIHsKKyAgICAg
ICAgICAgICAgICB2YXIgZGF0YSA9IGl0ZW1zW2ldLnZhbHVlOworICAgICAgICAgICAgICAgIGlm
IChvcHRfZW5kaW5nKQorICAgICAgICAgICAgICAgICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC9c
clxuL2csICJbTkxdIikucmVwbGFjZSgvW1xuXHJdL2csICJbTkxdIik7CisgICAgICAgICAgICAg
ICAgaXRlbVBhcmFtcy5wdXNoKCJkYXRhOiIgKyBlc2NhcGUoZGF0YSkpOworICAgICAgICAgICAg
fSBlbHNlIGlmIChpdGVtc1tpXS50eXBlID09ICJmaWxlIikKKyAgICAgICAgICAgICAgICBpdGVt
UGFyYW1zLnB1c2goImZpbGU6IiArIHRoaXMudXJsUGF0aEJhc2VEaXIgKyBpdGVtc1tpXS5wYXRo
KTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICB0aGlzLmNyZWF0ZVVybFBhcmFtZXRlciA9IGZ1
bmN0aW9uKGl0ZW1zLCBvcHRfcmFuZ2UsIG9wdF9lbmRpbmcpCisgICAgeworICAgICAgICB2YXIg
aXRlbVBhcmFtcyA9IFtdOworICAgICAgICB0aGlzLmNyZWF0ZUl0ZW1QYXJhbUFycmF5KGl0ZW1z
LCBpdGVtUGFyYW1zLCBvcHRfZW5kaW5nKTsKKyAgICAgICAgdmFyIHVybFBhcmFtZXRlciA9ICJp
dGVtcz0iICsgaXRlbVBhcmFtcy5qb2luKCIsIik7CisgICAgICAgIGlmIChvcHRfcmFuZ2UpIHsK
KyAgICAgICAgICAgIHVybFBhcmFtZXRlciArPSAiJnN0YXJ0PSIgKyBvcHRfcmFuZ2Uuc3RhcnQ7
CisgICAgICAgICAgICB1cmxQYXJhbWV0ZXIgKz0gIiZsZW5ndGg9IiArIG9wdF9yYW5nZS5sZW5n
dGg7CisgICAgICAgIH0KKyAgICAgICAgaWYgKG9wdF9lbmRpbmcpCisgICAgICAgICAgICB1cmxQ
YXJhbWV0ZXIgKz0gIiZjb252ZXJ0X25ld2xpbmVzPTEiOworICAgICAgICByZXR1cm4gdXJsUGFy
YW1ldGVyOworICAgIH07CisKKyAgICB0aGlzLmFwcGVuZEFuZENyZWF0ZUJsb2IgPSBmdW5jdGlv
bihpdGVtcywgb3B0X2VuZGluZywgb3B0X3R5cGUpCisgICAgeworICAgICAgICB2YXIgYmIgPSBu
ZXcgQmxvYkJ1aWxkZXIoKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVtcy5sZW5n
dGg7IGkrKykgeworICAgICAgICAgICAgaWYgKGl0ZW1zW2ldIGluc3RhbmNlb2YgQXJyYXkpIHsK
KyAgICAgICAgICAgICAgICAvLyBJZiBpdCdzIGFuIGFycmF5LCBjb21iaW5lIGl0cyBlbGVtZW50
cyBhbmQgYXBwZW5kIGFzIGEgYmxvYi4KKyAgICAgICAgICAgICAgICBiYi5hcHBlbmQodGhpcy5h
cHBlbmRBbmRDcmVhdGVCbG9iKGl0ZW1zW2ldLCBvcHRfZW5kaW5nLCBvcHRfdHlwZSkpOworICAg
ICAgICAgICAgfSBlbHNlIGlmIChvcHRfZW5kaW5nKQorICAgICAgICAgICAgICAgIGJiLmFwcGVu
ZChpdGVtc1tpXS52YWx1ZSwgb3B0X2VuZGluZyk7CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgYmIuYXBwZW5kKGl0ZW1zW2ldLnZhbHVlKTsKKyAgICAgICAgfQorICAgICAgICBy
ZXR1cm4gYmIuZ2V0QmxvYihvcHRfdHlwZSk7CisgICAgfTsKK307CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWRhdGEtYmxvYi5qcyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtZGF0YS1ibG9iLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVjOTYyNjBkNTBlOWIxZWRjZTZjMTIyYTQyNWI2MjA3NGRiNzcwNDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5k
LWRhdGEtYmxvYi5qcwpAQCAtMCwwICsxLDg1IEBACitkZXNjcmlwdGlvbigiVGVzdCBmb3IgYnVp
bGRpbmcgYmxvYnMgd2l0aCBtdWx0aXBsZSBzdHJpbmdzIGNvbWJpbmVkIGJ5IEJsb2JCdWlsZGVy
IGFuZCBzZW5kaW5nIHRoZW0gdmlhIFhNTEh0dHBSZXF1ZXN0LiIpOworCit2YXIgdXRpbCA9IG5l
dyBIeWJyaWRCbG9iVGVzdFV0aWwocnVuVGVzdHMpOworCitmdW5jdGlvbiBydW5BcHBlbmRUZXN0
KGFwcGVuZEl0ZW1zLCBvcHRfZW5kaW5nLCBvcHRfdXJsUGFyYW1ldGVyLCBvcHRfdHlwZSkKK3sK
KyAgICB2YXIgYmxvYiA9IHV0aWwuYXBwZW5kQW5kQ3JlYXRlQmxvYihhcHBlbmRJdGVtcywgb3B0
X2VuZGluZywgb3B0X3R5cGUpOworICAgIHZhciB1cmxQYXJhbWV0ZXIgPSBvcHRfdXJsUGFyYW1l
dGVyOworICAgIGlmICghb3B0X3VybFBhcmFtZXRlcikKKyAgICAgICAgdXJsUGFyYW1ldGVyID0g
dXRpbC5jcmVhdGVVcmxQYXJhbWV0ZXIoYXBwZW5kSXRlbXMsIG51bGwsIG9wdF9lbmRpbmcpOwor
ICAgIGlmIChvcHRfdHlwZSAhPSB1bmRlZmluZWQpCisgICAgICAgIHNob3VsZEJlKCInIiArIGJs
b2IudHlwZSArICInIiwgIiciICsgb3B0X3R5cGUgKyAiJyIpOworICAgIHV0aWwudXBsb2FkQmxv
YihibG9iLCB1cmxQYXJhbWV0ZXIpOworfQorCitmdW5jdGlvbiBydW5TbGljZVRlc3QoYXBwZW5k
SXRlbXMsIHJhbmdlcykKK3sKKyAgICB2YXIgYmxvYiA9IHV0aWwuYXBwZW5kQW5kQ3JlYXRlQmxv
YihhcHBlbmRJdGVtcyk7CisgICAgdmFyIHJhbmdlID0geydzdGFydCc6MCwgJ2xlbmd0aCc6LTF9
OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmFuZ2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGJsb2IgPSBibG9iLnNsaWNlKHJhbmdlc1tpXS5zdGFydCwgcmFuZ2VzW2ldLmxlbmd0aCk7Cisg
ICAgICAgIHJhbmdlLnN0YXJ0ICs9IHJhbmdlc1tpXS5zdGFydDsKKyAgICB9CisgICAgcmFuZ2Uu
bGVuZ3RoID0gcmFuZ2VzW3Jhbmdlcy5sZW5ndGggLSAxXS5sZW5ndGg7CisgICAgdmFyIHVybFBh
cmFtZXRlciA9IHV0aWwuY3JlYXRlVXJsUGFyYW1ldGVyKGFwcGVuZEl0ZW1zLCByYW5nZSk7Cisg
ICAgdXRpbC51cGxvYWRCbG9iKGJsb2IsIHVybFBhcmFtZXRlcik7Cit9CisKK2Z1bmN0aW9uIHJ1
blRlc3RzKCkKK3sKKyAgICB2YXIgc3RyaW5nQSA9IHV0aWwuRGF0YUl0ZW0oJ0ExMjM0NTY3fCcp
OworICAgIHZhciBzdHJpbmdCID0gdXRpbC5EYXRhSXRlbSgnQjEyMzQ1fCcpOworICAgIHZhciBz
dHJpbmdDID0gdXRpbC5EYXRhSXRlbSgnQzEyMzQ1Njc4OTAxfCcpOworCisgICAgdmFyIHN0cmlu
Z0xGID0gdXRpbC5EYXRhSXRlbSgnMTIzNDVcbjY3ODkwXG4nKTsKKyAgICB2YXIgc3RyaW5nQ1JM
RiA9IHV0aWwuRGF0YUl0ZW0oJ0FCQ0RFXHJcbkZHSElKXHJcbicpOworICAgIHZhciBzdHJpbmdD
UiA9IHV0aWwuRGF0YUl0ZW0oJ2FiY2RlXHJmZ2hpalxyJyk7CisKKyAgICBkZWJ1ZygnKiBCbG9i
QnVpbGRlci5hcHBlbmQoc3RyaW5nKScpOworICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJpbmdBIF0p
OworICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJpbmdBLCBzdHJpbmdCIF0pOworICAgIHJ1bkFwcGVu
ZFRlc3QoWyBzdHJpbmdBLCBzdHJpbmdCIF0sIG51bGwsIG51bGwsICd0eXBlL2ZvbycpOworCisg
ICAgZGVidWcoJyogQmxvYkJ1aWxkZXIuYXBwZW5kKGJsb2IpJyk7CisgICAgcnVuQXBwZW5kVGVz
dChbIFsgc3RyaW5nQSBdIF0pOworICAgIHJ1bkFwcGVuZFRlc3QoWyBbIHN0cmluZ0EsIHN0cmlu
Z0IsIHN0cmluZ0EgXSBdKTsKKyAgICBydW5BcHBlbmRUZXN0KFsgWyBzdHJpbmdBLCBzdHJpbmdD
IF0gXSwgbnVsbCwgbnVsbCwgJ3R5cGUvYmFyJyk7CisKKyAgICBkZWJ1ZygnKiBCbG9iQnVpbGRl
ci5hcHBlbmQoc3RyaW5nL2Jsb2IpJyk7CisgICAgcnVuQXBwZW5kVGVzdChbIFsgWyBzdHJpbmdB
LCBzdHJpbmdCIF0sIHN0cmluZ0EgXSwgc3RyaW5nQyBdKTsKKyAgICBydW5BcHBlbmRUZXN0KFsg
WyBzdHJpbmdBLCBzdHJpbmdCLCBzdHJpbmdBIF0sIHN0cmluZ0MsIFsgc3RyaW5nQSwgc3RyaW5n
Qiwgc3RyaW5nQSBdIF0pOworCisgICAgZGVidWcoJyogQmxvYkJ1aWxkZXIuYXBwZW5kKHN0cmlu
Zy9ibG9iKSAtIHdpdGggcmVjeWNsZWQgYmxvYicpOworICAgIHZhciBtaXhlZEFycmF5ID0gWyBb
IHN0cmluZ0EsIHN0cmluZ0IsIHN0cmluZ0EgXSwgc3RyaW5nQywgWyBzdHJpbmdBLCBzdHJpbmdC
IF0gLCBzdHJpbmdBIF07CisgICAgdmFyIGJsb2IgPSB1dGlsLkJsb2JJdGVtKHV0aWwuYXBwZW5k
QW5kQ3JlYXRlQmxvYihtaXhlZEFycmF5KSk7CisgICAgdmFyIHBhcmFtZXRlciA9IHV0aWwuY3Jl
YXRlVXJsUGFyYW1ldGVyKFsgbWl4ZWRBcnJheSwgc3RyaW5nQywgbWl4ZWRBcnJheSBdKTsKKyAg
ICBydW5BcHBlbmRUZXN0KFsgYmxvYiwgc3RyaW5nQywgYmxvYiBdLCBudWxsLCBwYXJhbWV0ZXIp
OworCisgICAgZGVidWcoJyogQmxvYkJ1aWxkZXIuYXBwZW5kKHN0cmluZykgLSB3aXRoIGxpbmUt
ZW5kaW5ncycpOworICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJpbmdMRiBdKTsKKyAgICBydW5BcHBl
bmRUZXN0KFsgc3RyaW5nQ1IgXSk7CisgICAgcnVuQXBwZW5kVGVzdChbIHN0cmluZ0NSTEYgXSk7
CisKKyAgICBkZWJ1ZygnKiBCbG9iQnVpbGRlci5hcHBlbmQoc3RyaW5nLCAibmF0aXZlIikgLSB3
aXRoIGxpbmUtZW5kaW5ncycpOworICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJpbmdMRiBdLCAnbmF0
aXZlJyk7CisgICAgcnVuQXBwZW5kVGVzdChbIHN0cmluZ0NSIF0sICduYXRpdmUnKTsKKyAgICBy
dW5BcHBlbmRUZXN0KFsgc3RyaW5nQ1JMRiBdLCAnbmF0aXZlJyk7CisgICAgcnVuQXBwZW5kVGVz
dChbIHN0cmluZ0NSTEYsIHN0cmluZ0xGLCBzdHJpbmdDUkxGIF0sICduYXRpdmUnKTsKKworICAg
IGRlYnVnKCcqIEJsb2JCdWlsZGVyLmFwcGVuZChzdHJpbmcvYmxvYikgLSB3aXRoIEJsb2Iuc2xp
Y2UoKScpOworICAgIHJ1blNsaWNlVGVzdChtaXhlZEFycmF5LCBbIHsnc3RhcnQnOiAzLCAgJ2xl
bmd0aCc6IDEyfSBdKTsKKyAgICBydW5TbGljZVRlc3QobWl4ZWRBcnJheSwgWyB7J3N0YXJ0Jzog
MTMsICdsZW5ndGgnOiA0MH0gXSk7CisgICAgcnVuU2xpY2VUZXN0KG1peGVkQXJyYXksIFsgeydz
dGFydCc6IDUsICAnbGVuZ3RoJzogMzJ9IF0pOworCisgICAgZGVidWcoJyogQmxvYkJ1aWxkZXIu
YXBwZW5kKHN0cmluZy9ibG9iKSAtIHdpdGggbmVzdGVkIEJsb2Iuc2xpY2UoKScpOworICAgIHJ1
blNsaWNlVGVzdChtaXhlZEFycmF5LCBbIHsnc3RhcnQnOiA1LCAgJ2xlbmd0aCc6IDMyfSwgeydz
dGFydCc6IDIsICdsZW5ndGgnOiA5fSBdKTsKKyAgICBydW5TbGljZVRlc3QobWl4ZWRBcnJheSwg
WyB7J3N0YXJ0JzogMTMsICdsZW5ndGgnOiA0MH0sIHsnc3RhcnQnOiA1LCAnbGVuZ3RoJzogMTd9
IF0pOworfQorCitpZiAod2luZG93LmV2ZW50U2VuZGVyKQorICAgIHV0aWwucnVuVGVzdHMoKTsK
K2Vsc2UKKyAgICB0ZXN0RmFpbGVkKCJUaGlzIHRlc3QgaXMgbm90IGludGVyYWN0aXZlLCBwbGVh
c2UgcnVuIHVzaW5nIER1bXBSZW5kZXJUcmVlIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJj
ZXMvc2VuZC1oeWJyaWQtYmxvYi5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvcmVz
b3VyY2VzL3NlbmQtaHlicmlkLWJsb2IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI4OWZiZDFlOGU4NjA5ZTIx
MDA4ZDMzYmIyMWEwMmM1ZjQ1OWE3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtaHlicmlkLWJsb2IuanMKQEAgLTAsMCArMSw5
MSBAQAorZGVzY3JpcHRpb24oIlRlc3QgZm9yIGJ1aWxkaW5nIGJsb2JzIHdpdGggbXVsdGlwbGUg
ZmlsZXMgY29tYmluZWQgYnkgQmxvYkJ1aWxkZXIgYW5kIHNlbmRpbmcgdGhlbSB2aWEgWE1MSHR0
cFJlcXVlc3QuICAoVGhpcyB0ZXN0IHJlcXVpcmVzIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhG
aWxlcykiKTsKKwordmFyIHRlc3RGaWxlUGF0aHMgPSBbCisgICAgIm5vbmV4aXN0ZW50IiwKKyAg
ICAiZW1wdHkudHh0IiwKKyAgICAiZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dCIsCisgICAgImZp
bGUtZm9yLWRyYWctdG8tc2VuZDIudHh0IiwKKyAgICAiYWJlLnBuZyIKK107CisKK3ZhciB1dGls
ID0gbmV3IEh5YnJpZEJsb2JUZXN0VXRpbChydW5UZXN0cywgdGVzdEZpbGVQYXRocyk7Cit1dGls
LmRyYWdCYXNlRGlyID0gInJlc291cmNlcy8iOwordXRpbC51cmxQYXRoQmFzZURpciA9ICIuLi9s
b2NhbC9yZXNvdXJjZXMvIjsKKworZnVuY3Rpb24gcnVuSHlicmlkQmxvYlRlc3QoZmlsZUluZGV4
T3JTdHJpbmdzLCBvcHRfcmFuZ2UpCit7CisgICAgdmFyIGJsb2IgPSB1dGlsLmFwcGVuZEFuZENy
ZWF0ZUJsb2IoZmlsZUluZGV4T3JTdHJpbmdzKTsKKyAgICB2YXIgdXJsUGFyYW1ldGVyID0gdXRp
bC5jcmVhdGVVcmxQYXJhbWV0ZXIoZmlsZUluZGV4T3JTdHJpbmdzLCBvcHRfcmFuZ2UpOworICAg
IGlmIChvcHRfcmFuZ2UpCisgICAgICAgIGJsb2IgPSBibG9iLnNsaWNlKG9wdF9yYW5nZS5zdGFy
dCwgb3B0X3JhbmdlLmxlbmd0aCk7CisgICAgdXRpbC51cGxvYWRCbG9iKGJsb2IsIHVybFBhcmFt
ZXRlcik7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3RzKCkKK3sKKyAgICBkZWJ1ZygnKiBCbG9iQnVp
bGRlci5hcHBlbmQoZmlsZSkgLSBzaW5nbGUgZmlsZScpOworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgdGVzdEZpbGVQYXRocy5sZW5ndGg7IGkrKykKKyAgICAgICAgcnVuSHlicmlkQmxvYlRlc3Qo
dXRpbC5GaWxlSXRlbSh0ZXN0RmlsZVBhdGhzW2ldKSk7CisKKyAgICBkZWJ1ZygnKiBCbG9iQnVp
bGRlci5hcHBlbmQoZmlsZSkgLSBtdWx0aXBsZSBmaWxlcycpOworICAgIHJ1bkh5YnJpZEJsb2JU
ZXN0KFsgdXRpbC5GaWxlSXRlbSgnbm9uZXhpc3RlbnQnKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHV0aWwuRmlsZUl0ZW0oJ2VtcHR5LnR4dCcpXSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3Qo
WyB1dGlsLkZpbGVJdGVtKCdlbXB0eS50eHQnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHV0
aWwuRmlsZUl0ZW0oJ2ZpbGUtZm9yLWRyYWctdG8tc2VuZC50eHQnKSBdKTsKKyAgICBydW5IeWJy
aWRCbG9iVGVzdChbIHV0aWwuRmlsZUl0ZW0oJ2VtcHR5LnR4dCcpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgdXRpbC5GaWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dCcpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgdXRpbC5GaWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5k
Mi50eHQnKSBdKTsKKyAgICBydW5IeWJyaWRCbG9iVGVzdChbIHV0aWwuRmlsZUl0ZW0oJ2ZpbGUt
Zm9yLWRyYWctdG8tc2VuZDIudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLkZp
bGVJdGVtKCdmaWxlLWZvci1kcmFnLXRvLXNlbmQyLnR4dCcpIF0pOworCisgICAgZGVidWcoJyog
QmxvYkJ1aWxkZXIuYXBwZW5kKG1peGVkKScpOworICAgIHJ1bkh5YnJpZEJsb2JUZXN0KFsgWyB1
dGlsLkZpbGVJdGVtKCdlbXB0eS50eHQnKSBdIF0pOworICAgIHJ1bkh5YnJpZEJsb2JUZXN0KFsg
WyB1dGlsLkZpbGVJdGVtKCdlbXB0eS50eHQnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dXRpbC5GaWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dCcpIF0sCisgICAgICAgICAg
ICAgICAgICAgICAgICB1dGlsLkZpbGVJdGVtKCdmaWxlLWZvci1kcmFnLXRvLXNlbmQyLnR4dCcp
IF0pOworICAgIHJ1bkh5YnJpZEJsb2JUZXN0KFsgdXRpbC5EYXRhSXRlbSgnYWJjZGUnKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHV0aWwuRmlsZUl0ZW0oJ2ZpbGUtZm9yLWRyYWctdG8tc2Vu
ZDIudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLkRhdGFJdGVtKCd8MTIzfDQ1
NnwnKSBdKTsKKyAgICBydW5IeWJyaWRCbG9iVGVzdChbIHV0aWwuRmlsZUl0ZW0oJ2VtcHR5LnR4
dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5EYXRhSXRlbSgnMTM1NzknKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgWyB1dGlsLkZpbGVJdGVtKCdmaWxlLWZvci1kcmFnLXRvLXNl
bmQyLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwuRmlsZUl0ZW0oJ2ZpbGUt
Zm9yLWRyYWctdG8tc2VuZC50eHQnKSBdLAorICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5G
aWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dCcpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgdXRpbC5EYXRhSXRlbSgnQV9CX0NfRF9FJyldKTsKKworICAgIGRlYnVnKCcqIEJsb2JC
dWlsZGVyLmFwcGVuZChtaXhlZCkgLSB3aXRoIEJsb2Iuc2xpY2UoKScpOworICAgIHJ1bkh5YnJp
ZEJsb2JUZXN0KFsgdXRpbC5GaWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dCcpIF0s
CisgICAgICAgICAgICAgICAgICAgICAgeyAnc3RhcnQnOiA1LCAnbGVuZ3RoJzogMTAgfSk7Cisg
ICAgcnVuSHlicmlkQmxvYlRlc3QoWyBbIHV0aWwuRmlsZUl0ZW0oJ2ZpbGUtZm9yLWRyYWctdG8t
c2VuZDIudHh0JykgXSBdLAorICAgICAgICAgICAgICAgICAgICAgIHsgJ3N0YXJ0JzogMywgJ2xl
bmd0aCc6IDE3IH0pOworICAgIHJ1bkh5YnJpZEJsb2JUZXN0KFsgdXRpbC5GaWxlSXRlbSgnZmls
ZS1mb3ItZHJhZy10by1zZW5kLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5G
aWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQnKSBdLAorICAgICAgICAgICAgICAg
ICAgICAgIHsgJ3N0YXJ0JzogMywgJ2xlbmd0aCc6IDE3IH0pOworICAgIHJ1bkh5YnJpZEJsb2JU
ZXN0KFsgdXRpbC5GaWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQnKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHV0aWwuRGF0YUl0ZW0oJ2FiY2RlJyksCisgICAgICAgICAgICAg
ICAgICAgICAgICB1dGlsLkZpbGVJdGVtKCdmaWxlLWZvci1kcmFnLXRvLXNlbmQyLnR4dCcpIF0s
CisgICAgICAgICAgICAgICAgICAgICAgeyAnc3RhcnQnOiAzLCAnbGVuZ3RoJzogMTcgfSk7Cisg
ICAgcnVuSHlicmlkQmxvYlRlc3QoWyB1dGlsLkZpbGVJdGVtKCdmaWxlLWZvci1kcmFnLXRvLXNl
bmQyLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5EYXRhSXRlbSgnYWJjZGUn
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwuRmlsZUl0ZW0oJ2ZpbGUtZm9yLWRyYWct
dG8tc2VuZDIudHh0JykgXSwKKyAgICAgICAgICAgICAgICAgICAgICB7ICdzdGFydCc6IDMzLCAn
bGVuZ3RoJzogOTAgfSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyB1dGlsLkZpbGVJdGVtKCdm
aWxlLWZvci1kcmFnLXRvLXNlbmQyLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgdXRp
bC5GaWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dCcpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgdXRpbC5GaWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQnKSBdLAor
ICAgICAgICAgICAgICAgICAgICAgIHsgJ3N0YXJ0JzogMzMsICdsZW5ndGgnOiA0MiB9KTsKKyAg
ICBydW5IeWJyaWRCbG9iVGVzdChbIHV0aWwuRmlsZUl0ZW0oJ2VtcHR5LnR4dCcpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgdXRpbC5GaWxlSXRlbSgnZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4
dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5GaWxlSXRlbSgnZmlsZS1mb3ItZHJh
Zy10by1zZW5kMi50eHQnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwuRmlsZUl0ZW0o
J2FiZS5wbmcnKSBdLAorICAgICAgICAgICAgICAgICAgICAgIHsgJ3N0YXJ0JzogMjAsICdsZW5n
dGgnOiAzMDAwIH0pOworCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
fQorCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIHV0aWwucnVuVGVzdHMoKTsKK30gZWxzZQorICAgIHRlc3RG
YWlsZWQoIlRoaXMgdGVzdCBpcyBub3QgaW50ZXJhY3RpdmUsIHBsZWFzZSBydW4gdXNpbmcgRHVt
cFJlbmRlclRyZWUiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtZGF0YS1ibG9iLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1kYXRhLWJsb2ItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ3MWY3OWE0M2JjY2M3MjU5OTJlZTM4ODBlMzcxNjhjOWZmODQw
NjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQt
ZGF0YS1ibG9iLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQwIEBACitUZXN0IGZvciBidWlsZGlu
ZyBibG9icyB3aXRoIG11bHRpcGxlIHN0cmluZ3MgY29tYmluZWQgYnkgQmxvYkJ1aWxkZXIgYW5k
IHNlbmRpbmcgdGhlbSB2aWEgWE1MSHR0cFJlcXVlc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCisqIEJsb2JCdWlsZGVyLmFwcGVuZChzdHJpbmcpCitQQVNTIEV4cGVjdGVkIHJl
c3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVj
ZWl2ZWQ6IE9LCitQQVNTICd0eXBlL2ZvbycgaXMgJ3R5cGUvZm9vJworUEFTUyBFeHBlY3RlZCBy
ZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBCbG9iQnVpbGRlci5hcHBlbmQoYmxvYikKK1BB
U1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVz
cG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgJ3R5cGUvYmFyJyBpcyAndHlwZS9iYXInCitQ
QVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCisqIEJsb2JCdWlsZGVyLmFw
cGVuZChzdHJpbmcvYmxvYikKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDog
T0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKKyogQmxvYkJ1aWxk
ZXIuYXBwZW5kKHN0cmluZy9ibG9iKSAtIHdpdGggcmVjeWNsZWQgYmxvYgorUEFTUyBFeHBlY3Rl
ZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBCbG9iQnVpbGRlci5hcHBlbmQoc3RyaW5n
KSAtIHdpdGggbGluZS1lbmRpbmdzCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2
ZWQ6IE9LCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIEV4
cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCisqIEJsb2JCdWlsZGVyLmFwcGVuZChz
dHJpbmcsICJuYXRpdmUiKSAtIHdpdGggbGluZS1lbmRpbmdzCitQQVNTIEV4cGVjdGVkIHJlc3Bv
bnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2
ZWQ6IE9LCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIEV4
cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCisqIEJsb2JCdWlsZGVyLmFwcGVuZChz
dHJpbmcvYmxvYikgLSB3aXRoIEJsb2Iuc2xpY2UoKQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBk
YXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBP
SworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBCbG9iQnVpbGRl
ci5hcHBlbmQoc3RyaW5nL2Jsb2IpIC0gd2l0aCBuZXN0ZWQgQmxvYi5zbGljZSgpCitQQVNTIEV4
cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNl
IGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9z
ZW5kLWRhdGEtYmxvYi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWRh
dGEtYmxvYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiZTBiMzgxYTZmNzZmZmVjOGI4MDViZWQxNjNhOWMx
ZmZhNzAxNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2Fs
L3NlbmQtZGF0YS1ibG9iLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvaHli
cmlkLWJsb2ItdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NlbmQt
ZGF0YS1ibG9iLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWh5YnJpZC1ibG9iLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1oeWJyaWQtYmxv
Yi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTVmODE2YTE5NjUxYTZlYzhhMDYyNTAyNzRhNjQ2
NjA0NjAyNzVkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9j
YWwvc2VuZC1oeWJyaWQtYmxvYi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNCBAQAorCitUZXN0
IGZvciBidWlsZGluZyBibG9icyB3aXRoIG11bHRpcGxlIGZpbGVzIGNvbWJpbmVkIGJ5IEJsb2JC
dWlsZGVyIGFuZCBzZW5kaW5nIHRoZW0gdmlhIFhNTEh0dHBSZXF1ZXN0LiAoVGhpcyB0ZXN0IHJl
cXVpcmVzIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcykKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKKyogQmxvYkJ1aWxkZXIuYXBwZW5kKGZpbGUpIC0gc2luZ2xlIGZpbGUK
K1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQg
cmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSBy
ZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BB
U1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKKyogQmxvYkJ1aWxkZXIuYXBw
ZW5kKGZpbGUpIC0gbXVsdGlwbGUgZmlsZXMKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSBy
ZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BB
U1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVz
cG9uc2UgZGF0YSByZWNlaXZlZDogT0sKKyogQmxvYkJ1aWxkZXIuYXBwZW5kKG1peGVkKQorUEFT
UyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNw
b25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2Vp
dmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBCbG9i
QnVpbGRlci5hcHBlbmQobWl4ZWQpIC0gd2l0aCBCbG9iLnNsaWNlKCkKK1BBU1MgRXhwZWN0ZWQg
cmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSBy
ZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BB
U1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVz
cG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNl
aXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtaHlicmlkLWJsb2IuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1oeWJyaWQtYmxvYi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjI1OWFkMjMxMmZlNGZlN2M0NzMyNGRkYjdkMWQwMjRiNjZjNGFkYzEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtaHlicmlkLWJsb2IuaHRt
bApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9oeWJyaWQtYmxvYi11dGlsLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2VuZC1oeWJyaWQtYmxvYi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvcG9zdC1hbmQtdmVyaWZ5LWh5YnJpZC5jZ2kgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9wb3N0LWFuZC12ZXJpZnktaHlicmlkLmNn
aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zYzk2ZjM1YWMzZDA4YzliYzk1YTdmZTcxNjQxYmU4NGQ3MTg0NjIyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvcG9zdC1h
bmQtdmVyaWZ5LWh5YnJpZC5jZ2kKQEAgLTAsMCArMSw4NCBAQAorIyEvdXNyL2Jpbi9wZXJsIC13
CisKK3ByaW50ICJDb250ZW50LXR5cGU6IHRleHQvcGxhaW5cblxuIjsKKworaWYgKCRFTlZ7J1JF
UVVFU1RfTUVUSE9EJ30gZXEgIlBPU1QiKSB7CisgICAgaWYgKCRFTlZ7J0NPTlRFTlRfTEVOR1RI
J30pIHsKKyAgICAgICAgcmVhZChTVERJTiwgJHBvc3REYXRhLCAkRU5WeydDT05URU5UX0xFTkdU
SCd9KSB8fCBkaWUgIkNvdWxkIG5vdCBnZXQgcG9zdCBkYXRhXG4iOworICAgIH0gZWxzZSB7Cisg
ICAgICAgICRwb3N0RGF0YSA9ICIiOworICAgIH0KKworICAgIEBsaXN0ID0gc3BsaXQoLyYvLCAk
RU5WeydRVUVSWV9TVFJJTkcnfSk7CisgICAgQHZhbHVlczsKKyAgICAkdmFsdWVzeydzdGFydCd9
ID0gMDsKKyAgICAkdmFsdWVzeydsZW5ndGgnfSA9IC0xOworICAgICR2YWx1ZXN7J2NvbnZlcnRf
bmV3bGluZXMnfSA9IDA7CisgICAgZm9yZWFjaCAkZWxlbWVudCAoQGxpc3QpIHsKKyAgICAgICAg
KCRrZXksICR2YWx1ZSkgPSBzcGxpdCgvPS8sICRlbGVtZW50KTsKKyAgICAgICAgJHZhbHVlc3sk
a2V5fSA9ICR2YWx1ZTsKKyAgICB9CisKKyAgICAjICdpdGVtcycgcGFyYW1ldGVyIHdvdWxkIGxv
b2sgbGlrZToKKyAgICAjICAgPGl0ZW1zPiA6PSA8aXRlbT4oJywnPGl0ZW0+KSoKKyAgICAjICAg
IDxpdGVtPiA6PSA8ZmlsZT4gfCA8ZGF0YT4KKyAgICAjICAgIDxmaWxlPiA6PSAiZmlsZSI6PGZp
bGUtcGF0aD4KKyAgICAjICAgIDxkYXRhPiA6PSAiZGF0YSI6PGRhdGEtc3RyaW5nPgorICAgIEBp
dGVtcyA9IHNwbGl0KC8sLywgJHZhbHVlc3snaXRlbXMnfSk7CisgICAgJGV4cGVjdGVkRGF0YSA9
ICIiOworICAgICRyZWFkUG9zID0gJHZhbHVlc3snc3RhcnQnfTsKKyAgICAkcmVtYWluaW5nTGVu
Z3RoID0gJHZhbHVlc3snbGVuZ3RoJ307CisgICAgZm9yZWFjaCAkaXRlbSAoQGl0ZW1zKSB7Cisg
ICAgICAgIG15ICgkdHlwZSwgJGRhdGEpID0gc3BsaXQoLzovLCAkaXRlbSk7CisgICAgICAgIG15
ICRzaXplOworICAgICAgICBpZiAoJHR5cGUgZXEgImRhdGEiKSB7CisgICAgICAgICAgICAkZGF0
YSA9fiBzLyUoW0EtRmEtZjAtOV17Mn0pL3BhY2soJ0MnLCBoZXgoJDEpKS9zZWc7CisgICAgICAg
ICAgICAkc2l6ZSA9IGxlbmd0aCgkZGF0YSk7CisgICAgICAgICAgICBpZiAoJHJlYWRQb3MgPiAw
KSB7CisgICAgICAgICAgICAgICAgaWYgKCRyZWFkUG9zID4gJHNpemUpIHsKKyAgICAgICAgICAg
ICAgICAgICAgJHJlYWRQb3MgLT0gJHNpemU7CisgICAgICAgICAgICAgICAgICAgIG5leHQ7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICRkYXRhID0gc3Vic3RyKCRkYXRhLCAk
cmVhZFBvcyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAkZGF0YSA9IHN1YnN0cigkZGF0
YSwgMCwgJHJlbWFpbmluZ0xlbmd0aCkgaWYgKCRyZW1haW5pbmdMZW5ndGggPiAwKTsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICRwYXRoID0gJGRhdGE7CisgICAgICAgICAgICBvcGVu
KEZJTEUsICRwYXRoKSB8fCBuZXh0OworICAgICAgICAgICAgJHNpemUgPSAtcyAkcGF0aDsKKyAg
ICAgICAgICAgIGlmICgkcmVhZFBvcyA+IDApIHsKKyAgICAgICAgICAgICAgICBpZiAoJHJlYWRQ
b3MgPiAkc2l6ZSkgeworICAgICAgICAgICAgICAgICAgICAkcmVhZFBvcyAtPSAkc2l6ZTsKKyAg
ICAgICAgICAgICAgICAgICAgbmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgc2VlayhGSUxFLCAkcmVhZFBvcywgMCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAoJHJlbWFpbmluZ0xlbmd0aCA+IDApIHsKKyAgICAgICAgICAgICAgICByZWFkKEZJTEUsICRk
YXRhLCAkcmVtYWluaW5nTGVuZ3RoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgbG9jYWwgJC8gPSB1bmRlZjsKKyAgICAgICAgICAgICAgICAkZGF0YSA9IDxGSUxFPjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNsb3NlKEZJTEUpOworICAgICAgICB9CisgICAg
ICAgICRyZWFkUG9zIC09ICRzaXplOworICAgICAgICAkZXhwZWN0ZWREYXRhIC49ICRkYXRhOwor
ICAgICAgICBpZiAoJHJlbWFpbmluZ0xlbmd0aCA+IDApIHsKKyAgICAgICAgICAgICRyZW1haW5p
bmdMZW5ndGggLT0gbGVuZ3RoKCRkYXRhKTsKKyAgICAgICAgICAgIGxhc3QgaWYgJHJlbWFpbmlu
Z0xlbmd0aCA8PSAwOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCR2YWx1ZXN7J2NvbnZl
cnRfbmV3bGluZXMnfSkgeworICAgICAgICAkbmF0aXZlRW5kaW5nID0gKCReTyA9fiAvTVNXaW4v
KSA/ICJcclxuIiA6ICJcbiI7CisgICAgICAgICRwb3N0RGF0YSA9fiBzLyRuYXRpdmVFbmRpbmcv
W05MXS9nOworICAgIH0KKworICAgIGlmICgkcG9zdERhdGEgZXEgJGV4cGVjdGVkRGF0YSkgewor
ICAgICAgICBwcmludCAiT0siOworICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50ICJGQUlMRUQg
IiAuICRwb3N0RGF0YSAuICI8LS0+IiAuICRleHBlY3RlZERhdGE7CisgICAgfQorfSBlbHNlIHsK
KyAgICBwcmludCAiV3JvbmcgbWV0aG9kOiAiIC4gJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSAuICJc
biI7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDgzMGU0ZDhjMzJjNzQxZWQxMTY2
YzA4ZDc3NDFkM2EzYjRhZjk5NWIuLmYwNzViZGIyODE0MDY3MGQxNzI2MWFmYThkMjlkNGI4ZDZk
NDAxZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0zMjg3LDYgKzMyODcsNyBAQCBo
dHRwL3Rlc3RzL2xvYWRpbmcvcmVkaXJlY3Qtd2l0aC1uby1sb2NhdGlvbi1jcmFzaC5odG1sCiBo
dHRwL3Rlc3RzL2xvYWRpbmcvc2xvdy1wYXJzaW5nLXN1YmZyYW1lLmh0bWwKIGh0dHAvdGVzdHMv
bG9hZGluZy90ZXh0LWNvbnRlbnQtdHlwZS13aXRoLWJpbmFyeS1leHRlbnNpb24uaHRtbAogaHR0
cC90ZXN0cy9sb2NhbC9zZW5kLWRyYWdnZWQtZmlsZS5odG1sCitodHRwL3Rlc3RzL2xvY2FsL3Nl
bmQtaHlicmlkLWJsb2IuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kcmFnZ2Vk
LWZpbGUuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS5odG1s
CiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtc2xpY2VkLWZp
bGUuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggNDQ5MzIxNmVmOTYxOWU4ZTRmYzcw
OTgwNThlY2MyYmYxNGJmZThmMS4uOWZkOWM0MDYxNGY5YmIyYWMzYzViZThhZmVkMWFlNGRhNWZj
YzcwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0yMTYsNiArMjE2LDcgQEAgaHR0cC90
ZXN0cy9sb2FkaW5nL3RleHQtY29udGVudC10eXBlLXdpdGgtYmluYXJ5LWV4dGVuc2lvbi5odG1s
CiAjIEZhaWxpbmcgTG9jYWwgdGVzdHMKIGh0dHAvdGVzdHMvbG9jYWwvZHJhZy1vdmVyLXJlbW90
ZS1jb250ZW50Lmh0bWwKIGh0dHAvdGVzdHMvbG9jYWwvc2VuZC1kcmFnZ2VkLWZpbGUuaHRtbAor
aHR0cC90ZXN0cy9sb2NhbC9zZW5kLWh5YnJpZC1ibG9iLmh0bWwKIGh0dHAvdGVzdHMvbG9jYWwv
c2VuZC1zbGljZWQtZHJhZ2dlZC1maWxlLmh0bWwKIGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEv
c2VuZC1mb3JtLWRhdGEuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0t
ZGF0YS13aXRoLXNsaWNlZC1maWxlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXgg
N2ZiOWFhZDg5MzBkY2NmNTBhMGI3NmJjYzM5ZTFmMjI4YTcxOTM5NS4uOTk3ZmQ4OTQ3MzUwYzc5
Y2I5MmEzMmNhYTc3YTljNDU0MjMyZWQxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAg
LTY3OSw2ICs2NzksNyBAQCBmYXN0L2Zvcm1zL2lucHV0LXNlbGVjdGVkb3B0aW9uLmh0bWwKIAog
IyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5Mjg3PgogaHR0cC90
ZXN0cy9sb2NhbC9zZW5kLWRyYWdnZWQtZmlsZS5odG1sCitodHRwL3Rlc3RzL2xvY2FsL3NlbmQt
aHlicmlkLWJsb2IuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kcmFnZ2VkLWZp
bGUuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS5odG1sCiBo
dHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtc2xpY2VkLWZpbGUu
aHRtbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggM2EwOWU2M2MwYThmMDQyNmM0YjZlZTQ5NmFmZTc3ZDgwNmZkMGQ5Yy4u
NzQ1NTkxZWQ1YzA5YWM5ZWMwNTA4ZGM1YjkyOWIyYjgxZTBhYWRhNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xODIs
NiArMTgyLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL1doZWVsRXZlbnQuaWRs
CiAKICAgICBodG1sL0Jsb2IuaWRsCisgICAgaHRtbC9CbG9iQnVpbGRlci5pZGwKICAgICBodG1s
L0RhdGFHcmlkQ29sdW1uLmlkbAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmlkbAogICAg
IGh0bWwvRE9NRm9ybURhdGEuaWRsCkBAIC01NTAsNiArNTUxLDcgQEAgU0VUKFdlYkNvcmVfU09V
UkNFUwogICAgIGJpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9K
YXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQXR0ckN1c3RvbS5jcHAK
KyAgICBiaW5kaW5ncy9qcy9KU0Jsb2JCdWlsZGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTQ2FsbGJhY2tEYXRhLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4
dEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNDAzMjlkYWE1OGNlODIwNmEyNGQyOWJiNTg5MTc2MzU4OWM4YmY2MS4uMzY5
M2MzZDU4Yjc1M2M2N2FhMGY5NjQzMmY2OTVmYjg0ZGY0ZjJiYSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTU2LDYgKzU2LDMxIEBACiAK
IDIwMTAtMDYtMTcgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgogCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBCbG9iQnVpbGRl
ci5pZGwgdG8gZXhwb3NlIEJsb2JCdWlsZGVyIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA1OTMKKworICAgICAgICBUZXN0czogaHR0
cC90ZXN0cy9sb2NhbC9zZW5kLWRhdGEtYmxvYi5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rl
c3RzL2xvY2FsL3NlbmQtaHlicmlkLWJsb2IuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5w
cmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmxvYkJ1aWxkZXJDdXN0b20uY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkpTQmxvYkJ1aWxkZXI6OmFwcGVuZCk6CisgICAgICAgICogaHRt
bC9CbG9iQnVpbGRlci5jcHA6CisgICAgICAgICogaHRtbC9CbG9iQnVpbGRlci5oOgorICAgICAg
ICAqIGh0bWwvQmxvYkJ1aWxkZXIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRv
dy5pZGw6CisKKzIwMTAtMDYtMTcgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3Jn
PgorCiAgICAgICAgIFJldmlld2VkIGJ5IEppYW4gTGkuCiAKICAgICAgICAgRml4IENSTEYgZW5k
aW5nIGNvbnZlcnNpb24gaW4gU3RyaW5nQmxvYkl0ZW0uCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDdhYzNl
NTFmZjcyOWRiM2RjNzc3MDdhYmU3NjgxY2M2MjlkYzEyZWQuLmRlMzkzZDY1MTg0ZGU1MzNlMTRh
MGM5ZmE0YjZjYzYxZDVjM2E1NjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiSlNCYXJJbmZvLmNwcCIKICNpbmNsdWRlICJKU0JlZm9yZUxvYWRFdmVudC5jcHAi
CiAjaW5jbHVkZSAiSlNCbG9iLmNwcCIKKyNpbmNsdWRlICJKU0Jsb2JCdWlsZGVyLmNwcCIKICNp
bmNsdWRlICJKU0NhbnZhc0dyYWRpZW50LmNwcCIKICNpbmNsdWRlICJKU0NhbnZhc1BhdHRlcm4u
Y3BwIgogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAiCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggN2VjOTE1ZjJmMzZiMWFiMjUxNTUzZTBlZjBjMjRlNTA5NTBkYWJjZi4uNTRhZGE1
NmVhYWEwMWNmZmYwMmM2MzcxODE0MzVkZTA2Y2ExNWMyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
NTQsNiArNTQsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBCYXJJbmZvIFwKICAgICBCZWZvcmVM
b2FkRXZlbnQgXAogICAgIEJsb2IgXAorICAgIEJsb2JCdWlsZGVyIFwKICAgICBDREFUQVNlY3Rp
b24gXAogICAgIENTU0NoYXJzZXRSdWxlIFwKICAgICBDU1NGb250RmFjZVJ1bGUgXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5k
ZXggNDlhMWM4YjU5OWQ0NjIxMWU3ZWEzZTgzZTdkMWQ3NWJiYTBiNGYyOS4uYzU0ODkxOGQ4NGM3
ZjYyMjdkNDRiOGZkYWI1YTM4ZjM0ZGE2NDU4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xODAsNiArMTgwLDcgQEAg
SURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRs
IFwKIAlXZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0Jsb2IuaWRs
IFwKKwlXZWJDb3JlL2h0bWwvQmxvYkJ1aWxkZXIuaWRsIFwKIAlXZWJDb3JlL2h0bWwvY2FudmFz
L0FycmF5QnVmZmVyVmlldy5pZGwgXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIu
aWRsIFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5pZGwgXApAQCAtMzkxLDYgKzM5
Miw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRy
b2xsZXIuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oIFwKIAlXZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQXR0ckN1c3RvbS5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvanMv
SlNCbG9iQnVpbGRlckN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNDREFUQVNl
Y3Rpb25DdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGF0YUdyaWRDb2x1bW5M
aXN0Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNvdXJj
ZS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29y
ZS5wcmkKaW5kZXggMjVjOTVmZmNiZTY0NzY2OTQwMmNhNTFjNzgyN2E3ZjgyOGE5YTk3NS4uYjRl
MzUwNzc4M2Q2M2VmM2JhNTFmYWY5ZWRmMjcxMDQ5OGI1NGFlNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0zMTksNiArMzE5LDcg
QEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmlkbCBc
CiAgICAgZG9tL1doZWVsRXZlbnQuaWRsIFwKICAgICBodG1sL0Jsb2IuaWRsIFwKKyAgICBodG1s
L0Jsb2JCdWlsZGVyLmlkbCBcCiAgICAgaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3LmlkbCBc
CiAgICAgaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsIFwKICAgICBodG1sL2NhbnZhcy9JbnQ4
QXJyYXkuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dl
YkNvcmUucHJvCmluZGV4IDA2ZGE5YTIwNjVlOWEzMmU2ZDY2NDliYzVjYmEwMzNhNDRjYjA1NGMu
LjdmZWI4NzE0ZmZkMzNjMmYzMWM0YzBhMjQwY2ZlZjU2NTdkNTY3ZWUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjcxLDYgKzI3
MSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGJpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAg
XAogICAgIGJpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmNwcCBcCiAgICAgYmluZGluZ3MvanMv
SlNBdHRyQ3VzdG9tLmNwcCBcCisgICAgYmluZGluZ3MvanMvSlNCbG9iQnVpbGRlckN1c3RvbS5j
cHAgXAogICAgIGJpbmRpbmdzL2pzL0pTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNwcCBcCiAgICAgYmlu
ZGluZ3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBcCiAgICAgYmluZGlu
Z3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDEwODg5NWVhZGZjZDU4MzkxMzc4OGNiNzEzOWVh
ZTMyZTRmM2E3NDUuLjNlZjM3MTk4MjBlZWNmOGJmZmM5MWE1MzUxZWI1ZDk3YjM3M2Q3NjkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzc3LDYgKzc3NywxNCBAQAog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQmxvYkJ1aWxk
ZXIuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U0Jsb2JCdWlsZGVyLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVs
YXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTQ2FudmFzR3JhZGllbnQuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KQEAgLTM3OTA0LDYgKzM3OTEyLDEwIEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJ
CQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0Jsb2JCdWlsZGVy
Q3VzdG9tLmNwcCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0NhbGxiYWNrRGF0YS5jcHAiDQogCQkJCQk+DQog
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGM2NDI3N2QzNTNlOTdmNDM1Y2VlZGUzYTY2NDExNzcxZjYyYWEzOTQu
LmQzYWMxODcxYWRiMThhYzdlMzJhMzRlN2MzMjlkMjJjMTlhNGVkOTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMjY4LDYgKzIyNjgsOSBAQAogCQk4
OTg4RTEwRjExQTM1MDhCMDBEQjczMkUgLyogQmxvYkl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODhFMTBEMTFBMzUwOEIwMERCNzMyRSAvKiBC
bG9iSXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTg5QkVENUVCMTFCRTExQ0UwMDQ0ODQ5MiAvKiBCbG9iQnVpbGRlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OUJFRDVFOTExQkUxMUNFMDA0
NDg0OTIgLyogQmxvYkJ1aWxkZXIuY3BwICovOyB9OwogCQk4OUJFRDVFQzExQkUxMUNFMDA0NDg0
OTIgLyogQmxvYkJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg5QkVENUVBMTFCRTExQ0UwMDQ0ODQ5MiAvKiBCbG9iQnVpbGRlci5oICovOyB9
OworCQk4OUNEMDI5MzExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OUNEMDI5MTExQzg1Qjg3
MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5jcHAgKi87IH07CisJCTg5Q0QwMjk0MTFDODVCODcw
MDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRl
ci5oICovOyB9OworCQk4OUNEMDNCRjExQzg2NUUzMDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlckN1
c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
OUNEMDNCRTExQzg2NUUzMDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlckN1c3RvbS5jcHAgKi87IH07
CiAJCThGQUM3NzREMTE5ODcyQ0IwMDE1QUU5NCAvKiBKU01haW5UaHJlYWRFeGVjU3RhdGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEY5MzREODQx
MTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgKi87IH07CiAJCTkz
MDJCMEJEMEQ3OUY4MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwMkIwQkMwRDc5RjgyOTAwQzdFRTgzIC8q
IFBhZ2VHcm91cC5jcHAgKi87IH07CiAJCTkzMDJCMEJGMEQ3OUY4MkMwMEM3RUU4MyAvKiBQYWdl
R3JvdXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
MDJCMEJFMEQ3OUY4MkMwMEM3RUU4MyAvKiBQYWdlR3JvdXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzg2OSw2ICs3ODcyLDEwIEBACiAJCTg5
ODhFMTBEMTFBMzUwOEIwMERCNzMyRSAvKiBCbG9iSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBCbG9iSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
OUJFRDVFOTExQkUxMUNFMDA0NDg0OTIgLyogQmxvYkJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmxvYkJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4OUJFRDVFQTExQkUxMUNFMDA0NDg0OTIgLyogQmxvYkJ1aWxkZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmxvYkJ1aWxkZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODlDRDAyNzkxMUM4NTlBODAwNzBCNzkxIC8qIEJsb2JCdWls
ZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBCbG9iQnVpbGRlci5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JC
dWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQmxvYkJ1
aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OUNEMDI5MjExQzg1Qjg3
MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0Jsb2JCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5Q0Qw
M0JFMTFDODY1RTMwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQmxvYkJ1aWxkZXJDdXN0b20uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4RjkzNEQ4MzExODlGMUVFMDA1MDhENUQgLyogSlNN
YWluVGhyZWFkRXhlY1N0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
TWFpblRocmVhZEV4ZWNTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4Rjkz
NEQ4NDExODlGMUVFMDA1MDhENUQgLyogSlNNYWluVGhyZWFkRXhlY1N0YXRlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDJCMEJDMEQ3OUY4MjkwMEM3RUU4MyAv
KiBQYWdlR3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFn
ZUdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzgyLDYgKzEzMzg5
LDcgQEAKIAkJCQkyRUFGQUYwRDEwRTJBRjJEMDA3RUQzRDYgLyogQmxvYi5pZGwgKi8sCiAJCQkJ
ODlCRUQ1RTkxMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmNwcCAqLywKIAkJCQk4OUJF
RDVFQTExQkUxMUNFMDA0NDg0OTIgLyogQmxvYkJ1aWxkZXIuaCAqLywKKwkJCQk4OUNEMDI3OTEx
Qzg1OUE4MDA3MEI3OTEgLyogQmxvYkJ1aWxkZXIuaWRsICovLAogCQkJCTkzQzQ0MUVEMEY4MTNB
MUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuY3BwICovLAogCQkJCTkzQzQ0MUVFMEY4MTNB
MUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuaCAqLywKIAkJCQk5M0M0NDFGRjBGODEzQUUx
MDBDMUE2MzQgLyogQ29sbGVjdGlvblR5cGUuaCAqLywKQEAgLTEzNzY1LDYgKzEzNzczLDggQEAK
IAkJCQk0OUVFQ0YxQTEwNTA3MkYzMDAwOTlGQUIgLyogSlNBcnJheUJ1ZmZlclZpZXcuaCAqLywK
IAkJCQkyRTJEOTlDQjEwRTJCQkRBMDA0OTYzMzcgLyogSlNCbG9iLmNwcCAqLywKIAkJCQkyRTJE
OTlDQzEwRTJCQkRBMDA0OTYzMzcgLyogSlNCbG9iLmggKi8sCisJCQkJODlDRDAyOTExMUM4NUI4
NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuY3BwICovLAorCQkJCTg5Q0QwMjkyMTFDODVCODcw
MDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggKi8sCiAJCQkJNjVERjMyMzMwOUQxREU2NTAwMEJF
MzI1IC8qIEpTQ2FudmFzR3JhZGllbnQuY3BwICovLAogCQkJCTY1REYzMjM0MDlEMURFNjUwMDBC
RTMyNSAvKiBKU0NhbnZhc0dyYWRpZW50LmggKi8sCiAJCQkJNjVERjMyMzUwOUQxREU2NTAwMEJF
MzI1IC8qIEpTQ2FudmFzUGF0dGVybi5jcHAgKi8sCkBAIC0xNTQ2Miw2ICsxNTQ3Miw3IEBACiAJ
CQkJNDkyMjczQTIxMDgzQjNCMTAwRUU1Qzg0IC8qIEpTQXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmNw
cCAqLywKIAkJCQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdI
ZWxwZXIuaCAqLywKIAkJCQlCQzJFRDZCQjBDNkJEMkYwMDA5MjBCRkYgLyogSlNBdHRyQ3VzdG9t
LmNwcCAqLywKKwkJCQk4OUNEMDNCRTExQzg2NUUzMDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlckN1
c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUQxNEIxMDUxOTcxOTAwMDk5RkFCIC8qIEpTQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCAqLywKIAkJCQk0OUVFRDE0RDEwNTE5NzFBMDAwOTlG
QUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCAqLywKIAkJCQk5M0JBNTlC
MTBGMkFBNUZFMDA4RThFOTkgLyogSlNDREFUQVNlY3Rpb25DdXN0b20uY3BwICovLApAQCAtMTk0
MjUsNiArMTk0MzYsNyBAQAogCQkJCTgxNkM4MEFGMTFCRTk5MEQwMDlBNDVFOSAvKiBKU0lEQktl
eVJhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwODUzRDczNDExQzkxMDkwMDBCMkZENDIgLyog
U1ZHVGV4dFF1ZXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUZGQkYzRjExQzkzRUUzMDA2QTcx
MTggLyogV2ViR0xMYXllci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODlDRDAyOTQxMUM4NUI4NzAw
NzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjE3MzIsNiArMjE3
NDQsOCBAQAogCQkJCTA4NTNENzMyMTFDOTEwOTAwMEIyRkQ0MiAvKiBTVkdUZXh0Q2h1bmtMYXlv
dXRJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA4NTNENzMzMTFDOTEwOTAwMEIyRkQ0MiAv
KiBTVkdUZXh0UXVlcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlGRkJGNDAxMUM5M0VFMzAw
NkE3MTE4IC8qIFdlYkdMTGF5ZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQk4OUNEMDI5MzExQzg1
Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OUNE
MDNCRjExQzg2NUUzMDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlckN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCbG9iQnVpbGRlckN1c3Rv
bS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmxvYkJ1aWxkZXJDdXN0b20uY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE2Mjc0N2U4ODFjN2I5OWZjZTI1MTM4ZWFhNTdkNzhjYzgwYjMxYTYKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmxvYkJ1aWxkZXJDdXN0b20uY3BwCkBA
IC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJKU0Jsb2JCdWls
ZGVyLmgiCisKKyNpbmNsdWRlICJCbG9iLmgiCisjaW5jbHVkZSAiQmxvYkJ1aWxkZXIuaCIKKyNp
bmNsdWRlICJKU0Jsb2IuaCIKKyNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CisKK3VzaW5nIG5h
bWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNWYWx1ZSBKU0Jsb2JCdWls
ZGVyOjphcHBlbmQoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGlmIChleGVjLT5hcmd1bWVudENv
dW50KCkgPj0gMSkgeworICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZXhlYy0+YXJndW1lbnQoMCk7
CisgICAgICAgIGlmICh2YWx1ZS5pbmhlcml0cygmSlNCbG9iOjpzX2luZm8pKQorICAgICAgICAg
ICAgaW1wbCgpLT5hcHBlbmRCbG9iKHRvQmxvYih2YWx1ZSkpOworICAgICAgICBlbHNlIHsKKyAg
ICAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICAgICAgU3RyaW5nIGVuZGlu
Z3MgPSAiIjsKKyAgICAgICAgICAgIGlmICghZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQo
KSkKKyAgICAgICAgICAgICAgICBlbmRpbmdzID0gdXN0cmluZ1RvU3RyaW5nKGV4ZWMtPmFyZ3Vt
ZW50KDEpLnRvU3RyaW5nKGV4ZWMpKTsKKyAgICAgICAgICAgIGltcGwoKS0+YXBwZW5kU3RyaW5n
KHVzdHJpbmdUb1N0cmluZyh2YWx1ZS50b1N0cmluZyhleGVjKSksIGVuZGluZ3MsIGVjKTsKKyAg
ICAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0Jsb2JCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9C
bG9iQnVpbGRlci5jcHAKaW5kZXggMDU5OWY0ODY5YzJmNmZhNDYwMjlkMjc5OGY5Nzg2NWZjYzk2
YTY2ZS4uNjIyYjNhNjAyNjc0ODkwY2UyZTdmYzRmY2QyN2Y0ZjcwN2VmOTlkNyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0Jsb2JCdWlsZGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvQmxvYkJ1
aWxkZXIuY3BwCkBAIC0zMCw4ICszMCw2IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lm
IEVOQUJMRShGSUxFX1dSSVRFUikKLQogI2luY2x1ZGUgIkJsb2JCdWlsZGVyLmgiCiAKICNpbmNs
dWRlICJBdG9taWNTdHJpbmcuaCIKQEAgLTg1LDUgKzgzLDMgQEAgUGFzc1JlZlB0cjxCbG9iPiBC
bG9iQnVpbGRlcjo6Z2V0QmxvYihjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBjb25zdAogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoRklMRV9XUklURVIp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmxvYkJ1aWxkZXIuaCBiL1dlYkNvcmUvaHRtbC9C
bG9iQnVpbGRlci5oCmluZGV4IDBkNDM0YTMwNDFlMmZkMzBjYTUxNWU0OTgyYjU3MzJmZjkzNWY0
OGYuLmY2M2Y1YmUyNzIxNjAyZDQ3ZTc1NDlmMWNlYzBmZWVkZjhmOTk0MTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9CbG9iQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9CbG9iQnVpbGRl
ci5oCkBAIC0zMSw4ICszMSw2IEBACiAjaWZuZGVmIEJsb2JCdWlsZGVyX2gKICNkZWZpbmUgQmxv
YkJ1aWxkZXJfaAogCi0jaWYgRU5BQkxFKEZJTEVfV1JJVEVSKQotCiAjaW5jbHVkZSAiQmxvYkl0
ZW0uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CkBAIC01OCw3ICs1Niw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAotCi0jZW5kaWYgLy8gRU5BQkxFKEZJTEVfV1JJVEVSKQotCiAjZW5kaWYgLy8gQmxvYkJ1
aWxkZXJfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0Jsb2JCdWlsZGVyLmlkbCBiL1dlYkNv
cmUvaHRtbC9CbG9iQnVpbGRlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzMwNDEyNGI5NWQxMmY1NTQ0OGQ5
YmQ0YWU2NjRiNzE3ZDJkYTM2YQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9CbG9i
QnVpbGRlci5pZGwKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBodG1sIHsKKyAgICBpbnRlcmZhY2Ug
WworICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAorICAgICAgICBOb1N0YXRpY1RhYmxlcworICAg
IF0gQmxvYkJ1aWxkZXIgeworICAgICAgICBCbG9iIGdldEJsb2IoaW4gW0NvbnZlcnRVbmRlZmlu
ZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBjb250ZW50VHlwZSk7CisgICAgICAgIFtD
dXN0b21dIHZvaWQgYXBwZW5kKC8qIG92ZXJsb2FkZWQgKi8pOworICAgIH07CisKK30KKwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAppbmRleCA3OTFlY2IxZmIwNDdhZjQ0M2VkMjY2NjNjNGY1MzViNGEyMDljZDJiLi5l
YTJlMGFiNzg1YzViZTRkODE2NTE4YThjMjEzZjA4MWE3MWE2NzM4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApA
QCAtNzM2LDYgKzczNiw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPUZJTEVfUkVBREVSfEZJTEVfV1JJVEVSXSBGaWxlRXJyb3JDb25zdHJ1Y3RvciBG
aWxlRXJyb3I7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9RklMRV9SRUFERVJdIEZp
bGVSZWFkZXJDb25zdHJ1Y3RvciBGaWxlUmVhZGVyOwogCisgICAgICAgIGF0dHJpYnV0ZSBCbG9i
QnVpbGRlckNvbnN0cnVjdG9yIEJsb2JCdWlsZGVyOworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5H
VUFHRV9KQVZBU0NSSVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5H
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59172</attachid>
            <date>2010-06-18 17:42:09 -0700</date>
            <delta_ts>2010-06-18 20:39:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40593-20100618174208.patch</filename>
            <type>text/plain</type>
            <size>68338</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0OTY2NGM1M2JhOWFmNDMxZDAxNjE2NDEwY2Q4NzE5OGM3N2Q2ZDY0Li4wYjQ3MmQx
ZWNiYWY4MTY0Mzc0ZGM5ZThjZWI5OWIzZGY2Mzk5MjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAK
KzIwMTAtMDYtMTcgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBCbG9iQnVpbGRl
ci5pZGwgdG8gZXhwb3NlIEJsb2JCdWlsZGVyIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA1OTMKKworICAgICAgICBBZGQgbmV3IGxh
eW91dCB0ZXN0cyB0byB0ZXN0IEJsb2JCdWlsZGVyIGludGVyZmFjZS4KKyAgICAgICAgQWxzbyB1
cGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgYWZmZWN0ZWQgYnkgYWRkaW5nIHRoZSBjb25zdHJ1Y3Rv
cnMgdG8gRE9NV2luZG93LgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jb25z
dHJ1Y3RlZC1vYmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
anMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9sb2NhbC9yZXNvdXJjZXMvZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL2h5YnJpZC1ibG9iLXV0aWwuanM6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtZGF0YS1ibG9i
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWh5
YnJpZC1ibG9iLmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNl
cy9zZW5kLXNsaWNlZC1kYXRhLWJsb2IuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
bG9jYWwvc2VuZC1kYXRhLWJsb2ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvY2FsL3NlbmQtZGF0YS1ibG9iLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbG9jYWwvc2VuZC1oeWJyaWQtYmxvYi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbG9jYWwvc2VuZC1oeWJyaWQtYmxvYi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2xvY2FsL3NlbmQtc2xpY2UtZGF0YS1ibG9iLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlLWRhdGEtYmxvYi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy9wb3N0LWFuZC12ZXJp
ZnktaHlicmlkLmNnaTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9k
b20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvU2tpcHBlZDogQWRkZWQgc2VuZC1oeWJyaWQtYmxvYi5odG1sIGFuZCBzZW5kLXNsaWNl
ZC1kYXRhLWJsb2IuaHRtbCBiZWNhdXNlIHRoZXkgbmVlZCBldmVudFNlbmRlci5iZWdpbkRyYWdX
aXRoRmlsZXMgQmxvYi5zbGljZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5j
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDogQWRkZWQgc2Vu
ZC1oeWJyaWQtYmxvYi5odG1sIGFuZCBzZW5kLXNsaWNlZC1kYXRhLWJsb2IuaHRtbCBiZWNhdXNl
IHRoZXkgbmVlZCBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMgQmxvYi5zbGljZS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0
L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vd2luL1NraXBwZWQ6IEFkZGVkIHNlbmQtaHlicmlkLWJsb2IuaHRtbCBhbmQgc2Vu
ZC1zbGljZWQtZGF0YS1ibG9iLmh0bWwgYmVjYXVzZSB0aGV5IG5lZWQgZXZlbnRTZW5kZXIuYmVn
aW5EcmFnV2l0aEZpbGVzIEJsb2Iuc2xpY2UuCisgICAgICAgICogcGxhdGZvcm0vd2luL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQ6CisKIDIwMTAtMDYtMTggIEFiaGlzaGVrIEFyeWEgIDxpbmZl
cm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1leHBlY3RlZC50eHQKaW5kZXggYTc2YjgwMTgxMzQ0OTlhMDZjMzZhOTIyZDdiOTBmOTA2ZTEx
MmUzYS4uMDIzYjA0YTA2NTJkYTUzNmFhYzRmNDFhNDIzYzRkNmZhMzNlMjVkMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0CkBAIC0xNTAsNiArMTUwLDEwIEBAIHdpbmRvdy5CZWZvcmVMb2FkRXZlbnQu
cHJvdG90eXBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiBbZnVuY3Rpb25dCiB3aW5kb3cuQmVm
b3JlTG9hZEV2ZW50LnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQogd2luZG93
LkJsb2IgW29iamVjdCBCbG9iQ29uc3RydWN0b3JdCiB3aW5kb3cuQmxvYi5wcm90b3R5cGUgW29i
amVjdCBCbG9iUHJvdG90eXBlXQord2luZG93LkJsb2JCdWlsZGVyIFtvYmplY3QgQmxvYkJ1aWxk
ZXJDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUgW29iamVjdCBCbG9i
QnVpbGRlclByb3RvdHlwZV0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuYXBwZW5kIFtm
dW5jdGlvbl0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuZ2V0QmxvYiBbZnVuY3Rpb25d
CiB3aW5kb3cuQ0RBVEFTZWN0aW9uIFtvYmplY3QgQ0RBVEFTZWN0aW9uQ29uc3RydWN0b3JdCiB3
aW5kb3cuQ0RBVEFTZWN0aW9uLnByb3RvdHlwZSBbb2JqZWN0IENEQVRBU2VjdGlvblByb3RvdHlw
ZV0KIHdpbmRvdy5DREFUQVNlY3Rpb24ucHJvdG90eXBlLkFUVFJJQlVURV9OT0RFIFtudW1iZXJd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5
LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4IGQ0ZDM0YzIzYmVi
YWJjN2Y1YTFlYWMxMTc1ZmQyZjMyY2Q5MGQ3Y2IuLmVmYzg3ZTY5MWFjOTYxNmYxYTA3YmE4Njhm
NmFkYTMzYjIxNDEyOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0
CkBAIC04LDYgKzgsNyBAQCBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgJ0F0dHInKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdBdWRpbycpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0JlZm9yZUxvYWRF
dmVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ0Jsb2InKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdCbG9iQnVpbGRlcicpIGlzICdvYmplY3Qn
CiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jv
b2xlYW4nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcih3aW5kb3csICdDREFUQVNlY3Rpb24nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdDU1NDaGFyc2V0UnVsZScp
IGlzICdvYmplY3QnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb25zdHJ1Y3Rl
ZC1vYmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
Y29uc3RydWN0ZWQtb2JqZWN0cy1wcm90b3R5cGVzLWV4cGVjdGVkLnR4dAppbmRleCA4NjlhZTE2
MTg0MWIxZmU1OTQyOWMzYTgyODI0MzM0MmY1ZjBlODJiLi4yN2YwZmI4ODk1ZWIwMDI1NTgxZjc2
NGNmOTM2NzljNTFlNGY5YmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb25z
dHJ1Y3RlZC1vYmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL2NvbnN0cnVjdGVkLW9iamVjdHMtcHJvdG90eXBlcy1leHBlY3RlZC50eHQKQEAg
LTUsNiArNSw4IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgKG5ldyBpbm5lci5B
dWRpbygpKS5pc0lubmVyIGlzIHRydWUKIFBBU1MgKG5ldyBpbm5lci5BdWRpbygpKS5jb25zdHJ1
Y3Rvci5pc0lubmVyIGlzIHRydWUKK1BBU1MgKG5ldyBpbm5lci5CbG9iQnVpbGRlcigpKS5pc0lu
bmVyIGlzIHRydWUKK1BBU1MgKG5ldyBpbm5lci5CbG9iQnVpbGRlcigpKS5jb25zdHJ1Y3Rvci5p
c0lubmVyIGlzIHRydWUKIFBBU1MgKG5ldyBpbm5lci5ET01QYXJzZXIoKSkuaXNJbm5lciBpcyB0
cnVlCiBQQVNTIChuZXcgaW5uZXIuRE9NUGFyc2VyKCkpLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMg
dHJ1ZQogUEFTUyAobmV3IGlubmVyLkZvcm1EYXRhKCkpLmlzSW5uZXIgaXMgdHJ1ZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhw
ZWN0ZWQudHh0CmluZGV4IDQxYTc4Y2RkMWRiODAzMmJlM2Q5NmRhNTNkMmE3ODIyOGRmOTk3NzIu
LjIwMWVkOTU4YjI3ODgzNGU1YTY4NmZmNWViZjAxMzc1ZDcxMmMyNGUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3Rl
ZC50eHQKQEAgLTIwOCw2ICsyMDgsNyBAQCBQQVNTIFdlYktpdENTU0tleWZyYW1lc1J1bGUgZnJv
bSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZQogUEFTUyBX
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjYuY29uc3RydWN0b3IKIFBB
U1MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNi5fX3Byb3RvX18KIE5l
dmVyIGZvdW5kIEF1ZGlvCitOZXZlciBmb3VuZCBCbG9iQnVpbGRlcgogTmV2ZXIgZm91bmQgQmxv
YgogTmV2ZXIgZm91bmQgQ0RBVEFTZWN0aW9uCiBOZXZlciBmb3VuZCBDU1NSdWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVk
LnR4dAppbmRleCAzMjQ1YjNlN2VmYjEwZDYwOTBjNDcwZTc1NTMzZjdlM2I2OTlkMjlmLi41ZTAx
YWFkZjYxMDc4NWNkYTc1MTEyYTE2MWNjN2NjZTYwODk4ZDMyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAg
LTExLDYgKzExLDggQEAgUEFTUyBpbm5lci5CZWZvcmVMb2FkRXZlbnQuaXNJbm5lciBpcyB0cnVl
CiBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUK
IFBBU1MgaW5uZXIuQmxvYi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5jb25zdHJ1
Y3Rvci5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuaXNJbm5lciBpcyB0
cnVlCitQQVNTIGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQog
UEFTUyBpbm5lci5DREFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkNEQVRB
U2VjdGlvbi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQ1NTQ2hhcnNl
dFJ1bGUuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9i
YWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA0MDA3OTdkOTA5NzJmOTA1NWE0NjM3
NGY5ZTdjNTFjMzkyYTc4ZDhiLi5iYzlmNjdmMWExYzg5YjE1YmNhMjEwYjhlNDM3Mzc3Njg4MjIy
NGQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQKQEAgLTcsNiArNyw3IEBAIFBBU1MgQXR0ci50b1N0cmluZygpIGlzICdb
b2JqZWN0IEF0dHJDb25zdHJ1Y3Rvcl0nCiBQQVNTIEF1ZGlvLnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgQXVkaW9Db25zdHJ1Y3Rvcl0nCiBQQVNTIEJlZm9yZUxvYWRFdmVudC50b1N0cmluZygpIGlz
ICdbb2JqZWN0IEJlZm9yZUxvYWRFdmVudENvbnN0cnVjdG9yXScKIFBBU1MgQmxvYi50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IEJsb2JDb25zdHJ1Y3Rvcl0nCitQQVNTIEJsb2JCdWlsZGVyLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgQmxvYkJ1aWxkZXJDb25zdHJ1Y3Rvcl0nCiBQQVNTIENEQVRBU2Vj
dGlvbi50b1N0cmluZygpIGlzICdbb2JqZWN0IENEQVRBU2VjdGlvbkNvbnN0cnVjdG9yXScKIFBB
U1MgQ1NTQ2hhcnNldFJ1bGUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NDaGFyc2V0UnVsZUNv
bnN0cnVjdG9yXScKIFBBU1MgQ1NTRm9udEZhY2VSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3Qg
Q1NTRm9udEZhY2VSdWxlQ29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMvZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9maWxlLWZvci1kcmFnLXRvLXNlbmQy
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MmQwMDdiNmVkYjVjZWE2ZDVjMjQzYzgyYzdiZTI0NmRmZDhjNjMx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJj
ZXMvZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQKQEAgLTAsMCArMSBAQAorQUJDREVGR0hJSktM
TU5PUFFSU1RVVldYWVoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwv
cmVzb3VyY2VzL2h5YnJpZC1ibG9iLXV0aWwuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
Y2FsL3Jlc291cmNlcy9oeWJyaWQtYmxvYi11dGlsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjZTIwZmVmNDU5
OWNjYzk4ODljNGFjYWM4NzBjNTlhMDlmNWU0NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9oeWJyaWQtYmxvYi11dGlsLmpzCkBAIC0w
LDAgKzEsMTQ2IEBACit2YXIgSHlicmlkQmxvYlRlc3RVdGlsID0gZnVuY3Rpb24odGVzdEZ1bmMs
IG9wdF9maWxlUGF0aHMpIHsKKyAgICB0aGlzLnRlc3RDYWxsYmFja0Z1bmMgPSB0ZXN0RnVuYzsK
KworICAgIHRoaXMudGVzdEZpbGVQYXRocyA9IG9wdF9maWxlUGF0aHM7CisgICAgdGhpcy50ZXN0
RmlsZXMgPSBbXTsKKyAgICB0aGlzLnRlc3RGaWxlTWFwID0ge307CisgICAgdGhpcy5maWxlSW5w
dXQgPSBudWxsOworCisgICAgdGhpcy5kcmFnQmFzZURpciA9ICIiOworICAgIHRoaXMudXJsUGF0
aEJhc2VEaXIgPSAiIjsKKworICAgIHRoaXMudGVzdFVybCA9ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcmVzb3VyY2VzL3Bvc3QtYW5kLXZlcmlmeS1oeWJyaWQuY2dpIjsKKworICAgIHRoaXMudXBs
b2FkQmxvYiA9IGZ1bmN0aW9uKGJsb2IsIHVybFBhcmFtZXRlcikKKyAgICB7CisgICAgICAgIHZh
ciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgeGhyLm9wZW4oIlBPU1QiLCB0
aGlzLnRlc3RVcmwgKyAiPyIgKyB1cmxQYXJhbWV0ZXIsIGZhbHNlKTsKKworICAgICAgICB2YXIg
cGFzc2VkOworICAgICAgICB2YXIgbWVzc2FnZTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IHhoci5zZW5kKGJsb2IpOworICAgICAgICAgICAgaWYgKHhoci5yZXNwb25zZVRleHQgPT0gIk9L
IikgeworICAgICAgICAgICAgICAgIHBhc3NlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgbWVz
c2FnZSA9ICJFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiAiICsgeGhyLnJlc3BvbnNl
VGV4dDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcGFzc2VkID0gZmFs
c2U7CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJVbmV4cGVjdGVkIHJlc3BvbnNlIGRhdGEg
cmVjZWl2ZWQ6ICIgKyB4aHIucmVzcG9uc2VUZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9
IGNhdGNoIChleCkgeworICAgICAgICAgICAgcGFzc2VkID0gZmFsc2U7CisgICAgICAgICAgICBt
ZXNzYWdlID0gIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHRocm93bjogIiArIGV4OworICAgICAgICB9
CisKKyAgICAgICAgaWYgKHBhc3NlZCkKKyAgICAgICAgICAgIHRlc3RQYXNzZWQobWVzc2FnZSk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RGYWlsZWQobWVzc2FnZSArICcgcGFyYW1z
OicgKyB1cmxQYXJhbWV0ZXIpOworICAgIH07CisKKyAgICB0aGlzLm9uSW5wdXRGaWxlQ2hhbmdl
ID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIGZpbGVzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImZpbGUiKS5maWxlczsKKyAgICAgICAgdGhpcy50ZXN0RmlsZXMgPSBuZXcgQXJy
YXkoKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykgewor
ICAgICAgICAgICAgdGhpcy50ZXN0RmlsZXMucHVzaChmaWxlc1tpXSk7CisgICAgICAgICAgICB0
aGlzLnRlc3RGaWxlTWFwW3Rlc3RGaWxlUGF0aHNbaV1dID0gZmlsZXNbaV07CisgICAgICAgIH0K
KyAgICAgICAgdGhpcy50ZXN0Q2FsbGJhY2tGdW5jKCk7CisgICAgfTsKKworICAgIHRoaXMucnVu
VGVzdHNXaXRoRHJhZyA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuZmlsZUlucHV0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKKyAgICAgICAgdGhpcy5maWxlSW5w
dXQuaWQgPSAiZmlsZSI7CisgICAgICAgIHRoaXMuZmlsZUlucHV0LnR5cGUgPSAiZmlsZSI7Cisg
ICAgICAgIHRoaXMuZmlsZUlucHV0LnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgICAgICAgdGhp
cy5maWxlSW5wdXQuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgICAgICAgdGhpcy5maWxlSW5w
dXQubXVsdGlwbGUgPSB0cnVlOworICAgICAgICB2YXIgb2JqID0gdGhpczsKKyAgICAgICAgdGhp
cy5maWxlSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgZnVuY3Rpb24oKSB7IG9iai5v
bklucHV0RmlsZUNoYW5nZSgpIH0sIGZhbHNlKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNl
cnRCZWZvcmUodGhpcy5maWxlSW5wdXQsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7CisKKyAg
ICAgICAgaWYgKHRoaXMuZHJhZ0Jhc2VEaXIpIHsKKyAgICAgICAgICAgIHZhciBmaWxlUGF0aHMg
PSBbXTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy50ZXN0RmlsZVBhdGhz
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgZmlsZVBhdGhzLnB1c2godGhpcy5kcmFn
QmFzZURpciArIHRoaXMudGVzdEZpbGVQYXRoc1tpXSk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICB0aGlzLnRlc3RGaWxlUGF0aHMgPSBmaWxlUGF0aHM7CisgICAgICAgIH0KKworICAgICAg
ICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXModGhpcy50ZXN0RmlsZVBhdGhzKTsKKyAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAsIDEwKTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VVcCgpOworICAgIH07CisKKyAgICB0aGlzLnJ1blRlc3RzID0gZnVuY3Rpb24oKSB7
CisgICAgICAgIGlmICghdGhpcy50ZXN0Q2FsbGJhY2tGdW5jKQorICAgICAgICAgICAgdGVzdEZh
aWxlZCgiVGVzdCBib2R5IGZ1bmN0aW9uIGlzIG5vdCBpbml0aWFsaXplZC4iKTsKKyAgICAgICAg
ZWxzZSBpZiAodGhpcy50ZXN0RmlsZVBhdGhzKQorICAgICAgICAgICAgdGhpcy5ydW5UZXN0c1dp
dGhEcmFnKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMudGVzdENhbGxiYWNrRnVu
YygpOworICAgIH07CisKKyAgICB0aGlzLkZpbGVJdGVtID0gZnVuY3Rpb24ocGF0aCkKKyAgICB7
CisgICAgICAgIHZhciBpdGVtID0gbmV3IE9iamVjdCgpOworICAgICAgICBpdGVtLnR5cGUgPSAn
ZmlsZSc7CisgICAgICAgIGl0ZW0ucGF0aCA9IHBhdGg7CisgICAgICAgIGl0ZW0udmFsdWUgPSB0
aGlzLnRlc3RGaWxlTWFwW3BhdGhdOworICAgICAgICByZXR1cm4gaXRlbTsKKyAgICB9CisKKyAg
ICB0aGlzLkRhdGFJdGVtID0gZnVuY3Rpb24oZGF0YSkKKyAgICB7CisgICAgICAgIHZhciBpdGVt
ID0gbmV3IE9iamVjdCgpOworICAgICAgICBpdGVtLnR5cGUgPSAnZGF0YSc7CisgICAgICAgIGl0
ZW0udmFsdWUgPSBkYXRhOworICAgICAgICByZXR1cm4gaXRlbTsKKyAgICB9CisKKyAgICB0aGlz
LmNyZWF0ZUl0ZW1QYXJhbUFycmF5ID0gZnVuY3Rpb24oaXRlbXMsIGl0ZW1QYXJhbXMsIG9wdF9l
bmRpbmcpCisgICAgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsg
aSsrKSB7CisgICAgICAgICAgICBpZiAoaXRlbXNbaV0gaW5zdGFuY2VvZiBBcnJheSkKKyAgICAg
ICAgICAgICAgICB0aGlzLmNyZWF0ZUl0ZW1QYXJhbUFycmF5KGl0ZW1zW2ldLCBpdGVtUGFyYW1z
LCBvcHRfZW5kaW5nKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW1zW2ldLnR5cGUgPT0gImRh
dGEiKSB7CisgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSBpdGVtc1tpXS52YWx1ZTsKKyAgICAg
ICAgICAgICAgICBpZiAob3B0X2VuZGluZykKKyAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGRh
dGEucmVwbGFjZSgvXHJcbi9nLCAiW05MXSIpLnJlcGxhY2UoL1tcblxyXS9nLCAiW05MXSIpOwor
ICAgICAgICAgICAgICAgIGl0ZW1QYXJhbXMucHVzaCgiZGF0YToiICsgZXNjYXBlKGRhdGEpKTsK
KyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbXNbaV0udHlwZSA9PSAiZmlsZSIpCisgICAgICAg
ICAgICAgICAgaXRlbVBhcmFtcy5wdXNoKCJmaWxlOiIgKyB0aGlzLnVybFBhdGhCYXNlRGlyICsg
aXRlbXNbaV0ucGF0aCk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgdGhpcy5jcmVhdGVVcmxQ
YXJhbWV0ZXIgPSBmdW5jdGlvbihpdGVtcywgb3B0X3JhbmdlLCBvcHRfZW5kaW5nKQorICAgIHsK
KyAgICAgICAgdmFyIGl0ZW1QYXJhbXMgPSBbXTsKKyAgICAgICAgdGhpcy5jcmVhdGVJdGVtUGFy
YW1BcnJheShpdGVtcywgaXRlbVBhcmFtcywgb3B0X2VuZGluZyk7CisgICAgICAgIHZhciB1cmxQ
YXJhbWV0ZXIgPSAiaXRlbXM9IiArIGl0ZW1QYXJhbXMuam9pbigiLCIpOworICAgICAgICBpZiAo
b3B0X3JhbmdlKSB7CisgICAgICAgICAgICB1cmxQYXJhbWV0ZXIgKz0gIiZzdGFydD0iICsgb3B0
X3JhbmdlLnN0YXJ0OworICAgICAgICAgICAgdXJsUGFyYW1ldGVyICs9ICImbGVuZ3RoPSIgKyBv
cHRfcmFuZ2UubGVuZ3RoOworICAgICAgICB9CisgICAgICAgIGlmIChvcHRfZW5kaW5nKQorICAg
ICAgICAgICAgdXJsUGFyYW1ldGVyICs9ICImY29udmVydF9uZXdsaW5lcz0xIjsKKyAgICAgICAg
cmV0dXJuIHVybFBhcmFtZXRlcjsKKyAgICB9OworCisgICAgdGhpcy5hcHBlbmRBbmRDcmVhdGVC
bG9iID0gZnVuY3Rpb24oaXRlbXMsIG9wdF9lbmRpbmcsIG9wdF90eXBlKQorICAgIHsKKyAgICAg
ICAgdmFyIGJiID0gbmV3IEJsb2JCdWlsZGVyKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgaXRlbXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIGlmIChpdGVtc1tpXSBpbnN0YW5j
ZW9mIEFycmF5KSB7CisgICAgICAgICAgICAgICAgLy8gSWYgaXQncyBhbiBhcnJheSwgY29tYmlu
ZSBpdHMgZWxlbWVudHMgYW5kIGFwcGVuZCBhcyBhIGJsb2IuCisgICAgICAgICAgICAgICAgYmIu
YXBwZW5kKHRoaXMuYXBwZW5kQW5kQ3JlYXRlQmxvYihpdGVtc1tpXSwgb3B0X2VuZGluZywgb3B0
X3R5cGUpKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0X2VuZGluZykKKyAgICAgICAgICAg
ICAgICBiYi5hcHBlbmQoaXRlbXNbaV0udmFsdWUsIG9wdF9lbmRpbmcpOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIGJiLmFwcGVuZChpdGVtc1tpXS52YWx1ZSk7CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuIGJiLmdldEJsb2Iob3B0X3R5cGUpOworICAgIH07Cit9OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMvc2VuZC1kYXRh
LWJsb2IuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWRh
dGEtYmxvYi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGMzNmUxY2M4NWMwYjM1ZmNjMjU1Y2M2NGJkMGFlZTYw
MDlmMDE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9y
ZXNvdXJjZXMvc2VuZC1kYXRhLWJsb2IuanMKQEAgLTAsMCArMSw2MyBAQAorZGVzY3JpcHRpb24o
IlRlc3QgZm9yIGJ1aWxkaW5nIGJsb2JzIHdpdGggbXVsdGlwbGUgc3RyaW5ncyBjb21iaW5lZCBi
eSBCbG9iQnVpbGRlciBhbmQgc2VuZGluZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4iKTsKKwor
dmFyIHV0aWwgPSBuZXcgSHlicmlkQmxvYlRlc3RVdGlsKHJ1blRlc3RzKTsKKworZnVuY3Rpb24g
cnVuQXBwZW5kVGVzdChhcHBlbmRJdGVtcywgb3B0X2VuZGluZywgb3B0X3VybFBhcmFtZXRlciwg
b3B0X3R5cGUpCit7CisgICAgdmFyIGJsb2IgPSB1dGlsLmFwcGVuZEFuZENyZWF0ZUJsb2IoYXBw
ZW5kSXRlbXMsIG9wdF9lbmRpbmcsIG9wdF90eXBlKTsKKyAgICB2YXIgdXJsUGFyYW1ldGVyID0g
b3B0X3VybFBhcmFtZXRlcjsKKyAgICBpZiAoIW9wdF91cmxQYXJhbWV0ZXIpCisgICAgICAgIHVy
bFBhcmFtZXRlciA9IHV0aWwuY3JlYXRlVXJsUGFyYW1ldGVyKGFwcGVuZEl0ZW1zLCBudWxsLCBv
cHRfZW5kaW5nKTsKKyAgICBpZiAob3B0X3R5cGUgIT0gdW5kZWZpbmVkKQorICAgICAgICBzaG91
bGRCZSgiJyIgKyBibG9iLnR5cGUgKyAiJyIsICInIiArIG9wdF90eXBlICsgIiciKTsKKyAgICB1
dGlsLnVwbG9hZEJsb2IoYmxvYiwgdXJsUGFyYW1ldGVyKTsKK30KKworZnVuY3Rpb24gcnVuVGVz
dHMoKQoreworICAgIHZhciBzdHJpbmdBID0gdXRpbC5EYXRhSXRlbSgnQTEyMzQ1Njd8Jyk7Cisg
ICAgdmFyIHN0cmluZ0IgPSB1dGlsLkRhdGFJdGVtKCdCMTIzNDV8Jyk7CisgICAgdmFyIHN0cmlu
Z0MgPSB1dGlsLkRhdGFJdGVtKCdDMTIzNDU2Nzg5MDF8Jyk7CisKKyAgICB2YXIgc3RyaW5nTEYg
PSB1dGlsLkRhdGFJdGVtKCcxMjM0NVxuNjc4OTBcbicpOworICAgIHZhciBzdHJpbmdDUkxGID0g
dXRpbC5EYXRhSXRlbSgnQUJDREVcclxuRkdISUpcclxuJyk7CisgICAgdmFyIHN0cmluZ0NSID0g
dXRpbC5EYXRhSXRlbSgnYWJjZGVccmZnaGlqXHInKTsKKworICAgIGRlYnVnKCcqIEJsb2JCdWls
ZGVyLmFwcGVuZChzdHJpbmcpJyk7CisgICAgcnVuQXBwZW5kVGVzdChbIHN0cmluZ0EgXSk7Cisg
ICAgcnVuQXBwZW5kVGVzdChbIHN0cmluZ0EsIHN0cmluZ0IgXSk7CisgICAgcnVuQXBwZW5kVGVz
dChbIHN0cmluZ0EsIHN0cmluZ0IgXSwgbnVsbCwgbnVsbCwgJ3R5cGUvZm9vJyk7CisKKyAgICBk
ZWJ1ZygnKiBCbG9iQnVpbGRlci5hcHBlbmQoYmxvYiknKTsKKyAgICBydW5BcHBlbmRUZXN0KFsg
WyBzdHJpbmdBIF0gXSk7CisgICAgcnVuQXBwZW5kVGVzdChbIFsgc3RyaW5nQSwgc3RyaW5nQiwg
c3RyaW5nQSBdIF0pOworICAgIHJ1bkFwcGVuZFRlc3QoWyBbIHN0cmluZ0EsIHN0cmluZ0MgXSBd
LCBudWxsLCBudWxsLCAndHlwZS9iYXInKTsKKworICAgIGRlYnVnKCcqIEJsb2JCdWlsZGVyLmFw
cGVuZChzdHJpbmcvYmxvYiknKTsKKyAgICBydW5BcHBlbmRUZXN0KFsgWyBbIHN0cmluZ0EsIHN0
cmluZ0IgXSwgc3RyaW5nQSBdLCBzdHJpbmdDIF0pOworICAgIHJ1bkFwcGVuZFRlc3QoWyBbIHN0
cmluZ0EsIHN0cmluZ0IsIHN0cmluZ0EgXSwgc3RyaW5nQywgWyBzdHJpbmdBLCBzdHJpbmdCLCBz
dHJpbmdBIF0gXSk7CisKKyAgICBkZWJ1ZygnKiBCbG9iQnVpbGRlci5hcHBlbmQoc3RyaW5nL2Js
b2IpIC0gd2l0aCByZWN5Y2xlZCBibG9iJyk7CisgICAgdmFyIG1peGVkQXJyYXkgPSBbIFsgc3Ry
aW5nQSwgc3RyaW5nQiwgc3RyaW5nQSBdLCBzdHJpbmdDLCBbIHN0cmluZ0EsIHN0cmluZ0IgXSAs
IHN0cmluZ0EgXTsKKyAgICB2YXIgYmxvYiA9IHsndmFsdWUnOnV0aWwuYXBwZW5kQW5kQ3JlYXRl
QmxvYihtaXhlZEFycmF5KSB9OworICAgIHZhciBwYXJhbWV0ZXIgPSB1dGlsLmNyZWF0ZVVybFBh
cmFtZXRlcihbIG1peGVkQXJyYXksIHN0cmluZ0MsIG1peGVkQXJyYXkgXSk7CisgICAgcnVuQXBw
ZW5kVGVzdChbIGJsb2IsIHN0cmluZ0MsIGJsb2IgXSwgbnVsbCwgcGFyYW1ldGVyKTsKKworICAg
IGRlYnVnKCcqIEJsb2JCdWlsZGVyLmFwcGVuZChzdHJpbmcpIC0gd2l0aCBsaW5lLWVuZGluZ3Mn
KTsKKyAgICBydW5BcHBlbmRUZXN0KFsgc3RyaW5nTEYgXSk7CisgICAgcnVuQXBwZW5kVGVzdChb
IHN0cmluZ0NSIF0pOworICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJpbmdDUkxGIF0pOworCisgICAg
ZGVidWcoJyogQmxvYkJ1aWxkZXIuYXBwZW5kKHN0cmluZywgIm5hdGl2ZSIpIC0gd2l0aCBsaW5l
LWVuZGluZ3MnKTsKKyAgICBydW5BcHBlbmRUZXN0KFsgc3RyaW5nTEYgXSwgJ25hdGl2ZScpOwor
ICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJpbmdDUiBdLCAnbmF0aXZlJyk7CisgICAgcnVuQXBwZW5k
VGVzdChbIHN0cmluZ0NSTEYgXSwgJ25hdGl2ZScpOworICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJp
bmdDUkxGLCBzdHJpbmdMRiwgc3RyaW5nQ1JMRiBdLCAnbmF0aXZlJyk7Cit9CisKK2lmICh3aW5k
b3cuZXZlbnRTZW5kZXIpCisgICAgdXRpbC5ydW5UZXN0cygpOworZWxzZQorICAgIHRlc3RGYWls
ZWQoIlRoaXMgdGVzdCBpcyBub3QgaW50ZXJhY3RpdmUsIHBsZWFzZSBydW4gdXNpbmcgRHVtcFJl
bmRlclRyZWUiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWh5YnJpZC1ibG9i
LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMvc2VuZC1oeWJyaWQt
YmxvYi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lYmQ5NDczOWEyZjE4YWU5NTBkMTFjOWRiNGRhNTVmMzQ2MzRh
MWM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNv
dXJjZXMvc2VuZC1oeWJyaWQtYmxvYi5qcwpAQCAtMCwwICsxLDk1IEBACitkZXNjcmlwdGlvbigi
VGVzdCBmb3IgYnVpbGRpbmcgYmxvYnMgd2l0aCBtdWx0aXBsZSBmaWxlcyBjb21iaW5lZCBieSBC
bG9iQnVpbGRlciBhbmQgc2VuZGluZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4gIChUaGlzIHRl
c3QgcmVxdWlyZXMgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKSIpOworCit2YXIgdGVz
dEZpbGVQYXRocyA9IFsKKyAgICAibm9uZXhpc3RlbnQiLAorICAgICJlbXB0eS50eHQiLAorICAg
ICJmaWxlLWZvci1kcmFnLXRvLXNlbmQudHh0IiwKKyAgICAiZmlsZS1mb3ItZHJhZy10by1zZW5k
Mi50eHQiLAorICAgICJhYmUucG5nIgorXTsKKwordmFyIHV0aWwgPSBuZXcgSHlicmlkQmxvYlRl
c3RVdGlsKHJ1blRlc3RzLCB0ZXN0RmlsZVBhdGhzKTsKK3V0aWwuZHJhZ0Jhc2VEaXIgPSAicmVz
b3VyY2VzLyI7Cit1dGlsLnVybFBhdGhCYXNlRGlyID0gIi4uL2xvY2FsL3Jlc291cmNlcy8iOwor
CitmdW5jdGlvbiBydW5IeWJyaWRCbG9iVGVzdChmaWxlSW5kZXhPclN0cmluZ3MsIG9wdF9yYW5n
ZSkKK3sKKyAgICB2YXIgYmxvYiA9IHV0aWwuYXBwZW5kQW5kQ3JlYXRlQmxvYihmaWxlSW5kZXhP
clN0cmluZ3MpOworICAgIHZhciB1cmxQYXJhbWV0ZXIgPSB1dGlsLmNyZWF0ZVVybFBhcmFtZXRl
cihmaWxlSW5kZXhPclN0cmluZ3MsIG9wdF9yYW5nZSk7CisgICAgaWYgKG9wdF9yYW5nZSkKKyAg
ICAgICAgYmxvYiA9IGJsb2Iuc2xpY2Uob3B0X3JhbmdlLnN0YXJ0LCBvcHRfcmFuZ2UubGVuZ3Ro
KTsKKyAgICB1dGlsLnVwbG9hZEJsb2IoYmxvYiwgdXJsUGFyYW1ldGVyKTsKK30KKworZnVuY3Rp
b24gcnVuVGVzdHMoKQoreworICAgIC8vIFN5bnRheCBzdWdhci4KKyAgICB2YXIgRiA9IGZ1bmN0
aW9uKHBhdGgpIHsgcmV0dXJuIHV0aWwuRmlsZUl0ZW0ocGF0aCk7IH0KKyAgICB2YXIgRCA9IGZ1
bmN0aW9uKGRhdGEpIHsgcmV0dXJuIHV0aWwuRGF0YUl0ZW0oZGF0YSk7IH0KKworICAgIGRlYnVn
KCcqIEJsb2JCdWlsZGVyLmFwcGVuZChmaWxlKSAtIHNpbmdsZSBmaWxlJyk7CisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0ZXN0RmlsZVBhdGhzLmxlbmd0aDsgaSsrKQorICAgICAgICBydW5IeWJy
aWRCbG9iVGVzdChGKHRlc3RGaWxlUGF0aHNbaV0pKTsKKworICAgIGRlYnVnKCcqIEJsb2JCdWls
ZGVyLmFwcGVuZChmaWxlKSAtIG11bHRpcGxlIGZpbGVzJyk7CisgICAgcnVuSHlicmlkQmxvYlRl
c3QoWyBGKCdub25leGlzdGVudCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgRignZW1wdHku
dHh0JyldKTsKKyAgICBydW5IeWJyaWRCbG9iVGVzdChbIEYoJ2VtcHR5LnR4dCcpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgRignZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dCcpIF0pOworICAg
IHJ1bkh5YnJpZEJsb2JUZXN0KFsgRignZW1wdHkudHh0JyksCisgICAgICAgICAgICAgICAgICAg
ICAgICBGKCdmaWxlLWZvci1kcmFnLXRvLXNlbmQudHh0JyksCisgICAgICAgICAgICAgICAgICAg
ICAgICBGKCdmaWxlLWZvci1kcmFnLXRvLXNlbmQyLnR4dCcpIF0pOworICAgIHJ1bkh5YnJpZEJs
b2JUZXN0KFsgRignZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQnKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIEYoJ2ZpbGUtZm9yLWRyYWctdG8tc2VuZDIudHh0JykgXSk7CisKKyAgICBkZWJ1
ZygnKiBCbG9iQnVpbGRlci5hcHBlbmQobWl4ZWQpJyk7CisgICAgcnVuSHlicmlkQmxvYlRlc3Qo
WyBbIEYoJ2VtcHR5LnR4dCcpIF0gXSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBbIEYoJ2Vt
cHR5LnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFnLXRv
LXNlbmQudHh0JykgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIEYoJ2ZpbGUtZm9yLWRyYWct
dG8tc2VuZDIudHh0JykgXSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBEKCdhYmNkZScpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgRignZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQnKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIEQoJ3wxMjN8NDU2fCcpIF0pOworICAgIHJ1bkh5YnJp
ZEJsb2JUZXN0KFsgRignZW1wdHkudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBEKCcx
MzU3OScpLAorICAgICAgICAgICAgICAgICAgICAgICBbIEYoJ2ZpbGUtZm9yLWRyYWctdG8tc2Vu
ZDIudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgRignZmlsZS1mb3ItZHJhZy10by1z
ZW5kLnR4dCcpIF0sCisgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFnLXRv
LXNlbmQudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBEKCdBX0JfQ19EX0UnKV0pOwor
CisgICAgZGVidWcoJyogQmxvYkJ1aWxkZXIuYXBwZW5kKG1peGVkKSAtIHdpdGggQmxvYi5zbGlj
ZSgpJyk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBGKCdmaWxlLWZvci1kcmFnLXRvLXNlbmQu
dHh0JykgXSwKKyAgICAgICAgICAgICAgICAgICAgICB7ICdzdGFydCc6IDUsICdsZW5ndGgnOiAx
MCB9KTsKKyAgICBydW5IeWJyaWRCbG9iVGVzdChbIFsgRignZmlsZS1mb3ItZHJhZy10by1zZW5k
Mi50eHQnKSBdIF0sCisgICAgICAgICAgICAgICAgICAgICAgeyAnc3RhcnQnOiAzLCAnbGVuZ3Ro
JzogMTcgfSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBGKCdmaWxlLWZvci1kcmFnLXRvLXNl
bmQudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFnLXRvLXNl
bmQyLnR4dCcpIF0sCisgICAgICAgICAgICAgICAgICAgICAgeyAnc3RhcnQnOiAzLCAnbGVuZ3Ro
JzogMTcgfSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBGKCdmaWxlLWZvci1kcmFnLXRvLXNl
bmQyLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgRCgnYWJjZGUnKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIEYoJ2ZpbGUtZm9yLWRyYWctdG8tc2VuZDIudHh0JykgXSwKKyAgICAg
ICAgICAgICAgICAgICAgICB7ICdzdGFydCc6IDMsICdsZW5ndGgnOiAxNyB9KTsKKyAgICBydW5I
eWJyaWRCbG9iVGVzdChbIEYoJ2ZpbGUtZm9yLWRyYWctdG8tc2VuZDIudHh0JyksCisgICAgICAg
ICAgICAgICAgICAgICAgICBEKCdhYmNkZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgRign
ZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQnKSBdLAorICAgICAgICAgICAgICAgICAgICAgIHsg
J3N0YXJ0JzogMzMsICdsZW5ndGgnOiA5MCB9KTsKKyAgICBydW5IeWJyaWRCbG9iVGVzdChbIEYo
J2ZpbGUtZm9yLWRyYWctdG8tc2VuZDIudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBG
KCdmaWxlLWZvci1kcmFnLXRvLXNlbmQudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBG
KCdmaWxlLWZvci1kcmFnLXRvLXNlbmQyLnR4dCcpIF0sCisgICAgICAgICAgICAgICAgICAgICAg
eyAnc3RhcnQnOiAzMywgJ2xlbmd0aCc6IDQyIH0pOworICAgIHJ1bkh5YnJpZEJsb2JUZXN0KFsg
RignZW1wdHkudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFn
LXRvLXNlbmQudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFn
LXRvLXNlbmQyLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgRignYWJlLnBuZycpIF0s
CisgICAgICAgICAgICAgICAgICAgICAgeyAnc3RhcnQnOiAyMCwgJ2xlbmd0aCc6IDMwMDAgfSk7
CisKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2lmICh3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgdXRpbC5ydW5UZXN0cygpOworfSBlbHNlCisgICAgdGVzdEZhaWxlZCgiVGhpcyB0
ZXN0IGlzIG5vdCBpbnRlcmFjdGl2ZSwgcGxlYXNlIHJ1biB1c2luZyBEdW1wUmVuZGVyVHJlZSIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtc2xpY2VkLWRhdGEtYmxvYi5qcyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtc2xpY2VkLWRhdGEt
YmxvYi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYTI3NDNlMTYxMDhkYzE5NmVhODY4Zjg5MWRjN2MyMzUzNDRk
MDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNv
dXJjZXMvc2VuZC1zbGljZWQtZGF0YS1ibG9iLmpzCkBAIC0wLDAgKzEsNDMgQEAKK2Rlc2NyaXB0
aW9uKCJUZXN0IGZvciBzbGljaW5nIGJsb2JzIGNyZWF0ZWQgYnkgQmxvYkJ1aWxkZXIgc2VuZGlu
ZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4iKTsKKwordmFyIHV0aWwgPSBuZXcgSHlicmlkQmxv
YlRlc3RVdGlsKHJ1blRlc3RzKTsKKworZnVuY3Rpb24gcnVuU2xpY2VUZXN0KGFwcGVuZEl0ZW1z
LCByYW5nZXMpCit7CisgICAgdmFyIGJsb2IgPSB1dGlsLmFwcGVuZEFuZENyZWF0ZUJsb2IoYXBw
ZW5kSXRlbXMpOworICAgIHZhciByYW5nZSA9IHsnc3RhcnQnOjAsICdsZW5ndGgnOi0xfTsKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7ICsraSkgeworICAgICAgICBibG9i
ID0gYmxvYi5zbGljZShyYW5nZXNbaV0uc3RhcnQsIHJhbmdlc1tpXS5sZW5ndGgpOworICAgICAg
ICByYW5nZS5zdGFydCArPSByYW5nZXNbaV0uc3RhcnQ7CisgICAgfQorICAgIHJhbmdlLmxlbmd0
aCA9IHJhbmdlc1tyYW5nZXMubGVuZ3RoIC0gMV0ubGVuZ3RoOworICAgIHZhciB1cmxQYXJhbWV0
ZXIgPSB1dGlsLmNyZWF0ZVVybFBhcmFtZXRlcihhcHBlbmRJdGVtcywgcmFuZ2UpOworICAgIHV0
aWwudXBsb2FkQmxvYihibG9iLCB1cmxQYXJhbWV0ZXIpOworfQorCitmdW5jdGlvbiBydW5UZXN0
cygpCit7CisgICAgdmFyIHN0cmluZ0EgPSB1dGlsLkRhdGFJdGVtKCdBMTIzNDU2N3wnKTsKKyAg
ICB2YXIgc3RyaW5nQiA9IHV0aWwuRGF0YUl0ZW0oJ0IxMjM0NXwnKTsKKyAgICB2YXIgc3RyaW5n
QyA9IHV0aWwuRGF0YUl0ZW0oJ0MxMjM0NTY3ODkwMXwnKTsKKworICAgIHZhciBtaXhlZEFycmF5
ID0gWyBbIHN0cmluZ0EsIHN0cmluZ0IsIHN0cmluZ0EgXSwgc3RyaW5nQywgWyBzdHJpbmdBLCBz
dHJpbmdCIF0gLCBzdHJpbmdBIF07CisKKyAgICBkZWJ1ZygnKiBCbG9iQnVpbGRlci5hcHBlbmQo
ZGF0YSkgYW5kIHRoZW4gYXBwbHkgQmxvYi5zbGljZSgpJyk7CisgICAgcnVuU2xpY2VUZXN0KHN0
cmluZ0EsIFsgeydzdGFydCc6IDMsICAnbGVuZ3RoJzogMTJ9IF0pOworICAgIHJ1blNsaWNlVGVz
dChbc3RyaW5nQSwgc3RyaW5nQl0sIFsgeydzdGFydCc6IDMsICAnbGVuZ3RoJzogMTJ9IF0pOwor
ICAgIHJ1blNsaWNlVGVzdChtaXhlZEFycmF5LCBbIHsnc3RhcnQnOiAxMywgJ2xlbmd0aCc6IDQw
fSBdKTsKKyAgICBydW5TbGljZVRlc3QobWl4ZWRBcnJheSwgWyB7J3N0YXJ0JzogMTMsICdsZW5n
dGgnOiA0MH0gXSk7CisgICAgcnVuU2xpY2VUZXN0KG1peGVkQXJyYXksIFsgeydzdGFydCc6IDUs
ICAnbGVuZ3RoJzogMzJ9IF0pOworCisgICAgZGVidWcoJyogQmxvYkJ1aWxkZXIuYXBwZW5kKGRh
dGEpIGFuZCB0aGVuIGFwcGx5IG5lc3RlZCBCbG9iLnNsaWNlKCknKTsKKyAgICBydW5TbGljZVRl
c3QobWl4ZWRBcnJheSwgWyB7J3N0YXJ0JzogNSwgICdsZW5ndGgnOiAzMn0sIHsnc3RhcnQnOiAy
LCAnbGVuZ3RoJzogOX0gXSk7CisgICAgcnVuU2xpY2VUZXN0KG1peGVkQXJyYXksIFsgeydzdGFy
dCc6IDEzLCAnbGVuZ3RoJzogNDB9LCB7J3N0YXJ0JzogNSwgJ2xlbmd0aCc6IDE3fSBdKTsKK30K
KworaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKKyAgICB1dGlsLnJ1blRlc3RzKCk7CitlbHNlCisg
ICAgdGVzdEZhaWxlZCgiVGhpcyB0ZXN0IGlzIG5vdCBpbnRlcmFjdGl2ZSwgcGxlYXNlIHJ1biB1
c2luZyBEdW1wUmVuZGVyVHJlZSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1kYXRhLWJsb2It
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWRhdGEtYmxv
Yi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGNiMDc4NTFjYTIxMjhmMWI2ODM2MWIyZGZkMWM2
NDVjYmY5NDAwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9j
YWwvc2VuZC1kYXRhLWJsb2ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzMgQEAKK1Rlc3QgZm9y
IGJ1aWxkaW5nIGJsb2JzIHdpdGggbXVsdGlwbGUgc3RyaW5ncyBjb21iaW5lZCBieSBCbG9iQnVp
bGRlciBhbmQgc2VuZGluZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKKyogQmxvYkJ1aWxkZXIuYXBwZW5kKHN0cmluZykKK1BBU1MgRXhw
ZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2Ug
ZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgJ3R5cGUvZm9vJyBpcyAndHlwZS9mb28nCitQQVNTIEV4
cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCisqIEJsb2JCdWlsZGVyLmFwcGVuZChi
bG9iKQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBl
Y3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyAndHlwZS9iYXInIGlzICd0eXBl
L2JhcicKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKKyogQmxvYkJ1
aWxkZXIuYXBwZW5kKHN0cmluZy9ibG9iKQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJl
Y2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBC
bG9iQnVpbGRlci5hcHBlbmQoc3RyaW5nL2Jsb2IpIC0gd2l0aCByZWN5Y2xlZCBibG9iCitQQVNT
IEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCisqIEJsb2JCdWlsZGVyLmFwcGVu
ZChzdHJpbmcpIC0gd2l0aCBsaW5lLWVuZGluZ3MKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0
YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sK
K1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKKyogQmxvYkJ1aWxkZXIu
YXBwZW5kKHN0cmluZywgIm5hdGl2ZSIpIC0gd2l0aCBsaW5lLWVuZGluZ3MKK1BBU1MgRXhwZWN0
ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0
YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sK
K1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtZGF0YS1ibG9iLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvY2FsL3NlbmQtZGF0YS1ibG9iLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmJlMGIzODFh
NmY3NmZmZWM4YjgwNWJlZDE2M2E5YzFmZmE3MDE0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1kYXRhLWJsb2IuaHRtbApAQCAtMCwwICsxLDE0
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9oeWJyaWQtYmxvYi11dGlsLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvc2VuZC1kYXRhLWJsb2IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
Y2FsL3NlbmQtaHlicmlkLWJsb2ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2NhbC9zZW5kLWh5YnJpZC1ibG9iLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWY4MTZh
MTk2NTFhNmVjOGEwNjI1MDI3NGE2NDY2MDQ2MDI3NWRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWh5YnJpZC1ibG9iLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM0IEBACisKK1Rlc3QgZm9yIGJ1aWxkaW5nIGJsb2JzIHdpdGggbXVsdGlwbGUg
ZmlsZXMgY29tYmluZWQgYnkgQmxvYkJ1aWxkZXIgYW5kIHNlbmRpbmcgdGhlbSB2aWEgWE1MSHR0
cFJlcXVlc3QuIChUaGlzIHRlc3QgcmVxdWlyZXMgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZp
bGVzKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworKiBCbG9iQnVpbGRlci5hcHBl
bmQoZmlsZSkgLSBzaW5nbGUgZmlsZQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2Vp
dmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBF
eHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25z
ZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVk
OiBPSworKiBCbG9iQnVpbGRlci5hcHBlbmQoZmlsZSkgLSBtdWx0aXBsZSBmaWxlcworUEFTUyBF
eHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25z
ZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVk
OiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBCbG9iQnVp
bGRlci5hcHBlbmQobWl4ZWQpCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6
IE9LCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIEV4cGVj
dGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRh
dGEgcmVjZWl2ZWQ6IE9LCisqIEJsb2JCdWlsZGVyLmFwcGVuZChtaXhlZCkgLSB3aXRoIEJsb2Iu
c2xpY2UoKQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBF
eHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25z
ZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVk
OiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBl
Y3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBk
YXRhIHJlY2VpdmVkOiBPSworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvc2Vu
ZC1oeWJyaWQtYmxvYi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWh5
YnJpZC1ibG9iLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU5YWQyMzEyZmU0ZmU3YzQ3MzI0ZGRiN2QxZDAy
NGI2NmM0YWRjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9j
YWwvc2VuZC1oeWJyaWQtYmxvYi5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2h5YnJpZC1ibG9iLXV0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9z
ZW5kLWh5YnJpZC1ibG9iLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtc2xpY2Vk
LWRhdGEtYmxvYi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Nl
bmQtc2xpY2VkLWRhdGEtYmxvYi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjI3NDE1OTMzYzgz
YWU3OTY1MThjNzNlNTI2YzU4YjU2YjBiZmFjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1zbGljZWQtZGF0YS1ibG9iLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE4IEBACitUZXN0IGZvciBzbGljaW5nIGJsb2JzIGNyZWF0ZWQgYnkgQmxvYkJ1
aWxkZXIgc2VuZGluZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKKyogQmxvYkJ1aWxkZXIuYXBwZW5kKGRhdGEpIGFuZCB0aGVuIGFwcGx5
IEJsb2Iuc2xpY2UoKQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSwor
UEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCBy
ZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJl
Y2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBC
bG9iQnVpbGRlci5hcHBlbmQoZGF0YSkgYW5kIHRoZW4gYXBwbHkgbmVzdGVkIEJsb2Iuc2xpY2Uo
KQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3Rl
ZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9jYWwvc2VuZC1zbGljZWQtZGF0YS1ibG9iLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvY2FsL3NlbmQtc2xpY2VkLWRhdGEtYmxvYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0MDIzNDU0
OTUxYmZkYTI2YmVjMDcwNzMwYzA0NjA0YjQ2ZDkwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtc2xpY2VkLWRhdGEtYmxvYi5odG1sCkBAIC0w
LDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2h5YnJpZC1ibG9iLXV0aWwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zZW5kLXNsaWNlZC1kYXRhLWJsb2IuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9wb3N0LWFuZC12ZXJpZnktaHlicmlkLmNnaSBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3Bvc3QtYW5kLXZlcmlmeS1oeWJyaWQuY2dpCm5l
dyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjhmYzlhMjdkNDJjMzYzMzBkYmMwOWJjN2JkZTcyOWRmNTM0ZjI0NmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9wb3N0LWFuZC12
ZXJpZnktaHlicmlkLmNnaQpAQCAtMCwwICsxLDg0IEBACisjIS91c3IvYmluL3BlcmwgLXcKKwor
cHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9wbGFpblxuXG4iOworCitpZiAoJEVOVnsnUkVRVUVT
VF9NRVRIT0QnfSBlcSAiUE9TVCIpIHsKKyAgICBpZiAoJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSkg
eworICAgICAgICByZWFkKFNURElOLCAkcG9zdERhdGEsICRFTlZ7J0NPTlRFTlRfTEVOR1RIJ30p
IHx8IGRpZSAiQ291bGQgbm90IGdldCBwb3N0IGRhdGFcbiI7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgJHBvc3REYXRhID0gIiI7CisgICAgfQorCisgICAgQGxpc3QgPSBzcGxpdCgvJi8sICRFTlZ7
J1FVRVJZX1NUUklORyd9KTsKKyAgICBAdmFsdWVzOworICAgICR2YWx1ZXN7J3N0YXJ0J30gPSAw
OworICAgICR2YWx1ZXN7J2xlbmd0aCd9ID0gLTE7CisgICAgJHZhbHVlc3snY29udmVydF9uZXds
aW5lcyd9ID0gMDsKKyAgICBmb3JlYWNoICRlbGVtZW50IChAbGlzdCkgeworICAgICAgICAoJGtl
eSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJGVsZW1lbnQpOworICAgICAgICAkdmFsdWVzeyRrZXl9
ID0gJHZhbHVlOworICAgIH0KKworICAgICMgJ2l0ZW1zJyBwYXJhbWV0ZXIgd291bGQgbG9vayBs
aWtlOgorICAgICMgICA8aXRlbXM+IDo9IDxpdGVtPignLCc8aXRlbT4pKgorICAgICMgICAgPGl0
ZW0+IDo9IDxmaWxlPiB8IDxkYXRhPgorICAgICMgICAgPGZpbGU+IDo9ICJmaWxlIjo8ZmlsZS1w
YXRoPgorICAgICMgICAgPGRhdGE+IDo9ICJkYXRhIjo8ZGF0YS1zdHJpbmc+CisgICAgQGl0ZW1z
ID0gc3BsaXQoLywvLCAkdmFsdWVzeydpdGVtcyd9KTsKKyAgICAkZXhwZWN0ZWREYXRhID0gIiI7
CisgICAgJHJlYWRQb3MgPSAkdmFsdWVzeydzdGFydCd9OworICAgICRyZW1haW5pbmdMZW5ndGgg
PSAkdmFsdWVzeydsZW5ndGgnfTsKKyAgICBmb3JlYWNoICRpdGVtIChAaXRlbXMpIHsKKyAgICAg
ICAgbXkgKCR0eXBlLCAkZGF0YSkgPSBzcGxpdCgvOi8sICRpdGVtKTsKKyAgICAgICAgbXkgJHNp
emU7CisgICAgICAgIGlmICgkdHlwZSBlcSAiZGF0YSIpIHsKKyAgICAgICAgICAgICRkYXRhID1+
IHMvJShbQS1GYS1mMC05XXsyfSkvcGFjaygnQycsIGhleCgkMSkpL3NlZzsKKyAgICAgICAgICAg
ICRzaXplID0gbGVuZ3RoKCRkYXRhKTsKKyAgICAgICAgICAgIGlmICgkcmVhZFBvcyA+IDApIHsK
KyAgICAgICAgICAgICAgICBpZiAoJHJlYWRQb3MgPiAkc2l6ZSkgeworICAgICAgICAgICAgICAg
ICAgICAkcmVhZFBvcyAtPSAkc2l6ZTsKKyAgICAgICAgICAgICAgICAgICAgbmV4dDsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgJGRhdGEgPSBzdWJzdHIoJGRhdGEsICRyZWFk
UG9zKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICRkYXRhID0gc3Vic3RyKCRkYXRhLCAw
LCAkcmVtYWluaW5nTGVuZ3RoKSBpZiAoJHJlbWFpbmluZ0xlbmd0aCA+IDApOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgJHBhdGggPSAkZGF0YTsKKyAgICAgICAgICAgIG9wZW4oRklM
RSwgJHBhdGgpIHx8IG5leHQ7CisgICAgICAgICAgICAkc2l6ZSA9IC1zICRwYXRoOworICAgICAg
ICAgICAgaWYgKCRyZWFkUG9zID4gMCkgeworICAgICAgICAgICAgICAgIGlmICgkcmVhZFBvcyA+
ICRzaXplKSB7CisgICAgICAgICAgICAgICAgICAgICRyZWFkUG9zIC09ICRzaXplOworICAgICAg
ICAgICAgICAgICAgICBuZXh0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBz
ZWVrKEZJTEUsICRyZWFkUG9zLCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgk
cmVtYWluaW5nTGVuZ3RoID4gMCkgeworICAgICAgICAgICAgICAgIHJlYWQoRklMRSwgJGRhdGEs
ICRyZW1haW5pbmdMZW5ndGgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBsb2NhbCAkLyA9IHVuZGVmOworICAgICAgICAgICAgICAgICRkYXRhID0gPEZJTEU+OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgY2xvc2UoRklMRSk7CisgICAgICAgIH0KKyAgICAgICAg
JHJlYWRQb3MgLT0gJHNpemU7CisgICAgICAgICRleHBlY3RlZERhdGEgLj0gJGRhdGE7CisgICAg
ICAgIGlmICgkcmVtYWluaW5nTGVuZ3RoID4gMCkgeworICAgICAgICAgICAgJHJlbWFpbmluZ0xl
bmd0aCAtPSBsZW5ndGgoJGRhdGEpOworICAgICAgICAgICAgbGFzdCBpZiAkcmVtYWluaW5nTGVu
Z3RoIDw9IDA7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoJHZhbHVlc3snY29udmVydF9u
ZXdsaW5lcyd9KSB7CisgICAgICAgICRuYXRpdmVFbmRpbmcgPSAoJF5PID1+IC9NU1dpbi8pID8g
IlxyXG4iIDogIlxuIjsKKyAgICAgICAgJHBvc3REYXRhID1+IHMvJG5hdGl2ZUVuZGluZy9bTkxd
L2c7CisgICAgfQorCisgICAgaWYgKCRwb3N0RGF0YSBlcSAkZXhwZWN0ZWREYXRhKSB7CisgICAg
ICAgIHByaW50ICJPSyI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcHJpbnQgIkZBSUxFRCI7Cisg
ICAgfQorfSBlbHNlIHsKKyAgICBwcmludCAiV3JvbmcgbWV0aG9kOiAiIC4gJEVOVnsnUkVRVUVT
VF9NRVRIT0QnfSAuICJcbiI7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNl
LWV4cGVjdGVkLnR4dAppbmRleCBlYmVlNjQ0Y2Q0YTRlMDMyYmYxZTIyMWJlYWRlZjJjNjkzMDc1
NzM3Li5iMjMyYzI3MDY0NDUxZDQ5NzcwM2RiYzM4ZmJhYmIzZDI5OWQwNjg0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJp
dGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTExLDYgKzExLDgg
QEAgUEFTUyBpbm5lci5CZWZvcmVMb2FkRXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVy
LkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIu
QmxvYi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5jb25zdHJ1Y3Rvci5pc0lubmVy
IGlzIHRydWUKK1BBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlu
bmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5D
REFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkNEQVRBU2VjdGlvbi5jb25z
dHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQ1NTQ2hhcnNldFJ1bGUuaXNJbm5l
ciBpcyB0cnVlCkBAIC03NjEsNCArNzYzLDQgQEAgUEFTUyBpbm5lci53aW5kb3cuaXNJbm5lciBp
cyB0cnVlCiBQQVNTIGlubmVyLndpbmRvdy5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAotVEVTVCBDT01QTEVURQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKK1RFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQK
aW5kZXggZjgzMzZjN2I0MmE4YjdiNDZhNDlhNjE3ZDhiY2I4Y2Q4MDRkNzFlOS4uYjE2OTM1ZmVl
OGE4YTBkY2ViNDUyYjYwYzVhNGE3NjAxMDBlZTQ1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKQEAgLTMyODcsNiArMzI4Nyw4IEBAIGh0dHAvdGVzdHMvbG9hZGluZy9yZWRpcmVjdC13aXRo
LW5vLWxvY2F0aW9uLWNyYXNoLmh0bWwKIGh0dHAvdGVzdHMvbG9hZGluZy9zbG93LXBhcnNpbmct
c3ViZnJhbWUuaHRtbAogaHR0cC90ZXN0cy9sb2FkaW5nL3RleHQtY29udGVudC10eXBlLXdpdGgt
YmluYXJ5LWV4dGVuc2lvbi5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL3NlbmQtZHJhZ2dlZC1maWxl
Lmh0bWwKK2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1oeWJyaWQtYmxvYi5odG1sCitodHRwL3Rlc3Rz
L2xvY2FsL3NlbmQtc2xpY2VkLWRhdGEtYmxvYi5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL3NlbmQt
c2xpY2VkLWRyYWdnZWQtZmlsZS5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQt
Zm9ybS1kYXRhLmh0bWwKIGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEt
d2l0aC1zbGljZWQtZmlsZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0CmluZGV4IDM4ZTNjMjczZWU3NDVlNDlkOTc5Mjc2NDI2MjU1ZmViNDgyMTE4NjIu
Ljc5ZWM3OTY5ZDMxOWY2YTU2Mzg0NGNlZTM2ZmE2YWI5NjVlNTUzNjUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0xMjEsNiArMTIxLDEwIEBAIHdp
bmRvdy5BdWRpby5wcm90b3R5cGUuc2V0QXR0cmlidXRlIFtmdW5jdGlvbl0KIHdpbmRvdy5BdWRp
by5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlMgW2Z1bmN0aW9uXQogd2luZG93LkF1ZGlvLnByb3Rv
dHlwZS5zZXRBdHRyaWJ1dGVOb2RlIFtmdW5jdGlvbl0KIHdpbmRvdy5BdWRpby5wcm90b3R5cGUu
c2V0QXR0cmlidXRlTm9kZU5TIFtmdW5jdGlvbl0KK3dpbmRvdy5CbG9iQnVpbGRlciBbb2JqZWN0
IEJsb2JCdWlsZGVyQ29uc3RydWN0b3JdCit3aW5kb3cuQmxvYkJ1aWxkZXIucHJvdG90eXBlIFtv
YmplY3QgQmxvYkJ1aWxkZXJQcm90b3R5cGVdCit3aW5kb3cuQmxvYkJ1aWxkZXIucHJvdG90eXBl
LmFwcGVuZCBbZnVuY3Rpb25dCit3aW5kb3cuQmxvYkJ1aWxkZXIucHJvdG90eXBlLmdldEJsb2Ig
W2Z1bmN0aW9uXQogd2luZG93LkNEQVRBU2VjdGlvbiBbb2JqZWN0IENEQVRBU2VjdGlvbkNvbnN0
cnVjdG9yXQogd2luZG93LkNEQVRBU2VjdGlvbi5wcm90b3R5cGUgW29iamVjdCBDREFUQVNlY3Rp
b25Qcm90b3R5cGVdCiB3aW5kb3cuQ0RBVEFTZWN0aW9uLnByb3RvdHlwZS5BVFRSSUJVVEVfTk9E
RSBbbnVtYmVyXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3Jp
cHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDViNWQ2MmZiMTEyOTJkNjIzMTcyZDA4Y2NkYmQxN2Jj
NGNjNjcxODUuLjIxMDhlNDJkZjEzNDVjYTdlYTdjODkzYzZjMTFlZTUzNThmYjE3ZmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3Rl
ZC50eHQKQEAgLTgsNiArOCw3IEBAIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iod2luZG93LCAnQXR0cicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0F1ZGlvJykgaXMgJ29iamVjdCcKIFBB
U1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnQmVmb3Jl
TG9hZEV2ZW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnQmxvYicpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jsb2JCdWlsZGVyJykgaXMgJ29i
amVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93
LCAnQm9vbGVhbicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ0NEQVRBU2VjdGlvbicpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0NTU0NoYXJzZXRS
dWxlJykgaXMgJ29iamVjdCcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9m
YXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQK
aW5kZXggMWYwNzhhZTJiZTE5M2IzZmNlMTI1ZTA4YmRmMjUzYzgxOWRkOGJjYy4uOGJmNmM5ZTBh
MmMxNjNlMGMxOGRmYmM2YWEzOGMzOTQ3YWE1ZDU2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0
YW5jZS1leHBlY3RlZC50eHQKQEAgLTExLDYgKzExLDggQEAgUEFTUyBpbm5lci5CZWZvcmVMb2Fk
RXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1
Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5pc0lubmVyIGlzIHRydWUKIFBB
U1MgaW5uZXIuQmxvYi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuQmxv
YkJ1aWxkZXIuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVj
dG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5DREFUQVNlY3Rpb24uaXNJbm5lciBpcyB0
cnVlCiBQQVNTIGlubmVyLkNEQVRBU2VjdGlvbi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUK
IFBBU1MgaW5uZXIuQ1NTQ2hhcnNldFJ1bGUuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAppbmRleCBkNWQyNWVkOGZhMWEzMmVkM2FlOGM5ZTJmYjZjZTMyZDM2Yzg5ZjM4Li4x
YzRjYmViNDRjOTZkNmJiNjhkZmU3YmFjODkyMDhjMjBlOTEyN2NhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQKQEAgLTIxNiw2ICsyMTYsOCBAQCBodHRwL3Rlc3RzL2xvYWRpbmcvdGV4dC1jb250
ZW50LXR5cGUtd2l0aC1iaW5hcnktZXh0ZW5zaW9uLmh0bWwKICMgRmFpbGluZyBMb2NhbCB0ZXN0
cwogaHR0cC90ZXN0cy9sb2NhbC9kcmFnLW92ZXItcmVtb3RlLWNvbnRlbnQuaHRtbAogaHR0cC90
ZXN0cy9sb2NhbC9zZW5kLWRyYWdnZWQtZmlsZS5odG1sCitodHRwL3Rlc3RzL2xvY2FsL3NlbmQt
aHlicmlkLWJsb2IuaHRtbAoraHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kYXRhLWJsb2Iu
aHRtbAogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kcmFnZ2VkLWZpbGUuaHRtbAogaHR0
cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS5odG1sCiBodHRwL3Rlc3RzL2xv
Y2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtc2xpY2VkLWZpbGUuaHRtbApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKaW5kZXggNTQyNDk2MDg0MWJmMzEw
NjBhNWFmNjBkYWZlMzdkNjcyYTRmMGJlZC4uN2RiMzQzMGExZTc1MmZlOTdiZDZlZmM4ZDkzOTY3
M2VmMGMyNDU4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
CkBAIC0xNTAsNiArMTUwLDEwIEBAIHdpbmRvdy5CZWZvcmVMb2FkRXZlbnQucHJvdG90eXBlLnN0
b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiBbZnVuY3Rpb25dCiB3aW5kb3cuQmVmb3JlTG9hZEV2ZW50
LnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQogd2luZG93LkJsb2IgW29iamVj
dCBCbG9iQ29uc3RydWN0b3JdCiB3aW5kb3cuQmxvYi5wcm90b3R5cGUgW29iamVjdCBCbG9iUHJv
dG90eXBlXQord2luZG93LkJsb2JCdWlsZGVyIFtvYmplY3QgQmxvYkJ1aWxkZXJDb25zdHJ1Y3Rv
cl0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUgW29iamVjdCBCbG9iQnVpbGRlclByb3Rv
dHlwZV0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuYXBwZW5kIFtmdW5jdGlvbl0KK3dp
bmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuZ2V0QmxvYiBbZnVuY3Rpb25dCiB3aW5kb3cuQ0RB
VEFTZWN0aW9uIFtvYmplY3QgQ0RBVEFTZWN0aW9uQ29uc3RydWN0b3JdCiB3aW5kb3cuQ0RBVEFT
ZWN0aW9uLnByb3RvdHlwZSBbb2JqZWN0IENEQVRBU2VjdGlvblByb3RvdHlwZV0KIHdpbmRvdy5D
REFUQVNlY3Rpb24ucHJvdG90eXBlLkFUVFJJQlVURV9OT0RFIFtudW1iZXJdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5
LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4
IGY5YWU0ODY3MzY2NzliODVjMzQwNDlhMDJjNzQ0NzI3ZmU1Y2Y1YzAuLmYxZmY0Njc1NzZmYTNm
NDc5NzY4ZWFiZGNjMzIzNWQ3MDRlZGI4YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CkBAIC04LDYgKzgsNyBAQCBQQVNT
IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0F0dHInKSBp
cyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICdBdWRpbycpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0JlZm9yZUxvYWRFdmVudCcpIGlzICdvYmplY3QnCiBQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jsb2In
KSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICdCbG9iQnVpbGRlcicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jvb2xlYW4nKSBpcyAnb2JqZWN0Jwog
UEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdDREFU
QVNlY3Rpb24nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csICdDU1NDaGFyc2V0UnVsZScpIGlzICdvYmplY3QnCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFu
Y2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vcHJvdG90
eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAppbmRleCA0OGJiZDdkYzU5YjRiMjgyZDlmZDk2
NDUzZDAwYmI4ZTc5Mzg4NjZlLi40NGEyNmFkN2E4ZDgzNjVhZDE0MDE4NTBkMjUxMTNhNmM3ODFi
NzVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9wcm90b3R5
cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTExLDYgKzEx
LDggQEAgUEFTUyBpbm5lci5CZWZvcmVMb2FkRXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlu
bmVyLkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5u
ZXIuQmxvYi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5jb25zdHJ1Y3Rvci5pc0lu
bmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuaXNJbm5lciBpcyB0cnVlCitQQVNT
IGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5l
ci5DREFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkNEQVRBU2VjdGlvbi5j
b25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQ1NTQ2hhcnNldFJ1bGUuaXNJ
bm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDkxYTAwYjkyNWM5Yzg3
ZDRmYjg0N2ZlNzA3OGQ4ZTdjNzAwNWQ5OGIuLjg3ZmUxNDVmZDhiYmZiOTY3YjhkMjU0NTRiZTBk
YjY4M2Y5NjFmYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC02NzksMTEgKzY3OSwx
NSBAQCBmYXN0L2Zvcm1zL2lucHV0LXNlbGVjdGVkb3B0aW9uLmh0bWwKIAogIyA8aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5Mjg3PgogaHR0cC90ZXN0cy9sb2NhbC9z
ZW5kLWRyYWdnZWQtZmlsZS5odG1sCitodHRwL3Rlc3RzL2xvY2FsL3NlbmQtaHlicmlkLWJsb2Iu
aHRtbAogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kcmFnZ2VkLWZpbGUuaHRtbAogaHR0
cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS5odG1sCiBodHRwL3Rlc3RzL2xv
Y2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtc2xpY2VkLWZpbGUuaHRtbAogaHR0cC90
ZXN0cy9sb2NhbC9mb3JtZGF0YS91cGxvYWQtZXZlbnRzLmh0bWwKIAorIyBOZWVkIEJsb2Iuc2xp
Y2Ugc3VwcG9ydAoraHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kYXRhLWJsb2IuaHRtbAor
CiAjIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkyODk+CiBwbHVn
aW5zL2Rlc3Ryb3ktZHVyaW5nLW5wcC1uZXcuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9y
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKaW5kZXggNWI1ZDYyZmIx
MTI5MmQ2MjMxNzJkMDhjY2RiZDE3YmM0Y2M2NzE4NS4uMjEwOGU0MmRmMTM0NWNhN2VhN2M4OTNj
NmMxMWVlNTM1OGZiMTdmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dApAQCAtOCw2ICs4LDcgQEAgUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdBdHRyJykgaXMgJ29iamVj
dCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
QXVkaW8nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcih3aW5kb3csICdCZWZvcmVMb2FkRXZlbnQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBl
b2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdCbG9iJykgaXMgJ29i
amVjdCcKK1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93
LCAnQmxvYkJ1aWxkZXInKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdCb29sZWFuJykgaXMgJ29iamVjdCcKIFBBU1MgdHlw
ZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnQ0RBVEFTZWN0aW9u
JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iod2luZG93LCAnQ1NTQ2hhcnNldFJ1bGUnKSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9wcm90b3R5cGUt
aW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKaW5kZXggY2Q3ZDZlYzUxZGY1NmY5M2E4MDcwNWNl
ZmEwODlkYjZkZjc4NDI3OS4uZGI3NWM4MWFjYTQ5NThlMDg1NDkwMWUzOGZiOWUyMjRiYWQ3NzE0
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL3Byb3RvdHlw
ZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CkBAIC0yMDks
NiArMjA5LDcgQEAgUEFTUyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgZnJvbSBp
bm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXkKIFBBU1MgV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1t
eVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNi5fX3Byb3RvX18KIE5ldmVyIGZvdW5kIEF1ZGlvCiBO
ZXZlciBmb3VuZCBCbG9iCitOZXZlciBmb3VuZCBCbG9iQnVpbGRlcgogTmV2ZXIgZm91bmQgQ0RB
VEFTZWN0aW9uCiBOZXZlciBmb3VuZCBDU1NSdWxlCiBOZXZlciBmb3VuZCBDU1NWYXJpYWJsZXNE
ZWNsYXJhdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9t
L3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAppbmRleCAx
ZjA3OGFlMmJlMTkzYjNmY2UxMjVlMDhiZGYyNTNjODE5ZGQ4YmNjLi44YmY2YzllMGEyYzE2M2Uw
YzE4ZGZiYzZhYTM4YzM5NDdhYTVkNTZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4
cGVjdGVkLnR4dApAQCAtMTEsNiArMTEsOCBAQCBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5p
c0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmVmb3JlTG9hZEV2ZW50LmNvbnN0cnVjdG9yLmlz
SW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5CbG9iLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5l
ci5CbG9iLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5CbG9iQnVpbGRl
ci5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuY29uc3RydWN0b3IuaXNJ
bm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkNEQVRBU2VjdGlvbi5pc0lubmVyIGlzIHRydWUKIFBB
U1MgaW5uZXIuQ0RBVEFTZWN0aW9uLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBp
bm5lci5DU1NDaGFyc2V0UnVsZS5pc0lubmVyIGlzIHRydWUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
QW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQu
anNjYmluZGluZ3MubWsKaW5kZXggYThhYzYxY2NiNmFlY2JlZDllNDMyMjQyZTJmYzJjYjE0ZjVj
NGY4YS4uMmFlZjZlYTUwZDFiZDkzOTIwY2FjMGY1ZmUwNjEzOWQwODkzZDQ3NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTE1NSw2ICsxNTUsNyBAQCAkKHBhdHN1
YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVkaWF0ZXMpL2RvbS8lLmNwcCA6ICQoaW50
ZXJtZWRpYXRlcykvZG9tLwogIyBIVE1MCiBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykv
aHRtbC9KU0Jsb2IuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTQmxvYkJ1aWxkZXIu
aCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRE9NRm9ybURhdGEuaCBcCiAgICAgJChp
bnRlcm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW5MaXN0LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4
YmluZGluZ3MubWsKaW5kZXggZGQ1ZjMwNWM1N2VmOGE2MmI0M2ZkN2JiNjU5NWU2YzM2NTM1NGNl
MC4uNjJjY2QwZmU0MjMxNGQwM2U2ZTY1ODM5NmZmNjUzMTQ5ODFiYjQ4OCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJv
aWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0xMzgsNiArMTM4LDcgQEAgJChwYXRzdWJzdCAl
LmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50
ZXJtZWRpYXRlcykKICMgSFRNTAogR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4QmxvYi5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYkJ1aWxk
ZXIuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uLmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbkxpc3QuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGUuaCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMzEy
M2I0YjJmYjBiZGNkZWIwZTJjOWVmZmZmYWRhOTFkZmFjNWJmLi5iOTQwMjk2NDY3ZGQ5YTNmMzhl
MzAyZmYyNmM3NzEwYjcxMmVmYTM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4Miw2ICsxODIsNyBAQCBTRVQoV2Vi
Q29yZV9JRExfRklMRVMKICAgICBkb20vV2hlZWxFdmVudC5pZGwKIAogICAgIGh0bWwvQmxvYi5p
ZGwKKyAgICBodG1sL0Jsb2JCdWlsZGVyLmlkbAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRs
CiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuaWRsCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5p
ZGwKQEAgLTU1MCw2ICs1NTEsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3Mv
anMvR0NDb250cm9sbGVyLmNwcAogICAgIGJpbmRpbmdzL2pzL0phdmFTY3JpcHRDYWxsRnJhbWUu
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNBdHRyQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pT
QmxvYkJ1aWxkZXJDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMWViMTcy
ZmQ4ZjVkYTQ2NTcxMTJhZjViNzVkMDMwZTY0Y2YxZjBjLi44M2FjYTQ4ZGVlOTJlMzkzM2ZkODQ0
Yzc2NjM5Y2RhYmYwMDVkOWY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEwLTA2LTE3ICBLaW51a28gWWFz
dWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgQmxvYkJ1aWxkZXIuaWRsIHRvIGV4cG9zZSBCbG9iQnVp
bGRlciBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQwNTkzCisKKyAgICAgICAgQmxvYkJ1aWxkZXIgaXMgZGVmaW5lZCBpbiBGaWxlQVBJ
J3MgRmlsZVdyaXRlciBzcGVjLgorICAgICAgICAoaHR0cDovL2Rldi53My5vcmcvMjAwOS9kYXAv
ZmlsZS1zeXN0ZW0vZmlsZS13cml0ZXIuaHRtbCkKKworICAgICAgICBBbHNvIHJlbW92ZXMgdGhl
IEVOQUJMRV9GSUxFX1dSSVRFUiBpZmRlZiBndWFyZCBmb3IgQmxvYkJ1aWxkZXIuCisKKyAgICAg
ICAgVGVzdHM6IGh0dHAvdGVzdHMvbG9jYWwvc2VuZC1kYXRhLWJsb2IuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWh5YnJpZC1ibG9iLmh0bWwKKworICAgICAgICAq
IEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2
ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICog
V2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmxvYkJ1aWxkZXJDdXN0b20uY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhCbG9iQnVpbGRlckN1c3Rv
bS5jcHA6IEFkZGVkLgorICAgICAgICAqIGh0bWwvQmxvYkJ1aWxkZXIuY3BwOgorICAgICAgICAq
IGh0bWwvQmxvYkJ1aWxkZXIuaDoKKyAgICAgICAgKiBodG1sL0Jsb2JCdWlsZGVyLmlkbDogQWRk
ZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEwLTA2LTE4ICBBbmRlcnMg
Q2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2Ft
IFdlaW5pZy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggN2FjM2U1MWZmNzI5ZGIzZGM3NzcwN2FiZTc2ODFj
YzYyOWRjMTJlZC4uZGUzOTNkNjUxODRkZTUzM2UxNGEwYzlmYTRiNmNjNjFkNWMzYTU2NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJKU0JhckluZm8uY3BwIgog
I2luY2x1ZGUgIkpTQmVmb3JlTG9hZEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0Jsb2IuY3BwIgor
I2luY2x1ZGUgIkpTQmxvYkJ1aWxkZXIuY3BwIgogI2luY2x1ZGUgIkpTQ2FudmFzR3JhZGllbnQu
Y3BwIgogI2luY2x1ZGUgIkpTQ2FudmFzUGF0dGVybi5jcHAiCiAjaW5jbHVkZSAiSlNDYW52YXNS
ZW5kZXJpbmdDb250ZXh0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3ZWM5MTVmMmYzNmIxYWIy
NTE1NTNlMGVmMGMyNGU1MDk1MGRhYmNmLi41NGFkYTU2ZWFhYTAxY2ZmZjAyYzYzNzE4MTQzNWRl
MDZjYTE1YzIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01NCw2ICs1NCw3IEBAIERPTV9DTEFTU0VT
ID0gXAogICAgIEJhckluZm8gXAogICAgIEJlZm9yZUxvYWRFdmVudCBcCiAgICAgQmxvYiBcCisg
ICAgQmxvYkJ1aWxkZXIgXAogICAgIENEQVRBU2VjdGlvbiBcCiAgICAgQ1NTQ2hhcnNldFJ1bGUg
XAogICAgIENTU0ZvbnRGYWNlUnVsZSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBlNzg1NzQ5NmFlODZlNTZkNzRhYjYy
YWM2YTJhZjkyMzQzOTg0OGYwLi41Y2VhY2I5ODZiYThlZjM0MDI2ZDNmNGE5ZjhhYTg1MGIxZTEw
ZDgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KQEAgLTE4MCw2ICsxODAsNyBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNv
cmUvZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5pZGwgXAogCVdlYkNvcmUvZG9tL1doZWVsRXZl
bnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvQmxvYi5pZGwgXAorCVdlYkNvcmUvaHRtbC9CbG9iQnVp
bGRlci5pZGwgXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3LmlkbCBcCiAJ
V2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwgXAogCVdlYkNvcmUvaHRtbC9jYW52
YXMvSW50OEFycmF5LmlkbCBcCkBAIC0zOTEsNiArMzkyLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAgXAogCVdlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNBdHRyQ3Vz
dG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Jsb2JCdWlsZGVyQ3VzdG9tLmNwcCBc
CiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5jcHAgXAogCVdlYkNv
cmUvYmluZGluZ3MvanMvSlNEYXRhR3JpZENvbHVtbkxpc3RDdXN0b20uY3BwIFwKIAlXZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRGF0YUdyaWREYXRhU291cmNlLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGYyY2RkNjczZjMw
MzM3MmYxNjdmODBhODQ0MzBiNWI2ZWEzNGZhOTAuLmFjODUxOGUzNWI1YjA3NmU0NjkzYmJjN2Fi
NTAzYmIxNTlmNWQ5YjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC04Myw2ICs4Myw3IEBACiAgICAgICAgICAgICAnZG9tL1dl
YktpdFRyYW5zaXRpb25FdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XaGVlbEV2ZW50Lmlk
bCcsCiAgICAgICAgICAgICAnaHRtbC9CbG9iLmlkbCcsCisgICAgICAgICAgICAnaHRtbC9CbG9i
QnVpbGRlci5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5p
ZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0FycmF5QnVmZmVyVmlldy5pZGwnLAogICAg
ICAgICAgICAgJ2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbCcsCkBAIC02OTAsNiArNjkxLDcg
QEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0
b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZm
ZXJDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhCbG9iQnVp
bGRlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDhB
cnJheUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDMy
QXJyYXlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhGbG9h
dDMyQXJyYXlDdXN0b20uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9X
ZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IDI1Yzk1ZmZjYmU2NDc2Njk0MDJjYTUxYzc4MjdhN2Y4
MjhhOWE5NzUuLmI0ZTM1MDc3ODNkNjNlZjNiYTUxZmFmOWVkZjI3MTA0OThiNTRhZTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAt
MzE5LDYgKzMxOSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZG9tL1dlYktpdFRyYW5zaXRp
b25FdmVudC5pZGwgXAogICAgIGRvbS9XaGVlbEV2ZW50LmlkbCBcCiAgICAgaHRtbC9CbG9iLmlk
bCBcCisgICAgaHRtbC9CbG9iQnVpbGRlci5pZGwgXAogICAgIGh0bWwvY2FudmFzL0FycmF5QnVm
ZmVyVmlldy5pZGwgXAogICAgIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbCBcCiAgICAgaHRt
bC9jYW52YXMvSW50OEFycmF5LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJv
IGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA5MmE3NzVjMDg5NzIyZjZlNDA3MjlhZmNhODRh
M2UxZTY4Yzg2Yzg2Li5iOTY0NGNkOTIzN2ZjYWM2OGU4NjE0Mzg2MzIxMjhiMjdiODQ4Njg5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8K
QEAgLTI3MSw2ICsyNzEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBiaW5kaW5ncy9qcy9ET01XcmFw
cGVyV29ybGQuY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAgXAogICAg
IGJpbmRpbmdzL2pzL0pTQXR0ckN1c3RvbS5jcHAgXAorICAgIGJpbmRpbmdzL2pzL0pTQmxvYkJ1
aWxkZXJDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0NEQVRBU2VjdGlvbkN1c3RvbS5j
cHAgXAogICAgIGJpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAg
XAogICAgIGJpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCBc
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA2MjRkNDMzNjViOGZiNGRh
YTNkZDFhMzU0NzU4ZTNhOGRjYjNlZWY5Li4xM2E0YjBjZmRmYzlhY2E1ZWNlNGY4NDM1M2JlZmZj
NTg5M2ZiNGNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTc3Nyw2
ICs3NzcsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0Jsb2JCdWlsZGVyLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNCbG9iQnVpbGRlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0NhbnZhc0dyYWRpZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zNzkyMCw2ICszNzkyOCwxMCBAQAogCQkJCQk+DQogCQkJ
CTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNc
SlNCbG9iQnVpbGRlckN1c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZp
bGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNDYWxsYmFja0RhdGEuY3Bw
Ig0KIAkJCQkJPg0KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5MTUzMzJmOTYyNWViOTQxYmNlOWNhYmY5Njkz
ZjVkNGI2YWRkOTE0Li41MWE0MWRjYjk0YzUzYzA3MDljODNlZDlhODM4YTQ0ZTI2MDAyZTA4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjI3Miw2ICsy
MjcyLDkgQEAKIAkJODk4OEUxMEYxMUEzNTA4QjAwREI3MzJFIC8qIEJsb2JJdGVtLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg4RTEwRDExQTM1MDhC
MDBEQjczMkUgLyogQmxvYkl0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk4OUJFRDVFQjExQkUxMUNFMDA0NDg0OTIgLyogQmxvYkJ1aWxkZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODlCRUQ1
RTkxMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmNwcCAqLzsgfTsKIAkJODlCRUQ1RUMx
MUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OUJFRDVFQTExQkUxMUNFMDA0NDg0OTIgLyogQmxvYkJ1
aWxkZXIuaCAqLzsgfTsKKwkJODlDRDAyOTMxMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxk
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODlD
RDAyOTExMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuY3BwICovOyB9OworCQk4OUNE
MDI5NDExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODlDRDAyOTIxMUM4NUI4NzAwNzBCNzkxIC8q
IEpTQmxvYkJ1aWxkZXIuaCAqLzsgfTsKKwkJODlDRDAzQkYxMUM4NjVFMzAwNzBCNzkxIC8qIEpT
QmxvYkJ1aWxkZXJDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODlDRDAzQkUxMUM4NjVFMzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXJDdXN0
b20uY3BwICovOyB9OwogCQk4RkFDNzc0RDExOTg3MkNCMDAxNUFFOTQgLyogSlNNYWluVGhyZWFk
RXhlY1N0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhGOTM0RDg0MTE4OUYxRUUwMDUwOEQ1RCAvKiBKU01haW5UaHJlYWRFeGVjU3RhdGUuY3Bw
ICovOyB9OwogCQk5MzAyQjBCRDBENzlGODI5MDBDN0VFODMgLyogUGFnZUdyb3VwLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDJCMEJDMEQ3OUY4
MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwICovOyB9OwogCQk5MzAyQjBCRjBENzlGODJDMDBD
N0VFODMgLyogUGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5MzAyQjBCRTBENzlGODJDMDBDN0VFODMgLyogUGFnZUdyb3VwLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTc4ODAsNiArNzg4
MywxMCBAQAogCQk4OTg4RTEwRDExQTM1MDhCMDBEQjczMkUgLyogQmxvYkl0ZW0uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmxvYkl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODlCRUQ1RTkxMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJsb2JCdWlsZGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODlCRUQ1RUExMUJFMTFDRTAwNDQ4NDkyIC8qIEJs
b2JCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJsb2JCdWlsZGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5Q0QwMjc5MTFDODU5QTgwMDcwQjc5
MSAvKiBCbG9iQnVpbGRlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQmxvYkJ1aWxkZXIu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OUNEMDI5MTExQzg1Qjg3MDA3MEI3
OTEgLyogSlNCbG9iQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0Jsb2JCdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODlD
RDAyOTIxMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNCbG9iQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4OUNEMDNCRTExQzg2NUUzMDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlckN1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Jsb2JCdWlsZGVyQ3Vz
dG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEY5MzREODMxMTg5RjFFRTAw
NTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU01haW5UaHJlYWRFeGVjU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOEY5MzREODQxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01haW5UaHJlYWRF
eGVjU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAyQjBCQzBENzlG
ODI5MDBDN0VFODMgLyogUGFnZUdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBhZ2VHcm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
MzM5Nyw2ICsxMzQwNCw3IEBACiAJCQkJMkVBRkFGMEQxMEUyQUYyRDAwN0VEM0Q2IC8qIEJsb2Iu
aWRsICovLAogCQkJCTg5QkVENUU5MTFCRTExQ0UwMDQ0ODQ5MiAvKiBCbG9iQnVpbGRlci5jcHAg
Ki8sCiAJCQkJODlCRUQ1RUExMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmggKi8sCisJ
CQkJODlDRDAyNzkxMUM4NTlBODAwNzBCNzkxIC8qIEJsb2JCdWlsZGVyLmlkbCAqLywKIAkJCQk5
M0M0NDFFRDBGODEzQTFBMDBDMUE2MzQgLyogQ29sbGVjdGlvbkNhY2hlLmNwcCAqLywKIAkJCQk5
M0M0NDFFRTBGODEzQTFBMDBDMUE2MzQgLyogQ29sbGVjdGlvbkNhY2hlLmggKi8sCiAJCQkJOTND
NDQxRkYwRjgxM0FFMTAwQzFBNjM0IC8qIENvbGxlY3Rpb25UeXBlLmggKi8sCkBAIC0xMzc4Miw2
ICsxMzc5MCw4IEBACiAJCQkJNDlFRUNGMUExMDUwNzJGMzAwMDk5RkFCIC8qIEpTQXJyYXlCdWZm
ZXJWaWV3LmggKi8sCiAJCQkJMkUyRDk5Q0IxMEUyQkJEQTAwNDk2MzM3IC8qIEpTQmxvYi5jcHAg
Ki8sCiAJCQkJMkUyRDk5Q0MxMEUyQkJEQTAwNDk2MzM3IC8qIEpTQmxvYi5oICovLAorCQkJCTg5
Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCAqLywKKwkJCQk4OUNE
MDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5oICovLAogCQkJCTY1REYzMjMz
MDlEMURFNjUwMDBCRTMyNSAvKiBKU0NhbnZhc0dyYWRpZW50LmNwcCAqLywKIAkJCQk2NURGMzIz
NDA5RDFERTY1MDAwQkUzMjUgLyogSlNDYW52YXNHcmFkaWVudC5oICovLAogCQkJCTY1REYzMjM1
MDlEMURFNjUwMDBCRTMyNSAvKiBKU0NhbnZhc1BhdHRlcm4uY3BwICovLApAQCAtMTU0NzksNiAr
MTU0ODksNyBAQAogCQkJCTQ5MjI3M0EyMTA4M0IzQjEwMEVFNUM4NCAvKiBKU0FycmF5QnVmZmVy
Vmlld0N1c3RvbS5jcHAgKi8sCiAJCQkJODYyNDNEMDAxMUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJy
YXlCdWZmZXJWaWV3SGVscGVyLmggKi8sCiAJCQkJQkMyRUQ2QkIwQzZCRDJGMDAwOTIwQkZGIC8q
IEpTQXR0ckN1c3RvbS5jcHAgKi8sCisJCQkJODlDRDAzQkUxMUM4NjVFMzAwNzBCNzkxIC8qIEpT
QmxvYkJ1aWxkZXJDdXN0b20uY3BwICovLAogCQkJCTQ5RUVEMTRCMTA1MTk3MTkwMDA5OUZBQiAv
KiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAgKi8sCiAJCQkJNDlFRUQxNEQx
MDUxOTcxQTAwMDk5RkFCIC8qIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8s
CiAJCQkJOTNCQTU5QjEwRjJBQTVGRTAwOEU4RTk5IC8qIEpTQ0RBVEFTZWN0aW9uQ3VzdG9tLmNw
cCAqLywKQEAgLTE4MTkwLDYgKzE4MjAxLDcgQEAKIAkJCQlCQzEyNEYwMDBDMjY0NDdBMDA5RTIz
NDkgLyogSlNCYXJJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzk0NjM0ODEwN0E5MzY2MDA4
NTcxOTMgLyogSlNCZWZvcmVMb2FkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFMkQ5OUNF
MTBFMkJCREEwMDQ5NjMzNyAvKiBKU0Jsb2IuaCBpbiBIZWFkZXJzICovLAorCQkJCTg5Q0QwMjk0
MTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
NDQ5RTI0QzEwN0Q0QTg0MDBCNTc5M0YgLyogSlNDYWxsYmFja0RhdGEuaCBpbiBIZWFkZXJzICov
LAogCQkJCTY1REYzMjNBMDlEMURFNjUwMDBCRTMyNSAvKiBKU0NhbnZhc0dyYWRpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQk2NURGMzIzQzA5RDFERTY1MDAwQkUzMjUgLyogSlNDYW52YXNQYXR0
ZXJuLmggaW4gSGVhZGVycyAqLywKQEAgLTIwNTEwLDYgKzIwNTIyLDggQEAKIAkJCQlCQzEyNEVG
RjBDMjY0NDdBMDA5RTIzNDkgLyogSlNCYXJJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
OTQ2MzQ2MTA3QTkzNEIwMDg1NzE5MyAvKiBKU0JlZm9yZUxvYWRFdmVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyRTJEOTlDRDEwRTJCQkRBMDA0OTYzMzcgLyogSlNCbG9iLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTg5Q0QwMjkzMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTg5Q0QwM0JGMTFDODY1RTMwMDcwQjc5MSAvKiBKU0Jsb2JC
dWlsZGVyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NDlFMjg3MTA3RDREQjQwMEI1
NzkzRiAvKiBKU0NhbGxiYWNrRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzIzOTA5
RDFERTY1MDAwQkUzMjUgLyogSlNDYW52YXNHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk2NURGMzIzQjA5RDFERTY1MDAwQkUzMjUgLyogSlNDYW52YXNQYXR0ZXJuLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Jsb2JCdWlsZGVyQ3Vz
dG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCbG9iQnVpbGRlckN1c3RvbS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjM1NWQwM2NiOTgwMGQzZjFhNjNiNzFmNDdhM2Y4NjAwYzc3MjEyYwotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCbG9iQnVpbGRlckN1c3RvbS5jcHAK
QEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkpTQmxvYkJ1
aWxkZXIuaCIKKworI2luY2x1ZGUgIkJsb2IuaCIKKyNpbmNsdWRlICJCbG9iQnVpbGRlci5oIgor
I2luY2x1ZGUgIkpTQmxvYi5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKwordXNpbmcg
bmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTQmxvYkJ1
aWxkZXI6OmFwcGVuZChFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgaWYgKGV4ZWMtPmFyZ3VtZW50
Q291bnQoKSA+PSAxKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBleGVjLT5hcmd1bWVudCgw
KTsKKyAgICAgICAgaWYgKHZhbHVlLmluaGVyaXRzKCZKU0Jsb2I6OnNfaW5mbykpCisgICAgICAg
ICAgICBpbXBsKCktPmFwcGVuZEJsb2IodG9CbG9iKHZhbHVlKSk7CisgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgICAgICBTdHJpbmcgZW5k
aW5nczsKKyAgICAgICAgICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPiAxKQorICAgICAg
ICAgICAgICAgIGVuZGluZ3MgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMSkudG9T
dHJpbmcoZXhlYykpOworICAgICAgICAgICAgaW1wbCgpLT5hcHBlbmRTdHJpbmcodXN0cmluZ1Rv
U3RyaW5nKHZhbHVlLnRvU3RyaW5nKGV4ZWMpKSwgZW5kaW5ncywgZWMpOworICAgICAgICAgICAg
c2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JCdWlsZGVyQ3VzdG9tLmNwcCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkJ1aWxkZXJDdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY1Nzc4MDFiNTdjYzY5ZjRjMDAxMmU3ZTY5NWFiZDc1Mjk3NzRkZjAKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JCdWlsZGVyQ3VzdG9tLmNw
cApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIlY4Qmxv
YkJ1aWxkZXIuaCIKKworI2luY2x1ZGUgIkJsb2JCdWlsZGVyLmgiCisjaW5jbHVkZSAiVjhCaW5k
aW5nLmgiCisjaW5jbHVkZSAiVjhCbG9iLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorI2luY2x1
ZGUgIlY4VXRpbGl0aWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4QmxvYkJ1aWxkZXI6OmFwcGVuZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uQmxvYkJ1aWxkZXIuYXBwZW5kKCkiKTsK
KyAgICBCbG9iQnVpbGRlciogYmxvYkJ1aWxkZXIgPSBWOEJsb2JCdWlsZGVyOjp0b05hdGl2ZShh
cmdzLkhvbGRlcigpKTsKKworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIGlmIChhcmdz
Lkxlbmd0aCgpID49IDEpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlID0g
YXJnc1swXTsKKyAgICAgICAgaWYgKFY4QmxvYjo6SGFzSW5zdGFuY2UodmFsdWUpKSB7CisgICAg
ICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCA9IHY4OjpIYW5kbGU8djg6Ok9i
amVjdD46OkNhc3QodmFsdWUpOworICAgICAgICAgICAgQmxvYiogYmxvYiA9IFY4QmxvYjo6dG9O
YXRpdmUob2JqZWN0KTsKKyAgICAgICAgICAgIGJsb2JCdWlsZGVyLT5hcHBlbmRCbG9iKGJsb2Ip
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgU3RyaW5nIGVuY29kaW5nOworICAgICAg
ICAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAxKQorICAgICAgICAgICAgICAgIGVuY29kaW5nID0g
dG9XZWJDb3JlU3RyaW5nKGFyZ3NbMV0pOworICAgICAgICAgICAgYmxvYkJ1aWxkZXItPmFwcGVu
ZFN0cmluZyh0b1dlYkNvcmVTdHJpbmcodmFsdWUpLCBlbmNvZGluZywgZWMpOworICAgICAgICB9
CisgICAgfQorICAgIGlmIChlYykKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOworICAg
IHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9CbG9iQnVpbGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvQmxv
YkJ1aWxkZXIuY3BwCmluZGV4IDA1OTlmNDg2OWMyZjZmYTQ2MDI5ZDI3OThmOTc4NjVmY2M5NmE2
NmUuLjYyMmIzYTYwMjY3NDg5MGNlMmU3ZmM0ZmNkMjdmNGY3MDdlZjk5ZDcgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9CbG9iQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0Jsb2JCdWls
ZGVyLmNwcApAQCAtMzAsOCArMzAsNiBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBF
TkFCTEUoRklMRV9XUklURVIpCi0KICNpbmNsdWRlICJCbG9iQnVpbGRlci5oIgogCiAjaW5jbHVk
ZSAiQXRvbWljU3RyaW5nLmgiCkBAIC04NSw1ICs4MywzIEBAIFBhc3NSZWZQdHI8QmxvYj4gQmxv
YkJ1aWxkZXI6OmdldEJsb2IoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgY29uc3QKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEZJTEVfV1JJVEVSKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0Jsb2JCdWlsZGVyLmggYi9XZWJDb3JlL2h0bWwvQmxv
YkJ1aWxkZXIuaAppbmRleCAwZDQzNGEzMDQxZTJmZDMwY2E1MTVlNDk4MmI1NzMyZmY5MzVmNDhm
Li43YmQwOThiZWEzYTdiZjVkYmQ4Y2NiMWUyN2Q1NjQ2MWM4MGQ1MThhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvQmxvYkJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvQmxvYkJ1aWxkZXIu
aApAQCAtMzEsOCArMzEsNiBAQAogI2lmbmRlZiBCbG9iQnVpbGRlcl9oCiAjZGVmaW5lIEJsb2JC
dWlsZGVyX2gKIAotI2lmIEVOQUJMRShGSUxFX1dSSVRFUikKLQogI2luY2x1ZGUgIkJsb2JJdGVt
LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgpAQCAtNTAsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBhcHBlbmRTdHJpbmcoY29u
c3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIGVuZGluZywgRXhjZXB0aW9uQ29kZSYpOwog
ICAgIGJvb2wgYXBwZW5kQmxvYihQYXNzUmVmUHRyPEJsb2I+KTsKIAotICAgIFBhc3NSZWZQdHI8
QmxvYj4gZ2V0QmxvYihjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBjb25zdDsKKyAgICBQYXNz
UmVmUHRyPEJsb2I+IGdldEJsb2IoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSA9IFN0cmluZygp
KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBCbG9iSXRlbUxpc3QgbV9pdGVtczsKQEAgLTU4LDcg
KzU2LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0KLSNlbmRpZiAv
LyBFTkFCTEUoRklMRV9XUklURVIpCi0KICNlbmRpZiAvLyBCbG9iQnVpbGRlcl9oCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvQmxvYkJ1aWxkZXIuaWRsIGIvV2ViQ29yZS9odG1sL0Jsb2JCdWls
ZGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yODkyZjMzMTc4MDgyNDE4NGE5NWRmNWFkZjY4NGRjMmQ1NDA2
ZjM0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0Jsb2JCdWlsZGVyLmlkbApAQCAt
MCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENhbkJl
Q29uc3RydWN0ZWQsCisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBCbG9iQnVpbGRlciB7
CisgICAgICAgIEJsb2IgZ2V0QmxvYihpbiBbT3B0aW9uYWwsIENvbnZlcnRVbmRlZmluZWRPck51
bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBjb250ZW50VHlwZSk7CisgICAgICAgIFtDdXN0b21d
IHZvaWQgYXBwZW5kKC8qIG92ZXJsb2FkZWQgKi8pOworICAgIH07CisKK30KKwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAppbmRleCA3OTFlY2IxZmIwNDdhZjQ0M2VkMjY2NjNjNGY1MzViNGEyMDljZDJiLi5lYTJlMGFi
Nzg1YzViZTRkODE2NTE4YThjMjEzZjA4MWE3MWE2NzM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNzM2
LDYgKzczNiw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlv
bmFsPUZJTEVfUkVBREVSfEZJTEVfV1JJVEVSXSBGaWxlRXJyb3JDb25zdHJ1Y3RvciBGaWxlRXJy
b3I7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9RklMRV9SRUFERVJdIEZpbGVSZWFk
ZXJDb25zdHJ1Y3RvciBGaWxlUmVhZGVyOwogCisgICAgICAgIGF0dHJpYnV0ZSBCbG9iQnVpbGRl
ckNvbnN0cnVjdG9yIEJsb2JCdWlsZGVyOworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9K
QVZBU0NSSVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5HCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59175</attachid>
            <date>2010-06-18 20:39:50 -0700</date>
            <delta_ts>2010-06-19 16:55:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40593-20100618203948.patch</filename>
            <type>text/plain</type>
            <size>60741</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0OTY2NGM1M2JhOWFmNDMxZDAxNjE2NDEwY2Q4NzE5OGM3N2Q2ZDY0Li4wYjQ3MmQx
ZWNiYWY4MTY0Mzc0ZGM5ZThjZWI5OWIzZGY2Mzk5MjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAK
KzIwMTAtMDYtMTcgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBCbG9iQnVpbGRl
ci5pZGwgdG8gZXhwb3NlIEJsb2JCdWlsZGVyIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA1OTMKKworICAgICAgICBBZGQgbmV3IGxh
eW91dCB0ZXN0cyB0byB0ZXN0IEJsb2JCdWlsZGVyIGludGVyZmFjZS4KKyAgICAgICAgQWxzbyB1
cGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgYWZmZWN0ZWQgYnkgYWRkaW5nIHRoZSBjb25zdHJ1Y3Rv
cnMgdG8gRE9NV2luZG93LgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jb25z
dHJ1Y3RlZC1vYmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
anMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9sb2NhbC9yZXNvdXJjZXMvZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL2h5YnJpZC1ibG9iLXV0aWwuanM6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtZGF0YS1ibG9i
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWh5
YnJpZC1ibG9iLmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNl
cy9zZW5kLXNsaWNlZC1kYXRhLWJsb2IuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
bG9jYWwvc2VuZC1kYXRhLWJsb2ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvY2FsL3NlbmQtZGF0YS1ibG9iLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbG9jYWwvc2VuZC1oeWJyaWQtYmxvYi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbG9jYWwvc2VuZC1oeWJyaWQtYmxvYi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2xvY2FsL3NlbmQtc2xpY2UtZGF0YS1ibG9iLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlLWRhdGEtYmxvYi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlcy9wb3N0LWFuZC12ZXJp
ZnktaHlicmlkLmNnaTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9k
b20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvU2tpcHBlZDogQWRkZWQgc2VuZC1oeWJyaWQtYmxvYi5odG1sIGFuZCBzZW5kLXNsaWNl
ZC1kYXRhLWJsb2IuaHRtbCBiZWNhdXNlIHRoZXkgbmVlZCBldmVudFNlbmRlci5iZWdpbkRyYWdX
aXRoRmlsZXMgQmxvYi5zbGljZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5j
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDogQWRkZWQgc2Vu
ZC1oeWJyaWQtYmxvYi5odG1sIGFuZCBzZW5kLXNsaWNlZC1kYXRhLWJsb2IuaHRtbCBiZWNhdXNl
IHRoZXkgbmVlZCBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMgQmxvYi5zbGljZS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0
L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vd2luL1NraXBwZWQ6IEFkZGVkIHNlbmQtaHlicmlkLWJsb2IuaHRtbCBhbmQgc2Vu
ZC1zbGljZWQtZGF0YS1ibG9iLmh0bWwgYmVjYXVzZSB0aGV5IG5lZWQgZXZlbnRTZW5kZXIuYmVn
aW5EcmFnV2l0aEZpbGVzIEJsb2Iuc2xpY2UuCisgICAgICAgICogcGxhdGZvcm0vd2luL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQ6CisKIDIwMTAtMDYtMTggIEFiaGlzaGVrIEFyeWEgIDxpbmZl
cm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1leHBlY3RlZC50eHQKaW5kZXggYTc2YjgwMTgxMzQ0OTlhMDZjMzZhOTIyZDdiOTBmOTA2ZTEx
MmUzYS4uMDIzYjA0YTA2NTJkYTUzNmFhYzRmNDFhNDIzYzRkNmZhMzNlMjVkMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0CkBAIC0xNTAsNiArMTUwLDEwIEBAIHdpbmRvdy5CZWZvcmVMb2FkRXZlbnQu
cHJvdG90eXBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiBbZnVuY3Rpb25dCiB3aW5kb3cuQmVm
b3JlTG9hZEV2ZW50LnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQogd2luZG93
LkJsb2IgW29iamVjdCBCbG9iQ29uc3RydWN0b3JdCiB3aW5kb3cuQmxvYi5wcm90b3R5cGUgW29i
amVjdCBCbG9iUHJvdG90eXBlXQord2luZG93LkJsb2JCdWlsZGVyIFtvYmplY3QgQmxvYkJ1aWxk
ZXJDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUgW29iamVjdCBCbG9i
QnVpbGRlclByb3RvdHlwZV0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuYXBwZW5kIFtm
dW5jdGlvbl0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuZ2V0QmxvYiBbZnVuY3Rpb25d
CiB3aW5kb3cuQ0RBVEFTZWN0aW9uIFtvYmplY3QgQ0RBVEFTZWN0aW9uQ29uc3RydWN0b3JdCiB3
aW5kb3cuQ0RBVEFTZWN0aW9uLnByb3RvdHlwZSBbb2JqZWN0IENEQVRBU2VjdGlvblByb3RvdHlw
ZV0KIHdpbmRvdy5DREFUQVNlY3Rpb24ucHJvdG90eXBlLkFUVFJJQlVURV9OT0RFIFtudW1iZXJd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5
LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4IGQ0ZDM0YzIzYmVi
YWJjN2Y1YTFlYWMxMTc1ZmQyZjMyY2Q5MGQ3Y2IuLmVmYzg3ZTY5MWFjOTYxNmYxYTA3YmE4Njhm
NmFkYTMzYjIxNDEyOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0
CkBAIC04LDYgKzgsNyBAQCBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgJ0F0dHInKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdBdWRpbycpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0JlZm9yZUxvYWRF
dmVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ0Jsb2InKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdCbG9iQnVpbGRlcicpIGlzICdvYmplY3Qn
CiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jv
b2xlYW4nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcih3aW5kb3csICdDREFUQVNlY3Rpb24nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdDU1NDaGFyc2V0UnVsZScp
IGlzICdvYmplY3QnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb25zdHJ1Y3Rl
ZC1vYmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
Y29uc3RydWN0ZWQtb2JqZWN0cy1wcm90b3R5cGVzLWV4cGVjdGVkLnR4dAppbmRleCA4NjlhZTE2
MTg0MWIxZmU1OTQyOWMzYTgyODI0MzM0MmY1ZjBlODJiLi4yN2YwZmI4ODk1ZWIwMDI1NTgxZjc2
NGNmOTM2NzljNTFlNGY5YmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb25z
dHJ1Y3RlZC1vYmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL2NvbnN0cnVjdGVkLW9iamVjdHMtcHJvdG90eXBlcy1leHBlY3RlZC50eHQKQEAg
LTUsNiArNSw4IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgKG5ldyBpbm5lci5B
dWRpbygpKS5pc0lubmVyIGlzIHRydWUKIFBBU1MgKG5ldyBpbm5lci5BdWRpbygpKS5jb25zdHJ1
Y3Rvci5pc0lubmVyIGlzIHRydWUKK1BBU1MgKG5ldyBpbm5lci5CbG9iQnVpbGRlcigpKS5pc0lu
bmVyIGlzIHRydWUKK1BBU1MgKG5ldyBpbm5lci5CbG9iQnVpbGRlcigpKS5jb25zdHJ1Y3Rvci5p
c0lubmVyIGlzIHRydWUKIFBBU1MgKG5ldyBpbm5lci5ET01QYXJzZXIoKSkuaXNJbm5lciBpcyB0
cnVlCiBQQVNTIChuZXcgaW5uZXIuRE9NUGFyc2VyKCkpLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMg
dHJ1ZQogUEFTUyAobmV3IGlubmVyLkZvcm1EYXRhKCkpLmlzSW5uZXIgaXMgdHJ1ZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhw
ZWN0ZWQudHh0CmluZGV4IDQxYTc4Y2RkMWRiODAzMmJlM2Q5NmRhNTNkMmE3ODIyOGRmOTk3NzIu
LjIwMWVkOTU4YjI3ODgzNGU1YTY4NmZmNWViZjAxMzc1ZDcxMmMyNGUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3Rl
ZC50eHQKQEAgLTIwOCw2ICsyMDgsNyBAQCBQQVNTIFdlYktpdENTU0tleWZyYW1lc1J1bGUgZnJv
bSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZQogUEFTUyBX
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjYuY29uc3RydWN0b3IKIFBB
U1MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNi5fX3Byb3RvX18KIE5l
dmVyIGZvdW5kIEF1ZGlvCitOZXZlciBmb3VuZCBCbG9iQnVpbGRlcgogTmV2ZXIgZm91bmQgQmxv
YgogTmV2ZXIgZm91bmQgQ0RBVEFTZWN0aW9uCiBOZXZlciBmb3VuZCBDU1NSdWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVk
LnR4dAppbmRleCAzMjQ1YjNlN2VmYjEwZDYwOTBjNDcwZTc1NTMzZjdlM2I2OTlkMjlmLi41ZTAx
YWFkZjYxMDc4NWNkYTc1MTEyYTE2MWNjN2NjZTYwODk4ZDMyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAg
LTExLDYgKzExLDggQEAgUEFTUyBpbm5lci5CZWZvcmVMb2FkRXZlbnQuaXNJbm5lciBpcyB0cnVl
CiBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUK
IFBBU1MgaW5uZXIuQmxvYi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5jb25zdHJ1
Y3Rvci5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuaXNJbm5lciBpcyB0
cnVlCitQQVNTIGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQog
UEFTUyBpbm5lci5DREFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkNEQVRB
U2VjdGlvbi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQ1NTQ2hhcnNl
dFJ1bGUuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9i
YWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA0MDA3OTdkOTA5NzJmOTA1NWE0NjM3
NGY5ZTdjNTFjMzkyYTc4ZDhiLi5iYzlmNjdmMWExYzg5YjE1YmNhMjEwYjhlNDM3Mzc3Njg4MjIy
NGQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQKQEAgLTcsNiArNyw3IEBAIFBBU1MgQXR0ci50b1N0cmluZygpIGlzICdb
b2JqZWN0IEF0dHJDb25zdHJ1Y3Rvcl0nCiBQQVNTIEF1ZGlvLnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgQXVkaW9Db25zdHJ1Y3Rvcl0nCiBQQVNTIEJlZm9yZUxvYWRFdmVudC50b1N0cmluZygpIGlz
ICdbb2JqZWN0IEJlZm9yZUxvYWRFdmVudENvbnN0cnVjdG9yXScKIFBBU1MgQmxvYi50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IEJsb2JDb25zdHJ1Y3Rvcl0nCitQQVNTIEJsb2JCdWlsZGVyLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgQmxvYkJ1aWxkZXJDb25zdHJ1Y3Rvcl0nCiBQQVNTIENEQVRBU2Vj
dGlvbi50b1N0cmluZygpIGlzICdbb2JqZWN0IENEQVRBU2VjdGlvbkNvbnN0cnVjdG9yXScKIFBB
U1MgQ1NTQ2hhcnNldFJ1bGUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NDaGFyc2V0UnVsZUNv
bnN0cnVjdG9yXScKIFBBU1MgQ1NTRm9udEZhY2VSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3Qg
Q1NTRm9udEZhY2VSdWxlQ29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMvZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9maWxlLWZvci1kcmFnLXRvLXNlbmQy
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MmQwMDdiNmVkYjVjZWE2ZDVjMjQzYzgyYzdiZTI0NmRmZDhjNjMx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJj
ZXMvZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQKQEAgLTAsMCArMSBAQAorQUJDREVGR0hJSktM
TU5PUFFSU1RVVldYWVoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwv
cmVzb3VyY2VzL2h5YnJpZC1ibG9iLXV0aWwuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
Y2FsL3Jlc291cmNlcy9oeWJyaWQtYmxvYi11dGlsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjZTIwZmVmNDU5
OWNjYzk4ODljNGFjYWM4NzBjNTlhMDlmNWU0NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9oeWJyaWQtYmxvYi11dGlsLmpzCkBAIC0w
LDAgKzEsMTQ2IEBACit2YXIgSHlicmlkQmxvYlRlc3RVdGlsID0gZnVuY3Rpb24odGVzdEZ1bmMs
IG9wdF9maWxlUGF0aHMpIHsKKyAgICB0aGlzLnRlc3RDYWxsYmFja0Z1bmMgPSB0ZXN0RnVuYzsK
KworICAgIHRoaXMudGVzdEZpbGVQYXRocyA9IG9wdF9maWxlUGF0aHM7CisgICAgdGhpcy50ZXN0
RmlsZXMgPSBbXTsKKyAgICB0aGlzLnRlc3RGaWxlTWFwID0ge307CisgICAgdGhpcy5maWxlSW5w
dXQgPSBudWxsOworCisgICAgdGhpcy5kcmFnQmFzZURpciA9ICIiOworICAgIHRoaXMudXJsUGF0
aEJhc2VEaXIgPSAiIjsKKworICAgIHRoaXMudGVzdFVybCA9ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcmVzb3VyY2VzL3Bvc3QtYW5kLXZlcmlmeS1oeWJyaWQuY2dpIjsKKworICAgIHRoaXMudXBs
b2FkQmxvYiA9IGZ1bmN0aW9uKGJsb2IsIHVybFBhcmFtZXRlcikKKyAgICB7CisgICAgICAgIHZh
ciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgeGhyLm9wZW4oIlBPU1QiLCB0
aGlzLnRlc3RVcmwgKyAiPyIgKyB1cmxQYXJhbWV0ZXIsIGZhbHNlKTsKKworICAgICAgICB2YXIg
cGFzc2VkOworICAgICAgICB2YXIgbWVzc2FnZTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IHhoci5zZW5kKGJsb2IpOworICAgICAgICAgICAgaWYgKHhoci5yZXNwb25zZVRleHQgPT0gIk9L
IikgeworICAgICAgICAgICAgICAgIHBhc3NlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgbWVz
c2FnZSA9ICJFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiAiICsgeGhyLnJlc3BvbnNl
VGV4dDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcGFzc2VkID0gZmFs
c2U7CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJVbmV4cGVjdGVkIHJlc3BvbnNlIGRhdGEg
cmVjZWl2ZWQ6ICIgKyB4aHIucmVzcG9uc2VUZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9
IGNhdGNoIChleCkgeworICAgICAgICAgICAgcGFzc2VkID0gZmFsc2U7CisgICAgICAgICAgICBt
ZXNzYWdlID0gIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHRocm93bjogIiArIGV4OworICAgICAgICB9
CisKKyAgICAgICAgaWYgKHBhc3NlZCkKKyAgICAgICAgICAgIHRlc3RQYXNzZWQobWVzc2FnZSk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRlc3RGYWlsZWQobWVzc2FnZSArICcgcGFyYW1z
OicgKyB1cmxQYXJhbWV0ZXIpOworICAgIH07CisKKyAgICB0aGlzLm9uSW5wdXRGaWxlQ2hhbmdl
ID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIGZpbGVzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImZpbGUiKS5maWxlczsKKyAgICAgICAgdGhpcy50ZXN0RmlsZXMgPSBuZXcgQXJy
YXkoKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykgewor
ICAgICAgICAgICAgdGhpcy50ZXN0RmlsZXMucHVzaChmaWxlc1tpXSk7CisgICAgICAgICAgICB0
aGlzLnRlc3RGaWxlTWFwW3Rlc3RGaWxlUGF0aHNbaV1dID0gZmlsZXNbaV07CisgICAgICAgIH0K
KyAgICAgICAgdGhpcy50ZXN0Q2FsbGJhY2tGdW5jKCk7CisgICAgfTsKKworICAgIHRoaXMucnVu
VGVzdHNXaXRoRHJhZyA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuZmlsZUlucHV0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKKyAgICAgICAgdGhpcy5maWxlSW5w
dXQuaWQgPSAiZmlsZSI7CisgICAgICAgIHRoaXMuZmlsZUlucHV0LnR5cGUgPSAiZmlsZSI7Cisg
ICAgICAgIHRoaXMuZmlsZUlucHV0LnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgICAgICAgdGhp
cy5maWxlSW5wdXQuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgICAgICAgdGhpcy5maWxlSW5w
dXQubXVsdGlwbGUgPSB0cnVlOworICAgICAgICB2YXIgb2JqID0gdGhpczsKKyAgICAgICAgdGhp
cy5maWxlSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgZnVuY3Rpb24oKSB7IG9iai5v
bklucHV0RmlsZUNoYW5nZSgpIH0sIGZhbHNlKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNl
cnRCZWZvcmUodGhpcy5maWxlSW5wdXQsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7CisKKyAg
ICAgICAgaWYgKHRoaXMuZHJhZ0Jhc2VEaXIpIHsKKyAgICAgICAgICAgIHZhciBmaWxlUGF0aHMg
PSBbXTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy50ZXN0RmlsZVBhdGhz
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgZmlsZVBhdGhzLnB1c2godGhpcy5kcmFn
QmFzZURpciArIHRoaXMudGVzdEZpbGVQYXRoc1tpXSk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICB0aGlzLnRlc3RGaWxlUGF0aHMgPSBmaWxlUGF0aHM7CisgICAgICAgIH0KKworICAgICAg
ICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXModGhpcy50ZXN0RmlsZVBhdGhzKTsKKyAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTAsIDEwKTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VVcCgpOworICAgIH07CisKKyAgICB0aGlzLnJ1blRlc3RzID0gZnVuY3Rpb24oKSB7
CisgICAgICAgIGlmICghdGhpcy50ZXN0Q2FsbGJhY2tGdW5jKQorICAgICAgICAgICAgdGVzdEZh
aWxlZCgiVGVzdCBib2R5IGZ1bmN0aW9uIGlzIG5vdCBpbml0aWFsaXplZC4iKTsKKyAgICAgICAg
ZWxzZSBpZiAodGhpcy50ZXN0RmlsZVBhdGhzKQorICAgICAgICAgICAgdGhpcy5ydW5UZXN0c1dp
dGhEcmFnKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMudGVzdENhbGxiYWNrRnVu
YygpOworICAgIH07CisKKyAgICB0aGlzLkZpbGVJdGVtID0gZnVuY3Rpb24ocGF0aCkKKyAgICB7
CisgICAgICAgIHZhciBpdGVtID0gbmV3IE9iamVjdCgpOworICAgICAgICBpdGVtLnR5cGUgPSAn
ZmlsZSc7CisgICAgICAgIGl0ZW0ucGF0aCA9IHBhdGg7CisgICAgICAgIGl0ZW0udmFsdWUgPSB0
aGlzLnRlc3RGaWxlTWFwW3BhdGhdOworICAgICAgICByZXR1cm4gaXRlbTsKKyAgICB9CisKKyAg
ICB0aGlzLkRhdGFJdGVtID0gZnVuY3Rpb24oZGF0YSkKKyAgICB7CisgICAgICAgIHZhciBpdGVt
ID0gbmV3IE9iamVjdCgpOworICAgICAgICBpdGVtLnR5cGUgPSAnZGF0YSc7CisgICAgICAgIGl0
ZW0udmFsdWUgPSBkYXRhOworICAgICAgICByZXR1cm4gaXRlbTsKKyAgICB9CisKKyAgICB0aGlz
LmNyZWF0ZUl0ZW1QYXJhbUFycmF5ID0gZnVuY3Rpb24oaXRlbXMsIGl0ZW1QYXJhbXMsIG9wdF9l
bmRpbmcpCisgICAgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsg
aSsrKSB7CisgICAgICAgICAgICBpZiAoaXRlbXNbaV0gaW5zdGFuY2VvZiBBcnJheSkKKyAgICAg
ICAgICAgICAgICB0aGlzLmNyZWF0ZUl0ZW1QYXJhbUFycmF5KGl0ZW1zW2ldLCBpdGVtUGFyYW1z
LCBvcHRfZW5kaW5nKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW1zW2ldLnR5cGUgPT0gImRh
dGEiKSB7CisgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSBpdGVtc1tpXS52YWx1ZTsKKyAgICAg
ICAgICAgICAgICBpZiAob3B0X2VuZGluZykKKyAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGRh
dGEucmVwbGFjZSgvXHJcbi9nLCAiW05MXSIpLnJlcGxhY2UoL1tcblxyXS9nLCAiW05MXSIpOwor
ICAgICAgICAgICAgICAgIGl0ZW1QYXJhbXMucHVzaCgiZGF0YToiICsgZXNjYXBlKGRhdGEpKTsK
KyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbXNbaV0udHlwZSA9PSAiZmlsZSIpCisgICAgICAg
ICAgICAgICAgaXRlbVBhcmFtcy5wdXNoKCJmaWxlOiIgKyB0aGlzLnVybFBhdGhCYXNlRGlyICsg
aXRlbXNbaV0ucGF0aCk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgdGhpcy5jcmVhdGVVcmxQ
YXJhbWV0ZXIgPSBmdW5jdGlvbihpdGVtcywgb3B0X3JhbmdlLCBvcHRfZW5kaW5nKQorICAgIHsK
KyAgICAgICAgdmFyIGl0ZW1QYXJhbXMgPSBbXTsKKyAgICAgICAgdGhpcy5jcmVhdGVJdGVtUGFy
YW1BcnJheShpdGVtcywgaXRlbVBhcmFtcywgb3B0X2VuZGluZyk7CisgICAgICAgIHZhciB1cmxQ
YXJhbWV0ZXIgPSAiaXRlbXM9IiArIGl0ZW1QYXJhbXMuam9pbigiLCIpOworICAgICAgICBpZiAo
b3B0X3JhbmdlKSB7CisgICAgICAgICAgICB1cmxQYXJhbWV0ZXIgKz0gIiZzdGFydD0iICsgb3B0
X3JhbmdlLnN0YXJ0OworICAgICAgICAgICAgdXJsUGFyYW1ldGVyICs9ICImbGVuZ3RoPSIgKyBv
cHRfcmFuZ2UubGVuZ3RoOworICAgICAgICB9CisgICAgICAgIGlmIChvcHRfZW5kaW5nKQorICAg
ICAgICAgICAgdXJsUGFyYW1ldGVyICs9ICImY29udmVydF9uZXdsaW5lcz0xIjsKKyAgICAgICAg
cmV0dXJuIHVybFBhcmFtZXRlcjsKKyAgICB9OworCisgICAgdGhpcy5hcHBlbmRBbmRDcmVhdGVC
bG9iID0gZnVuY3Rpb24oaXRlbXMsIG9wdF9lbmRpbmcsIG9wdF90eXBlKQorICAgIHsKKyAgICAg
ICAgdmFyIGJiID0gbmV3IEJsb2JCdWlsZGVyKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgaXRlbXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIGlmIChpdGVtc1tpXSBpbnN0YW5j
ZW9mIEFycmF5KSB7CisgICAgICAgICAgICAgICAgLy8gSWYgaXQncyBhbiBhcnJheSwgY29tYmlu
ZSBpdHMgZWxlbWVudHMgYW5kIGFwcGVuZCBhcyBhIGJsb2IuCisgICAgICAgICAgICAgICAgYmIu
YXBwZW5kKHRoaXMuYXBwZW5kQW5kQ3JlYXRlQmxvYihpdGVtc1tpXSwgb3B0X2VuZGluZywgb3B0
X3R5cGUpKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0X2VuZGluZykKKyAgICAgICAgICAg
ICAgICBiYi5hcHBlbmQoaXRlbXNbaV0udmFsdWUsIG9wdF9lbmRpbmcpOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIGJiLmFwcGVuZChpdGVtc1tpXS52YWx1ZSk7CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuIGJiLmdldEJsb2Iob3B0X3R5cGUpOworICAgIH07Cit9OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMvc2VuZC1kYXRh
LWJsb2IuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWRh
dGEtYmxvYi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGMzNmUxY2M4NWMwYjM1ZmNjMjU1Y2M2NGJkMGFlZTYw
MDlmMDE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9y
ZXNvdXJjZXMvc2VuZC1kYXRhLWJsb2IuanMKQEAgLTAsMCArMSw2MyBAQAorZGVzY3JpcHRpb24o
IlRlc3QgZm9yIGJ1aWxkaW5nIGJsb2JzIHdpdGggbXVsdGlwbGUgc3RyaW5ncyBjb21iaW5lZCBi
eSBCbG9iQnVpbGRlciBhbmQgc2VuZGluZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4iKTsKKwor
dmFyIHV0aWwgPSBuZXcgSHlicmlkQmxvYlRlc3RVdGlsKHJ1blRlc3RzKTsKKworZnVuY3Rpb24g
cnVuQXBwZW5kVGVzdChhcHBlbmRJdGVtcywgb3B0X2VuZGluZywgb3B0X3VybFBhcmFtZXRlciwg
b3B0X3R5cGUpCit7CisgICAgdmFyIGJsb2IgPSB1dGlsLmFwcGVuZEFuZENyZWF0ZUJsb2IoYXBw
ZW5kSXRlbXMsIG9wdF9lbmRpbmcsIG9wdF90eXBlKTsKKyAgICB2YXIgdXJsUGFyYW1ldGVyID0g
b3B0X3VybFBhcmFtZXRlcjsKKyAgICBpZiAoIW9wdF91cmxQYXJhbWV0ZXIpCisgICAgICAgIHVy
bFBhcmFtZXRlciA9IHV0aWwuY3JlYXRlVXJsUGFyYW1ldGVyKGFwcGVuZEl0ZW1zLCBudWxsLCBv
cHRfZW5kaW5nKTsKKyAgICBpZiAob3B0X3R5cGUgIT0gdW5kZWZpbmVkKQorICAgICAgICBzaG91
bGRCZSgiJyIgKyBibG9iLnR5cGUgKyAiJyIsICInIiArIG9wdF90eXBlICsgIiciKTsKKyAgICB1
dGlsLnVwbG9hZEJsb2IoYmxvYiwgdXJsUGFyYW1ldGVyKTsKK30KKworZnVuY3Rpb24gcnVuVGVz
dHMoKQoreworICAgIHZhciBzdHJpbmdBID0gdXRpbC5EYXRhSXRlbSgnQTEyMzQ1Njd8Jyk7Cisg
ICAgdmFyIHN0cmluZ0IgPSB1dGlsLkRhdGFJdGVtKCdCMTIzNDV8Jyk7CisgICAgdmFyIHN0cmlu
Z0MgPSB1dGlsLkRhdGFJdGVtKCdDMTIzNDU2Nzg5MDF8Jyk7CisKKyAgICB2YXIgc3RyaW5nTEYg
PSB1dGlsLkRhdGFJdGVtKCcxMjM0NVxuNjc4OTBcbicpOworICAgIHZhciBzdHJpbmdDUkxGID0g
dXRpbC5EYXRhSXRlbSgnQUJDREVcclxuRkdISUpcclxuJyk7CisgICAgdmFyIHN0cmluZ0NSID0g
dXRpbC5EYXRhSXRlbSgnYWJjZGVccmZnaGlqXHInKTsKKworICAgIGRlYnVnKCcqIEJsb2JCdWls
ZGVyLmFwcGVuZChzdHJpbmcpJyk7CisgICAgcnVuQXBwZW5kVGVzdChbIHN0cmluZ0EgXSk7Cisg
ICAgcnVuQXBwZW5kVGVzdChbIHN0cmluZ0EsIHN0cmluZ0IgXSk7CisgICAgcnVuQXBwZW5kVGVz
dChbIHN0cmluZ0EsIHN0cmluZ0IgXSwgbnVsbCwgbnVsbCwgJ3R5cGUvZm9vJyk7CisKKyAgICBk
ZWJ1ZygnKiBCbG9iQnVpbGRlci5hcHBlbmQoYmxvYiknKTsKKyAgICBydW5BcHBlbmRUZXN0KFsg
WyBzdHJpbmdBIF0gXSk7CisgICAgcnVuQXBwZW5kVGVzdChbIFsgc3RyaW5nQSwgc3RyaW5nQiwg
c3RyaW5nQSBdIF0pOworICAgIHJ1bkFwcGVuZFRlc3QoWyBbIHN0cmluZ0EsIHN0cmluZ0MgXSBd
LCBudWxsLCBudWxsLCAndHlwZS9iYXInKTsKKworICAgIGRlYnVnKCcqIEJsb2JCdWlsZGVyLmFw
cGVuZChzdHJpbmcvYmxvYiknKTsKKyAgICBydW5BcHBlbmRUZXN0KFsgWyBbIHN0cmluZ0EsIHN0
cmluZ0IgXSwgc3RyaW5nQSBdLCBzdHJpbmdDIF0pOworICAgIHJ1bkFwcGVuZFRlc3QoWyBbIHN0
cmluZ0EsIHN0cmluZ0IsIHN0cmluZ0EgXSwgc3RyaW5nQywgWyBzdHJpbmdBLCBzdHJpbmdCLCBz
dHJpbmdBIF0gXSk7CisKKyAgICBkZWJ1ZygnKiBCbG9iQnVpbGRlci5hcHBlbmQoc3RyaW5nL2Js
b2IpIC0gd2l0aCByZWN5Y2xlZCBibG9iJyk7CisgICAgdmFyIG1peGVkQXJyYXkgPSBbIFsgc3Ry
aW5nQSwgc3RyaW5nQiwgc3RyaW5nQSBdLCBzdHJpbmdDLCBbIHN0cmluZ0EsIHN0cmluZ0IgXSAs
IHN0cmluZ0EgXTsKKyAgICB2YXIgYmxvYiA9IHsndmFsdWUnOnV0aWwuYXBwZW5kQW5kQ3JlYXRl
QmxvYihtaXhlZEFycmF5KSB9OworICAgIHZhciBwYXJhbWV0ZXIgPSB1dGlsLmNyZWF0ZVVybFBh
cmFtZXRlcihbIG1peGVkQXJyYXksIHN0cmluZ0MsIG1peGVkQXJyYXkgXSk7CisgICAgcnVuQXBw
ZW5kVGVzdChbIGJsb2IsIHN0cmluZ0MsIGJsb2IgXSwgbnVsbCwgcGFyYW1ldGVyKTsKKworICAg
IGRlYnVnKCcqIEJsb2JCdWlsZGVyLmFwcGVuZChzdHJpbmcpIC0gd2l0aCBsaW5lLWVuZGluZ3Mn
KTsKKyAgICBydW5BcHBlbmRUZXN0KFsgc3RyaW5nTEYgXSk7CisgICAgcnVuQXBwZW5kVGVzdChb
IHN0cmluZ0NSIF0pOworICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJpbmdDUkxGIF0pOworCisgICAg
ZGVidWcoJyogQmxvYkJ1aWxkZXIuYXBwZW5kKHN0cmluZywgIm5hdGl2ZSIpIC0gd2l0aCBsaW5l
LWVuZGluZ3MnKTsKKyAgICBydW5BcHBlbmRUZXN0KFsgc3RyaW5nTEYgXSwgJ25hdGl2ZScpOwor
ICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJpbmdDUiBdLCAnbmF0aXZlJyk7CisgICAgcnVuQXBwZW5k
VGVzdChbIHN0cmluZ0NSTEYgXSwgJ25hdGl2ZScpOworICAgIHJ1bkFwcGVuZFRlc3QoWyBzdHJp
bmdDUkxGLCBzdHJpbmdMRiwgc3RyaW5nQ1JMRiBdLCAnbmF0aXZlJyk7Cit9CisKK2lmICh3aW5k
b3cuZXZlbnRTZW5kZXIpCisgICAgdXRpbC5ydW5UZXN0cygpOworZWxzZQorICAgIHRlc3RGYWls
ZWQoIlRoaXMgdGVzdCBpcyBub3QgaW50ZXJhY3RpdmUsIHBsZWFzZSBydW4gdXNpbmcgRHVtcFJl
bmRlclRyZWUiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWh5YnJpZC1ibG9i
LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMvc2VuZC1oeWJyaWQt
YmxvYi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lYmQ5NDczOWEyZjE4YWU5NTBkMTFjOWRiNGRhNTVmMzQ2MzRh
MWM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNv
dXJjZXMvc2VuZC1oeWJyaWQtYmxvYi5qcwpAQCAtMCwwICsxLDk1IEBACitkZXNjcmlwdGlvbigi
VGVzdCBmb3IgYnVpbGRpbmcgYmxvYnMgd2l0aCBtdWx0aXBsZSBmaWxlcyBjb21iaW5lZCBieSBC
bG9iQnVpbGRlciBhbmQgc2VuZGluZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4gIChUaGlzIHRl
c3QgcmVxdWlyZXMgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKSIpOworCit2YXIgdGVz
dEZpbGVQYXRocyA9IFsKKyAgICAibm9uZXhpc3RlbnQiLAorICAgICJlbXB0eS50eHQiLAorICAg
ICJmaWxlLWZvci1kcmFnLXRvLXNlbmQudHh0IiwKKyAgICAiZmlsZS1mb3ItZHJhZy10by1zZW5k
Mi50eHQiLAorICAgICJhYmUucG5nIgorXTsKKwordmFyIHV0aWwgPSBuZXcgSHlicmlkQmxvYlRl
c3RVdGlsKHJ1blRlc3RzLCB0ZXN0RmlsZVBhdGhzKTsKK3V0aWwuZHJhZ0Jhc2VEaXIgPSAicmVz
b3VyY2VzLyI7Cit1dGlsLnVybFBhdGhCYXNlRGlyID0gIi4uL2xvY2FsL3Jlc291cmNlcy8iOwor
CitmdW5jdGlvbiBydW5IeWJyaWRCbG9iVGVzdChmaWxlSW5kZXhPclN0cmluZ3MsIG9wdF9yYW5n
ZSkKK3sKKyAgICB2YXIgYmxvYiA9IHV0aWwuYXBwZW5kQW5kQ3JlYXRlQmxvYihmaWxlSW5kZXhP
clN0cmluZ3MpOworICAgIHZhciB1cmxQYXJhbWV0ZXIgPSB1dGlsLmNyZWF0ZVVybFBhcmFtZXRl
cihmaWxlSW5kZXhPclN0cmluZ3MsIG9wdF9yYW5nZSk7CisgICAgaWYgKG9wdF9yYW5nZSkKKyAg
ICAgICAgYmxvYiA9IGJsb2Iuc2xpY2Uob3B0X3JhbmdlLnN0YXJ0LCBvcHRfcmFuZ2UubGVuZ3Ro
KTsKKyAgICB1dGlsLnVwbG9hZEJsb2IoYmxvYiwgdXJsUGFyYW1ldGVyKTsKK30KKworZnVuY3Rp
b24gcnVuVGVzdHMoKQoreworICAgIC8vIFN5bnRheCBzdWdhci4KKyAgICB2YXIgRiA9IGZ1bmN0
aW9uKHBhdGgpIHsgcmV0dXJuIHV0aWwuRmlsZUl0ZW0ocGF0aCk7IH0KKyAgICB2YXIgRCA9IGZ1
bmN0aW9uKGRhdGEpIHsgcmV0dXJuIHV0aWwuRGF0YUl0ZW0oZGF0YSk7IH0KKworICAgIGRlYnVn
KCcqIEJsb2JCdWlsZGVyLmFwcGVuZChmaWxlKSAtIHNpbmdsZSBmaWxlJyk7CisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0ZXN0RmlsZVBhdGhzLmxlbmd0aDsgaSsrKQorICAgICAgICBydW5IeWJy
aWRCbG9iVGVzdChGKHRlc3RGaWxlUGF0aHNbaV0pKTsKKworICAgIGRlYnVnKCcqIEJsb2JCdWls
ZGVyLmFwcGVuZChmaWxlKSAtIG11bHRpcGxlIGZpbGVzJyk7CisgICAgcnVuSHlicmlkQmxvYlRl
c3QoWyBGKCdub25leGlzdGVudCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgRignZW1wdHku
dHh0JyldKTsKKyAgICBydW5IeWJyaWRCbG9iVGVzdChbIEYoJ2VtcHR5LnR4dCcpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgRignZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dCcpIF0pOworICAg
IHJ1bkh5YnJpZEJsb2JUZXN0KFsgRignZW1wdHkudHh0JyksCisgICAgICAgICAgICAgICAgICAg
ICAgICBGKCdmaWxlLWZvci1kcmFnLXRvLXNlbmQudHh0JyksCisgICAgICAgICAgICAgICAgICAg
ICAgICBGKCdmaWxlLWZvci1kcmFnLXRvLXNlbmQyLnR4dCcpIF0pOworICAgIHJ1bkh5YnJpZEJs
b2JUZXN0KFsgRignZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQnKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIEYoJ2ZpbGUtZm9yLWRyYWctdG8tc2VuZDIudHh0JykgXSk7CisKKyAgICBkZWJ1
ZygnKiBCbG9iQnVpbGRlci5hcHBlbmQobWl4ZWQpJyk7CisgICAgcnVuSHlicmlkQmxvYlRlc3Qo
WyBbIEYoJ2VtcHR5LnR4dCcpIF0gXSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBbIEYoJ2Vt
cHR5LnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFnLXRv
LXNlbmQudHh0JykgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIEYoJ2ZpbGUtZm9yLWRyYWct
dG8tc2VuZDIudHh0JykgXSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBEKCdhYmNkZScpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgRignZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQnKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIEQoJ3wxMjN8NDU2fCcpIF0pOworICAgIHJ1bkh5YnJp
ZEJsb2JUZXN0KFsgRignZW1wdHkudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBEKCcx
MzU3OScpLAorICAgICAgICAgICAgICAgICAgICAgICBbIEYoJ2ZpbGUtZm9yLWRyYWctdG8tc2Vu
ZDIudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgRignZmlsZS1mb3ItZHJhZy10by1z
ZW5kLnR4dCcpIF0sCisgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFnLXRv
LXNlbmQudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBEKCdBX0JfQ19EX0UnKV0pOwor
CisgICAgZGVidWcoJyogQmxvYkJ1aWxkZXIuYXBwZW5kKG1peGVkKSAtIHdpdGggQmxvYi5zbGlj
ZSgpJyk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBGKCdmaWxlLWZvci1kcmFnLXRvLXNlbmQu
dHh0JykgXSwKKyAgICAgICAgICAgICAgICAgICAgICB7ICdzdGFydCc6IDUsICdsZW5ndGgnOiAx
MCB9KTsKKyAgICBydW5IeWJyaWRCbG9iVGVzdChbIFsgRignZmlsZS1mb3ItZHJhZy10by1zZW5k
Mi50eHQnKSBdIF0sCisgICAgICAgICAgICAgICAgICAgICAgeyAnc3RhcnQnOiAzLCAnbGVuZ3Ro
JzogMTcgfSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBGKCdmaWxlLWZvci1kcmFnLXRvLXNl
bmQudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFnLXRvLXNl
bmQyLnR4dCcpIF0sCisgICAgICAgICAgICAgICAgICAgICAgeyAnc3RhcnQnOiAzLCAnbGVuZ3Ro
JzogMTcgfSk7CisgICAgcnVuSHlicmlkQmxvYlRlc3QoWyBGKCdmaWxlLWZvci1kcmFnLXRvLXNl
bmQyLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgRCgnYWJjZGUnKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIEYoJ2ZpbGUtZm9yLWRyYWctdG8tc2VuZDIudHh0JykgXSwKKyAgICAg
ICAgICAgICAgICAgICAgICB7ICdzdGFydCc6IDMsICdsZW5ndGgnOiAxNyB9KTsKKyAgICBydW5I
eWJyaWRCbG9iVGVzdChbIEYoJ2ZpbGUtZm9yLWRyYWctdG8tc2VuZDIudHh0JyksCisgICAgICAg
ICAgICAgICAgICAgICAgICBEKCdhYmNkZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgRign
ZmlsZS1mb3ItZHJhZy10by1zZW5kMi50eHQnKSBdLAorICAgICAgICAgICAgICAgICAgICAgIHsg
J3N0YXJ0JzogMzMsICdsZW5ndGgnOiA5MCB9KTsKKyAgICBydW5IeWJyaWRCbG9iVGVzdChbIEYo
J2ZpbGUtZm9yLWRyYWctdG8tc2VuZDIudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBG
KCdmaWxlLWZvci1kcmFnLXRvLXNlbmQudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBG
KCdmaWxlLWZvci1kcmFnLXRvLXNlbmQyLnR4dCcpIF0sCisgICAgICAgICAgICAgICAgICAgICAg
eyAnc3RhcnQnOiAzMywgJ2xlbmd0aCc6IDQyIH0pOworICAgIHJ1bkh5YnJpZEJsb2JUZXN0KFsg
RignZW1wdHkudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFn
LXRvLXNlbmQudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICBGKCdmaWxlLWZvci1kcmFn
LXRvLXNlbmQyLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgRignYWJlLnBuZycpIF0s
CisgICAgICAgICAgICAgICAgICAgICAgeyAnc3RhcnQnOiAyMCwgJ2xlbmd0aCc6IDMwMDAgfSk7
CisKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2lmICh3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgdXRpbC5ydW5UZXN0cygpOworfSBlbHNlCisgICAgdGVzdEZhaWxlZCgiVGhpcyB0
ZXN0IGlzIG5vdCBpbnRlcmFjdGl2ZSwgcGxlYXNlIHJ1biB1c2luZyBEdW1wUmVuZGVyVHJlZSIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtc2xpY2VkLWRhdGEtYmxvYi5qcyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtc2xpY2VkLWRhdGEt
YmxvYi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYTI3NDNlMTYxMDhkYzE5NmVhODY4Zjg5MWRjN2MyMzUzNDRk
MDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNv
dXJjZXMvc2VuZC1zbGljZWQtZGF0YS1ibG9iLmpzCkBAIC0wLDAgKzEsNDMgQEAKK2Rlc2NyaXB0
aW9uKCJUZXN0IGZvciBzbGljaW5nIGJsb2JzIGNyZWF0ZWQgYnkgQmxvYkJ1aWxkZXIgc2VuZGlu
ZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4iKTsKKwordmFyIHV0aWwgPSBuZXcgSHlicmlkQmxv
YlRlc3RVdGlsKHJ1blRlc3RzKTsKKworZnVuY3Rpb24gcnVuU2xpY2VUZXN0KGFwcGVuZEl0ZW1z
LCByYW5nZXMpCit7CisgICAgdmFyIGJsb2IgPSB1dGlsLmFwcGVuZEFuZENyZWF0ZUJsb2IoYXBw
ZW5kSXRlbXMpOworICAgIHZhciByYW5nZSA9IHsnc3RhcnQnOjAsICdsZW5ndGgnOi0xfTsKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7ICsraSkgeworICAgICAgICBibG9i
ID0gYmxvYi5zbGljZShyYW5nZXNbaV0uc3RhcnQsIHJhbmdlc1tpXS5sZW5ndGgpOworICAgICAg
ICByYW5nZS5zdGFydCArPSByYW5nZXNbaV0uc3RhcnQ7CisgICAgfQorICAgIHJhbmdlLmxlbmd0
aCA9IHJhbmdlc1tyYW5nZXMubGVuZ3RoIC0gMV0ubGVuZ3RoOworICAgIHZhciB1cmxQYXJhbWV0
ZXIgPSB1dGlsLmNyZWF0ZVVybFBhcmFtZXRlcihhcHBlbmRJdGVtcywgcmFuZ2UpOworICAgIHV0
aWwudXBsb2FkQmxvYihibG9iLCB1cmxQYXJhbWV0ZXIpOworfQorCitmdW5jdGlvbiBydW5UZXN0
cygpCit7CisgICAgdmFyIHN0cmluZ0EgPSB1dGlsLkRhdGFJdGVtKCdBMTIzNDU2N3wnKTsKKyAg
ICB2YXIgc3RyaW5nQiA9IHV0aWwuRGF0YUl0ZW0oJ0IxMjM0NXwnKTsKKyAgICB2YXIgc3RyaW5n
QyA9IHV0aWwuRGF0YUl0ZW0oJ0MxMjM0NTY3ODkwMXwnKTsKKworICAgIHZhciBtaXhlZEFycmF5
ID0gWyBbIHN0cmluZ0EsIHN0cmluZ0IsIHN0cmluZ0EgXSwgc3RyaW5nQywgWyBzdHJpbmdBLCBz
dHJpbmdCIF0gLCBzdHJpbmdBIF07CisKKyAgICBkZWJ1ZygnKiBCbG9iQnVpbGRlci5hcHBlbmQo
ZGF0YSkgYW5kIHRoZW4gYXBwbHkgQmxvYi5zbGljZSgpJyk7CisgICAgcnVuU2xpY2VUZXN0KHN0
cmluZ0EsIFsgeydzdGFydCc6IDMsICAnbGVuZ3RoJzogMTJ9IF0pOworICAgIHJ1blNsaWNlVGVz
dChbc3RyaW5nQSwgc3RyaW5nQl0sIFsgeydzdGFydCc6IDMsICAnbGVuZ3RoJzogMTJ9IF0pOwor
ICAgIHJ1blNsaWNlVGVzdChtaXhlZEFycmF5LCBbIHsnc3RhcnQnOiAxMywgJ2xlbmd0aCc6IDQw
fSBdKTsKKyAgICBydW5TbGljZVRlc3QobWl4ZWRBcnJheSwgWyB7J3N0YXJ0JzogMTMsICdsZW5n
dGgnOiA0MH0gXSk7CisgICAgcnVuU2xpY2VUZXN0KG1peGVkQXJyYXksIFsgeydzdGFydCc6IDUs
ICAnbGVuZ3RoJzogMzJ9IF0pOworCisgICAgZGVidWcoJyogQmxvYkJ1aWxkZXIuYXBwZW5kKGRh
dGEpIGFuZCB0aGVuIGFwcGx5IG5lc3RlZCBCbG9iLnNsaWNlKCknKTsKKyAgICBydW5TbGljZVRl
c3QobWl4ZWRBcnJheSwgWyB7J3N0YXJ0JzogNSwgICdsZW5ndGgnOiAzMn0sIHsnc3RhcnQnOiAy
LCAnbGVuZ3RoJzogOX0gXSk7CisgICAgcnVuU2xpY2VUZXN0KG1peGVkQXJyYXksIFsgeydzdGFy
dCc6IDEzLCAnbGVuZ3RoJzogNDB9LCB7J3N0YXJ0JzogNSwgJ2xlbmd0aCc6IDE3fSBdKTsKK30K
KworaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKKyAgICB1dGlsLnJ1blRlc3RzKCk7CitlbHNlCisg
ICAgdGVzdEZhaWxlZCgiVGhpcyB0ZXN0IGlzIG5vdCBpbnRlcmFjdGl2ZSwgcGxlYXNlIHJ1biB1
c2luZyBEdW1wUmVuZGVyVHJlZSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1kYXRhLWJsb2It
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWRhdGEtYmxv
Yi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGNiMDc4NTFjYTIxMjhmMWI2ODM2MWIyZGZkMWM2
NDVjYmY5NDAwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9j
YWwvc2VuZC1kYXRhLWJsb2ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzMgQEAKK1Rlc3QgZm9y
IGJ1aWxkaW5nIGJsb2JzIHdpdGggbXVsdGlwbGUgc3RyaW5ncyBjb21iaW5lZCBieSBCbG9iQnVp
bGRlciBhbmQgc2VuZGluZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKKyogQmxvYkJ1aWxkZXIuYXBwZW5kKHN0cmluZykKK1BBU1MgRXhw
ZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2Ug
ZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgJ3R5cGUvZm9vJyBpcyAndHlwZS9mb28nCitQQVNTIEV4
cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCisqIEJsb2JCdWlsZGVyLmFwcGVuZChi
bG9iKQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBl
Y3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyAndHlwZS9iYXInIGlzICd0eXBl
L2JhcicKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKKyogQmxvYkJ1
aWxkZXIuYXBwZW5kKHN0cmluZy9ibG9iKQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJl
Y2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBC
bG9iQnVpbGRlci5hcHBlbmQoc3RyaW5nL2Jsb2IpIC0gd2l0aCByZWN5Y2xlZCBibG9iCitQQVNT
IEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCisqIEJsb2JCdWlsZGVyLmFwcGVu
ZChzdHJpbmcpIC0gd2l0aCBsaW5lLWVuZGluZ3MKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0
YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sK
K1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKKyogQmxvYkJ1aWxkZXIu
YXBwZW5kKHN0cmluZywgIm5hdGl2ZSIpIC0gd2l0aCBsaW5lLWVuZGluZ3MKK1BBU1MgRXhwZWN0
ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0
YSByZWNlaXZlZDogT0sKK1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sK
K1BBU1MgRXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSByZWNlaXZlZDogT0sKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtZGF0YS1ibG9iLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2xvY2FsL3NlbmQtZGF0YS1ibG9iLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmJlMGIzODFh
NmY3NmZmZWM4YjgwNWJlZDE2M2E5YzFmZmE3MDE0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1kYXRhLWJsb2IuaHRtbApAQCAtMCwwICsxLDE0
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9oeWJyaWQtYmxvYi11dGlsLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvc2VuZC1kYXRhLWJsb2IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xv
Y2FsL3NlbmQtaHlicmlkLWJsb2ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9sb2NhbC9zZW5kLWh5YnJpZC1ibG9iLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWY4MTZh
MTk2NTFhNmVjOGEwNjI1MDI3NGE2NDY2MDQ2MDI3NWRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWh5YnJpZC1ibG9iLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM0IEBACisKK1Rlc3QgZm9yIGJ1aWxkaW5nIGJsb2JzIHdpdGggbXVsdGlwbGUg
ZmlsZXMgY29tYmluZWQgYnkgQmxvYkJ1aWxkZXIgYW5kIHNlbmRpbmcgdGhlbSB2aWEgWE1MSHR0
cFJlcXVlc3QuIChUaGlzIHRlc3QgcmVxdWlyZXMgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZp
bGVzKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworKiBCbG9iQnVpbGRlci5hcHBl
bmQoZmlsZSkgLSBzaW5nbGUgZmlsZQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2Vp
dmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBF
eHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25z
ZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVk
OiBPSworKiBCbG9iQnVpbGRlci5hcHBlbmQoZmlsZSkgLSBtdWx0aXBsZSBmaWxlcworUEFTUyBF
eHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25z
ZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVk
OiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBCbG9iQnVp
bGRlci5hcHBlbmQobWl4ZWQpCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6
IE9LCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIEV4cGVj
dGVkIHJlc3BvbnNlIGRhdGEgcmVjZWl2ZWQ6IE9LCitQQVNTIEV4cGVjdGVkIHJlc3BvbnNlIGRh
dGEgcmVjZWl2ZWQ6IE9LCisqIEJsb2JCdWlsZGVyLmFwcGVuZChtaXhlZCkgLSB3aXRoIEJsb2Iu
c2xpY2UoKQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBF
eHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25z
ZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVk
OiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBl
Y3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBk
YXRhIHJlY2VpdmVkOiBPSworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvc2Vu
ZC1oeWJyaWQtYmxvYi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWh5
YnJpZC1ibG9iLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU5YWQyMzEyZmU0ZmU3YzQ3MzI0ZGRiN2QxZDAy
NGI2NmM0YWRjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9j
YWwvc2VuZC1oeWJyaWQtYmxvYi5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2h5YnJpZC1ibG9iLXV0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9z
ZW5kLWh5YnJpZC1ibG9iLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtc2xpY2Vk
LWRhdGEtYmxvYi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Nl
bmQtc2xpY2VkLWRhdGEtYmxvYi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjI3NDE1OTMzYzgz
YWU3OTY1MThjNzNlNTI2YzU4YjU2YjBiZmFjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1zbGljZWQtZGF0YS1ibG9iLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE4IEBACitUZXN0IGZvciBzbGljaW5nIGJsb2JzIGNyZWF0ZWQgYnkgQmxvYkJ1
aWxkZXIgc2VuZGluZyB0aGVtIHZpYSBYTUxIdHRwUmVxdWVzdC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKKyogQmxvYkJ1aWxkZXIuYXBwZW5kKGRhdGEpIGFuZCB0aGVuIGFwcGx5
IEJsb2Iuc2xpY2UoKQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSwor
UEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCBy
ZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJl
Y2VpdmVkOiBPSworUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworKiBC
bG9iQnVpbGRlci5hcHBlbmQoZGF0YSkgYW5kIHRoZW4gYXBwbHkgbmVzdGVkIEJsb2Iuc2xpY2Uo
KQorUEFTUyBFeHBlY3RlZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBFeHBlY3Rl
ZCByZXNwb25zZSBkYXRhIHJlY2VpdmVkOiBPSworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9jYWwvc2VuZC1zbGljZWQtZGF0YS1ibG9iLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvY2FsL3NlbmQtc2xpY2VkLWRhdGEtYmxvYi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0MDIzNDU0
OTUxYmZkYTI2YmVjMDcwNzMwYzA0NjA0YjQ2ZDkwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtc2xpY2VkLWRhdGEtYmxvYi5odG1sCkBAIC0w
LDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2h5YnJpZC1ibG9iLXV0aWwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zZW5kLXNsaWNlZC1kYXRhLWJsb2IuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9wb3N0LWFuZC12ZXJpZnktaHlicmlkLmNnaSBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3Bvc3QtYW5kLXZlcmlmeS1oeWJyaWQuY2dpCm5l
dyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjhmYzlhMjdkNDJjMzYzMzBkYmMwOWJjN2JkZTcyOWRmNTM0ZjI0NmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9wb3N0LWFuZC12
ZXJpZnktaHlicmlkLmNnaQpAQCAtMCwwICsxLDg0IEBACisjIS91c3IvYmluL3BlcmwgLXcKKwor
cHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9wbGFpblxuXG4iOworCitpZiAoJEVOVnsnUkVRVUVT
VF9NRVRIT0QnfSBlcSAiUE9TVCIpIHsKKyAgICBpZiAoJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSkg
eworICAgICAgICByZWFkKFNURElOLCAkcG9zdERhdGEsICRFTlZ7J0NPTlRFTlRfTEVOR1RIJ30p
IHx8IGRpZSAiQ291bGQgbm90IGdldCBwb3N0IGRhdGFcbiI7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgJHBvc3REYXRhID0gIiI7CisgICAgfQorCisgICAgQGxpc3QgPSBzcGxpdCgvJi8sICRFTlZ7
J1FVRVJZX1NUUklORyd9KTsKKyAgICBAdmFsdWVzOworICAgICR2YWx1ZXN7J3N0YXJ0J30gPSAw
OworICAgICR2YWx1ZXN7J2xlbmd0aCd9ID0gLTE7CisgICAgJHZhbHVlc3snY29udmVydF9uZXds
aW5lcyd9ID0gMDsKKyAgICBmb3JlYWNoICRlbGVtZW50IChAbGlzdCkgeworICAgICAgICAoJGtl
eSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJGVsZW1lbnQpOworICAgICAgICAkdmFsdWVzeyRrZXl9
ID0gJHZhbHVlOworICAgIH0KKworICAgICMgJ2l0ZW1zJyBwYXJhbWV0ZXIgd291bGQgbG9vayBs
aWtlOgorICAgICMgICA8aXRlbXM+IDo9IDxpdGVtPignLCc8aXRlbT4pKgorICAgICMgICAgPGl0
ZW0+IDo9IDxmaWxlPiB8IDxkYXRhPgorICAgICMgICAgPGZpbGU+IDo9ICJmaWxlIjo8ZmlsZS1w
YXRoPgorICAgICMgICAgPGRhdGE+IDo9ICJkYXRhIjo8ZGF0YS1zdHJpbmc+CisgICAgQGl0ZW1z
ID0gc3BsaXQoLywvLCAkdmFsdWVzeydpdGVtcyd9KTsKKyAgICAkZXhwZWN0ZWREYXRhID0gIiI7
CisgICAgJHJlYWRQb3MgPSAkdmFsdWVzeydzdGFydCd9OworICAgICRyZW1haW5pbmdMZW5ndGgg
PSAkdmFsdWVzeydsZW5ndGgnfTsKKyAgICBmb3JlYWNoICRpdGVtIChAaXRlbXMpIHsKKyAgICAg
ICAgbXkgKCR0eXBlLCAkZGF0YSkgPSBzcGxpdCgvOi8sICRpdGVtKTsKKyAgICAgICAgbXkgJHNp
emU7CisgICAgICAgIGlmICgkdHlwZSBlcSAiZGF0YSIpIHsKKyAgICAgICAgICAgICRkYXRhID1+
IHMvJShbQS1GYS1mMC05XXsyfSkvcGFjaygnQycsIGhleCgkMSkpL3NlZzsKKyAgICAgICAgICAg
ICRzaXplID0gbGVuZ3RoKCRkYXRhKTsKKyAgICAgICAgICAgIGlmICgkcmVhZFBvcyA+IDApIHsK
KyAgICAgICAgICAgICAgICBpZiAoJHJlYWRQb3MgPiAkc2l6ZSkgeworICAgICAgICAgICAgICAg
ICAgICAkcmVhZFBvcyAtPSAkc2l6ZTsKKyAgICAgICAgICAgICAgICAgICAgbmV4dDsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgJGRhdGEgPSBzdWJzdHIoJGRhdGEsICRyZWFk
UG9zKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICRkYXRhID0gc3Vic3RyKCRkYXRhLCAw
LCAkcmVtYWluaW5nTGVuZ3RoKSBpZiAoJHJlbWFpbmluZ0xlbmd0aCA+IDApOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgJHBhdGggPSAkZGF0YTsKKyAgICAgICAgICAgIG9wZW4oRklM
RSwgJHBhdGgpIHx8IG5leHQ7CisgICAgICAgICAgICAkc2l6ZSA9IC1zICRwYXRoOworICAgICAg
ICAgICAgaWYgKCRyZWFkUG9zID4gMCkgeworICAgICAgICAgICAgICAgIGlmICgkcmVhZFBvcyA+
ICRzaXplKSB7CisgICAgICAgICAgICAgICAgICAgICRyZWFkUG9zIC09ICRzaXplOworICAgICAg
ICAgICAgICAgICAgICBuZXh0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBz
ZWVrKEZJTEUsICRyZWFkUG9zLCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgk
cmVtYWluaW5nTGVuZ3RoID4gMCkgeworICAgICAgICAgICAgICAgIHJlYWQoRklMRSwgJGRhdGEs
ICRyZW1haW5pbmdMZW5ndGgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBsb2NhbCAkLyA9IHVuZGVmOworICAgICAgICAgICAgICAgICRkYXRhID0gPEZJTEU+OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgY2xvc2UoRklMRSk7CisgICAgICAgIH0KKyAgICAgICAg
JHJlYWRQb3MgLT0gJHNpemU7CisgICAgICAgICRleHBlY3RlZERhdGEgLj0gJGRhdGE7CisgICAg
ICAgIGlmICgkcmVtYWluaW5nTGVuZ3RoID4gMCkgeworICAgICAgICAgICAgJHJlbWFpbmluZ0xl
bmd0aCAtPSBsZW5ndGgoJGRhdGEpOworICAgICAgICAgICAgbGFzdCBpZiAkcmVtYWluaW5nTGVu
Z3RoIDw9IDA7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoJHZhbHVlc3snY29udmVydF9u
ZXdsaW5lcyd9KSB7CisgICAgICAgICRuYXRpdmVFbmRpbmcgPSAoJF5PID1+IC9NU1dpbi8pID8g
IlxyXG4iIDogIlxuIjsKKyAgICAgICAgJHBvc3REYXRhID1+IHMvJG5hdGl2ZUVuZGluZy9bTkxd
L2c7CisgICAgfQorCisgICAgaWYgKCRwb3N0RGF0YSBlcSAkZXhwZWN0ZWREYXRhKSB7CisgICAg
ICAgIHByaW50ICJPSyI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcHJpbnQgIkZBSUxFRCI7Cisg
ICAgfQorfSBlbHNlIHsKKyAgICBwcmludCAiV3JvbmcgbWV0aG9kOiAiIC4gJEVOVnsnUkVRVUVT
VF9NRVRIT0QnfSAuICJcbiI7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNl
LWV4cGVjdGVkLnR4dAppbmRleCBlYmVlNjQ0Y2Q0YTRlMDMyYmYxZTIyMWJlYWRlZjJjNjkzMDc1
NzM3Li5iMjMyYzI3MDY0NDUxZDQ5NzcwM2RiYzM4ZmJhYmIzZDI5OWQwNjg0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJp
dGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTExLDYgKzExLDgg
QEAgUEFTUyBpbm5lci5CZWZvcmVMb2FkRXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVy
LkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIu
QmxvYi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5jb25zdHJ1Y3Rvci5pc0lubmVy
IGlzIHRydWUKK1BBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlu
bmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5D
REFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkNEQVRBU2VjdGlvbi5jb25z
dHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQ1NTQ2hhcnNldFJ1bGUuaXNJbm5l
ciBpcyB0cnVlCkBAIC03NjEsNCArNzYzLDQgQEAgUEFTUyBpbm5lci53aW5kb3cuaXNJbm5lciBp
cyB0cnVlCiBQQVNTIGlubmVyLndpbmRvdy5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAotVEVTVCBDT01QTEVURQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKK1RFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQK
aW5kZXggZjgzMzZjN2I0MmE4YjdiNDZhNDlhNjE3ZDhiY2I4Y2Q4MDRkNzFlOS4uYjE2OTM1ZmVl
OGE4YTBkY2ViNDUyYjYwYzVhNGE3NjAxMDBlZTQ1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKQEAgLTMyODcsNiArMzI4Nyw4IEBAIGh0dHAvdGVzdHMvbG9hZGluZy9yZWRpcmVjdC13aXRo
LW5vLWxvY2F0aW9uLWNyYXNoLmh0bWwKIGh0dHAvdGVzdHMvbG9hZGluZy9zbG93LXBhcnNpbmct
c3ViZnJhbWUuaHRtbAogaHR0cC90ZXN0cy9sb2FkaW5nL3RleHQtY29udGVudC10eXBlLXdpdGgt
YmluYXJ5LWV4dGVuc2lvbi5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL3NlbmQtZHJhZ2dlZC1maWxl
Lmh0bWwKK2h0dHAvdGVzdHMvbG9jYWwvc2VuZC1oeWJyaWQtYmxvYi5odG1sCitodHRwL3Rlc3Rz
L2xvY2FsL3NlbmQtc2xpY2VkLWRhdGEtYmxvYi5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL3NlbmQt
c2xpY2VkLWRyYWdnZWQtZmlsZS5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL2Zvcm1kYXRhL3NlbmQt
Zm9ybS1kYXRhLmh0bWwKIGh0dHAvdGVzdHMvbG9jYWwvZm9ybWRhdGEvc2VuZC1mb3JtLWRhdGEt
d2l0aC1zbGljZWQtZmlsZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0CmluZGV4IDM4ZTNjMjczZWU3NDVlNDlkOTc5Mjc2NDI2MjU1ZmViNDgyMTE4NjIu
Ljc5ZWM3OTY5ZDMxOWY2YTU2Mzg0NGNlZTM2ZmE2YWI5NjVlNTUzNjUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0xMjEsNiArMTIxLDEwIEBAIHdp
bmRvdy5BdWRpby5wcm90b3R5cGUuc2V0QXR0cmlidXRlIFtmdW5jdGlvbl0KIHdpbmRvdy5BdWRp
by5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlMgW2Z1bmN0aW9uXQogd2luZG93LkF1ZGlvLnByb3Rv
dHlwZS5zZXRBdHRyaWJ1dGVOb2RlIFtmdW5jdGlvbl0KIHdpbmRvdy5BdWRpby5wcm90b3R5cGUu
c2V0QXR0cmlidXRlTm9kZU5TIFtmdW5jdGlvbl0KK3dpbmRvdy5CbG9iQnVpbGRlciBbb2JqZWN0
IEJsb2JCdWlsZGVyQ29uc3RydWN0b3JdCit3aW5kb3cuQmxvYkJ1aWxkZXIucHJvdG90eXBlIFtv
YmplY3QgQmxvYkJ1aWxkZXJQcm90b3R5cGVdCit3aW5kb3cuQmxvYkJ1aWxkZXIucHJvdG90eXBl
LmFwcGVuZCBbZnVuY3Rpb25dCit3aW5kb3cuQmxvYkJ1aWxkZXIucHJvdG90eXBlLmdldEJsb2Ig
W2Z1bmN0aW9uXQogd2luZG93LkNEQVRBU2VjdGlvbiBbb2JqZWN0IENEQVRBU2VjdGlvbkNvbnN0
cnVjdG9yXQogd2luZG93LkNEQVRBU2VjdGlvbi5wcm90b3R5cGUgW29iamVjdCBDREFUQVNlY3Rp
b25Qcm90b3R5cGVdCiB3aW5kb3cuQ0RBVEFTZWN0aW9uLnByb3RvdHlwZS5BVFRSSUJVVEVfTk9E
RSBbbnVtYmVyXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3Jp
cHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDViNWQ2MmZiMTEyOTJkNjIzMTcyZDA4Y2NkYmQxN2Jj
NGNjNjcxODUuLjIxMDhlNDJkZjEzNDVjYTdlYTdjODkzYzZjMTFlZTUzNThmYjE3ZmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3Rl
ZC50eHQKQEAgLTgsNiArOCw3IEBAIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iod2luZG93LCAnQXR0cicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0F1ZGlvJykgaXMgJ29iamVjdCcKIFBB
U1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnQmVmb3Jl
TG9hZEV2ZW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnQmxvYicpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jsb2JCdWlsZGVyJykgaXMgJ29i
amVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93
LCAnQm9vbGVhbicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ0NEQVRBU2VjdGlvbicpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0NTU0NoYXJzZXRS
dWxlJykgaXMgJ29iamVjdCcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9m
YXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQK
aW5kZXggMWYwNzhhZTJiZTE5M2IzZmNlMTI1ZTA4YmRmMjUzYzgxOWRkOGJjYy4uOGJmNmM5ZTBh
MmMxNjNlMGMxOGRmYmM2YWEzOGMzOTQ3YWE1ZDU2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0
YW5jZS1leHBlY3RlZC50eHQKQEAgLTExLDYgKzExLDggQEAgUEFTUyBpbm5lci5CZWZvcmVMb2Fk
RXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1
Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5pc0lubmVyIGlzIHRydWUKIFBB
U1MgaW5uZXIuQmxvYi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuQmxv
YkJ1aWxkZXIuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVj
dG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5DREFUQVNlY3Rpb24uaXNJbm5lciBpcyB0
cnVlCiBQQVNTIGlubmVyLkNEQVRBU2VjdGlvbi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUK
IFBBU1MgaW5uZXIuQ1NTQ2hhcnNldFJ1bGUuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAppbmRleCBkNWQyNWVkOGZhMWEzMmVkM2FlOGM5ZTJmYjZjZTMyZDM2Yzg5ZjM4Li4x
YzRjYmViNDRjOTZkNmJiNjhkZmU3YmFjODkyMDhjMjBlOTEyN2NhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQKQEAgLTIxNiw2ICsyMTYsOCBAQCBodHRwL3Rlc3RzL2xvYWRpbmcvdGV4dC1jb250
ZW50LXR5cGUtd2l0aC1iaW5hcnktZXh0ZW5zaW9uLmh0bWwKICMgRmFpbGluZyBMb2NhbCB0ZXN0
cwogaHR0cC90ZXN0cy9sb2NhbC9kcmFnLW92ZXItcmVtb3RlLWNvbnRlbnQuaHRtbAogaHR0cC90
ZXN0cy9sb2NhbC9zZW5kLWRyYWdnZWQtZmlsZS5odG1sCitodHRwL3Rlc3RzL2xvY2FsL3NlbmQt
aHlicmlkLWJsb2IuaHRtbAoraHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kYXRhLWJsb2Iu
aHRtbAogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kcmFnZ2VkLWZpbGUuaHRtbAogaHR0
cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS5odG1sCiBodHRwL3Rlc3RzL2xv
Y2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtc2xpY2VkLWZpbGUuaHRtbApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKaW5kZXggNTQyNDk2MDg0MWJmMzEw
NjBhNWFmNjBkYWZlMzdkNjcyYTRmMGJlZC4uN2RiMzQzMGExZTc1MmZlOTdiZDZlZmM4ZDkzOTY3
M2VmMGMyNDU4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
CkBAIC0xNTAsNiArMTUwLDEwIEBAIHdpbmRvdy5CZWZvcmVMb2FkRXZlbnQucHJvdG90eXBlLnN0
b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiBbZnVuY3Rpb25dCiB3aW5kb3cuQmVmb3JlTG9hZEV2ZW50
LnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb24gW2Z1bmN0aW9uXQogd2luZG93LkJsb2IgW29iamVj
dCBCbG9iQ29uc3RydWN0b3JdCiB3aW5kb3cuQmxvYi5wcm90b3R5cGUgW29iamVjdCBCbG9iUHJv
dG90eXBlXQord2luZG93LkJsb2JCdWlsZGVyIFtvYmplY3QgQmxvYkJ1aWxkZXJDb25zdHJ1Y3Rv
cl0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUgW29iamVjdCBCbG9iQnVpbGRlclByb3Rv
dHlwZV0KK3dpbmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuYXBwZW5kIFtmdW5jdGlvbl0KK3dp
bmRvdy5CbG9iQnVpbGRlci5wcm90b3R5cGUuZ2V0QmxvYiBbZnVuY3Rpb25dCiB3aW5kb3cuQ0RB
VEFTZWN0aW9uIFtvYmplY3QgQ0RBVEFTZWN0aW9uQ29uc3RydWN0b3JdCiB3aW5kb3cuQ0RBVEFT
ZWN0aW9uLnByb3RvdHlwZSBbb2JqZWN0IENEQVRBU2VjdGlvblByb3RvdHlwZV0KIHdpbmRvdy5D
REFUQVNlY3Rpb24ucHJvdG90eXBlLkFUVFJJQlVURV9OT0RFIFtudW1iZXJdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5
LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4
IGY5YWU0ODY3MzY2NzliODVjMzQwNDlhMDJjNzQ0NzI3ZmU1Y2Y1YzAuLmYxZmY0Njc1NzZmYTNm
NDc5NzY4ZWFiZGNjMzIzNWQ3MDRlZGI4YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CkBAIC04LDYgKzgsNyBAQCBQQVNT
IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0F0dHInKSBp
cyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICdBdWRpbycpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0JlZm9yZUxvYWRFdmVudCcpIGlzICdvYmplY3QnCiBQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jsb2In
KSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICdCbG9iQnVpbGRlcicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jvb2xlYW4nKSBpcyAnb2JqZWN0Jwog
UEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdDREFU
QVNlY3Rpb24nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csICdDU1NDaGFyc2V0UnVsZScpIGlzICdvYmplY3QnCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFu
Y2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vcHJvdG90
eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAppbmRleCA0OGJiZDdkYzU5YjRiMjgyZDlmZDk2
NDUzZDAwYmI4ZTc5Mzg4NjZlLi40NGEyNmFkN2E4ZDgzNjVhZDE0MDE4NTBkMjUxMTNhNmM3ODFi
NzVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9wcm90b3R5
cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTExLDYgKzEx
LDggQEAgUEFTUyBpbm5lci5CZWZvcmVMb2FkRXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlu
bmVyLkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5u
ZXIuQmxvYi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5jb25zdHJ1Y3Rvci5pc0lu
bmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuaXNJbm5lciBpcyB0cnVlCitQQVNT
IGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5l
ci5DREFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkNEQVRBU2VjdGlvbi5j
b25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQ1NTQ2hhcnNldFJ1bGUuaXNJ
bm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDkxYTAwYjkyNWM5Yzg3
ZDRmYjg0N2ZlNzA3OGQ4ZTdjNzAwNWQ5OGIuLjg3ZmUxNDVmZDhiYmZiOTY3YjhkMjU0NTRiZTBk
YjY4M2Y5NjFmYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC02NzksMTEgKzY3OSwx
NSBAQCBmYXN0L2Zvcm1zL2lucHV0LXNlbGVjdGVkb3B0aW9uLmh0bWwKIAogIyA8aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5Mjg3PgogaHR0cC90ZXN0cy9sb2NhbC9z
ZW5kLWRyYWdnZWQtZmlsZS5odG1sCitodHRwL3Rlc3RzL2xvY2FsL3NlbmQtaHlicmlkLWJsb2Iu
aHRtbAogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kcmFnZ2VkLWZpbGUuaHRtbAogaHR0
cC90ZXN0cy9sb2NhbC9mb3JtZGF0YS9zZW5kLWZvcm0tZGF0YS5odG1sCiBodHRwL3Rlc3RzL2xv
Y2FsL2Zvcm1kYXRhL3NlbmQtZm9ybS1kYXRhLXdpdGgtc2xpY2VkLWZpbGUuaHRtbAogaHR0cC90
ZXN0cy9sb2NhbC9mb3JtZGF0YS91cGxvYWQtZXZlbnRzLmh0bWwKIAorIyBOZWVkIEJsb2Iuc2xp
Y2Ugc3VwcG9ydAoraHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kYXRhLWJsb2IuaHRtbAor
CiAjIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkyODk+CiBwbHVn
aW5zL2Rlc3Ryb3ktZHVyaW5nLW5wcC1uZXcuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9y
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKaW5kZXggNWI1ZDYyZmIx
MTI5MmQ2MjMxNzJkMDhjY2RiZDE3YmM0Y2M2NzE4NS4uMjEwOGU0MmRmMTM0NWNhN2VhN2M4OTNj
NmMxMWVlNTM1OGZiMTdmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dApAQCAtOCw2ICs4LDcgQEAgUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdBdHRyJykgaXMgJ29iamVj
dCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
QXVkaW8nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcih3aW5kb3csICdCZWZvcmVMb2FkRXZlbnQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBl
b2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdCbG9iJykgaXMgJ29i
amVjdCcKK1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93
LCAnQmxvYkJ1aWxkZXInKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdCb29sZWFuJykgaXMgJ29iamVjdCcKIFBBU1MgdHlw
ZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnQ0RBVEFTZWN0aW9u
JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iod2luZG93LCAnQ1NTQ2hhcnNldFJ1bGUnKSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9wcm90b3R5cGUt
aW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKaW5kZXggY2Q3ZDZlYzUxZGY1NmY5M2E4MDcwNWNl
ZmEwODlkYjZkZjc4NDI3OS4uZGI3NWM4MWFjYTQ5NThlMDg1NDkwMWUzOGZiOWUyMjRiYWQ3NzE0
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL3Byb3RvdHlw
ZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CkBAIC0yMDks
NiArMjA5LDcgQEAgUEFTUyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgZnJvbSBp
bm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXkKIFBBU1MgV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1t
eVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNi5fX3Byb3RvX18KIE5ldmVyIGZvdW5kIEF1ZGlvCiBO
ZXZlciBmb3VuZCBCbG9iCitOZXZlciBmb3VuZCBCbG9iQnVpbGRlcgogTmV2ZXIgZm91bmQgQ0RB
VEFTZWN0aW9uCiBOZXZlciBmb3VuZCBDU1NSdWxlCiBOZXZlciBmb3VuZCBDU1NWYXJpYWJsZXNE
ZWNsYXJhdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9t
L3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAppbmRleCAx
ZjA3OGFlMmJlMTkzYjNmY2UxMjVlMDhiZGYyNTNjODE5ZGQ4YmNjLi44YmY2YzllMGEyYzE2M2Uw
YzE4ZGZiYzZhYTM4YzM5NDdhYTVkNTZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4
cGVjdGVkLnR4dApAQCAtMTEsNiArMTEsOCBAQCBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5p
c0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmVmb3JlTG9hZEV2ZW50LmNvbnN0cnVjdG9yLmlz
SW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5CbG9iLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5l
ci5CbG9iLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5CbG9iQnVpbGRl
ci5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuY29uc3RydWN0b3IuaXNJ
bm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkNEQVRBU2VjdGlvbi5pc0lubmVyIGlzIHRydWUKIFBB
U1MgaW5uZXIuQ0RBVEFTZWN0aW9uLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBp
bm5lci5DU1NDaGFyc2V0UnVsZS5pc0lubmVyIGlzIHRydWUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
QW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQu
anNjYmluZGluZ3MubWsKaW5kZXggYThhYzYxY2NiNmFlY2JlZDllNDMyMjQyZTJmYzJjYjE0ZjVj
NGY4YS4uMmFlZjZlYTUwZDFiZDkzOTIwY2FjMGY1ZmUwNjEzOWQwODkzZDQ3NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTE1NSw2ICsxNTUsNyBAQCAkKHBhdHN1
YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVkaWF0ZXMpL2RvbS8lLmNwcCA6ICQoaW50
ZXJtZWRpYXRlcykvZG9tLwogIyBIVE1MCiBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykv
aHRtbC9KU0Jsb2IuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTQmxvYkJ1aWxkZXIu
aCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRE9NRm9ybURhdGEuaCBcCiAgICAgJChp
bnRlcm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW5MaXN0LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4
YmluZGluZ3MubWsKaW5kZXggZGQ1ZjMwNWM1N2VmOGE2MmI0M2ZkN2JiNjU5NWU2YzM2NTM1NGNl
MC4uNjJjY2QwZmU0MjMxNGQwM2U2ZTY1ODM5NmZmNjUzMTQ5ODFiYjQ4OCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJv
aWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0xMzgsNiArMTM4LDcgQEAgJChwYXRzdWJzdCAl
LmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50
ZXJtZWRpYXRlcykKICMgSFRNTAogR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4QmxvYi5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYkJ1aWxk
ZXIuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uLmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbkxpc3QuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGUuaCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMzEy
M2I0YjJmYjBiZGNkZWIwZTJjOWVmZmZmYWRhOTFkZmFjNWJmLi42NjQ1ZDZjMTc2NTNiMDRiZWY0
NzgyNmMxZDExZjFiOTljNDg1NzM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4Miw2ICsxODIsNyBAQCBTRVQoV2Vi
Q29yZV9JRExfRklMRVMKICAgICBkb20vV2hlZWxFdmVudC5pZGwKIAogICAgIGh0bWwvQmxvYi5p
ZGwKKyAgICBodG1sL0Jsb2JCdWlsZGVyLmlkbAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRs
CiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuaWRsCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5p
ZGwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggYzFlYjE3MmZkOGY1ZGE0NjU3MTEyYWY1Yjc1ZDAzMGU2NGNmMWYwYy4uMDE2ZjJkYzZmNWEx
YWFiOWZlNDNjNTgyMTYyYWYzZjY3MzdmZDNjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0wNi0xNyAg
S2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEJsb2JCdWlsZGVyLmlkbCB0byBleHBv
c2UgQmxvYkJ1aWxkZXIgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MDU5MworCisgICAgICAgIEJsb2JCdWlsZGVyIGlzIGRlZmluZWQg
aW4gRmlsZUFQSSdzIEZpbGVXcml0ZXIgc3BlYy4KKyAgICAgICAgKGh0dHA6Ly9kZXYudzMub3Jn
LzIwMDkvZGFwL2ZpbGUtc3lzdGVtL2ZpbGUtd3JpdGVyLmh0bWwpCisKKyAgICAgICAgQWxzbyBy
ZW1vdmVzIHRoZSBFTkFCTEVfRklMRV9XUklURVIgaWZkZWYgZ3VhcmQgZm9yIEJsb2JCdWlsZGVy
LgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL2xvY2FsL3NlbmQtZGF0YS1ibG9iLmh0bWwK
KyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbG9jYWwvc2VuZC1oeWJyaWQtYmxvYi5odG1sCisK
KyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5k
cm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgor
ICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAq
IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0Jsb2JCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKiBodG1sL0Jsb2JCdWlsZGVyLmg6CisgICAgICAgICogaHRtbC9CbG9iQnVpbGRlci5p
ZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMC0wNi0xOCAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBi
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDdhYzNlNTFmZjcyOWRiM2RjNzc3MDdh
YmU3NjgxY2M2MjlkYzEyZWQuLmRlMzkzZDY1MTg0ZGU1MzNlMTRhMGM5ZmE0YjZjYzYxZDVjM2E1
NjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSlNCYXJJbmZv
LmNwcCIKICNpbmNsdWRlICJKU0JlZm9yZUxvYWRFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNCbG9i
LmNwcCIKKyNpbmNsdWRlICJKU0Jsb2JCdWlsZGVyLmNwcCIKICNpbmNsdWRlICJKU0NhbnZhc0dy
YWRpZW50LmNwcCIKICNpbmNsdWRlICJKU0NhbnZhc1BhdHRlcm4uY3BwIgogI2luY2x1ZGUgIkpT
Q2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggN2VjOTE1ZjJm
MzZiMWFiMjUxNTUzZTBlZjBjMjRlNTA5NTBkYWJjZi4uNTRhZGE1NmVhYWEwMWNmZmYwMmM2Mzcx
ODE0MzVkZTA2Y2ExNWMyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNTQsNiArNTQsNyBAQCBET01f
Q0xBU1NFUyA9IFwKICAgICBCYXJJbmZvIFwKICAgICBCZWZvcmVMb2FkRXZlbnQgXAogICAgIEJs
b2IgXAorICAgIEJsb2JCdWlsZGVyIFwKICAgICBDREFUQVNlY3Rpb24gXAogICAgIENTU0NoYXJz
ZXRSdWxlIFwKICAgICBDU1NGb250RmFjZVJ1bGUgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZTc4NTc0OTZhZTg2ZTU2
ZDc0YWI2MmFjNmEyYWY5MjM0Mzk4NDhmMC4uYWY1ZTBlZmYzNTZiMTZmYTE5NTMwMTgxMGY5M2Uz
YzEyNzdkYzEyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xODAsNiArMTgwLDcgQEAgSURMX0JJTkRJTkdTICs9IFwK
IAlXZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9X
aGVlbEV2ZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0Jsb2IuaWRsIFwKKwlXZWJDb3JlL2h0bWwv
QmxvYkJ1aWxkZXIuaWRsIFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyVmlldy5p
ZGwgXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsIFwKIAlXZWJDb3JlL2h0
bWwvY2FudmFzL0ludDhBcnJheS5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmMmNkZDY3M2YzMDMzNzJmMTY3ZjgwYTg0
NDMwYjViNmVhMzRmYTkwLi5mNjVjMzYzNjM2ZGY5NjlhZGE3MTdiYWIwMTY4ZjRmYTFkOThmOWU5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtODMsNiArODMsNyBAQAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9u
RXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2hlZWxFdmVudC5pZGwnLAogICAgICAgICAg
ICAgJ2h0bWwvQmxvYi5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvQmxvYkJ1aWxkZXIuaWRsJywK
ICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsJywKICAgICAgICAg
ICAgICdodG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuaWRsJywKICAgICAgICAgICAgICdodG1s
L2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBy
aSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggMjVjOTVmZmNiZTY0NzY2OTQwMmNhNTFjNzgy
N2E3ZjgyOGE5YTk3NS4uYjRlMzUwNzc4M2Q2M2VmM2JhNTFmYWY5ZWRmMjcxMDQ5OGI1NGFlNSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJp
CkBAIC0zMTksNiArMzE5LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vV2ViS2l0VHJh
bnNpdGlvbkV2ZW50LmlkbCBcCiAgICAgZG9tL1doZWVsRXZlbnQuaWRsIFwKICAgICBodG1sL0Js
b2IuaWRsIFwKKyAgICBodG1sL0Jsb2JCdWlsZGVyLmlkbCBcCiAgICAgaHRtbC9jYW52YXMvQXJy
YXlCdWZmZXJWaWV3LmlkbCBcCiAgICAgaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsIFwKICAg
ICBodG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCmluZGV4IDYyNGQ0MzM2NWI4ZmI0ZGFhM2RkMWEzNTQ3NThlM2E4ZGNiM2VlZjkuLjU1
ZWQ3ZWE4YWQ3NDEzNGNlOTM3ZWMzMTAyZWQ5MjEyOTY0NDcwOTAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzc3LDYgKzc3NywxNCBAQAogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQmxvYkJ1aWxkZXIuY3BwIg0KKwkJCQk+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0Jsb2JCdWlsZGVyLmgi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ2FudmFz
R3JhZGllbnQuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTE1MzMyZjk2MjVlYjk0MWJj
ZTljYWJmOTY5M2Y1ZDRiNmFkZDkxNC4uYjkxZTBlZDBkYzI5ZDUxNDc2N2UzNDRjYmZhNzc1MTg5
ODY5NmNlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTIyNzIsNiArMjI3Miw4IEBACiAJCTg5ODhFMTBGMTFBMzUwOEIwMERCNzMyRSAvKiBCbG9iSXRl
bS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODk4OEUx
MEQxMUEzNTA4QjAwREI3MzJFIC8qIEJsb2JJdGVtLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODlCRUQ1RUIxMUJFMTFDRTAwNDQ4NDkyIC8qIEJs
b2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg5QkVENUU5MTFCRTExQ0UwMDQ0ODQ5MiAvKiBCbG9iQnVpbGRlci5jcHAgKi87IH07CiAJ
CTg5QkVENUVDMTFCRTExQ0UwMDQ0ODQ5MiAvKiBCbG9iQnVpbGRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODlCRUQ1RUExMUJFMTFDRTAwNDQ4NDky
IC8qIEJsb2JCdWlsZGVyLmggKi87IH07CisJCTg5Q0QwMjkzMTFDODVCODcwMDcwQjc5MSAvKiBK
U0Jsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCAqLzsg
fTsKKwkJODlDRDAyOTQxMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5Q0QwMjkyMTFDODVCODcw
MDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggKi87IH07CiAJCThGQUM3NzREMTE5ODcyQ0IwMDE1
QUU5NCAvKiBKU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEY5MzREODQxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFp
blRocmVhZEV4ZWNTdGF0ZS5jcHAgKi87IH07CiAJCTkzMDJCMEJEMEQ3OUY4MjkwMEM3RUU4MyAv
KiBQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTMwMkIwQkMwRDc5RjgyOTAwQzdFRTgzIC8qIFBhZ2VHcm91cC5jcHAgKi87IH07CiAJ
CTkzMDJCMEJGMEQ3OUY4MkMwMEM3RUU4MyAvKiBQYWdlR3JvdXAuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDJCMEJFMEQ3OUY4MkMwMEM3RUU4MyAv
KiBQYWdlR3JvdXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNzg4MCw2ICs3ODgyLDkgQEAKIAkJODk4OEUxMEQxMUEzNTA4QjAwREI3MzJFIC8q
IEJsb2JJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJsb2JJdGVtLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5QkVENUU5MTFCRTExQ0UwMDQ0ODQ5MiAv
KiBCbG9iQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBC
bG9iQnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5QkVENUVBMTFC
RTExQ0UwMDQ0ODQ5MiAvKiBCbG9iQnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBCbG9iQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OUNE
MDI3OTExQzg1OUE4MDA3MEI3OTEgLyogQmxvYkJ1aWxkZXIuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEJsb2JCdWlsZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODlD
RDAyOTExMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCbG9iQnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg5Q0QwMjkyMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmxvYkJ1aWxkZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEY5MzREODMxMTg5RjFFRTAwNTA4RDVEIC8qIEpT
TWFpblRocmVhZEV4ZWNTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U01haW5UaHJlYWRFeGVjU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEY5
MzREODQxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01haW5UaHJlYWRFeGVjU3RhdGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAyQjBCQzBENzlGODI5MDBDN0VFODMg
LyogUGFnZUdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
Z2VHcm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzM5Nyw2ICsxMzQw
Miw3IEBACiAJCQkJMkVBRkFGMEQxMEUyQUYyRDAwN0VEM0Q2IC8qIEJsb2IuaWRsICovLAogCQkJ
CTg5QkVENUU5MTFCRTExQ0UwMDQ0ODQ5MiAvKiBCbG9iQnVpbGRlci5jcHAgKi8sCiAJCQkJODlC
RUQ1RUExMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmggKi8sCisJCQkJODlDRDAyNzkx
MUM4NTlBODAwNzBCNzkxIC8qIEJsb2JCdWlsZGVyLmlkbCAqLywKIAkJCQk5M0M0NDFFRDBGODEz
QTFBMDBDMUE2MzQgLyogQ29sbGVjdGlvbkNhY2hlLmNwcCAqLywKIAkJCQk5M0M0NDFFRTBGODEz
QTFBMDBDMUE2MzQgLyogQ29sbGVjdGlvbkNhY2hlLmggKi8sCiAJCQkJOTNDNDQxRkYwRjgxM0FF
MTAwQzFBNjM0IC8qIENvbGxlY3Rpb25UeXBlLmggKi8sCkBAIC0xMzc4Miw2ICsxMzc4OCw4IEBA
CiAJCQkJNDlFRUNGMUExMDUwNzJGMzAwMDk5RkFCIC8qIEpTQXJyYXlCdWZmZXJWaWV3LmggKi8s
CiAJCQkJMkUyRDk5Q0IxMEUyQkJEQTAwNDk2MzM3IC8qIEpTQmxvYi5jcHAgKi8sCiAJCQkJMkUy
RDk5Q0MxMEUyQkJEQTAwNDk2MzM3IC8qIEpTQmxvYi5oICovLAorCQkJCTg5Q0QwMjkxMTFDODVC
ODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCAqLywKKwkJCQk4OUNEMDI5MjExQzg1Qjg3
MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5oICovLAogCQkJCTY1REYzMjMzMDlEMURFNjUwMDBC
RTMyNSAvKiBKU0NhbnZhc0dyYWRpZW50LmNwcCAqLywKIAkJCQk2NURGMzIzNDA5RDFERTY1MDAw
QkUzMjUgLyogSlNDYW52YXNHcmFkaWVudC5oICovLAogCQkJCTY1REYzMjM1MDlEMURFNjUwMDBC
RTMyNSAvKiBKU0NhbnZhc1BhdHRlcm4uY3BwICovLApAQCAtMTgxOTAsNiArMTgxOTgsNyBAQAog
CQkJCUJDMTI0RjAwMEMyNjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDOTQ2MzQ4MTA3QTkzNjYwMDg1NzE5MyAvKiBKU0JlZm9yZUxvYWRFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkUyRDk5Q0UxMEUyQkJEQTAwNDk2MzM3IC8qIEpTQmxvYi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODlDRDAyOTQxMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0NDlFMjRDMTA3RDRBODQwMEI1NzkzRiAvKiBKU0Nh
bGxiYWNrRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMyM0EwOUQxREU2NTAwMEJFMzI1
IC8qIEpTQ2FudmFzR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMjNDMDlEMURF
NjUwMDBCRTMyNSAvKiBKU0NhbnZhc1BhdHRlcm4uaCBpbiBIZWFkZXJzICovLApAQCAtMjA1MTAs
NiArMjA1MTksNyBAQAogCQkJCUJDMTI0RUZGMEMyNjQ0N0EwMDlFMjM0OSAvKiBKU0JhckluZm8u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5NDYzNDYxMDdBOTM0QjAwODU3MTkzIC8qIEpTQmVm
b3JlTG9hZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFMkQ5OUNEMTBFMkJCREEwMDQ5
NjMzNyAvKiBKU0Jsb2IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODlDRDAyOTMxMUM4NUI4NzAw
NzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0OUUyODcx
MDdENERCNDAwQjU3OTNGIC8qIEpTQ2FsbGJhY2tEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTY1REYzMjM5MDlEMURFNjUwMDBCRTMyNSAvKiBKU0NhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTY1REYzMjNCMDlEMURFNjUwMDBCRTMyNSAvKiBKU0NhbnZhc1BhdHRlcm4u
Y3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQmxvYkJ1aWxkZXIu
Y3BwIGIvV2ViQ29yZS9odG1sL0Jsb2JCdWlsZGVyLmNwcAppbmRleCAwNTk5ZjQ4NjljMmY2ZmE0
NjAyOWQyNzk4Zjk3ODY1ZmNjOTZhNjZlLi5lNDI2M2RiNDM1ZjM2NGYxM2ZjZDc4NTg4Nzc0N2I5
NGEyOWI3ZjNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQmxvYkJ1aWxkZXIuY3BwCisrKyBi
L1dlYkNvcmUvaHRtbC9CbG9iQnVpbGRlci5jcHAKQEAgLTMwLDggKzMwLDYgQEAKIAogI2luY2x1
ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKEZJTEVfV1JJVEVSKQotCiAjaW5jbHVkZSAiQmxv
YkJ1aWxkZXIuaCIKIAogI2luY2x1ZGUgIkF0b21pY1N0cmluZy5oIgpAQCAtNTcsNyArNTUsNyBA
QCBzdGF0aWMgYm9vbCBnZXRMaW5lRW5kaW5nVHlwZUZyb21TdHJpbmcoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlU3RyaW5nLCBMaW5lRW5kaQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBC
bG9iQnVpbGRlcjo6YXBwZW5kU3RyaW5nKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5n
JiB0eXBlLCBFeGNlcHRpb25Db2RlJiBlYykKK2Jvb2wgQmxvYkJ1aWxkZXI6OmFwcGVuZChjb25z
dCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CiAgICAgZWMgPSAwOwogICAgIExpbmVFbmRpbmcgZW5kaW5nVHlwZTsKQEAgLTY5LDcgKzY3LDcg
QEAgYm9vbCBCbG9iQnVpbGRlcjo6YXBwZW5kU3RyaW5nKGNvbnN0IFN0cmluZyYgdGV4dCwgY29u
c3QgU3RyaW5nJiB0eXBlLCBFeGNlcHRpb24KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBC
bG9iQnVpbGRlcjo6YXBwZW5kQmxvYihQYXNzUmVmUHRyPEJsb2I+IGJsb2IpCitib29sIEJsb2JC
dWlsZGVyOjphcHBlbmQoUGFzc1JlZlB0cjxCbG9iPiBibG9iKQogewogICAgIGlmIChibG9iKSB7
CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYmxvYi0+aXRlbXMoKS5zaXplKCk7ICsr
aSkKQEAgLTg1LDUgKzgzLDMgQEAgUGFzc1JlZlB0cjxCbG9iPiBCbG9iQnVpbGRlcjo6Z2V0Qmxv
Yihjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBjb25zdAogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoRklMRV9XUklURVIpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvQmxvYkJ1aWxkZXIuaCBiL1dlYkNvcmUvaHRtbC9CbG9iQnVpbGRlci5oCmluZGV4
IDBkNDM0YTMwNDFlMmZkMzBjYTUxNWU0OTgyYjU3MzJmZjkzNWY0OGYuLjFmOTAyOTc5YWQ2OTA5
MjcwNDA0ZTI1MWEyNjkyMzZiNjA3NmNiN2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9CbG9i
QnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9CbG9iQnVpbGRlci5oCkBAIC0zMSw4ICszMSw2
IEBACiAjaWZuZGVmIEJsb2JCdWlsZGVyX2gKICNkZWZpbmUgQmxvYkJ1aWxkZXJfaAogCi0jaWYg
RU5BQkxFKEZJTEVfV1JJVEVSKQotCiAjaW5jbHVkZSAiQmxvYkl0ZW0uaCIKICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC00NywxMCAr
NDUsMTAgQEAgY2xhc3MgQmxvYkJ1aWxkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxCbG9iQnVpbGRl
cj4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsb2JCdWlsZGVyPiBjcmVhdGUo
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQmxvYkJ1aWxkZXIoKSk7IH0KIAotICAgIGJvb2wgYXBw
ZW5kU3RyaW5nKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBlbmRpbmcsIEV4Y2Vw
dGlvbkNvZGUmKTsKLSAgICBib29sIGFwcGVuZEJsb2IoUGFzc1JlZlB0cjxCbG9iPik7CisgICAg
Ym9vbCBhcHBlbmQoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIGVuZGluZywgRXhj
ZXB0aW9uQ29kZSYpOworICAgIGJvb2wgYXBwZW5kKFBhc3NSZWZQdHI8QmxvYj4pOwogCi0gICAg
UGFzc1JlZlB0cjxCbG9iPiBnZXRCbG9iKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGNvbnN0
OworICAgIFBhc3NSZWZQdHI8QmxvYj4gZ2V0QmxvYihjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBl
ID0gU3RyaW5nKCkpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIEJsb2JJdGVtTGlzdCBtX2l0ZW1z
OwpAQCAtNTgsNyArNTYsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LQotI2VuZGlmIC8vIEVOQUJMRShGSUxFX1dSSVRFUikKLQogI2VuZGlmIC8vIEJsb2JCdWlsZGVy
X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9CbG9iQnVpbGRlci5pZGwgYi9XZWJDb3JlL2h0
bWwvQmxvYkJ1aWxkZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhMTYxZGVhZWJkMDJjNzBiOWQxNjNhZGUw
NmU4OWMyM2IyOTVkMTcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvQmxvYkJ1aWxk
ZXIuaWRsCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAg
ICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKKyAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIs
CisgICAgICAgIE5vU3RhdGljVGFibGVzCisgICAgXSBCbG9iQnVpbGRlciB7CisgICAgICAgIEJs
b2IgZ2V0QmxvYihpbiBbT3B0aW9uYWwsIENvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJp
bmddIERPTVN0cmluZyBjb250ZW50VHlwZSk7CisgICAgICAgIHZvaWQgYXBwZW5kKGluIERPTVN0
cmluZyB2YWx1ZSwgaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0
cmluZyBlbmRpbmdzKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgYXBwZW5k
KGluIEJsb2IgYmxvYik7CisgICAgfTsKKworfQorCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDc5MWVjYjFm
YjA0N2FmNDQzZWQyNjY2M2M0ZjUzNWI0YTIwOWNkMmIuLmVhMmUwYWI3ODVjNWJlNGQ4MTY1MThh
OGMyMTNmMDgxYTcxYTY3MzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03MzYsNiArNzM2LDggQEAgbW9k
dWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9RklMRV9SRUFERVJ8
RklMRV9XUklURVJdIEZpbGVFcnJvckNvbnN0cnVjdG9yIEZpbGVFcnJvcjsKICAgICAgICAgYXR0
cmlidXRlIFtDb25kaXRpb25hbD1GSUxFX1JFQURFUl0gRmlsZVJlYWRlckNvbnN0cnVjdG9yIEZp
bGVSZWFkZXI7CiAKKyAgICAgICAgYXR0cmlidXRlIEJsb2JCdWlsZGVyQ29uc3RydWN0b3IgQmxv
YkJ1aWxkZXI7CisKICNlbmRpZiAvLyBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpCiAKICNp
ZiBkZWZpbmVkKFY4X0JJTkRJTkcpICYmIFY4X0JJTkRJTkcK
</data>
<flag name="review"
          id="45876"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>