<?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>48064</bug_id>
          
          <creation_ts>2010-10-21 05:49:31 -0700</creation_ts>
          <short_desc>Quota for IndexedDB should be per origin not per database</short_desc>
          <delta_ts>2010-10-26 08:22:01 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Orlow">jorlow</reporter>
          <assigned_to name="Jeremy Orlow">jorlow</assigned_to>
          <cc>andreip</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>297390</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-21 05:49:31 -0700</bug_when>
    <thetext>Quota for IndexedDB should be per origin not per database</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297396</commentid>
    <comment_count>1</comment_count>
      <attachid>71428</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-21 06:05:55 -0700</bug_when>
    <thetext>Created attachment 71428
fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297397</commentid>
    <comment_count>2</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-21 06:06:10 -0700</bug_when>
    <thetext>Please review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297398</commentid>
    <comment_count>3</comment_count>
      <attachid>71429</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-21 06:07:52 -0700</bug_when>
    <thetext>Created attachment 71429
oops</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298148</commentid>
    <comment_count>4</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-10-22 13:32:03 -0700</bug_when>
    <thetext>Looks good, some small nits below:


&gt; WebCore/manual-tests/indexeddb-persists.html
&gt; var result = event.result.transaction([]).objectStore(&quot;test&quot;).get(&quot;key&quot;);

You don&apos;t need to pass the [] array. Not passing anything at all is equivalent.

&gt; WebCore/storage/IDBDatabaseBackendImpl.cpp
&gt; if (databaseQuery.prepare() != SQLResultOk)
&gt;        ASSERT_NOT_REACHED();

why this and not (also) return false like we do in other error cases?

&gt;   if (databaseQuery.step() == SQLResultRow)

ditto

&gt;  if (query.prepare() != SQLResultOk)
&gt;         ASSERT_NOT_REACHED();

ditto

&gt;  , m_id(-1)

Make this a constant like we&apos;ve done everywhere else?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298472</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-23 15:45:46 -0700</bug_when>
    <thetext>Attachment 71429 did not build on chromium:
Build output: http://queues.webkit.org/results/4718053</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298892</commentid>
    <comment_count>6</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-25 09:07:57 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Looks good, some small nits below:
&gt; 
&gt; 
&gt; &gt; WebCore/manual-tests/indexeddb-persists.html
&gt; &gt; var result = event.result.transaction([]).objectStore(&quot;test&quot;).get(&quot;key&quot;);
&gt; 
&gt; You don&apos;t need to pass the [] array. Not passing anything at all is equivalent.

As specced today, I believe null implies dynamic transaction, which is not what we&apos;re looking for here.  Hopefully we get this sorted out next week at TPAC.
 
&gt; &gt; WebCore/storage/IDBDatabaseBackendImpl.cpp
&gt; &gt; if (databaseQuery.prepare() != SQLResultOk)
&gt; &gt;        ASSERT_NOT_REACHED();

Done.
 
&gt; why this and not (also) return false like we do in other error cases?
&gt; 
&gt; &gt;   if (databaseQuery.step() == SQLResultRow)
&gt; 
&gt; ditto

Because this isn&apos;t fatal.  It&apos;s hardly even worth the check.

&gt; &gt;  if (query.prepare() != SQLResultOk)
&gt; &gt;         ASSERT_NOT_REACHED();
&gt; 
&gt; ditto

Done.
 
&gt; &gt;  , m_id(-1)
&gt; 
&gt; Make this a constant like we&apos;ve done everywhere else?

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298908</commentid>
    <comment_count>7</comment_count>
      <attachid>71761</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-25 09:28:59 -0700</bug_when>
    <thetext>Created attachment 71761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299388</commentid>
    <comment_count>8</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-10-26 04:38:54 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=71761) [details]
&gt; Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299394</commentid>
    <comment_count>9</comment_count>
      <attachid>71761</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-10-26 05:43:05 -0700</bug_when>
    <thetext>Comment on attachment 71761
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=71761&amp;action=review

&gt; WebCore/ChangeLog:23
&gt; +

Add a comment about the map by db name not origin?

&gt; WebCore/storage/IDBFactoryBackendImpl.cpp:122
&gt; +    String uniqueIdentifier = fileIdentifier + &quot;_&quot; + name;

Use @ for safety?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299402</commentid>
    <comment_count>10</comment_count>
      <attachid>71761</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-10-26 06:37:49 -0700</bug_when>
    <thetext>Comment on attachment 71761
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=71761&amp;action=review

&gt;&gt; WebCore/storage/IDBFactoryBackendImpl.cpp:122
&gt;&gt; +    String uniqueIdentifier = fileIdentifier + &quot;_&quot; + name;
&gt; 
&gt; Use @ for safety?

If we allow underscores in the domain name, I think it&apos;s unsafe to use an underscore to join the two components, since databaseIdentifier() doesn&apos;t escape underscores ...

http://www.foo.com, &quot;.com_80_name&quot; -&gt; http_www.foo.com_80_.com_80_name
http://www.foo.com_80_.com, &quot;name&quot; -&gt; http_www.foo.com_80_.com_80_name

Using &apos;@&apos; avoids the problem as the hostname can&apos;t contain an &apos;@&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299405</commentid>
    <comment_count>11</comment_count>
      <attachid>71869</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-26 06:46:12 -0700</bug_when>
    <thetext>Created attachment 71869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299407</commentid>
    <comment_count>12</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-26 06:47:43 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 71761 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71761&amp;action=review
&gt; 
&gt; &gt;&gt; WebCore/storage/IDBFactoryBackendImpl.cpp:122
&gt; &gt;&gt; +    String uniqueIdentifier = fileIdentifier + &quot;_&quot; + name;
&gt; &gt; 
&gt; &gt; Use @ for safety?
&gt; 
&gt; If we allow underscores in the domain name, I think it&apos;s unsafe to use an underscore to join the two components, since databaseIdentifier() doesn&apos;t escape underscores ...
&gt; 
&gt; http://www.foo.com, &quot;.com_80_name&quot; -&gt; http_www.foo.com_80_.com_80_name
&gt; http://www.foo.com_80_.com, &quot;name&quot; -&gt; http_www.foo.com_80_.com_80_name
&gt; 
&gt; Using &apos;@&apos; avoids the problem as the hostname can&apos;t contain an &apos;@&apos;.

I agree this is better.  Fixed other issue.  Please take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299412</commentid>
    <comment_count>13</comment_count>
      <attachid>71869</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-10-26 06:54:07 -0700</bug_when>
    <thetext>Comment on attachment 71869
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299475</commentid>
    <comment_count>14</comment_count>
      <attachid>71869</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-26 08:21:50 -0700</bug_when>
    <thetext>Comment on attachment 71869
Patch

Clearing flags on attachment: 71869

Committed r70522: &lt;http://trac.webkit.org/changeset/70522&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299476</commentid>
    <comment_count>15</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-26 08:22:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71428</attachid>
            <date>2010-10-21 06:05:55 -0700</date>
            <delta_ts>2010-10-21 06:07:52 -0700</delta_ts>
            <desc>fix</desc>
            <filename>a</filename>
            <type>text/plain</type>
            <size>107329</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NzI4MWVjLi5mOTA5Y2JiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMTAt
MjEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUXVvdGEgZm9yIEluZGV4ZWREQiBzaG91
bGQgYmUgcGVyIG9yaWdpbiBub3QgcGVyIGRhdGFiYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODA2NAorCisgICAgICAgIFZlcmlmeSBvdXIgYmFj
a2luZyBkYXRhYmFzZSBjYW4gaGFuZGxlIG11bHRpcGxlIGluZGV4ZXMsIG9iamVjdFN0b3JlcywK
KyAgICAgICAgaXRlbXMgaW4gdGhlIGluZGV4L29iamVjdCBzdG9yZXMsIGV0YyB3aXRoaW4gZGF0
YWJhc2VzIG9mIGRpZmZlcmVudAorICAgICAgICBuYW1lcy4KKworICAgICAgICBBbHNvIGFkanVz
dCB0aGUgcXVvdGEgdGVzdCBzbyBpdCBkb2Vzbid0IGZhaWwgd2l0aCBzdWJ0bGUgZGlmZmVyZW5j
ZXMKKyAgICAgICAgaW4gdGhlIGJhY2tpbmcgZGIgKHdoaWNoIGNhbiBjaGFuZ2UgdGhlIHNpemUg
YSBiaXQpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0
bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMuaHRtbDogQWRk
ZWQuCisKIDIwMTAtMTAtMTkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGI2ZWE1MDUuLjZjMjQ1ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2RhdGFiYXNlLXF1b3RhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS1leHBlY3RlZC50eHQKQEAgLTY4LDEwMzQgKzY4
LDYgQEAgdHJhbnMgPSBkYi50cmFuc2FjdGlvbigpCiBDcmVhdGluZyAnZGF0YScgd2hpY2ggY29u
dGFpbnMgNjRLIG9mIGRhdGEKIFBBU1MgZGF0YS5sZW5ndGggaXMgNjU1MzYKIHN0b3JlID0gdHJh
bnMub2JqZWN0U3RvcmUoJ3Rlc3QxMjMnKQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVk
KQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNl
ICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3Rh
dGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRl
IGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQo
e3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
bWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZl
bnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVu
dC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQg
ZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291
cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUK
LVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQu
RE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFk
ZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5h
ZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVz
dWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3Mn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
ZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBl
dmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZl
bnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0
YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQu
c291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3Jl
YWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFk
eVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9y
ZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAn
cmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUg
PSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3Mg
ZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUn
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlz
IHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29u
ZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50
YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwg
ZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZl
bnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5y
ZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1z
dG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3Rv
cmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nl
c3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2Nv
ZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxs
IGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVu
dC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRh
fSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2Un
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNl
Ci1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgot
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQot
c3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1
Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
J2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBk
YXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3Nh
Z2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRh
cmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291
cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVk
OgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNT
ICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUK
LQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkK
LVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4
OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21l
c3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQu
c291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZp
cmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1Q
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRl
ZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJj
ZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0
YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0
ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRk
KHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3Vs
dCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZl
bnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50
IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBl
dmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3Nv
dXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVl
Ci1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9y
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0
LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFB
ZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNv
dXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFk
eVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlT
dGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUu
YWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jl
c3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlz
IHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNz
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0g
ZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2
ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0
cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVy
cm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFy
Z2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRh
dGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3Rv
cmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1Mg
J3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNj
ZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3Jl
ID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNz
IGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2Rl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBp
cyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdv
bmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0s
IGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQu
cmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQot
c3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBB
U1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25z
dWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0
b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNj
ZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0
YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJj
ZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoK
LVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAn
b25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0K
LXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1T
dWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
ICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0g
bnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMg
ZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDog
ZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNz
YWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50
YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNv
dXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJl
ZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2Un
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFT
UyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05F
Ci0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQp
Ci1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2Ug
IT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0
ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUg
aXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7
eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50
LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBm
aXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3Vy
Y2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQot
UEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5E
T05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRk
ZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3Vy
Y2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlT
dGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3Rh
dGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFk
ZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2
ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVu
dCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdz
b3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1
ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJv
cicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdl
dC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRh
QWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5z
b3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVh
ZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5
U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3Jl
LmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdy
ZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vz
cycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9
IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBl
dmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMg
dHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25l
cnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRh
cmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBk
YXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVu
dC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
cmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJl
YWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0
b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNT
ICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3Vj
Y2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9y
ZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2Vz
cyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9
LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBl
dmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0
LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UK
LXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1Q
QVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZh
bHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBl
dmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29u
c3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1z
dG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3Vj
Y2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAn
Y29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51
bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2
ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRh
dGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBl
dmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2Fn
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFT
UyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFy
Z2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3Vy
Y2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6
Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBp
biBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1Mg
J29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQot
Ci1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQot
U3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFT
UyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZh
bHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9
IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlz
IGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6
IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5z
b3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmly
ZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNl
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBB
U1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9O
RQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVk
KQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNl
ICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3Rh
dGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRl
IGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQo
e3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
bWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZl
bnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVu
dC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQg
ZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291
cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUK
LVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQu
RE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFk
ZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5h
ZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVz
dWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3Mn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
ZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBl
dmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZl
bnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0
YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQu
c291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3Jl
YWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFk
eVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9y
ZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAn
cmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUg
PSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3Mg
ZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUn
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlz
IHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29u
ZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50
YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwg
ZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZl
bnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5y
ZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1z
dG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3Rv
cmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nl
c3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2Nv
ZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxs
IGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVu
dC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRh
fSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2Un
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNl
Ci1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgot
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQot
c3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1
Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
J2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBk
YXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3Nh
Z2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRh
cmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291
cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVk
OgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNT
ICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUK
LQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkK
LVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4
OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21l
c3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQu
c291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZp
cmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1Q
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRl
ZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJj
ZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0
YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0
ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRk
KHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3Vs
dCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZl
bnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCiBFcnJvciBmdW5jdGlv
biBjYWxsZWQ6ICgwKSBFcnJvciB3cml0aW5nIGRhdGEgdG8gc3RhYmxlIHN0b3JhZ2UuCiBFcnJv
ciBldmVudCBmaXJlZDoKIFBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgZmFsc2UKQEAgLTExMDgs
NyArODAsNyBAQCBQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQogUEFTUyAn
cmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKIFBBU1MgZXZlbnQudGFyZ2V0LnJl
YWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKIAotUEFTUyBBZGRpbmcgZGF0YSBmYWlsZWQg
ZHVlIHRvIHF1b3RhIGVycm9yLiBEYXRhIGFkZGVkIHdhczogNTEyMCBLQgorUEFTUyBBZGRpbmcg
ZGF0YSBmYWlsZWQgZHVlIHRvIHF1b3RhIGVycm9yLiBEYXRhIGFkZGVkIHdhcyBhYm91dCA1IE1C
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCmluZGV4
IDQ1Y2U3MDkuLmFlZmU2YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvZGF0YWJhc2UtcXVvdGEuaHRtbApAQCAtOTAsMTcgKzkwLDE1IEBAIGZ1bmN0aW9uIGNoZWNr
UXVvdGFFbmZvcmNpbmcoKQogZnVuY3Rpb24gYWRkRGF0YSgpDQogew0KICAgICBpZiAoZGF0YUFk
ZGVkIDwgNSAqIDEwMjQgKiAxMDI0KSB7DQotICAgICAgICBpZiAoZGF0YUFkZGVkID4gMCkgew0K
LSAgICAgICAgICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7DQotICAgICAgICAgICAgc3Rv
cmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGV2ZW50LnNvdXJjZSIpOw0KLSAgICAgICAgfQ0KKyAg
ICAgICAgaWYgKGRhdGFBZGRlZCA+IDApCisgICAgICAgICAgICBzdG9yZSA9IGV2ZW50LnNvdXJj
ZTsKICAgICB9IGVsc2Ugew0KICAgICAgICAgdGVzdEZhaWxlZCgiYWRkZWQgbW9yZSB0aGFuIHF1
b3RhIik7DQogICAgICAgICBkb25lKCk7DQogICAgICAgICByZXR1cm47DQogICAgIH0NCiAgICAg
ZGF0YUFkZGVkICs9IDY1NTM2Ow0KLSAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQo
e3g6IGRhdGF9LCBkYXRhQWRkZWQpIik7DQorICAgIHJlc3VsdCA9IHN0b3JlLmFkZCh7eDogZGF0
YX0sIGRhdGFBZGRlZCk7DQogICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBhZGREYXRhOw0KICAgICBy
ZXN1bHQub25lcnJvciA9IGxvZ0Vycm9yOw0KIH0NCkBAIC0xMTMsNyArMTExLDcgQEAgZnVuY3Rp
b24gbG9nRXJyb3IoKQogDQogZnVuY3Rpb24gdGVzdENvbXBsZXRlKCkNCiB7DQotICAgIHRlc3RQ
YXNzZWQoIkFkZGluZyBkYXRhIGZhaWxlZCBkdWUgdG8gcXVvdGEgZXJyb3IuIERhdGEgYWRkZWQg
d2FzOiAiICsgZGF0YUFkZGVkIC8gMTAyNCArICIgS0IiKTsNCisgICAgdGVzdFBhc3NlZCgiQWRk
aW5nIGRhdGEgZmFpbGVkIGR1ZSB0byBxdW90YSBlcnJvci4gRGF0YSBhZGRlZCB3YXMgYWJvdXQg
IiArIE1hdGgucm91bmQoZGF0YUFkZGVkIC8gMTAyNCAvIDEwMjQpICsgIiBNQiIpOw0KICAgICBk
b25lKCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2R1
cGxpY2F0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVw
bGljYXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MmVhOGMzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2R1cGxpY2F0ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTQxIEBACitWZXJpZnkgdGhhdCB5
b3UgY2FuIHB1dCB0aGUgc2FtZSBkYXRhIGluIDIgZGlmZmVyZW50IGRhdGFiYXNlcyB3aXRob3V0
IHVuaXF1ZW5lc3MgY29uc3RyYWludHMgZmlyaW5nLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKword2Via2l0SW5kZXhlZERCLm9wZW4oJ25hbWUnLCAnZGVzY3JpcHRpb24nKQorUEFT
UyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0
IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBz
aG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitkYiA9IGV2ZW50
LnJlc3VsdAorZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQorUEFTUyAnb25zdWNjZXNzJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9y
dGx5Li4uCisKK3NldFZlcnNpb25TdWNjZXNzKCk6CitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKwordHJh
bnMgPSBldmVudC5yZXN1bHQKK1BBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQorRGVsZXRlZCBh
bGwgb2JqZWN0IHN0b3Jlcy4KK2RiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxs
KQorc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICd4JykKK3N0b3JlLmFkZCh7eDogJ3Zh
bHVlJywgeTogJ3p6eid9LCAna2V5JykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNj
ZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
K1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKKworZXZlbnQuc291cmNlLmFkZCh7eDogJ3ZhbHVlMicsIHk6ICd6enoy
J30sICdrZXkyJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29u
ZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMg
dHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZp
cmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKKworaW5kZXhPYmplY3QuZ2V0S2V5KCd2YWx1ZScpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJl
c3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVh
ZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHku
Li4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0IGlzICJrZXkiCitp
bmRleE9iamVjdC5nZXQoJ3ZhbHVlJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNj
ZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
K1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQueCBpcyAidmFsdWUiCitQQVNTIGV2
ZW50LnJlc3VsdC55IGlzICJ6enoiCitpbmRleE9iamVjdC5nZXRLZXkoJ2RvZXMgbm90IGV4aXN0
JykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGlu
IHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4g
ZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitFcnJvciBldmVudCBmaXJlZDoKK1BBU1Mg
J3Jlc3VsdCcgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIHRydWUK
K1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBl
dmVudC5jb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKK2lu
ZGV4T2JqZWN0LmdldCgnZG9lcyBub3QgZXhpc3QnKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1
bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5
U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4u
CisKK0Vycm9yIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyBmYWxzZQor
UEFTUyAnY29kZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
dHJ1ZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LmNvZGUgaXMgd2Via2l0SURCRGF0YWJh
c2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUgoraW5kZXhPYmplY3Qub3BlbktleUN1cnNvcigpCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1
bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50
IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jl
c3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BB
U1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNz
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZl
bnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgInZh
bHVlIgorUEFTUyBldmVudC5yZXN1bHQudmFsdWUgaXMgImtleSIKK2V2ZW50LnJlc3VsdC5jb250
aW51ZSgpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9y
JyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUK
K0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoK
K1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMg
ZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAn
b25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisK
K1BBU1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5r
ZXkgaXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlIGlzICJrZXkyIgorZXZlbnQu
cmVzdWx0LmNvbnRpbnVlKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BB
U1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1
bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2
ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBp
biBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1Mg
J3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0
cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVy
cm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFy
Z2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgdHJ1ZQoraW5kZXhPYmpl
Y3Qub3BlbkN1cnNvcigpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0
IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVu
dCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdz
b3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1
ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJv
cicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdl
dC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgInZhbHVlIgorUEFTUyBldmVudC5yZXN1bHQudmFsdWUueCBpcyAidmFs
dWUiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZS55IGlzICJ6enoiCitldmVudC5yZXN1bHQuY29u
dGludWUoKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJv
cicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVl
CitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6
CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlz
IGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBp
biBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1Mg
J29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQor
CitQQVNTIGV2ZW50LnJlc3VsdCA9PT0gbnVsbCBpcyBmYWxzZQorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzICJ2YWx1ZTIiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZS54IGlzICJ2YWx1ZTIiCitQ
QVNTIGV2ZW50LnJlc3VsdC52YWx1ZS55IGlzICJ6enoyIgorZXZlbnQucmVzdWx0LmNvbnRpbnVl
KCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGlu
IHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4g
ZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFT
UyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgdHJ1ZQord2Via2l0SW5kZXhlZERCLm9wZW4oJ25h
bWUyJywgJ2Rlc2NyaXB0aW9uMicpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
cmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2Vz
cyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQ
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCisKK2RiID0gZXZlbnQucmVzdWx0CitkYi5zZXRWZXJzaW9uKCduZXcgdmVy
c2lvbicpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9y
JyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUK
K0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworc2V0VmVyc2lvblN1Y2Nlc3MoKToK
K1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQorCit0cmFucyA9IGV2ZW50LnJlc3VsdAorUEFTUyB0cmFucyAh
PT0gbnVsbCBpcyB0cnVlCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCitzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1l
JywgJ3gnKQorc3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30sICdrZXknKQorUEFTUyAn
b25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlz
IHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91
bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
CitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitldmVudC5zb3VyY2Uu
YWRkKHt4OiAndmFsdWUyJywgeTogJ3p6ejInfSwgJ2tleTInKQorUEFTUyAnb25zdWNjZXNzJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9y
dGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitpbmRleE9iamVjdC5nZXRLZXkoJ3ZhbHVl
JykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGlu
IHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4g
ZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFT
UyBldmVudC5yZXN1bHQgaXMgImtleSIKK2luZGV4T2JqZWN0LmdldCgndmFsdWUnKQorUEFTUyAn
b25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlz
IHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91
bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
CitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJl
c3VsdC54IGlzICJ2YWx1ZSIKK1BBU1MgZXZlbnQucmVzdWx0LnkgaXMgInp6eiIKK2luZGV4T2Jq
ZWN0LmdldEtleSgnZG9lcyBub3QgZXhpc3QnKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3Rh
dGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisK
K0Vycm9yIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyBmYWxzZQorUEFT
UyAnY29kZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgdHJ1
ZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LmNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VF
eGNlcHRpb24uTk9UX0ZPVU5EX0VSUgoraW5kZXhPYmplY3QuZ2V0KCdkb2VzIG5vdCBleGlzdCcp
CitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBy
ZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2
ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworRXJyb3IgZXZlbnQgZmlyZWQ6CitQQVNTICdy
ZXN1bHQnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyB0cnVlCitQ
QVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNz
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZl
bnQuY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCitpbmRl
eE9iamVjdC5vcGVuS2V5Q3Vyc29yKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNj
ZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
K1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgZmFsc2UKK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZSBp
cyAia2V5IgorZXZlbnQucmVzdWx0LmNvbnRpbnVlKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVz
dWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFk
eVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4u
LgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVl
CitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQg
aXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3Vy
Y2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlT
dGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3Rh
dGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMg
ZmFsc2UKK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUyIgorUEFTUyBldmVudC5yZXN1
bHQudmFsdWUgaXMgImtleTIiCitldmVudC5yZXN1bHQuY29udGludWUoKQorUEFTUyAnb25zdWNj
ZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUK
K1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmly
ZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNT
IGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQ
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdCA9
PT0gbnVsbCBpcyB0cnVlCitpbmRleE9iamVjdC5vcGVuQ3Vyc29yKCkKK1BBU1MgJ29uc3VjY2Vz
cycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQ
QVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUg
c2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVu
dCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScg
aW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBl
dmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFT
UyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0
LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09
IG51bGwgaXMgZmFsc2UKK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUiCitQQVNTIGV2
ZW50LnJlc3VsdC52YWx1ZS54IGlzICJ2YWx1ZSIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLnkg
aXMgInp6eiIKK2V2ZW50LnJlc3VsdC5jb250aW51ZSgpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJl
c3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVh
ZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHku
Li4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlz
IGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVz
dWx0LnZhbHVlLnggaXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLnkgaXMgInp6
ejIiCitldmVudC5yZXN1bHQuY29udGludWUoKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3Rh
dGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisK
K1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdCA9PT0gbnVsbCBpcyB0cnVl
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwY2Y4YzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWwKQEAgLTAsMCArMSwyMTMg
QEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJWZXJpZnkgdGhhdCB5b3UgY2FuIHB1dCB0aGUg
c2FtZSBkYXRhIGluIDIgZGlmZmVyZW50IGRhdGFiYXNlcyB3aXRob3V0IHVuaXF1ZW5lc3MgY29u
c3RyYWludHMgZmlyaW5nLiIpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCit0ZXN0Q291bnQgPSAw
OworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgaWYgKHRlc3RDb3VudCsrID09IDApCisgICAgICAg
IHJlc3VsdCA9IGV2YWxBbmRMb2coIndlYmtpdEluZGV4ZWREQi5vcGVuKCduYW1lJywgJ2Rlc2Ny
aXB0aW9uJykiKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIndlYmtp
dEluZGV4ZWREQi5vcGVuKCduYW1lMicsICdkZXNjcmlwdGlvbjInKSIpOworICAgIHZlcmlmeVJl
c3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBzZXRWZXJzaW9uOworICAgIHJl
c3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIHNl
dFZlcnNpb24oKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgZGIgPSBl
dmFsQW5kTG9nKCJkYiA9IGV2ZW50LnJlc3VsdCIpOworCisgICAgcmVzdWx0ID0gZXZhbEFuZExv
ZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1
bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBkZWxldGVFeGlzdGluZzsKKyAgICByZXN1bHQu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBkZWxldGVF
eGlzdGluZygpCit7CisgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7CisgICAgdmVy
aWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGV2ZW50LnJlc3VsdCIpOworICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwi
KTsKKyAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CisKKyAgICBk
ZWxldGVBbGxPYmplY3RTdG9yZXMoZGIsIGNyZWF0ZUluZGV4KTsKK30KKworZnVuY3Rpb24gY3Jl
YXRlSW5kZXgoKQoreworICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOworICAgIHdpbmRvdy5pbmRleE9iamVjdCA9
IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcpIik7CisgICAg
YWRkRGF0YSgpOworfQorCitmdW5jdGlvbiBhZGREYXRhKCkKK3sKKyAgICByZXN1bHQgPSBldmFs
QW5kTG9nKCJzdG9yZS5hZGQoe3g6ICd2YWx1ZScsIHk6ICd6enonfSwgJ2tleScpIik7CisgICAg
dmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGFkZE1vcmU7Cisg
ICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rp
b24gYWRkTW9yZSgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKworICAgIHJl
c3VsdCA9IGV2YWxBbmRMb2coImV2ZW50LnNvdXJjZS5hZGQoe3g6ICd2YWx1ZTInLCB5OiAnenp6
Mid9LCAna2V5MicpIik7CisgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9u
c3VjY2VzcyA9IGdldERhdGE7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKK30KKworZnVuY3Rpb24gZ2V0RGF0YSgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2
ZW50KGV2ZW50KTsKKworICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0LmdldEtl
eSgndmFsdWUnKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1
Y2Nlc3MgPSBnZXRPYmplY3REYXRhOworICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIGdldE9iamVjdERhdGEoKQoreworICAgIHZlcmlm
eVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5y
ZXN1bHQiLCAia2V5Iik7CisKKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5n
ZXQoJ3ZhbHVlJykiKTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1bHQub25z
dWNjZXNzID0gZ2V0RGF0YUZhaWw7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gZ2V0RGF0YUZhaWwoKQoreworICAgIHZlcmlmeVN1
Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5yZXN1
bHQueCIsICJ2YWx1ZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0
LnkiLCAienp6Iik7CisKKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5nZXRL
ZXkoJ2RvZXMgbm90IGV4aXN0JykiKTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICBy
ZXN1bHQub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKKyAgICByZXN1bHQu
b25lcnJvciA9IGdldE9iamVjdERhdGFGYWlsOworfQorCitmdW5jdGlvbiBnZXRPYmplY3REYXRh
RmFpbCgpCit7CisgICAgdmVyaWZ5RXJyb3JFdmVudChldmVudCk7CisgICAgc2hvdWxkQmUoImV2
ZW50LmNvZGUiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOwor
CisgICAgcmVzdWx0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3QuZ2V0KCdkb2VzIG5vdCBleGlz
dCcpIik7CisgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9
IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSBvcGVuS2V5
Q3Vyc29yOworfQorCitmdW5jdGlvbiBvcGVuS2V5Q3Vyc29yKCkKK3sKKyAgICB2ZXJpZnlFcnJv
ckV2ZW50KGV2ZW50KTsKKyAgICBzaG91bGRCZSgiZXZlbnQuY29kZSIsICJ3ZWJraXRJREJEYXRh
YmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CisKKyAgICB3aW5kb3cucmVzdWx0ID0gZXZh
bEFuZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcigpIik7CisgICAgdmVyaWZ5UmVzdWx0
KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTsKKyAgICBy
ZXN1bHQub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBj
dXJzb3IxQ29udGludWUoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAg
c2hvdWxkQmVGYWxzZSgiZXZlbnQucmVzdWx0ID09PSBudWxsIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJldmVudC5yZXN1bHQua2V5IiwgInZhbHVlIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJldmVudC5yZXN1bHQudmFsdWUiLCAia2V5Iik7CisKKyAgICAvLyBXZSByZS11
c2UgdGhlIGxhc3QgcmVzdWx0IG9iamVjdC4KKyAgICBldmFsQW5kTG9nKCJldmVudC5yZXN1bHQu
Y29udGludWUoKSIpOworICAgIHZlcmlmeVJlc3VsdCh3aW5kb3cucmVzdWx0KTsKKyAgICB3aW5k
b3cucmVzdWx0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTI7Cit9CisKK2Z1bmN0aW9uIGN1
cnNvcjFDb250aW51ZTIoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAg
c2hvdWxkQmVGYWxzZSgiZXZlbnQucmVzdWx0ID09PSBudWxsIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJldmVudC5yZXN1bHQua2V5IiwgInZhbHVlMiIpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LnZhbHVlIiwgImtleTIiKTsKKworICAgIC8vIFdlIHJl
LXVzZSB0aGUgbGFzdCByZXN1bHQgb2JqZWN0LgorICAgIGV2YWxBbmRMb2coImV2ZW50LnJlc3Vs
dC5jb250aW51ZSgpIik7CisgICAgdmVyaWZ5UmVzdWx0KHdpbmRvdy5yZXN1bHQpOworICAgIHdp
bmRvdy5yZXN1bHQub25zdWNjZXNzID0gb3Blbk9iamVjdEN1cnNvcjsKK30KKworZnVuY3Rpb24g
b3Blbk9iamVjdEN1cnNvcigpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAg
ICBzaG91bGRCZVRydWUoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworCisgICAgd2luZG93LnJl
c3VsdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOworICAgIHZlcmlm
eVJlc3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWU7
CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVu
Y3Rpb24gY3Vyc29yMkNvbnRpbnVlKCkKK3sKKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQoZXZlbnQp
OworICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LmtleSIsICJ2YWx1ZSIpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LnZhbHVlLngiLCAidmFsdWUiKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS55IiwgInp6eiIpOworCisg
ICAgLy8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlc3VsdCBvYmplY3QuCisgICAgZXZhbEFuZExvZygi
ZXZlbnQucmVzdWx0LmNvbnRpbnVlKCkiKTsKKyAgICB2ZXJpZnlSZXN1bHQod2luZG93LnJlc3Vs
dCk7CisgICAgd2luZG93LnJlc3VsdC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWUyOworfQor
CitmdW5jdGlvbiBjdXJzb3IyQ29udGludWUyKCkKK3sKKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQo
ZXZlbnQpOworICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LmtleSIsICJ2YWx1ZTIiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS54IiwgInZhbHVlMiIp
OyAgICAKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS55Iiwg
Inp6ejIiKTsKKworICAgIC8vIFdlIHJlLXVzZSB0aGUgbGFzdCByZXN1bHQgb2JqZWN0LgorICAg
IGV2YWxBbmRMb2coImV2ZW50LnJlc3VsdC5jb250aW51ZSgpIik7CisgICAgdmVyaWZ5UmVzdWx0
KHdpbmRvdy5yZXN1bHQpOworICAgIHdpbmRvdy5yZXN1bHQub25zdWNjZXNzID0gbGFzdDsKK30K
KworZnVuY3Rpb24gbGFzdCgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAg
ICBzaG91bGRCZVRydWUoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworCisgICAgaWYgKHRlc3RD
b3VudCA9PSAxKQorICAgICAgICB0ZXN0KCk7CisgICAgZWxzZQorICAgICAgICBkb25lKCk7Cit9
CisKK3Rlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBi
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzlhYWYyYi4uNDJlMzQ0YSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0xMzE3LDcgKzEzMTcsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RVR1cmJ1bGVuY2UuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZl
Y3QuY3BwCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9JbWFnZUJ1ZmZlckZpbHRlci5j
cHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0xpZ2h0U291cmNlLmNwcAogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4OGNhZjI1Li5jYTIwYTI0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDgwIEBACisyMDEwLTEwLTIxICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFF1b3RhIGZv
ciBJbmRleGVkREIgc2hvdWxkIGJlIHBlciBvcmlnaW4gbm90IHBlciBkYXRhYmFzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgwNjQKKworICAgICAg
ICBNZXJnZSBhbGwgZGF0YWJhc2VzIGZvciBlYWNoIG9yaWdpbiBpbnRvIGEgc2luZ2xlIFNRTGl0
ZURhdGFiYXNlLgorCisgICAgICAgIFJlcGxhY2UgdGhlIGF3a3dhcmQgbWV0YURhdGEgdGFibGUg
d2l0aCBhIERhdGFiYXNlIHRhYmxlLgorCisgICAgICAgIENyZWF0ZSBhIG5ldyBJREJTUUxpdGVE
YXRhYmFzZSBjbGFzcyB0aGF0IHdyYXBzIFNRTGl0ZURhdGFiYXNlCisgICAgICAgIGFuZCBpbXBs
ZW1lbnRzIHdlYWsgcG9pbnRlciBzZW1hbnRpY3MgZm9yIElEQkZhY3RvcnkuIEl0J3MgcmVmCisg
ICAgICAgIGNvdW50ZWQgc28gbXVsdGlwbGUgSURCRGF0YWJhc2VCYWNrZW5kSW1wbHMgY2FuIHNo
YXJlIG9uZS4KKworICAgICAgICBGaXggdW5pcXVlbmVzcyBjb25zdHJhaW50cyB0aGF0IHdlcmUg
b3Zlcmx5IGNvbnNlcnZpdGl2ZS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBjb2RlIHRoYXQg
Ymxvd3MgYXdheSBleGlzdGluZyBkYXRhIGV2ZXJ5IHRpbWUKKyAgICAgICAgdGhlIGRhdGFiYXNl
IGlzIG9wZW5lZC4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBmYWlybHkgdXNlbGVzcyBpbmRl
eGVkREIgbWFudWFsIHRlc3QgYW5kIHJlcGxhY2UKKyAgICAgICAgaXQgd2l0aCBvbmUgdGhhdCB2
ZXJpZmllcyBkYXRhIHBlcnNpc3RzLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRi
L2R1cGxpY2F0ZXMuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIG1h
bnVhbC10ZXN0cy9pbmRleGVkLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFu
dWFsLXRlc3RzL2luZGV4ZWRkYi1wZXJzaXN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9y
YWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXh0cmFj
dE1ldGFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OnNldE1ldGFEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0RGVzY3JpcHRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c3FsaXRlRGF0YWJh
c2UpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlT2Jq
ZWN0U3RvcmVJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpzZXRWZXJzaW9uSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VC
YWNrZW5kSW1wbDo6bG9hZE9iamVjdFN0b3Jlcyk6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRh
YmFzZUJhY2tlbmRJbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
aWQpOgorICAgICAgICAqIHN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkZhY3RvcnlCYWNrZW5kSW1wbDo6cmVtb3ZlU1FMaXRlRGF0YWJhc2Up
OgorICAgICAgICAoV2ViQ29yZTo6b3BlblNRTGl0ZURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNv
cmU6OmNyZWF0ZVRhYmxlcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5QmFja2VuZElt
cGw6Om9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkYXRh
YmFzZUZpbGVOYW1lKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5o
OgorICAgICAgICAqIHN0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwdXRPYmplY3RTdG9yZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SURC
T2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0SW50ZXJuYWwpOgorICAgICAgICAqIHN0b3JhZ2Uv
SURCU1FMaXRlRGF0YWJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlNRTGl0
ZURhdGFiYXNlOjpJREJTUUxpdGVEYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJTUUxp
dGVEYXRhYmFzZTo6fklEQlNRTGl0ZURhdGFiYXNlKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlNR
TGl0ZURhdGFiYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCU1FMaXRlRGF0YWJh
c2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJTUUxpdGVEYXRhYmFzZTo6ZGIpOgor
CisyMDEwLTEwLTIwICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KKworICAgICAgICBSZW1vdmUgbGVmdCBvdmVyIGNv
ZGUgYWZ0ZXIgbW92aW5nIENhaXJvIHBvcnQgdG8gU2hhZG93Q29udGV4dAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc5MjkKKworICAgICAgICBJbWFn
ZUJ1ZmZlckZpbHRlciBpcyBub3QgbmVlZGVkIGFueW1vcmUsIHNpbmNlIENhaXJvIGlzIHVzaW5n
IFNoYWRvd0NvbnRleHQgbm93LgorICAgICAgICBNYWRlIGtlcm5lbFBvc2l0aW9uKCkgaW4gRkVH
YXVzc2lhbkJsdXIgYSBpbmxpbmUgZnVuY3Rpb24gaW5zdGVhZCBvZiBhIHN0YXRpYyBmdW5jdGlv
bi4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFt
OgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3Np
YW5CbHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omtlcm5lbFBvc2l0aW9uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9JbWFnZUJ1ZmZlckZpbHRlci5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9JbWFnZUJ1ZmZlckZpbHRlci5o
OiBSZW1vdmVkLgorCiAyMDEwLTEwLTIwICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFu
bkByaW0uY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdlZC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGE2Y2IwNmIuLmIw
NTcwNTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQpAQCAtMjIyNSw4ICsyMjI1LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcCBcCiAJ
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5oIFwKIAlXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyLmggXAotCVdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9JbWFnZUJ1ZmZlckZpbHRlci5jcHAgXAotCVdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9JbWFnZUJ1ZmZlckZpbHRlci5oIFwKIAlXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvTGlnaHRTb3VyY2UuY3BwIFwKIAlXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvTGlnaHRTb3VyY2UuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL1BvaW50TGlnaHRTb3VyY2UuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDQ4ZTBlZDIuLmM2YjZk
Y2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0yNDk2LDggKzI0OTYsNiBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRmlsdGVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRmlsdGVyRWZmZWN0LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GaWx0ZXJFZmZlY3QuaCcsCi0gICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9JbWFnZUJ1ZmZlckZpbHRlci5jcHAnLAotICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvSW1hZ2VCdWZmZXJGaWx0ZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcCcsCkBAIC0zODQ2LDYgKzM4NDQs
OCBAQAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5o
JywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlJlcXVlc3QuY3BwJywKICAgICAgICAgICAgICdz
dG9yYWdlL0lEQlJlcXVlc3QuaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9JREJTUUxpdGVEYXRh
YmFzZS5jcHAnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU1FMaXRlRGF0YWJhc2UuaCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuY3BwJywKICAgICAgICAgICAgICdz
dG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlRpbWVv
dXRFdmVudC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZWJk
OTI5Ni4uMDY0MmEwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0y
NzQyNSwxNCArMjc0MjUsNiBAQAogCQkJCQkJPg0KIAkJCQkJPC9GaWxlPg0KIAkJCQkJPEZpbGUN
Ci0JCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcSW1hZ2VC
dWZmZXJGaWx0ZXIuY3BwIg0KLQkJCQkJCT4NCi0JCQkJCTwvRmlsZT4NCi0JCQkJCTxGaWxlDQot
CQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXEltYWdlQnVm
ZmVyRmlsdGVyLmgiDQotCQkJCQkJPg0KLQkJCQkJPC9GaWxlPg0KLQkJCQkJPEZpbGUNCiAJCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcTGlnaHRTb3VyY2Uu
Y3BwIg0KIAkJCQkJCT4NCiAJCQkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL21hbnVh
bC10ZXN0cy9pbmRleGVkLWRhdGFiYXNlLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbmRl
eGVkLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhMmExZTEu
LjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5kZXhlZC1kYXRhYmFzZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4KLTxwPlRoaXMg
aXMgYSB0ZXN0IHRoYXQgb25seSBhcHBsaWVzIHRvIEluZGV4ZWREQi4gIDxzcGFuIGlkPWVuYWJs
ZWQ+T3VyIHRlc3QgZm9yIHdoZXRoZXIgeW91IGhhdmUgaXQgZW5hYmxlZCBzZWVtcyB0byBoYXZl
IGZhaWxlZC48L3NwYW4+PC9wPgotCi08cD5QbGVhc2UgZm9sbG93IHRoZXNlIHN0ZXBzIGluIG9y
ZGVyOjwvcD4KLQotPHA+Rmlyc3QsIGNsaWNrIDxhIGhyZWY9ImphdmFzY3JpcHQ6IGRvT3Blbih0
cnVlKSI+aGVyZTwvYT4gdG8gb3BlbiBhbiBpbmRleGVkREIgZGF0YWJhc2UuICBMb29rIGluIHRo
ZSBwcm9wZXIgcGxhY2UgaW4geW91ciBmaWxlIHN5c3RlbSAodGhlIHBsYWNlIGJlaW5nIHNwZWNp
ZmljIHRvIGVhY2ggcG9ydCkgYW5kIHZlcmlmeSBhIGZpbGUgd2FzIGNyZWF0ZWQuICBZb3Ugc2hv
dWxkIGJlIGFibGUgdG8gb3BlbiB0aGUgZmlsZSB1cCB3aXRoIHNxbGl0ZSBhbmQgZXhhbWluZSBp
dCB0aGF0IHdheSBhcyB3ZWxsLjwvcD4KLQotPHA+TmV4dCwgY2xvc2UgdGhlIGJyb3dzZXIsIGRl
bGV0ZSB0aGUgZmlsZSwgcmVwbGFjZSBpdCB3aXRoIHNvbWUgZ2FyYmFnZSwgYW5kIG1ha2UgaXQg
cmVhZCBvbmx5IHRvIHRoZSB1c2VyIHRoZSBicm93c2VyIGlzIHJ1bm5pbmcgYXMuICBOb3cgY2xp
Y2sgPGEgaHJlZj0iamF2YXNjcmlwdDogZG9PcGVuKGZhbHNlKSI+aGVyZTwvYT4uICBZb3Ugc2hv
dWxkIGdldCBzb21lIHNvcnQgb2YgZXJyb3IuPC9wPgotCi08cD5DbG9zZSB0aGUgYnJvd3Nlciwg
ZGVsZXRlIHRoZSBmaWxlIHlvdSBtYWRlLCBhbmQgY2xpY2sgPGEgaHJlZj0iamF2YXNjcmlwdDog
ZG9PcGVuKHRydWUpIj5oZXJlPC9hPi4gIEFsbCBzaG91bGQgYmUgd2VsbCBhZ2Fpbi48L3A+Ci0K
LTxwPlN0YXR1czogPHNwYW4gaWQ9c3RhdHVzPi4uLjwvc3Bhbj48L3A+Ci0KLTxzY3JpcHQ+Ci0K
LWlmICghKCdpbmRleGVkREInIGluIHdpbmRvdykpCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImVuYWJsZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQgY29sb3I9cmVkPllvdXIgYnVpbGQgZG9l
cyBOT1Qgc2VlbSB0byBoYXZlIGl0IGVuYWJsZWQuICBTbyBhbGwgY29kZSBvbiB0aGlzIHBhZ2Ug
aXMgZGlzYWJsZWQuPC9mb250PiI7Ci1lbHNlCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVuYWJsZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQgY29sb3I9Z3JlZW4+WW91ciBidWlsZCBzZWVt
cyB0byBoYXZlIGl0IGVuYWJsZWQuPC9mb250PiI7Ci0KLWZ1bmN0aW9uIHN0YXR1cyhzdHIsIGNv
bG9yKQotewotICAgIGlmIChjb2xvcikKLSAgICAgICAgc3RyID0gIjxmb250IGNvbG9yPSciICsg
Y29sb3IgKyAiJz4iICsgc3RyICsgIjwvZm9udD4iOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdGF0dXMiKS5pbm5lckhUTUwgPSBzdHI7Ci19Ci0KLWZ1bmN0aW9uIGRvT3BlbihleHBl
Y3RTdWNjZXNzKQotewotICAgIHN0YXR1cygiQ2FsbGluZyBvcGVuIik7Ci0gICAgcmVxdWVzdCA9
IGluZGV4ZWREQi5vcGVuKCJ4eXoiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9u
KCkgewotICAgICAgICBpZiAoZXhwZWN0U3VjY2VzcykKLSAgICAgICAgICAgIHN0YXR1cygiT3Bl
biBzdWNjZXNzZnVsIiwgImdyZWVuIik7ICAgICAgICAKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgc3RhdHVzKCJPcGVuIHdhcyBzdWNjZXNzZnVsLi4uYnV0IHNob3VsZG4ndCBoYXZlIGJlZW4i
LCAicmVkIik7ICAgICAgICAKLSAgICB9OwotICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9u
KCkgewotICAgICAgICBpZiAoZXhwZWN0U3VjY2VzcykKLSAgICAgICAgICAgIHN0YXR1cygiVW5l
eHBlY3RlZCBlcnJvcjogIiArIGV2ZW50Lm1lc3NhZ2UsICJyZWQiKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgc3RhdHVzKCJFeHBlY3RlZCBlcnJvcjogIiArIGV2ZW50Lm1lc3NhZ2UsICJn
cmVlbiIpOwotICAgIH07Ci19Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5kZXhlZGRiLXBlcnNpc3RzLmh0bWwgYi9XZWJD
b3JlL21hbnVhbC10ZXN0cy9pbmRleGVkZGItcGVyc2lzdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi42ZjVlMDM2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9t
YW51YWwtdGVzdHMvaW5kZXhlZGRiLXBlcnNpc3RzLmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPGh0
bWw+Cis8Ym9keT4KKzxwPlRoaXMgaXMgYSB0ZXN0IHRoYXQgb25seSBhcHBsaWVzIHRvIEluZGV4
ZWREQi4gIDxzcGFuIGlkPWVuYWJsZWQ+T3VyIHRlc3QgZm9yIHdoZXRoZXIgeW91IGhhdmUgaXQg
ZW5hYmxlZCBzZWVtcyB0byBoYXZlIGZhaWxlZC48L3NwYW4+PC9wPgorCis8cD5QbGVhc2UgZm9s
bG93IHRoZXNlIHN0ZXBzIGluIG9yZGVyOjwvcD4KKworPHA+Rmlyc3QsIGNsaWNrIDxhIGhyZWY9
ImphdmFzY3JpcHQ6IHNldERhdGEoKSI+aGVyZTwvYT4gdG8gb3BlbiBhIGRhdGFiYXNlIGFuZCBz
ZXQgc29tZSBkYXRhIHdpdGhpbiBpdC48L3A+CisKKzxwPk5leHQsIGNsb3NlIHRoZSBicm93c2Vy
IGFuZCB0aGVuIHJlLW9wZW4gdGhpcyBwYWdlLjwvcD4KKworPHA+TGFzdGx5LCBjbGljayA8YSBo
cmVmPSJqYXZhc2NyaXB0OiB2ZXJpZnlEYXRhKCkiPmhlcmU8L2E+IHRvIHZlcmlmeSB0aGUgZGF0
YSB3YXMgdGhlcmU8L3A+CisKKzxwPlN0YXR1czogPHNwYW4gaWQ9c3RhdHVzPi4uLjwvc3Bhbj48
L3A+CisKKzxzY3JpcHQ+CisKK2lmICghKCd3ZWJraXRJbmRleGVkREInIGluIHdpbmRvdykpCisg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuYWJsZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQg
Y29sb3I9cmVkPllvdXIgYnVpbGQgZG9lcyBOT1Qgc2VlbSB0byBoYXZlIGl0IGVuYWJsZWQuICBT
byBhbGwgY29kZSBvbiB0aGlzIHBhZ2UgaXMgZGlzYWJsZWQuPC9mb250PiI7CitlbHNlCisgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuYWJsZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQgY29s
b3I9Z3JlZW4+WW91ciBidWlsZCBzZWVtcyB0byBoYXZlIGl0IGVuYWJsZWQuPC9mb250PiI7CisK
K2Z1bmN0aW9uIHN0YXR1cyhzdHIsIGNvbG9yKQoreworICAgIGlmIChjb2xvcikKKyAgICAgICAg
c3RyID0gIjxmb250IGNvbG9yPSciICsgY29sb3IgKyAiJz4iICsgc3RyICsgIjwvZm9udD4iOwor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMiKS5pbm5lckhUTUwgPSBzdHI7Cit9
CisKK2Z1bmN0aW9uIHNldERhdGEoKQoreworICAgIHN0YXR1cygiU29tZXRoaW5nIG11c3QgaGF2
ZSBnb25lIHdyb25nIChvciB3ZSdyZSBzdGlsbCB3b3JraW5nKS4uLiIsICJyZWQiKTsKKworICAg
IHdlYmtpdEluZGV4ZWREQi5vcGVuKCJzb21lREIiLCAic29tZSBkZXNjcmlwdGlvbiIpLm9uc3Vj
Y2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICBldmVudC5yZXN1bHQuc2V0VmVyc2lvbigic29t
ZSB2ZXJzaW9uIikub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgZGIg
PSBldmVudC5zb3VyY2U7CisgICAgICAgICAgICB3aGlsZSAoZGIub2JqZWN0U3RvcmVzLmxlbmd0
aCkKKyAgICAgICAgICAgICAgICBkYi5yZW1vdmVPYmplY3RTdG9yZShkYi5vYmplY3RTdG9yZXNb
MF0pOworICAgICAgICAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3QiKS5wdXQoInZhbHVl
IiwgImtleSIpLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHN0YXR1
cygiVmFsdWUgc2V0IiwgImdyZWVuIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
Cit9CisKK2Z1bmN0aW9uIHZlcmlmeURhdGEoKQoreworICAgIHN0YXR1cygiU29tZXRoaW5nIG11
c3QgaGF2ZSBnb25lIHdyb25nIChvciB3ZSdyZSBzdGlsbCB3b3JraW5nKS4uLiIsICJyZWQiKTsK
KworICAgIHdlYmtpdEluZGV4ZWREQi5vcGVuKCJzb21lREIiLCAic29tZSBkZXNjcmlwdGlvbiIp
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFy
IHJlc3VsdCA9IGV2ZW50LnJlc3VsdC50cmFuc2FjdGlvbihbXSkub2JqZWN0U3RvcmUoInRlc3Qi
KS5nZXQoImtleSIpOworICAgICAgICAgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgICAgIGlmIChldmVudC5yZXN1bHQgPT0gInZhbHVlIikKKyAgICAgICAg
ICAgICAgICAgICAgc3RhdHVzKCJWYWx1ZSB2ZXJpZmllZCIsICJncmVlbiIpOworICAgICAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgc3RhdHVzKCJWYWx1ZSBpbmNvcnJlY3Qh
IiwgInJlZCIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzdWx0Lm9uZXJyb3IgPSBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBzdGF0dXMoIkFuIGVycm9yIG9jY3VycmVkOiAi
ICsgZXZlbnQuY29kZSArICIgIiArIGV2ZW50Lm1lc3NhZ2UsICJyZWQiKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgc3RhdHVzKCJBbiBleGNlcHRp
b24gb2NjdXJyZWQ6ICIgKyBlLCAicmVkIik7CisgICAgICAgIH0KKyAgICB9Cit9CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHAKaW5kZXggYjMyNjRkZC4uMWYzNmJhNyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVy
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJs
dXIuY3BwCkBAIC05OSw3ICs5OSw3IEBAIHN0YXRpYyB2b2lkIGJveEJsdXIoQ2FudmFzUGl4ZWxB
cnJheSomIHNyY1BpeGVsQXJyYXksIENhbnZhc1BpeGVsQXJyYXkqJiBkc3RQaXhlCiAgICAgfQog
fQogCi12b2lkIEZFR2F1c3NpYW5CbHVyOjprZXJuZWxQb3NpdGlvbihpbnQgYm94Qmx1ciwgdW5z
aWduZWQmIHN0ZCwgaW50JiBkTGVmdCwgaW50JiBkUmlnaHQpCitpbmxpbmUgdm9pZCBrZXJuZWxQ
b3NpdGlvbihpbnQgYm94Qmx1ciwgdW5zaWduZWQmIHN0ZCwgaW50JiBkTGVmdCwgaW50JiBkUmln
aHQpCiB7CiAgICAgLy8gY2hlY2sgaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL2ZpbHRlcnMuaHRt
bCNmZUdhdXNzaWFuQmx1ckVsZW1lbnQgZm9yIGRldGFpbHMKICAgICBzd2l0Y2ggKGJveEJsdXIp
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNz
aWFuQmx1ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5C
bHVyLmgKaW5kZXggMGY3MjU0My4uNTBmYzYxMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmgKQEAgLTQ5LDcgKzQ5LDYgQEAgcHVi
bGljOgogCiBwcml2YXRlOgogICAgIEZFR2F1c3NpYW5CbHVyKGZsb2F0LCBmbG9hdCk7Ci0gICAg
c3RhdGljIHZvaWQga2VybmVsUG9zaXRpb24oaW50IGJveEJsdXIsIHVuc2lnbmVkJiBzdGQsIGlu
dCYgZExlZnQsIGludCYgZFJpZ2h0KTsKIAogICAgIGZsb2F0IG1fc3RkWDsKICAgICBmbG9hdCBt
X3N0ZFk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvSW1h
Z2VCdWZmZXJGaWx0ZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0lt
YWdlQnVmZmVyRmlsdGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDIzNzk3
Ny4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvSW1hZ2VC
dWZmZXJGaWx0ZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwOSBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KLSAqIENvcHly
aWdodCAoQykgMjAwOSBCcmVudCBGdWxnaGFtIDxiZnVsZ2hhbUB3ZWJraXQub3JnPgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoRklMVEVSUykKLSNpbmNsdWRlICJJbWFnZUJ1ZmZl
ckZpbHRlci5oIgotCi0jaW5jbHVkZSAiRmxvYXRTaXplLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotSW1hZ2VCdWZmZXJGaWx0ZXI6OkltYWdlQnVmZmVyRmlsdGVyKGNvbnN0IEZsb2F0UmVj
dCYgc291cmNlSW1hZ2VSZWN0KQotICAgIDogRmlsdGVyKCkKLSAgICAsIG1fc291cmNlSW1hZ2VS
ZWN0KHNvdXJjZUltYWdlUmVjdCkKLXsKLSAgICBzZXRGaWx0ZXJSZXNvbHV0aW9uKEZsb2F0U2l6
ZSgxLCAxKSk7Ci19Ci0KLVBhc3NSZWZQdHI8SW1hZ2VCdWZmZXJGaWx0ZXI+IEltYWdlQnVmZmVy
RmlsdGVyOjpjcmVhdGUoY29uc3QgRmxvYXRSZWN0JiBzb3VyY2VJbWFnZVJlY3QpCi17Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBJbWFnZUJ1ZmZlckZpbHRlcihzb3VyY2VJbWFnZVJlY3QpKTsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEZJTFRFUlMp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvSW1hZ2VCdWZm
ZXJGaWx0ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9JbWFnZUJ1ZmZl
ckZpbHRlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTM3MjE0Li4wMDAwMDAw
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9JbWFnZUJ1ZmZlckZpbHRl
ci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwOSBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAw
OSBCcmVudCBGdWxnaGFtIDxiZnVsZ2hhbUB3ZWJraXQub3JnPgotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
Ci0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0g
KgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVmIEltYWdlQnVmZmVy
RmlsdGVyX2gKLSNkZWZpbmUgSW1hZ2VCdWZmZXJGaWx0ZXJfaAotCi0jaWYgRU5BQkxFKEZJTFRF
UlMpCi0jaW5jbHVkZSAiRmlsdGVyLmgiCi0jaW5jbHVkZSAiRmlsdGVyRWZmZWN0LmgiCi0jaW5j
bHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVkZSAiRmxvYXRTaXplLmgiCi0KLSNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEltYWdlQnVmZmVy
RmlsdGVyIDogcHVibGljIEZpbHRlciB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
SW1hZ2VCdWZmZXJGaWx0ZXI+IGNyZWF0ZShjb25zdCBGbG9hdFJlY3QmKTsKLQotICAgIHZpcnR1
YWwgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlSW1hZ2VS
ZWN0OyB9Ci0gICAgdmlydHVhbCBGbG9hdFJlY3Qgc291cmNlSW1hZ2VSZWN0KCkgY29uc3QgeyBy
ZXR1cm4gbV9zb3VyY2VJbWFnZVJlY3Q7IH0KLQotICAgIC8vIFNWRyBzcGVjaWZpYwotICAgIHZp
cnR1YWwgYm9vbCBlZmZlY3RCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQotCi0gICAgdmlydHVhbCBGbG9hdFNpemUgbWF4SW1hZ2VTaXplKCkgY29uc3QgeyByZXR1cm4g
RmxvYXRTaXplKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgY2FsY3VsYXRlRWZmZWN0U3ViUmVnaW9u
KEZpbHRlckVmZmVjdCopIHsgfQotCi1wcml2YXRlOgotICAgIEltYWdlQnVmZmVyRmlsdGVyKGNv
bnN0IEZsb2F0UmVjdCYpOwotCi0gICAgRmxvYXRSZWN0IG1fc291cmNlSW1hZ2VSZWN0OwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEZJTFRFUlMpCi0K
LSNlbmRpZiAvLyBJbWFnZUJ1ZmZlckZpbHRlcl9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJh
c2VCYWNrZW5kSW1wbC5jcHAKaW5kZXggZGM2MWUyMi4uZTRhZTU3NSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcApAQCAtMzIsNjAgKzMyLDYxIEBACiAjaW5j
bHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0aW9uLmgi
CiAjaW5jbHVkZSAiSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5oIgorI2luY2x1ZGUgIklEQlNR
TGl0ZURhdGFiYXNlLmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
LmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIgotI2luY2x1ZGUgIlNR
TGl0ZURhdGFiYXNlLmgiCiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50LmgiCiAjaW5jbHVkZSAi
U1FMaXRlVHJhbnNhY3Rpb24uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgYm9v
bCBleHRyYWN0TWV0YURhdGEoU1FMaXRlRGF0YWJhc2UqIHNxbGl0ZURhdGFiYXNlLCBjb25zdCBT
dHJpbmcmIGV4cGVjdGVkTmFtZSwgU3RyaW5nJiBmb3VuZFZlcnNpb24pCitzdGF0aWMgYm9vbCBl
eHRyYWN0TWV0YURhdGEoU1FMaXRlRGF0YWJhc2UmIHNxbGl0ZURhdGFiYXNlLCBjb25zdCBTdHJp
bmcmIG5hbWUsIFN0cmluZyYgZm91bmRWZXJzaW9uLCBpbnQ2NCYgZm91bmRJZCkKIHsKLSAgICBT
UUxpdGVTdGF0ZW1lbnQgbWV0YURhdGFRdWVyeSgqc3FsaXRlRGF0YWJhc2UsICJTRUxFQ1QgbmFt
ZSwgdmVyc2lvbiBGUk9NIE1ldGFEYXRhIik7Ci0gICAgaWYgKG1ldGFEYXRhUXVlcnkucHJlcGFy
ZSgpICE9IFNRTFJlc3VsdE9rIHx8IG1ldGFEYXRhUXVlcnkuc3RlcCgpICE9IFNRTFJlc3VsdFJv
dykKKyAgICBTUUxpdGVTdGF0ZW1lbnQgZGF0YWJhc2VRdWVyeShzcWxpdGVEYXRhYmFzZSwgIlNF
TEVDVCBpZCwgdmVyc2lvbiBGUk9NIERhdGFiYXNlcyBXSEVSRSBuYW1lID0gPyIpOworICAgIGlm
IChkYXRhYmFzZVF1ZXJ5LnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaykKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgZGF0YWJhc2VRdWVyeS5iaW5kVGV4dCgxLCBuYW1lKTsKKyAg
ICBpZiAoZGF0YWJhc2VRdWVyeS5zdGVwKCkgIT0gU1FMUmVzdWx0Um93KQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBpZiAobWV0YURhdGFRdWVyeS5nZXRDb2x1bW5UZXh0KDApICE9IGV4
cGVjdGVkTmFtZSkgewotICAgICAgICBMT0dfRVJST1IoIk5hbWUgaW4gTWV0YURhdGEgKCVzKSBk
b2Vzbid0IG1hdGNoIGV4cGVjdGVkICglcykgZm9yIEluZGV4ZWREQiIsIG1ldGFEYXRhUXVlcnku
Z2V0Q29sdW1uVGV4dCgwKS51dGY4KCkuZGF0YSgpLCBleHBlY3RlZE5hbWUudXRmOCgpLmRhdGEo
KSk7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLSAgICBmb3VuZFZlcnNp
b24gPSBtZXRhRGF0YVF1ZXJ5LmdldENvbHVtblRleHQoMSk7CisgICAgZm91bmRJZCA9IGRhdGFi
YXNlUXVlcnkuZ2V0Q29sdW1uSW50NjQoMCk7CisgICAgZm91bmRWZXJzaW9uID0gZGF0YWJhc2VR
dWVyeS5nZXRDb2x1bW5UZXh0KDEpOwogCi0gICAgaWYgKG1ldGFEYXRhUXVlcnkuc3RlcCgpID09
IFNRTFJlc3VsdFJvdykgewotICAgICAgICBMT0dfRVJST1IoIk1vcmUgdGhhbiBvbmUgcm93IGZv
dW5kIGluIE1ldGFEYXRhIHRhYmxlIik7CisgICAgaWYgKGRhdGFiYXNlUXVlcnkuc3RlcCgpID09
IFNRTFJlc3VsdFJvdykKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBib29sIHNldE1ldGFEYXRhKFNRTGl0ZURhdGFi
YXNlKiBzcWxpdGVEYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRl
c2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCitzdGF0aWMgYm9vbCBzZXRNZXRhRGF0
YShTUUxpdGVEYXRhYmFzZSYgc3FsaXRlRGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBpbnQ2NF90JiBy
b3dJZCkKIHsKLSAgICBBU1NFUlQoIW5hbWUuaXNOdWxsKCkgJiYgIWRlc2NyaXB0aW9uLmlzTnVs
bCgpICYmICF2ZXJzaW9uLmlzTnVsbCgpKTsKKyAgICBBU1NFUlQoIW5hbWUuaXNOdWxsKCkpOwor
ICAgIEFTU0VSVCghZGVzY3JpcHRpb24uaXNOdWxsKCkpOworICAgIEFTU0VSVCghdmVyc2lvbi5p
c051bGwoKSk7CisKKyAgICBTdHJpbmcgc3FsID0gcm93SWQgIT0gLTEgPyAiVVBEQVRFIERhdGFi
YXNlcyBTRVQgbmFtZSA9ID8sIGRlc2NyaXB0aW9uID0gPywgdmVyc2lvbiA9ID8gV0hFUkUgaWQg
PSA/IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJJTlNFUlQgSU5UTyBEYXRhYmFz
ZXMgKG5hbWUsIGRlc2NyaXB0aW9uLCB2ZXJzaW9uKSBWQUxVRVMgKD8sID8sID8pIjsKKyAgICBT
UUxpdGVTdGF0ZW1lbnQgcXVlcnkoc3FsaXRlRGF0YWJhc2UsIHNxbCk7CisgICAgaWYgKHF1ZXJ5
LnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaykKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAKLSAgICBzcWxpdGVEYXRhYmFzZS0+ZXhlY3V0ZUNvbW1hbmQoIkRFTEVURSBGUk9NIE1ldGFE
YXRhIik7CisgICAgcXVlcnkuYmluZFRleHQoMSwgbmFtZSk7CisgICAgcXVlcnkuYmluZFRleHQo
MiwgZGVzY3JpcHRpb24pOworICAgIHF1ZXJ5LmJpbmRUZXh0KDMsIHZlcnNpb24pOworICAgIGlm
IChyb3dJZCAhPSAtMSkKKyAgICAgICAgcXVlcnkuYmluZEludDY0KDQsIHJvd0lkKTsKIAotICAg
IFNRTGl0ZVN0YXRlbWVudCBpbnNlcnQoKnNxbGl0ZURhdGFiYXNlLCAiSU5TRVJUIElOVE8gTWV0
YURhdGEgKG5hbWUsIGRlc2NyaXB0aW9uLCB2ZXJzaW9uKSBWQUxVRVMgKD8sID8sID8pIik7Ci0g
ICAgaWYgKGluc2VydC5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2spIHsKLSAgICAgICAgTE9HX0VS
Uk9SKCJGYWlsZWQgdG8gcHJlcGFyZSBNZXRhRGF0YSBpbnNlcnQgc3RhdGVtZW50IGZvciBJbmRl
eGVkREIiKTsKKyAgICBpZiAocXVlcnkuc3RlcCgpICE9IFNRTFJlc3VsdERvbmUpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9CiAKLSAgICBpbnNlcnQuYmluZFRleHQoMSwgbmFtZSk7Ci0g
ICAgaW5zZXJ0LmJpbmRUZXh0KDIsIGRlc2NyaXB0aW9uKTsKLSAgICBpbnNlcnQuYmluZFRleHQo
MywgdmVyc2lvbik7Ci0KLSAgICBpZiAoaW5zZXJ0LnN0ZXAoKSAhPSBTUUxSZXN1bHREb25lKSB7
Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGluc2VydCByb3cgaW50byBNZXRhRGF0YSBm
b3IgSW5kZXhlZERCIik7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9CisgICAgaWYgKHJv
d0lkID09IC0xKQorICAgICAgICByb3dJZCA9IHNxbGl0ZURhdGFiYXNlLmxhc3RJbnNlcnRSb3dJ
RCgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUlEQkRhdGFiYXNlQmFja2VuZEltcGw6OklE
QkRhdGFiYXNlQmFja2VuZEltcGwoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRl
c2NyaXB0aW9uLCBQYXNzT3duUHRyPFNRTGl0ZURhdGFiYXNlPiBzcWxpdGVEYXRhYmFzZSwgSURC
VHJhbnNhY3Rpb25Db29yZGluYXRvciogY29vcmRpbmF0b3IpCitJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgSURCU1FMaXRlRGF0YWJhc2UqIHNxbGl0ZURhdGFiYXNlLCBJREJU
cmFuc2FjdGlvbkNvb3JkaW5hdG9yKiBjb29yZGluYXRvcikKICAgICA6IG1fc3FsaXRlRGF0YWJh
c2Uoc3FsaXRlRGF0YWJhc2UpCisgICAgLCBtX2lkKC0xKQogICAgICwgbV9uYW1lKG5hbWUpCiAg
ICAgLCBtX2Rlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKQogICAgICwgbV92ZXJzaW9uKCIiKQpAQCAt
OTQsOSArOTUsMTAgQEAgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6SURCRGF0YWJhc2VCYWNrZW5k
SW1wbChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYKICAgICBBU1NFUlQoIW1fbmFt
ZS5pc051bGwoKSk7CiAgICAgQVNTRVJUKCFtX2Rlc2NyaXB0aW9uLmlzTnVsbCgpKTsKIAotICAg
IGV4dHJhY3RNZXRhRGF0YShtX3NxbGl0ZURhdGFiYXNlLmdldCgpLCBtX25hbWUsIG1fdmVyc2lv
bik7Ci0gICAgc2V0TWV0YURhdGEobV9zcWxpdGVEYXRhYmFzZS5nZXQoKSwgbV9uYW1lLCBtX2Rl
c2NyaXB0aW9uLCBtX3ZlcnNpb24pOwotCisgICAgYm9vbCBzdWNjZXNzID0gZXh0cmFjdE1ldGFE
YXRhKG1fc3FsaXRlRGF0YWJhc2UtPmRiKCksIG1fbmFtZSwgbV92ZXJzaW9uLCBtX2lkKTsKKyAg
ICBBU1NFUlQoc3VjY2VzcyA9PSAobV9pZCAhPSAtMSkpOworICAgIGlmICghc2V0TWV0YURhdGEo
bV9zcWxpdGVEYXRhYmFzZS0+ZGIoKSwgbV9uYW1lLCBtX2Rlc2NyaXB0aW9uLCBtX3ZlcnNpb24s
IG1faWQpKQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gRklYTUU6IE5lZWQgYmV0
dGVyIGVycm9yIGhhbmRsaW5nLgogICAgIGxvYWRPYmplY3RTdG9yZXMoKTsKIH0KIApAQCAtMTEw
LDcgKzExMiwxMiBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldERlc2NyaXB0aW9u
KGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fZGVz
Y3JpcHRpb24gPSBkZXNjcmlwdGlvbjsKLSAgICBzZXRNZXRhRGF0YShtX3NxbGl0ZURhdGFiYXNl
LmdldCgpLCBtX25hbWUsIG1fZGVzY3JpcHRpb24sIG1fdmVyc2lvbik7CisgICAgc2V0TWV0YURh
dGEobV9zcWxpdGVEYXRhYmFzZS0+ZGIoKSwgbV9uYW1lLCBtX2Rlc2NyaXB0aW9uLCBtX3ZlcnNp
b24sIG1faWQpOworfQorCitTUUxpdGVEYXRhYmFzZSYgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
c3FsaXRlRGF0YWJhc2UoKSBjb25zdAoreworICAgIHJldHVybiBtX3NxbGl0ZURhdGFiYXNlLT5k
YigpOwogfQogCiBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IElEQkRhdGFiYXNlQmFja2VuZElt
cGw6Om9iamVjdFN0b3JlcygpIGNvbnN0CkBAIC0xNDQsNyArMTUxLDcgQEAgUGFzc1JlZlB0cjxJ
REJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+ICBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpj
cmVhdGVPYmplY3QKIAogdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpjcmVhdGVPYmplY3RT
dG9yZUludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFi
YXNlQmFja2VuZEltcGw+IGRhdGFiYXNlLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2Vu
ZEltcGw+IG9iamVjdFN0b3JlLCAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2U+IHRyYW5zYWN0aW9uKQogewotICAgIFNRTGl0ZVN0YXRlbWVudCBpbnNlcnQoZGF0YWJh
c2UtPnNxbGl0ZURhdGFiYXNlKCksICJJTlNFUlQgSU5UTyBPYmplY3RTdG9yZXMgKG5hbWUsIGtl
eVBhdGgsIGRvQXV0b0luY3JlbWVudCkgVkFMVUVTICg/LCA/LCA/KSIpOworICAgIFNRTGl0ZVN0
YXRlbWVudCBpbnNlcnQoZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCksICJJTlNFUlQgSU5UTyBP
YmplY3RTdG9yZXMgKG5hbWUsIGtleVBhdGgsIGRvQXV0b0luY3JlbWVudCwgZGF0YWJhc2VJZCkg
VkFMVUVTICg/LCA/LCA/LCA/KSIpOwogICAgIGlmIChpbnNlcnQucHJlcGFyZSgpICE9IFNRTFJl
c3VsdE9rKSB7CiAgICAgICAgIHRyYW5zYWN0aW9uLT5hYm9ydCgpOwogICAgICAgICByZXR1cm47
CkBAIC0xNTIsNiArMTU5LDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpjcmVhdGVP
YmplY3RTdG9yZUludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLAogICAgIGluc2VydC5i
aW5kVGV4dCgxLCBvYmplY3RTdG9yZS0+bmFtZSgpKTsKICAgICBpbnNlcnQuYmluZFRleHQoMiwg
b2JqZWN0U3RvcmUtPmtleVBhdGgoKSk7CiAgICAgaW5zZXJ0LmJpbmRJbnQoMywgc3RhdGljX2Nh
c3Q8aW50PihvYmplY3RTdG9yZS0+YXV0b0luY3JlbWVudCgpKSk7CisgICAgaW5zZXJ0LmJpbmRJ
bnQ2NCg0LCBkYXRhYmFzZS0+aWQoKSk7CiAgICAgaWYgKGluc2VydC5zdGVwKCkgIT0gU1FMUmVz
dWx0RG9uZSkgewogICAgICAgICB0cmFuc2FjdGlvbi0+YWJvcnQoKTsKICAgICAgICAgcmV0dXJu
OwpAQCAtMjE3LDggKzIyNSw5IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVy
c2lvbihjb25zdCBTdHJpbmcmIHZlcnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsCiAKIHZvaWQgSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNlLCBjb25z
dCBTdHJpbmcmIHZlcnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIFBh
c3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbikKIHsK
KyAgICBpbnQ2NF90IGRhdGFiYXNlSWQgPSBkYXRhYmFzZS0+aWQoKTsKICAgICBkYXRhYmFzZS0+
bV92ZXJzaW9uID0gdmVyc2lvbjsKLSAgICBpZiAoIXNldE1ldGFEYXRhKGRhdGFiYXNlLT5tX3Nx
bGl0ZURhdGFiYXNlLmdldCgpLCBkYXRhYmFzZS0+bV9uYW1lLCBkYXRhYmFzZS0+bV9kZXNjcmlw
dGlvbiwgZGF0YWJhc2UtPm1fdmVyc2lvbikpIHsKKyAgICBpZiAoIXNldE1ldGFEYXRhKGRhdGFi
YXNlLT5tX3NxbGl0ZURhdGFiYXNlLT5kYigpLCBkYXRhYmFzZS0+bV9uYW1lLCBkYXRhYmFzZS0+
bV9kZXNjcmlwdGlvbiwgZGF0YWJhc2UtPm1fdmVyc2lvbiwgZGF0YWJhc2VJZCkpIHsKICAgICAg
ICAgLy8gRklYTUU6IFRoZSBJbmRleGVkIERhdGFiYXNlIHNwZWNpZmljYXRpb24gZG9lcyBub3Qg
aGF2ZSBhbiBlcnJvciBjb2RlIGRlZGljYXRlZCB0byBJL08gZXJyb3JzLgogICAgICAgICBjYWxs
YmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpVTktOT1dOX0VSUiwgIkVycm9yIHdyaXRpbmcgZGF0YSB0byBzdGFibGUgc3RvcmFnZS4i
KSk7CiAgICAgICAgIHRyYW5zYWN0aW9uLT5hYm9ydCgpOwpAQCAtMjQwLDEwICsyNDksMTIgQEAg
dm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpjbG9zZSgpCiAKIHZvaWQgSURCRGF0YWJhc2VC
YWNrZW5kSW1wbDo6bG9hZE9iamVjdFN0b3JlcygpCiB7Ci0gICAgU1FMaXRlU3RhdGVtZW50IG9i
amVjdFN0b3Jlc1F1ZXJ5KHNxbGl0ZURhdGFiYXNlKCksICJTRUxFQ1QgaWQsIG5hbWUsIGtleVBh
dGgsIGRvQXV0b0luY3JlbWVudCBGUk9NIE9iamVjdFN0b3JlcyIpOworICAgIFNRTGl0ZVN0YXRl
bWVudCBvYmplY3RTdG9yZXNRdWVyeShzcWxpdGVEYXRhYmFzZSgpLCAiU0VMRUNUIGlkLCBuYW1l
LCBrZXlQYXRoLCBkb0F1dG9JbmNyZW1lbnQgRlJPTSBPYmplY3RTdG9yZXMgV0hFUkUgZGF0YWJh
c2VJZCA9ID8iKTsKICAgICBib29sIG9rID0gb2JqZWN0U3RvcmVzUXVlcnkucHJlcGFyZSgpID09
IFNRTFJlc3VsdE9rOwogICAgIEFTU0VSVF9VTlVTRUQob2ssIG9rKTsgLy8gRklYTUU6IEJldHRl
ciBlcnJvciBoYW5kbGluZz8KIAorICAgIG9iamVjdFN0b3Jlc1F1ZXJ5LmJpbmRJbnQ2NCgxLCBt
X2lkKTsKKwogICAgIHdoaWxlIChvYmplY3RTdG9yZXNRdWVyeS5zdGVwKCkgPT0gU1FMUmVzdWx0
Um93KSB7CiAgICAgICAgIGludDY0X3QgaWQgPSBvYmplY3RTdG9yZXNRdWVyeS5nZXRDb2x1bW5J
bnQ2NCgwKTsKICAgICAgICAgU3RyaW5nIG5hbWUgPSBvYmplY3RTdG9yZXNRdWVyeS5nZXRDb2x1
bW5UZXh0KDEpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2Vu
ZEltcGwuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKaW5kZXgg
YmI2NDI5Yy4uZWQ5YzRjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNl
QmFja2VuZEltcGwuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1w
bC5oCkBAIC0zNiwxOSArMzYsMjEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSURC
T2JqZWN0U3RvcmVCYWNrZW5kSW1wbDsKK2NsYXNzIElEQlNRTGl0ZURhdGFiYXNlOwogY2xhc3Mg
SURCVHJhbnNhY3Rpb25Db29yZGluYXRvcjsKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCiBjbGFz
cyBJREJEYXRhYmFzZUJhY2tlbmRJbXBsIDogcHVibGljIElEQkRhdGFiYXNlQmFja2VuZEludGVy
ZmFjZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5k
SW1wbD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlv
biwgUGFzc093blB0cjxTUUxpdGVEYXRhYmFzZT4gZGF0YWJhc2UsIElEQlRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IqIGNvb3JkaW5hdG9yKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQkRhdGFiYXNl
QmFja2VuZEltcGw+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVz
Y3JpcHRpb24sIElEQlNRTGl0ZURhdGFiYXNlKiBkYXRhYmFzZSwgSURCVHJhbnNhY3Rpb25Db29y
ZGluYXRvciogY29vcmRpbmF0b3IpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IElEQkRhdGFiYXNlQmFja2VuZEltcGwobmFtZSwgZGVzY3JpcHRpb24sIGRhdGFiYXNlLCBjb29y
ZGluYXRvcikpOwogICAgIH0KICAgICB2aXJ0dWFsIH5JREJEYXRhYmFzZUJhY2tlbmRJbXBsKCk7
CiAKICAgICB2b2lkIHNldERlc2NyaXB0aW9uKGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pOwot
ICAgIFNRTGl0ZURhdGFiYXNlJiBzcWxpdGVEYXRhYmFzZSgpIGNvbnN0IHsgcmV0dXJuICptX3Nx
bGl0ZURhdGFiYXNlLmdldCgpOyB9CisgICAgU1FMaXRlRGF0YWJhc2UmIHNxbGl0ZURhdGFiYXNl
KCkgY29uc3Q7CisgICAgaW50NjRfdCBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KIAogICAg
IHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAgICB2aXJ0
dWFsIFN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRpb247IH0K
QEAgLTY1LDcgKzY3LDcgQEAgcHVibGljOgogICAgIElEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iq
IHRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSBjb25zdCB7IHJldHVybiBtX3RyYW5zYWN0aW9uQ29v
cmRpbmF0b3IuZ2V0KCk7IH0KIAogcHJpdmF0ZToKLSAgICBJREJEYXRhYmFzZUJhY2tlbmRJbXBs
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgUGFzc093blB0
cjxTUUxpdGVEYXRhYmFzZT4gZGF0YWJhc2UsIElEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IqKTsK
KyAgICBJREJEYXRhYmFzZUJhY2tlbmRJbXBsKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgSURCU1FMaXRlRGF0YWJhc2UqIGRhdGFiYXNlLCBJREJUcmFuc2Fj
dGlvbkNvb3JkaW5hdG9yKik7CiAKICAgICB2b2lkIGxvYWRPYmplY3RTdG9yZXMoKTsKIApAQCAt
NzgsNyArODAsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGFkZE9iamVjdFN0b3JlVG9N
YXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5k
SW1wbD4sIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4pOwogICAgIHN0YXRp
YyB2b2lkIHJlc2V0VmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJ
REJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKIAotICAgIE93
blB0cjxTUUxpdGVEYXRhYmFzZT4gbV9zcWxpdGVEYXRhYmFzZTsKKyAgICBSZWZQdHI8SURCU1FM
aXRlRGF0YWJhc2U+IG1fc3FsaXRlRGF0YWJhc2U7CisgICAgaW50NjQgbV9pZDsKICAgICBTdHJp
bmcgbV9uYW1lOwogICAgIFN0cmluZyBtX2Rlc2NyaXB0aW9uOwogICAgIFN0cmluZyBtX3ZlcnNp
b247CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNw
cCBiL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwuY3BwCmluZGV4IGMxODI5
NGQuLjMyZDZjN2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2Vu
ZEltcGwuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwuY3Bw
CkBAIC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIklE
QkRhdGFiYXNlQmFja2VuZEltcGwuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5o
IgorI2luY2x1ZGUgIklEQlNRTGl0ZURhdGFiYXNlLmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rp
b25Db29yZGluYXRvci5oIgotI2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8
d3RmL1VudXNlZFBhcmFtLmg+CkBAIC01Miw3ICs1MiwxMyBAQCBJREJGYWN0b3J5QmFja2VuZElt
cGw6On5JREJGYWN0b3J5QmFja2VuZEltcGwoKQogewogfQogCi1zdGF0aWMgUGFzc093blB0cjxT
UUxpdGVEYXRhYmFzZT4gb3BlblNRTGl0ZURhdGFiYXNlKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0
eU9yaWdpbiwgU3RyaW5nIG5hbWUsIGNvbnN0IFN0cmluZyYgcGF0aEJhc2UsIGludDY0X3QgbWF4
aW11bVNpemUpCit2b2lkIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6cmVtb3ZlU1FMaXRlRGF0YWJh
c2UoY29uc3QgU3RyaW5nJiBmaWxlUGF0aCkKK3sKKyAgICBBU1NFUlQobV9zcWxpdGVEYXRhYmFz
ZU1hcC5jb250YWlucyhmaWxlUGF0aCkpOworICAgIG1fc3FsaXRlRGF0YWJhc2VNYXAucmVtb3Zl
KGZpbGVQYXRoKTsKK30KKworc3RhdGljIFBhc3NSZWZQdHI8SURCU1FMaXRlRGF0YWJhc2U+IG9w
ZW5TUUxpdGVEYXRhYmFzZShTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFN0
cmluZyYgcGF0aEJhc2UsIGludDY0X3QgbWF4aW11bVNpemUsIGNvbnN0IFN0cmluZyYgZmlsZUlk
ZW50aWZpZXIsIElEQkZhY3RvcnlCYWNrZW5kSW1wbCogZmFjdG9yeSkKIHsKICAgICBTdHJpbmcg
cGF0aCA9ICI6bWVtb3J5OiI7CiAgICAgaWYgKCFwYXRoQmFzZS5pc0VtcHR5KCkpIHsKQEAgLTYy
LDU0ICs2OCw0NiBAQCBzdGF0aWMgUGFzc093blB0cjxTUUxpdGVEYXRhYmFzZT4gb3BlblNRTGl0
ZURhdGFiYXNlKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaQogICAgICAgICAgICAgcmV0dXJu
IDA7CiAgICAgICAgIH0KIAotICAgICAgICBwYXRoID0gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50
KHBhdGhCYXNlLCBJREJGYWN0b3J5QmFja2VuZEltcGw6OmRhdGFiYXNlRmlsZU5hbWUobmFtZSwg
c2VjdXJpdHlPcmlnaW4pKTsKKyAgICAgICAgcGF0aCA9IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVu
dChwYXRoQmFzZSwgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkYXRhYmFzZUZpbGVOYW1lKHNlY3Vy
aXR5T3JpZ2luKSk7CiAgICAgfQogCi0gICAgT3duUHRyPFNRTGl0ZURhdGFiYXNlPiBzcWxpdGVE
YXRhYmFzZSA9IGFkb3B0UHRyKG5ldyBTUUxpdGVEYXRhYmFzZSgpKTsKLSAgICBpZiAoIXNxbGl0
ZURhdGFiYXNlLT5vcGVuKHBhdGgpKSB7CisgICAgUmVmUHRyPElEQlNRTGl0ZURhdGFiYXNlPiBz
cWxpdGVEYXRhYmFzZSA9IElEQlNRTGl0ZURhdGFiYXNlOjpjcmVhdGUoZmlsZUlkZW50aWZpZXIs
IGZhY3RvcnkpOworICAgIGlmICghc3FsaXRlRGF0YWJhc2UtPmRiKCkub3BlbihwYXRoKSkgewog
ICAgICAgICAvLyBGSVhNRTogSXMgdGhlcmUgYW55IG90aGVyIHRoaW5nIHdlIGNvdWxkIHBvc3Np
Ymx5IGRvIHRvIHJlY292ZXIgYXQgdGhpcyBwb2ludD8gSWYgc28sIGRvIGl0IHJhdGhlciB0aGFu
IGp1c3QgZXJyb3Jpbmcgb3V0LgogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBvcGVuIGRh
dGFiYXNlIGZpbGUgJXMgZm9yIEluZGV4ZWREQiIsIHBhdGgudXRmOCgpLmRhdGEoKSk7CiAgICAg
ICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIHNxbGl0ZURhdGFiYXNlLT5zZXRNYXhpbXVtU2l6
ZShtYXhpbXVtU2l6ZSk7CisgICAgLy8gRklYTUU6IEVycm9yIGNoZWNraW5nPworICAgIHNxbGl0
ZURhdGFiYXNlLT5kYigpLnNldE1heGltdW1TaXplKG1heGltdW1TaXplKTsKKyAgICBzcWxpdGVE
YXRhYmFzZS0+ZGIoKS50dXJuT25JbmNyZW1lbnRhbEF1dG9WYWN1dW0oKTsKKwogICAgIHJldHVy
biBzcWxpdGVEYXRhYmFzZS5yZWxlYXNlKCk7CiB9CiAKLXN0YXRpYyBib29sIGNyZWF0ZVRhYmxl
cyhTUUxpdGVEYXRhYmFzZSogc3FsaXRlRGF0YWJhc2UpCitzdGF0aWMgYm9vbCBjcmVhdGVUYWJs
ZXMoU1FMaXRlRGF0YWJhc2UmIHNxbGl0ZURhdGFiYXNlKQogewotICAgIC8vIEZJWE1FOiBSZW1v
dmUgYWxsIHRoZSBkcm9wIHRhYmxlIGNvbW1hbmRzIG9uY2UgdGhlIG9uIGRpc2sgc3RydWN0dXJl
IHN0YWJpbGl6ZXMuCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbW1hbmRzW10gPSB7Ci0gICAg
ICAgICJEUk9QIFRBQkxFIElGIEVYSVNUUyBNZXRhRGF0YSIsCi0gICAgICAgICJDUkVBVEUgVEFC
TEUgSUYgTk9UIEVYSVNUUyBNZXRhRGF0YSAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgbmFtZSBU
RVhUIE5PVCBOVUxMLCBkZXNjcmlwdGlvbiBURVhUIE5PVCBOVUxMLCB2ZXJzaW9uIFRFWFQgTk9U
IE5VTEwpIiwKKyAgICAgICAgIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFiYXNlcyAo
aWQgSU5URUdFUiBQUklNQVJZIEtFWSwgbmFtZSBURVhUIE5PVCBOVUxMLCBkZXNjcmlwdGlvbiBU
RVhUIE5PVCBOVUxMLCB2ZXJzaW9uIFRFWFQgTk9UIE5VTEwpIiwKKyAgICAgICAgIkNSRUFURSBV
TklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBEYXRhYmFzZXNfbmFtZSBPTiBEYXRhYmFzZXMobmFt
ZSkiLAogCi0gICAgICAgICJEUk9QIFRBQkxFIElGIEVYSVNUUyBPYmplY3RTdG9yZXMiLAotICAg
ICAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgT2JqZWN0U3RvcmVzIChpZCBJTlRFR0VS
IFBSSU1BUlkgS0VZLCBuYW1lIFRFWFQgTk9UIE5VTEwgVU5JUVVFLCBrZXlQYXRoIFRFWFQsIGRv
QXV0b0luY3JlbWVudCBJTlRFR0VSIE5PVCBOVUxMKSIsCi0gICAgICAgICJEUk9QIElOREVYIElG
IEVYSVNUUyBPYmplY3RTdG9yZXNfbmFtZSIsCi0gICAgICAgICJDUkVBVEUgVU5JUVVFIElOREVY
IElGIE5PVCBFWElTVFMgT2JqZWN0U3RvcmVzX25hbWUgT04gT2JqZWN0U3RvcmVzKG5hbWUpIiwK
KyAgICAgICAgIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIE9iamVjdFN0b3JlcyAoaWQgSU5U
RUdFUiBQUklNQVJZIEtFWSwgbmFtZSBURVhUIE5PVCBOVUxMLCBrZXlQYXRoIFRFWFQsIGRvQXV0
b0luY3JlbWVudCBJTlRFR0VSIE5PVCBOVUxMLCBkYXRhYmFzZUlkIElOVEVHRVIgTk9UIE5VTEwg
UkVGRVJFTkNFUyBEYXRhYmFzZXMoaWQpKSIsCisgICAgICAgICJDUkVBVEUgVU5JUVVFIElOREVY
IElGIE5PVCBFWElTVFMgT2JqZWN0U3RvcmVzX2NvbXBvc2l0IE9OIE9iamVjdFN0b3JlcyhkYXRh
YmFzZUlkLCBuYW1lKSIsCiAKLSAgICAgICAgIkRST1AgVEFCTEUgSUYgRVhJU1RTIEluZGV4ZXMi
LAotICAgICAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgSW5kZXhlcyAoaWQgSU5URUdF
UiBQUklNQVJZIEtFWSwgb2JqZWN0U3RvcmVJZCBJTlRFR0VSIE5PVCBOVUxMIFJFRkVSRU5DRVMg
T2JqZWN0U3RvcmUoaWQpLCBuYW1lIFRFWFQgTk9UIE5VTEwgVU5JUVVFLCBrZXlQYXRoIFRFWFQs
IGlzVW5pcXVlIElOVEVHRVIgTk9UIE5VTEwpIiwKLSAgICAgICAgIkRST1AgSU5ERVggSUYgRVhJ
U1RTIEluZGV4ZXNfY29tcG9zaXQiLAorICAgICAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElT
VFMgSW5kZXhlcyAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgb2JqZWN0U3RvcmVJZCBJTlRFR0VS
IE5PVCBOVUxMIFJFRkVSRU5DRVMgT2JqZWN0U3RvcmUoaWQpLCBuYW1lIFRFWFQgTk9UIE5VTEws
IGtleVBhdGggVEVYVCwgaXNVbmlxdWUgSU5URUdFUiBOT1QgTlVMTCkiLAogICAgICAgICAiQ1JF
QVRFIFVOSVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIEluZGV4ZXNfY29tcG9zaXQgT04gSW5kZXhl
cyhvYmplY3RTdG9yZUlkLCBuYW1lKSIsCiAKLSAgICAgICAgIkRST1AgVEFCTEUgSUYgRVhJU1RT
IE9iamVjdFN0b3JlRGF0YSIsCi0gICAgICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBP
YmplY3RTdG9yZURhdGEgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG9iamVjdFN0b3JlSWQgSU5U
RUdFUiBOT1QgTlVMTCBSRUZFUkVOQ0VTIE9iamVjdFN0b3JlKGlkKSwga2V5U3RyaW5nIFRFWFQg
VU5JUVVFLCBrZXlEYXRlIElOVEVHRVIgVU5JUVVFLCBrZXlOdW1iZXIgSU5URUdFUiBVTklRVUUs
IHZhbHVlIFRFWFQgTk9UIE5VTEwpIiwKLSAgICAgICAgIkRST1AgSU5ERVggSUYgRVhJU1RTIE9i
amVjdFN0b3JlRGF0YV9jb21wb3NpdCIsCisgICAgICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVY
SVNUUyBPYmplY3RTdG9yZURhdGEgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG9iamVjdFN0b3Jl
SWQgSU5URUdFUiBOT1QgTlVMTCBSRUZFUkVOQ0VTIE9iamVjdFN0b3JlKGlkKSwga2V5U3RyaW5n
IFRFWFQsIGtleURhdGUgSU5URUdFUiwga2V5TnVtYmVyIElOVEVHRVIsIHZhbHVlIFRFWFQgTk9U
IE5VTEwpIiwKICAgICAgICAgIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBPYmpl
Y3RTdG9yZURhdGFfY29tcG9zaXQgT04gT2JqZWN0U3RvcmVEYXRhKGtleVN0cmluZywga2V5RGF0
ZSwga2V5TnVtYmVyLCBvYmplY3RTdG9yZUlkKSIsCiAKLSAgICAgICAgIkRST1AgVEFCTEUgSUYg
RVhJU1RTIEluZGV4RGF0YSIsCiAgICAgICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBJ
bmRleERhdGEgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIGluZGV4SWQgSU5URUdFUiBOT1QgTlVM
TCBSRUZFUkVOQ0VTIEluZGV4ZXMoaWQpLCBrZXlTdHJpbmcgVEVYVCwga2V5RGF0ZSBJTlRFR0VS
LCBrZXlOdW1iZXIgSU5URUdFUiwgb2JqZWN0U3RvcmVEYXRhSWQgSU5URUdFUiBOT1QgTlVMTCBS
RUZFUkVOQ0VTIE9iamVjdFN0b3JlRGF0YShpZCkpIiwKLSAgICAgICAgIkRST1AgSU5ERVggSUYg
RVhJU1RTIEluZGV4RGF0YV9jb21wb3NpdCIsCiAgICAgICAgICJDUkVBVEUgSU5ERVggSUYgTk9U
IEVYSVNUUyBJbmRleERhdGFfY29tcG9zaXQgT04gSW5kZXhEYXRhKGtleVN0cmluZywga2V5RGF0
ZSwga2V5TnVtYmVyLCBpbmRleElkKSIsCi0gICAgICAgICJEUk9QIElOREVYIElGIEVYSVNUUyBJ
bmRleERhdGFfb2JqZWN0U3RvcmVEYXRhSWQiLAogICAgICAgICAiQ1JFQVRFIElOREVYIElGIE5P
VCBFWElTVFMgSW5kZXhEYXRhX29iamVjdFN0b3JlRGF0YUlkIE9OIEluZGV4RGF0YShvYmplY3RT
dG9yZURhdGFJZCkiLAotICAgICAgICAiRFJPUCBJTkRFWCBJRiBFWElTVFMgSW5kZXhEYXRhX2lu
ZGV4SWQiLAogICAgICAgICAiQ1JFQVRFIElOREVYIElGIE5PVCBFWElTVFMgSW5kZXhEYXRhX2lu
ZGV4SWQgT04gSW5kZXhEYXRhKGluZGV4SWQpIgogICAgICAgICB9OwogCiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBhcnJheXNpemUoY29tbWFuZHMpOyArK2kpIHsKLSAgICAgICAgaWYgKCFz
cWxpdGVEYXRhYmFzZS0+ZXhlY3V0ZUNvbW1hbmQoY29tbWFuZHNbaV0pKSB7CisgICAgICAgIGlm
ICghc3FsaXRlRGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY29tbWFuZHNbaV0pKSB7CiAgICAgICAg
ICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyeSB0byByZWNvdmVyIGZyb20gdGhpcyBzaXR1YXRp
b24uIE1heWJlIG51a2UgdGhlIGRhdGFiYXNlIGFuZCBzdGFydCBvdmVyPwogICAgICAgICAgICAg
TE9HX0VSUk9SKCJGYWlsZWQgdG8gcnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBmb3IgSW5kZXhl
ZERCOiAlcyIsIGNvbW1hbmRzW2ldKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEy
MCw3ICsxMTgsOSBAQCBzdGF0aWMgYm9vbCBjcmVhdGVUYWJsZXMoU1FMaXRlRGF0YWJhc2UqIHNx
bGl0ZURhdGFiYXNlKQogCiB2b2lkIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6b3Blbihjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFBhc3NSZWZQdHI8SURCQ2Fs
bGJhY2tzPiBjYWxsYmFja3MsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3Jp
Z2luLCBGcmFtZSosIGNvbnN0IFN0cmluZyYgZGF0YURpciwgaW50NjRfdCBtYXhpbXVtU2l6ZSkK
IHsKLSAgICBJREJEYXRhYmFzZUJhY2tlbmRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9kYXRhYmFzZUJh
Y2tlbmRNYXAuZmluZChuYW1lKTsKKyAgICBTdHJpbmcgZmlsZUlkZW50aWZpZXIgPSBzZWN1cml0
eU9yaWdpbi0+ZGF0YWJhc2VJZGVudGlmaWVyKCk7CisgICAgU3RyaW5nIHVuaXF1ZUlkZW50aWZp
ZXIgPSBmaWxlSWRlbnRpZmllciArICJfIiArIG5hbWU7CisgICAgSURCRGF0YWJhc2VCYWNrZW5k
TWFwOjppdGVyYXRvciBpdCA9IG1fZGF0YWJhc2VCYWNrZW5kTWFwLmZpbmQodW5pcXVlSWRlbnRp
Zmllcik7CiAgICAgaWYgKGl0ICE9IG1fZGF0YWJhc2VCYWNrZW5kTWFwLmVuZCgpKSB7CiAgICAg
ICAgIGlmICghZGVzY3JpcHRpb24uaXNOdWxsKCkpCiAgICAgICAgICAgICBpdC0+c2Vjb25kLT5z
ZXREZXNjcmlwdGlvbihkZXNjcmlwdGlvbik7IC8vIFRoZSBkZXNjcmlwdGlvbiBtYXkgaGF2ZSBj
aGFuZ2VkLgpAQCAtMTMwLDIyICsxMzAsMjkgQEAgdm9pZCBJREJGYWN0b3J5QmFja2VuZEltcGw6
Om9wZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLAogCiAg
ICAgLy8gRklYTUU6IEV2ZXJ5dGhpbmcgZnJvbSBub3cgb24gc2hvdWxkIGJlIGRvbmUgb24gYW5v
dGhlciB0aHJlYWQuCiAKLSAgICBPd25QdHI8U1FMaXRlRGF0YWJhc2U+IHNxbGl0ZURhdGFiYXNl
ID0gb3BlblNRTGl0ZURhdGFiYXNlKHNlY3VyaXR5T3JpZ2luLmdldCgpLCBuYW1lLCBkYXRhRGly
LCBtYXhpbXVtU2l6ZSk7Ci0gICAgaWYgKCFzcWxpdGVEYXRhYmFzZSB8fCAhY3JlYXRlVGFibGVz
KHNxbGl0ZURhdGFiYXNlLmdldCgpKSkgewotICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURC
RGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwg
IkludGVybmFsIGVycm9yLiIpKTsKLSAgICAgICAgcmV0dXJuOworICAgIFJlZlB0cjxJREJTUUxp
dGVEYXRhYmFzZT4gc3FsaXRlRGF0YWJhc2U7CisgICAgU1FMaXRlRGF0YWJhc2VNYXA6Oml0ZXJh
dG9yIGl0MiA9IG1fc3FsaXRlRGF0YWJhc2VNYXAuZmluZChmaWxlSWRlbnRpZmllcik7CisgICAg
aWYgKGl0MiAhPSBtX3NxbGl0ZURhdGFiYXNlTWFwLmVuZCgpKQorICAgICAgICBzcWxpdGVEYXRh
YmFzZSA9IGl0Mi0+c2Vjb25kOworICAgIGVsc2UgeworICAgICAgICBzcWxpdGVEYXRhYmFzZSA9
IG9wZW5TUUxpdGVEYXRhYmFzZShzZWN1cml0eU9yaWdpbi5nZXQoKSwgZGF0YURpciwgbWF4aW11
bVNpemUsIGZpbGVJZGVudGlmaWVyLCB0aGlzKTsKKworICAgICAgICBpZiAoIXNxbGl0ZURhdGFi
YXNlIHx8ICFjcmVhdGVUYWJsZXMoc3FsaXRlRGF0YWJhc2UtPmRiKCkpKSB7CisgICAgICAgICAg
ICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkludGVybmFsIGVycm9yLiIpKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3NxbGl0ZURhdGFiYXNlTWFwLnNldChmaWxl
SWRlbnRpZmllciwgc3FsaXRlRGF0YWJhc2UuZ2V0KCkpOwogICAgIH0KIAotICAgIFJlZlB0cjxJ
REJEYXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRhYmFzZUJhY2tlbmQgPSBJREJEYXRhYmFzZUJhY2tl
bmRJbXBsOjpjcmVhdGUobmFtZSwgZGVzY3JpcHRpb24sIHNxbGl0ZURhdGFiYXNlLnJlbGVhc2Uo
KSwgbV90cmFuc2FjdGlvbkNvb3JkaW5hdG9yLmdldCgpKTsKKyAgICBSZWZQdHI8SURCRGF0YWJh
c2VCYWNrZW5kSW1wbD4gZGF0YWJhc2VCYWNrZW5kID0gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
Y3JlYXRlKG5hbWUsIGRlc2NyaXB0aW9uLCBzcWxpdGVEYXRhYmFzZS5nZXQoKSwgbV90cmFuc2Fj
dGlvbkNvb3JkaW5hdG9yLmdldCgpKTsKICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhkYXRhYmFz
ZUJhY2tlbmQuZ2V0KCkpOwotICAgIG1fZGF0YWJhc2VCYWNrZW5kTWFwLnNldChuYW1lLCBkYXRh
YmFzZUJhY2tlbmQucmVsZWFzZSgpKTsKKyAgICBtX2RhdGFiYXNlQmFja2VuZE1hcC5zZXQodW5p
cXVlSWRlbnRpZmllciwgZGF0YWJhc2VCYWNrZW5kLnJlbGVhc2UoKSk7CiB9CiAKLVN0cmluZyBJ
REJGYWN0b3J5QmFja2VuZEltcGw6OmRhdGFiYXNlRmlsZU5hbWUoY29uc3QgU3RyaW5nJiBuYW1l
LCBTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4pCitTdHJpbmcgSURCRmFjdG9yeUJhY2tl
bmRJbXBsOjpkYXRhYmFzZUZpbGVOYW1lKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikK
IHsKICAgICBTdHJpbmcgZGF0YWJhc2VJZGVudGlmaWVyID0gc2VjdXJpdHlPcmlnaW4tPmRhdGFi
YXNlSWRlbnRpZmllcigpOwotICAgIFN0cmluZyBzYW50aXplZE5hbWUgPSBlbmNvZGVGb3JGaWxl
TmFtZShuYW1lKTsKLSAgICByZXR1cm4gZGF0YWJhc2VJZGVudGlmaWVyICsgIkAiICsgc2FudGl6
ZWROYW1lICsgIi5pbmRleGVkZGIiOworICAgIHJldHVybiBkYXRhYmFzZUlkZW50aWZpZXIgKyAi
LmluZGV4ZWRkYiI7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwuaCBiL1dlYkNvcmUvc3RvcmFnZS9J
REJGYWN0b3J5QmFja2VuZEltcGwuaAppbmRleCAyMTFiN2ZhLi4zODFjNDAyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgKKysrIGIvV2ViQ29yZS9z
dG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIERPTVN0cmluZ0xpc3Q7CiAKIGNsYXNzIElEQkRhdGFiYXNlQmFj
a2VuZEltcGw7CitjbGFzcyBJREJTUUxpdGVEYXRhYmFzZTsKIGNsYXNzIElEQlRyYW5zYWN0aW9u
Q29vcmRpbmF0b3I7CiAKIGNsYXNzIElEQkZhY3RvcnlCYWNrZW5kSW1wbCA6IHB1YmxpYyBJREJG
YWN0b3J5QmFja2VuZEludGVyZmFjZSB7CkBAIC00OSwxOCArNTAsMjYgQEAgcHVibGljOgogICAg
IH0KICAgICB2aXJ0dWFsIH5JREJGYWN0b3J5QmFja2VuZEltcGwoKTsKIAorICAgIC8vIElEQlNR
TGl0ZURhdGFiYXNlJ3MgbGlmZXRpbWUgbWF5IGJlIHNob3J0ZXIgdGhhbiBvdXJzLCBzbyB3ZSBu
ZWVkIG5vdGlmaWNhdGlvbiB3aGVuIGl0IGRpZXMuCisgICAgdm9pZCByZW1vdmVTUUxpdGVEYXRh
YmFzZShjb25zdCBTdHJpbmcmIGZpbGVQYXRoKTsKKwogICAgIHZpcnR1YWwgdm9pZCBvcGVuKGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgUGFzc1JlZlB0cjxJ
REJDYWxsYmFja3M+LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgRnJhbWUqLCBjb25zdCBT
dHJpbmcmIGRhdGFEaXIsIGludDY0X3QgbWF4aW11bVNpemUpOwogCi0gICAgc3RhdGljIFN0cmlu
ZyBkYXRhYmFzZUZpbGVOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgU2VjdXJpdHlPcmlnaW4qKTsK
KyAgICBzdGF0aWMgU3RyaW5nIGRhdGFiYXNlRmlsZU5hbWUoU2VjdXJpdHlPcmlnaW4qKTsKIAog
cHJpdmF0ZToKICAgICBJREJGYWN0b3J5QmFja2VuZEltcGwoKTsKIAorICAgIC8vIEZJWE1FOiBK
dXN0IGhvbGQgYSB3ZWFrIHBvaW50ZXIuCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgUmVm
UHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+ID4gSURCRGF0YWJhc2VCYWNrZW5kTWFwOwogICAg
IElEQkRhdGFiYXNlQmFja2VuZE1hcCBtX2RhdGFiYXNlQmFja2VuZE1hcDsKKworICAgIHR5cGVk
ZWYgSGFzaE1hcDxTdHJpbmcsIElEQlNRTGl0ZURhdGFiYXNlKj4gU1FMaXRlRGF0YWJhc2VNYXA7
CisgICAgU1FMaXRlRGF0YWJhc2VNYXAgbV9zcWxpdGVEYXRhYmFzZU1hcDsKKwogICAgIFJlZlB0
cjxJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yPiBtX3RyYW5zYWN0aW9uQ29vcmRpbmF0b3I7CiAK
LSAgICAvLyBXZSBvbmx5IGNyZWF0ZSBvbmUgaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyBhdCBhIHRp
bWUuCisgICAgLy8gT25seSBvbmUgaW5zdGFuY2Ugb2YgdGhlIGZhY3Rvcnkgc2hvdWxkIGV4aXN0
IGF0IGFueSBnaXZlbiB0aW1lLgogICAgIHN0YXRpYyBJREJGYWN0b3J5QmFja2VuZEltcGwqIGlk
YkZhY3RvcnlCYWNrZW5kSW1wbDsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9J
REJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsLmNwcAppbmRleCBmM2FlZTkxLi45ZWYxNDRkIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCkBAIC0xMzEsMjUgKzEzMSwy
NSBAQCBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGZldGNoS2V5RnJvbUtleVBhdGgoU2VyaWFs
aXplZFNjcmlwdFZhbHVlKiB2YWx1ZSwgY29ucwogICAgIHJldHVybiBrZXlzWzBdLnJlbGVhc2Uo
KTsKIH0KIAotc3RhdGljIGJvb2wgcHV0T2JqZWN0U3RvcmVEYXRhKFNRTGl0ZURhdGFiYXNlJiBk
YiwgSURCS2V5KiBrZXksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogdmFsdWUsIGludDY0X3Qgb2Jq
ZWN0U3RvcmVJZCwgaW50NjRfdCogZGF0YVJvd0lkKQorc3RhdGljIGJvb2wgcHV0T2JqZWN0U3Rv
cmVEYXRhKFNRTGl0ZURhdGFiYXNlJiBkYiwgSURCS2V5KiBrZXksIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSogdmFsdWUsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCYgZGF0YVJvd0lkKQog
ewotICAgIFN0cmluZyBzcWwgPSAqZGF0YVJvd0lkICE9IC0xID8gIlVQREFURSBPYmplY3RTdG9y
ZURhdGEgU0VUIGtleVN0cmluZyA9ID8sIGtleURhdGUgPSA/LCBrZXlOdW1iZXIgPSA/LCB2YWx1
ZSA9ID8gV0hFUkUgaWQgPSA/IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDog
IklOU0VSVCBJTlRPIE9iamVjdFN0b3JlRGF0YSAoa2V5U3RyaW5nLCBrZXlEYXRlLCBrZXlOdW1i
ZXIsIHZhbHVlLCBvYmplY3RTdG9yZUlkKSBWQUxVRVMgKD8sID8sID8sID8sID8pIjsKKyAgICBT
dHJpbmcgc3FsID0gZGF0YVJvd0lkICE9IC0xID8gIlVQREFURSBPYmplY3RTdG9yZURhdGEgU0VU
IGtleVN0cmluZyA9ID8sIGtleURhdGUgPSA/LCBrZXlOdW1iZXIgPSA/LCB2YWx1ZSA9ID8gV0hF
UkUgaWQgPSA/IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiSU5TRVJUIElO
VE8gT2JqZWN0U3RvcmVEYXRhIChrZXlTdHJpbmcsIGtleURhdGUsIGtleU51bWJlciwgdmFsdWUs
IG9iamVjdFN0b3JlSWQpIFZBTFVFUyAoPywgPywgPywgPywgPykiOwogICAgIFNRTGl0ZVN0YXRl
bWVudCBxdWVyeShkYiwgc3FsKTsKICAgICBpZiAocXVlcnkucHJlcGFyZSgpICE9IFNRTFJlc3Vs
dE9rKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAga2V5LT5iaW5kV2l0aE51bGxzKHF1ZXJ5
LCAxKTsKICAgICBxdWVyeS5iaW5kVGV4dCg0LCB2YWx1ZS0+dG9XaXJlU3RyaW5nKCkpOwotICAg
IGlmICgqZGF0YVJvd0lkICE9IC0xKQotICAgICAgICBxdWVyeS5iaW5kSW50KDUsICpkYXRhUm93
SWQpOworICAgIGlmIChkYXRhUm93SWQgIT0gLTEpCisgICAgICAgIHF1ZXJ5LmJpbmRJbnQ2NCg1
LCBkYXRhUm93SWQpOwogICAgIGVsc2UKICAgICAgICAgcXVlcnkuYmluZEludDY0KDUsIG9iamVj
dFN0b3JlSWQpOwogCiAgICAgaWYgKHF1ZXJ5LnN0ZXAoKSAhPSBTUUxSZXN1bHREb25lKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoKmRhdGFSb3dJZCA9PSAtMSkKLSAgICAgICAg
KmRhdGFSb3dJZCA9IGRiLmxhc3RJbnNlcnRSb3dJRCgpOworICAgIGlmIChkYXRhUm93SWQgPT0g
LTEpCisgICAgICAgIGRhdGFSb3dJZCA9IGRiLmxhc3RJbnNlcnRSb3dJRCgpOwogCiAgICAgcmV0
dXJuIHRydWU7CiB9CkBAIC0yMzksNyArMjM5LDcgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsOjpwdXRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjwK
ICAgICAvLyBCZWZvcmUgdGhpcyBwb2ludCwgZG9uJ3QgZG8gYW55IG11dGF0aW9uLiAgQWZ0ZXIg
dGhpcyBwb2ludCwgcm9sbGJhY2sgdGhlIHRyYW5zYWN0aW9uIGluIGNhc2Ugb2YgZXJyb3IuCiAK
ICAgICBpbnQ2NF90IGRhdGFSb3dJZCA9IGlzRXhpc3RpbmdWYWx1ZSA/IGdldFF1ZXJ5LmdldENv
bHVtbkludCgwKSA6IC0xOwotICAgIGlmICghcHV0T2JqZWN0U3RvcmVEYXRhKG9iamVjdFN0b3Jl
LT5zcWxpdGVEYXRhYmFzZSgpLCBrZXkuZ2V0KCksIHZhbHVlLmdldCgpLCBvYmplY3RTdG9yZS0+
aWQoKSwgJmRhdGFSb3dJZCkpIHsKKyAgICBpZiAoIXB1dE9iamVjdFN0b3JlRGF0YShvYmplY3RT
dG9yZS0+c3FsaXRlRGF0YWJhc2UoKSwga2V5LmdldCgpLCB2YWx1ZS5nZXQoKSwgb2JqZWN0U3Rv
cmUtPmlkKCksIGRhdGFSb3dJZCkpIHsKICAgICAgICAgLy8gRklYTUU6IFRoZSBJbmRleGVkIERh
dGFiYXNlIHNwZWNpZmljYXRpb24gZG9lcyBub3QgaGF2ZSBhbiBlcnJvciBjb2RlIGRlZGljYXRl
ZCB0byBJL08gZXJyb3JzLgogICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VF
cnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkVycm9yIHdy
aXRpbmcgZGF0YSB0byBzdGFibGUgc3RvcmFnZS4iKSk7CiAgICAgICAgIHRyYW5zYWN0aW9uLT5h
Ym9ydCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmNw
cCBiL1dlYkNvcmUvc3RvcmFnZS9JREJTUUxpdGVEYXRhYmFzZS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZTg4MTkxNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
c3RvcmFnZS9JREJTUUxpdGVEYXRhYmFzZS5jcHAKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJREJTUUxpdGVEYXRhYmFzZS5oIgorCisjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJGYWN0b3J5QmFja2VuZElt
cGwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitJREJTUUxpdGVEYXRhYmFzZTo6SURCU1FM
aXRlRGF0YWJhc2UoU3RyaW5nIGlkZW50aWZpZXIsIElEQkZhY3RvcnlCYWNrZW5kSW1wbCogZmFj
dG9yeSkKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9mYWN0b3J5KGZh
Y3RvcnkpCit7Cit9CisKK0lEQlNRTGl0ZURhdGFiYXNlOjp+SURCU1FMaXRlRGF0YWJhc2UoKQor
eworICAgIG1fZmFjdG9yeS0+cmVtb3ZlU1FMaXRlRGF0YWJhc2UobV9pZGVudGlmaWVyKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCU1FMaXRlRGF0YWJhc2UuaCBi
L1dlYkNvcmUvc3RvcmFnZS9JREJTUUxpdGVEYXRhYmFzZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjA1NTY1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvSURCU1FMaXRlRGF0YWJhc2UuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJ
REJTUUxpdGVEYXRhYmFzZV9oCisjZGVmaW5lIElEQlNRTGl0ZURhdGFiYXNlX2gKKworI2lmIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiU1FMaXRlRGF0YWJhc2UuaCIKKyNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIElE
QkZhY3RvcnlCYWNrZW5kSW1wbDsKKworY2xhc3MgSURCU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMg
UmVmQ291bnRlZDxJREJTUUxpdGVEYXRhYmFzZT4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPElEQlNRTGl0ZURhdGFiYXNlPiBjcmVhdGUoU3RyaW5nIGlkZW50aWZpZXIsIElEQkZh
Y3RvcnlCYWNrZW5kSW1wbCogZmFjdG9yeSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgSURCU1FMaXRlRGF0YWJhc2UoaWRlbnRpZmllciwgZmFjdG9yeSkpOworICAgIH0KKyAg
ICB+SURCU1FMaXRlRGF0YWJhc2UoKTsKKworICAgIFNRTGl0ZURhdGFiYXNlJiBkYigpIHsgcmV0
dXJuIG1fZGI7IH0KKworcHJpdmF0ZToKKyAgICBJREJTUUxpdGVEYXRhYmFzZShTdHJpbmcgaWRl
bnRpZmllciwgSURCRmFjdG9yeUJhY2tlbmRJbXBsKiBmYWN0b3J5KTsKKworICAgIFNRTGl0ZURh
dGFiYXNlIG1fZGI7CisgICAgU3RyaW5nIG1faWRlbnRpZmllcjsKKyAgICBSZWZQdHI8SURCRmFj
dG9yeUJhY2tlbmRJbXBsPiBtX2ZhY3Rvcnk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgorCisjZW5kaWYgLy8gSURCU1FMaXRlRGF0YWJhc2VfaApkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggM2ZhOGVjMC4uNGQ2MzZlOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAt
MTAtMjEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUXVvdGEgZm9yIEluZGV4ZWREQiBz
aG91bGQgYmUgcGVyIG9yaWdpbiBub3QgcGVyIGRhdGFiYXNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODA2NAorCisgICAgICAgICogcHVibGljL1dl
YklEQkZhY3RvcnkuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViU2VjdXJpdHlPcmlnaW4uaDoKKyAg
ICAgICAgKiBzcmMvV2ViSURCRmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkZh
Y3Rvcnk6OmRhdGFiYXNlRmlsZU5hbWUpOgorICAgICAgICAqIHNyYy9XZWJTZWN1cml0eU9yaWdp
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNlY3VyaXR5T3JpZ2luOjpnZXQpOgorCiAyMDEw
LTEwLTE5ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViSURCRmFjdG9yeS5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJGYWN0
b3J5LmgKaW5kZXggYzdmYmUwMi4uNjZjZWFkYiAxMDA3NTUKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJJREJGYWN0b3J5LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJ
REJGYWN0b3J5LmgKQEAgLTU4LDYgKzU4LDggQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIFRo
ZSBmaWxlIG5hbWUgdGhhdCB3b3VsZCBiZSB1c2VkIGZvciBwZXJzaXN0aW5nIGEgZ2l2ZW4gaW5k
ZXhlZCBkYXRhYmFzZSBvbiB0aGUgZmlsZSBzeXN0ZW0uCisgICAgV0VCS0lUX0FQSSBzdGF0aWMg
V2ViU3RyaW5nIGRhdGFiYXNlRmlsZU5hbWUoY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mKTsKKyAg
ICAvLyBGSVhNRTogUmVtb3ZlIGFmdGVyIHJvbGwuCiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgV2Vi
U3RyaW5nIGRhdGFiYXNlRmlsZU5hbWUoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJT
ZWN1cml0eU9yaWdpbiYpOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJTZWN1cml0eU9yaWdpbi5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZWN1cml0
eU9yaWdpbi5oCmluZGV4IGVmY2IyZTkuLmEyNDE2ODIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlPcmlnaW4uaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlNlY3VyaXR5T3JpZ2luLmgKQEAgLTEwMCw2ICsxMDAsNyBAQCBwdWJsaWM6CiAgICAg
V2ViU2VjdXJpdHlPcmlnaW4oY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luPiYpOwogICAgIFdlYlNlY3VyaXR5T3JpZ2luJiBvcGVyYXRvcj0oY29uc3QgV1RGOjpQ
YXNzUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiYpOwogICAgIG9wZXJhdG9yIFdURjo6
UGFzc1JlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4oKSBjb25zdDsKKyAgICBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiogZ2V0KCkgY29uc3Q7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRmFjdG9yeS5jcHAgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklEQkZhY3RvcnkuY3BwCmluZGV4IGIxODZiNjguLjQwZWZmOTcgMTAwNzU1
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRmFjdG9yeS5jcHAKKysrIGIvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5LmNwcApAQCAtMzEsMjIgKzMxLDIzIEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSURCRmFjdG9yeS5oIgogCi0jaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCi0KICNpbmNsdWRlICJJREJGYWN0b3J5QmFja2VuZEltcGwuaCIK
LSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgIldlYlNlY3VyaXR5T3JpZ2lu
LmgiCisjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotV2ViU3RyaW5nIFdlYklEQkZhY3Rvcnk6OmRh
dGFiYXNlRmlsZU5hbWUoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTZWN1cml0eU9y
aWdpbiYgb3JpZ2luKQorV2ViU3RyaW5nIFdlYklEQkZhY3Rvcnk6OmRhdGFiYXNlRmlsZU5hbWUo
Y29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKIHsKLSAgICBSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+IHNlY3VyaXR5T3JpZ2luOwotICAgIHNlY3VyaXR5T3JpZ2luID0gb3JpZ2luOwotICAg
IHJldHVybiBJREJGYWN0b3J5QmFja2VuZEltcGw6OmRhdGFiYXNlRmlsZU5hbWUobmFtZSwgc2Vj
dXJpdHlPcmlnaW4uZ2V0KCkpOworICAgIHJldHVybiBJREJGYWN0b3J5QmFja2VuZEltcGw6OmRh
dGFiYXNlRmlsZU5hbWUob3JpZ2luLmdldCgpKTsKIH0KIAorV2ViU3RyaW5nIFdlYklEQkZhY3Rv
cnk6OmRhdGFiYXNlRmlsZU5hbWUoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTZWN1
cml0eU9yaWdpbiYgb3JpZ2luKQoreworICAgIFVOVVNFRF9QQVJBTShuYW1lKTsKKyAgICByZXR1
cm4gZGF0YWJhc2VGaWxlTmFtZShvcmlnaW4pOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCit9CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlY3Vy
aXR5T3JpZ2luLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2VjdXJpdHlPcmlnaW4uY3Bw
CmluZGV4IDg2ODU3MzguLmFkY2NiMzEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2VjdXJpdHlPcmlnaW4uY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2VjdXJp
dHlPcmlnaW4uY3BwCkBAIC0xNDMsNiArMTQzLDExIEBAIFdlYlNlY3VyaXR5T3JpZ2luOjpvcGVy
YXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+KCkgY29uc3QKICAg
ICByZXR1cm4gUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4oY29uc3RfY2FzdDxXZWJTZWN1cml0
eU9yaWdpblByaXZhdGUqPihtX3ByaXZhdGUpKTsKIH0KIAorU2VjdXJpdHlPcmlnaW4qIFdlYlNl
Y3VyaXR5T3JpZ2luOjpnZXQoKSBjb25zdAoreworICAgIHJldHVybiBtX3ByaXZhdGU7Cit9CisK
IHZvaWQgV2ViU2VjdXJpdHlPcmlnaW46OmFzc2lnbihXZWJTZWN1cml0eU9yaWdpblByaXZhdGUq
IHApCiB7CiAgICAgLy8gcCBpcyBhbHJlYWR5IHJlZidkIGZvciB1cyBieSB0aGUgY2FsbGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71429</attachid>
            <date>2010-10-21 06:07:52 -0700</date>
            <delta_ts>2010-10-25 09:28:53 -0700</delta_ts>
            <desc>oops</desc>
            <filename>a</filename>
            <type>text/plain</type>
            <size>99326</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NzI4MWVjLi5mOTA5Y2JiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMTAt
MjEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUXVvdGEgZm9yIEluZGV4ZWREQiBzaG91
bGQgYmUgcGVyIG9yaWdpbiBub3QgcGVyIGRhdGFiYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODA2NAorCisgICAgICAgIFZlcmlmeSBvdXIgYmFj
a2luZyBkYXRhYmFzZSBjYW4gaGFuZGxlIG11bHRpcGxlIGluZGV4ZXMsIG9iamVjdFN0b3JlcywK
KyAgICAgICAgaXRlbXMgaW4gdGhlIGluZGV4L29iamVjdCBzdG9yZXMsIGV0YyB3aXRoaW4gZGF0
YWJhc2VzIG9mIGRpZmZlcmVudAorICAgICAgICBuYW1lcy4KKworICAgICAgICBBbHNvIGFkanVz
dCB0aGUgcXVvdGEgdGVzdCBzbyBpdCBkb2Vzbid0IGZhaWwgd2l0aCBzdWJ0bGUgZGlmZmVyZW5j
ZXMKKyAgICAgICAgaW4gdGhlIGJhY2tpbmcgZGIgKHdoaWNoIGNhbiBjaGFuZ2UgdGhlIHNpemUg
YSBiaXQpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0
bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMuaHRtbDogQWRk
ZWQuCisKIDIwMTAtMTAtMTkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGI2ZWE1MDUuLjZjMjQ1ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2RhdGFiYXNlLXF1b3RhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS1leHBlY3RlZC50eHQKQEAgLTY4LDEwMzQgKzY4
LDYgQEAgdHJhbnMgPSBkYi50cmFuc2FjdGlvbigpCiBDcmVhdGluZyAnZGF0YScgd2hpY2ggY29u
dGFpbnMgNjRLIG9mIGRhdGEKIFBBU1MgZGF0YS5sZW5ndGggaXMgNjU1MzYKIHN0b3JlID0gdHJh
bnMub2JqZWN0U3RvcmUoJ3Rlc3QxMjMnKQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVk
KQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNl
ICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3Rh
dGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRl
IGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQo
e3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
bWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZl
bnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVu
dC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQg
ZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291
cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUK
LVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQu
RE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFk
ZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5h
ZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVz
dWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3Mn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
ZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBl
dmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZl
bnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0
YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQu
c291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3Jl
YWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFk
eVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9y
ZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAn
cmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUg
PSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3Mg
ZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUn
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlz
IHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29u
ZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50
YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwg
ZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZl
bnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5y
ZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1z
dG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3Rv
cmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nl
c3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2Nv
ZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxs
IGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVu
dC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRh
fSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2Un
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNl
Ci1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgot
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQot
c3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1
Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
J2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBk
YXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3Nh
Z2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRh
cmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291
cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVk
OgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNT
ICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUK
LQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkK
LVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4
OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21l
c3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQu
c291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZp
cmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1Q
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRl
ZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJj
ZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0
YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0
ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRk
KHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3Vs
dCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZl
bnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50
IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBl
dmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3Nv
dXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVl
Ci1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9y
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0
LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFB
ZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNv
dXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFk
eVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlT
dGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUu
YWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jl
c3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlz
IHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNz
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0g
ZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2
ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0
cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVy
cm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFy
Z2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRh
dGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3Rv
cmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1Mg
J3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNj
ZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3Jl
ID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNz
IGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2Rl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBp
cyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdv
bmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0s
IGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQu
cmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQot
c3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBB
U1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25z
dWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0
b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNj
ZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0
YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJj
ZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoK
LVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAn
b25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0K
LXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1T
dWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
ICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0g
bnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMg
ZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDog
ZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNz
YWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50
YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNv
dXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJl
ZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2Un
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFT
UyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05F
Ci0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQp
Ci1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2Ug
IT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0
ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUg
aXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7
eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50
LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBm
aXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3Vy
Y2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQot
UEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5E
T05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRk
ZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3Vy
Y2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlT
dGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3Rh
dGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFk
ZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2
ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVu
dCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdz
b3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1
ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJv
cicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdl
dC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRh
QWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5z
b3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVh
ZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5
U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3Jl
LmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdy
ZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vz
cycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9
IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBl
dmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMg
dHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25l
cnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRh
cmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBk
YXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVu
dC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
cmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJl
YWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0
b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNT
ICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3Vj
Y2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9y
ZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2Vz
cyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9
LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBl
dmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0
LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UK
LXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1Q
QVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZh
bHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBl
dmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29u
c3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1z
dG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3Vj
Y2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAn
Y29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51
bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2
ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRh
dGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBl
dmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2Fn
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFT
UyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFy
Z2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3Vy
Y2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6
Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBp
biBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1Mg
J29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQot
Ci1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQot
U3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFT
UyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZh
bHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9
IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlz
IGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6
IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5z
b3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmly
ZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNl
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBB
U1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9O
RQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVk
KQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNl
ICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3Rh
dGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRl
IGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQo
e3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
bWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZl
bnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVu
dC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQg
ZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291
cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUK
LVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQu
RE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFk
ZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5h
ZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVz
dWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3Mn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
ZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBl
dmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZl
bnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0
YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQu
c291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3Jl
YWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFk
eVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9y
ZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAn
cmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUg
PSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3Mg
ZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUn
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlz
IHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29u
ZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50
YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwg
ZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZl
bnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5y
ZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1z
dG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3Rv
cmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nl
c3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2Nv
ZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxs
IGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVu
dC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRh
fSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2Un
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNl
Ci1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgot
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQot
c3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1
Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
J2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBk
YXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3Nh
Z2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRh
cmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291
cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVk
OgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNT
ICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUK
LQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkK
LVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4
OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21l
c3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQu
c291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZp
cmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1Q
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRl
ZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJj
ZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0
YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0
ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRk
KHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3Vs
dCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZl
bnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCiBFcnJvciBmdW5jdGlv
biBjYWxsZWQ6ICgwKSBFcnJvciB3cml0aW5nIGRhdGEgdG8gc3RhYmxlIHN0b3JhZ2UuCiBFcnJv
ciBldmVudCBmaXJlZDoKIFBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgZmFsc2UKQEAgLTExMDgs
NyArODAsNyBAQCBQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQogUEFTUyAn
cmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKIFBBU1MgZXZlbnQudGFyZ2V0LnJl
YWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKIAotUEFTUyBBZGRpbmcgZGF0YSBmYWlsZWQg
ZHVlIHRvIHF1b3RhIGVycm9yLiBEYXRhIGFkZGVkIHdhczogNTEyMCBLQgorUEFTUyBBZGRpbmcg
ZGF0YSBmYWlsZWQgZHVlIHRvIHF1b3RhIGVycm9yLiBEYXRhIGFkZGVkIHdhcyBhYm91dCA1IE1C
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCmluZGV4
IDQ1Y2U3MDkuLmFlZmU2YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvZGF0YWJhc2UtcXVvdGEuaHRtbApAQCAtOTAsMTcgKzkwLDE1IEBAIGZ1bmN0aW9uIGNoZWNr
UXVvdGFFbmZvcmNpbmcoKQogZnVuY3Rpb24gYWRkRGF0YSgpDQogew0KICAgICBpZiAoZGF0YUFk
ZGVkIDwgNSAqIDEwMjQgKiAxMDI0KSB7DQotICAgICAgICBpZiAoZGF0YUFkZGVkID4gMCkgew0K
LSAgICAgICAgICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7DQotICAgICAgICAgICAgc3Rv
cmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGV2ZW50LnNvdXJjZSIpOw0KLSAgICAgICAgfQ0KKyAg
ICAgICAgaWYgKGRhdGFBZGRlZCA+IDApCisgICAgICAgICAgICBzdG9yZSA9IGV2ZW50LnNvdXJj
ZTsKICAgICB9IGVsc2Ugew0KICAgICAgICAgdGVzdEZhaWxlZCgiYWRkZWQgbW9yZSB0aGFuIHF1
b3RhIik7DQogICAgICAgICBkb25lKCk7DQogICAgICAgICByZXR1cm47DQogICAgIH0NCiAgICAg
ZGF0YUFkZGVkICs9IDY1NTM2Ow0KLSAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQo
e3g6IGRhdGF9LCBkYXRhQWRkZWQpIik7DQorICAgIHJlc3VsdCA9IHN0b3JlLmFkZCh7eDogZGF0
YX0sIGRhdGFBZGRlZCk7DQogICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBhZGREYXRhOw0KICAgICBy
ZXN1bHQub25lcnJvciA9IGxvZ0Vycm9yOw0KIH0NCkBAIC0xMTMsNyArMTExLDcgQEAgZnVuY3Rp
b24gbG9nRXJyb3IoKQogDQogZnVuY3Rpb24gdGVzdENvbXBsZXRlKCkNCiB7DQotICAgIHRlc3RQ
YXNzZWQoIkFkZGluZyBkYXRhIGZhaWxlZCBkdWUgdG8gcXVvdGEgZXJyb3IuIERhdGEgYWRkZWQg
d2FzOiAiICsgZGF0YUFkZGVkIC8gMTAyNCArICIgS0IiKTsNCisgICAgdGVzdFBhc3NlZCgiQWRk
aW5nIGRhdGEgZmFpbGVkIGR1ZSB0byBxdW90YSBlcnJvci4gRGF0YSBhZGRlZCB3YXMgYWJvdXQg
IiArIE1hdGgucm91bmQoZGF0YUFkZGVkIC8gMTAyNCAvIDEwMjQpICsgIiBNQiIpOw0KICAgICBk
b25lKCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2R1
cGxpY2F0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVw
bGljYXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MmVhOGMzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2R1cGxpY2F0ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTQxIEBACitWZXJpZnkgdGhhdCB5
b3UgY2FuIHB1dCB0aGUgc2FtZSBkYXRhIGluIDIgZGlmZmVyZW50IGRhdGFiYXNlcyB3aXRob3V0
IHVuaXF1ZW5lc3MgY29uc3RyYWludHMgZmlyaW5nLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKword2Via2l0SW5kZXhlZERCLm9wZW4oJ25hbWUnLCAnZGVzY3JpcHRpb24nKQorUEFT
UyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0
IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBz
aG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitkYiA9IGV2ZW50
LnJlc3VsdAorZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQorUEFTUyAnb25zdWNjZXNzJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9y
dGx5Li4uCisKK3NldFZlcnNpb25TdWNjZXNzKCk6CitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKwordHJh
bnMgPSBldmVudC5yZXN1bHQKK1BBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQorRGVsZXRlZCBh
bGwgb2JqZWN0IHN0b3Jlcy4KK2RiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxs
KQorc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICd4JykKK3N0b3JlLmFkZCh7eDogJ3Zh
bHVlJywgeTogJ3p6eid9LCAna2V5JykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNj
ZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
K1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKKworZXZlbnQuc291cmNlLmFkZCh7eDogJ3ZhbHVlMicsIHk6ICd6enoy
J30sICdrZXkyJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29u
ZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMg
dHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZp
cmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKKworaW5kZXhPYmplY3QuZ2V0S2V5KCd2YWx1ZScpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJl
c3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVh
ZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHku
Li4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0IGlzICJrZXkiCitp
bmRleE9iamVjdC5nZXQoJ3ZhbHVlJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNj
ZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
K1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQueCBpcyAidmFsdWUiCitQQVNTIGV2
ZW50LnJlc3VsdC55IGlzICJ6enoiCitpbmRleE9iamVjdC5nZXRLZXkoJ2RvZXMgbm90IGV4aXN0
JykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGlu
IHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4g
ZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitFcnJvciBldmVudCBmaXJlZDoKK1BBU1Mg
J3Jlc3VsdCcgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIHRydWUK
K1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBl
dmVudC5jb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKK2lu
ZGV4T2JqZWN0LmdldCgnZG9lcyBub3QgZXhpc3QnKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1
bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5
U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4u
CisKK0Vycm9yIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyBmYWxzZQor
UEFTUyAnY29kZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
dHJ1ZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LmNvZGUgaXMgd2Via2l0SURCRGF0YWJh
c2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUgoraW5kZXhPYmplY3Qub3BlbktleUN1cnNvcigpCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1
bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50
IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jl
c3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BB
U1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNz
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZl
bnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgInZh
bHVlIgorUEFTUyBldmVudC5yZXN1bHQudmFsdWUgaXMgImtleSIKK2V2ZW50LnJlc3VsdC5jb250
aW51ZSgpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9y
JyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUK
K0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoK
K1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMg
ZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAn
b25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisK
K1BBU1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5r
ZXkgaXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlIGlzICJrZXkyIgorZXZlbnQu
cmVzdWx0LmNvbnRpbnVlKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BB
U1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1
bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2
ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBp
biBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1Mg
J3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0
cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVy
cm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFy
Z2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgdHJ1ZQoraW5kZXhPYmpl
Y3Qub3BlbkN1cnNvcigpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0
IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVu
dCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdz
b3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1
ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJv
cicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdl
dC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgInZhbHVlIgorUEFTUyBldmVudC5yZXN1bHQudmFsdWUueCBpcyAidmFs
dWUiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZS55IGlzICJ6enoiCitldmVudC5yZXN1bHQuY29u
dGludWUoKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJv
cicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVl
CitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6
CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlz
IGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBp
biBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1Mg
J29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQor
CitQQVNTIGV2ZW50LnJlc3VsdCA9PT0gbnVsbCBpcyBmYWxzZQorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzICJ2YWx1ZTIiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZS54IGlzICJ2YWx1ZTIiCitQ
QVNTIGV2ZW50LnJlc3VsdC52YWx1ZS55IGlzICJ6enoyIgorZXZlbnQucmVzdWx0LmNvbnRpbnVl
KCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGlu
IHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4g
ZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFT
UyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgdHJ1ZQord2Via2l0SW5kZXhlZERCLm9wZW4oJ25h
bWUyJywgJ2Rlc2NyaXB0aW9uMicpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
cmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2Vz
cyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQ
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCisKK2RiID0gZXZlbnQucmVzdWx0CitkYi5zZXRWZXJzaW9uKCduZXcgdmVy
c2lvbicpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9y
JyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUK
K0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworc2V0VmVyc2lvblN1Y2Nlc3MoKToK
K1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQorCit0cmFucyA9IGV2ZW50LnJlc3VsdAorUEFTUyB0cmFucyAh
PT0gbnVsbCBpcyB0cnVlCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCitzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1l
JywgJ3gnKQorc3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30sICdrZXknKQorUEFTUyAn
b25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlz
IHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91
bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
CitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitldmVudC5zb3VyY2Uu
YWRkKHt4OiAndmFsdWUyJywgeTogJ3p6ejInfSwgJ2tleTInKQorUEFTUyAnb25zdWNjZXNzJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9y
dGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitpbmRleE9iamVjdC5nZXRLZXkoJ3ZhbHVl
JykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGlu
IHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4g
ZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFT
UyBldmVudC5yZXN1bHQgaXMgImtleSIKK2luZGV4T2JqZWN0LmdldCgndmFsdWUnKQorUEFTUyAn
b25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlz
IHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91
bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
CitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJl
c3VsdC54IGlzICJ2YWx1ZSIKK1BBU1MgZXZlbnQucmVzdWx0LnkgaXMgInp6eiIKK2luZGV4T2Jq
ZWN0LmdldEtleSgnZG9lcyBub3QgZXhpc3QnKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3Rh
dGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisK
K0Vycm9yIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyBmYWxzZQorUEFT
UyAnY29kZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgdHJ1
ZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LmNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VF
eGNlcHRpb24uTk9UX0ZPVU5EX0VSUgoraW5kZXhPYmplY3QuZ2V0KCdkb2VzIG5vdCBleGlzdCcp
CitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBy
ZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2
ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworRXJyb3IgZXZlbnQgZmlyZWQ6CitQQVNTICdy
ZXN1bHQnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyB0cnVlCitQ
QVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNz
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZl
bnQuY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCitpbmRl
eE9iamVjdC5vcGVuS2V5Q3Vyc29yKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNj
ZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
K1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgZmFsc2UKK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZSBp
cyAia2V5IgorZXZlbnQucmVzdWx0LmNvbnRpbnVlKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVz
dWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFk
eVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4u
LgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVl
CitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQg
aXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3Vy
Y2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlT
dGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3Rh
dGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMg
ZmFsc2UKK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUyIgorUEFTUyBldmVudC5yZXN1
bHQudmFsdWUgaXMgImtleTIiCitldmVudC5yZXN1bHQuY29udGludWUoKQorUEFTUyAnb25zdWNj
ZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUK
K1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmly
ZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNT
IGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQ
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdCA9
PT0gbnVsbCBpcyB0cnVlCitpbmRleE9iamVjdC5vcGVuQ3Vyc29yKCkKK1BBU1MgJ29uc3VjY2Vz
cycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQ
QVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUg
c2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVu
dCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScg
aW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBl
dmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFT
UyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0
LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09
IG51bGwgaXMgZmFsc2UKK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUiCitQQVNTIGV2
ZW50LnJlc3VsdC52YWx1ZS54IGlzICJ2YWx1ZSIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLnkg
aXMgInp6eiIKK2V2ZW50LnJlc3VsdC5jb250aW51ZSgpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJl
c3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVh
ZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHku
Li4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlz
IGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVz
dWx0LnZhbHVlLnggaXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLnkgaXMgInp6
ejIiCitldmVudC5yZXN1bHQuY29udGludWUoKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3Rh
dGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisK
K1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdCA9PT0gbnVsbCBpcyB0cnVl
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwY2Y4YzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWwKQEAgLTAsMCArMSwyMTMg
QEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJWZXJpZnkgdGhhdCB5b3UgY2FuIHB1dCB0aGUg
c2FtZSBkYXRhIGluIDIgZGlmZmVyZW50IGRhdGFiYXNlcyB3aXRob3V0IHVuaXF1ZW5lc3MgY29u
c3RyYWludHMgZmlyaW5nLiIpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCit0ZXN0Q291bnQgPSAw
OworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgaWYgKHRlc3RDb3VudCsrID09IDApCisgICAgICAg
IHJlc3VsdCA9IGV2YWxBbmRMb2coIndlYmtpdEluZGV4ZWREQi5vcGVuKCduYW1lJywgJ2Rlc2Ny
aXB0aW9uJykiKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIndlYmtp
dEluZGV4ZWREQi5vcGVuKCduYW1lMicsICdkZXNjcmlwdGlvbjInKSIpOworICAgIHZlcmlmeVJl
c3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBzZXRWZXJzaW9uOworICAgIHJl
c3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIHNl
dFZlcnNpb24oKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgZGIgPSBl
dmFsQW5kTG9nKCJkYiA9IGV2ZW50LnJlc3VsdCIpOworCisgICAgcmVzdWx0ID0gZXZhbEFuZExv
ZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1
bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBkZWxldGVFeGlzdGluZzsKKyAgICByZXN1bHQu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBkZWxldGVF
eGlzdGluZygpCit7CisgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7CisgICAgdmVy
aWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGV2ZW50LnJlc3VsdCIpOworICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwi
KTsKKyAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CisKKyAgICBk
ZWxldGVBbGxPYmplY3RTdG9yZXMoZGIsIGNyZWF0ZUluZGV4KTsKK30KKworZnVuY3Rpb24gY3Jl
YXRlSW5kZXgoKQoreworICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOworICAgIHdpbmRvdy5pbmRleE9iamVjdCA9
IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcpIik7CisgICAg
YWRkRGF0YSgpOworfQorCitmdW5jdGlvbiBhZGREYXRhKCkKK3sKKyAgICByZXN1bHQgPSBldmFs
QW5kTG9nKCJzdG9yZS5hZGQoe3g6ICd2YWx1ZScsIHk6ICd6enonfSwgJ2tleScpIik7CisgICAg
dmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGFkZE1vcmU7Cisg
ICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rp
b24gYWRkTW9yZSgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKworICAgIHJl
c3VsdCA9IGV2YWxBbmRMb2coImV2ZW50LnNvdXJjZS5hZGQoe3g6ICd2YWx1ZTInLCB5OiAnenp6
Mid9LCAna2V5MicpIik7CisgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9u
c3VjY2VzcyA9IGdldERhdGE7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKK30KKworZnVuY3Rpb24gZ2V0RGF0YSgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2
ZW50KGV2ZW50KTsKKworICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0LmdldEtl
eSgndmFsdWUnKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1
Y2Nlc3MgPSBnZXRPYmplY3REYXRhOworICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIGdldE9iamVjdERhdGEoKQoreworICAgIHZlcmlm
eVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5y
ZXN1bHQiLCAia2V5Iik7CisKKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5n
ZXQoJ3ZhbHVlJykiKTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1bHQub25z
dWNjZXNzID0gZ2V0RGF0YUZhaWw7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gZ2V0RGF0YUZhaWwoKQoreworICAgIHZlcmlmeVN1
Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5yZXN1
bHQueCIsICJ2YWx1ZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0
LnkiLCAienp6Iik7CisKKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5nZXRL
ZXkoJ2RvZXMgbm90IGV4aXN0JykiKTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICBy
ZXN1bHQub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKKyAgICByZXN1bHQu
b25lcnJvciA9IGdldE9iamVjdERhdGFGYWlsOworfQorCitmdW5jdGlvbiBnZXRPYmplY3REYXRh
RmFpbCgpCit7CisgICAgdmVyaWZ5RXJyb3JFdmVudChldmVudCk7CisgICAgc2hvdWxkQmUoImV2
ZW50LmNvZGUiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOwor
CisgICAgcmVzdWx0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3QuZ2V0KCdkb2VzIG5vdCBleGlz
dCcpIik7CisgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9
IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSBvcGVuS2V5
Q3Vyc29yOworfQorCitmdW5jdGlvbiBvcGVuS2V5Q3Vyc29yKCkKK3sKKyAgICB2ZXJpZnlFcnJv
ckV2ZW50KGV2ZW50KTsKKyAgICBzaG91bGRCZSgiZXZlbnQuY29kZSIsICJ3ZWJraXRJREJEYXRh
YmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CisKKyAgICB3aW5kb3cucmVzdWx0ID0gZXZh
bEFuZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcigpIik7CisgICAgdmVyaWZ5UmVzdWx0
KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTsKKyAgICBy
ZXN1bHQub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBj
dXJzb3IxQ29udGludWUoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAg
c2hvdWxkQmVGYWxzZSgiZXZlbnQucmVzdWx0ID09PSBudWxsIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJldmVudC5yZXN1bHQua2V5IiwgInZhbHVlIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJldmVudC5yZXN1bHQudmFsdWUiLCAia2V5Iik7CisKKyAgICAvLyBXZSByZS11
c2UgdGhlIGxhc3QgcmVzdWx0IG9iamVjdC4KKyAgICBldmFsQW5kTG9nKCJldmVudC5yZXN1bHQu
Y29udGludWUoKSIpOworICAgIHZlcmlmeVJlc3VsdCh3aW5kb3cucmVzdWx0KTsKKyAgICB3aW5k
b3cucmVzdWx0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTI7Cit9CisKK2Z1bmN0aW9uIGN1
cnNvcjFDb250aW51ZTIoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAg
c2hvdWxkQmVGYWxzZSgiZXZlbnQucmVzdWx0ID09PSBudWxsIik7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJldmVudC5yZXN1bHQua2V5IiwgInZhbHVlMiIpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LnZhbHVlIiwgImtleTIiKTsKKworICAgIC8vIFdlIHJl
LXVzZSB0aGUgbGFzdCByZXN1bHQgb2JqZWN0LgorICAgIGV2YWxBbmRMb2coImV2ZW50LnJlc3Vs
dC5jb250aW51ZSgpIik7CisgICAgdmVyaWZ5UmVzdWx0KHdpbmRvdy5yZXN1bHQpOworICAgIHdp
bmRvdy5yZXN1bHQub25zdWNjZXNzID0gb3Blbk9iamVjdEN1cnNvcjsKK30KKworZnVuY3Rpb24g
b3Blbk9iamVjdEN1cnNvcigpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAg
ICBzaG91bGRCZVRydWUoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworCisgICAgd2luZG93LnJl
c3VsdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOworICAgIHZlcmlm
eVJlc3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWU7
CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVu
Y3Rpb24gY3Vyc29yMkNvbnRpbnVlKCkKK3sKKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQoZXZlbnQp
OworICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LmtleSIsICJ2YWx1ZSIpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LnZhbHVlLngiLCAidmFsdWUiKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS55IiwgInp6eiIpOworCisg
ICAgLy8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlc3VsdCBvYmplY3QuCisgICAgZXZhbEFuZExvZygi
ZXZlbnQucmVzdWx0LmNvbnRpbnVlKCkiKTsKKyAgICB2ZXJpZnlSZXN1bHQod2luZG93LnJlc3Vs
dCk7CisgICAgd2luZG93LnJlc3VsdC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWUyOworfQor
CitmdW5jdGlvbiBjdXJzb3IyQ29udGludWUyKCkKK3sKKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQo
ZXZlbnQpOworICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LmtleSIsICJ2YWx1ZTIiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS54IiwgInZhbHVlMiIp
OyAgICAKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS55Iiwg
Inp6ejIiKTsKKworICAgIC8vIFdlIHJlLXVzZSB0aGUgbGFzdCByZXN1bHQgb2JqZWN0LgorICAg
IGV2YWxBbmRMb2coImV2ZW50LnJlc3VsdC5jb250aW51ZSgpIik7CisgICAgdmVyaWZ5UmVzdWx0
KHdpbmRvdy5yZXN1bHQpOworICAgIHdpbmRvdy5yZXN1bHQub25zdWNjZXNzID0gbGFzdDsKK30K
KworZnVuY3Rpb24gbGFzdCgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAg
ICBzaG91bGRCZVRydWUoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworCisgICAgaWYgKHRlc3RD
b3VudCA9PSAxKQorICAgICAgICB0ZXN0KCk7CisgICAgZWxzZQorICAgICAgICBkb25lKCk7Cit9
CisKK3Rlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBkMmJkZWZjLi5jYTIwYTI0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEw
LTEwLTIxICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFF1b3RhIGZvciBJbmRleGVkREIg
c2hvdWxkIGJlIHBlciBvcmlnaW4gbm90IHBlciBkYXRhYmFzZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgwNjQKKworICAgICAgICBNZXJnZSBhbGwg
ZGF0YWJhc2VzIGZvciBlYWNoIG9yaWdpbiBpbnRvIGEgc2luZ2xlIFNRTGl0ZURhdGFiYXNlLgor
CisgICAgICAgIFJlcGxhY2UgdGhlIGF3a3dhcmQgbWV0YURhdGEgdGFibGUgd2l0aCBhIERhdGFi
YXNlIHRhYmxlLgorCisgICAgICAgIENyZWF0ZSBhIG5ldyBJREJTUUxpdGVEYXRhYmFzZSBjbGFz
cyB0aGF0IHdyYXBzIFNRTGl0ZURhdGFiYXNlCisgICAgICAgIGFuZCBpbXBsZW1lbnRzIHdlYWsg
cG9pbnRlciBzZW1hbnRpY3MgZm9yIElEQkZhY3RvcnkuIEl0J3MgcmVmCisgICAgICAgIGNvdW50
ZWQgc28gbXVsdGlwbGUgSURCRGF0YWJhc2VCYWNrZW5kSW1wbHMgY2FuIHNoYXJlIG9uZS4KKwor
ICAgICAgICBGaXggdW5pcXVlbmVzcyBjb25zdHJhaW50cyB0aGF0IHdlcmUgb3Zlcmx5IGNvbnNl
cnZpdGl2ZS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBjb2RlIHRoYXQgYmxvd3MgYXdheSBl
eGlzdGluZyBkYXRhIGV2ZXJ5IHRpbWUKKyAgICAgICAgdGhlIGRhdGFiYXNlIGlzIG9wZW5lZC4K
KworICAgICAgICBHZXQgcmlkIG9mIHRoZSBmYWlybHkgdXNlbGVzcyBpbmRleGVkREIgbWFudWFs
IHRlc3QgYW5kIHJlcGxhY2UKKyAgICAgICAgaXQgd2l0aCBvbmUgdGhhdCB2ZXJpZmllcyBkYXRh
IHBlcnNpc3RzLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMu
aHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIG1hbnVhbC10ZXN0cy9p
bmRleGVkLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRlc3RzL2lu
ZGV4ZWRkYi1wZXJzaXN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFi
YXNlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXh0cmFjdE1ldGFEYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OnNldE1ldGFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRh
dGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0RGVzY3JpcHRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c3FsaXRlRGF0YWJhc2UpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlT2JqZWN0U3RvcmVJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRWZXJz
aW9uSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
bG9hZE9iamVjdFN0b3Jlcyk6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJ
bXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6aWQpOgorICAgICAg
ICAqIHN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OklEQkZhY3RvcnlCYWNrZW5kSW1wbDo6cmVtb3ZlU1FMaXRlRGF0YWJhc2UpOgorICAgICAgICAo
V2ViQ29yZTo6b3BlblNRTGl0ZURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVRh
Ymxlcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5QmFja2VuZEltcGw6Om9wZW4pOgor
ICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkYXRhYmFzZUZpbGVOYW1l
KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5oOgorICAgICAgICAq
IHN0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpwdXRPYmplY3RTdG9yZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVC
YWNrZW5kSW1wbDo6cHV0SW50ZXJuYWwpOgorICAgICAgICAqIHN0b3JhZ2UvSURCU1FMaXRlRGF0
YWJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlNRTGl0ZURhdGFiYXNlOjpJ
REJTUUxpdGVEYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJTUUxpdGVEYXRhYmFzZTo6
fklEQlNRTGl0ZURhdGFiYXNlKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNl
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCU1FMaXRlRGF0YWJhc2U6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpJREJTUUxpdGVEYXRhYmFzZTo6ZGIpOgorCiAyMDEwLTEwLTIw
ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QW5kcmVhcyBLbGluZy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggMTY2YzRkMS4uYzZiNmRjZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM4NDQsNiArMzg0
NCw4IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
LmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVxdWVzdC5jcHAnLAogICAgICAgICAgICAg
J3N0b3JhZ2UvSURCUmVxdWVzdC5oJywKKyAgICAgICAgICAgICdzdG9yYWdlL0lEQlNRTGl0ZURh
dGFiYXNlLmNwcCcsCisgICAgICAgICAgICAnc3RvcmFnZS9JREJTUUxpdGVEYXRhYmFzZS5oJywK
ICAgICAgICAgICAgICdzdG9yYWdlL0lEQlN1Y2Nlc3NFdmVudC5jcHAnLAogICAgICAgICAgICAg
J3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCVGlt
ZW91dEV2ZW50LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbmRleGVk
LWRhdGFiYXNlLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbmRleGVkLWRhdGFiYXNlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhMmExZTEuLjAwMDAwMDAKLS0tIGEv
V2ViQ29yZS9tYW51YWwtdGVzdHMvaW5kZXhlZC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNDkgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4KLTxwPlRoaXMgaXMgYSB0ZXN0IHRoYXQg
b25seSBhcHBsaWVzIHRvIEluZGV4ZWREQi4gIDxzcGFuIGlkPWVuYWJsZWQ+T3VyIHRlc3QgZm9y
IHdoZXRoZXIgeW91IGhhdmUgaXQgZW5hYmxlZCBzZWVtcyB0byBoYXZlIGZhaWxlZC48L3NwYW4+
PC9wPgotCi08cD5QbGVhc2UgZm9sbG93IHRoZXNlIHN0ZXBzIGluIG9yZGVyOjwvcD4KLQotPHA+
Rmlyc3QsIGNsaWNrIDxhIGhyZWY9ImphdmFzY3JpcHQ6IGRvT3Blbih0cnVlKSI+aGVyZTwvYT4g
dG8gb3BlbiBhbiBpbmRleGVkREIgZGF0YWJhc2UuICBMb29rIGluIHRoZSBwcm9wZXIgcGxhY2Ug
aW4geW91ciBmaWxlIHN5c3RlbSAodGhlIHBsYWNlIGJlaW5nIHNwZWNpZmljIHRvIGVhY2ggcG9y
dCkgYW5kIHZlcmlmeSBhIGZpbGUgd2FzIGNyZWF0ZWQuICBZb3Ugc2hvdWxkIGJlIGFibGUgdG8g
b3BlbiB0aGUgZmlsZSB1cCB3aXRoIHNxbGl0ZSBhbmQgZXhhbWluZSBpdCB0aGF0IHdheSBhcyB3
ZWxsLjwvcD4KLQotPHA+TmV4dCwgY2xvc2UgdGhlIGJyb3dzZXIsIGRlbGV0ZSB0aGUgZmlsZSwg
cmVwbGFjZSBpdCB3aXRoIHNvbWUgZ2FyYmFnZSwgYW5kIG1ha2UgaXQgcmVhZCBvbmx5IHRvIHRo
ZSB1c2VyIHRoZSBicm93c2VyIGlzIHJ1bm5pbmcgYXMuICBOb3cgY2xpY2sgPGEgaHJlZj0iamF2
YXNjcmlwdDogZG9PcGVuKGZhbHNlKSI+aGVyZTwvYT4uICBZb3Ugc2hvdWxkIGdldCBzb21lIHNv
cnQgb2YgZXJyb3IuPC9wPgotCi08cD5DbG9zZSB0aGUgYnJvd3NlciwgZGVsZXRlIHRoZSBmaWxl
IHlvdSBtYWRlLCBhbmQgY2xpY2sgPGEgaHJlZj0iamF2YXNjcmlwdDogZG9PcGVuKHRydWUpIj5o
ZXJlPC9hPi4gIEFsbCBzaG91bGQgYmUgd2VsbCBhZ2Fpbi48L3A+Ci0KLTxwPlN0YXR1czogPHNw
YW4gaWQ9c3RhdHVzPi4uLjwvc3Bhbj48L3A+Ci0KLTxzY3JpcHQ+Ci0KLWlmICghKCdpbmRleGVk
REInIGluIHdpbmRvdykpCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuYWJsZWQiKS5p
bm5lckhUTUwgPSAiPGZvbnQgY29sb3I9cmVkPllvdXIgYnVpbGQgZG9lcyBOT1Qgc2VlbSB0byBo
YXZlIGl0IGVuYWJsZWQuICBTbyBhbGwgY29kZSBvbiB0aGlzIHBhZ2UgaXMgZGlzYWJsZWQuPC9m
b250PiI7Ci1lbHNlCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuYWJsZWQiKS5pbm5l
ckhUTUwgPSAiPGZvbnQgY29sb3I9Z3JlZW4+WW91ciBidWlsZCBzZWVtcyB0byBoYXZlIGl0IGVu
YWJsZWQuPC9mb250PiI7Ci0KLWZ1bmN0aW9uIHN0YXR1cyhzdHIsIGNvbG9yKQotewotICAgIGlm
IChjb2xvcikKLSAgICAgICAgc3RyID0gIjxmb250IGNvbG9yPSciICsgY29sb3IgKyAiJz4iICsg
c3RyICsgIjwvZm9udD4iOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMiKS5p
bm5lckhUTUwgPSBzdHI7Ci19Ci0KLWZ1bmN0aW9uIGRvT3BlbihleHBlY3RTdWNjZXNzKQotewot
ICAgIHN0YXR1cygiQ2FsbGluZyBvcGVuIik7Ci0gICAgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVu
KCJ4eXoiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBp
ZiAoZXhwZWN0U3VjY2VzcykKLSAgICAgICAgICAgIHN0YXR1cygiT3BlbiBzdWNjZXNzZnVsIiwg
ImdyZWVuIik7ICAgICAgICAKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc3RhdHVzKCJPcGVu
IHdhcyBzdWNjZXNzZnVsLi4uYnV0IHNob3VsZG4ndCBoYXZlIGJlZW4iLCAicmVkIik7ICAgICAg
ICAKLSAgICB9OwotICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uKCkgewotICAgICAgICBp
ZiAoZXhwZWN0U3VjY2VzcykKLSAgICAgICAgICAgIHN0YXR1cygiVW5leHBlY3RlZCBlcnJvcjog
IiArIGV2ZW50Lm1lc3NhZ2UsICJyZWQiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc3Rh
dHVzKCJFeHBlY3RlZCBlcnJvcjogIiArIGV2ZW50Lm1lc3NhZ2UsICJncmVlbiIpOwotICAgIH07
Ci19Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9t
YW51YWwtdGVzdHMvaW5kZXhlZGRiLXBlcnNpc3RzLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0
cy9pbmRleGVkZGItcGVyc2lzdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi42ZjVlMDM2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5k
ZXhlZGRiLXBlcnNpc3RzLmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPGh0bWw+Cis8Ym9keT4KKzxw
PlRoaXMgaXMgYSB0ZXN0IHRoYXQgb25seSBhcHBsaWVzIHRvIEluZGV4ZWREQi4gIDxzcGFuIGlk
PWVuYWJsZWQ+T3VyIHRlc3QgZm9yIHdoZXRoZXIgeW91IGhhdmUgaXQgZW5hYmxlZCBzZWVtcyB0
byBoYXZlIGZhaWxlZC48L3NwYW4+PC9wPgorCis8cD5QbGVhc2UgZm9sbG93IHRoZXNlIHN0ZXBz
IGluIG9yZGVyOjwvcD4KKworPHA+Rmlyc3QsIGNsaWNrIDxhIGhyZWY9ImphdmFzY3JpcHQ6IHNl
dERhdGEoKSI+aGVyZTwvYT4gdG8gb3BlbiBhIGRhdGFiYXNlIGFuZCBzZXQgc29tZSBkYXRhIHdp
dGhpbiBpdC48L3A+CisKKzxwPk5leHQsIGNsb3NlIHRoZSBicm93c2VyIGFuZCB0aGVuIHJlLW9w
ZW4gdGhpcyBwYWdlLjwvcD4KKworPHA+TGFzdGx5LCBjbGljayA8YSBocmVmPSJqYXZhc2NyaXB0
OiB2ZXJpZnlEYXRhKCkiPmhlcmU8L2E+IHRvIHZlcmlmeSB0aGUgZGF0YSB3YXMgdGhlcmU8L3A+
CisKKzxwPlN0YXR1czogPHNwYW4gaWQ9c3RhdHVzPi4uLjwvc3Bhbj48L3A+CisKKzxzY3JpcHQ+
CisKK2lmICghKCd3ZWJraXRJbmRleGVkREInIGluIHdpbmRvdykpCisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuYWJsZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQgY29sb3I9cmVkPllvdXIg
YnVpbGQgZG9lcyBOT1Qgc2VlbSB0byBoYXZlIGl0IGVuYWJsZWQuICBTbyBhbGwgY29kZSBvbiB0
aGlzIHBhZ2UgaXMgZGlzYWJsZWQuPC9mb250PiI7CitlbHNlCisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImVuYWJsZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQgY29sb3I9Z3JlZW4+WW91ciBi
dWlsZCBzZWVtcyB0byBoYXZlIGl0IGVuYWJsZWQuPC9mb250PiI7CisKK2Z1bmN0aW9uIHN0YXR1
cyhzdHIsIGNvbG9yKQoreworICAgIGlmIChjb2xvcikKKyAgICAgICAgc3RyID0gIjxmb250IGNv
bG9yPSciICsgY29sb3IgKyAiJz4iICsgc3RyICsgIjwvZm9udD4iOworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGF0dXMiKS5pbm5lckhUTUwgPSBzdHI7Cit9CisKK2Z1bmN0aW9uIHNl
dERhdGEoKQoreworICAgIHN0YXR1cygiU29tZXRoaW5nIG11c3QgaGF2ZSBnb25lIHdyb25nIChv
ciB3ZSdyZSBzdGlsbCB3b3JraW5nKS4uLiIsICJyZWQiKTsKKworICAgIHdlYmtpdEluZGV4ZWRE
Qi5vcGVuKCJzb21lREIiLCAic29tZSBkZXNjcmlwdGlvbiIpLm9uc3VjY2VzcyA9IGZ1bmN0aW9u
KCkgeworICAgICAgICBldmVudC5yZXN1bHQuc2V0VmVyc2lvbigic29tZSB2ZXJzaW9uIikub25z
dWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgZGIgPSBldmVudC5zb3VyY2U7
CisgICAgICAgICAgICB3aGlsZSAoZGIub2JqZWN0U3RvcmVzLmxlbmd0aCkKKyAgICAgICAgICAg
ICAgICBkYi5yZW1vdmVPYmplY3RTdG9yZShkYi5vYmplY3RTdG9yZXNbMF0pOworICAgICAgICAg
ICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3QiKS5wdXQoInZhbHVlIiwgImtleSIpLm9uc3Vj
Y2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHN0YXR1cygiVmFsdWUgc2V0Iiwg
ImdyZWVuIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0aW9u
IHZlcmlmeURhdGEoKQoreworICAgIHN0YXR1cygiU29tZXRoaW5nIG11c3QgaGF2ZSBnb25lIHdy
b25nIChvciB3ZSdyZSBzdGlsbCB3b3JraW5nKS4uLiIsICJyZWQiKTsKKworICAgIHdlYmtpdElu
ZGV4ZWREQi5vcGVuKCJzb21lREIiLCAic29tZSBkZXNjcmlwdGlvbiIpLm9uc3VjY2VzcyA9IGZ1
bmN0aW9uKCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGV2ZW50
LnJlc3VsdC50cmFuc2FjdGlvbihbXSkub2JqZWN0U3RvcmUoInRlc3QiKS5nZXQoImtleSIpOwor
ICAgICAgICAgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ICAgIGlmIChldmVudC5yZXN1bHQgPT0gInZhbHVlIikKKyAgICAgICAgICAgICAgICAgICAgc3Rh
dHVzKCJWYWx1ZSB2ZXJpZmllZCIsICJncmVlbiIpOworICAgICAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICAgICAgc3RhdHVzKCJWYWx1ZSBpbmNvcnJlY3QhIiwgInJlZCIpOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgcmVzdWx0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICBzdGF0dXMoIkFuIGVycm9yIG9jY3VycmVkOiAiICsgZXZlbnQuY29kZSAr
ICIgIiArIGV2ZW50Lm1lc3NhZ2UsICJyZWQiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBj
YXRjaCAoZSkgeworICAgICAgICAgICAgc3RhdHVzKCJBbiBleGNlcHRpb24gb2NjdXJyZWQ6ICIg
KyBlLCAicmVkIik7CisgICAgICAgIH0KKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZElt
cGwuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4
IGRjNjFlMjIuLmU0YWU1NzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFz
ZUJhY2tlbmRJbXBsLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5jcHAKQEAgLTMyLDYwICszMiw2MSBAQAogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIK
ICNpbmNsdWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklEQk9iamVjdFN0
b3JlQmFja2VuZEltcGwuaCIKKyNpbmNsdWRlICJJREJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1
ZGUgIklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5oIgogI2luY2x1ZGUgIklEQlRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IuaCIKLSNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1
ZGUgIlNRTGl0ZVN0YXRlbWVudC5oIgogI2luY2x1ZGUgIlNRTGl0ZVRyYW5zYWN0aW9uLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGJvb2wgZXh0cmFjdE1ldGFEYXRhKFNRTGl0
ZURhdGFiYXNlKiBzcWxpdGVEYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBleHBlY3RlZE5hbWUsIFN0
cmluZyYgZm91bmRWZXJzaW9uKQorc3RhdGljIGJvb2wgZXh0cmFjdE1ldGFEYXRhKFNRTGl0ZURh
dGFiYXNlJiBzcWxpdGVEYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBTdHJpbmcmIGZvdW5k
VmVyc2lvbiwgaW50NjQmIGZvdW5kSWQpCiB7Ci0gICAgU1FMaXRlU3RhdGVtZW50IG1ldGFEYXRh
UXVlcnkoKnNxbGl0ZURhdGFiYXNlLCAiU0VMRUNUIG5hbWUsIHZlcnNpb24gRlJPTSBNZXRhRGF0
YSIpOwotICAgIGlmIChtZXRhRGF0YVF1ZXJ5LnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPayB8fCBt
ZXRhRGF0YVF1ZXJ5LnN0ZXAoKSAhPSBTUUxSZXN1bHRSb3cpCisgICAgU1FMaXRlU3RhdGVtZW50
IGRhdGFiYXNlUXVlcnkoc3FsaXRlRGF0YWJhc2UsICJTRUxFQ1QgaWQsIHZlcnNpb24gRlJPTSBE
YXRhYmFzZXMgV0hFUkUgbmFtZSA9ID8iKTsKKyAgICBpZiAoZGF0YWJhc2VRdWVyeS5wcmVwYXJl
KCkgIT0gU1FMUmVzdWx0T2spCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGRh
dGFiYXNlUXVlcnkuYmluZFRleHQoMSwgbmFtZSk7CisgICAgaWYgKGRhdGFiYXNlUXVlcnkuc3Rl
cCgpICE9IFNRTFJlc3VsdFJvdykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKG1l
dGFEYXRhUXVlcnkuZ2V0Q29sdW1uVGV4dCgwKSAhPSBleHBlY3RlZE5hbWUpIHsKLSAgICAgICAg
TE9HX0VSUk9SKCJOYW1lIGluIE1ldGFEYXRhICglcykgZG9lc24ndCBtYXRjaCBleHBlY3RlZCAo
JXMpIGZvciBJbmRleGVkREIiLCBtZXRhRGF0YVF1ZXJ5LmdldENvbHVtblRleHQoMCkudXRmOCgp
LmRhdGEoKSwgZXhwZWN0ZWROYW1lLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICB9Ci0gICAgZm91bmRWZXJzaW9uID0gbWV0YURhdGFRdWVyeS5nZXRD
b2x1bW5UZXh0KDEpOworICAgIGZvdW5kSWQgPSBkYXRhYmFzZVF1ZXJ5LmdldENvbHVtbkludDY0
KDApOworICAgIGZvdW5kVmVyc2lvbiA9IGRhdGFiYXNlUXVlcnkuZ2V0Q29sdW1uVGV4dCgxKTsK
IAotICAgIGlmIChtZXRhRGF0YVF1ZXJ5LnN0ZXAoKSA9PSBTUUxSZXN1bHRSb3cpIHsKLSAgICAg
ICAgTE9HX0VSUk9SKCJNb3JlIHRoYW4gb25lIHJvdyBmb3VuZCBpbiBNZXRhRGF0YSB0YWJsZSIp
OworICAgIGlmIChkYXRhYmFzZVF1ZXJ5LnN0ZXAoKSA9PSBTUUxSZXN1bHRSb3cpCiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQogICAgIHJldHVybiB0cnVlOwogfQogCi1z
dGF0aWMgYm9vbCBzZXRNZXRhRGF0YShTUUxpdGVEYXRhYmFzZSogc3FsaXRlRGF0YWJhc2UsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5n
JiB2ZXJzaW9uKQorc3RhdGljIGJvb2wgc2V0TWV0YURhdGEoU1FMaXRlRGF0YWJhc2UmIHNxbGl0
ZURhdGFiYXNlLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24s
IGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgaW50NjRfdCYgcm93SWQpCiB7Ci0gICAgQVNTRVJUKCFu
YW1lLmlzTnVsbCgpICYmICFkZXNjcmlwdGlvbi5pc051bGwoKSAmJiAhdmVyc2lvbi5pc051bGwo
KSk7CisgICAgQVNTRVJUKCFuYW1lLmlzTnVsbCgpKTsKKyAgICBBU1NFUlQoIWRlc2NyaXB0aW9u
LmlzTnVsbCgpKTsKKyAgICBBU1NFUlQoIXZlcnNpb24uaXNOdWxsKCkpOworCisgICAgU3RyaW5n
IHNxbCA9IHJvd0lkICE9IC0xID8gIlVQREFURSBEYXRhYmFzZXMgU0VUIG5hbWUgPSA/LCBkZXNj
cmlwdGlvbiA9ID8sIHZlcnNpb24gPSA/IFdIRVJFIGlkID0gPyIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiAiSU5TRVJUIElOVE8gRGF0YWJhc2VzIChuYW1lLCBkZXNjcmlwdGlvbiwg
dmVyc2lvbikgVkFMVUVTICg/LCA/LCA/KSI7CisgICAgU1FMaXRlU3RhdGVtZW50IHF1ZXJ5KHNx
bGl0ZURhdGFiYXNlLCBzcWwpOworICAgIGlmIChxdWVyeS5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0
T2spCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgc3FsaXRlRGF0YWJhc2Ut
PmV4ZWN1dGVDb21tYW5kKCJERUxFVEUgRlJPTSBNZXRhRGF0YSIpOworICAgIHF1ZXJ5LmJpbmRU
ZXh0KDEsIG5hbWUpOworICAgIHF1ZXJ5LmJpbmRUZXh0KDIsIGRlc2NyaXB0aW9uKTsKKyAgICBx
dWVyeS5iaW5kVGV4dCgzLCB2ZXJzaW9uKTsKKyAgICBpZiAocm93SWQgIT0gLTEpCisgICAgICAg
IHF1ZXJ5LmJpbmRJbnQ2NCg0LCByb3dJZCk7CiAKLSAgICBTUUxpdGVTdGF0ZW1lbnQgaW5zZXJ0
KCpzcWxpdGVEYXRhYmFzZSwgIklOU0VSVCBJTlRPIE1ldGFEYXRhIChuYW1lLCBkZXNjcmlwdGlv
biwgdmVyc2lvbikgVkFMVUVTICg/LCA/LCA/KSIpOwotICAgIGlmIChpbnNlcnQucHJlcGFyZSgp
ICE9IFNRTFJlc3VsdE9rKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIHByZXBhcmUg
TWV0YURhdGEgaW5zZXJ0IHN0YXRlbWVudCBmb3IgSW5kZXhlZERCIik7CisgICAgaWYgKHF1ZXJ5
LnN0ZXAoKSAhPSBTUUxSZXN1bHREb25lKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQog
Ci0gICAgaW5zZXJ0LmJpbmRUZXh0KDEsIG5hbWUpOwotICAgIGluc2VydC5iaW5kVGV4dCgyLCBk
ZXNjcmlwdGlvbik7Ci0gICAgaW5zZXJ0LmJpbmRUZXh0KDMsIHZlcnNpb24pOwotCi0gICAgaWYg
KGluc2VydC5zdGVwKCkgIT0gU1FMUmVzdWx0RG9uZSkgewotICAgICAgICBMT0dfRVJST1IoIkZh
aWxlZCB0byBpbnNlcnQgcm93IGludG8gTWV0YURhdGEgZm9yIEluZGV4ZWREQiIpOwotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQorICAgIGlmIChyb3dJZCA9PSAtMSkKKyAgICAgICAgcm93
SWQgPSBzcWxpdGVEYXRhYmFzZS5sYXN0SW5zZXJ0Um93SUQoKTsKIAogICAgIHJldHVybiB0cnVl
OwogfQogCi1JREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsKGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgUGFzc093blB0cjxT
UUxpdGVEYXRhYmFzZT4gc3FsaXRlRGF0YWJhc2UsIElEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iq
IGNvb3JkaW5hdG9yKQorSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6SURCRGF0YWJhc2VCYWNrZW5k
SW1wbChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIElEQlNR
TGl0ZURhdGFiYXNlKiBzcWxpdGVEYXRhYmFzZSwgSURCVHJhbnNhY3Rpb25Db29yZGluYXRvciog
Y29vcmRpbmF0b3IpCiAgICAgOiBtX3NxbGl0ZURhdGFiYXNlKHNxbGl0ZURhdGFiYXNlKQorICAg
ICwgbV9pZCgtMSkKICAgICAsIG1fbmFtZShuYW1lKQogICAgICwgbV9kZXNjcmlwdGlvbihkZXNj
cmlwdGlvbikKICAgICAsIG1fdmVyc2lvbigiIikKQEAgLTk0LDkgKzk1LDEwIEBAIElEQkRhdGFi
YXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwoY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBTdHJpbmcmCiAgICAgQVNTRVJUKCFtX25hbWUuaXNOdWxsKCkpOwogICAgIEFTU0VS
VCghbV9kZXNjcmlwdGlvbi5pc051bGwoKSk7CiAKLSAgICBleHRyYWN0TWV0YURhdGEobV9zcWxp
dGVEYXRhYmFzZS5nZXQoKSwgbV9uYW1lLCBtX3ZlcnNpb24pOwotICAgIHNldE1ldGFEYXRhKG1f
c3FsaXRlRGF0YWJhc2UuZ2V0KCksIG1fbmFtZSwgbV9kZXNjcmlwdGlvbiwgbV92ZXJzaW9uKTsK
LQorICAgIGJvb2wgc3VjY2VzcyA9IGV4dHJhY3RNZXRhRGF0YShtX3NxbGl0ZURhdGFiYXNlLT5k
YigpLCBtX25hbWUsIG1fdmVyc2lvbiwgbV9pZCk7CisgICAgQVNTRVJUKHN1Y2Nlc3MgPT0gKG1f
aWQgIT0gLTEpKTsKKyAgICBpZiAoIXNldE1ldGFEYXRhKG1fc3FsaXRlRGF0YWJhc2UtPmRiKCks
IG1fbmFtZSwgbV9kZXNjcmlwdGlvbiwgbV92ZXJzaW9uLCBtX2lkKSkKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7IC8vIEZJWE1FOiBOZWVkIGJldHRlciBlcnJvciBoYW5kbGluZy4KICAg
ICBsb2FkT2JqZWN0U3RvcmVzKCk7CiB9CiAKQEAgLTExMCw3ICsxMTIsMTIgQEAgdm9pZCBJREJE
YXRhYmFzZUJhY2tlbmRJbXBsOjpzZXREZXNjcmlwdGlvbihjb25zdCBTdHJpbmcmIGRlc2NyaXB0
aW9uKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247
Ci0gICAgc2V0TWV0YURhdGEobV9zcWxpdGVEYXRhYmFzZS5nZXQoKSwgbV9uYW1lLCBtX2Rlc2Ny
aXB0aW9uLCBtX3ZlcnNpb24pOworICAgIHNldE1ldGFEYXRhKG1fc3FsaXRlRGF0YWJhc2UtPmRi
KCksIG1fbmFtZSwgbV9kZXNjcmlwdGlvbiwgbV92ZXJzaW9uLCBtX2lkKTsKK30KKworU1FMaXRl
RGF0YWJhc2UmIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNxbGl0ZURhdGFiYXNlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9zcWxpdGVEYXRhYmFzZS0+ZGIoKTsKIH0KIAogUGFzc1JlZlB0cjxE
T01TdHJpbmdMaXN0PiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpvYmplY3RTdG9yZXMoKSBjb25z
dApAQCAtMTQ0LDcgKzE1MSw3IEBAIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50
ZXJmYWNlPiAgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlT2JqZWN0CiAKIHZvaWQgSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlT2JqZWN0U3RvcmVJbnRlcm5hbChTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRhYmFz
ZSwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgIFBh
c3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbikKIHsK
LSAgICBTUUxpdGVTdGF0ZW1lbnQgaW5zZXJ0KGRhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLCAi
SU5TRVJUIElOVE8gT2JqZWN0U3RvcmVzIChuYW1lLCBrZXlQYXRoLCBkb0F1dG9JbmNyZW1lbnQp
IFZBTFVFUyAoPywgPywgPykiKTsKKyAgICBTUUxpdGVTdGF0ZW1lbnQgaW5zZXJ0KGRhdGFiYXNl
LT5zcWxpdGVEYXRhYmFzZSgpLCAiSU5TRVJUIElOVE8gT2JqZWN0U3RvcmVzIChuYW1lLCBrZXlQ
YXRoLCBkb0F1dG9JbmNyZW1lbnQsIGRhdGFiYXNlSWQpIFZBTFVFUyAoPywgPywgPywgPykiKTsK
ICAgICBpZiAoaW5zZXJ0LnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaykgewogICAgICAgICB0cmFu
c2FjdGlvbi0+YWJvcnQoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTUyLDYgKzE1OSw3IEBAIHZv
aWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlT2JqZWN0U3RvcmVJbnRlcm5hbChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwKICAgICBpbnNlcnQuYmluZFRleHQoMSwgb2JqZWN0U3RvcmUt
Pm5hbWUoKSk7CiAgICAgaW5zZXJ0LmJpbmRUZXh0KDIsIG9iamVjdFN0b3JlLT5rZXlQYXRoKCkp
OwogICAgIGluc2VydC5iaW5kSW50KDMsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0U3RvcmUtPmF1
dG9JbmNyZW1lbnQoKSkpOworICAgIGluc2VydC5iaW5kSW50NjQoNCwgZGF0YWJhc2UtPmlkKCkp
OwogICAgIGlmIChpbnNlcnQuc3RlcCgpICE9IFNRTFJlc3VsdERvbmUpIHsKICAgICAgICAgdHJh
bnNhY3Rpb24tPmFib3J0KCk7CiAgICAgICAgIHJldHVybjsKQEAgLTIxNyw4ICsyMjUsOSBAQCB2
b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb24oY29uc3QgU3RyaW5nJiB2ZXJz
aW9uLCBQYXNzUmVmUHRyPElEQkNhbAogCiB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNl
dFZlcnNpb25JbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJE
YXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRhYmFzZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBQYXNz
UmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzLCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24pCiB7CisgICAgaW50NjRfdCBkYXRhYmFzZUlk
ID0gZGF0YWJhc2UtPmlkKCk7CiAgICAgZGF0YWJhc2UtPm1fdmVyc2lvbiA9IHZlcnNpb247Ci0g
ICAgaWYgKCFzZXRNZXRhRGF0YShkYXRhYmFzZS0+bV9zcWxpdGVEYXRhYmFzZS5nZXQoKSwgZGF0
YWJhc2UtPm1fbmFtZSwgZGF0YWJhc2UtPm1fZGVzY3JpcHRpb24sIGRhdGFiYXNlLT5tX3ZlcnNp
b24pKSB7CisgICAgaWYgKCFzZXRNZXRhRGF0YShkYXRhYmFzZS0+bV9zcWxpdGVEYXRhYmFzZS0+
ZGIoKSwgZGF0YWJhc2UtPm1fbmFtZSwgZGF0YWJhc2UtPm1fZGVzY3JpcHRpb24sIGRhdGFiYXNl
LT5tX3ZlcnNpb24sIGRhdGFiYXNlSWQpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGUgSW5kZXhl
ZCBEYXRhYmFzZSBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IGhhdmUgYW4gZXJyb3IgY29kZSBkZWRp
Y2F0ZWQgdG8gSS9PIGVycm9ycy4KICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFi
YXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJFcnJv
ciB3cml0aW5nIGRhdGEgdG8gc3RhYmxlIHN0b3JhZ2UuIikpOwogICAgICAgICB0cmFuc2FjdGlv
bi0+YWJvcnQoKTsKQEAgLTI0MCwxMCArMjQ5LDEyIEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6Y2xvc2UoKQogCiB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OmxvYWRPYmplY3RT
dG9yZXMoKQogewotICAgIFNRTGl0ZVN0YXRlbWVudCBvYmplY3RTdG9yZXNRdWVyeShzcWxpdGVE
YXRhYmFzZSgpLCAiU0VMRUNUIGlkLCBuYW1lLCBrZXlQYXRoLCBkb0F1dG9JbmNyZW1lbnQgRlJP
TSBPYmplY3RTdG9yZXMiKTsKKyAgICBTUUxpdGVTdGF0ZW1lbnQgb2JqZWN0U3RvcmVzUXVlcnko
c3FsaXRlRGF0YWJhc2UoKSwgIlNFTEVDVCBpZCwgbmFtZSwga2V5UGF0aCwgZG9BdXRvSW5jcmVt
ZW50IEZST00gT2JqZWN0U3RvcmVzIFdIRVJFIGRhdGFiYXNlSWQgPSA/Iik7CiAgICAgYm9vbCBv
ayA9IG9iamVjdFN0b3Jlc1F1ZXJ5LnByZXBhcmUoKSA9PSBTUUxSZXN1bHRPazsKICAgICBBU1NF
UlRfVU5VU0VEKG9rLCBvayk7IC8vIEZJWE1FOiBCZXR0ZXIgZXJyb3IgaGFuZGxpbmc/CiAKKyAg
ICBvYmplY3RTdG9yZXNRdWVyeS5iaW5kSW50NjQoMSwgbV9pZCk7CisKICAgICB3aGlsZSAob2Jq
ZWN0U3RvcmVzUXVlcnkuc3RlcCgpID09IFNRTFJlc3VsdFJvdykgewogICAgICAgICBpbnQ2NF90
IGlkID0gb2JqZWN0U3RvcmVzUXVlcnkuZ2V0Q29sdW1uSW50NjQoMCk7CiAgICAgICAgIFN0cmlu
ZyBuYW1lID0gb2JqZWN0U3RvcmVzUXVlcnkuZ2V0Q29sdW1uVGV4dCgxKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggYi9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCmluZGV4IGJiNjQyOWMuLmVkOWM0Y2UgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKKysrIGIvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaApAQCAtMzYsMTkgKzM2LDIxIEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw7
CitjbGFzcyBJREJTUUxpdGVEYXRhYmFzZTsKIGNsYXNzIElEQlRyYW5zYWN0aW9uQ29vcmRpbmF0
b3I7CiBjbGFzcyBTUUxpdGVEYXRhYmFzZTsKIAogY2xhc3MgSURCRGF0YWJhc2VCYWNrZW5kSW1w
bCA6IHB1YmxpYyBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UgewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGNyZWF0ZShjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFBhc3NPd25QdHI8U1FMaXRlRGF0
YWJhc2U+IGRhdGFiYXNlLCBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKiBjb29yZGluYXRvcikK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBjcmVhdGUoY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBJREJTUUxpdGVEYXRh
YmFzZSogZGF0YWJhc2UsIElEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IqIGNvb3JkaW5hdG9yKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJREJEYXRhYmFzZUJhY2tlbmRJbXBs
KG5hbWUsIGRlc2NyaXB0aW9uLCBkYXRhYmFzZSwgY29vcmRpbmF0b3IpKTsKICAgICB9CiAgICAg
dmlydHVhbCB+SURCRGF0YWJhc2VCYWNrZW5kSW1wbCgpOwogCiAgICAgdm9pZCBzZXREZXNjcmlw
dGlvbihjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKTsKLSAgICBTUUxpdGVEYXRhYmFzZSYgc3Fs
aXRlRGF0YWJhc2UoKSBjb25zdCB7IHJldHVybiAqbV9zcWxpdGVEYXRhYmFzZS5nZXQoKTsgfQor
ICAgIFNRTGl0ZURhdGFiYXNlJiBzcWxpdGVEYXRhYmFzZSgpIGNvbnN0OworICAgIGludDY0X3Qg
aWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAKICAgICB2aXJ0dWFsIFN0cmluZyBuYW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZGVzY3JpcHRpb24o
KSBjb25zdCB7IHJldHVybiBtX2Rlc2NyaXB0aW9uOyB9CkBAIC02NSw3ICs2Nyw3IEBAIHB1Ymxp
YzoKICAgICBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKiB0cmFuc2FjdGlvbkNvb3JkaW5hdG9y
KCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2FjdGlvbkNvb3JkaW5hdG9yLmdldCgpOyB9CiAKIHBy
aXZhdGU6Ci0gICAgSURCRGF0YWJhc2VCYWNrZW5kSW1wbChjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFBhc3NPd25QdHI8U1FMaXRlRGF0YWJhc2U+IGRhdGFi
YXNlLCBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKik7CisgICAgSURCRGF0YWJhc2VCYWNrZW5k
SW1wbChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIElEQlNR
TGl0ZURhdGFiYXNlKiBkYXRhYmFzZSwgSURCVHJhbnNhY3Rpb25Db29yZGluYXRvciopOwogCiAg
ICAgdm9pZCBsb2FkT2JqZWN0U3RvcmVzKCk7CiAKQEAgLTc4LDcgKzgwLDggQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgdm9pZCBhZGRPYmplY3RTdG9yZVRvTWFwKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQk9i
amVjdFN0b3JlQmFja2VuZEltcGw+KTsKICAgICBzdGF0aWMgdm9pZCByZXNldFZlcnNpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4s
IGNvbnN0IFN0cmluZyYgdmVyc2lvbik7CiAKLSAgICBPd25QdHI8U1FMaXRlRGF0YWJhc2U+IG1f
c3FsaXRlRGF0YWJhc2U7CisgICAgUmVmUHRyPElEQlNRTGl0ZURhdGFiYXNlPiBtX3NxbGl0ZURh
dGFiYXNlOworICAgIGludDY0IG1faWQ7CiAgICAgU3RyaW5nIG1fbmFtZTsKICAgICBTdHJpbmcg
bV9kZXNjcmlwdGlvbjsKICAgICBTdHJpbmcgbV92ZXJzaW9uOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURC
RmFjdG9yeUJhY2tlbmRJbXBsLmNwcAppbmRleCBjMTgyOTRkLi4zMmQ2YzdmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcAorKysgYi9XZWJDb3Jl
L3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcApAQCAtMzMsOCArMzMsOCBAQAogI2lu
Y2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgi
CiAjaW5jbHVkZSAiSURCRGF0YWJhc2VFeGNlcHRpb24uaCIKKyNpbmNsdWRlICJJREJTUUxpdGVE
YXRhYmFzZS5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCIKLSNpbmNs
dWRlICJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSA8d3RmL1RocmVhZGluZy5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgpAQCAt
NTIsNyArNTIsMTMgQEAgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjp+SURCRmFjdG9yeUJhY2tlbmRJ
bXBsKCkKIHsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8U1FMaXRlRGF0YWJhc2U+IG9wZW5TUUxp
dGVEYXRhYmFzZShTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIFN0cmluZyBuYW1lLCBj
b25zdCBTdHJpbmcmIHBhdGhCYXNlLCBpbnQ2NF90IG1heGltdW1TaXplKQordm9pZCBJREJGYWN0
b3J5QmFja2VuZEltcGw6OnJlbW92ZVNRTGl0ZURhdGFiYXNlKGNvbnN0IFN0cmluZyYgZmlsZVBh
dGgpCit7CisgICAgQVNTRVJUKG1fc3FsaXRlRGF0YWJhc2VNYXAuY29udGFpbnMoZmlsZVBhdGgp
KTsKKyAgICBtX3NxbGl0ZURhdGFiYXNlTWFwLnJlbW92ZShmaWxlUGF0aCk7Cit9CisKK3N0YXRp
YyBQYXNzUmVmUHRyPElEQlNRTGl0ZURhdGFiYXNlPiBvcGVuU1FMaXRlRGF0YWJhc2UoU2VjdXJp
dHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBjb25zdCBTdHJpbmcmIHBhdGhCYXNlLCBpbnQ2NF90
IG1heGltdW1TaXplLCBjb25zdCBTdHJpbmcmIGZpbGVJZGVudGlmaWVyLCBJREJGYWN0b3J5QmFj
a2VuZEltcGwqIGZhY3RvcnkpCiB7CiAgICAgU3RyaW5nIHBhdGggPSAiOm1lbW9yeToiOwogICAg
IGlmICghcGF0aEJhc2UuaXNFbXB0eSgpKSB7CkBAIC02Miw1NCArNjgsNDYgQEAgc3RhdGljIFBh
c3NPd25QdHI8U1FMaXRlRGF0YWJhc2U+IG9wZW5TUUxpdGVEYXRhYmFzZShTZWN1cml0eU9yaWdp
biogc2VjdXJpdHlPcmkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAKLSAgICAg
ICAgcGF0aCA9IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChwYXRoQmFzZSwgSURCRmFjdG9yeUJh
Y2tlbmRJbXBsOjpkYXRhYmFzZUZpbGVOYW1lKG5hbWUsIHNlY3VyaXR5T3JpZ2luKSk7CisgICAg
ICAgIHBhdGggPSBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQocGF0aEJhc2UsIElEQkZhY3RvcnlC
YWNrZW5kSW1wbDo6ZGF0YWJhc2VGaWxlTmFtZShzZWN1cml0eU9yaWdpbikpOwogICAgIH0KIAot
ICAgIE93blB0cjxTUUxpdGVEYXRhYmFzZT4gc3FsaXRlRGF0YWJhc2UgPSBhZG9wdFB0cihuZXcg
U1FMaXRlRGF0YWJhc2UoKSk7Ci0gICAgaWYgKCFzcWxpdGVEYXRhYmFzZS0+b3BlbihwYXRoKSkg
eworICAgIFJlZlB0cjxJREJTUUxpdGVEYXRhYmFzZT4gc3FsaXRlRGF0YWJhc2UgPSBJREJTUUxp
dGVEYXRhYmFzZTo6Y3JlYXRlKGZpbGVJZGVudGlmaWVyLCBmYWN0b3J5KTsKKyAgICBpZiAoIXNx
bGl0ZURhdGFiYXNlLT5kYigpLm9wZW4ocGF0aCkpIHsKICAgICAgICAgLy8gRklYTUU6IElzIHRo
ZXJlIGFueSBvdGhlciB0aGluZyB3ZSBjb3VsZCBwb3NzaWJseSBkbyB0byByZWNvdmVyIGF0IHRo
aXMgcG9pbnQ/IElmIHNvLCBkbyBpdCByYXRoZXIgdGhhbiBqdXN0IGVycm9yaW5nIG91dC4KICAg
ICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gb3BlbiBkYXRhYmFzZSBmaWxlICVzIGZvciBJbmRl
eGVkREIiLCBwYXRoLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
LSAgICBzcWxpdGVEYXRhYmFzZS0+c2V0TWF4aW11bVNpemUobWF4aW11bVNpemUpOworICAgIC8v
IEZJWE1FOiBFcnJvciBjaGVja2luZz8KKyAgICBzcWxpdGVEYXRhYmFzZS0+ZGIoKS5zZXRNYXhp
bXVtU2l6ZShtYXhpbXVtU2l6ZSk7CisgICAgc3FsaXRlRGF0YWJhc2UtPmRiKCkudHVybk9uSW5j
cmVtZW50YWxBdXRvVmFjdXVtKCk7CisKICAgICByZXR1cm4gc3FsaXRlRGF0YWJhc2UucmVsZWFz
ZSgpOwogfQogCi1zdGF0aWMgYm9vbCBjcmVhdGVUYWJsZXMoU1FMaXRlRGF0YWJhc2UqIHNxbGl0
ZURhdGFiYXNlKQorc3RhdGljIGJvb2wgY3JlYXRlVGFibGVzKFNRTGl0ZURhdGFiYXNlJiBzcWxp
dGVEYXRhYmFzZSkKIHsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIGFsbCB0aGUgZHJvcCB0YWJsZSBj
b21tYW5kcyBvbmNlIHRoZSBvbiBkaXNrIHN0cnVjdHVyZSBzdGFiaWxpemVzLgogICAgIHN0YXRp
YyBjb25zdCBjaGFyKiBjb21tYW5kc1tdID0gewotICAgICAgICAiRFJPUCBUQUJMRSBJRiBFWElT
VFMgTWV0YURhdGEiLAotICAgICAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgTWV0YURh
dGEgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG5hbWUgVEVYVCBOT1QgTlVMTCwgZGVzY3JpcHRp
b24gVEVYVCBOT1QgTlVMTCwgdmVyc2lvbiBURVhUIE5PVCBOVUxMKSIsCisgICAgICAgICJDUkVB
VEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBEYXRhYmFzZXMgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVks
IG5hbWUgVEVYVCBOT1QgTlVMTCwgZGVzY3JpcHRpb24gVEVYVCBOT1QgTlVMTCwgdmVyc2lvbiBU
RVhUIE5PVCBOVUxMKSIsCisgICAgICAgICJDUkVBVEUgVU5JUVVFIElOREVYIElGIE5PVCBFWElT
VFMgRGF0YWJhc2VzX25hbWUgT04gRGF0YWJhc2VzKG5hbWUpIiwKIAotICAgICAgICAiRFJPUCBU
QUJMRSBJRiBFWElTVFMgT2JqZWN0U3RvcmVzIiwKLSAgICAgICAgIkNSRUFURSBUQUJMRSBJRiBO
T1QgRVhJU1RTIE9iamVjdFN0b3JlcyAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgbmFtZSBURVhU
IE5PVCBOVUxMIFVOSVFVRSwga2V5UGF0aCBURVhULCBkb0F1dG9JbmNyZW1lbnQgSU5URUdFUiBO
T1QgTlVMTCkiLAotICAgICAgICAiRFJPUCBJTkRFWCBJRiBFWElTVFMgT2JqZWN0U3RvcmVzX25h
bWUiLAotICAgICAgICAiQ1JFQVRFIFVOSVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIE9iamVjdFN0
b3Jlc19uYW1lIE9OIE9iamVjdFN0b3JlcyhuYW1lKSIsCisgICAgICAgICJDUkVBVEUgVEFCTEUg
SUYgTk9UIEVYSVNUUyBPYmplY3RTdG9yZXMgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG5hbWUg
VEVYVCBOT1QgTlVMTCwga2V5UGF0aCBURVhULCBkb0F1dG9JbmNyZW1lbnQgSU5URUdFUiBOT1Qg
TlVMTCwgZGF0YWJhc2VJZCBJTlRFR0VSIE5PVCBOVUxMIFJFRkVSRU5DRVMgRGF0YWJhc2VzKGlk
KSkiLAorICAgICAgICAiQ1JFQVRFIFVOSVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIE9iamVjdFN0
b3Jlc19jb21wb3NpdCBPTiBPYmplY3RTdG9yZXMoZGF0YWJhc2VJZCwgbmFtZSkiLAogCi0gICAg
ICAgICJEUk9QIFRBQkxFIElGIEVYSVNUUyBJbmRleGVzIiwKLSAgICAgICAgIkNSRUFURSBUQUJM
RSBJRiBOT1QgRVhJU1RTIEluZGV4ZXMgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG9iamVjdFN0
b3JlSWQgSU5URUdFUiBOT1QgTlVMTCBSRUZFUkVOQ0VTIE9iamVjdFN0b3JlKGlkKSwgbmFtZSBU
RVhUIE5PVCBOVUxMIFVOSVFVRSwga2V5UGF0aCBURVhULCBpc1VuaXF1ZSBJTlRFR0VSIE5PVCBO
VUxMKSIsCi0gICAgICAgICJEUk9QIElOREVYIElGIEVYSVNUUyBJbmRleGVzX2NvbXBvc2l0IiwK
KyAgICAgICAgIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEluZGV4ZXMgKGlkIElOVEVHRVIg
UFJJTUFSWSBLRVksIG9iamVjdFN0b3JlSWQgSU5URUdFUiBOT1QgTlVMTCBSRUZFUkVOQ0VTIE9i
amVjdFN0b3JlKGlkKSwgbmFtZSBURVhUIE5PVCBOVUxMLCBrZXlQYXRoIFRFWFQsIGlzVW5pcXVl
IElOVEVHRVIgTk9UIE5VTEwpIiwKICAgICAgICAgIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9U
IEVYSVNUUyBJbmRleGVzX2NvbXBvc2l0IE9OIEluZGV4ZXMob2JqZWN0U3RvcmVJZCwgbmFtZSki
LAogCi0gICAgICAgICJEUk9QIFRBQkxFIElGIEVYSVNUUyBPYmplY3RTdG9yZURhdGEiLAotICAg
ICAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgT2JqZWN0U3RvcmVEYXRhIChpZCBJTlRF
R0VSIFBSSU1BUlkgS0VZLCBvYmplY3RTdG9yZUlkIElOVEVHRVIgTk9UIE5VTEwgUkVGRVJFTkNF
UyBPYmplY3RTdG9yZShpZCksIGtleVN0cmluZyBURVhUIFVOSVFVRSwga2V5RGF0ZSBJTlRFR0VS
IFVOSVFVRSwga2V5TnVtYmVyIElOVEVHRVIgVU5JUVVFLCB2YWx1ZSBURVhUIE5PVCBOVUxMKSIs
Ci0gICAgICAgICJEUk9QIElOREVYIElGIEVYSVNUUyBPYmplY3RTdG9yZURhdGFfY29tcG9zaXQi
LAorICAgICAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgT2JqZWN0U3RvcmVEYXRhIChp
ZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBvYmplY3RTdG9yZUlkIElOVEVHRVIgTk9UIE5VTEwgUkVG
RVJFTkNFUyBPYmplY3RTdG9yZShpZCksIGtleVN0cmluZyBURVhULCBrZXlEYXRlIElOVEVHRVIs
IGtleU51bWJlciBJTlRFR0VSLCB2YWx1ZSBURVhUIE5PVCBOVUxMKSIsCiAgICAgICAgICJDUkVB
VEUgVU5JUVVFIElOREVYIElGIE5PVCBFWElTVFMgT2JqZWN0U3RvcmVEYXRhX2NvbXBvc2l0IE9O
IE9iamVjdFN0b3JlRGF0YShrZXlTdHJpbmcsIGtleURhdGUsIGtleU51bWJlciwgb2JqZWN0U3Rv
cmVJZCkiLAogCi0gICAgICAgICJEUk9QIFRBQkxFIElGIEVYSVNUUyBJbmRleERhdGEiLAogICAg
ICAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgSW5kZXhEYXRhIChpZCBJTlRFR0VSIFBS
SU1BUlkgS0VZLCBpbmRleElkIElOVEVHRVIgTk9UIE5VTEwgUkVGRVJFTkNFUyBJbmRleGVzKGlk
KSwga2V5U3RyaW5nIFRFWFQsIGtleURhdGUgSU5URUdFUiwga2V5TnVtYmVyIElOVEVHRVIsIG9i
amVjdFN0b3JlRGF0YUlkIElOVEVHRVIgTk9UIE5VTEwgUkVGRVJFTkNFUyBPYmplY3RTdG9yZURh
dGEoaWQpKSIsCi0gICAgICAgICJEUk9QIElOREVYIElGIEVYSVNUUyBJbmRleERhdGFfY29tcG9z
aXQiLAogICAgICAgICAiQ1JFQVRFIElOREVYIElGIE5PVCBFWElTVFMgSW5kZXhEYXRhX2NvbXBv
c2l0IE9OIEluZGV4RGF0YShrZXlTdHJpbmcsIGtleURhdGUsIGtleU51bWJlciwgaW5kZXhJZCki
LAotICAgICAgICAiRFJPUCBJTkRFWCBJRiBFWElTVFMgSW5kZXhEYXRhX29iamVjdFN0b3JlRGF0
YUlkIiwKICAgICAgICAgIkNSRUFURSBJTkRFWCBJRiBOT1QgRVhJU1RTIEluZGV4RGF0YV9vYmpl
Y3RTdG9yZURhdGFJZCBPTiBJbmRleERhdGEob2JqZWN0U3RvcmVEYXRhSWQpIiwKLSAgICAgICAg
IkRST1AgSU5ERVggSUYgRVhJU1RTIEluZGV4RGF0YV9pbmRleElkIiwKICAgICAgICAgIkNSRUFU
RSBJTkRFWCBJRiBOT1QgRVhJU1RTIEluZGV4RGF0YV9pbmRleElkIE9OIEluZGV4RGF0YShpbmRl
eElkKSIKICAgICAgICAgfTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXlzaXpl
KGNvbW1hbmRzKTsgKytpKSB7Ci0gICAgICAgIGlmICghc3FsaXRlRGF0YWJhc2UtPmV4ZWN1dGVD
b21tYW5kKGNvbW1hbmRzW2ldKSkgeworICAgICAgICBpZiAoIXNxbGl0ZURhdGFiYXNlLmV4ZWN1
dGVDb21tYW5kKGNvbW1hbmRzW2ldKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCB0cnkgdG8gcmVjb3ZlciBmcm9tIHRoaXMgc2l0dWF0aW9uLiBNYXliZSBudWtlIHRoZSBkYXRh
YmFzZSBhbmQgc3RhcnQgb3Zlcj8KICAgICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIHJ1
biB0aGUgZm9sbG93aW5nIGNvbW1hbmQgZm9yIEluZGV4ZWREQjogJXMiLCBjb21tYW5kc1tpXSk7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMjAsNyArMTE4LDkgQEAgc3RhdGljIGJv
b2wgY3JlYXRlVGFibGVzKFNRTGl0ZURhdGFiYXNlKiBzcWxpdGVEYXRhYmFzZSkKIAogdm9pZCBJ
REJGYWN0b3J5QmFja2VuZEltcGw6Om9wZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIGRlc2NyaXB0aW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzLCBQYXNz
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbiwgRnJhbWUqLCBjb25zdCBTdHJp
bmcmIGRhdGFEaXIsIGludDY0X3QgbWF4aW11bVNpemUpCiB7Ci0gICAgSURCRGF0YWJhc2VCYWNr
ZW5kTWFwOjppdGVyYXRvciBpdCA9IG1fZGF0YWJhc2VCYWNrZW5kTWFwLmZpbmQobmFtZSk7Cisg
ICAgU3RyaW5nIGZpbGVJZGVudGlmaWVyID0gc2VjdXJpdHlPcmlnaW4tPmRhdGFiYXNlSWRlbnRp
ZmllcigpOworICAgIFN0cmluZyB1bmlxdWVJZGVudGlmaWVyID0gZmlsZUlkZW50aWZpZXIgKyAi
XyIgKyBuYW1lOworICAgIElEQkRhdGFiYXNlQmFja2VuZE1hcDo6aXRlcmF0b3IgaXQgPSBtX2Rh
dGFiYXNlQmFja2VuZE1hcC5maW5kKHVuaXF1ZUlkZW50aWZpZXIpOwogICAgIGlmIChpdCAhPSBt
X2RhdGFiYXNlQmFja2VuZE1hcC5lbmQoKSkgewogICAgICAgICBpZiAoIWRlc2NyaXB0aW9uLmlz
TnVsbCgpKQogICAgICAgICAgICAgaXQtPnNlY29uZC0+c2V0RGVzY3JpcHRpb24oZGVzY3JpcHRp
b24pOyAvLyBUaGUgZGVzY3JpcHRpb24gbWF5IGhhdmUgY2hhbmdlZC4KQEAgLTEzMCwyMiArMTMw
LDI5IEBAIHZvaWQgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpvcGVuKGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwKIAogICAgIC8vIEZJWE1FOiBFdmVyeXRoaW5n
IGZyb20gbm93IG9uIHNob3VsZCBiZSBkb25lIG9uIGFub3RoZXIgdGhyZWFkLgogCi0gICAgT3du
UHRyPFNRTGl0ZURhdGFiYXNlPiBzcWxpdGVEYXRhYmFzZSA9IG9wZW5TUUxpdGVEYXRhYmFzZShz
ZWN1cml0eU9yaWdpbi5nZXQoKSwgbmFtZSwgZGF0YURpciwgbWF4aW11bVNpemUpOwotICAgIGlm
ICghc3FsaXRlRGF0YWJhc2UgfHwgIWNyZWF0ZVRhYmxlcyhzcWxpdGVEYXRhYmFzZS5nZXQoKSkp
IHsKLSAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJ
REJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRlcm5hbCBlcnJvci4iKSk7Ci0g
ICAgICAgIHJldHVybjsKKyAgICBSZWZQdHI8SURCU1FMaXRlRGF0YWJhc2U+IHNxbGl0ZURhdGFi
YXNlOworICAgIFNRTGl0ZURhdGFiYXNlTWFwOjppdGVyYXRvciBpdDIgPSBtX3NxbGl0ZURhdGFi
YXNlTWFwLmZpbmQoZmlsZUlkZW50aWZpZXIpOworICAgIGlmIChpdDIgIT0gbV9zcWxpdGVEYXRh
YmFzZU1hcC5lbmQoKSkKKyAgICAgICAgc3FsaXRlRGF0YWJhc2UgPSBpdDItPnNlY29uZDsKKyAg
ICBlbHNlIHsKKyAgICAgICAgc3FsaXRlRGF0YWJhc2UgPSBvcGVuU1FMaXRlRGF0YWJhc2Uoc2Vj
dXJpdHlPcmlnaW4uZ2V0KCksIGRhdGFEaXIsIG1heGltdW1TaXplLCBmaWxlSWRlbnRpZmllciwg
dGhpcyk7CisKKyAgICAgICAgaWYgKCFzcWxpdGVEYXRhYmFzZSB8fCAhY3JlYXRlVGFibGVzKHNx
bGl0ZURhdGFiYXNlLT5kYigpKSkgeworICAgICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElE
QkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIs
ICJJbnRlcm5hbCBlcnJvci4iKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAg
ICAgICAgbV9zcWxpdGVEYXRhYmFzZU1hcC5zZXQoZmlsZUlkZW50aWZpZXIsIHNxbGl0ZURhdGFi
YXNlLmdldCgpKTsKICAgICB9CiAKLSAgICBSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4g
ZGF0YWJhc2VCYWNrZW5kID0gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlKG5hbWUsIGRl
c2NyaXB0aW9uLCBzcWxpdGVEYXRhYmFzZS5yZWxlYXNlKCksIG1fdHJhbnNhY3Rpb25Db29yZGlu
YXRvci5nZXQoKSk7CisgICAgUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNl
QmFja2VuZCA9IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OmNyZWF0ZShuYW1lLCBkZXNjcmlwdGlv
biwgc3FsaXRlRGF0YWJhc2UuZ2V0KCksIG1fdHJhbnNhY3Rpb25Db29yZGluYXRvci5nZXQoKSk7
CiAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoZGF0YWJhc2VCYWNrZW5kLmdldCgpKTsKLSAgICBt
X2RhdGFiYXNlQmFja2VuZE1hcC5zZXQobmFtZSwgZGF0YWJhc2VCYWNrZW5kLnJlbGVhc2UoKSk7
CisgICAgbV9kYXRhYmFzZUJhY2tlbmRNYXAuc2V0KHVuaXF1ZUlkZW50aWZpZXIsIGRhdGFiYXNl
QmFja2VuZC5yZWxlYXNlKCkpOwogfQogCi1TdHJpbmcgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpk
YXRhYmFzZUZpbGVOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgU2VjdXJpdHlPcmlnaW4qIHNlY3Vy
aXR5T3JpZ2luKQorU3RyaW5nIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6ZGF0YWJhc2VGaWxlTmFt
ZShTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4pCiB7CiAgICAgU3RyaW5nIGRhdGFiYXNl
SWRlbnRpZmllciA9IHNlY3VyaXR5T3JpZ2luLT5kYXRhYmFzZUlkZW50aWZpZXIoKTsKLSAgICBT
dHJpbmcgc2FudGl6ZWROYW1lID0gZW5jb2RlRm9yRmlsZU5hbWUobmFtZSk7Ci0gICAgcmV0dXJu
IGRhdGFiYXNlSWRlbnRpZmllciArICJAIiArIHNhbnRpemVkTmFtZSArICIuaW5kZXhlZGRiIjsK
KyAgICByZXR1cm4gZGF0YWJhc2VJZGVudGlmaWVyICsgIi5pbmRleGVkZGIiOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9y
eUJhY2tlbmRJbXBsLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgK
aW5kZXggMjExYjdmYS4uMzgxYzQwMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkZh
Y3RvcnlCYWNrZW5kSW1wbC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2Vu
ZEltcGwuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBET01T
dHJpbmdMaXN0OwogCiBjbGFzcyBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOworY2xhc3MgSURCU1FM
aXRlRGF0YWJhc2U7CiBjbGFzcyBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yOwogCiBjbGFzcyBJ
REJGYWN0b3J5QmFja2VuZEltcGwgOiBwdWJsaWMgSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2Ug
ewpAQCAtNDksMTggKzUwLDI2IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCB+SURCRmFj
dG9yeUJhY2tlbmRJbXBsKCk7CiAKKyAgICAvLyBJREJTUUxpdGVEYXRhYmFzZSdzIGxpZmV0aW1l
IG1heSBiZSBzaG9ydGVyIHRoYW4gb3Vycywgc28gd2UgbmVlZCBub3RpZmljYXRpb24gd2hlbiBp
dCBkaWVzLgorICAgIHZvaWQgcmVtb3ZlU1FMaXRlRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBmaWxl
UGF0aCk7CisKICAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgZGVzY3JpcHRpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgUGFzc1JlZlB0
cjxTZWN1cml0eU9yaWdpbj4sIEZyYW1lKiwgY29uc3QgU3RyaW5nJiBkYXRhRGlyLCBpbnQ2NF90
IG1heGltdW1TaXplKTsKIAotICAgIHN0YXRpYyBTdHJpbmcgZGF0YWJhc2VGaWxlTmFtZShjb25z
dCBTdHJpbmcmIG5hbWUsIFNlY3VyaXR5T3JpZ2luKik7CisgICAgc3RhdGljIFN0cmluZyBkYXRh
YmFzZUZpbGVOYW1lKFNlY3VyaXR5T3JpZ2luKik7CiAKIHByaXZhdGU6CiAgICAgSURCRmFjdG9y
eUJhY2tlbmRJbXBsKCk7CiAKKyAgICAvLyBGSVhNRTogSnVzdCBob2xkIGEgd2VhayBwb2ludGVy
LgogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsPiA+IElEQkRhdGFiYXNlQmFja2VuZE1hcDsKICAgICBJREJEYXRhYmFzZUJhY2tlbmRNYXAg
bV9kYXRhYmFzZUJhY2tlbmRNYXA7CisKKyAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBJREJT
UUxpdGVEYXRhYmFzZSo+IFNRTGl0ZURhdGFiYXNlTWFwOworICAgIFNRTGl0ZURhdGFiYXNlTWFw
IG1fc3FsaXRlRGF0YWJhc2VNYXA7CisKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25Db29yZGlu
YXRvcj4gbV90cmFuc2FjdGlvbkNvb3JkaW5hdG9yOwogCi0gICAgLy8gV2Ugb25seSBjcmVhdGUg
b25lIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgYXQgYSB0aW1lLgorICAgIC8vIE9ubHkgb25lIGlu
c3RhbmNlIG9mIHRoZSBmYWN0b3J5IHNob3VsZCBleGlzdCBhdCBhbnkgZ2l2ZW4gdGltZS4KICAg
ICBzdGF0aWMgSURCRmFjdG9yeUJhY2tlbmRJbXBsKiBpZGJGYWN0b3J5QmFja2VuZEltcGw7CiB9
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKaW5k
ZXggZjNhZWU5MS4uOWVmMTQ0ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVj
dFN0b3JlQmFja2VuZEltcGwuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9y
ZUJhY2tlbmRJbXBsLmNwcApAQCAtMTMxLDI1ICsxMzEsMjUgQEAgc3RhdGljIFBhc3NSZWZQdHI8
SURCS2V5PiBmZXRjaEtleUZyb21LZXlQYXRoKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogdmFsdWUs
IGNvbnMKICAgICByZXR1cm4ga2V5c1swXS5yZWxlYXNlKCk7CiB9CiAKLXN0YXRpYyBib29sIHB1
dE9iamVjdFN0b3JlRGF0YShTUUxpdGVEYXRhYmFzZSYgZGIsIElEQktleSoga2V5LCBTZXJpYWxp
emVkU2NyaXB0VmFsdWUqIHZhbHVlLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGludDY0X3QqIGRh
dGFSb3dJZCkKK3N0YXRpYyBib29sIHB1dE9iamVjdFN0b3JlRGF0YShTUUxpdGVEYXRhYmFzZSYg
ZGIsIElEQktleSoga2V5LCBTZXJpYWxpemVkU2NyaXB0VmFsdWUqIHZhbHVlLCBpbnQ2NF90IG9i
amVjdFN0b3JlSWQsIGludDY0X3QmIGRhdGFSb3dJZCkKIHsKLSAgICBTdHJpbmcgc3FsID0gKmRh
dGFSb3dJZCAhPSAtMSA/ICJVUERBVEUgT2JqZWN0U3RvcmVEYXRhIFNFVCBrZXlTdHJpbmcgPSA/
LCBrZXlEYXRlID0gPywga2V5TnVtYmVyID0gPywgdmFsdWUgPSA/IFdIRVJFIGlkID0gPyIKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJJTlNFUlQgSU5UTyBPYmplY3RTdG9y
ZURhdGEgKGtleVN0cmluZywga2V5RGF0ZSwga2V5TnVtYmVyLCB2YWx1ZSwgb2JqZWN0U3RvcmVJ
ZCkgVkFMVUVTICg/LCA/LCA/LCA/LCA/KSI7CisgICAgU3RyaW5nIHNxbCA9IGRhdGFSb3dJZCAh
PSAtMSA/ICJVUERBVEUgT2JqZWN0U3RvcmVEYXRhIFNFVCBrZXlTdHJpbmcgPSA/LCBrZXlEYXRl
ID0gPywga2V5TnVtYmVyID0gPywgdmFsdWUgPSA/IFdIRVJFIGlkID0gPyIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogIklOU0VSVCBJTlRPIE9iamVjdFN0b3JlRGF0YSAoa2V5
U3RyaW5nLCBrZXlEYXRlLCBrZXlOdW1iZXIsIHZhbHVlLCBvYmplY3RTdG9yZUlkKSBWQUxVRVMg
KD8sID8sID8sID8sID8pIjsKICAgICBTUUxpdGVTdGF0ZW1lbnQgcXVlcnkoZGIsIHNxbCk7CiAg
ICAgaWYgKHF1ZXJ5LnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaykKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGtleS0+YmluZFdpdGhOdWxscyhxdWVyeSwgMSk7CiAgICAgcXVlcnkuYmluZFRl
eHQoNCwgdmFsdWUtPnRvV2lyZVN0cmluZygpKTsKLSAgICBpZiAoKmRhdGFSb3dJZCAhPSAtMSkK
LSAgICAgICAgcXVlcnkuYmluZEludCg1LCAqZGF0YVJvd0lkKTsKKyAgICBpZiAoZGF0YVJvd0lk
ICE9IC0xKQorICAgICAgICBxdWVyeS5iaW5kSW50NjQoNSwgZGF0YVJvd0lkKTsKICAgICBlbHNl
CiAgICAgICAgIHF1ZXJ5LmJpbmRJbnQ2NCg1LCBvYmplY3RTdG9yZUlkKTsKIAogICAgIGlmIChx
dWVyeS5zdGVwKCkgIT0gU1FMUmVzdWx0RG9uZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgaWYgKCpkYXRhUm93SWQgPT0gLTEpCi0gICAgICAgICpkYXRhUm93SWQgPSBkYi5sYXN0SW5z
ZXJ0Um93SUQoKTsKKyAgICBpZiAoZGF0YVJvd0lkID09IC0xKQorICAgICAgICBkYXRhUm93SWQg
PSBkYi5sYXN0SW5zZXJ0Um93SUQoKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMjM5LDcg
KzIzOSw3IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0SW50ZXJuYWwoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8CiAgICAgLy8gQmVmb3JlIHRoaXMgcG9p
bnQsIGRvbid0IGRvIGFueSBtdXRhdGlvbi4gIEFmdGVyIHRoaXMgcG9pbnQsIHJvbGxiYWNrIHRo
ZSB0cmFuc2FjdGlvbiBpbiBjYXNlIG9mIGVycm9yLgogCiAgICAgaW50NjRfdCBkYXRhUm93SWQg
PSBpc0V4aXN0aW5nVmFsdWUgPyBnZXRRdWVyeS5nZXRDb2x1bW5JbnQoMCkgOiAtMTsKLSAgICBp
ZiAoIXB1dE9iamVjdFN0b3JlRGF0YShvYmplY3RTdG9yZS0+c3FsaXRlRGF0YWJhc2UoKSwga2V5
LmdldCgpLCB2YWx1ZS5nZXQoKSwgb2JqZWN0U3RvcmUtPmlkKCksICZkYXRhUm93SWQpKSB7Cisg
ICAgaWYgKCFwdXRPYmplY3RTdG9yZURhdGEob2JqZWN0U3RvcmUtPnNxbGl0ZURhdGFiYXNlKCks
IGtleS5nZXQoKSwgdmFsdWUuZ2V0KCksIG9iamVjdFN0b3JlLT5pZCgpLCBkYXRhUm93SWQpKSB7
CiAgICAgICAgIC8vIEZJWE1FOiBUaGUgSW5kZXhlZCBEYXRhYmFzZSBzcGVjaWZpY2F0aW9uIGRv
ZXMgbm90IGhhdmUgYW4gZXJyb3IgY29kZSBkZWRpY2F0ZWQgdG8gSS9PIGVycm9ycy4KICAgICAg
ICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJFcnJvciB3cml0aW5nIGRhdGEgdG8gc3RhYmxlIHN0
b3JhZ2UuIikpOwogICAgICAgICB0cmFuc2FjdGlvbi0+YWJvcnQoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3RvcmFnZS9JREJTUUxpdGVEYXRhYmFzZS5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURC
U1FMaXRlRGF0YWJhc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4
ODE5MTcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCU1FMaXRlRGF0YWJh
c2UuY3BwCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSURCU1FMaXRlRGF0YWJhc2UuaCIKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNF
KQorCisjaW5jbHVkZSAiSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworSURCU1FMaXRlRGF0YWJhc2U6OklEQlNRTGl0ZURhdGFiYXNlKFN0cmluZyBpZGVu
dGlmaWVyLCBJREJGYWN0b3J5QmFja2VuZEltcGwqIGZhY3RvcnkpCisgICAgOiBtX2lkZW50aWZp
ZXIoaWRlbnRpZmllcikKKyAgICAsIG1fZmFjdG9yeShmYWN0b3J5KQoreworfQorCitJREJTUUxp
dGVEYXRhYmFzZTo6fklEQlNRTGl0ZURhdGFiYXNlKCkKK3sKKyAgICBtX2ZhY3RvcnktPnJlbW92
ZVNRTGl0ZURhdGFiYXNlKG1faWRlbnRpZmllcik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCU1FM
aXRlRGF0YWJhc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTU2NTA2
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmgK
QEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSURCU1FMaXRlRGF0YWJhc2VfaAorI2Rl
ZmluZSBJREJTUUxpdGVEYXRhYmFzZV9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
KworI2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJREJGYWN0b3J5QmFja2VuZEltcGw7CisK
K2NsYXNzIElEQlNRTGl0ZURhdGFiYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8SURCU1FMaXRlRGF0
YWJhc2U+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJTUUxpdGVEYXRhYmFz
ZT4gY3JlYXRlKFN0cmluZyBpZGVudGlmaWVyLCBJREJGYWN0b3J5QmFja2VuZEltcGwqIGZhY3Rv
cnkpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQlNRTGl0ZURhdGFiYXNl
KGlkZW50aWZpZXIsIGZhY3RvcnkpKTsKKyAgICB9CisgICAgfklEQlNRTGl0ZURhdGFiYXNlKCk7
CisKKyAgICBTUUxpdGVEYXRhYmFzZSYgZGIoKSB7IHJldHVybiBtX2RiOyB9CisKK3ByaXZhdGU6
CisgICAgSURCU1FMaXRlRGF0YWJhc2UoU3RyaW5nIGlkZW50aWZpZXIsIElEQkZhY3RvcnlCYWNr
ZW5kSW1wbCogZmFjdG9yeSk7CisKKyAgICBTUUxpdGVEYXRhYmFzZSBtX2RiOworICAgIFN0cmlu
ZyBtX2lkZW50aWZpZXI7CisgICAgUmVmUHRyPElEQkZhY3RvcnlCYWNrZW5kSW1wbD4gbV9mYWN0
b3J5OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKworI2VuZGlmIC8v
IElEQlNRTGl0ZURhdGFiYXNlX2gKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDNmYThlYzAuLjRkNjM2ZTggMTAw
NjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTEwLTIxICBKZXJlbXkgT3Jsb3cgIDxq
b3Jsb3dAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFF1b3RhIGZvciBJbmRleGVkREIgc2hvdWxkIGJlIHBlciBvcmlnaW4gbm90
IHBlciBkYXRhYmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDgwNjQKKworICAgICAgICAqIHB1YmxpYy9XZWJJREJGYWN0b3J5Lmg6CisgICAgICAg
ICogcHVibGljL1dlYlNlY3VyaXR5T3JpZ2luLmg6CisgICAgICAgICogc3JjL1dlYklEQkZhY3Rv
cnkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJGYWN0b3J5OjpkYXRhYmFzZUZpbGVOYW1l
KToKKyAgICAgICAgKiBzcmMvV2ViU2VjdXJpdHlPcmlnaW4uY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJTZWN1cml0eU9yaWdpbjo6Z2V0KToKKwogMjAxMC0xMC0xOSAgQW5kcmV5IEtvc3lha292
ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQkZhY3RvcnkuaCBi
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRmFjdG9yeS5oCmluZGV4IGM3ZmJlMDIuLjY2
Y2VhZGIgMTAwNzU1Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRmFjdG9yeS5o
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRmFjdG9yeS5oCkBAIC01OCw2ICs1
OCw4IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBUaGUgZmlsZSBuYW1lIHRoYXQgd291bGQg
YmUgdXNlZCBmb3IgcGVyc2lzdGluZyBhIGdpdmVuIGluZGV4ZWQgZGF0YWJhc2Ugb24gdGhlIGZp
bGUgc3lzdGVtLgorICAgIFdFQktJVF9BUEkgc3RhdGljIFdlYlN0cmluZyBkYXRhYmFzZUZpbGVO
YW1lKGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2luJik7CisgICAgLy8gRklYTUU6IFJlbW92ZSBhZnRl
ciByb2xsLgogICAgIFdFQktJVF9BUEkgc3RhdGljIFdlYlN0cmluZyBkYXRhYmFzZUZpbGVOYW1l
KGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mKTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlPcmlnaW4uaCBi
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlPcmlnaW4uaAppbmRleCBlZmNiMmU5
Li5hMjQxNjgyIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlY3VyaXR5
T3JpZ2luLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZWN1cml0eU9yaWdpbi5o
CkBAIC0xMDAsNiArMTAwLDcgQEAgcHVibGljOgogICAgIFdlYlNlY3VyaXR5T3JpZ2luKGNvbnN0
IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mKTsKICAgICBXZWJTZWN1
cml0eU9yaWdpbiYgb3BlcmF0b3I9KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbj4mKTsKICAgICBvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW4+KCkgY29uc3Q7CisgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIGdldCgp
IGNvbnN0OwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklEQkZhY3RvcnkuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5
LmNwcAppbmRleCBiMTg2YjY4Li40MGVmZjk3IDEwMDc1NQotLS0gYS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklEQkZhY3RvcnkuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRmFj
dG9yeS5jcHAKQEAgLTMxLDIyICszMSwyMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYklEQkZhY3RvcnkuaCIKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotCiAj
aW5jbHVkZSAiSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgiCi0jaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKKyNpbmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgPHd0Zi9VbnVz
ZWRQYXJhbS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLVdlYlN0cmluZyBXZWJJREJGYWN0b3J5OjpkYXRhYmFzZUZpbGVOYW1lKGNvbnN0IFdl
YlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKK1dlYlN0cmlu
ZyBXZWJJREJGYWN0b3J5OjpkYXRhYmFzZUZpbGVOYW1lKGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2lu
JiBvcmlnaW4pCiB7Ci0gICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbjsK
LSAgICBzZWN1cml0eU9yaWdpbiA9IG9yaWdpbjsKLSAgICByZXR1cm4gSURCRmFjdG9yeUJhY2tl
bmRJbXBsOjpkYXRhYmFzZUZpbGVOYW1lKG5hbWUsIHNlY3VyaXR5T3JpZ2luLmdldCgpKTsKKyAg
ICByZXR1cm4gSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkYXRhYmFzZUZpbGVOYW1lKG9yaWdpbi5n
ZXQoKSk7CiB9CiAKK1dlYlN0cmluZyBXZWJJREJGYWN0b3J5OjpkYXRhYmFzZUZpbGVOYW1lKGNv
bnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKK3sK
KyAgICBVTlVTRURfUEFSQU0obmFtZSk7CisgICAgcmV0dXJuIGRhdGFiYXNlRmlsZU5hbWUob3Jp
Z2luKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorfQpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eU9yaWdpbi5jcHAgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNlY3VyaXR5T3JpZ2luLmNwcAppbmRleCA4Njg1NzM4Li5hZGNjYjMx
IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlY3VyaXR5T3JpZ2luLmNwcAor
KysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlY3VyaXR5T3JpZ2luLmNwcApAQCAtMTQzLDYg
KzE0MywxMSBAQCBXZWJTZWN1cml0eU9yaWdpbjo6b3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luPigpIGNvbnN0CiAgICAgcmV0dXJuIFBhc3NSZWZQdHI8U2Vj
dXJpdHlPcmlnaW4+KGNvbnN0X2Nhc3Q8V2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlKj4obV9wcml2
YXRlKSk7CiB9CiAKK1NlY3VyaXR5T3JpZ2luKiBXZWJTZWN1cml0eU9yaWdpbjo6Z2V0KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlOworfQorCiB2b2lkIFdlYlNlY3VyaXR5T3JpZ2lu
Ojphc3NpZ24oV2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlKiBwKQogewogICAgIC8vIHAgaXMgYWxy
ZWFkeSByZWYnZCBmb3IgdXMgYnkgdGhlIGNhbGxlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71761</attachid>
            <date>2010-10-25 09:28:59 -0700</date>
            <delta_ts>2010-10-26 06:46:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48064-20101025172857.patch</filename>
            <type>text/plain</type>
            <size>102438</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwZTA0YjU4YmFiOGJjMjhkMmJjOTAyYTZiYjNhNzhiZTJhYTkzOThhLi44NzcxMTQ5
MTdmZDQ1YWRhODdkZTBkNDM5NjBkNTg2OWJmNjI2YjQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTAtMTAtMjEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUXVvdGEgZm9yIEluZGV4
ZWREQiBzaG91bGQgYmUgcGVyIG9yaWdpbiBub3QgcGVyIGRhdGFiYXNlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODA2NAorCisgICAgICAgIFZlcmlm
eSBvdXIgYmFja2luZyBkYXRhYmFzZSBjYW4gaGFuZGxlIG11bHRpcGxlIGluZGV4ZXMsIG9iamVj
dFN0b3JlcywKKyAgICAgICAgaXRlbXMgaW4gdGhlIGluZGV4L29iamVjdCBzdG9yZXMsIGV0YyB3
aXRoaW4gZGF0YWJhc2VzIG9mIGRpZmZlcmVudAorICAgICAgICBuYW1lcy4KKworICAgICAgICBB
bHNvIGFkanVzdCB0aGUgcXVvdGEgdGVzdCBzbyBpdCBkb2Vzbid0IGZhaWwgd2l0aCBzdWJ0bGUg
ZGlmZmVyZW5jZXMKKyAgICAgICAgaW4gdGhlIGJhY2tpbmcgZGIgKHdoaWNoIGNhbiBjaGFuZ2Ug
dGhlIHNpemUgYSBiaXQpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2Ut
cXVvdGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNl
LXF1b3RhLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMu
aHRtbDogQWRkZWQuCisKIDIwMTAtMTAtMjUgIEFyaXlhIEhpZGF5YXQgIDxhcml5YUBzZW5jaGEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVv
dGEtZXhwZWN0ZWQudHh0CmluZGV4IGI2ZWE1MDVkNDgxNTg5ODI3MTM5NzI5NTEyZjMwNDMxOTAx
NGU1MjQuLjZjMjQ1ZDQzMjcxMDc0ZGQ3MDBkOTAyZGU1ZmNiMzhiYTY0MTdlNjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS1l
eHBlY3RlZC50eHQKQEAgLTY4LDEwMzQgKzY4LDYgQEAgdHJhbnMgPSBkYi50cmFuc2FjdGlvbigp
CiBDcmVhdGluZyAnZGF0YScgd2hpY2ggY29udGFpbnMgNjRLIG9mIGRhdGEKIFBBU1MgZGF0YS5s
ZW5ndGggaXMgNjU1MzYKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3QxMjMnKQotc3Rv
cmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1Mg
J3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNj
ZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3Jl
ID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNz
IGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2Rl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBp
cyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdv
bmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0s
IGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQu
cmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQot
c3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBB
U1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25z
dWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0
b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNj
ZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0
YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJj
ZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoK
LVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAn
b25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0K
LXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1T
dWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
ICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0g
bnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMg
ZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDog
ZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNz
YWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50
YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNv
dXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJl
ZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2Un
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFT
UyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05F
Ci0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQp
Ci1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2Ug
IT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0
ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUg
aXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7
eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50
LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBm
aXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3Vy
Y2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQot
UEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5E
T05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRk
ZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3Vy
Y2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlT
dGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3Rh
dGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFk
ZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2
ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVu
dCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdz
b3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1
ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJv
cicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdl
dC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRh
QWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5z
b3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVh
ZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5
U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3Jl
LmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdy
ZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vz
cycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9
IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBl
dmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMg
dHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25l
cnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRh
cmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBk
YXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVu
dC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
cmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJl
YWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0
b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNT
ICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3Vj
Y2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9y
ZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2Vz
cyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9
LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBl
dmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0
LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UK
LXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1Q
QVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZh
bHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBl
dmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29u
c3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1z
dG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3Vj
Y2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAn
Y29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51
bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2
ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRh
dGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBl
dmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2Fn
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFT
UyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFy
Z2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3Vy
Y2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6
Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBp
biBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1Mg
J29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQot
Ci1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQot
U3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFT
UyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZh
bHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9
IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlz
IGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6
IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5z
b3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmly
ZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNl
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBB
U1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9O
RQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVk
KQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNl
ICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3Rh
dGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRl
IGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQo
e3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
bWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZl
bnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVu
dC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQg
ZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291
cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUK
LVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQu
RE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFk
ZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5h
ZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVz
dWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3Mn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
ZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBl
dmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZl
bnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0
YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQu
c291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3Jl
YWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFk
eVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9y
ZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAn
cmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUg
PSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3Mg
ZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUn
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlz
IHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29u
ZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50
YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwg
ZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZl
bnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5y
ZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1z
dG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3Rv
cmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nl
c3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2Nv
ZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxs
IGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVu
dC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRh
fSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2Un
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNl
Ci1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgot
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQot
c3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1
Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
J2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBk
YXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3Nh
Z2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRh
cmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291
cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVk
OgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNT
ICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUK
LQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkK
LVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4
OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21l
c3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQu
c291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZp
cmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1Q
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRl
ZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJj
ZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0
YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0
ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRk
KHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3Vs
dCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZl
bnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50
IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBl
dmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3Nv
dXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVl
Ci1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9y
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0
LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFB
ZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNv
dXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFk
eVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlT
dGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUu
YWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jl
c3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlz
IHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNz
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0g
ZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2
ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0
cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVy
cm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFy
Z2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRh
dGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3Rv
cmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1Mg
J3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNj
ZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3Jl
ID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNz
IGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2Rl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBp
cyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdv
bmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0s
IGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQu
cmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQot
c3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBB
U1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25z
dWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0
b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNj
ZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0
YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJj
ZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoK
LVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAn
b25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0K
LXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1T
dWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
ICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0g
bnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMg
ZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDog
ZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNz
YWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50
YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNv
dXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJl
ZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2Un
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFT
UyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05F
Ci0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQp
Ci1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2Ug
IT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0
ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUg
aXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7
eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50
LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBm
aXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3Vy
Y2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQot
UEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5E
T05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRk
ZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3Vy
Y2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlT
dGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3Rh
dGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFk
ZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2
ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVu
dCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdz
b3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1
ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJv
cicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdl
dC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRh
QWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5z
b3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVh
ZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5
U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3Jl
LmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdy
ZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vz
cycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9
IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBl
dmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMg
dHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25l
cnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRh
cmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBk
YXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVu
dC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
cmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJl
YWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0
b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNT
ICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3Vj
Y2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9y
ZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2Vz
cyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9
LCBkYXRhQWRkZWQpCiBFcnJvciBmdW5jdGlvbiBjYWxsZWQ6ICgwKSBFcnJvciB3cml0aW5nIGRh
dGEgdG8gc3RhYmxlIHN0b3JhZ2UuCiBFcnJvciBldmVudCBmaXJlZDoKIFBBU1MgJ3Jlc3VsdCcg
aW4gZXZlbnQgaXMgZmFsc2UKQEAgLTExMDgsNyArODAsNyBAQCBQQVNTICdvbmVycm9yJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQogUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKIFBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUK
IAotUEFTUyBBZGRpbmcgZGF0YSBmYWlsZWQgZHVlIHRvIHF1b3RhIGVycm9yLiBEYXRhIGFkZGVk
IHdhczogNTEyMCBLQgorUEFTUyBBZGRpbmcgZGF0YSBmYWlsZWQgZHVlIHRvIHF1b3RhIGVycm9y
LiBEYXRhIGFkZGVkIHdhcyBhYm91dCA1IE1CCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9kYXRhYmFzZS1xdW90YS5odG1sCmluZGV4IDQ1Y2U3MDljOGFiNWYxYmRmNzhlYTlmMGZkNGE3
MzE4MjI1ZGFhN2UuLmFlZmU2YjExODIzYTI3YWE4MzI2ODRlYjgwZDk1NTg5MjU0N2IyOTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRt
bApAQCAtOTAsMTcgKzkwLDE1IEBAIGZ1bmN0aW9uIGNoZWNrUXVvdGFFbmZvcmNpbmcoKQogZnVu
Y3Rpb24gYWRkRGF0YSgpDQogew0KICAgICBpZiAoZGF0YUFkZGVkIDwgNSAqIDEwMjQgKiAxMDI0
KSB7DQotICAgICAgICBpZiAoZGF0YUFkZGVkID4gMCkgew0KLSAgICAgICAgICAgIHZlcmlmeVN1
Y2Nlc3NFdmVudChldmVudCk7DQotICAgICAgICAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9y
ZSA9IGV2ZW50LnNvdXJjZSIpOw0KLSAgICAgICAgfQ0KKyAgICAgICAgaWYgKGRhdGFBZGRlZCA+
IDApCisgICAgICAgICAgICBzdG9yZSA9IGV2ZW50LnNvdXJjZTsKICAgICB9IGVsc2Ugew0KICAg
ICAgICAgdGVzdEZhaWxlZCgiYWRkZWQgbW9yZSB0aGFuIHF1b3RhIik7DQogICAgICAgICBkb25l
KCk7DQogICAgICAgICByZXR1cm47DQogICAgIH0NCiAgICAgZGF0YUFkZGVkICs9IDY1NTM2Ow0K
LSAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQp
Iik7DQorICAgIHJlc3VsdCA9IHN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCk7DQogICAg
IHJlc3VsdC5vbnN1Y2Nlc3MgPSBhZGREYXRhOw0KICAgICByZXN1bHQub25lcnJvciA9IGxvZ0Vy
cm9yOw0KIH0NCkBAIC0xMTMsNyArMTExLDcgQEAgZnVuY3Rpb24gbG9nRXJyb3IoKQogDQogZnVu
Y3Rpb24gdGVzdENvbXBsZXRlKCkNCiB7DQotICAgIHRlc3RQYXNzZWQoIkFkZGluZyBkYXRhIGZh
aWxlZCBkdWUgdG8gcXVvdGEgZXJyb3IuIERhdGEgYWRkZWQgd2FzOiAiICsgZGF0YUFkZGVkIC8g
MTAyNCArICIgS0IiKTsNCisgICAgdGVzdFBhc3NlZCgiQWRkaW5nIGRhdGEgZmFpbGVkIGR1ZSB0
byBxdW90YSBlcnJvci4gRGF0YSBhZGRlZCB3YXMgYWJvdXQgIiArIE1hdGgucm91bmQoZGF0YUFk
ZGVkIC8gMTAyNCAvIDEwMjQpICsgIiBNQiIpOw0KICAgICBkb25lKCk7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmVhOGMzNjhjMDE1ZDM2Njk5ZGY2YTgzZGM2YzZiZGVlODBmMThlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTQxIEBACitWZXJpZnkgdGhhdCB5b3UgY2FuIHB1dCB0
aGUgc2FtZSBkYXRhIGluIDIgZGlmZmVyZW50IGRhdGFiYXNlcyB3aXRob3V0IHVuaXF1ZW5lc3Mg
Y29uc3RyYWludHMgZmlyaW5nLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKword2Vi
a2l0SW5kZXhlZERCLm9wZW4oJ25hbWUnLCAnZGVzY3JpcHRpb24nKQorUEFTUyAnb25zdWNjZXNz
JyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BB
U1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBz
aG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQu
cmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitkYiA9IGV2ZW50LnJlc3VsdAorZGIu
c2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMg
dHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUn
IGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK3Nl
dFZlcnNpb25TdWNjZXNzKCk6CitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQor
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKwordHJhbnMgPSBldmVudC5y
ZXN1bHQKK1BBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0
b3Jlcy4KK2RiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKQorc3RvcmUuY3Jl
YXRlSW5kZXgoJ2luZGV4TmFtZScsICd4JykKK3N0b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTogJ3p6
eid9LCAna2V5JykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29u
ZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMg
dHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZp
cmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKKworZXZlbnQuc291cmNlLmFkZCh7eDogJ3ZhbHVlMicsIHk6ICd6enoyJ30sICdrZXkyJykK
K1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJl
c3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZl
bnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAn
cmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQor
UEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworaW5kZXhP
YmplY3QuZ2V0S2V5KCd2YWx1ZScpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
cmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2Vz
cyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQ
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0IGlzICJrZXkiCitpbmRleE9iamVjdC5n
ZXQoJ3ZhbHVlJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29u
ZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMg
dHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZp
cmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKKworUEFTUyBldmVudC5yZXN1bHQueCBpcyAidmFsdWUiCitQQVNTIGV2ZW50LnJlc3VsdC55
IGlzICJ6enoiCitpbmRleE9iamVjdC5nZXRLZXkoJ2RvZXMgbm90IGV4aXN0JykKK1BBU1MgJ29u
c3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxk
IGZpcmUgc2hvcnRseS4uLgorCitFcnJvciBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4g
ZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ21lc3Nh
Z2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFT
UyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQor
UEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFy
Z2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5jb2RlIGlz
IHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKK2luZGV4T2JqZWN0Lmdl
dCgnZG9lcyBub3QgZXhpc3QnKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQor
UEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJl
c3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK0Vycm9yIGV2
ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnY29kZScg
aW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQorCitQQVNTIGV2ZW50LmNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24u
Tk9UX0ZPVU5EX0VSUgoraW5kZXhPYmplY3Qub3BlbktleUN1cnNvcigpCitQQVNTICdvbnN1Y2Nl
c3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQor
UEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJl
IHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2Un
IGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0ID09
PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgInZhbHVlIgorUEFTUyBl
dmVudC5yZXN1bHQudmFsdWUgaXMgImtleSIKK2V2ZW50LnJlc3VsdC5jb250aW51ZSgpCitQQVNT
ICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNo
b3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3Vs
dCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1Mg
J21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRy
dWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2
ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQu
cmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgInZhbHVl
MiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlIGlzICJrZXkyIgorZXZlbnQucmVzdWx0LmNvbnRp
bnVlKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3In
IGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQor
QW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgor
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKwor
UEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgdHJ1ZQoraW5kZXhPYmplY3Qub3BlbkN1cnNv
cigpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0Fu
IGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BB
U1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFs
c2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25z
dWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
CitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BB
U1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgInZhbHVlIgorUEFTUyBldmVudC5yZXN1bHQudmFsdWUueCBpcyAidmFsdWUiCitQQVNTIGV2
ZW50LnJlc3VsdC52YWx1ZS55IGlzICJ6enoiCitldmVudC5yZXN1bHQuY29udGludWUoKQorUEFT
UyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0
IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBz
aG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50
LnJlc3VsdCA9PT0gbnVsbCBpcyBmYWxzZQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzICJ2YWx1
ZTIiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZS54IGlzICJ2YWx1ZTIiCitQQVNTIGV2ZW50LnJl
c3VsdC52YWx1ZS55IGlzICJ6enoyIgorZXZlbnQucmVzdWx0LmNvbnRpbnVlKCkKK1BBU1MgJ29u
c3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxk
IGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQor
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1
bHQgPT09IG51bGwgaXMgdHJ1ZQord2Via2l0SW5kZXhlZERCLm9wZW4oJ25hbWUyJywgJ2Rlc2Ny
aXB0aW9uMicpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVy
cm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRy
dWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJl
ZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQg
aXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2Un
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFT
UyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05F
CisKK2RiID0gZXZlbnQucmVzdWx0CitkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpCitQQVNT
ICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNo
b3VsZCBmaXJlIHNob3J0bHkuLi4KKworc2V0VmVyc2lvblN1Y2Nlc3MoKToKK1N1Y2Nlc3MgZXZl
bnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQorCit0cmFucyA9IGV2ZW50LnJlc3VsdAorUEFTUyB0cmFucyAhPT0gbnVsbCBpcyB0
cnVlCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScsIG51bGwpCitzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJ3gnKQorc3Rv
cmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30sICdrZXknKQorUEFTUyAnb25zdWNjZXNzJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9y
dGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitldmVudC5zb3VyY2UuYWRkKHt4OiAndmFs
dWUyJywgeTogJ3p6ejInfSwgJ2tleTInKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMg
dHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUn
IGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1
Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxz
ZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQorCitpbmRleE9iamVjdC5nZXRLZXkoJ3ZhbHVlJykKK1BBU1MgJ29u
c3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxk
IGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQor
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1
bHQgaXMgImtleSIKK2luZGV4T2JqZWN0LmdldCgndmFsdWUnKQorUEFTUyAnb25zdWNjZXNzJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9y
dGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdC54IGlzICJ2
YWx1ZSIKK1BBU1MgZXZlbnQucmVzdWx0LnkgaXMgInp6eiIKK2luZGV4T2JqZWN0LmdldEtleSgn
ZG9lcyBub3QgZXhpc3QnKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFT
UyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3Vs
dCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK0Vycm9yIGV2ZW50
IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnc291
cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUK
K1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQu
RE9ORQorCitQQVNTIGV2ZW50LmNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9U
X0ZPVU5EX0VSUgoraW5kZXhPYmplY3QuZ2V0KCdkb2VzIG5vdCBleGlzdCcpCitQQVNTICdvbnN1
Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1
ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBm
aXJlIHNob3J0bHkuLi4KKworRXJyb3IgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIGZhbHNlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQuY29kZSBpcyB3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCitpbmRleE9iamVjdC5vcGVu
S2V5Q3Vyc29yKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29u
ZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMg
dHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZp
cmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgZmFsc2UKK1BBU1MgZXZlbnQucmVz
dWx0LmtleSBpcyAidmFsdWUiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZSBpcyAia2V5IgorZXZl
bnQucmVzdWx0LmNvbnRpbnVlKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUK
K1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBy
ZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNz
IGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2Rl
JyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BB
U1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBp
cyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdv
bmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgZmFsc2UKK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUyIgorUEFTUyBldmVudC5yZXN1bHQudmFsdWUgaXMg
ImtleTIiCitldmVudC5yZXN1bHQuY29udGludWUoKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1
bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5
U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4u
CisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUK
K1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBp
cyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJj
ZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0
YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0
ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdCA9PT0gbnVsbCBpcyB0
cnVlCitpbmRleE9iamVjdC5vcGVuQ3Vyc29yKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0
IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0
YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgor
CitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQ
QVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
ZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2Ug
IT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0
ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUg
aXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgZmFs
c2UKK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUiCitQQVNTIGV2ZW50LnJlc3VsdC52
YWx1ZS54IGlzICJ2YWx1ZSIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLnkgaXMgInp6eiIKK2V2
ZW50LnJlc3VsdC5jb250aW51ZSgpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
cmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2Vz
cyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQ
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLngg
aXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLnkgaXMgInp6ejIiCitldmVudC5y
ZXN1bHQuY29udGludWUoKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFT
UyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3Vs
dCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZl
bnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdCA9PT0gbnVsbCBpcyB0cnVlCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwY2Y4YzRiOGUw
ZTY3NmE0NjZjZjhkYjgwNTAwNzViMzEwODdiZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWwKQEAgLTAsMCArMSwyMTMgQEAK
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJWZXJpZnkgdGhhdCB5b3UgY2FuIHB1dCB0aGUgc2Ft
ZSBkYXRhIGluIDIgZGlmZmVyZW50IGRhdGFiYXNlcyB3aXRob3V0IHVuaXF1ZW5lc3MgY29uc3Ry
YWludHMgZmlyaW5nLiIpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCit0ZXN0Q291bnQgPSAwOwor
ZnVuY3Rpb24gdGVzdCgpCit7CisgICAgaWYgKHRlc3RDb3VudCsrID09IDApCisgICAgICAgIHJl
c3VsdCA9IGV2YWxBbmRMb2coIndlYmtpdEluZGV4ZWREQi5vcGVuKCduYW1lJywgJ2Rlc2NyaXB0
aW9uJykiKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIndlYmtpdElu
ZGV4ZWREQi5vcGVuKCduYW1lMicsICdkZXNjcmlwdGlvbjInKSIpOworICAgIHZlcmlmeVJlc3Vs
dChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBzZXRWZXJzaW9uOworICAgIHJlc3Vs
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIHNldFZl
cnNpb24oKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnJlc3VsdCIpOworCisgICAgcmVzdWx0ID0gZXZhbEFuZExvZygi
ZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQp
OworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBkZWxldGVFeGlzdGluZzsKKyAgICByZXN1bHQub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBkZWxldGVFeGlz
dGluZygpCit7CisgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7CisgICAgdmVyaWZ5
U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGV2ZW50LnJlc3VsdCIpOworICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsK
KyAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CisKKyAgICBkZWxl
dGVBbGxPYmplY3RTdG9yZXMoZGIsIGNyZWF0ZUluZGV4KTsKK30KKworZnVuY3Rpb24gY3JlYXRl
SW5kZXgoKQoreworICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOworICAgIHdpbmRvdy5pbmRleE9iamVjdCA9IGV2
YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcpIik7CisgICAgYWRk
RGF0YSgpOworfQorCitmdW5jdGlvbiBhZGREYXRhKCkKK3sKKyAgICByZXN1bHQgPSBldmFsQW5k
TG9nKCJzdG9yZS5hZGQoe3g6ICd2YWx1ZScsIHk6ICd6enonfSwgJ2tleScpIik7CisgICAgdmVy
aWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGFkZE1vcmU7CisgICAg
cmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24g
YWRkTW9yZSgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKworICAgIHJlc3Vs
dCA9IGV2YWxBbmRMb2coImV2ZW50LnNvdXJjZS5hZGQoe3g6ICd2YWx1ZTInLCB5OiAnenp6Mid9
LCAna2V5MicpIik7CisgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3Vj
Y2VzcyA9IGdldERhdGE7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKK30KKworZnVuY3Rpb24gZ2V0RGF0YSgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50
KGV2ZW50KTsKKworICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0LmdldEtleSgn
dmFsdWUnKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nl
c3MgPSBnZXRPYmplY3REYXRhOworICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIGdldE9iamVjdERhdGEoKQoreworICAgIHZlcmlmeVN1
Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5yZXN1
bHQiLCAia2V5Iik7CisKKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5nZXQo
J3ZhbHVlJykiKTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1bHQub25zdWNj
ZXNzID0gZ2V0RGF0YUZhaWw7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKK30KKworZnVuY3Rpb24gZ2V0RGF0YUZhaWwoKQoreworICAgIHZlcmlmeVN1Y2Nl
c3NFdmVudChldmVudCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5yZXN1bHQu
eCIsICJ2YWx1ZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0Lnki
LCAienp6Iik7CisKKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5nZXRLZXko
J2RvZXMgbm90IGV4aXN0JykiKTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1
bHQub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKKyAgICByZXN1bHQub25l
cnJvciA9IGdldE9iamVjdERhdGFGYWlsOworfQorCitmdW5jdGlvbiBnZXRPYmplY3REYXRhRmFp
bCgpCit7CisgICAgdmVyaWZ5RXJyb3JFdmVudChldmVudCk7CisgICAgc2hvdWxkQmUoImV2ZW50
LmNvZGUiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOworCisg
ICAgcmVzdWx0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3QuZ2V0KCdkb2VzIG5vdCBleGlzdCcp
Iik7CisgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IHVu
ZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSBvcGVuS2V5Q3Vy
c29yOworfQorCitmdW5jdGlvbiBvcGVuS2V5Q3Vyc29yKCkKK3sKKyAgICB2ZXJpZnlFcnJvckV2
ZW50KGV2ZW50KTsKKyAgICBzaG91bGRCZSgiZXZlbnQuY29kZSIsICJ3ZWJraXRJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CisKKyAgICB3aW5kb3cucmVzdWx0ID0gZXZhbEFu
ZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcigpIik7CisgICAgdmVyaWZ5UmVzdWx0KHJl
c3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTsKKyAgICByZXN1
bHQub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBjdXJz
b3IxQ29udGludWUoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hv
dWxkQmVGYWxzZSgiZXZlbnQucmVzdWx0ID09PSBudWxsIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJldmVudC5yZXN1bHQua2V5IiwgInZhbHVlIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJldmVudC5yZXN1bHQudmFsdWUiLCAia2V5Iik7CisKKyAgICAvLyBXZSByZS11c2Ug
dGhlIGxhc3QgcmVzdWx0IG9iamVjdC4KKyAgICBldmFsQW5kTG9nKCJldmVudC5yZXN1bHQuY29u
dGludWUoKSIpOworICAgIHZlcmlmeVJlc3VsdCh3aW5kb3cucmVzdWx0KTsKKyAgICB3aW5kb3cu
cmVzdWx0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTI7Cit9CisKK2Z1bmN0aW9uIGN1cnNv
cjFDb250aW51ZTIoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hv
dWxkQmVGYWxzZSgiZXZlbnQucmVzdWx0ID09PSBudWxsIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJldmVudC5yZXN1bHQua2V5IiwgInZhbHVlMiIpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZXZlbnQucmVzdWx0LnZhbHVlIiwgImtleTIiKTsKKworICAgIC8vIFdlIHJlLXVz
ZSB0aGUgbGFzdCByZXN1bHQgb2JqZWN0LgorICAgIGV2YWxBbmRMb2coImV2ZW50LnJlc3VsdC5j
b250aW51ZSgpIik7CisgICAgdmVyaWZ5UmVzdWx0KHdpbmRvdy5yZXN1bHQpOworICAgIHdpbmRv
dy5yZXN1bHQub25zdWNjZXNzID0gb3Blbk9iamVjdEN1cnNvcjsKK30KKworZnVuY3Rpb24gb3Bl
bk9iamVjdEN1cnNvcigpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAgICBz
aG91bGRCZVRydWUoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworCisgICAgd2luZG93LnJlc3Vs
dCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOworICAgIHZlcmlmeVJl
c3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWU7Cisg
ICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rp
b24gY3Vyc29yMkNvbnRpbnVlKCkKK3sKKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQoZXZlbnQpOwor
ICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LmtleSIsICJ2YWx1ZSIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LnZhbHVlLngiLCAidmFsdWUiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS55IiwgInp6eiIpOworCisgICAg
Ly8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlc3VsdCBvYmplY3QuCisgICAgZXZhbEFuZExvZygiZXZl
bnQucmVzdWx0LmNvbnRpbnVlKCkiKTsKKyAgICB2ZXJpZnlSZXN1bHQod2luZG93LnJlc3VsdCk7
CisgICAgd2luZG93LnJlc3VsdC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWUyOworfQorCitm
dW5jdGlvbiBjdXJzb3IyQ29udGludWUyKCkKK3sKKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQoZXZl
bnQpOworICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LmtleSIsICJ2YWx1ZTIiKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS54IiwgInZhbHVlMiIpOyAg
ICAKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS55IiwgInp6
ejIiKTsKKworICAgIC8vIFdlIHJlLXVzZSB0aGUgbGFzdCByZXN1bHQgb2JqZWN0LgorICAgIGV2
YWxBbmRMb2coImV2ZW50LnJlc3VsdC5jb250aW51ZSgpIik7CisgICAgdmVyaWZ5UmVzdWx0KHdp
bmRvdy5yZXN1bHQpOworICAgIHdpbmRvdy5yZXN1bHQub25zdWNjZXNzID0gbGFzdDsKK30KKwor
ZnVuY3Rpb24gbGFzdCgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAgICBz
aG91bGRCZVRydWUoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworCisgICAgaWYgKHRlc3RDb3Vu
dCA9PSAxKQorICAgICAgICB0ZXN0KCk7CisgICAgZWxzZQorICAgICAgICBkb25lKCk7Cit9CisK
K3Rlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA3NTZmYThkYWJjNzNlYWRiNzJlYzM1YzU3NDIwNGY3MDkxN2FkNzA0
Li42MGYyNjU4NDMyNzFmMDcyYTRhMmM4MDJhZWUzOTQ5YmNjNWYwMjU3IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBA
CisyMDEwLTEwLTIxICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFF1b3RhIGZvciBJbmRl
eGVkREIgc2hvdWxkIGJlIHBlciBvcmlnaW4gbm90IHBlciBkYXRhYmFzZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgwNjQKKworICAgICAgICBNZXJn
ZSBhbGwgZGF0YWJhc2VzIGZvciBlYWNoIG9yaWdpbiBpbnRvIGEgc2luZ2xlIFNRTGl0ZURhdGFi
YXNlLgorCisgICAgICAgIFJlcGxhY2UgdGhlIGF3a3dhcmQgbWV0YURhdGEgdGFibGUgd2l0aCBh
IERhdGFiYXNlIHRhYmxlLgorCisgICAgICAgIENyZWF0ZSBhIG5ldyBJREJTUUxpdGVEYXRhYmFz
ZSBjbGFzcyB0aGF0IHdyYXBzIFNRTGl0ZURhdGFiYXNlCisgICAgICAgIGFuZCBpbXBsZW1lbnRz
IHdlYWsgcG9pbnRlciBzZW1hbnRpY3MgZm9yIElEQkZhY3RvcnkuIEl0J3MgcmVmCisgICAgICAg
IGNvdW50ZWQgc28gbXVsdGlwbGUgSURCRGF0YWJhc2VCYWNrZW5kSW1wbHMgY2FuIHNoYXJlIG9u
ZS4KKworICAgICAgICBGaXggdW5pcXVlbmVzcyBjb25zdHJhaW50cyB0aGF0IHdlcmUgb3Zlcmx5
IGNvbnNlcnZpdGl2ZS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBjb2RlIHRoYXQgYmxvd3Mg
YXdheSBleGlzdGluZyBkYXRhIGV2ZXJ5IHRpbWUKKyAgICAgICAgdGhlIGRhdGFiYXNlIGlzIG9w
ZW5lZC4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBmYWlybHkgdXNlbGVzcyBpbmRleGVkREIg
bWFudWFsIHRlc3QgYW5kIHJlcGxhY2UKKyAgICAgICAgaXQgd2l0aCBvbmUgdGhhdCB2ZXJpZmll
cyBkYXRhIHBlcnNpc3RzLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2R1cGxp
Y2F0ZXMuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIG1hbnVhbC10
ZXN0cy9pbmRleGVkLWRhdGFiYXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogbWFudWFsLXRl
c3RzL2luZGV4ZWRkYi1wZXJzaXN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL0lE
QkRhdGFiYXNlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXh0cmFjdE1ldGFE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OnNldE1ldGFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0RGVzY3JpcHRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c3FsaXRlRGF0YWJhc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlT2JqZWN0U3Rv
cmVJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpz
ZXRWZXJzaW9uSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6bG9hZE9iamVjdFN0b3Jlcyk6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZUJh
Y2tlbmRJbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6aWQpOgor
ICAgICAgICAqIHN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQkZhY3RvcnlCYWNrZW5kSW1wbDo6cmVtb3ZlU1FMaXRlRGF0YWJhc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6b3BlblNRTGl0ZURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OmNy
ZWF0ZVRhYmxlcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5QmFja2VuZEltcGw6Om9w
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkYXRhYmFzZUZp
bGVOYW1lKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5oOgorICAg
ICAgICAqIHN0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpwdXRPYmplY3RTdG9yZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0
U3RvcmVCYWNrZW5kSW1wbDo6cHV0SW50ZXJuYWwpOgorICAgICAgICAqIHN0b3JhZ2UvSURCU1FM
aXRlRGF0YWJhc2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlNRTGl0ZURhdGFi
YXNlOjpJREJTUUxpdGVEYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJTUUxpdGVEYXRh
YmFzZTo6fklEQlNRTGl0ZURhdGFiYXNlKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlNRTGl0ZURh
dGFiYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCU1FMaXRlRGF0YWJhc2U6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJTUUxpdGVEYXRhYmFzZTo6ZGIpOgorCiAyMDEw
LTEwLTI0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggY2Q2NTY2OGM3NWE0ZWQ4NjkwOTBj
MTk2ODgxMDNhZDQyYjQyY2YyNi4uOGY3MDhiNGY2Mjc3OTAzMDI1MTYzMGUzZDAxZGJlMTMyOGFl
ZDk4YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTM4NDYsNiArMzg0Niw4IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9JREJQ
ZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVx
dWVzdC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCUmVxdWVzdC5oJywKKyAgICAgICAg
ICAgICdzdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmNwcCcsCisgICAgICAgICAgICAnc3RvcmFn
ZS9JREJTUUxpdGVEYXRhYmFzZS5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlN1Y2Nlc3NF
dmVudC5jcHAnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmgnLAogICAg
ICAgICAgICAgJ3N0b3JhZ2UvSURCVGltZW91dEV2ZW50LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJD
b3JlL21hbnVhbC10ZXN0cy9pbmRleGVkLWRhdGFiYXNlLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10
ZXN0cy9pbmRleGVkLWRhdGFiYXNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGRhMmExZTEzZTg4ODZkMjk3ZTNjMDUxNWM2ZTA4ZWUzNjg5MTM0YzEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5k
ZXhlZC1kYXRhYmFzZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotPGh0bWw+
Ci08Ym9keT4KLTxwPlRoaXMgaXMgYSB0ZXN0IHRoYXQgb25seSBhcHBsaWVzIHRvIEluZGV4ZWRE
Qi4gIDxzcGFuIGlkPWVuYWJsZWQ+T3VyIHRlc3QgZm9yIHdoZXRoZXIgeW91IGhhdmUgaXQgZW5h
YmxlZCBzZWVtcyB0byBoYXZlIGZhaWxlZC48L3NwYW4+PC9wPgotCi08cD5QbGVhc2UgZm9sbG93
IHRoZXNlIHN0ZXBzIGluIG9yZGVyOjwvcD4KLQotPHA+Rmlyc3QsIGNsaWNrIDxhIGhyZWY9Imph
dmFzY3JpcHQ6IGRvT3Blbih0cnVlKSI+aGVyZTwvYT4gdG8gb3BlbiBhbiBpbmRleGVkREIgZGF0
YWJhc2UuICBMb29rIGluIHRoZSBwcm9wZXIgcGxhY2UgaW4geW91ciBmaWxlIHN5c3RlbSAodGhl
IHBsYWNlIGJlaW5nIHNwZWNpZmljIHRvIGVhY2ggcG9ydCkgYW5kIHZlcmlmeSBhIGZpbGUgd2Fz
IGNyZWF0ZWQuICBZb3Ugc2hvdWxkIGJlIGFibGUgdG8gb3BlbiB0aGUgZmlsZSB1cCB3aXRoIHNx
bGl0ZSBhbmQgZXhhbWluZSBpdCB0aGF0IHdheSBhcyB3ZWxsLjwvcD4KLQotPHA+TmV4dCwgY2xv
c2UgdGhlIGJyb3dzZXIsIGRlbGV0ZSB0aGUgZmlsZSwgcmVwbGFjZSBpdCB3aXRoIHNvbWUgZ2Fy
YmFnZSwgYW5kIG1ha2UgaXQgcmVhZCBvbmx5IHRvIHRoZSB1c2VyIHRoZSBicm93c2VyIGlzIHJ1
bm5pbmcgYXMuICBOb3cgY2xpY2sgPGEgaHJlZj0iamF2YXNjcmlwdDogZG9PcGVuKGZhbHNlKSI+
aGVyZTwvYT4uICBZb3Ugc2hvdWxkIGdldCBzb21lIHNvcnQgb2YgZXJyb3IuPC9wPgotCi08cD5D
bG9zZSB0aGUgYnJvd3NlciwgZGVsZXRlIHRoZSBmaWxlIHlvdSBtYWRlLCBhbmQgY2xpY2sgPGEg
aHJlZj0iamF2YXNjcmlwdDogZG9PcGVuKHRydWUpIj5oZXJlPC9hPi4gIEFsbCBzaG91bGQgYmUg
d2VsbCBhZ2Fpbi48L3A+Ci0KLTxwPlN0YXR1czogPHNwYW4gaWQ9c3RhdHVzPi4uLjwvc3Bhbj48
L3A+Ci0KLTxzY3JpcHQ+Ci0KLWlmICghKCdpbmRleGVkREInIGluIHdpbmRvdykpCi0gICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuYWJsZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQgY29sb3I9
cmVkPllvdXIgYnVpbGQgZG9lcyBOT1Qgc2VlbSB0byBoYXZlIGl0IGVuYWJsZWQuICBTbyBhbGwg
Y29kZSBvbiB0aGlzIHBhZ2UgaXMgZGlzYWJsZWQuPC9mb250PiI7Ci1lbHNlCi0gICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVuYWJsZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQgY29sb3I9Z3Jl
ZW4+WW91ciBidWlsZCBzZWVtcyB0byBoYXZlIGl0IGVuYWJsZWQuPC9mb250PiI7Ci0KLWZ1bmN0
aW9uIHN0YXR1cyhzdHIsIGNvbG9yKQotewotICAgIGlmIChjb2xvcikKLSAgICAgICAgc3RyID0g
Ijxmb250IGNvbG9yPSciICsgY29sb3IgKyAiJz4iICsgc3RyICsgIjwvZm9udD4iOwotICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMiKS5pbm5lckhUTUwgPSBzdHI7Ci19Ci0KLWZ1
bmN0aW9uIGRvT3BlbihleHBlY3RTdWNjZXNzKQotewotICAgIHN0YXR1cygiQ2FsbGluZyBvcGVu
Iik7Ci0gICAgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKCJ4eXoiKTsKLSAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAoZXhwZWN0U3VjY2VzcykKLSAgICAg
ICAgICAgIHN0YXR1cygiT3BlbiBzdWNjZXNzZnVsIiwgImdyZWVuIik7ICAgICAgICAKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgc3RhdHVzKCJPcGVuIHdhcyBzdWNjZXNzZnVsLi4uYnV0IHNo
b3VsZG4ndCBoYXZlIGJlZW4iLCAicmVkIik7ICAgICAgICAKLSAgICB9OwotICAgIHJlcXVlc3Qu
b25lcnJvciA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAoZXhwZWN0U3VjY2VzcykKLSAgICAg
ICAgICAgIHN0YXR1cygiVW5leHBlY3RlZCBlcnJvcjogIiArIGV2ZW50Lm1lc3NhZ2UsICJyZWQi
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc3RhdHVzKCJFeHBlY3RlZCBlcnJvcjogIiAr
IGV2ZW50Lm1lc3NhZ2UsICJncmVlbiIpOwotICAgIH07Ci19Ci0KLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5kZXhlZGRiLXBl
cnNpc3RzLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbmRleGVkZGItcGVyc2lzdHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZjVlMDM2ZGQ1ZmUzNTJiM2IzOTdlYTI4YTNlMmM0NjU3NjlmZDhlCi0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5kZXhlZGRiLXBlcnNpc3Rz
Lmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPGh0bWw+Cis8Ym9keT4KKzxwPlRoaXMgaXMgYSB0ZXN0
IHRoYXQgb25seSBhcHBsaWVzIHRvIEluZGV4ZWREQi4gIDxzcGFuIGlkPWVuYWJsZWQ+T3VyIHRl
c3QgZm9yIHdoZXRoZXIgeW91IGhhdmUgaXQgZW5hYmxlZCBzZWVtcyB0byBoYXZlIGZhaWxlZC48
L3NwYW4+PC9wPgorCis8cD5QbGVhc2UgZm9sbG93IHRoZXNlIHN0ZXBzIGluIG9yZGVyOjwvcD4K
KworPHA+Rmlyc3QsIGNsaWNrIDxhIGhyZWY9ImphdmFzY3JpcHQ6IHNldERhdGEoKSI+aGVyZTwv
YT4gdG8gb3BlbiBhIGRhdGFiYXNlIGFuZCBzZXQgc29tZSBkYXRhIHdpdGhpbiBpdC48L3A+CisK
KzxwPk5leHQsIGNsb3NlIHRoZSBicm93c2VyIGFuZCB0aGVuIHJlLW9wZW4gdGhpcyBwYWdlLjwv
cD4KKworPHA+TGFzdGx5LCBjbGljayA8YSBocmVmPSJqYXZhc2NyaXB0OiB2ZXJpZnlEYXRhKCki
PmhlcmU8L2E+IHRvIHZlcmlmeSB0aGUgZGF0YSB3YXMgdGhlcmU8L3A+CisKKzxwPlN0YXR1czog
PHNwYW4gaWQ9c3RhdHVzPi4uLjwvc3Bhbj48L3A+CisKKzxzY3JpcHQ+CisKK2lmICghKCd3ZWJr
aXRJbmRleGVkREInIGluIHdpbmRvdykpCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVu
YWJsZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQgY29sb3I9cmVkPllvdXIgYnVpbGQgZG9lcyBOT1Qg
c2VlbSB0byBoYXZlIGl0IGVuYWJsZWQuICBTbyBhbGwgY29kZSBvbiB0aGlzIHBhZ2UgaXMgZGlz
YWJsZWQuPC9mb250PiI7CitlbHNlCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVuYWJs
ZWQiKS5pbm5lckhUTUwgPSAiPGZvbnQgY29sb3I9Z3JlZW4+WW91ciBidWlsZCBzZWVtcyB0byBo
YXZlIGl0IGVuYWJsZWQuPC9mb250PiI7CisKK2Z1bmN0aW9uIHN0YXR1cyhzdHIsIGNvbG9yKQor
eworICAgIGlmIChjb2xvcikKKyAgICAgICAgc3RyID0gIjxmb250IGNvbG9yPSciICsgY29sb3Ig
KyAiJz4iICsgc3RyICsgIjwvZm9udD4iOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dGF0dXMiKS5pbm5lckhUTUwgPSBzdHI7Cit9CisKK2Z1bmN0aW9uIHNldERhdGEoKQoreworICAg
IHN0YXR1cygiU29tZXRoaW5nIG11c3QgaGF2ZSBnb25lIHdyb25nIChvciB3ZSdyZSBzdGlsbCB3
b3JraW5nKS4uLiIsICJyZWQiKTsKKworICAgIHdlYmtpdEluZGV4ZWREQi5vcGVuKCJzb21lREIi
LCAic29tZSBkZXNjcmlwdGlvbiIpLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICBl
dmVudC5yZXN1bHQuc2V0VmVyc2lvbigic29tZSB2ZXJzaW9uIikub25zdWNjZXNzID0gZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICB2YXIgZGIgPSBldmVudC5zb3VyY2U7CisgICAgICAgICAgICB3
aGlsZSAoZGIub2JqZWN0U3RvcmVzLmxlbmd0aCkKKyAgICAgICAgICAgICAgICBkYi5yZW1vdmVP
YmplY3RTdG9yZShkYi5vYmplY3RTdG9yZXNbMF0pOworICAgICAgICAgICAgZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoInRlc3QiKS5wdXQoInZhbHVlIiwgImtleSIpLm9uc3VjY2VzcyA9IGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgIHN0YXR1cygiVmFsdWUgc2V0IiwgImdyZWVuIik7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0aW9uIHZlcmlmeURhdGEoKQor
eworICAgIHN0YXR1cygiU29tZXRoaW5nIG11c3QgaGF2ZSBnb25lIHdyb25nIChvciB3ZSdyZSBz
dGlsbCB3b3JraW5nKS4uLiIsICJyZWQiKTsKKworICAgIHdlYmtpdEluZGV4ZWREQi5vcGVuKCJz
b21lREIiLCAic29tZSBkZXNjcmlwdGlvbiIpLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAg
ICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGV2ZW50LnJlc3VsdC50cmFuc2Fj
dGlvbihbXSkub2JqZWN0U3RvcmUoInRlc3QiKS5nZXQoImtleSIpOworICAgICAgICAgICAgcmVz
dWx0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGlmIChldmVudC5y
ZXN1bHQgPT0gInZhbHVlIikKKyAgICAgICAgICAgICAgICAgICAgc3RhdHVzKCJWYWx1ZSB2ZXJp
ZmllZCIsICJncmVlbiIpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgc3RhdHVzKCJWYWx1ZSBpbmNvcnJlY3QhIiwgInJlZCIpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgcmVzdWx0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBz
dGF0dXMoIkFuIGVycm9yIG9jY3VycmVkOiAiICsgZXZlbnQuY29kZSArICIgIiArIGV2ZW50Lm1l
c3NhZ2UsICJyZWQiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAg
ICAgICAgICAgc3RhdHVzKCJBbiBleGNlcHRpb24gb2NjdXJyZWQ6ICIgKyBlLCAicmVkIik7Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IGRjNjFlMjJlZDhlZGY3
MjUxY2QxMTEyYjBlNTcyNGUzYTA2M2EzMmIuLjAyMGRkYjllMGI4NDYxOTA0NGQ1NWRiNDk2Njc2
N2UwODc2OGYzYjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tl
bmRJbXBsLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5j
cHAKQEAgLTMyLDYwICszMiw2NSBAQAogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNs
dWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklEQk9iamVjdFN0b3JlQmFj
a2VuZEltcGwuaCIKKyNpbmNsdWRlICJJREJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1ZGUgIklE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9u
Q29vcmRpbmF0b3IuaCIKLSNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1ZGUgIlNR
TGl0ZVN0YXRlbWVudC5oIgogI2luY2x1ZGUgIlNRTGl0ZVRyYW5zYWN0aW9uLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGJvb2wgZXh0cmFjdE1ldGFEYXRhKFNRTGl0ZURhdGFi
YXNlKiBzcWxpdGVEYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBleHBlY3RlZE5hbWUsIFN0cmluZyYg
Zm91bmRWZXJzaW9uKQorc3RhdGljIGJvb2wgZXh0cmFjdE1ldGFEYXRhKFNRTGl0ZURhdGFiYXNl
JiBzcWxpdGVEYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBTdHJpbmcmIGZvdW5kVmVyc2lv
biwgaW50NjQmIGZvdW5kSWQpCiB7Ci0gICAgU1FMaXRlU3RhdGVtZW50IG1ldGFEYXRhUXVlcnko
KnNxbGl0ZURhdGFiYXNlLCAiU0VMRUNUIG5hbWUsIHZlcnNpb24gRlJPTSBNZXRhRGF0YSIpOwot
ICAgIGlmIChtZXRhRGF0YVF1ZXJ5LnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPayB8fCBtZXRhRGF0
YVF1ZXJ5LnN0ZXAoKSAhPSBTUUxSZXN1bHRSb3cpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGlmIChtZXRhRGF0YVF1ZXJ5LmdldENvbHVtblRleHQoMCkgIT0gZXhwZWN0ZWROYW1lKSB7
Ci0gICAgICAgIExPR19FUlJPUigiTmFtZSBpbiBNZXRhRGF0YSAoJXMpIGRvZXNuJ3QgbWF0Y2gg
ZXhwZWN0ZWQgKCVzKSBmb3IgSW5kZXhlZERCIiwgbWV0YURhdGFRdWVyeS5nZXRDb2x1bW5UZXh0
KDApLnV0ZjgoKS5kYXRhKCksIGV4cGVjdGVkTmFtZS51dGY4KCkuZGF0YSgpKTsKKyAgICBTUUxp
dGVTdGF0ZW1lbnQgZGF0YWJhc2VRdWVyeShzcWxpdGVEYXRhYmFzZSwgIlNFTEVDVCBpZCwgdmVy
c2lvbiBGUk9NIERhdGFiYXNlcyBXSEVSRSBuYW1lID0gPyIpOworICAgIGlmIChkYXRhYmFzZVF1
ZXJ5LnByZXBhcmUoKSAhPSBTUUxSZXN1bHRPaykgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICBmb3VuZFZlcnNpb24gPSBt
ZXRhRGF0YVF1ZXJ5LmdldENvbHVtblRleHQoMSk7CisgICAgZGF0YWJhc2VRdWVyeS5iaW5kVGV4
dCgxLCBuYW1lKTsKKyAgICBpZiAoZGF0YWJhc2VRdWVyeS5zdGVwKCkgIT0gU1FMUmVzdWx0Um93
KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobWV0YURhdGFRdWVyeS5zdGVwKCkg
PT0gU1FMUmVzdWx0Um93KSB7Ci0gICAgICAgIExPR19FUlJPUigiTW9yZSB0aGFuIG9uZSByb3cg
Zm91bmQgaW4gTWV0YURhdGEgdGFibGUiKTsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgfQorICAgIGZvdW5kSWQgPSBkYXRhYmFzZVF1ZXJ5LmdldENvbHVtbkludDY0KDApOwor
ICAgIGZvdW5kVmVyc2lvbiA9IGRhdGFiYXNlUXVlcnkuZ2V0Q29sdW1uVGV4dCgxKTsKIAorICAg
IGlmIChkYXRhYmFzZVF1ZXJ5LnN0ZXAoKSA9PSBTUUxSZXN1bHRSb3cpCisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgYm9vbCBzZXRN
ZXRhRGF0YShTUUxpdGVEYXRhYmFzZSogc3FsaXRlRGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uKQorc3Rh
dGljIGJvb2wgc2V0TWV0YURhdGEoU1FMaXRlRGF0YWJhc2UmIHNxbGl0ZURhdGFiYXNlLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYg
dmVyc2lvbiwgaW50NjRfdCYgcm93SWQpCiB7Ci0gICAgQVNTRVJUKCFuYW1lLmlzTnVsbCgpICYm
ICFkZXNjcmlwdGlvbi5pc051bGwoKSAmJiAhdmVyc2lvbi5pc051bGwoKSk7Ci0KLSAgICBzcWxp
dGVEYXRhYmFzZS0+ZXhlY3V0ZUNvbW1hbmQoIkRFTEVURSBGUk9NIE1ldGFEYXRhIik7Ci0KLSAg
ICBTUUxpdGVTdGF0ZW1lbnQgaW5zZXJ0KCpzcWxpdGVEYXRhYmFzZSwgIklOU0VSVCBJTlRPIE1l
dGFEYXRhIChuYW1lLCBkZXNjcmlwdGlvbiwgdmVyc2lvbikgVkFMVUVTICg/LCA/LCA/KSIpOwot
ICAgIGlmIChpbnNlcnQucHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rKSB7Ci0gICAgICAgIExPR19F
UlJPUigiRmFpbGVkIHRvIHByZXBhcmUgTWV0YURhdGEgaW5zZXJ0IHN0YXRlbWVudCBmb3IgSW5k
ZXhlZERCIik7CisgICAgQVNTRVJUKCFuYW1lLmlzTnVsbCgpKTsKKyAgICBBU1NFUlQoIWRlc2Ny
aXB0aW9uLmlzTnVsbCgpKTsKKyAgICBBU1NFUlQoIXZlcnNpb24uaXNOdWxsKCkpOworCisgICAg
U3RyaW5nIHNxbCA9IHJvd0lkICE9IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OkludmFsaWRJZCA/
ICJVUERBVEUgRGF0YWJhc2VzIFNFVCBuYW1lID0gPywgZGVzY3JpcHRpb24gPSA/LCB2ZXJzaW9u
ID0gPyBXSEVSRSBpZCA9ID8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6ICJJTlNFUlQgSU5UTyBEYXRhYmFzZXMgKG5hbWUsIGRl
c2NyaXB0aW9uLCB2ZXJzaW9uKSBWQUxVRVMgKD8sID8sID8pIjsKKyAgICBTUUxpdGVTdGF0ZW1l
bnQgcXVlcnkoc3FsaXRlRGF0YWJhc2UsIHNxbCk7CisgICAgaWYgKHF1ZXJ5LnByZXBhcmUoKSAh
PSBTUUxSZXN1bHRPaykgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGluc2VydC5iaW5kVGV4dCgxLCBuYW1lKTsKLSAg
ICBpbnNlcnQuYmluZFRleHQoMiwgZGVzY3JpcHRpb24pOwotICAgIGluc2VydC5iaW5kVGV4dCgz
LCB2ZXJzaW9uKTsKKyAgICBxdWVyeS5iaW5kVGV4dCgxLCBuYW1lKTsKKyAgICBxdWVyeS5iaW5k
VGV4dCgyLCBkZXNjcmlwdGlvbik7CisgICAgcXVlcnkuYmluZFRleHQoMywgdmVyc2lvbik7Cisg
ICAgaWYgKHJvd0lkICE9IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OkludmFsaWRJZCkKKyAgICAg
ICAgcXVlcnkuYmluZEludDY0KDQsIHJvd0lkKTsKIAotICAgIGlmIChpbnNlcnQuc3RlcCgpICE9
IFNRTFJlc3VsdERvbmUpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gaW5zZXJ0IHJv
dyBpbnRvIE1ldGFEYXRhIGZvciBJbmRleGVkREIiKTsKKyAgICBpZiAocXVlcnkuc3RlcCgpICE9
IFNRTFJlc3VsdERvbmUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9CisKKyAgICBpZiAo
cm93SWQgPT0gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6SW52YWxpZElkKQorICAgICAgICByb3dJ
ZCA9IHNxbGl0ZURhdGFiYXNlLmxhc3RJbnNlcnRSb3dJRCgpOwogCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLUlEQkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwoY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBQYXNzT3duUHRyPFNR
TGl0ZURhdGFiYXNlPiBzcWxpdGVEYXRhYmFzZSwgSURCVHJhbnNhY3Rpb25Db29yZGluYXRvciog
Y29vcmRpbmF0b3IpCitJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgSURCU1FM
aXRlRGF0YWJhc2UqIHNxbGl0ZURhdGFiYXNlLCBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKiBj
b29yZGluYXRvcikKICAgICA6IG1fc3FsaXRlRGF0YWJhc2Uoc3FsaXRlRGF0YWJhc2UpCisgICAg
LCBtX2lkKEludmFsaWRJZCkKICAgICAsIG1fbmFtZShuYW1lKQogICAgICwgbV9kZXNjcmlwdGlv
bihkZXNjcmlwdGlvbikKICAgICAsIG1fdmVyc2lvbigiIikKQEAgLTk0LDkgKzk5LDEwIEBAIElE
QkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwoY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmCiAgICAgQVNTRVJUKCFtX25hbWUuaXNOdWxsKCkpOwogICAg
IEFTU0VSVCghbV9kZXNjcmlwdGlvbi5pc051bGwoKSk7CiAKLSAgICBleHRyYWN0TWV0YURhdGEo
bV9zcWxpdGVEYXRhYmFzZS5nZXQoKSwgbV9uYW1lLCBtX3ZlcnNpb24pOwotICAgIHNldE1ldGFE
YXRhKG1fc3FsaXRlRGF0YWJhc2UuZ2V0KCksIG1fbmFtZSwgbV9kZXNjcmlwdGlvbiwgbV92ZXJz
aW9uKTsKLQorICAgIGJvb2wgc3VjY2VzcyA9IGV4dHJhY3RNZXRhRGF0YShtX3NxbGl0ZURhdGFi
YXNlLT5kYigpLCBtX25hbWUsIG1fdmVyc2lvbiwgbV9pZCk7CisgICAgQVNTRVJUX1VOVVNFRChz
dWNjZXNzLCBzdWNjZXNzID09IChtX2lkICE9IEludmFsaWRJZCkpOworICAgIGlmICghc2V0TWV0
YURhdGEobV9zcWxpdGVEYXRhYmFzZS0+ZGIoKSwgbV9uYW1lLCBtX2Rlc2NyaXB0aW9uLCBtX3Zl
cnNpb24sIG1faWQpKQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gRklYTUU6IE5l
ZWQgYmV0dGVyIGVycm9yIGhhbmRsaW5nLgogICAgIGxvYWRPYmplY3RTdG9yZXMoKTsKIH0KIApA
QCAtMTEwLDcgKzExNiwxMiBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldERlc2Ny
aXB0aW9uKGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjsKLSAgICBzZXRNZXRhRGF0YShtX3NxbGl0ZURh
dGFiYXNlLmdldCgpLCBtX25hbWUsIG1fZGVzY3JpcHRpb24sIG1fdmVyc2lvbik7CisgICAgc2V0
TWV0YURhdGEobV9zcWxpdGVEYXRhYmFzZS0+ZGIoKSwgbV9uYW1lLCBtX2Rlc2NyaXB0aW9uLCBt
X3ZlcnNpb24sIG1faWQpOworfQorCitTUUxpdGVEYXRhYmFzZSYgSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6c3FsaXRlRGF0YWJhc2UoKSBjb25zdAoreworICAgIHJldHVybiBtX3NxbGl0ZURhdGFi
YXNlLT5kYigpOwogfQogCiBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IElEQkRhdGFiYXNlQmFj
a2VuZEltcGw6Om9iamVjdFN0b3JlcygpIGNvbnN0CkBAIC0xNDQsNyArMTU1LDcgQEAgUGFzc1Jl
ZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+ICBJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpjcmVhdGVPYmplY3QKIAogdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpjcmVhdGVP
YmplY3RTdG9yZUludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElE
QkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNlLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3Jl
QmFja2VuZEltcGw+IG9iamVjdFN0b3JlLCAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKQogewotICAgIFNRTGl0ZVN0YXRlbWVudCBpbnNlcnQo
ZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCksICJJTlNFUlQgSU5UTyBPYmplY3RTdG9yZXMgKG5h
bWUsIGtleVBhdGgsIGRvQXV0b0luY3JlbWVudCkgVkFMVUVTICg/LCA/LCA/KSIpOworICAgIFNR
TGl0ZVN0YXRlbWVudCBpbnNlcnQoZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCksICJJTlNFUlQg
SU5UTyBPYmplY3RTdG9yZXMgKG5hbWUsIGtleVBhdGgsIGRvQXV0b0luY3JlbWVudCwgZGF0YWJh
c2VJZCkgVkFMVUVTICg/LCA/LCA/LCA/KSIpOwogICAgIGlmIChpbnNlcnQucHJlcGFyZSgpICE9
IFNRTFJlc3VsdE9rKSB7CiAgICAgICAgIHRyYW5zYWN0aW9uLT5hYm9ydCgpOwogICAgICAgICBy
ZXR1cm47CkBAIC0xNTIsNiArMTYzLDcgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpj
cmVhdGVPYmplY3RTdG9yZUludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLAogICAgIGlu
c2VydC5iaW5kVGV4dCgxLCBvYmplY3RTdG9yZS0+bmFtZSgpKTsKICAgICBpbnNlcnQuYmluZFRl
eHQoMiwgb2JqZWN0U3RvcmUtPmtleVBhdGgoKSk7CiAgICAgaW5zZXJ0LmJpbmRJbnQoMywgc3Rh
dGljX2Nhc3Q8aW50PihvYmplY3RTdG9yZS0+YXV0b0luY3JlbWVudCgpKSk7CisgICAgaW5zZXJ0
LmJpbmRJbnQ2NCg0LCBkYXRhYmFzZS0+aWQoKSk7CiAgICAgaWYgKGluc2VydC5zdGVwKCkgIT0g
U1FMUmVzdWx0RG9uZSkgewogICAgICAgICB0cmFuc2FjdGlvbi0+YWJvcnQoKTsKICAgICAgICAg
cmV0dXJuOwpAQCAtMjE3LDggKzIyOSw5IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
c2V0VmVyc2lvbihjb25zdCBTdHJpbmcmIHZlcnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsCiAKIHZv
aWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNl
LCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFj
a3MsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlv
bikKIHsKKyAgICBpbnQ2NF90IGRhdGFiYXNlSWQgPSBkYXRhYmFzZS0+aWQoKTsKICAgICBkYXRh
YmFzZS0+bV92ZXJzaW9uID0gdmVyc2lvbjsKLSAgICBpZiAoIXNldE1ldGFEYXRhKGRhdGFiYXNl
LT5tX3NxbGl0ZURhdGFiYXNlLmdldCgpLCBkYXRhYmFzZS0+bV9uYW1lLCBkYXRhYmFzZS0+bV9k
ZXNjcmlwdGlvbiwgZGF0YWJhc2UtPm1fdmVyc2lvbikpIHsKKyAgICBpZiAoIXNldE1ldGFEYXRh
KGRhdGFiYXNlLT5tX3NxbGl0ZURhdGFiYXNlLT5kYigpLCBkYXRhYmFzZS0+bV9uYW1lLCBkYXRh
YmFzZS0+bV9kZXNjcmlwdGlvbiwgZGF0YWJhc2UtPm1fdmVyc2lvbiwgZGF0YWJhc2VJZCkpIHsK
ICAgICAgICAgLy8gRklYTUU6IFRoZSBJbmRleGVkIERhdGFiYXNlIHNwZWNpZmljYXRpb24gZG9l
cyBub3QgaGF2ZSBhbiBlcnJvciBjb2RlIGRlZGljYXRlZCB0byBJL08gZXJyb3JzLgogICAgICAg
ICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkVycm9yIHdyaXRpbmcgZGF0YSB0byBzdGFibGUgc3Rv
cmFnZS4iKSk7CiAgICAgICAgIHRyYW5zYWN0aW9uLT5hYm9ydCgpOwpAQCAtMjQwLDEwICsyNTMs
MTIgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpjbG9zZSgpCiAKIHZvaWQgSURCRGF0
YWJhc2VCYWNrZW5kSW1wbDo6bG9hZE9iamVjdFN0b3JlcygpCiB7Ci0gICAgU1FMaXRlU3RhdGVt
ZW50IG9iamVjdFN0b3Jlc1F1ZXJ5KHNxbGl0ZURhdGFiYXNlKCksICJTRUxFQ1QgaWQsIG5hbWUs
IGtleVBhdGgsIGRvQXV0b0luY3JlbWVudCBGUk9NIE9iamVjdFN0b3JlcyIpOworICAgIFNRTGl0
ZVN0YXRlbWVudCBvYmplY3RTdG9yZXNRdWVyeShzcWxpdGVEYXRhYmFzZSgpLCAiU0VMRUNUIGlk
LCBuYW1lLCBrZXlQYXRoLCBkb0F1dG9JbmNyZW1lbnQgRlJPTSBPYmplY3RTdG9yZXMgV0hFUkUg
ZGF0YWJhc2VJZCA9ID8iKTsKICAgICBib29sIG9rID0gb2JqZWN0U3RvcmVzUXVlcnkucHJlcGFy
ZSgpID09IFNRTFJlc3VsdE9rOwogICAgIEFTU0VSVF9VTlVTRUQob2ssIG9rKTsgLy8gRklYTUU6
IEJldHRlciBlcnJvciBoYW5kbGluZz8KIAorICAgIG9iamVjdFN0b3Jlc1F1ZXJ5LmJpbmRJbnQ2
NCgxLCBtX2lkKTsKKwogICAgIHdoaWxlIChvYmplY3RTdG9yZXNRdWVyeS5zdGVwKCkgPT0gU1FM
UmVzdWx0Um93KSB7CiAgICAgICAgIGludDY0X3QgaWQgPSBvYmplY3RTdG9yZXNRdWVyeS5nZXRD
b2x1bW5JbnQ2NCgwKTsKICAgICAgICAgU3RyaW5nIG5hbWUgPSBvYmplY3RTdG9yZXNRdWVyeS5n
ZXRDb2x1bW5UZXh0KDEpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNl
QmFja2VuZEltcGwuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgK
aW5kZXggYmI2NDI5Y2Q0MzNhOTU2NDg0MzZlOWVkNWU1ZWQ4ODVkOTczZWQxNy4uNTNlMWE1ZmMy
Y2Y4MDkwM2JkMDIzZjZkMGU4MTk2MmI5NzAxOTc4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9y
YWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0
YWJhc2VCYWNrZW5kSW1wbC5oCkBAIC0zNiwxOSArMzYsMjMgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDsKK2NsYXNzIElEQlNRTGl0ZURh
dGFiYXNlOwogY2xhc3MgSURCVHJhbnNhY3Rpb25Db29yZGluYXRvcjsKIGNsYXNzIFNRTGl0ZURh
dGFiYXNlOwogCiBjbGFzcyBJREJEYXRhYmFzZUJhY2tlbmRJbXBsIDogcHVibGljIElEQkRhdGFi
YXNlQmFja2VuZEludGVyZmFjZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SURC
RGF0YWJhc2VCYWNrZW5kSW1wbD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgUGFzc093blB0cjxTUUxpdGVEYXRhYmFzZT4gZGF0YWJhc2UsIElE
QlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IqIGNvb3JkaW5hdG9yKQorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIElEQlNRTGl0ZURhdGFiYXNlKiBkYXRhYmFzZSwgSURC
VHJhbnNhY3Rpb25Db29yZGluYXRvciogY29vcmRpbmF0b3IpCiAgICAgewogICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IElEQkRhdGFiYXNlQmFja2VuZEltcGwobmFtZSwgZGVzY3JpcHRpb24s
IGRhdGFiYXNlLCBjb29yZGluYXRvcikpOwogICAgIH0KICAgICB2aXJ0dWFsIH5JREJEYXRhYmFz
ZUJhY2tlbmRJbXBsKCk7CiAKICAgICB2b2lkIHNldERlc2NyaXB0aW9uKGNvbnN0IFN0cmluZyYg
ZGVzY3JpcHRpb24pOwotICAgIFNRTGl0ZURhdGFiYXNlJiBzcWxpdGVEYXRhYmFzZSgpIGNvbnN0
IHsgcmV0dXJuICptX3NxbGl0ZURhdGFiYXNlLmdldCgpOyB9CisgICAgU1FMaXRlRGF0YWJhc2Um
IHNxbGl0ZURhdGFiYXNlKCkgY29uc3Q7CisKKyAgICBzdGF0aWMgY29uc3QgaW50NjRfdCBJbnZh
bGlkSWQgPSAwOworICAgIGludDY0X3QgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAKICAg
ICB2aXJ0dWFsIFN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgdmly
dHVhbCBTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdCB7IHJldHVybiBtX2Rlc2NyaXB0aW9uOyB9
CkBAIC02NSw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9y
KiB0cmFuc2FjdGlvbkNvb3JkaW5hdG9yKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2FjdGlvbkNv
b3JkaW5hdG9yLmdldCgpOyB9CiAKIHByaXZhdGU6Ci0gICAgSURCRGF0YWJhc2VCYWNrZW5kSW1w
bChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFBhc3NPd25Q
dHI8U1FMaXRlRGF0YWJhc2U+IGRhdGFiYXNlLCBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKik7
CisgICAgSURCRGF0YWJhc2VCYWNrZW5kSW1wbChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIElEQlNRTGl0ZURhdGFiYXNlKiBkYXRhYmFzZSwgSURCVHJhbnNh
Y3Rpb25Db29yZGluYXRvciopOwogCiAgICAgdm9pZCBsb2FkT2JqZWN0U3RvcmVzKCk7CiAKQEAg
LTc4LDcgKzgyLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBhZGRPYmplY3RTdG9yZVRv
TWFwKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2Vu
ZEltcGw+LCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+KTsKICAgICBzdGF0
aWMgdm9pZCByZXNldFZlcnNpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8
SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIGNvbnN0IFN0cmluZyYgdmVyc2lvbik7CiAKLSAgICBP
d25QdHI8U1FMaXRlRGF0YWJhc2U+IG1fc3FsaXRlRGF0YWJhc2U7CisgICAgUmVmUHRyPElEQlNR
TGl0ZURhdGFiYXNlPiBtX3NxbGl0ZURhdGFiYXNlOworICAgIGludDY0IG1faWQ7CiAgICAgU3Ry
aW5nIG1fbmFtZTsKICAgICBTdHJpbmcgbV9kZXNjcmlwdGlvbjsKICAgICBTdHJpbmcgbV92ZXJz
aW9uOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5j
cHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcAppbmRleCBjMTgy
OTRkNzdhNjk5MzgxNDc4N2VjNjljYWQ0ZjUwM2QwM2NkMTdhLi4zMmQ2YzdmNmExNzY2NTA4Njdj
Y2IxYmQxZGUxNzExNTQzNGZmZGY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFj
dG9yeUJhY2tlbmRJbXBsLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tl
bmRJbXBsLmNwcApAQCAtMzMsOCArMzMsOCBAQAogI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNp
bmNsdWRlICJJREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2VF
eGNlcHRpb24uaCIKKyNpbmNsdWRlICJJREJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1ZGUgIklE
QlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCIKLSNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5oIgog
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgog
I2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgpAQCAtNTIsNyArNTIsMTMgQEAgSURCRmFjdG9y
eUJhY2tlbmRJbXBsOjp+SURCRmFjdG9yeUJhY2tlbmRJbXBsKCkKIHsKIH0KIAotc3RhdGljIFBh
c3NPd25QdHI8U1FMaXRlRGF0YWJhc2U+IG9wZW5TUUxpdGVEYXRhYmFzZShTZWN1cml0eU9yaWdp
biogc2VjdXJpdHlPcmlnaW4sIFN0cmluZyBuYW1lLCBjb25zdCBTdHJpbmcmIHBhdGhCYXNlLCBp
bnQ2NF90IG1heGltdW1TaXplKQordm9pZCBJREJGYWN0b3J5QmFja2VuZEltcGw6OnJlbW92ZVNR
TGl0ZURhdGFiYXNlKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgpCit7CisgICAgQVNTRVJUKG1fc3Fs
aXRlRGF0YWJhc2VNYXAuY29udGFpbnMoZmlsZVBhdGgpKTsKKyAgICBtX3NxbGl0ZURhdGFiYXNl
TWFwLnJlbW92ZShmaWxlUGF0aCk7Cit9CisKK3N0YXRpYyBQYXNzUmVmUHRyPElEQlNRTGl0ZURh
dGFiYXNlPiBvcGVuU1FMaXRlRGF0YWJhc2UoU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2lu
LCBjb25zdCBTdHJpbmcmIHBhdGhCYXNlLCBpbnQ2NF90IG1heGltdW1TaXplLCBjb25zdCBTdHJp
bmcmIGZpbGVJZGVudGlmaWVyLCBJREJGYWN0b3J5QmFja2VuZEltcGwqIGZhY3RvcnkpCiB7CiAg
ICAgU3RyaW5nIHBhdGggPSAiOm1lbW9yeToiOwogICAgIGlmICghcGF0aEJhc2UuaXNFbXB0eSgp
KSB7CkBAIC02Miw1NCArNjgsNDYgQEAgc3RhdGljIFBhc3NPd25QdHI8U1FMaXRlRGF0YWJhc2U+
IG9wZW5TUUxpdGVEYXRhYmFzZShTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmkKICAgICAgICAg
ICAgIHJldHVybiAwOwogICAgICAgICB9CiAKLSAgICAgICAgcGF0aCA9IHBhdGhCeUFwcGVuZGlu
Z0NvbXBvbmVudChwYXRoQmFzZSwgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkYXRhYmFzZUZpbGVO
YW1lKG5hbWUsIHNlY3VyaXR5T3JpZ2luKSk7CisgICAgICAgIHBhdGggPSBwYXRoQnlBcHBlbmRp
bmdDb21wb25lbnQocGF0aEJhc2UsIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6ZGF0YWJhc2VGaWxl
TmFtZShzZWN1cml0eU9yaWdpbikpOwogICAgIH0KIAotICAgIE93blB0cjxTUUxpdGVEYXRhYmFz
ZT4gc3FsaXRlRGF0YWJhc2UgPSBhZG9wdFB0cihuZXcgU1FMaXRlRGF0YWJhc2UoKSk7Ci0gICAg
aWYgKCFzcWxpdGVEYXRhYmFzZS0+b3BlbihwYXRoKSkgeworICAgIFJlZlB0cjxJREJTUUxpdGVE
YXRhYmFzZT4gc3FsaXRlRGF0YWJhc2UgPSBJREJTUUxpdGVEYXRhYmFzZTo6Y3JlYXRlKGZpbGVJ
ZGVudGlmaWVyLCBmYWN0b3J5KTsKKyAgICBpZiAoIXNxbGl0ZURhdGFiYXNlLT5kYigpLm9wZW4o
cGF0aCkpIHsKICAgICAgICAgLy8gRklYTUU6IElzIHRoZXJlIGFueSBvdGhlciB0aGluZyB3ZSBj
b3VsZCBwb3NzaWJseSBkbyB0byByZWNvdmVyIGF0IHRoaXMgcG9pbnQ/IElmIHNvLCBkbyBpdCBy
YXRoZXIgdGhhbiBqdXN0IGVycm9yaW5nIG91dC4KICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQg
dG8gb3BlbiBkYXRhYmFzZSBmaWxlICVzIGZvciBJbmRleGVkREIiLCBwYXRoLnV0ZjgoKS5kYXRh
KCkpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBzcWxpdGVEYXRhYmFzZS0+c2V0
TWF4aW11bVNpemUobWF4aW11bVNpemUpOworICAgIC8vIEZJWE1FOiBFcnJvciBjaGVja2luZz8K
KyAgICBzcWxpdGVEYXRhYmFzZS0+ZGIoKS5zZXRNYXhpbXVtU2l6ZShtYXhpbXVtU2l6ZSk7Cisg
ICAgc3FsaXRlRGF0YWJhc2UtPmRiKCkudHVybk9uSW5jcmVtZW50YWxBdXRvVmFjdXVtKCk7CisK
ICAgICByZXR1cm4gc3FsaXRlRGF0YWJhc2UucmVsZWFzZSgpOwogfQogCi1zdGF0aWMgYm9vbCBj
cmVhdGVUYWJsZXMoU1FMaXRlRGF0YWJhc2UqIHNxbGl0ZURhdGFiYXNlKQorc3RhdGljIGJvb2wg
Y3JlYXRlVGFibGVzKFNRTGl0ZURhdGFiYXNlJiBzcWxpdGVEYXRhYmFzZSkKIHsKLSAgICAvLyBG
SVhNRTogUmVtb3ZlIGFsbCB0aGUgZHJvcCB0YWJsZSBjb21tYW5kcyBvbmNlIHRoZSBvbiBkaXNr
IHN0cnVjdHVyZSBzdGFiaWxpemVzLgogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb21tYW5kc1td
ID0gewotICAgICAgICAiRFJPUCBUQUJMRSBJRiBFWElTVFMgTWV0YURhdGEiLAotICAgICAgICAi
Q1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgTWV0YURhdGEgKGlkIElOVEVHRVIgUFJJTUFSWSBL
RVksIG5hbWUgVEVYVCBOT1QgTlVMTCwgZGVzY3JpcHRpb24gVEVYVCBOT1QgTlVMTCwgdmVyc2lv
biBURVhUIE5PVCBOVUxMKSIsCisgICAgICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBE
YXRhYmFzZXMgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG5hbWUgVEVYVCBOT1QgTlVMTCwgZGVz
Y3JpcHRpb24gVEVYVCBOT1QgTlVMTCwgdmVyc2lvbiBURVhUIE5PVCBOVUxMKSIsCisgICAgICAg
ICJDUkVBVEUgVU5JUVVFIElOREVYIElGIE5PVCBFWElTVFMgRGF0YWJhc2VzX25hbWUgT04gRGF0
YWJhc2VzKG5hbWUpIiwKIAotICAgICAgICAiRFJPUCBUQUJMRSBJRiBFWElTVFMgT2JqZWN0U3Rv
cmVzIiwKLSAgICAgICAgIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIE9iamVjdFN0b3JlcyAo
aWQgSU5URUdFUiBQUklNQVJZIEtFWSwgbmFtZSBURVhUIE5PVCBOVUxMIFVOSVFVRSwga2V5UGF0
aCBURVhULCBkb0F1dG9JbmNyZW1lbnQgSU5URUdFUiBOT1QgTlVMTCkiLAotICAgICAgICAiRFJP
UCBJTkRFWCBJRiBFWElTVFMgT2JqZWN0U3RvcmVzX25hbWUiLAotICAgICAgICAiQ1JFQVRFIFVO
SVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIE9iamVjdFN0b3Jlc19uYW1lIE9OIE9iamVjdFN0b3Jl
cyhuYW1lKSIsCisgICAgICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBPYmplY3RTdG9y
ZXMgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG5hbWUgVEVYVCBOT1QgTlVMTCwga2V5UGF0aCBU
RVhULCBkb0F1dG9JbmNyZW1lbnQgSU5URUdFUiBOT1QgTlVMTCwgZGF0YWJhc2VJZCBJTlRFR0VS
IE5PVCBOVUxMIFJFRkVSRU5DRVMgRGF0YWJhc2VzKGlkKSkiLAorICAgICAgICAiQ1JFQVRFIFVO
SVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIE9iamVjdFN0b3Jlc19jb21wb3NpdCBPTiBPYmplY3RT
dG9yZXMoZGF0YWJhc2VJZCwgbmFtZSkiLAogCi0gICAgICAgICJEUk9QIFRBQkxFIElGIEVYSVNU
UyBJbmRleGVzIiwKLSAgICAgICAgIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEluZGV4ZXMg
KGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG9iamVjdFN0b3JlSWQgSU5URUdFUiBOT1QgTlVMTCBS
RUZFUkVOQ0VTIE9iamVjdFN0b3JlKGlkKSwgbmFtZSBURVhUIE5PVCBOVUxMIFVOSVFVRSwga2V5
UGF0aCBURVhULCBpc1VuaXF1ZSBJTlRFR0VSIE5PVCBOVUxMKSIsCi0gICAgICAgICJEUk9QIElO
REVYIElGIEVYSVNUUyBJbmRleGVzX2NvbXBvc2l0IiwKKyAgICAgICAgIkNSRUFURSBUQUJMRSBJ
RiBOT1QgRVhJU1RTIEluZGV4ZXMgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG9iamVjdFN0b3Jl
SWQgSU5URUdFUiBOT1QgTlVMTCBSRUZFUkVOQ0VTIE9iamVjdFN0b3JlKGlkKSwgbmFtZSBURVhU
IE5PVCBOVUxMLCBrZXlQYXRoIFRFWFQsIGlzVW5pcXVlIElOVEVHRVIgTk9UIE5VTEwpIiwKICAg
ICAgICAgIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBJbmRleGVzX2NvbXBvc2l0
IE9OIEluZGV4ZXMob2JqZWN0U3RvcmVJZCwgbmFtZSkiLAogCi0gICAgICAgICJEUk9QIFRBQkxF
IElGIEVYSVNUUyBPYmplY3RTdG9yZURhdGEiLAotICAgICAgICAiQ1JFQVRFIFRBQkxFIElGIE5P
VCBFWElTVFMgT2JqZWN0U3RvcmVEYXRhIChpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBvYmplY3RT
dG9yZUlkIElOVEVHRVIgTk9UIE5VTEwgUkVGRVJFTkNFUyBPYmplY3RTdG9yZShpZCksIGtleVN0
cmluZyBURVhUIFVOSVFVRSwga2V5RGF0ZSBJTlRFR0VSIFVOSVFVRSwga2V5TnVtYmVyIElOVEVH
RVIgVU5JUVVFLCB2YWx1ZSBURVhUIE5PVCBOVUxMKSIsCi0gICAgICAgICJEUk9QIElOREVYIElG
IEVYSVNUUyBPYmplY3RTdG9yZURhdGFfY29tcG9zaXQiLAorICAgICAgICAiQ1JFQVRFIFRBQkxF
IElGIE5PVCBFWElTVFMgT2JqZWN0U3RvcmVEYXRhIChpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBv
YmplY3RTdG9yZUlkIElOVEVHRVIgTk9UIE5VTEwgUkVGRVJFTkNFUyBPYmplY3RTdG9yZShpZCks
IGtleVN0cmluZyBURVhULCBrZXlEYXRlIElOVEVHRVIsIGtleU51bWJlciBJTlRFR0VSLCB2YWx1
ZSBURVhUIE5PVCBOVUxMKSIsCiAgICAgICAgICJDUkVBVEUgVU5JUVVFIElOREVYIElGIE5PVCBF
WElTVFMgT2JqZWN0U3RvcmVEYXRhX2NvbXBvc2l0IE9OIE9iamVjdFN0b3JlRGF0YShrZXlTdHJp
bmcsIGtleURhdGUsIGtleU51bWJlciwgb2JqZWN0U3RvcmVJZCkiLAogCi0gICAgICAgICJEUk9Q
IFRBQkxFIElGIEVYSVNUUyBJbmRleERhdGEiLAogICAgICAgICAiQ1JFQVRFIFRBQkxFIElGIE5P
VCBFWElTVFMgSW5kZXhEYXRhIChpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBpbmRleElkIElOVEVH
RVIgTk9UIE5VTEwgUkVGRVJFTkNFUyBJbmRleGVzKGlkKSwga2V5U3RyaW5nIFRFWFQsIGtleURh
dGUgSU5URUdFUiwga2V5TnVtYmVyIElOVEVHRVIsIG9iamVjdFN0b3JlRGF0YUlkIElOVEVHRVIg
Tk9UIE5VTEwgUkVGRVJFTkNFUyBPYmplY3RTdG9yZURhdGEoaWQpKSIsCi0gICAgICAgICJEUk9Q
IElOREVYIElGIEVYSVNUUyBJbmRleERhdGFfY29tcG9zaXQiLAogICAgICAgICAiQ1JFQVRFIElO
REVYIElGIE5PVCBFWElTVFMgSW5kZXhEYXRhX2NvbXBvc2l0IE9OIEluZGV4RGF0YShrZXlTdHJp
bmcsIGtleURhdGUsIGtleU51bWJlciwgaW5kZXhJZCkiLAotICAgICAgICAiRFJPUCBJTkRFWCBJ
RiBFWElTVFMgSW5kZXhEYXRhX29iamVjdFN0b3JlRGF0YUlkIiwKICAgICAgICAgIkNSRUFURSBJ
TkRFWCBJRiBOT1QgRVhJU1RTIEluZGV4RGF0YV9vYmplY3RTdG9yZURhdGFJZCBPTiBJbmRleERh
dGEob2JqZWN0U3RvcmVEYXRhSWQpIiwKLSAgICAgICAgIkRST1AgSU5ERVggSUYgRVhJU1RTIElu
ZGV4RGF0YV9pbmRleElkIiwKICAgICAgICAgIkNSRUFURSBJTkRFWCBJRiBOT1QgRVhJU1RTIElu
ZGV4RGF0YV9pbmRleElkIE9OIEluZGV4RGF0YShpbmRleElkKSIKICAgICAgICAgfTsKIAogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXlzaXplKGNvbW1hbmRzKTsgKytpKSB7Ci0gICAg
ICAgIGlmICghc3FsaXRlRGF0YWJhc2UtPmV4ZWN1dGVDb21tYW5kKGNvbW1hbmRzW2ldKSkgewor
ICAgICAgICBpZiAoIXNxbGl0ZURhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNvbW1hbmRzW2ldKSkg
ewogICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gcmVjb3ZlciBmcm9tIHRo
aXMgc2l0dWF0aW9uLiBNYXliZSBudWtlIHRoZSBkYXRhYmFzZSBhbmQgc3RhcnQgb3Zlcj8KICAg
ICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIHJ1biB0aGUgZm9sbG93aW5nIGNvbW1hbmQg
Zm9yIEluZGV4ZWREQjogJXMiLCBjb21tYW5kc1tpXSk7CiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC0xMjAsNyArMTE4LDkgQEAgc3RhdGljIGJvb2wgY3JlYXRlVGFibGVzKFNRTGl0ZURh
dGFiYXNlKiBzcWxpdGVEYXRhYmFzZSkKIAogdm9pZCBJREJGYWN0b3J5QmFja2VuZEltcGw6Om9w
ZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBQYXNzUmVm
UHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBz
ZWN1cml0eU9yaWdpbiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIGRhdGFEaXIsIGludDY0X3QgbWF4
aW11bVNpemUpCiB7Ci0gICAgSURCRGF0YWJhc2VCYWNrZW5kTWFwOjppdGVyYXRvciBpdCA9IG1f
ZGF0YWJhc2VCYWNrZW5kTWFwLmZpbmQobmFtZSk7CisgICAgU3RyaW5nIGZpbGVJZGVudGlmaWVy
ID0gc2VjdXJpdHlPcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpOworICAgIFN0cmluZyB1bmlx
dWVJZGVudGlmaWVyID0gZmlsZUlkZW50aWZpZXIgKyAiXyIgKyBuYW1lOworICAgIElEQkRhdGFi
YXNlQmFja2VuZE1hcDo6aXRlcmF0b3IgaXQgPSBtX2RhdGFiYXNlQmFja2VuZE1hcC5maW5kKHVu
aXF1ZUlkZW50aWZpZXIpOwogICAgIGlmIChpdCAhPSBtX2RhdGFiYXNlQmFja2VuZE1hcC5lbmQo
KSkgewogICAgICAgICBpZiAoIWRlc2NyaXB0aW9uLmlzTnVsbCgpKQogICAgICAgICAgICAgaXQt
PnNlY29uZC0+c2V0RGVzY3JpcHRpb24oZGVzY3JpcHRpb24pOyAvLyBUaGUgZGVzY3JpcHRpb24g
bWF5IGhhdmUgY2hhbmdlZC4KQEAgLTEzMCwyMiArMTMwLDI5IEBAIHZvaWQgSURCRmFjdG9yeUJh
Y2tlbmRJbXBsOjpvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlw
dGlvbiwKIAogICAgIC8vIEZJWE1FOiBFdmVyeXRoaW5nIGZyb20gbm93IG9uIHNob3VsZCBiZSBk
b25lIG9uIGFub3RoZXIgdGhyZWFkLgogCi0gICAgT3duUHRyPFNRTGl0ZURhdGFiYXNlPiBzcWxp
dGVEYXRhYmFzZSA9IG9wZW5TUUxpdGVEYXRhYmFzZShzZWN1cml0eU9yaWdpbi5nZXQoKSwgbmFt
ZSwgZGF0YURpciwgbWF4aW11bVNpemUpOwotICAgIGlmICghc3FsaXRlRGF0YWJhc2UgfHwgIWNy
ZWF0ZVRhYmxlcyhzcWxpdGVEYXRhYmFzZS5nZXQoKSkpIHsKLSAgICAgICAgY2FsbGJhY2tzLT5v
bkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5L
Tk9XTl9FUlIsICJJbnRlcm5hbCBlcnJvci4iKSk7Ci0gICAgICAgIHJldHVybjsKKyAgICBSZWZQ
dHI8SURCU1FMaXRlRGF0YWJhc2U+IHNxbGl0ZURhdGFiYXNlOworICAgIFNRTGl0ZURhdGFiYXNl
TWFwOjppdGVyYXRvciBpdDIgPSBtX3NxbGl0ZURhdGFiYXNlTWFwLmZpbmQoZmlsZUlkZW50aWZp
ZXIpOworICAgIGlmIChpdDIgIT0gbV9zcWxpdGVEYXRhYmFzZU1hcC5lbmQoKSkKKyAgICAgICAg
c3FsaXRlRGF0YWJhc2UgPSBpdDItPnNlY29uZDsKKyAgICBlbHNlIHsKKyAgICAgICAgc3FsaXRl
RGF0YWJhc2UgPSBvcGVuU1FMaXRlRGF0YWJhc2Uoc2VjdXJpdHlPcmlnaW4uZ2V0KCksIGRhdGFE
aXIsIG1heGltdW1TaXplLCBmaWxlSWRlbnRpZmllciwgdGhpcyk7CisKKyAgICAgICAgaWYgKCFz
cWxpdGVEYXRhYmFzZSB8fCAhY3JlYXRlVGFibGVzKHNxbGl0ZURhdGFiYXNlLT5kYigpKSkgewor
ICAgICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJ
REJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRlcm5hbCBlcnJvci4iKSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9zcWxpdGVEYXRhYmFzZU1h
cC5zZXQoZmlsZUlkZW50aWZpZXIsIHNxbGl0ZURhdGFiYXNlLmdldCgpKTsKICAgICB9CiAKLSAg
ICBSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2VCYWNrZW5kID0gSURCRGF0
YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlKG5hbWUsIGRlc2NyaXB0aW9uLCBzcWxpdGVEYXRhYmFz
ZS5yZWxlYXNlKCksIG1fdHJhbnNhY3Rpb25Db29yZGluYXRvci5nZXQoKSk7CisgICAgUmVmUHRy
PElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNlQmFja2VuZCA9IElEQkRhdGFiYXNlQmFj
a2VuZEltcGw6OmNyZWF0ZShuYW1lLCBkZXNjcmlwdGlvbiwgc3FsaXRlRGF0YWJhc2UuZ2V0KCks
IG1fdHJhbnNhY3Rpb25Db29yZGluYXRvci5nZXQoKSk7CiAgICAgY2FsbGJhY2tzLT5vblN1Y2Nl
c3MoZGF0YWJhc2VCYWNrZW5kLmdldCgpKTsKLSAgICBtX2RhdGFiYXNlQmFja2VuZE1hcC5zZXQo
bmFtZSwgZGF0YWJhc2VCYWNrZW5kLnJlbGVhc2UoKSk7CisgICAgbV9kYXRhYmFzZUJhY2tlbmRN
YXAuc2V0KHVuaXF1ZUlkZW50aWZpZXIsIGRhdGFiYXNlQmFja2VuZC5yZWxlYXNlKCkpOwogfQog
Ci1TdHJpbmcgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkYXRhYmFzZUZpbGVOYW1lKGNvbnN0IFN0
cmluZyYgbmFtZSwgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKQorU3RyaW5nIElEQkZh
Y3RvcnlCYWNrZW5kSW1wbDo6ZGF0YWJhc2VGaWxlTmFtZShTZWN1cml0eU9yaWdpbiogc2VjdXJp
dHlPcmlnaW4pCiB7CiAgICAgU3RyaW5nIGRhdGFiYXNlSWRlbnRpZmllciA9IHNlY3VyaXR5T3Jp
Z2luLT5kYXRhYmFzZUlkZW50aWZpZXIoKTsKLSAgICBTdHJpbmcgc2FudGl6ZWROYW1lID0gZW5j
b2RlRm9yRmlsZU5hbWUobmFtZSk7Ci0gICAgcmV0dXJuIGRhdGFiYXNlSWRlbnRpZmllciArICJA
IiArIHNhbnRpemVkTmFtZSArICIuaW5kZXhlZGRiIjsKKyAgICByZXR1cm4gZGF0YWJhc2VJZGVu
dGlmaWVyICsgIi5pbmRleGVkZGIiOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmggYi9XZWJDb3Jl
L3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgKaW5kZXggMjExYjdmYTEwZTQ3MDY1NDI4
M2MyOWUxYjg0YWQ5OWRmYTBhNjI1Ny4uMzgxYzQwMjMyZmY5YzNjYzE0NDk2Y2Q3ZjYxNDI3ODVi
MGZjZjVmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1w
bC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwuaApAQCAtMzks
NiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBET01TdHJpbmdMaXN0OwogCiBj
bGFzcyBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOworY2xhc3MgSURCU1FMaXRlRGF0YWJhc2U7CiBj
bGFzcyBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yOwogCiBjbGFzcyBJREJGYWN0b3J5QmFja2Vu
ZEltcGwgOiBwdWJsaWMgSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UgewpAQCAtNDksMTggKzUw
LDI2IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCB+SURCRmFjdG9yeUJhY2tlbmRJbXBs
KCk7CiAKKyAgICAvLyBJREJTUUxpdGVEYXRhYmFzZSdzIGxpZmV0aW1lIG1heSBiZSBzaG9ydGVy
IHRoYW4gb3Vycywgc28gd2UgbmVlZCBub3RpZmljYXRpb24gd2hlbiBpdCBkaWVzLgorICAgIHZv
aWQgcmVtb3ZlU1FMaXRlRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBmaWxlUGF0aCk7CisKICAgICB2
aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3Jp
cHRpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdp
bj4sIEZyYW1lKiwgY29uc3QgU3RyaW5nJiBkYXRhRGlyLCBpbnQ2NF90IG1heGltdW1TaXplKTsK
IAotICAgIHN0YXRpYyBTdHJpbmcgZGF0YWJhc2VGaWxlTmFtZShjb25zdCBTdHJpbmcmIG5hbWUs
IFNlY3VyaXR5T3JpZ2luKik7CisgICAgc3RhdGljIFN0cmluZyBkYXRhYmFzZUZpbGVOYW1lKFNl
Y3VyaXR5T3JpZ2luKik7CiAKIHByaXZhdGU6CiAgICAgSURCRmFjdG9yeUJhY2tlbmRJbXBsKCk7
CiAKKyAgICAvLyBGSVhNRTogSnVzdCBob2xkIGEgd2VhayBwb2ludGVyLgogICAgIHR5cGVkZWYg
SGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiA+IElEQkRhdGFi
YXNlQmFja2VuZE1hcDsKICAgICBJREJEYXRhYmFzZUJhY2tlbmRNYXAgbV9kYXRhYmFzZUJhY2tl
bmRNYXA7CisKKyAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBJREJTUUxpdGVEYXRhYmFzZSo+
IFNRTGl0ZURhdGFiYXNlTWFwOworICAgIFNRTGl0ZURhdGFiYXNlTWFwIG1fc3FsaXRlRGF0YWJh
c2VNYXA7CisKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25Db29yZGluYXRvcj4gbV90cmFuc2Fj
dGlvbkNvb3JkaW5hdG9yOwogCi0gICAgLy8gV2Ugb25seSBjcmVhdGUgb25lIGluc3RhbmNlIG9m
IHRoaXMgY2xhc3MgYXQgYSB0aW1lLgorICAgIC8vIE9ubHkgb25lIGluc3RhbmNlIG9mIHRoZSBm
YWN0b3J5IHNob3VsZCBleGlzdCBhdCBhbnkgZ2l2ZW4gdGltZS4KICAgICBzdGF0aWMgSURCRmFj
dG9yeUJhY2tlbmRJbXBsKiBpZGJGYWN0b3J5QmFja2VuZEltcGw7CiB9OwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAgYi9XZWJDb3Jl
L3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKaW5kZXggZjNhZWU5MWQyMzk5
ZDczNWMyYTk0OTBlNTgyN2VkNTEzYTM1MjdkYS4uZmU2OGViZjlmYjFjNzM5MTIxM2Y5MDc3ZjQ5
MDczYjk0ODAzY2Y1YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3Jl
QmFja2VuZEltcGwuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsLmNwcApAQCAtMTMxLDI1ICsxMzEsMjUgQEAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5
PiBmZXRjaEtleUZyb21LZXlQYXRoKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogdmFsdWUsIGNvbnMK
ICAgICByZXR1cm4ga2V5c1swXS5yZWxlYXNlKCk7CiB9CiAKLXN0YXRpYyBib29sIHB1dE9iamVj
dFN0b3JlRGF0YShTUUxpdGVEYXRhYmFzZSYgZGIsIElEQktleSoga2V5LCBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUqIHZhbHVlLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGludDY0X3QqIGRhdGFSb3dJ
ZCkKK3N0YXRpYyBib29sIHB1dE9iamVjdFN0b3JlRGF0YShTUUxpdGVEYXRhYmFzZSYgZGIsIElE
QktleSoga2V5LCBTZXJpYWxpemVkU2NyaXB0VmFsdWUqIHZhbHVlLCBpbnQ2NF90IG9iamVjdFN0
b3JlSWQsIGludDY0X3QmIGRhdGFSb3dJZCkKIHsKLSAgICBTdHJpbmcgc3FsID0gKmRhdGFSb3dJ
ZCAhPSAtMSA/ICJVUERBVEUgT2JqZWN0U3RvcmVEYXRhIFNFVCBrZXlTdHJpbmcgPSA/LCBrZXlE
YXRlID0gPywga2V5TnVtYmVyID0gPywgdmFsdWUgPSA/IFdIRVJFIGlkID0gPyIKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJJTlNFUlQgSU5UTyBPYmplY3RTdG9yZURhdGEg
KGtleVN0cmluZywga2V5RGF0ZSwga2V5TnVtYmVyLCB2YWx1ZSwgb2JqZWN0U3RvcmVJZCkgVkFM
VUVTICg/LCA/LCA/LCA/LCA/KSI7CisgICAgU3RyaW5nIHNxbCA9IGRhdGFSb3dJZCAhPSBJREJP
YmplY3RTdG9yZUJhY2tlbmRJbXBsOjpJbnZhbGlkSWQgPyAiVVBEQVRFIE9iamVjdFN0b3JlRGF0
YSBTRVQga2V5U3RyaW5nID0gPywga2V5RGF0ZSA9ID8sIGtleU51bWJlciA9ID8sIHZhbHVlID0g
PyBXSEVSRSBpZCA9ID8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiSU5TRVJUIElOVE8gT2JqZWN0U3RvcmVEYXRh
IChrZXlTdHJpbmcsIGtleURhdGUsIGtleU51bWJlciwgdmFsdWUsIG9iamVjdFN0b3JlSWQpIFZB
TFVFUyAoPywgPywgPywgPywgPykiOwogICAgIFNRTGl0ZVN0YXRlbWVudCBxdWVyeShkYiwgc3Fs
KTsKICAgICBpZiAocXVlcnkucHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAga2V5LT5iaW5kV2l0aE51bGxzKHF1ZXJ5LCAxKTsKICAgICBxdWVyeS5i
aW5kVGV4dCg0LCB2YWx1ZS0+dG9XaXJlU3RyaW5nKCkpOwotICAgIGlmICgqZGF0YVJvd0lkICE9
IC0xKQotICAgICAgICBxdWVyeS5iaW5kSW50KDUsICpkYXRhUm93SWQpOworICAgIGlmIChkYXRh
Um93SWQgIT0gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6SW52YWxpZElkKQorICAgICAgICBxdWVy
eS5iaW5kSW50NjQoNSwgZGF0YVJvd0lkKTsKICAgICBlbHNlCiAgICAgICAgIHF1ZXJ5LmJpbmRJ
bnQ2NCg1LCBvYmplY3RTdG9yZUlkKTsKIAogICAgIGlmIChxdWVyeS5zdGVwKCkgIT0gU1FMUmVz
dWx0RG9uZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCpkYXRhUm93SWQgPT0g
LTEpCi0gICAgICAgICpkYXRhUm93SWQgPSBkYi5sYXN0SW5zZXJ0Um93SUQoKTsKKyAgICBpZiAo
ZGF0YVJvd0lkID09IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OkludmFsaWRJZCkKKyAgICAgICAg
ZGF0YVJvd0lkID0gZGIubGFzdEluc2VydFJvd0lEKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0K
QEAgLTIzOCw4ICsyMzgsOCBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnB1dElu
dGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPAogCiAgICAgLy8gQmVm
b3JlIHRoaXMgcG9pbnQsIGRvbid0IGRvIGFueSBtdXRhdGlvbi4gIEFmdGVyIHRoaXMgcG9pbnQs
IHJvbGxiYWNrIHRoZSB0cmFuc2FjdGlvbiBpbiBjYXNlIG9mIGVycm9yLgogCi0gICAgaW50NjRf
dCBkYXRhUm93SWQgPSBpc0V4aXN0aW5nVmFsdWUgPyBnZXRRdWVyeS5nZXRDb2x1bW5JbnQoMCkg
OiAtMTsKLSAgICBpZiAoIXB1dE9iamVjdFN0b3JlRGF0YShvYmplY3RTdG9yZS0+c3FsaXRlRGF0
YWJhc2UoKSwga2V5LmdldCgpLCB2YWx1ZS5nZXQoKSwgb2JqZWN0U3RvcmUtPmlkKCksICZkYXRh
Um93SWQpKSB7CisgICAgaW50NjRfdCBkYXRhUm93SWQgPSBpc0V4aXN0aW5nVmFsdWUgPyBnZXRR
dWVyeS5nZXRDb2x1bW5JbnQoMCkgOiBJbnZhbGlkSWQ7CisgICAgaWYgKCFwdXRPYmplY3RTdG9y
ZURhdGEob2JqZWN0U3RvcmUtPnNxbGl0ZURhdGFiYXNlKCksIGtleS5nZXQoKSwgdmFsdWUuZ2V0
KCksIG9iamVjdFN0b3JlLT5pZCgpLCBkYXRhUm93SWQpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBU
aGUgSW5kZXhlZCBEYXRhYmFzZSBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IGhhdmUgYW4gZXJyb3Ig
Y29kZSBkZWRpY2F0ZWQgdG8gSS9PIGVycm9ycy4KICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9y
KElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9F
UlIsICJFcnJvciB3cml0aW5nIGRhdGEgdG8gc3RhYmxlIHN0b3JhZ2UuIikpOwogICAgICAgICB0
cmFuc2FjdGlvbi0+YWJvcnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbC5oCmluZGV4IDA5MjIzYjE0OTdjMWM5YWJkNDRkZjg1ZTEyOWQzN2YzOTlmNTQxMjcu
LjYwZTAxMWZkOWRmYjYyNjdkMGM5YWQ1ODgzZmZiNjhlOTkwNTQ5ZTMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmgKKysrIGIvV2ViQ29yZS9z
dG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJs
aWM6CiAgICAgfQogICAgIHZpcnR1YWwgfklEQk9iamVjdFN0b3JlQmFja2VuZEltcGwoKTsKIAor
ICAgIHN0YXRpYyBjb25zdCBpbnQ2NF90IEludmFsaWRJZCA9IDA7CiAgICAgaW50NjRfdCBpZCgp
IGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQobV9pZCAhPSBJbnZhbGlkSWQpOwpAQCAtOTQs
OCArOTUsNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIHJlbW92ZUluZGV4RnJvbU1hcChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJ
bXBsPiwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPik7CiAgICAgc3RhdGljIHZvaWQg
YWRkSW5kZXhUb01hcChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPik7CiAK
LSAgICBzdGF0aWMgY29uc3QgaW50NjRfdCBJbnZhbGlkSWQgPSAwOwotCiAgICAgUmVmUHRyPElE
QkRhdGFiYXNlQmFja2VuZEltcGw+IG1fZGF0YWJhc2U7CiAKICAgICBpbnQ2NF90IG1faWQ7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCU1FMaXRlRGF0YWJhc2UuY3BwIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODgxOTE3ZTBiMjZi
Njc5YzM4MjY0MDFmMzk0MGQ2MzFjMDZiNGJiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9z
dG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmNwcApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklEQlNRTGl0ZURhdGFiYXNlLmgiCisKKyNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIklEQkZhY3RvcnlCYWNrZW5kSW1w
bC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0lEQlNRTGl0ZURhdGFiYXNlOjpJREJTUUxp
dGVEYXRhYmFzZShTdHJpbmcgaWRlbnRpZmllciwgSURCRmFjdG9yeUJhY2tlbmRJbXBsKiBmYWN0
b3J5KQorICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX2ZhY3RvcnkoZmFj
dG9yeSkKK3sKK30KKworSURCU1FMaXRlRGF0YWJhc2U6On5JREJTUUxpdGVEYXRhYmFzZSgpCit7
CisgICAgbV9mYWN0b3J5LT5yZW1vdmVTUUxpdGVEYXRhYmFzZShtX2lkZW50aWZpZXIpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJTUUxpdGVEYXRhYmFzZS5oIGIv
V2ViQ29yZS9zdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDU1NjUwNjcy
N2EzMzQ4ZDgwMjc3ZDgzNDBhNWJhN2UzOTE5ODVkOQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9JREJTUUxpdGVEYXRhYmFzZS5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIElEQlNRTGl0ZURhdGFiYXNlX2gKKyNkZWZpbmUgSURCU1FMaXRlRGF0YWJhc2VfaAor
CisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJTUUxpdGVEYXRhYmFz
ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgSURCRmFjdG9yeUJhY2tlbmRJbXBsOworCitjbGFzcyBJREJTUUxpdGVEYXRhYmFzZSA6
IHB1YmxpYyBSZWZDb3VudGVkPElEQlNRTGl0ZURhdGFiYXNlPiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SURCU1FMaXRlRGF0YWJhc2U+IGNyZWF0ZShTdHJpbmcgaWRlbnRpZmll
ciwgSURCRmFjdG9yeUJhY2tlbmRJbXBsKiBmYWN0b3J5KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBJREJTUUxpdGVEYXRhYmFzZShpZGVudGlmaWVyLCBmYWN0b3J5KSk7Cisg
ICAgfQorICAgIH5JREJTUUxpdGVEYXRhYmFzZSgpOworCisgICAgU1FMaXRlRGF0YWJhc2UmIGRi
KCkgeyByZXR1cm4gbV9kYjsgfQorCitwcml2YXRlOgorICAgIElEQlNRTGl0ZURhdGFiYXNlKFN0
cmluZyBpZGVudGlmaWVyLCBJREJGYWN0b3J5QmFja2VuZEltcGwqIGZhY3RvcnkpOworCisgICAg
U1FMaXRlRGF0YWJhc2UgbV9kYjsKKyAgICBTdHJpbmcgbV9pZGVudGlmaWVyOworICAgIFJlZlB0
cjxJREJGYWN0b3J5QmFja2VuZEltcGw+IG1fZmFjdG9yeTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmCisKKyNlbmRpZiAvLyBJREJTUUxpdGVEYXRhYmFzZV9oCmRpZmYg
LS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCA0Zjc5NDgzM2U2YmNmYTEyYzc2MjAyYmZmZWRlYWFkOWY1MTMxZjhmLi45NmE1
YzZjZGZmYjUxYmNhNTA4OGZmNjM4MmFhMWI5MjNhYjVlNWI2IDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMC0xMC0yMSAgSmVyZW15IE9ybG93ICA8am9ybG93QGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBRdW90
YSBmb3IgSW5kZXhlZERCIHNob3VsZCBiZSBwZXIgb3JpZ2luIG5vdCBwZXIgZGF0YWJhc2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MDY0CisKKyAg
ICAgICAgKiBwdWJsaWMvV2ViSURCRmFjdG9yeS5oOgorICAgICAgICAqIHB1YmxpYy9XZWJTZWN1
cml0eU9yaWdpbi5oOgorICAgICAgICAqIHNyYy9XZWJJREJGYWN0b3J5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViSURCRmFjdG9yeTo6ZGF0YWJhc2VGaWxlTmFtZSk6CisgICAgICAgICogc3Jj
L1dlYlNlY3VyaXR5T3JpZ2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2VjdXJpdHlPcmln
aW46OmdldCk6CisKIDIwMTAtMTAtMjAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEppYW4gTGkuCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYklEQkZhY3RvcnkuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViSURCRmFjdG9yeS5oCmluZGV4IGM3ZmJlMDI0MDJiMmMzMWU0MzBmOWY3MGEwZWRiMTdkZjg2
M2VkOTcuLjY2Y2VhZGJlZTJmNzY2NmY2NDg5NmRmNzcxODE1NGI0OThmNmZlNTIgMTAwNzU1Ci0t
LSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRmFjdG9yeS5oCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViSURCRmFjdG9yeS5oCkBAIC01OCw2ICs1OCw4IEBAIHB1YmxpYzoK
ICAgICB9CiAKICAgICAvLyBUaGUgZmlsZSBuYW1lIHRoYXQgd291bGQgYmUgdXNlZCBmb3IgcGVy
c2lzdGluZyBhIGdpdmVuIGluZGV4ZWQgZGF0YWJhc2Ugb24gdGhlIGZpbGUgc3lzdGVtLgorICAg
IFdFQktJVF9BUEkgc3RhdGljIFdlYlN0cmluZyBkYXRhYmFzZUZpbGVOYW1lKGNvbnN0IFdlYlNl
Y3VyaXR5T3JpZ2luJik7CisgICAgLy8gRklYTUU6IFJlbW92ZSBhZnRlciByb2xsLgogICAgIFdF
QktJVF9BUEkgc3RhdGljIFdlYlN0cmluZyBkYXRhYmFzZUZpbGVOYW1lKGNvbnN0IFdlYlN0cmlu
ZyYgbmFtZSwgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mKTsKIH07CiAKZGlmZiAtLWdpdCBhL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYklEQktleS5oCmluZGV4IDYwZDMzMjUzNjQ5M2ZiMTU3MTJjMjc0ZmI5OGY4NDBkMDg2ZmIx
YzEuLjE3MWZlNzgzNWNiZDIzM2JhYWM4MjE3MjZmMmI1ODYwYTlkNGFjZGIgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJJREJLZXkuaApAQCAtODIsNyArODIsNiBAQCBwdWJsaWM6CiAjZW5kaWYKIAog
cHJpdmF0ZToKLQogICAgIFdlYlByaXZhdGVQdHI8V2ViQ29yZTo6SURCS2V5PiBtX3ByaXZhdGU7
CiB9OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlY3VyaXR5T3Jp
Z2luLmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlY3VyaXR5T3JpZ2luLmgKaW5kZXgg
ZWZjYjJlOTcyOGNlZWI0NGM2N2IxYzIwYTg3Y2FiOTc3YzFiOGYxMS4uYTI0MTY4MmNmYTBjNTlh
MTE3ODY1ZTFkNjMyZmRmMTQxZWIzNmY3YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJTZWN1cml0eU9yaWdpbi5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
U2VjdXJpdHlPcmlnaW4uaApAQCAtMTAwLDYgKzEwMCw3IEBAIHB1YmxpYzoKICAgICBXZWJTZWN1
cml0eU9yaWdpbihjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+
Jik7CiAgICAgV2ViU2VjdXJpdHlPcmlnaW4mIG9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQ
dHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+Jik7CiAgICAgb3BlcmF0b3IgV1RGOjpQYXNzUmVm
UHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPigpIGNvbnN0OworICAgIFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luKiBnZXQoKSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSURCRmFjdG9yeS5jcHAKaW5kZXggYjE4NmI2OGM5ZmExNDJkZTNjYmFhZGJkYTc0MzZl
MDMwMTcyOWE3MS4uNDBlZmY5NzQ3OWM1NjQzZDA1YjFkYWQzZDE4M2U2Y2ZmYWVmOWQ0NyAxMDA3
NTUKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5LmNwcAorKysgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYklEQkZhY3RvcnkuY3BwCkBAIC0zMSwyMiArMzEsMjMgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJREJGYWN0b3J5LmgiCiAKLSNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKLQogI2luY2x1ZGUgIklEQkZhY3RvcnlCYWNrZW5kSW1wbC5o
IgotI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSAiV2ViU2VjdXJpdHlPcmln
aW4uaCIKKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1XZWJTdHJpbmcgV2ViSURCRmFjdG9yeTo6
ZGF0YWJhc2VGaWxlTmFtZShjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlNlY3VyaXR5
T3JpZ2luJiBvcmlnaW4pCitXZWJTdHJpbmcgV2ViSURCRmFjdG9yeTo6ZGF0YWJhc2VGaWxlTmFt
ZShjb25zdCBXZWJTZWN1cml0eU9yaWdpbiYgb3JpZ2luKQogewotICAgIFJlZlB0cjxTZWN1cml0
eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW47Ci0gICAgc2VjdXJpdHlPcmlnaW4gPSBvcmlnaW47Ci0g
ICAgcmV0dXJuIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6ZGF0YWJhc2VGaWxlTmFtZShuYW1lLCBz
ZWN1cml0eU9yaWdpbi5nZXQoKSk7CisgICAgcmV0dXJuIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6
ZGF0YWJhc2VGaWxlTmFtZShvcmlnaW4uZ2V0KCkpOwogfQogCitXZWJTdHJpbmcgV2ViSURCRmFj
dG9yeTo6ZGF0YWJhc2VGaWxlTmFtZShjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlNl
Y3VyaXR5T3JpZ2luJiBvcmlnaW4pCit7CisgICAgVU5VU0VEX1BBUkFNKG5hbWUpOworICAgIHJl
dHVybiBkYXRhYmFzZUZpbGVOYW1lKG9yaWdpbik7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKK30KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Vj
dXJpdHlPcmlnaW4uY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eU9yaWdpbi5j
cHAKaW5kZXggODY4NTczOGRhM2M4ZTQzNGY1OGRiYWYxNzEzMDc2MGVjYWQzYWU0OS4uYWRjY2Iz
MWFlNjBjYzdlNGQ3OTA1ZGNlY2JjODY1NzBlM2Y3MzljMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTZWN1cml0eU9yaWdpbi5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJTZWN1cml0eU9yaWdpbi5jcHAKQEAgLTE0Myw2ICsxNDMsMTEgQEAgV2ViU2VjdXJpdHlP
cmlnaW46Om9wZXJhdG9yIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4o
KSBjb25zdAogICAgIHJldHVybiBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPihjb25zdF9jYXN0
PFdlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZSo+KG1fcHJpdmF0ZSkpOwogfQogCitTZWN1cml0eU9y
aWdpbiogV2ViU2VjdXJpdHlPcmlnaW46OmdldCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcHJp
dmF0ZTsKK30KKwogdm9pZCBXZWJTZWN1cml0eU9yaWdpbjo6YXNzaWduKFdlYlNlY3VyaXR5T3Jp
Z2luUHJpdmF0ZSogcCkKIHsKICAgICAvLyBwIGlzIGFscmVhZHkgcmVmJ2QgZm9yIHVzIGJ5IHRo
ZSBjYWxsZXIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71869</attachid>
            <date>2010-10-26 06:46:12 -0700</date>
            <delta_ts>2010-10-26 08:21:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48064-20101026144609.patch</filename>
            <type>text/plain</type>
            <size>102578</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwZTA0YjU4YmFiOGJjMjhkMmJjOTAyYTZiYjNhNzhiZTJhYTkzOThhLi44NzcxMTQ5
MTdmZDQ1YWRhODdkZTBkNDM5NjBkNTg2OWJmNjI2YjQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTAtMTAtMjEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUXVvdGEgZm9yIEluZGV4
ZWREQiBzaG91bGQgYmUgcGVyIG9yaWdpbiBub3QgcGVyIGRhdGFiYXNlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODA2NAorCisgICAgICAgIFZlcmlm
eSBvdXIgYmFja2luZyBkYXRhYmFzZSBjYW4gaGFuZGxlIG11bHRpcGxlIGluZGV4ZXMsIG9iamVj
dFN0b3JlcywKKyAgICAgICAgaXRlbXMgaW4gdGhlIGluZGV4L29iamVjdCBzdG9yZXMsIGV0YyB3
aXRoaW4gZGF0YWJhc2VzIG9mIGRpZmZlcmVudAorICAgICAgICBuYW1lcy4KKworICAgICAgICBB
bHNvIGFkanVzdCB0aGUgcXVvdGEgdGVzdCBzbyBpdCBkb2Vzbid0IGZhaWwgd2l0aCBzdWJ0bGUg
ZGlmZmVyZW5jZXMKKyAgICAgICAgaW4gdGhlIGJhY2tpbmcgZGIgKHdoaWNoIGNhbiBjaGFuZ2Ug
dGhlIHNpemUgYSBiaXQpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2Ut
cXVvdGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNl
LXF1b3RhLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMu
aHRtbDogQWRkZWQuCisKIDIwMTAtMTAtMjUgIEFyaXlhIEhpZGF5YXQgIDxhcml5YUBzZW5jaGEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVv
dGEtZXhwZWN0ZWQudHh0CmluZGV4IGI2ZWE1MDVkNDgxNTg5ODI3MTM5NzI5NTEyZjMwNDMxOTAx
NGU1MjQuLjZjMjQ1ZDQzMjcxMDc0ZGQ3MDBkOTAyZGU1ZmNiMzhiYTY0MTdlNjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS1l
eHBlY3RlZC50eHQKQEAgLTY4LDEwMzQgKzY4LDYgQEAgdHJhbnMgPSBkYi50cmFuc2FjdGlvbigp
CiBDcmVhdGluZyAnZGF0YScgd2hpY2ggY29udGFpbnMgNjRLIG9mIGRhdGEKIFBBU1MgZGF0YS5s
ZW5ndGggaXMgNjU1MzYKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3QxMjMnKQotc3Rv
cmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1Mg
J3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNj
ZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3Jl
ID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNz
IGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2Rl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBp
cyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdv
bmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0s
IGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQu
cmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQot
c3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBB
U1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25z
dWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0
b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNj
ZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0
YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJj
ZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoK
LVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAn
b25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0K
LXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1T
dWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
ICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0g
bnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMg
ZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDog
ZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNz
YWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50
YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNv
dXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJl
ZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2Un
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFT
UyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05F
Ci0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQp
Ci1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2Ug
IT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0
ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUg
aXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7
eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50
LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBm
aXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3Vy
Y2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQot
UEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5E
T05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRk
ZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3Vy
Y2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlT
dGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3Rh
dGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFk
ZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2
ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVu
dCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdz
b3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1
ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJv
cicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdl
dC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRh
QWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5z
b3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVh
ZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5
U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3Jl
LmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdy
ZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vz
cycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9
IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBl
dmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMg
dHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25l
cnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRh
cmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBk
YXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVu
dC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
cmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJl
YWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0
b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNT
ICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3Vj
Y2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9y
ZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2Vz
cyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9
LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBl
dmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0
LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UK
LXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1Q
QVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZh
bHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBl
dmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29u
c3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1z
dG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3Vj
Y2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAn
Y29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51
bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2
ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRh
dGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBl
dmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2Fn
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFT
UyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFy
Z2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3Vy
Y2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6
Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBp
biBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1Mg
J29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQot
Ci1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQot
U3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFT
UyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZh
bHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9
IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlz
IGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6
IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5z
b3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmly
ZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNl
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBB
U1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9O
RQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVk
KQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQot
UEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlz
IGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNl
ICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3Rh
dGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRl
IGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQo
e3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0
JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
bWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZl
bnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVu
dC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQg
ZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291
cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUK
LVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQu
RE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFk
ZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1
ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50
IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291
cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5
U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0
YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5h
ZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVz
dWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3Mn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
ZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBl
dmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZl
bnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0
YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMg
dHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2
ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQu
c291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3Jl
YWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFk
eVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9y
ZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAn
cmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUg
PSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3Mg
ZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUn
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFT
UyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlz
IHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29u
ZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50
YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwg
ZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQg
aXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGlu
IGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZl
bnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5y
ZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1z
dG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFT
UyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1
Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3Rv
cmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nl
c3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2Nv
ZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQot
UEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxs
IGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1Mg
J29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVu
dC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRh
fSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZl
bnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2Un
IGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNl
Ci1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgot
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQot
c3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1
Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1Mg
J2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxz
ZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBk
YXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4g
ZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3Nh
Z2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRh
cmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291
cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVk
OgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNT
ICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUK
LQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkK
LVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
LVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRl
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBp
cyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4
OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcg
aW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21l
c3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQu
c291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZp
cmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1Q
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRl
ZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUK
LVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBp
cyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJj
ZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0
YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0
ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRk
KHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3Vs
dCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZl
bnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50
IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBpbiBl
dmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3Nv
dXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVl
Ci1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVycm9y
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0
LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFB
ZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRy
dWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBldmVu
dCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNv
dXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdyZWFk
eVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVhZHlT
dGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUu
YWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jl
c3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50IGlz
IHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNz
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3JlID0g
ZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNzIGV2
ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2RlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1Mg
J3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0
cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdvbmVy
cm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFy
Z2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0sIGRh
dGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQotc3Rv
cmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBBU1Mg
J3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25zdWNj
ZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0b3Jl
ID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNjZXNz
IGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdjb2Rl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBB
U1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBp
cyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTICdv
bmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0YX0s
IGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJnZXQu
cmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJjZQot
c3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoKLVBB
U1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAnb25z
dWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0KLXN0
b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1TdWNj
ZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
LVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDogZGF0
YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
IGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNvdXJj
ZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJlZDoK
LVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2UnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFTUyAn
b25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCi0K
LXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQpCi1T
dWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1QQVNT
ICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFs
c2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2UgIT0g
bnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCi1Q
QVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0ZScg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMg
ZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7eDog
ZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQnIGlu
IGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdtZXNz
YWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVudC50
YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50LnNv
dXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBmaXJl
ZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3VyY2Un
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQotUEFT
UyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05F
Ci0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQp
Ci1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCi1Q
QVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
ZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3VyY2Ug
IT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
Ci1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlTdGF0
ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUg
aXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFkZCh7
eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBldmVu
dC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2ZW50
LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVudCBm
aXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdzb3Vy
Y2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQot
UEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJvcicg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5E
T05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRk
ZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVl
Ci1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQg
aXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5zb3Vy
Y2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVhZHlT
dGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3Rh
dGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3JlLmFk
ZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9IGV2
ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBldmVu
dCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNTICdz
b3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1
ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25lcnJv
cicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdl
dC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRh
QWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0
cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4gZXZl
bnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVudC5z
b3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAncmVh
ZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5
U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0b3Jl
LmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNTICdy
ZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3VjY2Vz
cycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFT
UyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9yZSA9
IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2VzcyBl
dmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29kZScg
aW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1QQVNT
ICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMg
dHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAnb25l
cnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRh
cmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9LCBk
YXRhQWRkZWQpCi1TdWNjZXNzIGV2ZW50IGZpcmVkOgotUEFTUyAncmVzdWx0JyBpbiBldmVudCBp
cyB0cnVlCi1QQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnbWVzc2FnZScgaW4g
ZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyBldmVu
dC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCi1QQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCi1QQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
cmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgZXZlbnQudGFyZ2V0LnJl
YWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKLQotc3RvcmUgPSBldmVudC5zb3VyY2UKLXN0
b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCkKLVN1Y2Nlc3MgZXZlbnQgZmlyZWQ6Ci1QQVNT
ICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNl
Ci1QQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQotUEFTUyAnc291cmNlJyBpbiBldmVu
dCBpcyB0cnVlCi1QQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKLVBBU1MgJ29uc3Vj
Y2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRh
cmdldCBpcyB0cnVlCi1QQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQot
UEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQotCi1zdG9y
ZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUuYWRkKHt4OiBkYXRhfSwgZGF0YUFkZGVkKQotU3VjY2Vz
cyBldmVudCBmaXJlZDoKLVBBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQotUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKLVBBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCi1Q
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKLVBBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQotUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQotUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKLVBBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCi1QQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCi0KLXN0b3JlID0gZXZlbnQuc291cmNlCi1zdG9yZS5hZGQoe3g6IGRhdGF9
LCBkYXRhQWRkZWQpCiBFcnJvciBmdW5jdGlvbiBjYWxsZWQ6ICgwKSBFcnJvciB3cml0aW5nIGRh
dGEgdG8gc3RhYmxlIHN0b3JhZ2UuCiBFcnJvciBldmVudCBmaXJlZDoKIFBBU1MgJ3Jlc3VsdCcg
aW4gZXZlbnQgaXMgZmFsc2UKQEAgLTExMDgsNyArODAsNyBAQCBQQVNTICdvbmVycm9yJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQogUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKIFBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUK
IAotUEFTUyBBZGRpbmcgZGF0YSBmYWlsZWQgZHVlIHRvIHF1b3RhIGVycm9yLiBEYXRhIGFkZGVk
IHdhczogNTEyMCBLQgorUEFTUyBBZGRpbmcgZGF0YSBmYWlsZWQgZHVlIHRvIHF1b3RhIGVycm9y
LiBEYXRhIGFkZGVkIHdhcyBhYm91dCA1IE1CCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9kYXRhYmFzZS1xdW90YS5odG1sCmluZGV4IDQ1Y2U3MDljOGFiNWYxYmRmNzhlYTlmMGZkNGE3
MzE4MjI1ZGFhN2UuLmFlZmU2YjExODIzYTI3YWE4MzI2ODRlYjgwZDk1NTg5MjU0N2IyOTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRt
bApAQCAtOTAsMTcgKzkwLDE1IEBAIGZ1bmN0aW9uIGNoZWNrUXVvdGFFbmZvcmNpbmcoKQogZnVu
Y3Rpb24gYWRkRGF0YSgpDQogew0KICAgICBpZiAoZGF0YUFkZGVkIDwgNSAqIDEwMjQgKiAxMDI0
KSB7DQotICAgICAgICBpZiAoZGF0YUFkZGVkID4gMCkgew0KLSAgICAgICAgICAgIHZlcmlmeVN1
Y2Nlc3NFdmVudChldmVudCk7DQotICAgICAgICAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9y
ZSA9IGV2ZW50LnNvdXJjZSIpOw0KLSAgICAgICAgfQ0KKyAgICAgICAgaWYgKGRhdGFBZGRlZCA+
IDApCisgICAgICAgICAgICBzdG9yZSA9IGV2ZW50LnNvdXJjZTsKICAgICB9IGVsc2Ugew0KICAg
ICAgICAgdGVzdEZhaWxlZCgiYWRkZWQgbW9yZSB0aGFuIHF1b3RhIik7DQogICAgICAgICBkb25l
KCk7DQogICAgICAgICByZXR1cm47DQogICAgIH0NCiAgICAgZGF0YUFkZGVkICs9IDY1NTM2Ow0K
LSAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoe3g6IGRhdGF9LCBkYXRhQWRkZWQp
Iik7DQorICAgIHJlc3VsdCA9IHN0b3JlLmFkZCh7eDogZGF0YX0sIGRhdGFBZGRlZCk7DQogICAg
IHJlc3VsdC5vbnN1Y2Nlc3MgPSBhZGREYXRhOw0KICAgICByZXN1bHQub25lcnJvciA9IGxvZ0Vy
cm9yOw0KIH0NCkBAIC0xMTMsNyArMTExLDcgQEAgZnVuY3Rpb24gbG9nRXJyb3IoKQogDQogZnVu
Y3Rpb24gdGVzdENvbXBsZXRlKCkNCiB7DQotICAgIHRlc3RQYXNzZWQoIkFkZGluZyBkYXRhIGZh
aWxlZCBkdWUgdG8gcXVvdGEgZXJyb3IuIERhdGEgYWRkZWQgd2FzOiAiICsgZGF0YUFkZGVkIC8g
MTAyNCArICIgS0IiKTsNCisgICAgdGVzdFBhc3NlZCgiQWRkaW5nIGRhdGEgZmFpbGVkIGR1ZSB0
byBxdW90YSBlcnJvci4gRGF0YSBhZGRlZCB3YXMgYWJvdXQgIiArIE1hdGgucm91bmQoZGF0YUFk
ZGVkIC8gMTAyNCAvIDEwMjQpICsgIiBNQiIpOw0KICAgICBkb25lKCk7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmVhOGMzNjhjMDE1ZDM2Njk5ZGY2YTgzZGM2YzZiZGVlODBmMThlMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTQxIEBACitWZXJpZnkgdGhhdCB5b3UgY2FuIHB1dCB0
aGUgc2FtZSBkYXRhIGluIDIgZGlmZmVyZW50IGRhdGFiYXNlcyB3aXRob3V0IHVuaXF1ZW5lc3Mg
Y29uc3RyYWludHMgZmlyaW5nLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKword2Vi
a2l0SW5kZXhlZERCLm9wZW4oJ25hbWUnLCAnZGVzY3JpcHRpb24nKQorUEFTUyAnb25zdWNjZXNz
JyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BB
U1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBz
aG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQu
cmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitkYiA9IGV2ZW50LnJlc3VsdAorZGIu
c2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMg
dHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUn
IGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK3Nl
dFZlcnNpb25TdWNjZXNzKCk6CitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQor
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKwordHJhbnMgPSBldmVudC5y
ZXN1bHQKK1BBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0
b3Jlcy4KK2RiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKQorc3RvcmUuY3Jl
YXRlSW5kZXgoJ2luZGV4TmFtZScsICd4JykKK3N0b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTogJ3p6
eid9LCAna2V5JykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29u
ZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMg
dHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZp
cmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKKworZXZlbnQuc291cmNlLmFkZCh7eDogJ3ZhbHVlMicsIHk6ICd6enoyJ30sICdrZXkyJykK
K1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJl
c3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZl
bnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAn
cmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQor
UEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQg
aXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nl
c3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworaW5kZXhP
YmplY3QuZ2V0S2V5KCd2YWx1ZScpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
cmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2Vz
cyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQ
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0IGlzICJrZXkiCitpbmRleE9iamVjdC5n
ZXQoJ3ZhbHVlJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29u
ZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMg
dHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZp
cmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKKworUEFTUyBldmVudC5yZXN1bHQueCBpcyAidmFsdWUiCitQQVNTIGV2ZW50LnJlc3VsdC55
IGlzICJ6enoiCitpbmRleE9iamVjdC5nZXRLZXkoJ2RvZXMgbm90IGV4aXN0JykKK1BBU1MgJ29u
c3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxk
IGZpcmUgc2hvcnRseS4uLgorCitFcnJvciBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4g
ZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ21lc3Nh
Z2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFT
UyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQor
UEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFy
Z2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5jb2RlIGlz
IHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKK2luZGV4T2JqZWN0Lmdl
dCgnZG9lcyBub3QgZXhpc3QnKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQor
UEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJl
c3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK0Vycm9yIGV2
ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnY29kZScg
aW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQorCitQQVNTIGV2ZW50LmNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24u
Tk9UX0ZPVU5EX0VSUgoraW5kZXhPYmplY3Qub3BlbktleUN1cnNvcigpCitQQVNTICdvbnN1Y2Nl
c3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQor
UEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJl
IHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2Un
IGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0ID09
PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgInZhbHVlIgorUEFTUyBl
dmVudC5yZXN1bHQudmFsdWUgaXMgImtleSIKK2V2ZW50LnJlc3VsdC5jb250aW51ZSgpCitQQVNT
ICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNo
b3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3Vs
dCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1Mg
J21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRy
dWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2
ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQu
cmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgInZhbHVl
MiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlIGlzICJrZXkyIgorZXZlbnQucmVzdWx0LmNvbnRp
bnVlKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3In
IGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQor
QW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgor
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKwor
UEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgdHJ1ZQoraW5kZXhPYmplY3Qub3BlbkN1cnNv
cigpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0Fu
IGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BB
U1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFs
c2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2
ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25z
dWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQu
dGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
CitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BB
U1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgInZhbHVlIgorUEFTUyBldmVudC5yZXN1bHQudmFsdWUueCBpcyAidmFsdWUiCitQQVNTIGV2
ZW50LnJlc3VsdC52YWx1ZS55IGlzICJ6enoiCitldmVudC5yZXN1bHQuY29udGludWUoKQorUEFT
UyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0
IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBz
aG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1
bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNT
ICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0
cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2Vzcycg
aW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50
LnJlc3VsdCA9PT0gbnVsbCBpcyBmYWxzZQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzICJ2YWx1
ZTIiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZS54IGlzICJ2YWx1ZTIiCitQQVNTIGV2ZW50LnJl
c3VsdC52YWx1ZS55IGlzICJ6enoyIgorZXZlbnQucmVzdWx0LmNvbnRpbnVlKCkKK1BBU1MgJ29u
c3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxk
IGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQor
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1
bHQgPT09IG51bGwgaXMgdHJ1ZQord2Via2l0SW5kZXhlZERCLm9wZW4oJ25hbWUyJywgJ2Rlc2Ny
aXB0aW9uMicpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVy
cm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRy
dWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJl
ZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQg
aXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2Un
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFT
UyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05F
CisKK2RiID0gZXZlbnQucmVzdWx0CitkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpCitQQVNT
ICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNo
b3VsZCBmaXJlIHNob3J0bHkuLi4KKworc2V0VmVyc2lvblN1Y2Nlc3MoKToKK1N1Y2Nlc3MgZXZl
bnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQorCit0cmFucyA9IGV2ZW50LnJlc3VsdAorUEFTUyB0cmFucyAhPT0gbnVsbCBpcyB0
cnVlCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScsIG51bGwpCitzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJ3gnKQorc3Rv
cmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30sICdrZXknKQorUEFTUyAnb25zdWNjZXNzJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9y
dGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitldmVudC5zb3VyY2UuYWRkKHt4OiAndmFs
dWUyJywgeTogJ3p6ejInfSwgJ2tleTInKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMg
dHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUn
IGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1
Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxz
ZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQorCitpbmRleE9iamVjdC5nZXRLZXkoJ3ZhbHVlJykKK1BBU1MgJ29u
c3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0
cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxk
IGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBp
biBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVz
c2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQor
UEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQu
dGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1
bHQgaXMgImtleSIKK2luZGV4T2JqZWN0LmdldCgndmFsdWUnKQorUEFTUyAnb25zdWNjZXNzJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9y
dGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVh
ZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdC54IGlzICJ2
YWx1ZSIKK1BBU1MgZXZlbnQucmVzdWx0LnkgaXMgInp6eiIKK2luZGV4T2JqZWN0LmdldEtleSgn
ZG9lcyBub3QgZXhpc3QnKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFT
UyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3Vs
dCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK0Vycm9yIGV2ZW50
IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnY29kZScgaW4g
ZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnc291
cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUK
K1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3In
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJn
ZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQu
RE9ORQorCitQQVNTIGV2ZW50LmNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9U
X0ZPVU5EX0VSUgoraW5kZXhPYmplY3QuZ2V0KCdkb2VzIG5vdCBleGlzdCcpCitQQVNTICdvbnN1
Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1
ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBm
aXJlIHNob3J0bHkuLi4KKworRXJyb3IgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2
ZW50IGlzIGZhbHNlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdtZXNzYWdl
JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdl
dC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQuY29kZSBpcyB3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCitpbmRleE9iamVjdC5vcGVu
S2V5Q3Vyc29yKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29u
ZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMg
dHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZp
cmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVu
dCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJj
ZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQ
QVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRP
TkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgZmFsc2UKK1BBU1MgZXZlbnQucmVz
dWx0LmtleSBpcyAidmFsdWUiCitQQVNTIGV2ZW50LnJlc3VsdC52YWx1ZSBpcyAia2V5IgorZXZl
bnQucmVzdWx0LmNvbnRpbnVlKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUK
K1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBy
ZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNz
IGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2Rl
JyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BB
U1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBp
cyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdv
bmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgZmFsc2UKK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUyIgorUEFTUyBldmVudC5yZXN1bHQudmFsdWUgaXMg
ImtleTIiCitldmVudC5yZXN1bHQuY29udGludWUoKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1
bHQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5
U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4u
CisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUK
K1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBp
cyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJj
ZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRy
dWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0
YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0
ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdCA9PT0gbnVsbCBpcyB0
cnVlCitpbmRleE9iamVjdC5vcGVuQ3Vyc29yKCkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0
IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0
YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgor
CitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQ
QVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMg
ZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2Ug
IT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0
ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUg
aXMgZXZlbnQudGFyZ2V0LkRPTkUKKworUEFTUyBldmVudC5yZXN1bHQgPT09IG51bGwgaXMgZmFs
c2UKK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyAidmFsdWUiCitQQVNTIGV2ZW50LnJlc3VsdC52
YWx1ZS54IGlzICJ2YWx1ZSIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLnkgaXMgInp6eiIKK2V2
ZW50LnJlc3VsdC5jb250aW51ZSgpCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
cmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2Vz
cyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29k
ZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQ
QVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwg
aXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAn
b25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCisKK1BBU1MgZXZlbnQucmVzdWx0ID09PSBudWxsIGlzIGZhbHNlCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLngg
aXMgInZhbHVlMiIKK1BBU1MgZXZlbnQucmVzdWx0LnZhbHVlLnkgaXMgInp6ejIiCitldmVudC5y
ZXN1bHQuY29udGludWUoKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFT
UyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3Vs
dCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZl
bnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQorCitQQVNTIGV2ZW50LnJlc3VsdCA9PT0gbnVsbCBpcyB0cnVlCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwY2Y4YzRiOGUw
ZTY3NmE0NjZjZjhkYjgwNTAwNzViMzEwODdiZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWwKQEAgLTAsMCArMSwyMTMgQEAK
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJWZXJpZnkgdGhhdCB5b3UgY2FuIHB1dCB0aGUgc2Ft
ZSBkYXRhIGluIDIgZGlmZmVyZW50IGRhdGFiYXNlcyB3aXRob3V0IHVuaXF1ZW5lc3MgY29uc3Ry
YWludHMgZmlyaW5nLiIpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCit0ZXN0Q291bnQgPSAwOwor
ZnVuY3Rpb24gdGVzdCgpCit7CisgICAgaWYgKHRlc3RDb3VudCsrID09IDApCisgICAgICAgIHJl
c3VsdCA9IGV2YWxBbmRMb2coIndlYmtpdEluZGV4ZWREQi5vcGVuKCduYW1lJywgJ2Rlc2NyaXB0
aW9uJykiKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIndlYmtpdElu
ZGV4ZWREQi5vcGVuKCduYW1lMicsICdkZXNjcmlwdGlvbjInKSIpOworICAgIHZlcmlmeVJlc3Vs
dChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBzZXRWZXJzaW9uOworICAgIHJlc3Vs
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIHNldFZl
cnNpb24oKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnJlc3VsdCIpOworCisgICAgcmVzdWx0ID0gZXZhbEFuZExvZygi
ZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQp
OworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBkZWxldGVFeGlzdGluZzsKKyAgICByZXN1bHQub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBkZWxldGVFeGlz
dGluZygpCit7CisgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7CisgICAgdmVyaWZ5
U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGV2ZW50LnJlc3VsdCIpOworICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsK
KyAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CisKKyAgICBkZWxl
dGVBbGxPYmplY3RTdG9yZXMoZGIsIGNyZWF0ZUluZGV4KTsKK30KKworZnVuY3Rpb24gY3JlYXRl
SW5kZXgoKQoreworICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOworICAgIHdpbmRvdy5pbmRleE9iamVjdCA9IGV2
YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcpIik7CisgICAgYWRk
RGF0YSgpOworfQorCitmdW5jdGlvbiBhZGREYXRhKCkKK3sKKyAgICByZXN1bHQgPSBldmFsQW5k
TG9nKCJzdG9yZS5hZGQoe3g6ICd2YWx1ZScsIHk6ICd6enonfSwgJ2tleScpIik7CisgICAgdmVy
aWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGFkZE1vcmU7CisgICAg
cmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24g
YWRkTW9yZSgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKworICAgIHJlc3Vs
dCA9IGV2YWxBbmRMb2coImV2ZW50LnNvdXJjZS5hZGQoe3g6ICd2YWx1ZTInLCB5OiAnenp6Mid9
LCAna2V5MicpIik7CisgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3Vj
Y2VzcyA9IGdldERhdGE7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKK30KKworZnVuY3Rpb24gZ2V0RGF0YSgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50
KGV2ZW50KTsKKworICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0LmdldEtleSgn
dmFsdWUnKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nl
c3MgPSBnZXRPYmplY3REYXRhOworICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIGdldE9iamVjdERhdGEoKQoreworICAgIHZlcmlmeVN1
Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5yZXN1
bHQiLCAia2V5Iik7CisKKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5nZXQo
J3ZhbHVlJykiKTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1bHQub25zdWNj
ZXNzID0gZ2V0RGF0YUZhaWw7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKK30KKworZnVuY3Rpb24gZ2V0RGF0YUZhaWwoKQoreworICAgIHZlcmlmeVN1Y2Nl
c3NFdmVudChldmVudCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5yZXN1bHQu
eCIsICJ2YWx1ZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0Lnki
LCAienp6Iik7CisKKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5nZXRLZXko
J2RvZXMgbm90IGV4aXN0JykiKTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1
bHQub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKKyAgICByZXN1bHQub25l
cnJvciA9IGdldE9iamVjdERhdGFGYWlsOworfQorCitmdW5jdGlvbiBnZXRPYmplY3REYXRhRmFp
bCgpCit7CisgICAgdmVyaWZ5RXJyb3JFdmVudChldmVudCk7CisgICAgc2hvdWxkQmUoImV2ZW50
LmNvZGUiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOworCisg
ICAgcmVzdWx0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3QuZ2V0KCdkb2VzIG5vdCBleGlzdCcp
Iik7CisgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IHVu
ZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSBvcGVuS2V5Q3Vy
c29yOworfQorCitmdW5jdGlvbiBvcGVuS2V5Q3Vyc29yKCkKK3sKKyAgICB2ZXJpZnlFcnJvckV2
ZW50KGV2ZW50KTsKKyAgICBzaG91bGRCZSgiZXZlbnQuY29kZSIsICJ3ZWJraXRJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CisKKyAgICB3aW5kb3cucmVzdWx0ID0gZXZhbEFu
ZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcigpIik7CisgICAgdmVyaWZ5UmVzdWx0KHJl
c3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTsKKyAgICByZXN1
bHQub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBjdXJz
b3IxQ29udGludWUoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hv
dWxkQmVGYWxzZSgiZXZlbnQucmVzdWx0ID09PSBudWxsIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJldmVudC5yZXN1bHQua2V5IiwgInZhbHVlIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJldmVudC5yZXN1bHQudmFsdWUiLCAia2V5Iik7CisKKyAgICAvLyBXZSByZS11c2Ug
dGhlIGxhc3QgcmVzdWx0IG9iamVjdC4KKyAgICBldmFsQW5kTG9nKCJldmVudC5yZXN1bHQuY29u
dGludWUoKSIpOworICAgIHZlcmlmeVJlc3VsdCh3aW5kb3cucmVzdWx0KTsKKyAgICB3aW5kb3cu
cmVzdWx0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTI7Cit9CisKK2Z1bmN0aW9uIGN1cnNv
cjFDb250aW51ZTIoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7CisgICAgc2hv
dWxkQmVGYWxzZSgiZXZlbnQucmVzdWx0ID09PSBudWxsIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJldmVudC5yZXN1bHQua2V5IiwgInZhbHVlMiIpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZXZlbnQucmVzdWx0LnZhbHVlIiwgImtleTIiKTsKKworICAgIC8vIFdlIHJlLXVz
ZSB0aGUgbGFzdCByZXN1bHQgb2JqZWN0LgorICAgIGV2YWxBbmRMb2coImV2ZW50LnJlc3VsdC5j
b250aW51ZSgpIik7CisgICAgdmVyaWZ5UmVzdWx0KHdpbmRvdy5yZXN1bHQpOworICAgIHdpbmRv
dy5yZXN1bHQub25zdWNjZXNzID0gb3Blbk9iamVjdEN1cnNvcjsKK30KKworZnVuY3Rpb24gb3Bl
bk9iamVjdEN1cnNvcigpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAgICBz
aG91bGRCZVRydWUoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworCisgICAgd2luZG93LnJlc3Vs
dCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOworICAgIHZlcmlmeVJl
c3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWU7Cisg
ICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rp
b24gY3Vyc29yMkNvbnRpbnVlKCkKK3sKKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQoZXZlbnQpOwor
ICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LmtleSIsICJ2YWx1ZSIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LnZhbHVlLngiLCAidmFsdWUiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS55IiwgInp6eiIpOworCisgICAg
Ly8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlc3VsdCBvYmplY3QuCisgICAgZXZhbEFuZExvZygiZXZl
bnQucmVzdWx0LmNvbnRpbnVlKCkiKTsKKyAgICB2ZXJpZnlSZXN1bHQod2luZG93LnJlc3VsdCk7
CisgICAgd2luZG93LnJlc3VsdC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWUyOworfQorCitm
dW5jdGlvbiBjdXJzb3IyQ29udGludWUyKCkKK3sKKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQoZXZl
bnQpOworICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQucmVzdWx0LmtleSIsICJ2YWx1ZTIiKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS54IiwgInZhbHVlMiIpOyAg
ICAKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC52YWx1ZS55IiwgInp6
ejIiKTsKKworICAgIC8vIFdlIHJlLXVzZSB0aGUgbGFzdCByZXN1bHQgb2JqZWN0LgorICAgIGV2
YWxBbmRMb2coImV2ZW50LnJlc3VsdC5jb250aW51ZSgpIik7CisgICAgdmVyaWZ5UmVzdWx0KHdp
bmRvdy5yZXN1bHQpOworICAgIHdpbmRvdy5yZXN1bHQub25zdWNjZXNzID0gbGFzdDsKK30KKwor
ZnVuY3Rpb24gbGFzdCgpCit7CisgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsKKyAgICBz
aG91bGRCZVRydWUoImV2ZW50LnJlc3VsdCA9PT0gbnVsbCIpOworCisgICAgaWYgKHRlc3RDb3Vu
dCA9PSAxKQorICAgICAgICB0ZXN0KCk7CisgICAgZWxzZQorICAgICAgICBkb25lKCk7Cit9CisK
K3Rlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA3NTZmYThkYWJjNzNlYWRiNzJlYzM1YzU3NDIwNGY3MDkxN2FkNzA0
Li4xMWZjZDBhZjhiZmIzN2ZlOWI2NWNhMTM4NDUzODQzNjc3MDg4ZGZlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBA
CisyMDEwLTEwLTIxICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFF1b3RhIGZvciBJbmRl
eGVkREIgc2hvdWxkIGJlIHBlciBvcmlnaW4gbm90IHBlciBkYXRhYmFzZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgwNjQKKworICAgICAgICBNZXJn
ZSBhbGwgZGF0YWJhc2VzIGZvciBlYWNoIG9yaWdpbiBpbnRvIGEgc2luZ2xlIFNRTGl0ZURhdGFi
YXNlLgorCisgICAgICAgIFJlcGxhY2UgdGhlIGF3a3dhcmQgbWV0YURhdGEgdGFibGUgd2l0aCBh
IERhdGFiYXNlIHRhYmxlLgorCisgICAgICAgIENyZWF0ZSBhIG5ldyBJREJTUUxpdGVEYXRhYmFz
ZSBjbGFzcyB0aGF0IHdyYXBzIFNRTGl0ZURhdGFiYXNlCisgICAgICAgIGFuZCBpbXBsZW1lbnRz
IHdlYWsgcG9pbnRlciBzZW1hbnRpY3MgZm9yIElEQkZhY3RvcnkuIEl0J3MgcmVmCisgICAgICAg
IGNvdW50ZWQgc28gbXVsdGlwbGUgSURCRGF0YWJhc2VCYWNrZW5kSW1wbHMgY2FuIHNoYXJlIG9u
ZS4KKworICAgICAgICBGaXggdW5pcXVlbmVzcyBjb25zdHJhaW50cyB0aGF0IHdlcmUgb3Zlcmx5
IGNvbnNlcnZpdGl2ZS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBjb2RlIHRoYXQgYmxvd3Mg
YXdheSBleGlzdGluZyBkYXRhIGV2ZXJ5IHRpbWUKKyAgICAgICAgdGhlIGRhdGFiYXNlIGlzIG9w
ZW5lZC4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBmYWlybHkgdXNlbGVzcyBpbmRleGVkREIg
bWFudWFsIHRlc3QgYW5kIHJlcGxhY2UKKyAgICAgICAgaXQgd2l0aCBvbmUgdGhhdCB2ZXJpZmll
cyBkYXRhIHBlcnNpc3RzLgorCisgICAgICAgIFVzZSBuYW1lK29yaWdpbiAobm90IGp1c3QgbmFt
ZSkgaW4gb3VyIGNhY2hlIG9mIElEQkRhdGFiYXNlQmFja2VuZAorICAgICAgICBvYmplY3RzIChz
byBvbmUgb3JpZ2luIGNhbid0IGFjY2VzcyBhbm90aGVycycgZGF0YSkuCisKKyAgICAgICAgVGVz
dDogc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCisKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogbWFudWFsLXRlc3RzL2luZGV4ZWQtZGF0YWJhc2UuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvaW5kZXhlZGRiLXBlcnNpc3RzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpleHRyYWN0TWV0YURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6c2V0TWV0
YURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6SURCRGF0
YWJhc2VCYWNrZW5kSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsOjpzZXREZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tl
bmRJbXBsOjpzcWxpdGVEYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpjcmVhdGVPYmplY3RTdG9yZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRlcm5hbCk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpsb2FkT2JqZWN0U3RvcmVzKToKKyAgICAg
ICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6
OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJE
YXRhYmFzZUJhY2tlbmRJbXBsOjppZCk6CisgICAgICAgICogc3RvcmFnZS9JREJGYWN0b3J5QmFj
a2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbXBsOjpy
ZW1vdmVTUUxpdGVEYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpvcGVuU1FMaXRlRGF0YWJh
c2UpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVGFibGVzKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQkZhY3RvcnlCYWNrZW5kSW1wbDo6b3Blbik6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0
b3J5QmFja2VuZEltcGw6OmRhdGFiYXNlRmlsZU5hbWUpOgorICAgICAgICAqIHN0b3JhZ2UvSURC
RmFjdG9yeUJhY2tlbmRJbXBsLmg6CisgICAgICAgICogc3RvcmFnZS9JREJPYmplY3RTdG9yZUJh
Y2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnB1dE9iamVjdFN0b3JlRGF0YSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpwdXRJbnRlcm5hbCk6
CisgICAgICAgICogc3RvcmFnZS9JREJTUUxpdGVEYXRhYmFzZS5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SURCU1FMaXRlRGF0YWJhc2U6OklEQlNRTGl0ZURhdGFiYXNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQlNRTGl0ZURhdGFiYXNlOjp+SURCU1FMaXRlRGF0YWJhc2UpOgorICAg
ICAgICAqIHN0b3JhZ2UvSURCU1FMaXRlRGF0YWJhc2UuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpJREJTUUxpdGVEYXRhYmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNR
TGl0ZURhdGFiYXNlOjpkYik6CisKIDIwMTAtMTAtMjQgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1h
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBjZDY1NjY4Yzc1YTRlZDg2OTA5MGMxOTY4ODEwM2FkNDJiNDJjZjI2Li44ZjcwOGI0ZjYy
Nzc5MDMwMjUxNjMwZTNkMDFkYmUxMzI4YWVkOThhIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzg0Niw2ICszODQ2LDggQEAK
ICAgICAgICAgICAgICdzdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9JREJSZXF1ZXN0LmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JREJSZXF1ZXN0LmgnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU1FMaXRlRGF0YWJhc2Uu
Y3BwJywKKyAgICAgICAgICAgICdzdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmgnLAogICAgICAg
ICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JREJTdWNjZXNzRXZlbnQuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJUaW1lb3V0RXZl
bnQuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3RzL2luZGV4ZWQtZGF0YWJh
c2UuaHRtbCBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2luZGV4ZWQtZGF0YWJhc2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGEyYTFlMTNlODg4NmQyOTdlM2MwNTE1YzZlMDhl
ZTM2ODkxMzRjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9XZWJDb3JlL21hbnVhbC10ZXN0cy9pbmRleGVkLWRhdGFiYXNlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0OSArMCwwIEBACi08aHRtbD4KLTxib2R5PgotPHA+VGhpcyBpcyBhIHRlc3QgdGhh
dCBvbmx5IGFwcGxpZXMgdG8gSW5kZXhlZERCLiAgPHNwYW4gaWQ9ZW5hYmxlZD5PdXIgdGVzdCBm
b3Igd2hldGhlciB5b3UgaGF2ZSBpdCBlbmFibGVkIHNlZW1zIHRvIGhhdmUgZmFpbGVkLjwvc3Bh
bj48L3A+Ci0KLTxwPlBsZWFzZSBmb2xsb3cgdGhlc2Ugc3RlcHMgaW4gb3JkZXI6PC9wPgotCi08
cD5GaXJzdCwgY2xpY2sgPGEgaHJlZj0iamF2YXNjcmlwdDogZG9PcGVuKHRydWUpIj5oZXJlPC9h
PiB0byBvcGVuIGFuIGluZGV4ZWREQiBkYXRhYmFzZS4gIExvb2sgaW4gdGhlIHByb3BlciBwbGFj
ZSBpbiB5b3VyIGZpbGUgc3lzdGVtICh0aGUgcGxhY2UgYmVpbmcgc3BlY2lmaWMgdG8gZWFjaCBw
b3J0KSBhbmQgdmVyaWZ5IGEgZmlsZSB3YXMgY3JlYXRlZC4gIFlvdSBzaG91bGQgYmUgYWJsZSB0
byBvcGVuIHRoZSBmaWxlIHVwIHdpdGggc3FsaXRlIGFuZCBleGFtaW5lIGl0IHRoYXQgd2F5IGFz
IHdlbGwuPC9wPgotCi08cD5OZXh0LCBjbG9zZSB0aGUgYnJvd3NlciwgZGVsZXRlIHRoZSBmaWxl
LCByZXBsYWNlIGl0IHdpdGggc29tZSBnYXJiYWdlLCBhbmQgbWFrZSBpdCByZWFkIG9ubHkgdG8g
dGhlIHVzZXIgdGhlIGJyb3dzZXIgaXMgcnVubmluZyBhcy4gIE5vdyBjbGljayA8YSBocmVmPSJq
YXZhc2NyaXB0OiBkb09wZW4oZmFsc2UpIj5oZXJlPC9hPi4gIFlvdSBzaG91bGQgZ2V0IHNvbWUg
c29ydCBvZiBlcnJvci48L3A+Ci0KLTxwPkNsb3NlIHRoZSBicm93c2VyLCBkZWxldGUgdGhlIGZp
bGUgeW91IG1hZGUsIGFuZCBjbGljayA8YSBocmVmPSJqYXZhc2NyaXB0OiBkb09wZW4odHJ1ZSki
PmhlcmU8L2E+LiAgQWxsIHNob3VsZCBiZSB3ZWxsIGFnYWluLjwvcD4KLQotPHA+U3RhdHVzOiA8
c3BhbiBpZD1zdGF0dXM+Li4uPC9zcGFuPjwvcD4KLQotPHNjcmlwdD4KLQotaWYgKCEoJ2luZGV4
ZWREQicgaW4gd2luZG93KSkKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5hYmxlZCIp
LmlubmVySFRNTCA9ICI8Zm9udCBjb2xvcj1yZWQ+WW91ciBidWlsZCBkb2VzIE5PVCBzZWVtIHRv
IGhhdmUgaXQgZW5hYmxlZC4gIFNvIGFsbCBjb2RlIG9uIHRoaXMgcGFnZSBpcyBkaXNhYmxlZC48
L2ZvbnQ+IjsKLWVsc2UKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5hYmxlZCIpLmlu
bmVySFRNTCA9ICI8Zm9udCBjb2xvcj1ncmVlbj5Zb3VyIGJ1aWxkIHNlZW1zIHRvIGhhdmUgaXQg
ZW5hYmxlZC48L2ZvbnQ+IjsKLQotZnVuY3Rpb24gc3RhdHVzKHN0ciwgY29sb3IpCi17Ci0gICAg
aWYgKGNvbG9yKQotICAgICAgICBzdHIgPSAiPGZvbnQgY29sb3I9JyIgKyBjb2xvciArICInPiIg
KyBzdHIgKyAiPC9mb250PiI7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXR1cyIp
LmlubmVySFRNTCA9IHN0cjsKLX0KLQotZnVuY3Rpb24gZG9PcGVuKGV4cGVjdFN1Y2Nlc3MpCi17
Ci0gICAgc3RhdHVzKCJDYWxsaW5nIG9wZW4iKTsKLSAgICByZXF1ZXN0ID0gaW5kZXhlZERCLm9w
ZW4oInh5eiIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmIChleHBlY3RTdWNjZXNzKQotICAgICAgICAgICAgc3RhdHVzKCJPcGVuIHN1Y2Nlc3NmdWwi
LCAiZ3JlZW4iKTsgICAgICAgIAotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdGF0dXMoIk9w
ZW4gd2FzIHN1Y2Nlc3NmdWwuLi5idXQgc2hvdWxkbid0IGhhdmUgYmVlbiIsICJyZWQiKTsgICAg
ICAgIAotICAgIH07Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmIChleHBlY3RTdWNjZXNzKQotICAgICAgICAgICAgc3RhdHVzKCJVbmV4cGVjdGVkIGVycm9y
OiAiICsgZXZlbnQubWVzc2FnZSwgInJlZCIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBz
dGF0dXMoIkV4cGVjdGVkIGVycm9yOiAiICsgZXZlbnQubWVzc2FnZSwgImdyZWVuIik7Ci0gICAg
fTsKLX0KLQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L21hbnVhbC10ZXN0cy9pbmRleGVkZGItcGVyc2lzdHMuaHRtbCBiL1dlYkNvcmUvbWFudWFsLXRl
c3RzL2luZGV4ZWRkYi1wZXJzaXN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmNWUwMzZkZDVmZTM1MmIz
YjM5N2VhMjhhM2UyYzQ2NTc2OWZkOGUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL21hbnVh
bC10ZXN0cy9pbmRleGVkZGItcGVyc2lzdHMuaHRtbApAQCAtMCwwICsxLDY5IEBACis8aHRtbD4K
Kzxib2R5PgorPHA+VGhpcyBpcyBhIHRlc3QgdGhhdCBvbmx5IGFwcGxpZXMgdG8gSW5kZXhlZERC
LiAgPHNwYW4gaWQ9ZW5hYmxlZD5PdXIgdGVzdCBmb3Igd2hldGhlciB5b3UgaGF2ZSBpdCBlbmFi
bGVkIHNlZW1zIHRvIGhhdmUgZmFpbGVkLjwvc3Bhbj48L3A+CisKKzxwPlBsZWFzZSBmb2xsb3cg
dGhlc2Ugc3RlcHMgaW4gb3JkZXI6PC9wPgorCis8cD5GaXJzdCwgY2xpY2sgPGEgaHJlZj0iamF2
YXNjcmlwdDogc2V0RGF0YSgpIj5oZXJlPC9hPiB0byBvcGVuIGEgZGF0YWJhc2UgYW5kIHNldCBz
b21lIGRhdGEgd2l0aGluIGl0LjwvcD4KKworPHA+TmV4dCwgY2xvc2UgdGhlIGJyb3dzZXIgYW5k
IHRoZW4gcmUtb3BlbiB0aGlzIHBhZ2UuPC9wPgorCis8cD5MYXN0bHksIGNsaWNrIDxhIGhyZWY9
ImphdmFzY3JpcHQ6IHZlcmlmeURhdGEoKSI+aGVyZTwvYT4gdG8gdmVyaWZ5IHRoZSBkYXRhIHdh
cyB0aGVyZTwvcD4KKworPHA+U3RhdHVzOiA8c3BhbiBpZD1zdGF0dXM+Li4uPC9zcGFuPjwvcD4K
KworPHNjcmlwdD4KKworaWYgKCEoJ3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93KSkKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW5hYmxlZCIpLmlubmVySFRNTCA9ICI8Zm9udCBjb2xv
cj1yZWQ+WW91ciBidWlsZCBkb2VzIE5PVCBzZWVtIHRvIGhhdmUgaXQgZW5hYmxlZC4gIFNvIGFs
bCBjb2RlIG9uIHRoaXMgcGFnZSBpcyBkaXNhYmxlZC48L2ZvbnQ+IjsKK2Vsc2UKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZW5hYmxlZCIpLmlubmVySFRNTCA9ICI8Zm9udCBjb2xvcj1n
cmVlbj5Zb3VyIGJ1aWxkIHNlZW1zIHRvIGhhdmUgaXQgZW5hYmxlZC48L2ZvbnQ+IjsKKworZnVu
Y3Rpb24gc3RhdHVzKHN0ciwgY29sb3IpCit7CisgICAgaWYgKGNvbG9yKQorICAgICAgICBzdHIg
PSAiPGZvbnQgY29sb3I9JyIgKyBjb2xvciArICInPiIgKyBzdHIgKyAiPC9mb250PiI7CisgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXR1cyIpLmlubmVySFRNTCA9IHN0cjsKK30KKwor
ZnVuY3Rpb24gc2V0RGF0YSgpCit7CisgICAgc3RhdHVzKCJTb21ldGhpbmcgbXVzdCBoYXZlIGdv
bmUgd3JvbmcgKG9yIHdlJ3JlIHN0aWxsIHdvcmtpbmcpLi4uIiwgInJlZCIpOworCisgICAgd2Vi
a2l0SW5kZXhlZERCLm9wZW4oInNvbWVEQiIsICJzb21lIGRlc2NyaXB0aW9uIikub25zdWNjZXNz
ID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGV2ZW50LnJlc3VsdC5zZXRWZXJzaW9uKCJzb21lIHZl
cnNpb24iKS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBkYiA9IGV2
ZW50LnNvdXJjZTsKKyAgICAgICAgICAgIHdoaWxlIChkYi5vYmplY3RTdG9yZXMubGVuZ3RoKQor
ICAgICAgICAgICAgICAgIGRiLnJlbW92ZU9iamVjdFN0b3JlKGRiLm9iamVjdFN0b3Jlc1swXSk7
CisgICAgICAgICAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgidGVzdCIpLnB1dCgidmFsdWUiLCAi
a2V5Iikub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgc3RhdHVzKCJW
YWx1ZSBzZXQiLCAiZ3JlZW4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30K
KworZnVuY3Rpb24gdmVyaWZ5RGF0YSgpCit7CisgICAgc3RhdHVzKCJTb21ldGhpbmcgbXVzdCBo
YXZlIGdvbmUgd3JvbmcgKG9yIHdlJ3JlIHN0aWxsIHdvcmtpbmcpLi4uIiwgInJlZCIpOworCisg
ICAgd2Via2l0SW5kZXhlZERCLm9wZW4oInNvbWVEQiIsICJzb21lIGRlc2NyaXB0aW9uIikub25z
dWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcmVz
dWx0ID0gZXZlbnQucmVzdWx0LnRyYW5zYWN0aW9uKFtdKS5vYmplY3RTdG9yZSgidGVzdCIpLmdl
dCgia2V5Iik7CisgICAgICAgICAgICByZXN1bHQub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKGV2ZW50LnJlc3VsdCA9PSAidmFsdWUiKQorICAgICAgICAgICAg
ICAgICAgICBzdGF0dXMoIlZhbHVlIHZlcmlmaWVkIiwgImdyZWVuIik7CisgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBzdGF0dXMoIlZhbHVlIGluY29ycmVjdCEiLCAi
cmVkIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXN1bHQub25lcnJvciA9IGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgIHN0YXR1cygiQW4gZXJyb3Igb2NjdXJyZWQ6ICIgKyBl
dmVudC5jb2RlICsgIiAiICsgZXZlbnQubWVzc2FnZSwgInJlZCIpOworICAgICAgICAgICAgfQor
ICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICBzdGF0dXMoIkFuIGV4Y2VwdGlvbiBv
Y2N1cnJlZDogIiArIGUsICJyZWQiKTsKKyAgICAgICAgfQorICAgIH0KK30KKworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJh
c2VCYWNrZW5kSW1wbC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1w
bC5jcHAKaW5kZXggZGM2MWUyMmVkOGVkZjcyNTFjZDExMTJiMGU1NzI0ZTNhMDYzYTMyYi4uMDIw
ZGRiOWUwYjg0NjE5MDQ0ZDU1ZGI0OTY2NzY3ZTA4NzY4ZjNiMyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFn
ZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcApAQCAtMzIsNjAgKzMyLDY1IEBACiAjaW5jbHVk
ZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0aW9uLmgiCiAj
aW5jbHVkZSAiSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5oIgorI2luY2x1ZGUgIklEQlNRTGl0
ZURhdGFiYXNlLmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmgi
CiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIgotI2luY2x1ZGUgIlNRTGl0
ZURhdGFiYXNlLmgiCiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50LmgiCiAjaW5jbHVkZSAiU1FM
aXRlVHJhbnNhY3Rpb24uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgYm9vbCBl
eHRyYWN0TWV0YURhdGEoU1FMaXRlRGF0YWJhc2UqIHNxbGl0ZURhdGFiYXNlLCBjb25zdCBTdHJp
bmcmIGV4cGVjdGVkTmFtZSwgU3RyaW5nJiBmb3VuZFZlcnNpb24pCitzdGF0aWMgYm9vbCBleHRy
YWN0TWV0YURhdGEoU1FMaXRlRGF0YWJhc2UmIHNxbGl0ZURhdGFiYXNlLCBjb25zdCBTdHJpbmcm
IG5hbWUsIFN0cmluZyYgZm91bmRWZXJzaW9uLCBpbnQ2NCYgZm91bmRJZCkKIHsKLSAgICBTUUxp
dGVTdGF0ZW1lbnQgbWV0YURhdGFRdWVyeSgqc3FsaXRlRGF0YWJhc2UsICJTRUxFQ1QgbmFtZSwg
dmVyc2lvbiBGUk9NIE1ldGFEYXRhIik7Ci0gICAgaWYgKG1ldGFEYXRhUXVlcnkucHJlcGFyZSgp
ICE9IFNRTFJlc3VsdE9rIHx8IG1ldGFEYXRhUXVlcnkuc3RlcCgpICE9IFNRTFJlc3VsdFJvdykK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKG1ldGFEYXRhUXVlcnkuZ2V0Q29sdW1u
VGV4dCgwKSAhPSBleHBlY3RlZE5hbWUpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJOYW1lIGluIE1l
dGFEYXRhICglcykgZG9lc24ndCBtYXRjaCBleHBlY3RlZCAoJXMpIGZvciBJbmRleGVkREIiLCBt
ZXRhRGF0YVF1ZXJ5LmdldENvbHVtblRleHQoMCkudXRmOCgpLmRhdGEoKSwgZXhwZWN0ZWROYW1l
LnV0ZjgoKS5kYXRhKCkpOworICAgIFNRTGl0ZVN0YXRlbWVudCBkYXRhYmFzZVF1ZXJ5KHNxbGl0
ZURhdGFiYXNlLCAiU0VMRUNUIGlkLCB2ZXJzaW9uIEZST00gRGF0YWJhc2VzIFdIRVJFIG5hbWUg
PSA/Iik7CisgICAgaWYgKGRhdGFiYXNlUXVlcnkucHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rKSB7
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQotICAgIGZvdW5kVmVyc2lvbiA9IG1ldGFEYXRhUXVlcnkuZ2V0Q29sdW1uVGV4dCgxKTsK
KyAgICBkYXRhYmFzZVF1ZXJ5LmJpbmRUZXh0KDEsIG5hbWUpOworICAgIGlmIChkYXRhYmFzZVF1
ZXJ5LnN0ZXAoKSAhPSBTUUxSZXN1bHRSb3cpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IGlmIChtZXRhRGF0YVF1ZXJ5LnN0ZXAoKSA9PSBTUUxSZXN1bHRSb3cpIHsKLSAgICAgICAgTE9H
X0VSUk9SKCJNb3JlIHRoYW4gb25lIHJvdyBmb3VuZCBpbiBNZXRhRGF0YSB0YWJsZSIpOwotICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9CisgICAgZm91bmRJZCA9IGRhdGFiYXNl
UXVlcnkuZ2V0Q29sdW1uSW50NjQoMCk7CisgICAgZm91bmRWZXJzaW9uID0gZGF0YWJhc2VRdWVy
eS5nZXRDb2x1bW5UZXh0KDEpOwogCisgICAgaWYgKGRhdGFiYXNlUXVlcnkuc3RlcCgpID09IFNR
TFJlc3VsdFJvdykKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLXN0YXRpYyBib29sIHNldE1ldGFEYXRhKFNRTGl0ZURhdGFiYXNlKiBzcWxpdGVE
YXRhYmFzZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBj
b25zdCBTdHJpbmcmIHZlcnNpb24pCitzdGF0aWMgYm9vbCBzZXRNZXRhRGF0YShTUUxpdGVEYXRh
YmFzZSYgc3FsaXRlRGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBk
ZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBpbnQ2NF90JiByb3dJZCkKIHsKLSAg
ICBBU1NFUlQoIW5hbWUuaXNOdWxsKCkgJiYgIWRlc2NyaXB0aW9uLmlzTnVsbCgpICYmICF2ZXJz
aW9uLmlzTnVsbCgpKTsKLQotICAgIHNxbGl0ZURhdGFiYXNlLT5leGVjdXRlQ29tbWFuZCgiREVM
RVRFIEZST00gTWV0YURhdGEiKTsKLQotICAgIFNRTGl0ZVN0YXRlbWVudCBpbnNlcnQoKnNxbGl0
ZURhdGFiYXNlLCAiSU5TRVJUIElOVE8gTWV0YURhdGEgKG5hbWUsIGRlc2NyaXB0aW9uLCB2ZXJz
aW9uKSBWQUxVRVMgKD8sID8sID8pIik7Ci0gICAgaWYgKGluc2VydC5wcmVwYXJlKCkgIT0gU1FM
UmVzdWx0T2spIHsKLSAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gcHJlcGFyZSBNZXRhRGF0
YSBpbnNlcnQgc3RhdGVtZW50IGZvciBJbmRleGVkREIiKTsKKyAgICBBU1NFUlQoIW5hbWUuaXNO
dWxsKCkpOworICAgIEFTU0VSVCghZGVzY3JpcHRpb24uaXNOdWxsKCkpOworICAgIEFTU0VSVCgh
dmVyc2lvbi5pc051bGwoKSk7CisKKyAgICBTdHJpbmcgc3FsID0gcm93SWQgIT0gSURCRGF0YWJh
c2VCYWNrZW5kSW1wbDo6SW52YWxpZElkID8gIlVQREFURSBEYXRhYmFzZXMgU0VUIG5hbWUgPSA/
LCBkZXNjcmlwdGlvbiA9ID8sIHZlcnNpb24gPSA/IFdIRVJFIGlkID0gPyIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIklOU0VS
VCBJTlRPIERhdGFiYXNlcyAobmFtZSwgZGVzY3JpcHRpb24sIHZlcnNpb24pIFZBTFVFUyAoPywg
PywgPykiOworICAgIFNRTGl0ZVN0YXRlbWVudCBxdWVyeShzcWxpdGVEYXRhYmFzZSwgc3FsKTsK
KyAgICBpZiAocXVlcnkucHJlcGFyZSgpICE9IFNRTFJlc3VsdE9rKSB7CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgaW5z
ZXJ0LmJpbmRUZXh0KDEsIG5hbWUpOwotICAgIGluc2VydC5iaW5kVGV4dCgyLCBkZXNjcmlwdGlv
bik7Ci0gICAgaW5zZXJ0LmJpbmRUZXh0KDMsIHZlcnNpb24pOworICAgIHF1ZXJ5LmJpbmRUZXh0
KDEsIG5hbWUpOworICAgIHF1ZXJ5LmJpbmRUZXh0KDIsIGRlc2NyaXB0aW9uKTsKKyAgICBxdWVy
eS5iaW5kVGV4dCgzLCB2ZXJzaW9uKTsKKyAgICBpZiAocm93SWQgIT0gSURCRGF0YWJhc2VCYWNr
ZW5kSW1wbDo6SW52YWxpZElkKQorICAgICAgICBxdWVyeS5iaW5kSW50NjQoNCwgcm93SWQpOwog
Ci0gICAgaWYgKGluc2VydC5zdGVwKCkgIT0gU1FMUmVzdWx0RG9uZSkgewotICAgICAgICBMT0df
RVJST1IoIkZhaWxlZCB0byBpbnNlcnQgcm93IGludG8gTWV0YURhdGEgZm9yIEluZGV4ZWREQiIp
OworICAgIGlmIChxdWVyeS5zdGVwKCkgIT0gU1FMUmVzdWx0RG9uZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KKworICAgIGlmIChyb3dJZCA9PSBJREJEYXRhYmFzZUJhY2tlbmRJbXBs
OjpJbnZhbGlkSWQpCisgICAgICAgIHJvd0lkID0gc3FsaXRlRGF0YWJhc2UubGFzdEluc2VydFJv
d0lEKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
SURCRGF0YWJhc2VCYWNrZW5kSW1wbChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZGVzY3JpcHRpb24sIFBhc3NPd25QdHI8U1FMaXRlRGF0YWJhc2U+IHNxbGl0ZURhdGFiYXNlLCBJ
REJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKiBjb29yZGluYXRvcikKK0lEQkRhdGFiYXNlQmFja2Vu
ZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIGRlc2NyaXB0aW9uLCBJREJTUUxpdGVEYXRhYmFzZSogc3FsaXRlRGF0YWJhc2UsIElE
QlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IqIGNvb3JkaW5hdG9yKQogICAgIDogbV9zcWxpdGVEYXRh
YmFzZShzcWxpdGVEYXRhYmFzZSkKKyAgICAsIG1faWQoSW52YWxpZElkKQogICAgICwgbV9uYW1l
KG5hbWUpCiAgICAgLCBtX2Rlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKQogICAgICwgbV92ZXJzaW9u
KCIiKQpAQCAtOTQsOSArOTksMTAgQEAgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6SURCRGF0YWJh
c2VCYWNrZW5kSW1wbChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYKICAgICBBU1NF
UlQoIW1fbmFtZS5pc051bGwoKSk7CiAgICAgQVNTRVJUKCFtX2Rlc2NyaXB0aW9uLmlzTnVsbCgp
KTsKIAotICAgIGV4dHJhY3RNZXRhRGF0YShtX3NxbGl0ZURhdGFiYXNlLmdldCgpLCBtX25hbWUs
IG1fdmVyc2lvbik7Ci0gICAgc2V0TWV0YURhdGEobV9zcWxpdGVEYXRhYmFzZS5nZXQoKSwgbV9u
YW1lLCBtX2Rlc2NyaXB0aW9uLCBtX3ZlcnNpb24pOwotCisgICAgYm9vbCBzdWNjZXNzID0gZXh0
cmFjdE1ldGFEYXRhKG1fc3FsaXRlRGF0YWJhc2UtPmRiKCksIG1fbmFtZSwgbV92ZXJzaW9uLCBt
X2lkKTsKKyAgICBBU1NFUlRfVU5VU0VEKHN1Y2Nlc3MsIHN1Y2Nlc3MgPT0gKG1faWQgIT0gSW52
YWxpZElkKSk7CisgICAgaWYgKCFzZXRNZXRhRGF0YShtX3NxbGl0ZURhdGFiYXNlLT5kYigpLCBt
X25hbWUsIG1fZGVzY3JpcHRpb24sIG1fdmVyc2lvbiwgbV9pZCkpCisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOyAvLyBGSVhNRTogTmVlZCBiZXR0ZXIgZXJyb3IgaGFuZGxpbmcuCiAgICAg
bG9hZE9iamVjdFN0b3JlcygpOwogfQogCkBAIC0xMTAsNyArMTE2LDEyIEBAIHZvaWQgSURCRGF0
YWJhc2VCYWNrZW5kSW1wbDo6c2V0RGVzY3JpcHRpb24oY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlv
bikKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uOwot
ICAgIHNldE1ldGFEYXRhKG1fc3FsaXRlRGF0YWJhc2UuZ2V0KCksIG1fbmFtZSwgbV9kZXNjcmlw
dGlvbiwgbV92ZXJzaW9uKTsKKyAgICBzZXRNZXRhRGF0YShtX3NxbGl0ZURhdGFiYXNlLT5kYigp
LCBtX25hbWUsIG1fZGVzY3JpcHRpb24sIG1fdmVyc2lvbiwgbV9pZCk7Cit9CisKK1NRTGl0ZURh
dGFiYXNlJiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzcWxpdGVEYXRhYmFzZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fc3FsaXRlRGF0YWJhc2UtPmRiKCk7CiB9CiAKIFBhc3NSZWZQdHI8RE9N
U3RyaW5nTGlzdD4gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b2JqZWN0U3RvcmVzKCkgY29uc3QK
QEAgLTE0NCw3ICsxNTUsNyBAQCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVy
ZmFjZT4gIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OmNyZWF0ZU9iamVjdAogCiB2b2lkIElEQkRh
dGFiYXNlQmFja2VuZEltcGw6OmNyZWF0ZU9iamVjdFN0b3JlSW50ZXJuYWwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2Us
IFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUsICBQYXNz
UmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24pCiB7Ci0g
ICAgU1FMaXRlU3RhdGVtZW50IGluc2VydChkYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKSwgIklO
U0VSVCBJTlRPIE9iamVjdFN0b3JlcyAobmFtZSwga2V5UGF0aCwgZG9BdXRvSW5jcmVtZW50KSBW
QUxVRVMgKD8sID8sID8pIik7CisgICAgU1FMaXRlU3RhdGVtZW50IGluc2VydChkYXRhYmFzZS0+
c3FsaXRlRGF0YWJhc2UoKSwgIklOU0VSVCBJTlRPIE9iamVjdFN0b3JlcyAobmFtZSwga2V5UGF0
aCwgZG9BdXRvSW5jcmVtZW50LCBkYXRhYmFzZUlkKSBWQUxVRVMgKD8sID8sID8sID8pIik7CiAg
ICAgaWYgKGluc2VydC5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2spIHsKICAgICAgICAgdHJhbnNh
Y3Rpb24tPmFib3J0KCk7CiAgICAgICAgIHJldHVybjsKQEAgLTE1Miw2ICsxNjMsNyBAQCB2b2lk
IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OmNyZWF0ZU9iamVjdFN0b3JlSW50ZXJuYWwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosCiAgICAgaW5zZXJ0LmJpbmRUZXh0KDEsIG9iamVjdFN0b3JlLT5u
YW1lKCkpOwogICAgIGluc2VydC5iaW5kVGV4dCgyLCBvYmplY3RTdG9yZS0+a2V5UGF0aCgpKTsK
ICAgICBpbnNlcnQuYmluZEludCgzLCBzdGF0aWNfY2FzdDxpbnQ+KG9iamVjdFN0b3JlLT5hdXRv
SW5jcmVtZW50KCkpKTsKKyAgICBpbnNlcnQuYmluZEludDY0KDQsIGRhdGFiYXNlLT5pZCgpKTsK
ICAgICBpZiAoaW5zZXJ0LnN0ZXAoKSAhPSBTUUxSZXN1bHREb25lKSB7CiAgICAgICAgIHRyYW5z
YWN0aW9uLT5hYm9ydCgpOwogICAgICAgICByZXR1cm47CkBAIC0yMTcsOCArMjI5LDkgQEAgdm9p
ZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYgdmVyc2lv
biwgUGFzc1JlZlB0cjxJREJDYWwKIAogdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRW
ZXJzaW9uSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0
YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgUGFzc1Jl
ZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKQogeworICAgIGludDY0X3QgZGF0YWJhc2VJZCA9
IGRhdGFiYXNlLT5pZCgpOwogICAgIGRhdGFiYXNlLT5tX3ZlcnNpb24gPSB2ZXJzaW9uOwotICAg
IGlmICghc2V0TWV0YURhdGEoZGF0YWJhc2UtPm1fc3FsaXRlRGF0YWJhc2UuZ2V0KCksIGRhdGFi
YXNlLT5tX25hbWUsIGRhdGFiYXNlLT5tX2Rlc2NyaXB0aW9uLCBkYXRhYmFzZS0+bV92ZXJzaW9u
KSkgeworICAgIGlmICghc2V0TWV0YURhdGEoZGF0YWJhc2UtPm1fc3FsaXRlRGF0YWJhc2UtPmRi
KCksIGRhdGFiYXNlLT5tX25hbWUsIGRhdGFiYXNlLT5tX2Rlc2NyaXB0aW9uLCBkYXRhYmFzZS0+
bV92ZXJzaW9uLCBkYXRhYmFzZUlkKSkgewogICAgICAgICAvLyBGSVhNRTogVGhlIEluZGV4ZWQg
RGF0YWJhc2Ugc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBoYXZlIGFuIGVycm9yIGNvZGUgZGVkaWNh
dGVkIHRvIEkvTyBlcnJvcnMuCiAgICAgICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFz
ZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVOS05PV05fRVJSLCAiRXJyb3Ig
d3JpdGluZyBkYXRhIHRvIHN0YWJsZSBzdG9yYWdlLiIpKTsKICAgICAgICAgdHJhbnNhY3Rpb24t
PmFib3J0KCk7CkBAIC0yNDAsMTAgKzI1MywxMiBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZElt
cGw6OmNsb3NlKCkKIAogdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpsb2FkT2JqZWN0U3Rv
cmVzKCkKIHsKLSAgICBTUUxpdGVTdGF0ZW1lbnQgb2JqZWN0U3RvcmVzUXVlcnkoc3FsaXRlRGF0
YWJhc2UoKSwgIlNFTEVDVCBpZCwgbmFtZSwga2V5UGF0aCwgZG9BdXRvSW5jcmVtZW50IEZST00g
T2JqZWN0U3RvcmVzIik7CisgICAgU1FMaXRlU3RhdGVtZW50IG9iamVjdFN0b3Jlc1F1ZXJ5KHNx
bGl0ZURhdGFiYXNlKCksICJTRUxFQ1QgaWQsIG5hbWUsIGtleVBhdGgsIGRvQXV0b0luY3JlbWVu
dCBGUk9NIE9iamVjdFN0b3JlcyBXSEVSRSBkYXRhYmFzZUlkID0gPyIpOwogICAgIGJvb2wgb2sg
PSBvYmplY3RTdG9yZXNRdWVyeS5wcmVwYXJlKCkgPT0gU1FMUmVzdWx0T2s7CiAgICAgQVNTRVJU
X1VOVVNFRChvaywgb2spOyAvLyBGSVhNRTogQmV0dGVyIGVycm9yIGhhbmRsaW5nPwogCisgICAg
b2JqZWN0U3RvcmVzUXVlcnkuYmluZEludDY0KDEsIG1faWQpOworCiAgICAgd2hpbGUgKG9iamVj
dFN0b3Jlc1F1ZXJ5LnN0ZXAoKSA9PSBTUUxSZXN1bHRSb3cpIHsKICAgICAgICAgaW50NjRfdCBp
ZCA9IG9iamVjdFN0b3Jlc1F1ZXJ5LmdldENvbHVtbkludDY0KDApOwogICAgICAgICBTdHJpbmcg
bmFtZSA9IG9iamVjdFN0b3Jlc1F1ZXJ5LmdldENvbHVtblRleHQoMSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oIGIvV2ViQ29yZS9zdG9yYWdl
L0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAppbmRleCBiYjY0MjljZDQzM2E5NTY0ODQzNmU5ZWQ1
ZTVlZDg4NWQ5NzNlZDE3Li41M2UxYTVmYzJjZjgwOTAzYmQwMjNmNmQwZTgxOTYyYjk3MDE5Nzg4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKQEAgLTM2LDE5ICsz
NiwyMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsOworY2xhc3MgSURCU1FMaXRlRGF0YWJhc2U7CiBjbGFzcyBJREJUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yOwogY2xhc3MgU1FMaXRlRGF0YWJhc2U7CiAKIGNsYXNzIElEQkRhdGFiYXNlQmFj
a2VuZEltcGwgOiBwdWJsaWMgSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBjcmVhdGUoY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBQYXNzT3duUHRyPFNR
TGl0ZURhdGFiYXNlPiBkYXRhYmFzZSwgSURCVHJhbnNhY3Rpb25Db29yZGluYXRvciogY29vcmRp
bmF0b3IpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gY3Jl
YXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgSURCU1FM
aXRlRGF0YWJhc2UqIGRhdGFiYXNlLCBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKiBjb29yZGlu
YXRvcikKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURCRGF0YWJhc2VCYWNr
ZW5kSW1wbChuYW1lLCBkZXNjcmlwdGlvbiwgZGF0YWJhc2UsIGNvb3JkaW5hdG9yKSk7CiAgICAg
fQogICAgIHZpcnR1YWwgfklEQkRhdGFiYXNlQmFja2VuZEltcGwoKTsKIAogICAgIHZvaWQgc2V0
RGVzY3JpcHRpb24oY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbik7Ci0gICAgU1FMaXRlRGF0YWJh
c2UmIHNxbGl0ZURhdGFiYXNlKCkgY29uc3QgeyByZXR1cm4gKm1fc3FsaXRlRGF0YWJhc2UuZ2V0
KCk7IH0KKyAgICBTUUxpdGVEYXRhYmFzZSYgc3FsaXRlRGF0YWJhc2UoKSBjb25zdDsKKworICAg
IHN0YXRpYyBjb25zdCBpbnQ2NF90IEludmFsaWRJZCA9IDA7CisgICAgaW50NjRfdCBpZCgpIGNv
bnN0IHsgcmV0dXJuIG1faWQ7IH0KIAogICAgIHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25zdCB7
IHJldHVybiBtX25hbWU7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fZGVzY3JpcHRpb247IH0KQEAgLTY1LDcgKzY5LDcgQEAgcHVibGljOgogICAg
IElEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IqIHRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSBjb25z
dCB7IHJldHVybiBtX3RyYW5zYWN0aW9uQ29vcmRpbmF0b3IuZ2V0KCk7IH0KIAogcHJpdmF0ZToK
LSAgICBJREJEYXRhYmFzZUJhY2tlbmRJbXBsKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgUGFzc093blB0cjxTUUxpdGVEYXRhYmFzZT4gZGF0YWJhc2UsIElE
QlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IqKTsKKyAgICBJREJEYXRhYmFzZUJhY2tlbmRJbXBsKGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgSURCU1FMaXRlRGF0
YWJhc2UqIGRhdGFiYXNlLCBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKik7CiAKICAgICB2b2lk
IGxvYWRPYmplY3RTdG9yZXMoKTsKIApAQCAtNzgsNyArODIsOCBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyB2b2lkIGFkZE9iamVjdFN0b3JlVG9NYXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCT2JqZWN0U3Rv
cmVCYWNrZW5kSW1wbD4pOwogICAgIHN0YXRpYyB2b2lkIHJlc2V0VmVyc2lvbihTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgY29uc3Qg
U3RyaW5nJiB2ZXJzaW9uKTsKIAotICAgIE93blB0cjxTUUxpdGVEYXRhYmFzZT4gbV9zcWxpdGVE
YXRhYmFzZTsKKyAgICBSZWZQdHI8SURCU1FMaXRlRGF0YWJhc2U+IG1fc3FsaXRlRGF0YWJhc2U7
CisgICAgaW50NjQgbV9pZDsKICAgICBTdHJpbmcgbV9uYW1lOwogICAgIFN0cmluZyBtX2Rlc2Ny
aXB0aW9uOwogICAgIFN0cmluZyBtX3ZlcnNpb247CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5
QmFja2VuZEltcGwuY3BwCmluZGV4IGMxODI5NGQ3N2E2OTkzODE0Nzg3ZWM2OWNhZDRmNTAzZDAz
Y2QxN2EuLjE5MDVjMGMxOWNlYTg3YmVhZGVlYWJjYzI3ODk3OTdiYjcyNDkxZjkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwuY3BwCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAj
aW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlQmFja2VuZEltcGwu
aCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIklEQlNRTGl0
ZURhdGFiYXNlLmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIgotI2lu
Y2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNp
bmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CkBA
IC01Miw3ICs1MiwxMyBAQCBJREJGYWN0b3J5QmFja2VuZEltcGw6On5JREJGYWN0b3J5QmFja2Vu
ZEltcGwoKQogewogfQogCi1zdGF0aWMgUGFzc093blB0cjxTUUxpdGVEYXRhYmFzZT4gb3BlblNR
TGl0ZURhdGFiYXNlKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbiwgU3RyaW5nIG5hbWUs
IGNvbnN0IFN0cmluZyYgcGF0aEJhc2UsIGludDY0X3QgbWF4aW11bVNpemUpCit2b2lkIElEQkZh
Y3RvcnlCYWNrZW5kSW1wbDo6cmVtb3ZlU1FMaXRlRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBmaWxl
UGF0aCkKK3sKKyAgICBBU1NFUlQobV9zcWxpdGVEYXRhYmFzZU1hcC5jb250YWlucyhmaWxlUGF0
aCkpOworICAgIG1fc3FsaXRlRGF0YWJhc2VNYXAucmVtb3ZlKGZpbGVQYXRoKTsKK30KKworc3Rh
dGljIFBhc3NSZWZQdHI8SURCU1FMaXRlRGF0YWJhc2U+IG9wZW5TUUxpdGVEYXRhYmFzZShTZWN1
cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFN0cmluZyYgcGF0aEJhc2UsIGludDY0
X3QgbWF4aW11bVNpemUsIGNvbnN0IFN0cmluZyYgZmlsZUlkZW50aWZpZXIsIElEQkZhY3RvcnlC
YWNrZW5kSW1wbCogZmFjdG9yeSkKIHsKICAgICBTdHJpbmcgcGF0aCA9ICI6bWVtb3J5OiI7CiAg
ICAgaWYgKCFwYXRoQmFzZS5pc0VtcHR5KCkpIHsKQEAgLTYyLDU0ICs2OCw0NiBAQCBzdGF0aWMg
UGFzc093blB0cjxTUUxpdGVEYXRhYmFzZT4gb3BlblNRTGl0ZURhdGFiYXNlKFNlY3VyaXR5T3Jp
Z2luKiBzZWN1cml0eU9yaQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KIAotICAg
ICAgICBwYXRoID0gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHBhdGhCYXNlLCBJREJGYWN0b3J5
QmFja2VuZEltcGw6OmRhdGFiYXNlRmlsZU5hbWUobmFtZSwgc2VjdXJpdHlPcmlnaW4pKTsKKyAg
ICAgICAgcGF0aCA9IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChwYXRoQmFzZSwgSURCRmFjdG9y
eUJhY2tlbmRJbXBsOjpkYXRhYmFzZUZpbGVOYW1lKHNlY3VyaXR5T3JpZ2luKSk7CiAgICAgfQog
Ci0gICAgT3duUHRyPFNRTGl0ZURhdGFiYXNlPiBzcWxpdGVEYXRhYmFzZSA9IGFkb3B0UHRyKG5l
dyBTUUxpdGVEYXRhYmFzZSgpKTsKLSAgICBpZiAoIXNxbGl0ZURhdGFiYXNlLT5vcGVuKHBhdGgp
KSB7CisgICAgUmVmUHRyPElEQlNRTGl0ZURhdGFiYXNlPiBzcWxpdGVEYXRhYmFzZSA9IElEQlNR
TGl0ZURhdGFiYXNlOjpjcmVhdGUoZmlsZUlkZW50aWZpZXIsIGZhY3RvcnkpOworICAgIGlmICgh
c3FsaXRlRGF0YWJhc2UtPmRiKCkub3BlbihwYXRoKSkgewogICAgICAgICAvLyBGSVhNRTogSXMg
dGhlcmUgYW55IG90aGVyIHRoaW5nIHdlIGNvdWxkIHBvc3NpYmx5IGRvIHRvIHJlY292ZXIgYXQg
dGhpcyBwb2ludD8gSWYgc28sIGRvIGl0IHJhdGhlciB0aGFuIGp1c3QgZXJyb3Jpbmcgb3V0Lgog
ICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBvcGVuIGRhdGFiYXNlIGZpbGUgJXMgZm9yIElu
ZGV4ZWREQiIsIHBhdGgudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0K
IAotICAgIHNxbGl0ZURhdGFiYXNlLT5zZXRNYXhpbXVtU2l6ZShtYXhpbXVtU2l6ZSk7CisgICAg
Ly8gRklYTUU6IEVycm9yIGNoZWNraW5nPworICAgIHNxbGl0ZURhdGFiYXNlLT5kYigpLnNldE1h
eGltdW1TaXplKG1heGltdW1TaXplKTsKKyAgICBzcWxpdGVEYXRhYmFzZS0+ZGIoKS50dXJuT25J
bmNyZW1lbnRhbEF1dG9WYWN1dW0oKTsKKwogICAgIHJldHVybiBzcWxpdGVEYXRhYmFzZS5yZWxl
YXNlKCk7CiB9CiAKLXN0YXRpYyBib29sIGNyZWF0ZVRhYmxlcyhTUUxpdGVEYXRhYmFzZSogc3Fs
aXRlRGF0YWJhc2UpCitzdGF0aWMgYm9vbCBjcmVhdGVUYWJsZXMoU1FMaXRlRGF0YWJhc2UmIHNx
bGl0ZURhdGFiYXNlKQogewotICAgIC8vIEZJWE1FOiBSZW1vdmUgYWxsIHRoZSBkcm9wIHRhYmxl
IGNvbW1hbmRzIG9uY2UgdGhlIG9uIGRpc2sgc3RydWN0dXJlIHN0YWJpbGl6ZXMuCiAgICAgc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbW1hbmRzW10gPSB7Ci0gICAgICAgICJEUk9QIFRBQkxFIElGIEVY
SVNUUyBNZXRhRGF0YSIsCi0gICAgICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBNZXRh
RGF0YSAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgbmFtZSBURVhUIE5PVCBOVUxMLCBkZXNjcmlw
dGlvbiBURVhUIE5PVCBOVUxMLCB2ZXJzaW9uIFRFWFQgTk9UIE5VTEwpIiwKKyAgICAgICAgIkNS
RUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFiYXNlcyAoaWQgSU5URUdFUiBQUklNQVJZIEtF
WSwgbmFtZSBURVhUIE5PVCBOVUxMLCBkZXNjcmlwdGlvbiBURVhUIE5PVCBOVUxMLCB2ZXJzaW9u
IFRFWFQgTk9UIE5VTEwpIiwKKyAgICAgICAgIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVY
SVNUUyBEYXRhYmFzZXNfbmFtZSBPTiBEYXRhYmFzZXMobmFtZSkiLAogCi0gICAgICAgICJEUk9Q
IFRBQkxFIElGIEVYSVNUUyBPYmplY3RTdG9yZXMiLAotICAgICAgICAiQ1JFQVRFIFRBQkxFIElG
IE5PVCBFWElTVFMgT2JqZWN0U3RvcmVzIChpZCBJTlRFR0VSIFBSSU1BUlkgS0VZLCBuYW1lIFRF
WFQgTk9UIE5VTEwgVU5JUVVFLCBrZXlQYXRoIFRFWFQsIGRvQXV0b0luY3JlbWVudCBJTlRFR0VS
IE5PVCBOVUxMKSIsCi0gICAgICAgICJEUk9QIElOREVYIElGIEVYSVNUUyBPYmplY3RTdG9yZXNf
bmFtZSIsCi0gICAgICAgICJDUkVBVEUgVU5JUVVFIElOREVYIElGIE5PVCBFWElTVFMgT2JqZWN0
U3RvcmVzX25hbWUgT04gT2JqZWN0U3RvcmVzKG5hbWUpIiwKKyAgICAgICAgIkNSRUFURSBUQUJM
RSBJRiBOT1QgRVhJU1RTIE9iamVjdFN0b3JlcyAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgbmFt
ZSBURVhUIE5PVCBOVUxMLCBrZXlQYXRoIFRFWFQsIGRvQXV0b0luY3JlbWVudCBJTlRFR0VSIE5P
VCBOVUxMLCBkYXRhYmFzZUlkIElOVEVHRVIgTk9UIE5VTEwgUkVGRVJFTkNFUyBEYXRhYmFzZXMo
aWQpKSIsCisgICAgICAgICJDUkVBVEUgVU5JUVVFIElOREVYIElGIE5PVCBFWElTVFMgT2JqZWN0
U3RvcmVzX2NvbXBvc2l0IE9OIE9iamVjdFN0b3JlcyhkYXRhYmFzZUlkLCBuYW1lKSIsCiAKLSAg
ICAgICAgIkRST1AgVEFCTEUgSUYgRVhJU1RTIEluZGV4ZXMiLAotICAgICAgICAiQ1JFQVRFIFRB
QkxFIElGIE5PVCBFWElTVFMgSW5kZXhlcyAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgb2JqZWN0
U3RvcmVJZCBJTlRFR0VSIE5PVCBOVUxMIFJFRkVSRU5DRVMgT2JqZWN0U3RvcmUoaWQpLCBuYW1l
IFRFWFQgTk9UIE5VTEwgVU5JUVVFLCBrZXlQYXRoIFRFWFQsIGlzVW5pcXVlIElOVEVHRVIgTk9U
IE5VTEwpIiwKLSAgICAgICAgIkRST1AgSU5ERVggSUYgRVhJU1RTIEluZGV4ZXNfY29tcG9zaXQi
LAorICAgICAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgSW5kZXhlcyAoaWQgSU5URUdF
UiBQUklNQVJZIEtFWSwgb2JqZWN0U3RvcmVJZCBJTlRFR0VSIE5PVCBOVUxMIFJFRkVSRU5DRVMg
T2JqZWN0U3RvcmUoaWQpLCBuYW1lIFRFWFQgTk9UIE5VTEwsIGtleVBhdGggVEVYVCwgaXNVbmlx
dWUgSU5URUdFUiBOT1QgTlVMTCkiLAogICAgICAgICAiQ1JFQVRFIFVOSVFVRSBJTkRFWCBJRiBO
T1QgRVhJU1RTIEluZGV4ZXNfY29tcG9zaXQgT04gSW5kZXhlcyhvYmplY3RTdG9yZUlkLCBuYW1l
KSIsCiAKLSAgICAgICAgIkRST1AgVEFCTEUgSUYgRVhJU1RTIE9iamVjdFN0b3JlRGF0YSIsCi0g
ICAgICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBPYmplY3RTdG9yZURhdGEgKGlkIElO
VEVHRVIgUFJJTUFSWSBLRVksIG9iamVjdFN0b3JlSWQgSU5URUdFUiBOT1QgTlVMTCBSRUZFUkVO
Q0VTIE9iamVjdFN0b3JlKGlkKSwga2V5U3RyaW5nIFRFWFQgVU5JUVVFLCBrZXlEYXRlIElOVEVH
RVIgVU5JUVVFLCBrZXlOdW1iZXIgSU5URUdFUiBVTklRVUUsIHZhbHVlIFRFWFQgTk9UIE5VTEwp
IiwKLSAgICAgICAgIkRST1AgSU5ERVggSUYgRVhJU1RTIE9iamVjdFN0b3JlRGF0YV9jb21wb3Np
dCIsCisgICAgICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBPYmplY3RTdG9yZURhdGEg
KGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIG9iamVjdFN0b3JlSWQgSU5URUdFUiBOT1QgTlVMTCBS
RUZFUkVOQ0VTIE9iamVjdFN0b3JlKGlkKSwga2V5U3RyaW5nIFRFWFQsIGtleURhdGUgSU5URUdF
Uiwga2V5TnVtYmVyIElOVEVHRVIsIHZhbHVlIFRFWFQgTk9UIE5VTEwpIiwKICAgICAgICAgIkNS
RUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBPYmplY3RTdG9yZURhdGFfY29tcG9zaXQg
T04gT2JqZWN0U3RvcmVEYXRhKGtleVN0cmluZywga2V5RGF0ZSwga2V5TnVtYmVyLCBvYmplY3RT
dG9yZUlkKSIsCiAKLSAgICAgICAgIkRST1AgVEFCTEUgSUYgRVhJU1RTIEluZGV4RGF0YSIsCiAg
ICAgICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBJbmRleERhdGEgKGlkIElOVEVHRVIg
UFJJTUFSWSBLRVksIGluZGV4SWQgSU5URUdFUiBOT1QgTlVMTCBSRUZFUkVOQ0VTIEluZGV4ZXMo
aWQpLCBrZXlTdHJpbmcgVEVYVCwga2V5RGF0ZSBJTlRFR0VSLCBrZXlOdW1iZXIgSU5URUdFUiwg
b2JqZWN0U3RvcmVEYXRhSWQgSU5URUdFUiBOT1QgTlVMTCBSRUZFUkVOQ0VTIE9iamVjdFN0b3Jl
RGF0YShpZCkpIiwKLSAgICAgICAgIkRST1AgSU5ERVggSUYgRVhJU1RTIEluZGV4RGF0YV9jb21w
b3NpdCIsCiAgICAgICAgICJDUkVBVEUgSU5ERVggSUYgTk9UIEVYSVNUUyBJbmRleERhdGFfY29t
cG9zaXQgT04gSW5kZXhEYXRhKGtleVN0cmluZywga2V5RGF0ZSwga2V5TnVtYmVyLCBpbmRleElk
KSIsCi0gICAgICAgICJEUk9QIElOREVYIElGIEVYSVNUUyBJbmRleERhdGFfb2JqZWN0U3RvcmVE
YXRhSWQiLAogICAgICAgICAiQ1JFQVRFIElOREVYIElGIE5PVCBFWElTVFMgSW5kZXhEYXRhX29i
amVjdFN0b3JlRGF0YUlkIE9OIEluZGV4RGF0YShvYmplY3RTdG9yZURhdGFJZCkiLAotICAgICAg
ICAiRFJPUCBJTkRFWCBJRiBFWElTVFMgSW5kZXhEYXRhX2luZGV4SWQiLAogICAgICAgICAiQ1JF
QVRFIElOREVYIElGIE5PVCBFWElTVFMgSW5kZXhEYXRhX2luZGV4SWQgT04gSW5kZXhEYXRhKGlu
ZGV4SWQpIgogICAgICAgICB9OwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcnJheXNp
emUoY29tbWFuZHMpOyArK2kpIHsKLSAgICAgICAgaWYgKCFzcWxpdGVEYXRhYmFzZS0+ZXhlY3V0
ZUNvbW1hbmQoY29tbWFuZHNbaV0pKSB7CisgICAgICAgIGlmICghc3FsaXRlRGF0YWJhc2UuZXhl
Y3V0ZUNvbW1hbmQoY29tbWFuZHNbaV0pKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIHRyeSB0byByZWNvdmVyIGZyb20gdGhpcyBzaXR1YXRpb24uIE1heWJlIG51a2UgdGhlIGRh
dGFiYXNlIGFuZCBzdGFydCBvdmVyPwogICAgICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8g
cnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBmb3IgSW5kZXhlZERCOiAlcyIsIGNvbW1hbmRzW2ld
KTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEyMCw3ICsxMTgsOSBAQCBzdGF0aWMg
Ym9vbCBjcmVhdGVUYWJsZXMoU1FMaXRlRGF0YWJhc2UqIHNxbGl0ZURhdGFiYXNlKQogCiB2b2lk
IElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIFBh
c3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luLCBGcmFtZSosIGNvbnN0IFN0
cmluZyYgZGF0YURpciwgaW50NjRfdCBtYXhpbXVtU2l6ZSkKIHsKLSAgICBJREJEYXRhYmFzZUJh
Y2tlbmRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9kYXRhYmFzZUJhY2tlbmRNYXAuZmluZChuYW1lKTsK
KyAgICBTdHJpbmcgZmlsZUlkZW50aWZpZXIgPSBzZWN1cml0eU9yaWdpbi0+ZGF0YWJhc2VJZGVu
dGlmaWVyKCk7CisgICAgU3RyaW5nIHVuaXF1ZUlkZW50aWZpZXIgPSBmaWxlSWRlbnRpZmllciAr
ICJAIiArIG5hbWU7CisgICAgSURCRGF0YWJhc2VCYWNrZW5kTWFwOjppdGVyYXRvciBpdCA9IG1f
ZGF0YWJhc2VCYWNrZW5kTWFwLmZpbmQodW5pcXVlSWRlbnRpZmllcik7CiAgICAgaWYgKGl0ICE9
IG1fZGF0YWJhc2VCYWNrZW5kTWFwLmVuZCgpKSB7CiAgICAgICAgIGlmICghZGVzY3JpcHRpb24u
aXNOdWxsKCkpCiAgICAgICAgICAgICBpdC0+c2Vjb25kLT5zZXREZXNjcmlwdGlvbihkZXNjcmlw
dGlvbik7IC8vIFRoZSBkZXNjcmlwdGlvbiBtYXkgaGF2ZSBjaGFuZ2VkLgpAQCAtMTMwLDIyICsx
MzAsMjkgQEAgdm9pZCBJREJGYWN0b3J5QmFja2VuZEltcGw6Om9wZW4oY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLAogCiAgICAgLy8gRklYTUU6IEV2ZXJ5dGhp
bmcgZnJvbSBub3cgb24gc2hvdWxkIGJlIGRvbmUgb24gYW5vdGhlciB0aHJlYWQuCiAKLSAgICBP
d25QdHI8U1FMaXRlRGF0YWJhc2U+IHNxbGl0ZURhdGFiYXNlID0gb3BlblNRTGl0ZURhdGFiYXNl
KHNlY3VyaXR5T3JpZ2luLmdldCgpLCBuYW1lLCBkYXRhRGlyLCBtYXhpbXVtU2l6ZSk7Ci0gICAg
aWYgKCFzcWxpdGVEYXRhYmFzZSB8fCAhY3JlYXRlVGFibGVzKHNxbGl0ZURhdGFiYXNlLmdldCgp
KSkgewotICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRl
KElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkludGVybmFsIGVycm9yLiIpKTsK
LSAgICAgICAgcmV0dXJuOworICAgIFJlZlB0cjxJREJTUUxpdGVEYXRhYmFzZT4gc3FsaXRlRGF0
YWJhc2U7CisgICAgU1FMaXRlRGF0YWJhc2VNYXA6Oml0ZXJhdG9yIGl0MiA9IG1fc3FsaXRlRGF0
YWJhc2VNYXAuZmluZChmaWxlSWRlbnRpZmllcik7CisgICAgaWYgKGl0MiAhPSBtX3NxbGl0ZURh
dGFiYXNlTWFwLmVuZCgpKQorICAgICAgICBzcWxpdGVEYXRhYmFzZSA9IGl0Mi0+c2Vjb25kOwor
ICAgIGVsc2UgeworICAgICAgICBzcWxpdGVEYXRhYmFzZSA9IG9wZW5TUUxpdGVEYXRhYmFzZShz
ZWN1cml0eU9yaWdpbi5nZXQoKSwgZGF0YURpciwgbWF4aW11bVNpemUsIGZpbGVJZGVudGlmaWVy
LCB0aGlzKTsKKworICAgICAgICBpZiAoIXNxbGl0ZURhdGFiYXNlIHx8ICFjcmVhdGVUYWJsZXMo
c3FsaXRlRGF0YWJhc2UtPmRiKCkpKSB7CisgICAgICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3Io
SURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VS
UiwgIkludGVybmFsIGVycm9yLiIpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgICAgICBtX3NxbGl0ZURhdGFiYXNlTWFwLnNldChmaWxlSWRlbnRpZmllciwgc3FsaXRlRGF0
YWJhc2UuZ2V0KCkpOwogICAgIH0KIAotICAgIFJlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBs
PiBkYXRhYmFzZUJhY2tlbmQgPSBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpjcmVhdGUobmFtZSwg
ZGVzY3JpcHRpb24sIHNxbGl0ZURhdGFiYXNlLnJlbGVhc2UoKSwgbV90cmFuc2FjdGlvbkNvb3Jk
aW5hdG9yLmdldCgpKTsKKyAgICBSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJh
c2VCYWNrZW5kID0gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlKG5hbWUsIGRlc2NyaXB0
aW9uLCBzcWxpdGVEYXRhYmFzZS5nZXQoKSwgbV90cmFuc2FjdGlvbkNvb3JkaW5hdG9yLmdldCgp
KTsKICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhkYXRhYmFzZUJhY2tlbmQuZ2V0KCkpOwotICAg
IG1fZGF0YWJhc2VCYWNrZW5kTWFwLnNldChuYW1lLCBkYXRhYmFzZUJhY2tlbmQucmVsZWFzZSgp
KTsKKyAgICBtX2RhdGFiYXNlQmFja2VuZE1hcC5zZXQodW5pcXVlSWRlbnRpZmllciwgZGF0YWJh
c2VCYWNrZW5kLnJlbGVhc2UoKSk7CiB9CiAKLVN0cmluZyBJREJGYWN0b3J5QmFja2VuZEltcGw6
OmRhdGFiYXNlRmlsZU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBTZWN1cml0eU9yaWdpbiogc2Vj
dXJpdHlPcmlnaW4pCitTdHJpbmcgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkYXRhYmFzZUZpbGVO
YW1lKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKIHsKICAgICBTdHJpbmcgZGF0YWJh
c2VJZGVudGlmaWVyID0gc2VjdXJpdHlPcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpOwotICAg
IFN0cmluZyBzYW50aXplZE5hbWUgPSBlbmNvZGVGb3JGaWxlTmFtZShuYW1lKTsKLSAgICByZXR1
cm4gZGF0YWJhc2VJZGVudGlmaWVyICsgIkAiICsgc2FudGl6ZWROYW1lICsgIi5pbmRleGVkZGIi
OworICAgIHJldHVybiBkYXRhYmFzZUlkZW50aWZpZXIgKyAiLmluZGV4ZWRkYiI7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0
b3J5QmFja2VuZEltcGwuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwu
aAppbmRleCAyMTFiN2ZhMTBlNDcwNjU0MjgzYzI5ZTFiODRhZDk5ZGZhMGE2MjU3Li4zODFjNDAy
MzJmZjljM2NjMTQ0OTZjZDdmNjE0Mjc4NWIwZmNmNWYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0
b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkZh
Y3RvcnlCYWNrZW5kSW1wbC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIERPTVN0cmluZ0xpc3Q7CiAKIGNsYXNzIElEQkRhdGFiYXNlQmFja2VuZEltcGw7Citj
bGFzcyBJREJTUUxpdGVEYXRhYmFzZTsKIGNsYXNzIElEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3I7
CiAKIGNsYXNzIElEQkZhY3RvcnlCYWNrZW5kSW1wbCA6IHB1YmxpYyBJREJGYWN0b3J5QmFja2Vu
ZEludGVyZmFjZSB7CkBAIC00OSwxOCArNTAsMjYgQEAgcHVibGljOgogICAgIH0KICAgICB2aXJ0
dWFsIH5JREJGYWN0b3J5QmFja2VuZEltcGwoKTsKIAorICAgIC8vIElEQlNRTGl0ZURhdGFiYXNl
J3MgbGlmZXRpbWUgbWF5IGJlIHNob3J0ZXIgdGhhbiBvdXJzLCBzbyB3ZSBuZWVkIG5vdGlmaWNh
dGlvbiB3aGVuIGl0IGRpZXMuCisgICAgdm9pZCByZW1vdmVTUUxpdGVEYXRhYmFzZShjb25zdCBT
dHJpbmcmIGZpbGVQYXRoKTsKKwogICAgIHZpcnR1YWwgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIGRhdGFE
aXIsIGludDY0X3QgbWF4aW11bVNpemUpOwogCi0gICAgc3RhdGljIFN0cmluZyBkYXRhYmFzZUZp
bGVOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgU2VjdXJpdHlPcmlnaW4qKTsKKyAgICBzdGF0aWMg
U3RyaW5nIGRhdGFiYXNlRmlsZU5hbWUoU2VjdXJpdHlPcmlnaW4qKTsKIAogcHJpdmF0ZToKICAg
ICBJREJGYWN0b3J5QmFja2VuZEltcGwoKTsKIAorICAgIC8vIEZJWE1FOiBKdXN0IGhvbGQgYSB3
ZWFrIHBvaW50ZXIuCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgUmVmUHRyPElEQkRhdGFi
YXNlQmFja2VuZEltcGw+ID4gSURCRGF0YWJhc2VCYWNrZW5kTWFwOwogICAgIElEQkRhdGFiYXNl
QmFja2VuZE1hcCBtX2RhdGFiYXNlQmFja2VuZE1hcDsKKworICAgIHR5cGVkZWYgSGFzaE1hcDxT
dHJpbmcsIElEQlNRTGl0ZURhdGFiYXNlKj4gU1FMaXRlRGF0YWJhc2VNYXA7CisgICAgU1FMaXRl
RGF0YWJhc2VNYXAgbV9zcWxpdGVEYXRhYmFzZU1hcDsKKwogICAgIFJlZlB0cjxJREJUcmFuc2Fj
dGlvbkNvb3JkaW5hdG9yPiBtX3RyYW5zYWN0aW9uQ29vcmRpbmF0b3I7CiAKLSAgICAvLyBXZSBv
bmx5IGNyZWF0ZSBvbmUgaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyBhdCBhIHRpbWUuCisgICAgLy8g
T25seSBvbmUgaW5zdGFuY2Ugb2YgdGhlIGZhY3Rvcnkgc2hvdWxkIGV4aXN0IGF0IGFueSBnaXZl
biB0aW1lLgogICAgIHN0YXRpYyBJREJGYWN0b3J5QmFja2VuZEltcGwqIGlkYkZhY3RvcnlCYWNr
ZW5kSW1wbDsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9y
ZUJhY2tlbmRJbXBsLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJ
bXBsLmNwcAppbmRleCBmM2FlZTkxZDIzOTlkNzM1YzJhOTQ5MGU1ODI3ZWQ1MTNhMzUyN2RhLi5m
ZTY4ZWJmOWZiMWM3MzkxMjEzZjkwNzdmNDkwNzNiOTQ4MDNjZjVjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKKysrIGIvV2ViQ29yZS9z
dG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCkBAIC0xMzEsMjUgKzEzMSwyNSBA
QCBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGZldGNoS2V5RnJvbUtleVBhdGgoU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlKiB2YWx1ZSwgY29ucwogICAgIHJldHVybiBrZXlzWzBdLnJlbGVhc2UoKTsK
IH0KIAotc3RhdGljIGJvb2wgcHV0T2JqZWN0U3RvcmVEYXRhKFNRTGl0ZURhdGFiYXNlJiBkYiwg
SURCS2V5KiBrZXksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogdmFsdWUsIGludDY0X3Qgb2JqZWN0
U3RvcmVJZCwgaW50NjRfdCogZGF0YVJvd0lkKQorc3RhdGljIGJvb2wgcHV0T2JqZWN0U3RvcmVE
YXRhKFNRTGl0ZURhdGFiYXNlJiBkYiwgSURCS2V5KiBrZXksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSogdmFsdWUsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCYgZGF0YVJvd0lkKQogewot
ICAgIFN0cmluZyBzcWwgPSAqZGF0YVJvd0lkICE9IC0xID8gIlVQREFURSBPYmplY3RTdG9yZURh
dGEgU0VUIGtleVN0cmluZyA9ID8sIGtleURhdGUgPSA/LCBrZXlOdW1iZXIgPSA/LCB2YWx1ZSA9
ID8gV0hFUkUgaWQgPSA/IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIklO
U0VSVCBJTlRPIE9iamVjdFN0b3JlRGF0YSAoa2V5U3RyaW5nLCBrZXlEYXRlLCBrZXlOdW1iZXIs
IHZhbHVlLCBvYmplY3RTdG9yZUlkKSBWQUxVRVMgKD8sID8sID8sID8sID8pIjsKKyAgICBTdHJp
bmcgc3FsID0gZGF0YVJvd0lkICE9IElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OkludmFsaWRJ
ZCA/ICJVUERBVEUgT2JqZWN0U3RvcmVEYXRhIFNFVCBrZXlTdHJpbmcgPSA/LCBrZXlEYXRlID0g
Pywga2V5TnVtYmVyID0gPywgdmFsdWUgPSA/IFdIRVJFIGlkID0gPyIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJJ
TlNFUlQgSU5UTyBPYmplY3RTdG9yZURhdGEgKGtleVN0cmluZywga2V5RGF0ZSwga2V5TnVtYmVy
LCB2YWx1ZSwgb2JqZWN0U3RvcmVJZCkgVkFMVUVTICg/LCA/LCA/LCA/LCA/KSI7CiAgICAgU1FM
aXRlU3RhdGVtZW50IHF1ZXJ5KGRiLCBzcWwpOwogICAgIGlmIChxdWVyeS5wcmVwYXJlKCkgIT0g
U1FMUmVzdWx0T2spCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBrZXktPmJpbmRXaXRoTnVs
bHMocXVlcnksIDEpOwogICAgIHF1ZXJ5LmJpbmRUZXh0KDQsIHZhbHVlLT50b1dpcmVTdHJpbmco
KSk7Ci0gICAgaWYgKCpkYXRhUm93SWQgIT0gLTEpCi0gICAgICAgIHF1ZXJ5LmJpbmRJbnQoNSwg
KmRhdGFSb3dJZCk7CisgICAgaWYgKGRhdGFSb3dJZCAhPSBJREJEYXRhYmFzZUJhY2tlbmRJbXBs
OjpJbnZhbGlkSWQpCisgICAgICAgIHF1ZXJ5LmJpbmRJbnQ2NCg1LCBkYXRhUm93SWQpOwogICAg
IGVsc2UKICAgICAgICAgcXVlcnkuYmluZEludDY0KDUsIG9iamVjdFN0b3JlSWQpOwogCiAgICAg
aWYgKHF1ZXJ5LnN0ZXAoKSAhPSBTUUxSZXN1bHREb25lKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBpZiAoKmRhdGFSb3dJZCA9PSAtMSkKLSAgICAgICAgKmRhdGFSb3dJZCA9IGRiLmxh
c3RJbnNlcnRSb3dJRCgpOworICAgIGlmIChkYXRhUm93SWQgPT0gSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6SW52YWxpZElkKQorICAgICAgICBkYXRhUm93SWQgPSBkYi5sYXN0SW5zZXJ0Um93SUQo
KTsKIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMjM4LDggKzIzOCw4IEBAIHZvaWQgSURCT2Jq
ZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0SW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFBhc3NSZWZQdHI8CiAKICAgICAvLyBCZWZvcmUgdGhpcyBwb2ludCwgZG9uJ3QgZG8gYW55IG11
dGF0aW9uLiAgQWZ0ZXIgdGhpcyBwb2ludCwgcm9sbGJhY2sgdGhlIHRyYW5zYWN0aW9uIGluIGNh
c2Ugb2YgZXJyb3IuCiAKLSAgICBpbnQ2NF90IGRhdGFSb3dJZCA9IGlzRXhpc3RpbmdWYWx1ZSA/
IGdldFF1ZXJ5LmdldENvbHVtbkludCgwKSA6IC0xOwotICAgIGlmICghcHV0T2JqZWN0U3RvcmVE
YXRhKG9iamVjdFN0b3JlLT5zcWxpdGVEYXRhYmFzZSgpLCBrZXkuZ2V0KCksIHZhbHVlLmdldCgp
LCBvYmplY3RTdG9yZS0+aWQoKSwgJmRhdGFSb3dJZCkpIHsKKyAgICBpbnQ2NF90IGRhdGFSb3dJ
ZCA9IGlzRXhpc3RpbmdWYWx1ZSA/IGdldFF1ZXJ5LmdldENvbHVtbkludCgwKSA6IEludmFsaWRJ
ZDsKKyAgICBpZiAoIXB1dE9iamVjdFN0b3JlRGF0YShvYmplY3RTdG9yZS0+c3FsaXRlRGF0YWJh
c2UoKSwga2V5LmdldCgpLCB2YWx1ZS5nZXQoKSwgb2JqZWN0U3RvcmUtPmlkKCksIGRhdGFSb3dJ
ZCkpIHsKICAgICAgICAgLy8gRklYTUU6IFRoZSBJbmRleGVkIERhdGFiYXNlIHNwZWNpZmljYXRp
b24gZG9lcyBub3QgaGF2ZSBhbiBlcnJvciBjb2RlIGRlZGljYXRlZCB0byBJL08gZXJyb3JzLgog
ICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRh
dGFiYXNlRXhjZXB0aW9uOjpVTktOT1dOX0VSUiwgIkVycm9yIHdyaXRpbmcgZGF0YSB0byBzdGFi
bGUgc3RvcmFnZS4iKSk7CiAgICAgICAgIHRyYW5zYWN0aW9uLT5hYm9ydCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaCBiL1dlYkNvcmUv
c3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmgKaW5kZXggMDkyMjNiMTQ5N2MxYzlh
YmQ0NGRmODVlMTI5ZDM3ZjM5OWY1NDEyNy4uNjBlMDExZmQ5ZGZiNjI2N2QwYzlhZDU4ODNmZmI2
OGU5OTA1NDllMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFj
a2VuZEltcGwuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bC5oCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCB+SURCT2Jq
ZWN0U3RvcmVCYWNrZW5kSW1wbCgpOwogCisgICAgc3RhdGljIGNvbnN0IGludDY0X3QgSW52YWxp
ZElkID0gMDsKICAgICBpbnQ2NF90IGlkKCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVCht
X2lkICE9IEludmFsaWRJZCk7CkBAIC05NCw4ICs5NSw2IEBAIHByaXZhdGU6CiAgICAgc3RhdGlj
IHZvaWQgcmVtb3ZlSW5kZXhGcm9tTWFwKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2Vu
ZEltcGw+KTsKICAgICBzdGF0aWMgdm9pZCBhZGRJbmRleFRvTWFwKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRy
PElEQkluZGV4QmFja2VuZEltcGw+KTsKIAotICAgIHN0YXRpYyBjb25zdCBpbnQ2NF90IEludmFs
aWRJZCA9IDA7Ci0KICAgICBSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gbV9kYXRhYmFz
ZTsKIAogICAgIGludDY0X3QgbV9pZDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJT
UUxpdGVEYXRhYmFzZS5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCU1FMaXRlRGF0YWJhc2UuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU4ODE5MTdlMGIyNmI2NzljMzgyNjQwMWYzOTQwZDYzMWMwNmI0YmIKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCU1FMaXRlRGF0YWJhc2UuY3BwCkBA
IC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURC
U1FMaXRlRGF0YWJhc2UuaCIKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5j
bHVkZSAiSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
SURCU1FMaXRlRGF0YWJhc2U6OklEQlNRTGl0ZURhdGFiYXNlKFN0cmluZyBpZGVudGlmaWVyLCBJ
REJGYWN0b3J5QmFja2VuZEltcGwqIGZhY3RvcnkpCisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRp
ZmllcikKKyAgICAsIG1fZmFjdG9yeShmYWN0b3J5KQoreworfQorCitJREJTUUxpdGVEYXRhYmFz
ZTo6fklEQlNRTGl0ZURhdGFiYXNlKCkKK3sKKyAgICBtX2ZhY3RvcnktPnJlbW92ZVNRTGl0ZURh
dGFiYXNlKG1faWRlbnRpZmllcik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9y
YWdlL0lEQlNRTGl0ZURhdGFiYXNlLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCU1FMaXRlRGF0YWJh
c2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNTU2NTA2NzI3YTMzNDhkODAyNzdkODM0MGE1YmE3ZTM5MTk4NWQ5
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmgK
QEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSURCU1FMaXRlRGF0YWJhc2VfaAorI2Rl
ZmluZSBJREJTUUxpdGVEYXRhYmFzZV9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
KworI2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJREJGYWN0b3J5QmFja2VuZEltcGw7CisK
K2NsYXNzIElEQlNRTGl0ZURhdGFiYXNlIDogcHVibGljIFJlZkNvdW50ZWQ8SURCU1FMaXRlRGF0
YWJhc2U+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJTUUxpdGVEYXRhYmFz
ZT4gY3JlYXRlKFN0cmluZyBpZGVudGlmaWVyLCBJREJGYWN0b3J5QmFja2VuZEltcGwqIGZhY3Rv
cnkpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQlNRTGl0ZURhdGFiYXNl
KGlkZW50aWZpZXIsIGZhY3RvcnkpKTsKKyAgICB9CisgICAgfklEQlNRTGl0ZURhdGFiYXNlKCk7
CisKKyAgICBTUUxpdGVEYXRhYmFzZSYgZGIoKSB7IHJldHVybiBtX2RiOyB9CisKK3ByaXZhdGU6
CisgICAgSURCU1FMaXRlRGF0YWJhc2UoU3RyaW5nIGlkZW50aWZpZXIsIElEQkZhY3RvcnlCYWNr
ZW5kSW1wbCogZmFjdG9yeSk7CisKKyAgICBTUUxpdGVEYXRhYmFzZSBtX2RiOworICAgIFN0cmlu
ZyBtX2lkZW50aWZpZXI7CisgICAgUmVmUHRyPElEQkZhY3RvcnlCYWNrZW5kSW1wbD4gbV9mYWN0
b3J5OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKworI2VuZGlmIC8v
IElEQlNRTGl0ZURhdGFiYXNlX2gKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDRmNzk0ODMzZTZiY2ZhMTJjNzYy
MDJiZmZlZGVhYWQ5ZjUxMzFmOGYuLjk2YTVjNmNkZmZiNTFiY2E1MDg4ZmY2MzgyYWExYjkyM2Fi
NWU1YjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTEwLTIxICBKZXJlbXkg
T3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFF1b3RhIGZvciBJbmRleGVkREIgc2hvdWxkIGJlIHBlciBv
cmlnaW4gbm90IHBlciBkYXRhYmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDgwNjQKKworICAgICAgICAqIHB1YmxpYy9XZWJJREJGYWN0b3J5Lmg6
CisgICAgICAgICogcHVibGljL1dlYlNlY3VyaXR5T3JpZ2luLmg6CisgICAgICAgICogc3JjL1dl
YklEQkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJGYWN0b3J5OjpkYXRhYmFz
ZUZpbGVOYW1lKToKKyAgICAgICAgKiBzcmMvV2ViU2VjdXJpdHlPcmlnaW4uY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTZWN1cml0eU9yaWdpbjo6Z2V0KToKKwogMjAxMC0xMC0yMCAgS2ludWtv
IFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmlh
biBMaS4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRmFjdG9yeS5o
IGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJGYWN0b3J5LmgKaW5kZXggYzdmYmUwMjQw
MmIyYzMxZTQzMGY5ZjcwYTBlZGIxN2RmODYzZWQ5Ny4uNjZjZWFkYmVlMmY3NjY2ZjY0ODk2ZGY3
NzE4MTU0YjQ5OGY2ZmU1MiAxMDA3NTUKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJ
REJGYWN0b3J5LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJGYWN0b3J5LmgK
QEAgLTU4LDYgKzU4LDggQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIFRoZSBmaWxlIG5hbWUg
dGhhdCB3b3VsZCBiZSB1c2VkIGZvciBwZXJzaXN0aW5nIGEgZ2l2ZW4gaW5kZXhlZCBkYXRhYmFz
ZSBvbiB0aGUgZmlsZSBzeXN0ZW0uCisgICAgV0VCS0lUX0FQSSBzdGF0aWMgV2ViU3RyaW5nIGRh
dGFiYXNlRmlsZU5hbWUoY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mKTsKKyAgICAvLyBGSVhNRTog
UmVtb3ZlIGFmdGVyIHJvbGwuCiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgV2ViU3RyaW5nIGRhdGFi
YXNlRmlsZU5hbWUoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTZWN1cml0eU9yaWdp
biYpOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJLZXku
aCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKaW5kZXggNjBkMzMyNTM2NDkz
ZmIxNTcxMmMyNzRmYjk4Zjg0MGQwODZmYjFjMS4uMTcxZmU3ODM1Y2JkMjMzYmFhYzgyMTcyNmYy
YjU4NjBhOWQ0YWNkYiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJL
ZXkuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQktleS5oCkBAIC04Miw3ICs4
Miw2IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgotCiAgICAgV2ViUHJpdmF0ZVB0cjxX
ZWJDb3JlOjpJREJLZXk+IG1fcHJpdmF0ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlPcmlnaW4uaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViU2VjdXJpdHlPcmlnaW4uaAppbmRleCBlZmNiMmU5NzI4Y2VlYjQ0YzY3YjFjMjBhODdjYWI5
NzdjMWI4ZjExLi5hMjQxNjgyY2ZhMGM1OWExMTc4NjVlMWQ2MzJmZGYxNDFlYjM2ZjdjIDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNlY3VyaXR5T3JpZ2luLmgKKysrIGIv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZWN1cml0eU9yaWdpbi5oCkBAIC0xMDAsNiArMTAw
LDcgQEAgcHVibGljOgogICAgIFdlYlNlY3VyaXR5T3JpZ2luKGNvbnN0IFdURjo6UGFzc1JlZlB0
cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mKTsKICAgICBXZWJTZWN1cml0eU9yaWdpbiYgb3Bl
cmF0b3I9KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mKTsK
ICAgICBvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+KCkg
Y29uc3Q7CisgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIGdldCgpIGNvbnN0OwogI2VuZGlm
CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkZhY3Rv
cnkuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5LmNwcAppbmRleCBiMTg2
YjY4YzlmYTE0MmRlM2NiYWFkYmRhNzQzNmUwMzAxNzI5YTcxLi40MGVmZjk3NDc5YzU2NDNkMDVi
MWRhZDNkMTgzZTZjZmZhZWY5ZDQ3IDEwMDc1NQotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YklEQkZhY3RvcnkuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRmFjdG9yeS5j
cHAKQEAgLTMxLDIyICszMSwyMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldl
YklEQkZhY3RvcnkuaCIKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotCiAjaW5jbHVk
ZSAiSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgiCi0jaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
KyNpbmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJh
bS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
LVdlYlN0cmluZyBXZWJJREJGYWN0b3J5OjpkYXRhYmFzZUZpbGVOYW1lKGNvbnN0IFdlYlN0cmlu
ZyYgbmFtZSwgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKK1dlYlN0cmluZyBXZWJJ
REJGYWN0b3J5OjpkYXRhYmFzZUZpbGVOYW1lKGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2luJiBvcmln
aW4pCiB7Ci0gICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbjsKLSAgICBz
ZWN1cml0eU9yaWdpbiA9IG9yaWdpbjsKLSAgICByZXR1cm4gSURCRmFjdG9yeUJhY2tlbmRJbXBs
OjpkYXRhYmFzZUZpbGVOYW1lKG5hbWUsIHNlY3VyaXR5T3JpZ2luLmdldCgpKTsKKyAgICByZXR1
cm4gSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkYXRhYmFzZUZpbGVOYW1lKG9yaWdpbi5nZXQoKSk7
CiB9CiAKK1dlYlN0cmluZyBXZWJJREJGYWN0b3J5OjpkYXRhYmFzZUZpbGVOYW1lKGNvbnN0IFdl
YlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKK3sKKyAgICBV
TlVTRURfUEFSQU0obmFtZSk7CisgICAgcmV0dXJuIGRhdGFiYXNlRmlsZU5hbWUob3JpZ2luKTsK
IH0KIAotI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorfQpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eU9yaWdpbi5jcHAgYi9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNlY3VyaXR5T3JpZ2luLmNwcAppbmRleCA4Njg1NzM4ZGEzYzhlNDM0ZjU4ZGJh
ZjE3MTMwNzYwZWNhZDNhZTQ5Li5hZGNjYjMxYWU2MGNjN2U0ZDc5MDVkY2VjYmM4NjU3MGUzZjcz
OWMzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlY3VyaXR5T3JpZ2luLmNw
cAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNlY3VyaXR5T3JpZ2luLmNwcApAQCAtMTQz
LDYgKzE0MywxMSBAQCBXZWJTZWN1cml0eU9yaWdpbjo6b3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRy
PFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPigpIGNvbnN0CiAgICAgcmV0dXJuIFBhc3NSZWZQdHI8
U2VjdXJpdHlPcmlnaW4+KGNvbnN0X2Nhc3Q8V2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlKj4obV9w
cml2YXRlKSk7CiB9CiAKK1NlY3VyaXR5T3JpZ2luKiBXZWJTZWN1cml0eU9yaWdpbjo6Z2V0KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlOworfQorCiB2b2lkIFdlYlNlY3VyaXR5T3Jp
Z2luOjphc3NpZ24oV2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlKiBwKQogewogICAgIC8vIHAgaXMg
YWxyZWFkeSByZWYnZCBmb3IgdXMgYnkgdGhlIGNhbGxlcgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>