<?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>196532</bug_id>
          
          <creation_ts>2019-04-03 03:17:57 -0700</creation_ts>
          <short_desc>output element doesn&apos;t react properly to node tree mutations</short_desc>
          <delta_ts>2021-05-14 19:06:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>Other</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Anne van Kesteren">annevk</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1523662</commentid>
    <comment_count>0</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2019-04-03 03:17:57 -0700</bug_when>
    <thetext>https://github.com/web-platform-tests/wpt/pull/16080 has tests and https://github.com/whatwg/html/pull/4447 has a refactoring of the specification that makes it no longer rely on descendant change notifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759580</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-05-13 02:08:40 -0700</bug_when>
    <thetext>Context: https://github.com/whatwg/html/issues/6516</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759720</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 10:00:10 -0700</bug_when>
    <thetext>Have we pulled that test in yet? I’d like to look at it; might tackle this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759865</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-05-13 15:55:15 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)
&gt; Have we pulled that test in yet? I’d like to look at it; might tackle this
&gt; bug.

Yes. It&apos;s at LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-output-element/mutations.window.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759957</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 18:33:57 -0700</bug_when>
    <thetext>Wow, this is easy to fix. I will.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759958</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 18:34:38 -0700</bug_when>
    <thetext>Thank you for making this not be defined in terms of change notifications!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759986</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 20:31:43 -0700</bug_when>
    <thetext>The test seems to not match the specification. The test has a test case where the output element&apos;s value is set to the string &quot;some&quot;. The specification says that should do a string replace all operation with that value. One result of that is that all the children are replaced. The test then sets the textContent of a child element to &quot;y&quot;. But after the replace all operation, that child element is no longer one of the children, so that has no effect. The test expects that output.value will be &quot;y&quot; after that operation.

Added a comment about this in GitHub: https://github.com/web-platform-tests/wpt/pull/16080/commits/610c0a602dc302c9927ab976f0e75a60c505ab33#r632250067</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759994</commentid>
    <comment_count>7</comment_count>
      <attachid>428597</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 20:59:02 -0700</bug_when>
    <thetext>Created attachment 428597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759999</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 21:08:08 -0700</bug_when>
    <thetext>I opened &lt;https://github.com/web-platform-tests/wpt/issues/28994&gt;. Anne, would love to hear your take on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760000</commentid>
    <comment_count>9</comment_count>
      <attachid>428600</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 21:15:00 -0700</bug_when>
    <thetext>Created attachment 428600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760014</commentid>
    <comment_count>10</comment_count>
      <attachid>428603</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 23:01:29 -0700</bug_when>
    <thetext>Created attachment 428603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760115</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-14 09:46:56 -0700</bug_when>
    <thetext>All those EWS bubbles green; hoping for review soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760226</commentid>
    <comment_count>12</comment_count>
      <attachid>428665</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-14 14:53:02 -0700</bug_when>
    <thetext>Created attachment 428665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760227</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-14 14:53:18 -0700</bug_when>
    <thetext>Good news, the bug in the test was fixed back in March.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760228</commentid>
    <comment_count>14</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-05-14 14:53:49 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760334</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-14 19:05:29 -0700</bug_when>
    <thetext>Committed r277527 (237755@main): &lt;https://commits.webkit.org/237755@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428665.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428597</attachid>
            <date>2021-05-13 20:59:02 -0700</date>
            <delta_ts>2021-05-13 21:10:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196532-20210513205901.patch</filename>
            <type>text/plain</type>
            <size>25128</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ2ZDdkNjU3ZjlhMTZl
M2JkYTllMGJlNDA0NTRiN2RiMTgxODQ3MS4uZGZmMTY3MWU4NmUzNjUyZDUyNWZkNDYwYWM4OGZm
NmJhOGM2MmM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDIxLTA1LTEzICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBvdXRwdXQgZWxlbWVudCBkb2Vz
bid0IHJlYWN0IHByb3Blcmx5IHRvIG5vZGUgdHJlZSBtdXRhdGlvbnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjUzMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cmVwbGFjZUFsbCk6IFJlZmFjdG9y
ZWQgbW9zdCBvZiB0aGUgZnVuY3Rpb25zCisgICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbiBhbmQg
cmVwbGFjZUFsbENoaWxkcmVuV2l0aE5ld1RleHQgaW50byB0aGlzIG5ldyBvbmUsCisgICAgICAg
IGFuZCBuYW1lZCBpdCBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUgb3BlcmF0aW9uIGluIHRoZSBI
VE1MIHNwZWNpZmljYXRpb24uCisgICAgICAgIFRoZSBmdW5jdGlvbiBpcyBpbmNvbXBsZXRlLCBi
dXQgcHJlc2VydmVzIGV4aXN0aW5nIGJlaGF2aW9yLgorICAgICAgICAoV2ViQ29yZTo6Q29udGFp
bmVyTm9kZTo6c3RyaW5nUmVwbGFjZUFsbCk6IFJlZmFjdG9yZWQgdGhlIHJlc3Qgb2YgdGhlCisg
ICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0IGZ1bmN0aW9uIGFuZCByZW5hbWVk
IHRvIHRoZSBuYW1lIGZyb20gdGhlCisgICAgICAgIEhUTUwgc3BlY2lmaWNhdGlvbi4KKyAgICAg
ICAgKiBkb20vQ29udGFpbmVyTm9kZS5oOiBVcGRhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4K
KworICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNldFRl
eHRDb250ZW50KTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2UgYWJvdmUuCisgICAgICAgICogZG9t
L1JhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjpzdXJyb3VuZENvbnRlbnRzKTog
RGl0dG8uCisgICAgICAgICogZWRpdGluZy9pb3MvRWRpdG9ySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6RWRpdG9yOjpzZXRUZXh0QXNDaGlsZE9mRWxlbWVudCk6IERpdHRvLgorICAgICAgICAq
IGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnNl
dElubmVyVGV4dCk6IERpdHRvLgorCisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6SFRNTE91dHB1dEVsZW1l
bnQpOiBNb3ZlZCBkYXRhIG1lbWJlcgorICAgICAgICBpbml0aWFsaXphdGlvbiBpbnRvIHRoZSBj
bGFzcyBkZWZpbml0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OmNy
ZWF0ZSk6IEFkZGVkIGFuIG92ZXJsb2FkIHRoYXQgdGFrZXMganVzdAorICAgICAgICBhIGRvY3Vt
ZW50LCBmb3IgdXNlIHdoZW4gaW52b2tlZCBmcm9tIGFzIGEgY29uc3RydWN0b3IuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBUaWdodGVuZWQg
dGhlIGxvZ2ljIGZvciB0aGUKKyAgICAgICAgZm9yIGF0dHJpYnV0ZS4gSSBkZWNpZGVkIGl0J3Mg
YmV0dGVyIHRvIGNhbGwgdGhyb3VnaCB0byB0aGUgYmFzZSBjbGFzcywgZXZlbgorICAgICAgICB0
aG91Z2ggd2Ugb2Z0ZW4gZG9uJ3QgZG8gdGhhdCBmb3IgYXR0cmlidXRlcyB0aGF0IGRvbid0IGV4
cGVjdCB0aGUgYmFzZQorICAgICAgICBjbGFzcyB0byBwYXkgYXR0ZW50aW9uIHRvLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IERlbGV0ZWQu
IE5vIG5lZWQgZm9yIHRoaXMgaW4KKyAgICAgICAgdGhlIGltcHJvdmVkIEhUTUwgc3BlY2lmaWNh
dGlvbiB2ZXJzaW9uIG9mIHRoaXMgZWxlbWVudCdzIGFsZ29yaXRobXMuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6cmVzZXQpOiBVcGRhdGVkIGJhc2VkIG9uIHRoZSBIVE1M
IHNwZWNpZmljYXRpb24sCisgICAgICAgIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIGFsZ29yaXRo
bSByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCB2YWx1ZSBtb2RlIGZsYWcgd2UKKyAgICAgICAgd2Vy
ZSB1c2luZyBiZWZvcmUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6c2V0
VmFsdWUpOiBVcGRhdGVkIGJhc2VkIG9uIHRoZSBIVE1MIHNwZWNpZmljYXRpb24sCisgICAgICAg
IGFsd2F5cyBzZXR0aW5nIHRoZSBkZWZhdWx0IHZhbHVlIG92ZXJyaWRlIGJhc2VkIG9uIHRoZSBj
dXJyZW50IGRlZmF1bHQgdmFsdWUsCisgICAgICAgIGFuZCB1c2luZyBzdHJpbmdSZXBsYWNlQWxs
LiBUaGVyZSdzIG5vIG5lZWQgZm9yIHRoZSBvbGQgc2V0VGV4dENvbnRlbnRJbnRlcm5hbCwKKyAg
ICAgICAgc2luY2UgdGhhdCB3YXMgYWxsIGR1ZSB0byB0aGUgbmVlZCB0byBhdm9pZCBpbmZpbml0
ZSByZWN1cnNpb24gaW4gY2hpbGRyZW5DaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91
dHB1dEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZSBjb25zdCk6IFVwZGF0ZWQgYmFzZWQgb24gdGhlIEhU
TUwKKyAgICAgICAgc3BlY2lmaWNhdGlvbiwgZGVyaXZpbmcgdGhlIGRlZmF1bHQgdmFsdWUgZnJv
bSB0aGUgZGVmYXVsdCB2YWx1ZSBvdmVycmlkZSBhbmQKKyAgICAgICAgdGhlIGRlc2NlbmRhbnQg
dGV4dCBjb250ZW50LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OnNldERl
ZmF1bHRWYWx1ZSk6IFVwZGF0ZWQgYmFzZWQgb24gdGhlIEhUTUwKKyAgICAgICAgc3BlY2lmaWNh
dGlvbiwgZG9pbmcgYSBzdHJpbmcgcmVwbGFjZSBhbGwgd2l0aCB0aGUgdmFsdWUgaWYgdGhlIGRl
ZmF1bHQKKyAgICAgICAgdmFsdWUgb3ZlcnJpZGUgaXMgbnVsbCwgYW5kIHVwZGF0aW5nIHRoZSBk
ZWZhdWx0IHZhbHVlIG92ZXJyaWRlIG90aGVyd2lzZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxP
dXRwdXRFbGVtZW50OjpodG1sRm9yKTogVXBkYXRlZCB0byByZW5hbWUgbV90b2tlbnMgdG8gbV9m
b3JUb2tlbnMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6c2V0VGV4dENv
bnRlbnRJbnRlcm5hbCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxPdXRwdXRFbGVt
ZW50Lmg6IE1vdmVkIERPTVRva2VuTGlzdCB0byBiZSBhIGZvcndhcmQgZGVjbGFyYXRpb24KKyAg
ICAgICAgaW5zdGVhZCBvZiBhbiBpbmNsdWRlLiBBZGRlIGEgY29uc3RydWN0b3IgdGhhdCB0YWtl
cyBvbmx5IGEgZG9jdW1lbnQgdG8gYmUgdXNlZAorICAgICAgICBmcm9tIEphdmFTY3JpcHQuIE1h
ZGUgdGhlIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50IG92ZXJyaWRlIGJlIHByaXZhdGUgbGlrZSB0
aGUKKyAgICAgICAgb3RoZXIgb3ZlcnJpZGVzLiBSZW1vdmVkIHRoZSBjaGlsZHJlbkNoYW5nZSBv
dmVycmlkZSBhbmQgdGhlCisgICAgICAgIHNldFRleHRDb250ZW50SW50ZXJuYWwgZnVuY3Rpb24u
IFJlbW92ZWQgbV9pc0RlZmF1bHRWYWx1ZU1vZGUsCisgICAgICAgIG1faXNTZXRUZXh0Q29udGVu
dEluUHJvZ3Jlc3MsIGFuZCBtX2RlZmF1bHRWYWx1ZS4gQWRkZWQgbV9kZWZhdWx0VmFsdWVPdmVy
cmlkZS4KKyAgICAgICAgUmVuYW1lZCBtX3Rva2VucyB0byBtX2ZvclRva2Vucy4KKworICAgICAg
ICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOiBVcGRhdGVkIHRvIG1hdGNoIHRoZSBIVE1M
IHNwZWNpZmljYXRpb24uIFRoaXMKKyAgICAgICAgaW52b2x2ZWQgYWRkaW5nIGEgY29uc3RydWN0
b3IsIGFkZGluZyBTYW1lT2JqZWN0IGZvciB0aGUgaHRtbEZvciBhdHRyaWJ1dGUsCisgICAgICAg
IG1ha2luZyB0aGUgZm9ybSBhdHRyaWJ1dGUgbnVsbGFibGUsIGFuZCByZW1vdmluZyBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddCisgICAgICAgIGZyb20gdGhlIGRlZmF1bHRWYWx1ZSBhbmQgdmFs
dWUgYXR0cmlidXRlcy4KKwogMjAyMS0wNS0xMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxl
LmNvbT4KIAogICAgICAgICBbIG1hY09TIFdrMiBdIG1lZGlhL21lZGlhLWZyYWdtZW50cy9UQzAw
NTEuaHRtbCBpcyBmbGFrZXkgY3Jhc2hpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNw
cAppbmRleCAwOTZiODc4N2FhNmNiZmM1Y2M5OGY3MjgwZmFhNWExMGI2MzczODg3Li5mY2JiZjVl
NmI4MmI1NmMyMmYzODdlYzk1MzQ5NDI1MjBjOTNmZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRh
aW5lck5vZGUuY3BwCkBAIC02NjMsMjUgKzY2MywxOCBAQCB2b2lkIENvbnRhaW5lck5vZGU6OnBh
cnNlclJlbW92ZUNoaWxkKE5vZGUmIG9sZENoaWxkKQogfQogCiAvLyBodHRwczovL2RvbS5zcGVj
LndoYXR3Zy5vcmcvI2NvbmNlcHQtbm9kZS1yZXBsYWNlLWFsbAotdm9pZCBDb250YWluZXJOb2Rl
OjpyZXBsYWNlQWxsQ2hpbGRyZW4oc3RkOjpudWxscHRyX3QpCit2b2lkIENvbnRhaW5lck5vZGU6
OnJlcGxhY2VBbGwoTm9kZSogbm9kZSkKIHsKLSAgICBDaGlsZExpc3RNdXRhdGlvblNjb3BlIG11
dGF0aW9uKCp0aGlzKTsKLSAgICByZW1vdmVDaGlsZHJlbigpOwotfQotCi0vLyBodHRwczovL2Rv
bS5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtbm9kZS1yZXBsYWNlLWFsbAotdm9pZCBDb250YWlu
ZXJOb2RlOjpyZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3VGV4dChjb25zdCBTdHJpbmcmIHRleHQp
Ci17Ci0gICAgaWYgKHRleHQuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHJlcGxhY2VBbGxDaGlsZHJl
bihudWxscHRyKTsKKyAgICBpZiAoIW5vZGUpIHsKKyAgICAgICAgQ2hpbGRMaXN0TXV0YXRpb25T
Y29wZSBtdXRhdGlvbigqdGhpcyk7CisgICAgICAgIHJlbW92ZUNoaWxkcmVuKCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIG5vZGUgPSBkb2N1bWVudCgpLmNyZWF0ZVRleHRO
b2RlKHRleHQpOworICAgIC8vIEZJWE1FOiBUaGUgY29kZSBiZWxvdyBpcyByb3VnaGx5IGNvcnJl
Y3QgZm9yIGEgbmV3IHRleHQgbm9kZSB3aXRoIG5vIHBhcmVudCwgYnV0IG5lZWRzIGVuaGFuY2Vt
ZW50IHRvIHdvcmsgcHJvcGVybHkgZm9yIG1vcmUgY29tcGxleCBjYXNlcy4KKwogICAgIGlmICgh
aGFzQ2hpbGROb2RlcygpKSB7Ci0gICAgICAgIC8vIGFwcGVuZENoaWxkV2l0aG91dFByZUluc2Vy
dGlvblZhbGlkaXR5Q2hlY2soKSBjYW4gb25seSB0aHJvdyB3aGVuIG5vZGUgaGFzIGEgcGFyZW50
IGFuZCB3ZSBhbHJlYWR5IGFzc2VydGVkIGl0IGRvZXNuJ3QuCi0gICAgICAgIGF1dG8gcmVzdWx0
ID0gYXBwZW5kQ2hpbGRXaXRob3V0UHJlSW5zZXJ0aW9uVmFsaWRpdHlDaGVjayhub2RlKTsKLSAg
ICAgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsICFyZXN1bHQuaGFzRXhjZXB0aW9uKCkpOworICAg
ICAgICBhcHBlbmRDaGlsZFdpdGhvdXRQcmVJbnNlcnRpb25WYWxpZGl0eUNoZWNrKCpub2RlKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjg5LDE3ICs2ODIsMjIgQEAgdm9pZCBDb250
YWluZXJOb2RlOjpyZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3VGV4dChjb25zdCBTdHJpbmcmIHRl
eHQpCiAgICAgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSBtdXRhdGlvbigqdGhpcyk7CiAgICAgcmVt
b3ZlQWxsQ2hpbGRyZW5XaXRoU2NyaXB0QXNzZXJ0aW9uKENoaWxkQ2hhbmdlOjpTb3VyY2U6OkFQ
SSwgRGVmZXJDaGlsZHJlbkNoYW5nZWQ6Olllcyk7CiAKLSAgICBleGVjdXRlTm9kZUluc2VydGlv
bldpdGhTY3JpcHRBc3NlcnRpb24oKnRoaXMsIG5vZGUuZ2V0KCksIENoaWxkQ2hhbmdlOjpTb3Vy
Y2U6OkFQSSwgUmVwbGFjZWRBbGxDaGlsZHJlbjo6WWVzLCBbJl0gewotICAgICAgICBBU1NFUlQo
IWVuc3VyZVByZUluc2VydGlvblZhbGlkaXR5KG5vZGUsIG51bGxwdHIpLmhhc0V4Y2VwdGlvbigp
KTsKKyAgICBleGVjdXRlTm9kZUluc2VydGlvbldpdGhTY3JpcHRBc3NlcnRpb24oKnRoaXMsICpu
b2RlLCBDaGlsZENoYW5nZTo6U291cmNlOjpBUEksIFJlcGxhY2VkQWxsQ2hpbGRyZW46Olllcywg
WyZdIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9k
ZShkb2N1bWVudCgpLCAqdGhpcyk7CiAgICAgICAgIG5vZGUtPnNldFRyZWVTY29wZVJlY3Vyc2l2
ZWx5KHRyZWVTY29wZSgpKTsKLSAgICAgICAgYXBwZW5kQ2hpbGRDb21tb24obm9kZSk7CisgICAg
ICAgIGFwcGVuZENoaWxkQ29tbW9uKCpub2RlKTsKICAgICB9KTsKIAogICAgIHJlYnVpbGRTVkdF
eHRlbnNpb25zRWxlbWVudHNJZk5lY2Vzc2FyeSgpOwogICAgIGRpc3BhdGNoU3VidHJlZU1vZGlm
aWVkRXZlbnQoKTsKIH0KIAorLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNzdHJpbmct
cmVwbGFjZS1hbGwKK3ZvaWQgQ29udGFpbmVyTm9kZTo6c3RyaW5nUmVwbGFjZUFsbChjb25zdCBT
dHJpbmcmIHN0cmluZykKK3sKKyAgICByZXBsYWNlQWxsKHN0cmluZy5pc0VtcHR5KCkgPyBudWxs
cHRyIDogZG9jdW1lbnQoKS5jcmVhdGVUZXh0Tm9kZShzdHJpbmcpLnB0cigpKTsKK30KKwogaW5s
aW5lIHZvaWQgQ29udGFpbmVyTm9kZTo6cmVidWlsZFNWR0V4dGVuc2lvbnNFbGVtZW50c0lmTmVj
ZXNzYXJ5KCkKIHsKICAgICBpZiAoZG9jdW1lbnQoKS5zdmdFeHRlbnNpb25zKCkgJiYgIWlzPFNW
R1VzZUVsZW1lbnQ+KHNoYWRvd0hvc3QoKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQ29udGFpbmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaApp
bmRleCBmNjZmNmUzNmRjM2VjZjFjYmFmN2M1Yzk3MjQ5NGFlNjdlNTcxY2IwLi4zZmIxOWM1OTY1
ZjQ1ZTZkYjY3YjkxNjBiZjRkOTA3MWY1OGUxNzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vQ29udGFpbmVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJO
b2RlLmgKQEAgLTU3LDggKzU3LDggQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJl
cGxhY2VDaGlsZChOb2RlJiBuZXdDaGlsZCwgTm9kZSYgb2xkQ2hpbGQpOwogICAgIFdFQkNPUkVf
RVhQT1JUIEV4Y2VwdGlvbk9yPHZvaWQ+IHJlbW92ZUNoaWxkKE5vZGUmIGNoaWxkKTsKICAgICBX
RUJDT1JFX0VYUE9SVCBFeGNlcHRpb25Pcjx2b2lkPiBhcHBlbmRDaGlsZChOb2RlJiBuZXdDaGls
ZCk7Ci0gICAgdm9pZCByZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3VGV4dChjb25zdCBTdHJpbmcm
KTsKLSAgICB2b2lkIHJlcGxhY2VBbGxDaGlsZHJlbihzdGQ6Om51bGxwdHJfdCk7CisgICAgdm9p
ZCBzdHJpbmdSZXBsYWNlQWxsKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgcmVwbGFjZUFsbChO
b2RlKik7CiAKICAgICAvLyBUaGVzZSBtZXRob2RzIGFyZSBvbmx5IHVzZWQgZHVyaW5nIHBhcnNp
bmcuCiAgICAgLy8gVGhleSBkb24ndCBzZW5kIERPTSBtdXRhdGlvbiBldmVudHMgb3IgaGFuZGxl
IHJlcGFyZW50aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IGZlMDkwZTc1Yzc0ZjRiNTE3NGJkMGY4
ZGIxYzcwOWNiM2Q0Y2U3YTkuLjA1MjJkZTBiYWE3ODJkN2U5ZmI0OTMzOTA5NDI1NjZlYmM3NWRj
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTE1ODksNyArMTU4OSw3IEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IE5vZGU6OnNldFRleHRDb250ZW50KGNvbnN0IFN0cmluZyYgdGV4dCkKICAgICAgICAgcmV0
dXJuIHNldE5vZGVWYWx1ZSh0ZXh0KTsKICAgICBjYXNlIEVMRU1FTlRfTk9ERToKICAgICBjYXNl
IERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6Ci0gICAgICAgIGRvd25jYXN0PENvbnRhaW5lck5vZGU+
KCp0aGlzKS5yZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3VGV4dCh0ZXh0KTsKKyAgICAgICAgZG93
bmNhc3Q8Q29udGFpbmVyTm9kZT4oKnRoaXMpLnN0cmluZ1JlcGxhY2VBbGwodGV4dCk7CiAgICAg
ICAgIHJldHVybiB7IH07CiAgICAgY2FzZSBET0NVTUVOVF9OT0RFOgogICAgIGNhc2UgRE9DVU1F
TlRfVFlQRV9OT0RFOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKaW5kZXggNTgzODBjYmIwYjg3MDRiNjJkMmYx
NTBmZmEwZDdlNGQzN2E1ODU4YS4uZTc5Njk5NjFlNDlkMjcwM2EyNDI2Njg0MDYxOTU5NjkyNmM3
OGY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCkBAIC04MjQsNyArODI0LDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gUmFuZ2U6OnN1cnJvdW5kQ29udGVudHMoTm9kZSYgbmV3UGFyZW50KQogCiAgICAgLy8g
U3RlcCA0OiBJZiBuZXdQYXJlbnQgaGFzIGNoaWxkcmVuLCByZXBsYWNlIGFsbCB3aXRoIG51bGwg
d2l0aGluIG5ld1BhcmVudC4KICAgICBpZiAobmV3UGFyZW50Lmhhc0NoaWxkTm9kZXMoKSkKLSAg
ICAgICAgZG93bmNhc3Q8Q29udGFpbmVyTm9kZT4obmV3UGFyZW50KS5yZXBsYWNlQWxsQ2hpbGRy
ZW4obnVsbHB0cik7CisgICAgICAgIGRvd25jYXN0PENvbnRhaW5lck5vZGU+KG5ld1BhcmVudCku
cmVwbGFjZUFsbChudWxscHRyKTsKIAogICAgIC8vIFN0ZXAgNTogSW5zZXJ0IG5ld1BhcmVudCBp
bnRvIGNvbnRleHQgb2JqZWN0LgogICAgIGF1dG8gaW5zZXJ0UmVzdWx0ID0gaW5zZXJ0Tm9kZShu
ZXdQYXJlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9pb3MvRWRpdG9y
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9pb3MvRWRpdG9ySU9TLm1tCmluZGV4IDcw
MzZhZTBjZDBhYWEyOTk5ODI0ODJjMGJlMzNlZmM1NDk1NGRmYjUuLjQ5ZDIzODJhN2NjNmMwMzZj
ZjJjNzkwNGNkYTU3ZTFhMmE0YWUxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvaW9zL0VkaXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2lvcy9FZGl0
b3JJT1MubW0KQEAgLTMzNyw3ICszMzcsNyBAQCB2b2lkIEVkaXRvcjo6c2V0VGV4dEFzQ2hpbGRP
ZkVsZW1lbnQoY29uc3QgU3RyaW5nJiB0ZXh0LCBFbGVtZW50JiBlbGVtZW50KQogICAgIC8vIFdo
YXQgZm9sbG93cyBpcyBtb3JlIGV4cGVuc2l2ZSBpZiB0aGVyZSBpcyBhIHNlbGVjdGlvbiwgc28g
Y2xlYXIgaXQgc2luY2UgaXQncyBnb2luZyB0byBjaGFuZ2UgYW55d2F5LgogICAgIG1fZG9jdW1l
bnQuc2VsZWN0aW9uKCkuY2xlYXIoKTsKIAotICAgIGVsZW1lbnQucmVwbGFjZUFsbENoaWxkcmVu
V2l0aE5ld1RleHQodGV4dCk7CisgICAgZWxlbWVudC5zdHJpbmdSZXBsYWNlQWxsKHRleHQpOwog
CiAgICAgVmlzaWJsZVBvc2l0aW9uIGFmdGVyQ29udGVudHMgPSBtYWtlQ29udGFpbmVyT2Zmc2V0
UG9zaXRpb24oJmVsZW1lbnQsIGVsZW1lbnQuY291bnRDaGlsZE5vZGVzKCkpOwogICAgIGlmIChh
ZnRlckNvbnRlbnRzLmlzTnVsbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRl
eCA0MjEzOGY2MWFlYjA2NGIyMjkyYTlkMjlhMWY0MGRjYTdlMjE1ZDNiLi40ZTg3Y2JjNTA3NzZk
NzRmNTYyMjMyZGY1ZWE3ZjZkMGNlMDU3NzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50
LmNwcApAQCAtNTU1LDcgKzU1NSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxFbGVtZW50Ojpz
ZXRJbm5lclRleHQoY29uc3QgU3RyaW5nJiB0ZXh0KQogICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNu
J3QgdGFrZSB3aGl0ZXNwYWNlIGNvbGxhcHNpbmcgaW50byBhY2NvdW50IGF0IGFsbC4KIAogICAg
IGlmICghdGV4dC5jb250YWlucygnXG4nKSAmJiAhdGV4dC5jb250YWlucygnXHInKSkgewotICAg
ICAgICByZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3VGV4dCh0ZXh0KTsKKyAgICAgICAgc3RyaW5n
UmVwbGFjZUFsbCh0ZXh0KTsKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAKQEAgLTU2NSwx
OSArNTY1LDE5IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxFbGVtZW50OjpzZXRJbm5lclRleHQo
Y29uc3QgU3RyaW5nJiB0ZXh0KQogICAgIGF1dG8qIHIgPSByZW5kZXJlcigpOwogICAgIGlmICgo
ciAmJiByLT5zdHlsZSgpLnByZXNlcnZlTmV3bGluZSgpKSB8fCAoaXNDb25uZWN0ZWQoKSAmJiBp
c1RleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCgpKSkgewogICAgICAgICBpZiAoIXRleHQuY29u
dGFpbnMoJ1xyJykpIHsKLSAgICAgICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0
KHRleHQpOworICAgICAgICAgICAgc3RyaW5nUmVwbGFjZUFsbCh0ZXh0KTsKICAgICAgICAgICAg
IHJldHVybiB7IH07CiAgICAgICAgIH0KICAgICAgICAgU3RyaW5nIHRleHRXaXRoQ29uc2lzdGVu
dExpbmVCcmVha3MgPSB0ZXh0OwogICAgICAgICB0ZXh0V2l0aENvbnNpc3RlbnRMaW5lQnJlYWtz
LnJlcGxhY2UoIlxyXG4iLCAiXG4iKTsKICAgICAgICAgdGV4dFdpdGhDb25zaXN0ZW50TGluZUJy
ZWFrcy5yZXBsYWNlKCdccicsICdcbicpOwotICAgICAgICByZXBsYWNlQWxsQ2hpbGRyZW5XaXRo
TmV3VGV4dCh0ZXh0V2l0aENvbnNpc3RlbnRMaW5lQnJlYWtzKTsKKyAgICAgICAgc3RyaW5nUmVw
bGFjZUFsbCh0ZXh0V2l0aENvbnNpc3RlbnRMaW5lQnJlYWtzKTsKICAgICAgICAgcmV0dXJuIHsg
fTsKICAgICB9CiAKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIHJlcGxhY2VBbGwoKSwg
YWZ0ZXIgd2UgZml4IHRoYXQgdG8gd29yayBwcm9wZXJseSBmb3IgRG9jdW1lbnRGcmFnbWVudC4K
ICAgICAvLyBBZGQgdGV4dCBub2RlcyBhbmQgPGJyPiBlbGVtZW50cy4KICAgICBhdXRvIGZyYWdt
ZW50ID0gdGV4dFRvRnJhZ21lbnQoZG9jdW1lbnQoKSwgdGV4dCk7Ci0gICAgLy8gRklYTUU6IFRo
aXMgc2hvdWxkIHVzZSBhIHZhcmlhbnQgb2YgcmVwbGFjZUFsbENoaWxkcmVuV2l0aE5ld1RleHQo
KSB3aGljaCBhY2NlcHRzIERvY3VtZW50RnJhZ21lbnRzIGFzIGlucHV0LgogICAgIC8vIEl0J3Mg
c2FmZSB0byBkaXNwYXRjaCBldmVudHMgb24gdGhlIG5ldyBmcmFnbWVudCBzaW5jZSBhdXRob3Ig
c2NyaXB0cyBoYXZlIG5vIGFjY2VzcyB0byBpdCB5ZXQuCiAgICAgU2NyaXB0RGlzYWxsb3dlZFNj
b3BlOjpFdmVudEFsbG93ZWRTY29wZSBhbGxvd2VkU2NvcGUoZnJhZ21lbnQuZ2V0KCkpOwogICAg
IHJldHVybiByZXBsYWNlQ2hpbGRyZW5XaXRoRnJhZ21lbnQoKnRoaXMsIFdURk1vdmUoZnJhZ21l
bnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5jcHAKaW5kZXggNWI0
NDZjN2YzOWZlNzg1OWVkN2NlNjQzZGI2ZDkxMmYzMDBhNGNlMi4uMGNkYTFjYWQ3N2U0ZTM4MDYz
YjBhODM2NmQ5ZjFiMDEwODcyZThmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3V0cHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0
RWxlbWVudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQpAQCAtMzEsNiArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkhUTUxPdXRwdXRFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNs
dWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtNDAsMTMgKzQyLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSFRNTE91dHB1dEVsZW1lbnQp
OwogCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwotCiBpbmxpbmUgSFRNTE91dHB1dEVsZW1l
bnQ6OkhUTUxPdXRwdXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50JiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50KiBmb3JtKQogICAgIDogSFRNTEZvcm1Db250
cm9sRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgZm9ybSkKLSAgICAsIG1faXNEZWZhdWx0VmFs
dWVNb2RlKHRydWUpCi0gICAgLCBtX2lzU2V0VGV4dENvbnRlbnRJblByb2dyZXNzKGZhbHNlKQot
ICAgICwgbV9kZWZhdWx0VmFsdWUoZW1wdHlTdHJpbmcoKSkKIHsKIH0KIApAQCAtNTUsNiArNTIs
MTEgQEAgUmVmPEhUTUxPdXRwdXRFbGVtZW50PiBIVE1MT3V0cHV0RWxlbWVudDo6Y3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIEQKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBI
VE1MT3V0cHV0RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgZm9ybSkpOwogfQogCitSZWY8SFRN
TE91dHB1dEVsZW1lbnQ+IEhUTUxPdXRwdXRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQmIGRvY3Vt
ZW50KQoreworICAgIHJldHVybiBjcmVhdGUoSFRNTE5hbWVzOjpvdXRwdXRUYWcsIGRvY3VtZW50
LCBudWxscHRyKTsKK30KKwogY29uc3QgQXRvbVN0cmluZyYgSFRNTE91dHB1dEVsZW1lbnQ6OmZv
cm1Db250cm9sVHlwZSgpIGNvbnN0CiB7CiAgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ry
b3llZDxjb25zdCBBdG9tU3RyaW5nPiBvdXRwdXQoIm91dHB1dCIsIEF0b21TdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKTsKQEAgLTY4LDM1ICs3MCwxNSBAQCBib29sIEhUTUxPdXRwdXRFbGVt
ZW50OjpzdXBwb3J0c0ZvY3VzKCkgY29uc3QKIAogdm9pZCBIVE1MT3V0cHV0RWxlbWVudDo6cGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYg
dmFsdWUpCiB7Ci0gICAgaWYgKG5hbWUgPT0gZm9yQXR0cikgewotICAgICAgICBpZiAobV90b2tl
bnMpCi0gICAgICAgICAgICBtX3Rva2Vucy0+YXNzb2NpYXRlZEF0dHJpYnV0ZVZhbHVlQ2hhbmdl
ZCh2YWx1ZSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKLX0KLQotdm9pZCBIVE1MT3V0cHV0RWxlbWVudDo6
Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJiBjaGFuZ2UpCi17Ci0gICAgSFRNTEZv
cm1Db250cm9sRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZSk7Ci0KLSAgICBpZiAoY2hh
bmdlLnNvdXJjZSA9PSBDaGlsZENoYW5nZTo6U291cmNlOjpQYXJzZXIgfHwgbV9pc1NldFRleHRD
b250ZW50SW5Qcm9ncmVzcykgewotICAgICAgICBtX2lzU2V0VGV4dENvbnRlbnRJblByb2dyZXNz
ID0gZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobV9pc0RlZmF1bHRW
YWx1ZU1vZGUpCi0gICAgICAgIG1fZGVmYXVsdFZhbHVlID0gdGV4dENvbnRlbnQoKTsKKyAgICBp
ZiAobmFtZSA9PSBmb3JBdHRyICYmIG1fZm9yVG9rZW5zKQorICAgICAgICBtX2ZvclRva2Vucy0+
YXNzb2NpYXRlZEF0dHJpYnV0ZVZhbHVlQ2hhbmdlZCh2YWx1ZSk7CisgICAgSFRNTEZvcm1Db250
cm9sRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwogfQogCiB2b2lkIEhUTUxP
dXRwdXRFbGVtZW50OjpyZXNldCgpCiB7Ci0gICAgLy8gVGhlIHJlc2V0IGFsZ29yaXRobSBmb3Ig
b3V0cHV0IGVsZW1lbnRzIGlzIHRvIHNldCB0aGUgZWxlbWVudCdzCi0gICAgLy8gdmFsdWUgbW9k
ZSBmbGFnIHRvICJkZWZhdWx0IiBhbmQgdGhlbiB0byBzZXQgdGhlIGVsZW1lbnQncyB0ZXh0Q29u
dGVudAotICAgIC8vIGF0dHJpYnV0ZSB0byB0aGUgZGVmYXVsdCB2YWx1ZS4KLSAgICBtX2lzRGVm
YXVsdFZhbHVlTW9kZSA9IHRydWU7Ci0gICAgaWYgKG1fZGVmYXVsdFZhbHVlID09IHZhbHVlKCkp
Ci0gICAgICAgIHJldHVybjsKLSAgICBzZXRUZXh0Q29udGVudEludGVybmFsKG1fZGVmYXVsdFZh
bHVlKTsKKyAgICBzdHJpbmdSZXBsYWNlQWxsKGRlZmF1bHRWYWx1ZSgpKTsKKyAgICBtX2RlZmF1
bHRWYWx1ZU92ZXJyaWRlID0geyB9OwogfQogCiBTdHJpbmcgSFRNTE91dHB1dEVsZW1lbnQ6OnZh
bHVlKCkgY29uc3QKQEAgLTEwNiw0MSArODgsMjggQEAgU3RyaW5nIEhUTUxPdXRwdXRFbGVtZW50
Ojp2YWx1ZSgpIGNvbnN0CiAKIHZvaWQgSFRNTE91dHB1dEVsZW1lbnQ6OnNldFZhbHVlKGNvbnN0
IFN0cmluZyYgdmFsdWUpCiB7Ci0gICAgLy8gVGhlIHZhbHVlIG1vZGUgZmxhZyBzZXQgdG8gInZh
bHVlIiB3aGVuIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgaXMgc2V0LgotICAgIG1faXNEZWZhdWx0VmFs
dWVNb2RlID0gZmFsc2U7Ci0gICAgaWYgKHZhbHVlID09IHRoaXMtPnZhbHVlKCkpCi0gICAgICAg
IHJldHVybjsKLSAgICBzZXRUZXh0Q29udGVudEludGVybmFsKHZhbHVlKTsKKyAgICBtX2RlZmF1
bHRWYWx1ZU92ZXJyaWRlID0gZGVmYXVsdFZhbHVlKCk7CisgICAgc3RyaW5nUmVwbGFjZUFsbCh2
YWx1ZSk7CiB9CiAKIFN0cmluZyBIVE1MT3V0cHV0RWxlbWVudDo6ZGVmYXVsdFZhbHVlKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9kZWZhdWx0VmFsdWU7CisgICAgcmV0dXJuIG1fZGVmYXVsdFZh
bHVlT3ZlcnJpZGUuaXNOdWxsKCkgPyB0ZXh0Q29udGVudCgpIDogbV9kZWZhdWx0VmFsdWVPdmVy
cmlkZTsKIH0KIAogdm9pZCBIVE1MT3V0cHV0RWxlbWVudDo6c2V0RGVmYXVsdFZhbHVlKGNvbnN0
IFN0cmluZyYgdmFsdWUpCiB7Ci0gICAgaWYgKG1fZGVmYXVsdFZhbHVlID09IHZhbHVlKQotICAg
ICAgICByZXR1cm47Ci0gICAgbV9kZWZhdWx0VmFsdWUgPSB2YWx1ZTsKLSAgICAvLyBUaGUgc3Bl
YyByZXF1aXJlcyB0aGUgdmFsdWUgYXR0cmlidXRlIHNldCB0byB0aGUgZGVmYXVsdCB2YWx1ZQot
ICAgIC8vIHdoZW4gdGhlIGVsZW1lbnQncyB2YWx1ZSBtb2RlIGZsYWcgdG8gImRlZmF1bHQiLgot
ICAgIGlmIChtX2lzRGVmYXVsdFZhbHVlTW9kZSkKLSAgICAgICAgc2V0VGV4dENvbnRlbnRJbnRl
cm5hbCh2YWx1ZSk7CisgICAgaWYgKG1fZGVmYXVsdFZhbHVlT3ZlcnJpZGUuaXNOdWxsKCkpCisg
ICAgICAgIHN0cmluZ1JlcGxhY2VBbGwodmFsdWUpOworICAgIGVsc2UKKyAgICAgICAgbV9kZWZh
dWx0VmFsdWVPdmVycmlkZSA9IHZhbHVlOwogfQogCiBET01Ub2tlbkxpc3QmIEhUTUxPdXRwdXRF
bGVtZW50OjpodG1sRm9yKCkKIHsKLSAgICBpZiAoIW1fdG9rZW5zKQotICAgICAgICBtX3Rva2Vu
cyA9IG1ha2VVbmlxdWU8RE9NVG9rZW5MaXN0PigqdGhpcywgZm9yQXR0cik7Ci0gICAgcmV0dXJu
ICptX3Rva2VuczsKLX0KLQotdm9pZCBIVE1MT3V0cHV0RWxlbWVudDo6c2V0VGV4dENvbnRlbnRJ
bnRlcm5hbChjb25zdCBTdHJpbmcmIHZhbHVlKQotewotICAgIEFTU0VSVCghbV9pc1NldFRleHRD
b250ZW50SW5Qcm9ncmVzcyk7Ci0gICAgbV9pc1NldFRleHRDb250ZW50SW5Qcm9ncmVzcyA9IHRy
dWU7Ci0gICAgc2V0VGV4dENvbnRlbnQodmFsdWUpOworICAgIGlmICghbV9mb3JUb2tlbnMpCisg
ICAgICAgIG1fZm9yVG9rZW5zID0gbWFrZVVuaXF1ZTxET01Ub2tlbkxpc3Q+KCp0aGlzLCBmb3JB
dHRyKTsKKyAgICByZXR1cm4gKm1fZm9yVG9rZW5zOwogfQogCiB9IC8vIG5hbWVzcGFjZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5oCmluZGV4IDUwMzRiMDIzMTM5NjY0NGNk
YzA0NzRjZGRjY2IxMDM5MDk4ZjQwZGQuLmU0ODcxNzEzMjYzM2IxNDllZDdjMzVmNjFkMDg0MjEz
YmE0YzE0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmgKQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzAsMTUg
KzMxLDE3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCiAj
aW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIERPTVRva2VuTGlzdDsKKwogY2xhc3MgSFRNTE91dHB1dEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgSFRNTEZvcm1Db250cm9sRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChIVE1MT3V0cHV0RWxlbWVudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxIVE1MT3V0
cHV0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxG
b3JtRWxlbWVudCopOworICAgIHN0YXRpYyBSZWY8SFRNTE91dHB1dEVsZW1lbnQ+IGNyZWF0ZShE
b2N1bWVudCYpOwogCiAgICAgU3RyaW5nIHZhbHVlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRWYWx1
ZShjb25zdCBTdHJpbmcmKTsKQEAgLTQ2LDI2ICs0OSwyMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXREZWZhdWx0VmFsdWUoY29uc3QgU3RyaW5nJik7CiAgICAgRE9NVG9rZW5MaXN0JiBodG1sRm9y
KCk7CiAgICAgCi0gICAgYm9vbCBjYW5Db250YWluUmFuZ2VFbmRQb2ludCgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIGZhbHNlOyB9Ci0KIHByaXZhdGU6CiAgICAgSFRNTE91dHB1dEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgSFRNTEZvcm1FbGVtZW50Kik7CiAKKyAgICBi
b29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7
IH0KICAgICBib29sIGNvbXB1dGVXaWxsVmFsaWRhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21TdHJpbmcmKSBmaW5hbDsKICAgICBjb25zdCBBdG9tU3RyaW5nJiBmb3JtQ29udHJv
bFR5cGUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgc3VwcG9ydExhYmVscygpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIHN1cHBvcnRzRm9jdXMoKSBjb25zdCBmaW5hbDsK
LSAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwogICAg
IHZvaWQgcmVzZXQoKSBmaW5hbDsKIAotICAgIHZvaWQgc2V0VGV4dENvbnRlbnRJbnRlcm5hbChj
b25zdCBTdHJpbmcmKTsKLQotICAgIGJvb2wgbV9pc0RlZmF1bHRWYWx1ZU1vZGU7Ci0gICAgYm9v
bCBtX2lzU2V0VGV4dENvbnRlbnRJblByb2dyZXNzOwotICAgIFN0cmluZyBtX2RlZmF1bHRWYWx1
ZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NVG9rZW5MaXN0PiBtX3Rva2VuczsKKyAgICBTdHJp
bmcgbV9kZWZhdWx0VmFsdWVPdmVycmlkZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NVG9rZW5M
aXN0PiBtX2ZvclRva2VuczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwKaW5kZXggMzc5M2U5ZTZjY2I3NjAyN2E0
N2QwNzJmZjI4OGRhNTVlZjA1NmQ2ZC4uYjlkYWY2ZmM0YzIyOGU4YTBjMTlmZmFhMGJlZjdmZGVm
ZDdmMzQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVu
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxNCAr
MjYsMTUgQEAKIFsKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgSFRNTE91dHB1dEVs
ZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgW1B1dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBh
dHRyaWJ1dGUgRE9NVG9rZW5MaXN0IGh0bWxGb3I7CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBI
VE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiAKLSAgICByZWFkb25seSBhdHRyaWJ1dGUg
SFRNTEZvcm1FbGVtZW50IGZvcm07CisgICAgW1NhbWVPYmplY3QsIFB1dEZvcndhcmRzPXZhbHVl
XSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IGh0bWxGb3I7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudD8gZm9ybTsKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVl
ZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci0gICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xl
Z2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgZGVmYXVsdFZhbHVlOwotICAgIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZh
bHVlOworICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7
CisgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbHVlOwogCiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlkYXRlOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNmMTRlYzVhNGI5MTg0MTczN2Rj
YmVlNjJjMGJiYjE1NTg3YWRlOTQuLmZlYzMzMzA0ZjlmNWI3YzhlNWFmMzQ5YWM2NTI3ZWExNTQx
OTk5ZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNS0xMyAgRGFyaW4gQWRsZXIgIDxk
YXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgb3V0cHV0IGVsZW1lbnQgZG9lc24ndCByZWFjdCBw
cm9wZXJseSB0byBub2RlIHRyZWUgbXV0YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY1MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6IFJlbW92ZWQgYW4gZXhw
ZWN0YXRpb24gZm9yIGEgZGlyZWN0b3J5IHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6IFJlbW92ZWQgYW4gZXhwZWN0YXRp
b24gZm9yIGEgdGVzdCB0aGF0IG5vIGxvbmdlciBleGlzdHMuCisgICAgICAgICogcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnM6IFJlbW92ZWQgYW4gZXhwZWN0YXRpb24gZm9yIGEgZGlyZWN0
b3J5IHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KKwogMjAyMS0wNS0xMyAgQW1pciBNYXJrIEpyICA8
YW1pcl9tYXJrQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjT1MgV2sxXSBtZWRpYS92aWRlby1w
bGF5YmFjay1xdWFsaXR5Lmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCA1NmQxNTkwNmVlMWY4YzhhNzk5MTFjNTNiY2Q4MWM1Y2JhNmZmOWVj
Li5lYzRmYjgxNGIxMTY1Mjc3NTBhMjRlNTFkYTUwZTllYjJjMTA3MTViIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNS0xMyAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgb3V0cHV0IGVsZW1lbnQgZG9lc24ndCBy
ZWFjdCBwcm9wZXJseSB0byBub2RlIHRyZWUgbXV0YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY1MzIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9mb3Jtcy90aGUtb3V0cHV0LWVsZW1lbnQvbXV0YXRpb25zLndpbmRvdy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgIFVwZGF0ZWQgZXhwZWN0ZWQgcmVzdWx0cyB0byByZWZsZWN0IHNvbWUg
cHJvZ3Jlc3Npb24uIFVuZm9ydHVuYXRlbHkgd2Ugc3RpbGwgZG9uJ3QKKyAgICAgICAgcGFzcyB0
aGUgdGVzdDsgSSBiZWxpZXZlIGl0J3MgYmVjYXVzZSBvZiBhbiBlcnJvciBpbiB0aGUgdGVzdC4K
KwogMjAyMS0wNS0xMyAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wb3J0IG5ldyBhbmQgdXBkYXRlZCBjc3Mtc2Nyb2xsLXNuYXAgV1BUIHRlc3Rz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCAxOTNlMzQwYWZhMzYyMDE0MzQ3YmZiYTc3NDQwY2Q1ZDRi
ZmUxMjliLi40ZjZlZmE0Y2VhMzVlOGExYTFhYWZjMGY2OTU3MDllMzY0N2I4OTFiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTYzLDcgKzYzLDYgQEAgZmFzdC9zY3JvbGxpbmcvbWFjIFsgU2tpcCBd
CiBmYXN0L3Njcm9sbGluZy9pcGFkIFsgU2tpcCBdCiBmYXN0L3RleHQvbWFjIFsgU2tpcCBdCiBz
Y3JvbGxpbmdjb29yZGluYXRvciBbIFNraXAgXQotbWVkaWEvbWFjIFsgU2tpcCBdCiBtZWRpYS9p
b3MgWyBTa2lwIF0KIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydCBb
IFNraXAgXQogZmFzdC90ZXh0LWF1dG9zaXppbmcgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9y
bXMvdGhlLW91dHB1dC1lbGVtZW50L211dGF0aW9ucy53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9m
b3Jtcy90aGUtb3V0cHV0LWVsZW1lbnQvbXV0YXRpb25zLndpbmRvdy1leHBlY3RlZC50eHQKaW5k
ZXggNmIxYzdmZTNkNWU4NWI1NmM0ZDFhYTBhNmRhMTMxZTQ5NGFkYWRlNS4uNWJmMDI4ZDJmZDQx
NjI5NjQ3ODVjNjhmOGY1ODY0ZTVmMDEzZWZjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtb3V0
cHV0LWVsZW1lbnQvbXV0YXRpb25zLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90
aGUtb3V0cHV0LWVsZW1lbnQvbXV0YXRpb25zLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACiAKLUZBSUwgRGVzY2VuZGFudCBtdXRhdGlvbnMgYW5kIG91dHB1dC52YWx1ZSBhbmQg
LmRlZmF1bHRWYWx1ZSBhc3NlcnRfZXF1YWxzOiAuZGVmYXVsdFZhbHVlIGFmdGVyIHNldHRpbmcg
dGV4dENvbnRlbnQgZXhwZWN0ZWQgIngiIGJ1dCBnb3QgIiIKK0ZBSUwgRGVzY2VuZGFudCBtdXRh
dGlvbnMgYW5kIG91dHB1dC52YWx1ZSBhbmQgLmRlZmF1bHRWYWx1ZSBhc3NlcnRfZXF1YWxzOiAu
dmFsdWUgYWZ0ZXIgc2V0dGluZyB0ZXh0Q29udGVudCBhZ2FpbiBleHBlY3RlZCAieSIgYnV0IGdv
dCAic29tZSIKIFBBU1Mgb3V0cHV0IGFuZCBvdXRwdXQuZm9ybS5yZXNldCgpCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3YmJhNzNmNTFh
NmJmYTNmOTlmOTE4OTlmYTJjYzFjOGY3ZTg0ZjQwLi40OWExOTBjMjg5ZjUyOWYyNmJhNGVlNjc3
NWU1ZTEyOWQ3YWY2MGIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xMzU5LDggKzEzNTksNiBAQCB3ZWJraXQub3JnL2IvMjI0NjMzIG1l
ZGlhL3ByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkLWZpcmVkLW9uY2UuaHRtbCBbIFBhc3MgVGltZW91
dAogCiB3ZWJraXQub3JnL2IvMjI0NjkwIGNvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLWJvcmRlci1y
YWRpdXMtY2xpcHBpbmcuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKLXdlYmtpdC5v
cmcvYi8yMjQ2OTYgWyBhcm02NCBdIGh0dHAvd3B0L3dlYnJ0Yy9jaGFuZ2UtZW5jb2RlZC10cmFu
c2Zvcm0uaHRtbCBbIFBhc3MgQ3Jhc2ggXQotCiB3ZWJraXQub3JnL2IvMjI0Njk4IFsgQmlnU3Vy
IFJlbGVhc2UgYXJtNjQgXSBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLW9vbS5odG1sIFsgUGFz
cyBDcmFzaCBdCiAKIHdlYmtpdC5vcmcvYi8yMjQ4NDUgWyBCaWdTdXIgRGVidWcgYXJtNjQgXSBo
dHRwL3dwdC9wcmVsb2FkL2NoYW5nZS1saW5rLXJlbC1hdHRyaWJ1dGUuaHRtbCBbIFBhc3MgQ3Jh
c2ggXQpAQCAtMTQwNSw0ICsxNDAzLDQgQEAgd2Via2l0Lm9yZy9iLzIyNTY2OSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvdHJhbnNpdGkKIAogd2Vi
a2l0Lm9yZy9iLzIyNTY2NyBodHRwL3Rlc3RzL3dlYkFQSVN0YXRpc3RpY3Mvc2NyZWVuLWZ1bmN0
aW9ucy1hY2Nlc3NlZC1kYXRhLWNvbGxlY3Rpb24uaHRtbCBbIFNsb3cgXQogCi13ZWJraXQub3Jn
L2IvMjI1NjY4IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVkaXJlY3QtY3Jvc3Mtb3JpZ2lu
LXRyaXBtaW5lLmh0bWwgWyBTbG93IF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJr
aXQub3JnL2IvMjI1NjY4IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVkaXJlY3QtY3Jvc3Mt
b3JpZ2luLXRyaXBtaW5lLmh0bWwgWyBTbG93IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggOGMzODQ5NWViYjI1YTM1YTZhZjg2YzJkM2VlY2U3M2E0NDli
ODJiNi4uYWNkMWNlNDQ2NGNiZTM0OTE3MTM0MjBlYTczYWQ1NWJjMWU3MjJhYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0LDcgKzE0LDYgQEAgZWRp
dGluZy9tYWMgWyBQYXNzIF0KIGVkaXRpbmcvcGFzdGVib2FyZC9tYWMgWyBQYXNzIF0KIGZhc3Qv
ZG9tL1JhbmdlL21hYyBbIFBhc3MgXQogZmFzdC9zY3JvbGxpbmcvbGF0Y2hpbmcgWyBQYXNzIF0K
LW1lZGlhL21hYyBbIFBhc3MgXQogbW9kZWwtZWxlbWVudCBbIFBhc3MgXQogCiBmYXN0L2Zvcm1z
L3NlYXJjaC9zZWFyY2gtcGFkZGluZy1jYW5jZWwtcmVzdWx0cy1idXR0b25zLmh0bWwgWyBQYXNz
IF0KQEAgLTIyNzMsNCArMjI3Miw0IEBAIHdlYmtpdC5vcmcvYi8yMjU1MjggWyBhcm02NCBdIGh0
dHAvd3B0L2ZldGNoL2ZldGNoLXJlc3BvbnNlLWJvZHktc3RvcC1pbi13b3JrZXIuCiAKIHdlYmtp
dC5vcmcvYi8yMjUyNTggWyBhcm02NCBdIGpzL2RvbS9Qcm9taXNlLXJlamVjdC1sYXJnZS1zdHJp
bmcuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMjU2NzAgd2ViYXVkaW8v
QXVkaW9Db250ZXh0L2F1ZGlvY29udGV4dC1jbG9zZS1iYXNpYy5odG1sIFsgU2xvdyBdClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQord2Via2l0Lm9yZy9iLzIyNTY3MCB3ZWJhdWRpby9BdWRp
b0NvbnRleHQvYXVkaW9jb250ZXh0LWNsb3NlLWJhc2ljLmh0bWwgWyBTbG93IF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428600</attachid>
            <date>2021-05-13 21:15:00 -0700</date>
            <delta_ts>2021-05-13 23:16:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196532-20210513211459.patch</filename>
            <type>text/plain</type>
            <size>25090</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTcwMDdiZTJmMzQ2ZmIy
MmIzOWQ4YjI2MTBhZGM1NDIxYmYzM2U5OC4uMzNkMTkzNTAzYTlkZWI3MTc5ZGYzNzJjZWM3ZmYw
ZDE0NWE0M2U0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDIxLTA1LTEzICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBvdXRwdXQgZWxlbWVudCBkb2Vz
bid0IHJlYWN0IHByb3Blcmx5IHRvIG5vZGUgdHJlZSBtdXRhdGlvbnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjUzMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cmVwbGFjZUFsbCk6IFJlZmFjdG9y
ZWQgbW9zdCBvZiB0aGUgZnVuY3Rpb25zCisgICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbiBhbmQg
cmVwbGFjZUFsbENoaWxkcmVuV2l0aE5ld1RleHQgaW50byB0aGlzIG5ldyBvbmUsCisgICAgICAg
IGFuZCBuYW1lZCBpdCBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUgb3BlcmF0aW9uIGluIHRoZSBI
VE1MIHNwZWNpZmljYXRpb24uCisgICAgICAgIFRoZSBmdW5jdGlvbiBpcyBpbmNvbXBsZXRlLCBi
dXQgcHJlc2VydmVzIGV4aXN0aW5nIGJlaGF2aW9yLgorICAgICAgICAoV2ViQ29yZTo6Q29udGFp
bmVyTm9kZTo6c3RyaW5nUmVwbGFjZUFsbCk6IFJlZmFjdG9yZWQgdGhlIHJlc3Qgb2YgdGhlCisg
ICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0IGZ1bmN0aW9uIGFuZCByZW5hbWVk
IHRvIHRoZSBuYW1lIGZyb20gdGhlCisgICAgICAgIEhUTUwgc3BlY2lmaWNhdGlvbi4KKyAgICAg
ICAgKiBkb20vQ29udGFpbmVyTm9kZS5oOiBVcGRhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4K
KworICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNldFRl
eHRDb250ZW50KTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2UgYWJvdmUuCisgICAgICAgICogZG9t
L1JhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjpzdXJyb3VuZENvbnRlbnRzKTog
RGl0dG8uCisgICAgICAgICogZWRpdGluZy9pb3MvRWRpdG9ySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6RWRpdG9yOjpzZXRUZXh0QXNDaGlsZE9mRWxlbWVudCk6IERpdHRvLgorICAgICAgICAq
IGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnNl
dElubmVyVGV4dCk6IERpdHRvLgorCisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6SFRNTE91dHB1dEVsZW1l
bnQpOiBNb3ZlZCBkYXRhIG1lbWJlcgorICAgICAgICBpbml0aWFsaXphdGlvbiBpbnRvIHRoZSBj
bGFzcyBkZWZpbml0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OmNy
ZWF0ZSk6IEFkZGVkIGFuIG92ZXJsb2FkIHRoYXQgdGFrZXMganVzdAorICAgICAgICBhIGRvY3Vt
ZW50LCBmb3IgdXNlIHdoZW4gaW52b2tlZCBmcm9tIGFzIGEgY29uc3RydWN0b3IuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBUaWdodGVuZWQg
dGhlIGxvZ2ljIGZvciB0aGUKKyAgICAgICAgZm9yIGF0dHJpYnV0ZS4gSSBkZWNpZGVkIGl0J3Mg
YmV0dGVyIHRvIGNhbGwgdGhyb3VnaCB0byB0aGUgYmFzZSBjbGFzcywgZXZlbgorICAgICAgICB0
aG91Z2ggd2Ugb2Z0ZW4gZG9uJ3QgZG8gdGhhdCBmb3IgYXR0cmlidXRlcyB0aGF0IGRvbid0IGV4
cGVjdCB0aGUgYmFzZQorICAgICAgICBjbGFzcyB0byBwYXkgYXR0ZW50aW9uIHRvLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IERlbGV0ZWQu
IE5vIG5lZWQgZm9yIHRoaXMgaW4KKyAgICAgICAgdGhlIGltcHJvdmVkIEhUTUwgc3BlY2lmaWNh
dGlvbiB2ZXJzaW9uIG9mIHRoaXMgZWxlbWVudCdzIGFsZ29yaXRobXMuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6cmVzZXQpOiBVcGRhdGVkIGJhc2VkIG9uIHRoZSBIVE1M
IHNwZWNpZmljYXRpb24sCisgICAgICAgIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIGFsZ29yaXRo
bSByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCB2YWx1ZSBtb2RlIGZsYWcgd2UKKyAgICAgICAgd2Vy
ZSB1c2luZyBiZWZvcmUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6c2V0
VmFsdWUpOiBVcGRhdGVkIGJhc2VkIG9uIHRoZSBIVE1MIHNwZWNpZmljYXRpb24sCisgICAgICAg
IGFsd2F5cyBzZXR0aW5nIHRoZSBkZWZhdWx0IHZhbHVlIG92ZXJyaWRlIGJhc2VkIG9uIHRoZSBj
dXJyZW50IGRlZmF1bHQgdmFsdWUsCisgICAgICAgIGFuZCB1c2luZyBzdHJpbmdSZXBsYWNlQWxs
LiBUaGVyZSdzIG5vIG5lZWQgZm9yIHRoZSBvbGQgc2V0VGV4dENvbnRlbnRJbnRlcm5hbCwKKyAg
ICAgICAgc2luY2UgdGhhdCB3YXMgYWxsIGR1ZSB0byB0aGUgbmVlZCB0byBhdm9pZCBpbmZpbml0
ZSByZWN1cnNpb24gaW4gY2hpbGRyZW5DaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91
dHB1dEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZSBjb25zdCk6IFVwZGF0ZWQgYmFzZWQgb24gdGhlIEhU
TUwKKyAgICAgICAgc3BlY2lmaWNhdGlvbiwgZGVyaXZpbmcgdGhlIGRlZmF1bHQgdmFsdWUgZnJv
bSB0aGUgZGVmYXVsdCB2YWx1ZSBvdmVycmlkZSBhbmQKKyAgICAgICAgdGhlIGRlc2NlbmRhbnQg
dGV4dCBjb250ZW50LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OnNldERl
ZmF1bHRWYWx1ZSk6IFVwZGF0ZWQgYmFzZWQgb24gdGhlIEhUTUwKKyAgICAgICAgc3BlY2lmaWNh
dGlvbiwgZG9pbmcgYSBzdHJpbmcgcmVwbGFjZSBhbGwgd2l0aCB0aGUgdmFsdWUgaWYgdGhlIGRl
ZmF1bHQKKyAgICAgICAgdmFsdWUgb3ZlcnJpZGUgaXMgbnVsbCwgYW5kIHVwZGF0aW5nIHRoZSBk
ZWZhdWx0IHZhbHVlIG92ZXJyaWRlIG90aGVyd2lzZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxP
dXRwdXRFbGVtZW50OjpodG1sRm9yKTogVXBkYXRlZCB0byByZW5hbWUgbV90b2tlbnMgdG8gbV9m
b3JUb2tlbnMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6c2V0VGV4dENv
bnRlbnRJbnRlcm5hbCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxPdXRwdXRFbGVt
ZW50Lmg6IE1vdmVkIERPTVRva2VuTGlzdCB0byBiZSBhIGZvcndhcmQgZGVjbGFyYXRpb24KKyAg
ICAgICAgaW5zdGVhZCBvZiBhbiBpbmNsdWRlLiBBZGRlIGEgY29uc3RydWN0b3IgdGhhdCB0YWtl
cyBvbmx5IGEgZG9jdW1lbnQgdG8gYmUgdXNlZAorICAgICAgICBmcm9tIEphdmFTY3JpcHQuIE1h
ZGUgdGhlIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50IG92ZXJyaWRlIGJlIHByaXZhdGUgbGlrZSB0
aGUKKyAgICAgICAgb3RoZXIgb3ZlcnJpZGVzLiBSZW1vdmVkIHRoZSBjaGlsZHJlbkNoYW5nZSBv
dmVycmlkZSBhbmQgdGhlCisgICAgICAgIHNldFRleHRDb250ZW50SW50ZXJuYWwgZnVuY3Rpb24u
IFJlbW92ZWQgbV9pc0RlZmF1bHRWYWx1ZU1vZGUsCisgICAgICAgIG1faXNTZXRUZXh0Q29udGVu
dEluUHJvZ3Jlc3MsIGFuZCBtX2RlZmF1bHRWYWx1ZS4gQWRkZWQgbV9kZWZhdWx0VmFsdWVPdmVy
cmlkZS4KKyAgICAgICAgUmVuYW1lZCBtX3Rva2VucyB0byBtX2ZvclRva2Vucy4KKworICAgICAg
ICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOiBVcGRhdGVkIHRvIG1hdGNoIHRoZSBIVE1M
IHNwZWNpZmljYXRpb24uIFRoaXMKKyAgICAgICAgaW52b2x2ZWQgYWRkaW5nIGEgY29uc3RydWN0
b3IsIGFkZGluZyBTYW1lT2JqZWN0IGZvciB0aGUgaHRtbEZvciBhdHRyaWJ1dGUsCisgICAgICAg
IG1ha2luZyB0aGUgZm9ybSBhdHRyaWJ1dGUgbnVsbGFibGUsIGFuZCByZW1vdmluZyBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddCisgICAgICAgIGZyb20gdGhlIGRlZmF1bHRWYWx1ZSBhbmQgdmFs
dWUgYXR0cmlidXRlcy4KKwogMjAyMS0wNS0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFBsdW1iIGRhdGEgZGV0ZWN0b3IgcmVzdWx0
cyB0aHJvdWdoIHNvbWUgcGxhdGZvcm0gb2JqZWN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5v
ZGUuY3BwCmluZGV4IDA5NmI4Nzg3YWE2Y2JmYzVjYzk4ZjcyODBmYWE1YTEwYjYzNzM4ODcuLmZj
YmJmNWU2YjgyYjU2YzIyZjM4N2VjOTUzNDk0MjUyMGM5M2ZmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Q29udGFpbmVyTm9kZS5jcHAKQEAgLTY2MywyNSArNjYzLDE4IEBAIHZvaWQgQ29udGFpbmVyTm9k
ZTo6cGFyc2VyUmVtb3ZlQ2hpbGQoTm9kZSYgb2xkQ2hpbGQpCiB9CiAKIC8vIGh0dHBzOi8vZG9t
LnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC1ub2RlLXJlcGxhY2UtYWxsCi12b2lkIENvbnRhaW5l
ck5vZGU6OnJlcGxhY2VBbGxDaGlsZHJlbihzdGQ6Om51bGxwdHJfdCkKK3ZvaWQgQ29udGFpbmVy
Tm9kZTo6cmVwbGFjZUFsbChOb2RlKiBub2RlKQogewotICAgIENoaWxkTGlzdE11dGF0aW9uU2Nv
cGUgbXV0YXRpb24oKnRoaXMpOwotICAgIHJlbW92ZUNoaWxkcmVuKCk7Ci19Ci0KLS8vIGh0dHBz
Oi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC1ub2RlLXJlcGxhY2UtYWxsCi12b2lkIENv
bnRhaW5lck5vZGU6OnJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0KGNvbnN0IFN0cmluZyYg
dGV4dCkKLXsKLSAgICBpZiAodGV4dC5pc0VtcHR5KCkpIHsKLSAgICAgICAgcmVwbGFjZUFsbENo
aWxkcmVuKG51bGxwdHIpOworICAgIGlmICghbm9kZSkgeworICAgICAgICBDaGlsZExpc3RNdXRh
dGlvblNjb3BlIG11dGF0aW9uKCp0aGlzKTsKKyAgICAgICAgcmVtb3ZlQ2hpbGRyZW4oKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gbm9kZSA9IGRvY3VtZW50KCkuY3JlYXRl
VGV4dE5vZGUodGV4dCk7CisgICAgLy8gRklYTUU6IFRoZSBjb2RlIGJlbG93IGlzIHJvdWdobHkg
Y29ycmVjdCBmb3IgYSBuZXcgdGV4dCBub2RlIHdpdGggbm8gcGFyZW50LCBidXQgbmVlZHMgZW5o
YW5jZW1lbnQgdG8gd29yayBwcm9wZXJseSBmb3IgbW9yZSBjb21wbGV4IGNhc2VzLgorCiAgICAg
aWYgKCFoYXNDaGlsZE5vZGVzKCkpIHsKLSAgICAgICAgLy8gYXBwZW5kQ2hpbGRXaXRob3V0UHJl
SW5zZXJ0aW9uVmFsaWRpdHlDaGVjaygpIGNhbiBvbmx5IHRocm93IHdoZW4gbm9kZSBoYXMgYSBw
YXJlbnQgYW5kIHdlIGFscmVhZHkgYXNzZXJ0ZWQgaXQgZG9lc24ndC4KLSAgICAgICAgYXV0byBy
ZXN1bHQgPSBhcHBlbmRDaGlsZFdpdGhvdXRQcmVJbnNlcnRpb25WYWxpZGl0eUNoZWNrKG5vZGUp
OwotICAgICAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgIXJlc3VsdC5oYXNFeGNlcHRpb24oKSk7
CisgICAgICAgIGFwcGVuZENoaWxkV2l0aG91dFByZUluc2VydGlvblZhbGlkaXR5Q2hlY2soKm5v
ZGUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02ODksMTcgKzY4MiwyMiBAQCB2b2lk
IENvbnRhaW5lck5vZGU6OnJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0KGNvbnN0IFN0cmlu
ZyYgdGV4dCkKICAgICBDaGlsZExpc3RNdXRhdGlvblNjb3BlIG11dGF0aW9uKCp0aGlzKTsKICAg
ICByZW1vdmVBbGxDaGlsZHJlbldpdGhTY3JpcHRBc3NlcnRpb24oQ2hpbGRDaGFuZ2U6OlNvdXJj
ZTo6QVBJLCBEZWZlckNoaWxkcmVuQ2hhbmdlZDo6WWVzKTsKIAotICAgIGV4ZWN1dGVOb2RlSW5z
ZXJ0aW9uV2l0aFNjcmlwdEFzc2VydGlvbigqdGhpcywgbm9kZS5nZXQoKSwgQ2hpbGRDaGFuZ2U6
OlNvdXJjZTo6QVBJLCBSZXBsYWNlZEFsbENoaWxkcmVuOjpZZXMsIFsmXSB7Ci0gICAgICAgIEFT
U0VSVCghZW5zdXJlUHJlSW5zZXJ0aW9uVmFsaWRpdHkobm9kZSwgbnVsbHB0cikuaGFzRXhjZXB0
aW9uKCkpOworICAgIGV4ZWN1dGVOb2RlSW5zZXJ0aW9uV2l0aFNjcmlwdEFzc2VydGlvbigqdGhp
cywgKm5vZGUsIENoaWxkQ2hhbmdlOjpTb3VyY2U6OkFQSSwgUmVwbGFjZWRBbGxDaGlsZHJlbjo6
WWVzLCBbJl0gewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxJbnNlcnRE
T01Ob2RlKGRvY3VtZW50KCksICp0aGlzKTsKICAgICAgICAgbm9kZS0+c2V0VHJlZVNjb3BlUmVj
dXJzaXZlbHkodHJlZVNjb3BlKCkpOwotICAgICAgICBhcHBlbmRDaGlsZENvbW1vbihub2RlKTsK
KyAgICAgICAgYXBwZW5kQ2hpbGRDb21tb24oKm5vZGUpOwogICAgIH0pOwogCiAgICAgcmVidWls
ZFNWR0V4dGVuc2lvbnNFbGVtZW50c0lmTmVjZXNzYXJ5KCk7CiAgICAgZGlzcGF0Y2hTdWJ0cmVl
TW9kaWZpZWRFdmVudCgpOwogfQogCisvLyBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI3N0
cmluZy1yZXBsYWNlLWFsbAordm9pZCBDb250YWluZXJOb2RlOjpzdHJpbmdSZXBsYWNlQWxsKGNv
bnN0IFN0cmluZyYgc3RyaW5nKQoreworICAgIHJlcGxhY2VBbGwoc3RyaW5nLmlzRW1wdHkoKSA/
IG51bGxwdHIgOiBkb2N1bWVudCgpLmNyZWF0ZVRleHROb2RlKHN0cmluZykucHRyKCkpOworfQor
CiBpbmxpbmUgdm9pZCBDb250YWluZXJOb2RlOjpyZWJ1aWxkU1ZHRXh0ZW5zaW9uc0VsZW1lbnRz
SWZOZWNlc3NhcnkoKQogewogICAgIGlmIChkb2N1bWVudCgpLnN2Z0V4dGVuc2lvbnMoKSAmJiAh
aXM8U1ZHVXNlRWxlbWVudD4oc2hhZG93SG9zdCgpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Db250YWluZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9k
ZS5oCmluZGV4IGY2NmY2ZTM2ZGMzZWNmMWNiYWY3YzVjOTcyNDk0YWU2N2U1NzFjYjAuLjNmYjE5
YzU5NjVmNDVlNmRiNjdiOTE2MGJmNGQ5MDcxZjU4ZTE3OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRh
aW5lck5vZGUuaApAQCAtNTcsOCArNTcsOCBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gcmVwbGFjZUNoaWxkKE5vZGUmIG5ld0NoaWxkLCBOb2RlJiBvbGRDaGlsZCk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8dm9pZD4gcmVtb3ZlQ2hpbGQoTm9kZSYgY2hpbGQpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPHZvaWQ+IGFwcGVuZENoaWxkKE5vZGUmIG5l
d0NoaWxkKTsKLSAgICB2b2lkIHJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0KGNvbnN0IFN0
cmluZyYpOwotICAgIHZvaWQgcmVwbGFjZUFsbENoaWxkcmVuKHN0ZDo6bnVsbHB0cl90KTsKKyAg
ICB2b2lkIHN0cmluZ1JlcGxhY2VBbGwoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCByZXBsYWNl
QWxsKE5vZGUqKTsKIAogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIG9ubHkgdXNlZCBkdXJpbmcg
cGFyc2luZy4KICAgICAvLyBUaGV5IGRvbid0IHNlbmQgRE9NIG11dGF0aW9uIGV2ZW50cyBvciBo
YW5kbGUgcmVwYXJlbnRpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggZmUwOTBlNzVjNzRmNGI1MTc0
YmQwZjhkYjFjNzA5Y2IzZDRjZTdhOS4uMDUyMmRlMGJhYTc4MmQ3ZTlmYjQ5MzM5MDk0MjU2NmVi
Yzc1ZGM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMTU4OSw3ICsxNTg5LDcgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gTm9kZTo6c2V0VGV4dENvbnRlbnQoY29uc3QgU3RyaW5nJiB0ZXh0KQogICAgICAg
ICByZXR1cm4gc2V0Tm9kZVZhbHVlKHRleHQpOwogICAgIGNhc2UgRUxFTUVOVF9OT0RFOgogICAg
IGNhc2UgRE9DVU1FTlRfRlJBR01FTlRfTk9ERToKLSAgICAgICAgZG93bmNhc3Q8Q29udGFpbmVy
Tm9kZT4oKnRoaXMpLnJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0KHRleHQpOworICAgICAg
ICBkb3duY2FzdDxDb250YWluZXJOb2RlPigqdGhpcykuc3RyaW5nUmVwbGFjZUFsbCh0ZXh0KTsK
ICAgICAgICAgcmV0dXJuIHsgfTsKICAgICBjYXNlIERPQ1VNRU5UX05PREU6CiAgICAgY2FzZSBE
T0NVTUVOVF9UWVBFX05PREU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAppbmRleCA1ODM4MGNiYjBiODcwNGI2
MmQyZjE1MGZmYTBkN2U0ZDM3YTU4NThhLi5lNzk2OTk2MWU0OWQyNzAzYTI0MjY2ODQwNjE5NTk2
OTI2Yzc4ZjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKQEAgLTgyNCw3ICs4MjQsNyBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBSYW5nZTo6c3Vycm91bmRDb250ZW50cyhOb2RlJiBuZXdQYXJlbnQpCiAKICAg
ICAvLyBTdGVwIDQ6IElmIG5ld1BhcmVudCBoYXMgY2hpbGRyZW4sIHJlcGxhY2UgYWxsIHdpdGgg
bnVsbCB3aXRoaW4gbmV3UGFyZW50LgogICAgIGlmIChuZXdQYXJlbnQuaGFzQ2hpbGROb2Rlcygp
KQotICAgICAgICBkb3duY2FzdDxDb250YWluZXJOb2RlPihuZXdQYXJlbnQpLnJlcGxhY2VBbGxD
aGlsZHJlbihudWxscHRyKTsKKyAgICAgICAgZG93bmNhc3Q8Q29udGFpbmVyTm9kZT4obmV3UGFy
ZW50KS5yZXBsYWNlQWxsKG51bGxwdHIpOwogCiAgICAgLy8gU3RlcCA1OiBJbnNlcnQgbmV3UGFy
ZW50IGludG8gY29udGV4dCBvYmplY3QuCiAgICAgYXV0byBpbnNlcnRSZXN1bHQgPSBpbnNlcnRO
b2RlKG5ld1BhcmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2lvcy9F
ZGl0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2lvcy9FZGl0b3JJT1MubW0KaW5k
ZXggNzAzNmFlMGNkMGFhYTI5OTk4MjQ4MmMwYmUzM2VmYzU0OTU0ZGZiNS4uNDlkMjM4MmE3Y2M2
YzAzNmNmMmM3OTA0Y2RhNTdlMWEyYTRhZTE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9pb3MvRWRpdG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaW9z
L0VkaXRvcklPUy5tbQpAQCAtMzM3LDcgKzMzNyw3IEBAIHZvaWQgRWRpdG9yOjpzZXRUZXh0QXND
aGlsZE9mRWxlbWVudChjb25zdCBTdHJpbmcmIHRleHQsIEVsZW1lbnQmIGVsZW1lbnQpCiAgICAg
Ly8gV2hhdCBmb2xsb3dzIGlzIG1vcmUgZXhwZW5zaXZlIGlmIHRoZXJlIGlzIGEgc2VsZWN0aW9u
LCBzbyBjbGVhciBpdCBzaW5jZSBpdCdzIGdvaW5nIHRvIGNoYW5nZSBhbnl3YXkuCiAgICAgbV9k
b2N1bWVudC5zZWxlY3Rpb24oKS5jbGVhcigpOwogCi0gICAgZWxlbWVudC5yZXBsYWNlQWxsQ2hp
bGRyZW5XaXRoTmV3VGV4dCh0ZXh0KTsKKyAgICBlbGVtZW50LnN0cmluZ1JlcGxhY2VBbGwodGV4
dCk7CiAKICAgICBWaXNpYmxlUG9zaXRpb24gYWZ0ZXJDb250ZW50cyA9IG1ha2VDb250YWluZXJP
ZmZzZXRQb3NpdGlvbigmZWxlbWVudCwgZWxlbWVudC5jb3VudENoaWxkTm9kZXMoKSk7CiAgICAg
aWYgKGFmdGVyQ29udGVudHMuaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3Bw
CmluZGV4IDQyMTM4ZjYxYWViMDY0YjIyOTJhOWQyOWExZjQwZGNhN2UyMTVkM2IuLjRlODdjYmM1
MDc3NmQ3NGY1NjIyMzJkZjVlYTdmNmQwY2UwNTc3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuY3BwCkBAIC01NTUsNyArNTU1LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSFRNTEVsZW1l
bnQ6OnNldElubmVyVGV4dChjb25zdCBTdHJpbmcmIHRleHQpCiAgICAgLy8gRklYTUU6IFRoaXMg
ZG9lc24ndCB0YWtlIHdoaXRlc3BhY2UgY29sbGFwc2luZyBpbnRvIGFjY291bnQgYXQgYWxsLgog
CiAgICAgaWYgKCF0ZXh0LmNvbnRhaW5zKCdcbicpICYmICF0ZXh0LmNvbnRhaW5zKCdccicpKSB7
Ci0gICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0KHRleHQpOworICAgICAgICBz
dHJpbmdSZXBsYWNlQWxsKHRleHQpOwogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KIApAQCAt
NTY1LDE5ICs1NjUsMTkgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSFRNTEVsZW1lbnQ6OnNldElubmVy
VGV4dChjb25zdCBTdHJpbmcmIHRleHQpCiAgICAgYXV0byogciA9IHJlbmRlcmVyKCk7CiAgICAg
aWYgKChyICYmIHItPnN0eWxlKCkucHJlc2VydmVOZXdsaW5lKCkpIHx8IChpc0Nvbm5lY3RlZCgp
ICYmIGlzVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50KCkpKSB7CiAgICAgICAgIGlmICghdGV4
dC5jb250YWlucygnXHInKSkgewotICAgICAgICAgICAgcmVwbGFjZUFsbENoaWxkcmVuV2l0aE5l
d1RleHQodGV4dCk7CisgICAgICAgICAgICBzdHJpbmdSZXBsYWNlQWxsKHRleHQpOwogICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAgfQogICAgICAgICBTdHJpbmcgdGV4dFdpdGhDb25z
aXN0ZW50TGluZUJyZWFrcyA9IHRleHQ7CiAgICAgICAgIHRleHRXaXRoQ29uc2lzdGVudExpbmVC
cmVha3MucmVwbGFjZSgiXHJcbiIsICJcbiIpOwogICAgICAgICB0ZXh0V2l0aENvbnNpc3RlbnRM
aW5lQnJlYWtzLnJlcGxhY2UoJ1xyJywgJ1xuJyk7Ci0gICAgICAgIHJlcGxhY2VBbGxDaGlsZHJl
bldpdGhOZXdUZXh0KHRleHRXaXRoQ29uc2lzdGVudExpbmVCcmVha3MpOworICAgICAgICBzdHJp
bmdSZXBsYWNlQWxsKHRleHRXaXRoQ29uc2lzdGVudExpbmVCcmVha3MpOwogICAgICAgICByZXR1
cm4geyB9OwogICAgIH0KIAorICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgcmVwbGFjZUFs
bCgpLCBhZnRlciB3ZSBmaXggdGhhdCB0byB3b3JrIHByb3Blcmx5IGZvciBEb2N1bWVudEZyYWdt
ZW50LgogICAgIC8vIEFkZCB0ZXh0IG5vZGVzIGFuZCA8YnI+IGVsZW1lbnRzLgogICAgIGF1dG8g
ZnJhZ21lbnQgPSB0ZXh0VG9GcmFnbWVudChkb2N1bWVudCgpLCB0ZXh0KTsKLSAgICAvLyBGSVhN
RTogVGhpcyBzaG91bGQgdXNlIGEgdmFyaWFudCBvZiByZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3
VGV4dCgpIHdoaWNoIGFjY2VwdHMgRG9jdW1lbnRGcmFnbWVudHMgYXMgaW5wdXQuCiAgICAgLy8g
SXQncyBzYWZlIHRvIGRpc3BhdGNoIGV2ZW50cyBvbiB0aGUgbmV3IGZyYWdtZW50IHNpbmNlIGF1
dGhvciBzY3JpcHRzIGhhdmUgbm8gYWNjZXNzIHRvIGl0IHlldC4KICAgICBTY3JpcHREaXNhbGxv
d2VkU2NvcGU6OkV2ZW50QWxsb3dlZFNjb3BlIGFsbG93ZWRTY29wZShmcmFnbWVudC5nZXQoKSk7
CiAgICAgcmV0dXJuIHJlcGxhY2VDaGlsZHJlbldpdGhGcmFnbWVudCgqdGhpcywgV1RGTW92ZShm
cmFnbWVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmNwcAppbmRl
eCA1YjQ0NmM3ZjM5ZmU3ODU5ZWQ3Y2U2NDNkYjZkOTEyZjMwMGE0Y2UyLi4wY2RhMWNhZDc3ZTRl
MzgwNjNiMGE4MzY2ZDlmMWIwMTA4NzJlOGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPdXRwdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
dXRwdXRFbGVtZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKGMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC0zMSw2ICszMiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiSFRNTE91dHB1dEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgog
I2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC00MCwxMyArNDIsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChIVE1MT3V0cHV0RWxl
bWVudCk7CiAKLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KIGlubGluZSBIVE1MT3V0cHV0
RWxlbWVudDo6SFRNTE91dHB1dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQmIGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZvcm0pCiAgICAgOiBIVE1MRm9y
bUNvbnRyb2xFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBmb3JtKQotICAgICwgbV9pc0RlZmF1
bHRWYWx1ZU1vZGUodHJ1ZSkKLSAgICAsIG1faXNTZXRUZXh0Q29udGVudEluUHJvZ3Jlc3MoZmFs
c2UpCi0gICAgLCBtX2RlZmF1bHRWYWx1ZShlbXB0eVN0cmluZygpKQogewogfQogCkBAIC01NSw2
ICs1MiwxMSBAQCBSZWY8SFRNTE91dHB1dEVsZW1lbnQ+IEhUTUxPdXRwdXRFbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRAogICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEhUTUxPdXRwdXRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBmb3JtKSk7CiB9CiAKK1Jl
ZjxIVE1MT3V0cHV0RWxlbWVudD4gSFRNTE91dHB1dEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCYg
ZG9jdW1lbnQpCit7CisgICAgcmV0dXJuIGNyZWF0ZShIVE1MTmFtZXM6Om91dHB1dFRhZywgZG9j
dW1lbnQsIG51bGxwdHIpOworfQorCiBjb25zdCBBdG9tU3RyaW5nJiBIVE1MT3V0cHV0RWxlbWVu
dDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKIHsKICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVy
RGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IG91dHB1dCgib3V0cHV0IiwgQXRvbVN0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpOwpAQCAtNjgsMzUgKzcwLDE1IEBAIGJvb2wgSFRNTE91dHB1
dEVsZW1lbnQ6OnN1cHBvcnRzRm9jdXMoKSBjb25zdAogCiB2b2lkIEhUTUxPdXRwdXRFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3Ry
aW5nJiB2YWx1ZSkKIHsKLSAgICBpZiAobmFtZSA9PSBmb3JBdHRyKSB7Ci0gICAgICAgIGlmICht
X3Rva2VucykKLSAgICAgICAgICAgIG1fdG9rZW5zLT5hc3NvY2lhdGVkQXR0cmlidXRlVmFsdWVD
aGFuZ2VkKHZhbHVlKTsKLSAgICB9IGVsc2UKLSAgICAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwotfQotCi12b2lkIEhUTUxPdXRwdXRFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKLXsKLSAgICBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlKTsKLQotICAgIGlm
IChjaGFuZ2Uuc291cmNlID09IENoaWxkQ2hhbmdlOjpTb3VyY2U6OlBhcnNlciB8fCBtX2lzU2V0
VGV4dENvbnRlbnRJblByb2dyZXNzKSB7Ci0gICAgICAgIG1faXNTZXRUZXh0Q29udGVudEluUHJv
Z3Jlc3MgPSBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChtX2lzRGVm
YXVsdFZhbHVlTW9kZSkKLSAgICAgICAgbV9kZWZhdWx0VmFsdWUgPSB0ZXh0Q29udGVudCgpOwor
ICAgIGlmIChuYW1lID09IGZvckF0dHIgJiYgbV9mb3JUb2tlbnMpCisgICAgICAgIG1fZm9yVG9r
ZW5zLT5hc3NvY2lhdGVkQXR0cmlidXRlVmFsdWVDaGFuZ2VkKHZhbHVlKTsKKyAgICBIVE1MRm9y
bUNvbnRyb2xFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiB9CiAKIHZvaWQg
SFRNTE91dHB1dEVsZW1lbnQ6OnJlc2V0KCkKIHsKLSAgICAvLyBUaGUgcmVzZXQgYWxnb3JpdGht
IGZvciBvdXRwdXQgZWxlbWVudHMgaXMgdG8gc2V0IHRoZSBlbGVtZW50J3MKLSAgICAvLyB2YWx1
ZSBtb2RlIGZsYWcgdG8gImRlZmF1bHQiIGFuZCB0aGVuIHRvIHNldCB0aGUgZWxlbWVudCdzIHRl
eHRDb250ZW50Ci0gICAgLy8gYXR0cmlidXRlIHRvIHRoZSBkZWZhdWx0IHZhbHVlLgotICAgIG1f
aXNEZWZhdWx0VmFsdWVNb2RlID0gdHJ1ZTsKLSAgICBpZiAobV9kZWZhdWx0VmFsdWUgPT0gdmFs
dWUoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIHNldFRleHRDb250ZW50SW50ZXJuYWwobV9kZWZh
dWx0VmFsdWUpOworICAgIHN0cmluZ1JlcGxhY2VBbGwoZGVmYXVsdFZhbHVlKCkpOworICAgIG1f
ZGVmYXVsdFZhbHVlT3ZlcnJpZGUgPSB7IH07CiB9CiAKIFN0cmluZyBIVE1MT3V0cHV0RWxlbWVu
dDo6dmFsdWUoKSBjb25zdApAQCAtMTA2LDQxICs4OCwyOCBAQCBTdHJpbmcgSFRNTE91dHB1dEVs
ZW1lbnQ6OnZhbHVlKCkgY29uc3QKIAogdm9pZCBIVE1MT3V0cHV0RWxlbWVudDo6c2V0VmFsdWUo
Y29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKLSAgICAvLyBUaGUgdmFsdWUgbW9kZSBmbGFnIHNldCB0
byAidmFsdWUiIHdoZW4gdGhlIHZhbHVlIGF0dHJpYnV0ZSBpcyBzZXQuCi0gICAgbV9pc0RlZmF1
bHRWYWx1ZU1vZGUgPSBmYWxzZTsKLSAgICBpZiAodmFsdWUgPT0gdGhpcy0+dmFsdWUoKSkKLSAg
ICAgICAgcmV0dXJuOwotICAgIHNldFRleHRDb250ZW50SW50ZXJuYWwodmFsdWUpOworICAgIG1f
ZGVmYXVsdFZhbHVlT3ZlcnJpZGUgPSBkZWZhdWx0VmFsdWUoKTsKKyAgICBzdHJpbmdSZXBsYWNl
QWxsKHZhbHVlKTsKIH0KIAogU3RyaW5nIEhUTUxPdXRwdXRFbGVtZW50OjpkZWZhdWx0VmFsdWUo
KSBjb25zdAogewotICAgIHJldHVybiBtX2RlZmF1bHRWYWx1ZTsKKyAgICByZXR1cm4gbV9kZWZh
dWx0VmFsdWVPdmVycmlkZS5pc051bGwoKSA/IHRleHRDb250ZW50KCkgOiBtX2RlZmF1bHRWYWx1
ZU92ZXJyaWRlOwogfQogCiB2b2lkIEhUTUxPdXRwdXRFbGVtZW50OjpzZXREZWZhdWx0VmFsdWUo
Y29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKLSAgICBpZiAobV9kZWZhdWx0VmFsdWUgPT0gdmFsdWUp
Ci0gICAgICAgIHJldHVybjsKLSAgICBtX2RlZmF1bHRWYWx1ZSA9IHZhbHVlOwotICAgIC8vIFRo
ZSBzcGVjIHJlcXVpcmVzIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgc2V0IHRvIHRoZSBkZWZhdWx0IHZh
bHVlCi0gICAgLy8gd2hlbiB0aGUgZWxlbWVudCdzIHZhbHVlIG1vZGUgZmxhZyB0byAiZGVmYXVs
dCIuCi0gICAgaWYgKG1faXNEZWZhdWx0VmFsdWVNb2RlKQotICAgICAgICBzZXRUZXh0Q29udGVu
dEludGVybmFsKHZhbHVlKTsKKyAgICBpZiAobV9kZWZhdWx0VmFsdWVPdmVycmlkZS5pc051bGwo
KSkKKyAgICAgICAgc3RyaW5nUmVwbGFjZUFsbCh2YWx1ZSk7CisgICAgZWxzZQorICAgICAgICBt
X2RlZmF1bHRWYWx1ZU92ZXJyaWRlID0gdmFsdWU7CiB9CiAKIERPTVRva2VuTGlzdCYgSFRNTE91
dHB1dEVsZW1lbnQ6Omh0bWxGb3IoKQogewotICAgIGlmICghbV90b2tlbnMpCi0gICAgICAgIG1f
dG9rZW5zID0gbWFrZVVuaXF1ZTxET01Ub2tlbkxpc3Q+KCp0aGlzLCBmb3JBdHRyKTsKLSAgICBy
ZXR1cm4gKm1fdG9rZW5zOwotfQotCi12b2lkIEhUTUxPdXRwdXRFbGVtZW50OjpzZXRUZXh0Q29u
dGVudEludGVybmFsKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgQVNTRVJUKCFtX2lzU2V0
VGV4dENvbnRlbnRJblByb2dyZXNzKTsKLSAgICBtX2lzU2V0VGV4dENvbnRlbnRJblByb2dyZXNz
ID0gdHJ1ZTsKLSAgICBzZXRUZXh0Q29udGVudCh2YWx1ZSk7CisgICAgaWYgKCFtX2ZvclRva2Vu
cykKKyAgICAgICAgbV9mb3JUb2tlbnMgPSBtYWtlVW5pcXVlPERPTVRva2VuTGlzdD4oKnRoaXMs
IGZvckF0dHIpOworICAgIHJldHVybiAqbV9mb3JUb2tlbnM7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmgKaW5kZXggNTAzNGIwMjMxMzk2
NjQ0Y2RjMDQ3NGNkZGNjYjEwMzkwOThmNDBkZC4uZTQ4NzE3MTMyNjMzYjE0OWVkN2MzNWY2MWQw
ODQyMTNiYTRjMTQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaApA
QCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0z
MCwxNSArMzEsMTcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJET01Ub2tlbkxpc3Qu
aCIKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgRE9NVG9rZW5MaXN0OworCiBjbGFzcyBIVE1MT3V0cHV0RWxlbWVudCBm
aW5hbCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKEhUTUxPdXRwdXRFbGVtZW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhU
TUxPdXRwdXRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jiwg
SFRNTEZvcm1FbGVtZW50Kik7CisgICAgc3RhdGljIFJlZjxIVE1MT3V0cHV0RWxlbWVudD4gY3Jl
YXRlKERvY3VtZW50Jik7CiAKICAgICBTdHJpbmcgdmFsdWUoKSBjb25zdDsKICAgICB2b2lkIHNl
dFZhbHVlKGNvbnN0IFN0cmluZyYpOwpAQCAtNDYsMjYgKzQ5LDIwIEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldERlZmF1bHRWYWx1ZShjb25zdCBTdHJpbmcmKTsKICAgICBET01Ub2tlbkxpc3QmIGh0
bWxGb3IoKTsKICAgICAKLSAgICBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KLQogcHJpdmF0ZToKICAgICBIVE1MT3V0cHV0RWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBIVE1MRm9ybUVsZW1lbnQqKTsKIAor
ICAgIGJvb2wgY2FuQ29udGFpblJhbmdlRW5kUG9pbnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBm
YWxzZTsgfQogICAgIGJvb2wgY29tcHV0ZVdpbGxWYWxpZGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgY29uc3QgQXRvbVN0cmluZyYpIGZpbmFsOwogICAgIGNvbnN0IEF0b21TdHJpbmcmIGZvcm1D
b250cm9sVHlwZSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNFbnVtZXJhdGFibGUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBzdXBwb3J0TGFiZWxzKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgc3VwcG9ydHNGb2N1cygpIGNvbnN0IGZp
bmFsOwotICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7
CiAgICAgdm9pZCByZXNldCgpIGZpbmFsOwogCi0gICAgdm9pZCBzZXRUZXh0Q29udGVudEludGVy
bmFsKGNvbnN0IFN0cmluZyYpOwotCi0gICAgYm9vbCBtX2lzRGVmYXVsdFZhbHVlTW9kZTsKLSAg
ICBib29sIG1faXNTZXRUZXh0Q29udGVudEluUHJvZ3Jlc3M7Ci0gICAgU3RyaW5nIG1fZGVmYXVs
dFZhbHVlOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Ub2tlbkxpc3Q+IG1fdG9rZW5zOworICAg
IFN0cmluZyBtX2RlZmF1bHRWYWx1ZU92ZXJyaWRlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01U
b2tlbkxpc3Q+IG1fZm9yVG9rZW5zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbAppbmRleCAzNzkzZTllNmNjYjc2
MDI3YTQ3ZDA3MmZmMjg4ZGE1NWVmMDU2ZDZkLi5iOWRhZjZmYzRjMjI4ZThhMGMxOWZmYWEwYmVm
N2ZkZWZkN2YzNDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRF
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50Lmlk
bApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1
LDE0ICsyNiwxNSBAQAogWwogICAgIEV4cG9zZWQ9V2luZG93CiBdIGludGVyZmFjZSBIVE1MT3V0
cHV0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgaHRtbEZvcjsKKyAgICBbQ2FsbFdpdGg9RG9jdW1l
bnQsIEhUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKIAotICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKKyAgICBbU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9
dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgaHRtbEZvcjsKKyAgICByZWFk
b25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50PyBmb3JtOwogICAgIFtDRVJlYWN0aW9ucz1O
b3ROZWVkZWQsIFJlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKIAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKLSAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0
ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7Ci0gICAg
W0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJp
bmcgdmFsdWU7CisgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlZmF1bHRW
YWx1ZTsKKyAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsdWU7CiAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3aWxsVmFsaWRhdGU7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGUyZmMxY2I3NDUzY2Zj
YzU3OTZlNDE4YTVlMTM5ZDgzMGZlNWFkNy4uOTRiYmNjYTAxZjE3NjAzZjNiNjUwYzI0MGU3MWE3
ODYyMmRlODA3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTEzICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBvdXRwdXQgZWxlbWVudCBkb2Vzbid0IHJl
YWN0IHByb3Blcmx5IHRvIG5vZGUgdHJlZSBtdXRhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjUzMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZlZCBh
biBleHBlY3RhdGlvbiBmb3IgYSBkaXJlY3RvcnkgdGhhdCBubyBsb25nZXIgZXhpc3RzLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZlZCBhbiBleHBl
Y3RhdGlvbiBmb3IgYSB0ZXN0IHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZlZCBhbiBleHBlY3RhdGlvbiBmb3IgYSBk
aXJlY3RvcnkgdGhhdCBubyBsb25nZXIgZXhpc3RzLgorCiAyMDIxLTA1LTEzICBMYXVybyBNb3Vy
YSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFNraXAgV2ViWFIgdGVzdHMg
YWZ0ZXIgcjI3NzQ2OApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWFmMzg2MGNh
Y2Y4MzlmNTIzZWZkMDU1NjcxNDk5NmQzMzFlYWM3Yi4uZGI3MjEwZGFhYjRmZDU5OTI5OTBjZmZh
Yjg4MDg0ODNhMzczM2EzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjEtMDUtMTMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIG91dHB1dCBlbGVtZW50IGRvZXNuJ3QgcmVhY3QgcHJvcGVybHkgdG8gbm9kZSB0cmVl
IG11dGF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk2NTMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLW91dHB1dC1l
bGVtZW50L211dGF0aW9ucy53aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGVkIGV4
cGVjdGVkIHJlc3VsdHMgdG8gcmVmbGVjdCBzb21lIHByb2dyZXNzaW9uLiBVbmZvcnR1bmF0ZWx5
IHdlIHN0aWxsIGRvbid0CisgICAgICAgIHBhc3MgdGhlIHRlc3Q7IEkgYmVsaWV2ZSBpdCdzIGJl
Y2F1c2Ugb2YgYW4gZXJyb3IgaW4gdGhlIHRlc3QuCisKIDIwMjEtMDUtMTMgIERlYW4gSmFja3Nv
biAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJYUl0gQWxsb3cgV2ViWFIgdG8gYmUg
dGVzdGVkIG9uIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGY5MmMyNWI0
NGJhM2VkODQ4Y2I0MmVlMTExZDRjZjRkMjEwOTk5Yy4uYWI4ZGY0ZTE0YzcxMzY4ZGI0ZThjMTBj
NGYzZjQ5YzVhZDY2OGRjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC02Myw3ICs2Myw2IEBAIGZh
c3Qvc2Nyb2xsaW5nL21hYyBbIFNraXAgXQogZmFzdC9zY3JvbGxpbmcvaXBhZCBbIFNraXAgXQog
ZmFzdC90ZXh0L21hYyBbIFNraXAgXQogc2Nyb2xsaW5nY29vcmRpbmF0b3IgWyBTa2lwIF0KLW1l
ZGlhL21hYyBbIFNraXAgXQogbWVkaWEvaW9zIFsgU2tpcCBdCiBtZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvdHJhY2tzLXN1cHBvcnQgWyBTa2lwIF0KIGZhc3QvdGV4dC1hdXRvc2l6aW5nIFsg
U2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1vdXRwdXQtZWxlbWVudC9tdXRhdGlvbnMu
d2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLW91dHB1dC1lbGVtZW50L211dGF0aW9u
cy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IDZiMWM3ZmUzZDVlODViNTZjNGQxYWEwYTZkYTEz
MWU0OTRhZGFkZTUuLjViZjAyOGQyZmQ0MTYyOTY0Nzg1YzY4ZjhmNTg2NGU1ZjAxM2VmYzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZm9ybXMvdGhlLW91dHB1dC1lbGVtZW50L211dGF0aW9ucy53aW5kb3ctZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLW91dHB1dC1lbGVtZW50L211dGF0aW9ucy53aW5k
b3ctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIERlc2NlbmRhbnQgbXV0YXRp
b25zIGFuZCBvdXRwdXQudmFsdWUgYW5kIC5kZWZhdWx0VmFsdWUgYXNzZXJ0X2VxdWFsczogLmRl
ZmF1bHRWYWx1ZSBhZnRlciBzZXR0aW5nIHRleHRDb250ZW50IGV4cGVjdGVkICJ4IiBidXQgZ290
ICIiCitGQUlMIERlc2NlbmRhbnQgbXV0YXRpb25zIGFuZCBvdXRwdXQudmFsdWUgYW5kIC5kZWZh
dWx0VmFsdWUgYXNzZXJ0X2VxdWFsczogLnZhbHVlIGFmdGVyIHNldHRpbmcgdGV4dENvbnRlbnQg
YWdhaW4gZXhwZWN0ZWQgInkiIGJ1dCBnb3QgInNvbWUiCiBQQVNTIG91dHB1dCBhbmQgb3V0cHV0
LmZvcm0ucmVzZXQoKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggN2JiYTczZjUxYTZiZmEzZjk5ZjkxODk5ZmEyY2MxYzhmN2U4NGY0MC4u
NDlhMTkwYzI4OWY1MjlmMjZiYTRlZTY3NzVlNWUxMjlkN2FmNjBiMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTM1OSw4ICsxMzU5LDYg
QEAgd2Via2l0Lm9yZy9iLzIyNDYzMyBtZWRpYS9wcmVzZW50YXRpb25tb2RlY2hhbmdlZC1maXJl
ZC1vbmNlLmh0bWwgWyBQYXNzIFRpbWVvdXQKIAogd2Via2l0Lm9yZy9iLzIyNDY5MCBjb21wb3Np
dGluZy92aWRlby92aWRlby1ib3JkZXItcmFkaXVzLWNsaXBwaW5nLmh0bWwgWyBQYXNzIEltYWdl
T25seUZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjI0Njk2IFsgYXJtNjQgXSBodHRwL3dwdC93
ZWJydGMvY2hhbmdlLWVuY29kZWQtdHJhbnNmb3JtLmh0bWwgWyBQYXNzIENyYXNoIF0KLQogd2Vi
a2l0Lm9yZy9iLzIyNDY5OCBbIEJpZ1N1ciBSZWxlYXNlIGFybTY0IF0gaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1vb20uaHRtbCBbIFBhc3MgQ3Jhc2ggXQogCiB3ZWJraXQub3JnL2IvMjI0ODQ1
IFsgQmlnU3VyIERlYnVnIGFybTY0IF0gaHR0cC93cHQvcHJlbG9hZC9jaGFuZ2UtbGluay1yZWwt
YXR0cmlidXRlLmh0bWwgWyBQYXNzIENyYXNoIF0KQEAgLTE0MDUsNCArMTQwMyw0IEBAIHdlYmtp
dC5vcmcvYi8yMjU2NjkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRy
YW5zaXRpb25zL3RyYW5zaXRpCiAKIHdlYmtpdC5vcmcvYi8yMjU2NjcgaHR0cC90ZXN0cy93ZWJB
UElTdGF0aXN0aWNzL3NjcmVlbi1mdW5jdGlvbnMtYWNjZXNzZWQtZGF0YS1jb2xsZWN0aW9uLmh0
bWwgWyBTbG93IF0KIAotd2Via2l0Lm9yZy9iLzIyNTY2OCBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3JlZGlyZWN0LWNyb3NzLW9yaWdpbi10cmlwbWluZS5odG1sIFsgU2xvdyBdClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQord2Via2l0Lm9yZy9iLzIyNTY2OCBodHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3JlZGlyZWN0LWNyb3NzLW9yaWdpbi10cmlwbWluZS5odG1sIFsgU2xvdyBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg0OWM4MjlhNmUw
OTQ3NmU5YjlhMzYxYjIxMzk3NTA4ZTUxYTk0YWYuLmExZjkxNWI2YTQ4N2ZkOGNlZmMzNDM1MGQ5
ODA3ZmVlZjkzYzVlOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xNCw3ICsxNCw2IEBAIGVkaXRpbmcvbWFjIFsgUGFzcyBdCiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvbWFjIFsgUGFzcyBdCiBmYXN0L2RvbS9SYW5nZS9tYWMgWyBQYXNzIF0KIGZhc3Qvc2Ny
b2xsaW5nL2xhdGNoaW5nIFsgUGFzcyBdCi1tZWRpYS9tYWMgWyBQYXNzIF0KIG1vZGVsLWVsZW1l
bnQgWyBQYXNzIF0KIAogZmFzdC9mb3Jtcy9zZWFyY2gvc2VhcmNoLXBhZGRpbmctY2FuY2VsLXJl
c3VsdHMtYnV0dG9ucy5odG1sIFsgUGFzcyBdCkBAIC0yMjc0LDQgKzIyNzMsNCBAQCB3ZWJraXQu
b3JnL2IvMjI1MjU4IFsgYXJtNjQgXSBqcy9kb20vUHJvbWlzZS1yZWplY3QtbGFyZ2Utc3RyaW5n
Lmh0bWwgWyBQYXNzIEZhaQogCiB3ZWJraXQub3JnL2IvMjI1NjcwIHdlYmF1ZGlvL0F1ZGlvQ29u
dGV4dC9hdWRpb2NvbnRleHQtY2xvc2UtYmFzaWMuaHRtbCBbIFNsb3cgXQogCi13ZWJraXQub3Jn
L2IvMjIzNjQ1IFsgQmlnU3VyIF0gbWVkaWEvdmlkZW8tcGxheWVkLXJhbmdlcy0xLmh0bWwgWyBQ
YXNzIEZhaWx1cmUgXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtpdC5vcmcvYi8y
MjM2NDUgWyBCaWdTdXIgXSBtZWRpYS92aWRlby1wbGF5ZWQtcmFuZ2VzLTEuaHRtbCBbIFBhc3Mg
RmFpbHVyZSBdCg==
</data>
<flag name="commit-queue"
          id="449562"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428603</attachid>
            <date>2021-05-13 23:01:29 -0700</date>
            <delta_ts>2021-05-14 14:52:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196532-20210513230128.patch</filename>
            <type>text/plain</type>
            <size>31795</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTlkMTRmNDMwMmU4NDky
NjYxMjUxZmY1YzM0NTJhNzFjYTY5YzgzNi4uYWMwM2VlMmExNjBiMjkwNTcxMTAyOTQwYjUxZDQ3
MTJmZDBiMzczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDIxLTA1LTEzICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBvdXRwdXQgZWxlbWVudCBkb2Vz
bid0IHJlYWN0IHByb3Blcmx5IHRvIG5vZGUgdHJlZSBtdXRhdGlvbnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjUzMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cmVwbGFjZUFsbCk6IFJlZmFjdG9y
ZWQgbW9zdCBvZiB0aGUgZnVuY3Rpb25zCisgICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbiBhbmQg
cmVwbGFjZUFsbENoaWxkcmVuV2l0aE5ld1RleHQgaW50byB0aGlzIG5ldyBvbmUsCisgICAgICAg
IGFuZCBuYW1lZCBpdCBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUgb3BlcmF0aW9uIGluIHRoZSBI
VE1MIHNwZWNpZmljYXRpb24uCisgICAgICAgIFRoZSBmdW5jdGlvbiBpcyBpbmNvbXBsZXRlLCBi
dXQgcHJlc2VydmVzIGV4aXN0aW5nIGJlaGF2aW9yLgorICAgICAgICAoV2ViQ29yZTo6Q29udGFp
bmVyTm9kZTo6c3RyaW5nUmVwbGFjZUFsbCk6IFJlZmFjdG9yZWQgdGhlIHJlc3Qgb2YgdGhlCisg
ICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0IGZ1bmN0aW9uIGFuZCByZW5hbWVk
IHRvIHRoZSBuYW1lIGZyb20gdGhlCisgICAgICAgIEhUTUwgc3BlY2lmaWNhdGlvbi4KKyAgICAg
ICAgKiBkb20vQ29udGFpbmVyTm9kZS5oOiBVcGRhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4K
KworICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNldFRl
eHRDb250ZW50KTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2UgYWJvdmUuCisgICAgICAgICogZG9t
L1JhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjpzdXJyb3VuZENvbnRlbnRzKTog
RGl0dG8uCisgICAgICAgICogZWRpdGluZy9pb3MvRWRpdG9ySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6RWRpdG9yOjpzZXRUZXh0QXNDaGlsZE9mRWxlbWVudCk6IERpdHRvLgorICAgICAgICAq
IGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnNl
dElubmVyVGV4dCk6IERpdHRvLgorCisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6SFRNTE91dHB1dEVsZW1l
bnQpOiBNb3ZlZCBkYXRhIG1lbWJlcgorICAgICAgICBpbml0aWFsaXphdGlvbiBpbnRvIHRoZSBj
bGFzcyBkZWZpbml0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OmNy
ZWF0ZSk6IEFkZGVkIGFuIG92ZXJsb2FkIHRoYXQgdGFrZXMganVzdAorICAgICAgICBhIGRvY3Vt
ZW50LCBmb3IgdXNlIHdoZW4gaW52b2tlZCBmcm9tIGFzIGEgY29uc3RydWN0b3IuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBUaWdodGVuZWQg
dGhlIGxvZ2ljIGZvciB0aGUKKyAgICAgICAgZm9yIGF0dHJpYnV0ZS4gSSBkZWNpZGVkIGl0J3Mg
YmV0dGVyIHRvIGNhbGwgdGhyb3VnaCB0byB0aGUgYmFzZSBjbGFzcywgZXZlbgorICAgICAgICB0
aG91Z2ggd2Ugb2Z0ZW4gZG9uJ3QgZG8gdGhhdCBmb3IgYXR0cmlidXRlcyB0aGF0IGRvbid0IGV4
cGVjdCB0aGUgYmFzZQorICAgICAgICBjbGFzcyB0byBwYXkgYXR0ZW50aW9uIHRvLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IERlbGV0ZWQu
IE5vIG5lZWQgZm9yIHRoaXMgaW4KKyAgICAgICAgdGhlIGltcHJvdmVkIEhUTUwgc3BlY2lmaWNh
dGlvbiB2ZXJzaW9uIG9mIHRoaXMgZWxlbWVudCdzIGFsZ29yaXRobXMuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6cmVzZXQpOiBVcGRhdGVkIGJhc2VkIG9uIHRoZSBIVE1M
IHNwZWNpZmljYXRpb24sCisgICAgICAgIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIGFsZ29yaXRo
bSByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCB2YWx1ZSBtb2RlIGZsYWcgd2UKKyAgICAgICAgd2Vy
ZSB1c2luZyBiZWZvcmUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6c2V0
VmFsdWUpOiBVcGRhdGVkIGJhc2VkIG9uIHRoZSBIVE1MIHNwZWNpZmljYXRpb24sCisgICAgICAg
IGFsd2F5cyBzZXR0aW5nIHRoZSBkZWZhdWx0IHZhbHVlIG92ZXJyaWRlIGJhc2VkIG9uIHRoZSBj
dXJyZW50IGRlZmF1bHQgdmFsdWUsCisgICAgICAgIGFuZCB1c2luZyBzdHJpbmdSZXBsYWNlQWxs
LiBUaGVyZSdzIG5vIG5lZWQgZm9yIHRoZSBvbGQgc2V0VGV4dENvbnRlbnRJbnRlcm5hbCwKKyAg
ICAgICAgc2luY2UgdGhhdCB3YXMgYWxsIGR1ZSB0byB0aGUgbmVlZCB0byBhdm9pZCBpbmZpbml0
ZSByZWN1cnNpb24gaW4gY2hpbGRyZW5DaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91
dHB1dEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZSBjb25zdCk6IFVwZGF0ZWQgYmFzZWQgb24gdGhlIEhU
TUwKKyAgICAgICAgc3BlY2lmaWNhdGlvbiwgZGVyaXZpbmcgdGhlIGRlZmF1bHQgdmFsdWUgZnJv
bSB0aGUgZGVmYXVsdCB2YWx1ZSBvdmVycmlkZSBhbmQKKyAgICAgICAgdGhlIGRlc2NlbmRhbnQg
dGV4dCBjb250ZW50LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OnNldERl
ZmF1bHRWYWx1ZSk6IFVwZGF0ZWQgYmFzZWQgb24gdGhlIEhUTUwKKyAgICAgICAgc3BlY2lmaWNh
dGlvbiwgZG9pbmcgYSBzdHJpbmcgcmVwbGFjZSBhbGwgd2l0aCB0aGUgdmFsdWUgaWYgdGhlIGRl
ZmF1bHQKKyAgICAgICAgdmFsdWUgb3ZlcnJpZGUgaXMgbnVsbCwgYW5kIHVwZGF0aW5nIHRoZSBk
ZWZhdWx0IHZhbHVlIG92ZXJyaWRlIG90aGVyd2lzZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxP
dXRwdXRFbGVtZW50OjpodG1sRm9yKTogVXBkYXRlZCB0byByZW5hbWUgbV90b2tlbnMgdG8gbV9m
b3JUb2tlbnMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6c2V0VGV4dENv
bnRlbnRJbnRlcm5hbCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxPdXRwdXRFbGVt
ZW50Lmg6IE1vdmVkIERPTVRva2VuTGlzdCB0byBiZSBhIGZvcndhcmQgZGVjbGFyYXRpb24KKyAg
ICAgICAgaW5zdGVhZCBvZiBhbiBpbmNsdWRlLiBBZGRlIGEgY29uc3RydWN0b3IgdGhhdCB0YWtl
cyBvbmx5IGEgZG9jdW1lbnQgdG8gYmUgdXNlZAorICAgICAgICBmcm9tIEphdmFTY3JpcHQuIE1h
ZGUgdGhlIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50IG92ZXJyaWRlIGJlIHByaXZhdGUgbGlrZSB0
aGUKKyAgICAgICAgb3RoZXIgb3ZlcnJpZGVzLiBSZW1vdmVkIHRoZSBjaGlsZHJlbkNoYW5nZSBv
dmVycmlkZSBhbmQgdGhlCisgICAgICAgIHNldFRleHRDb250ZW50SW50ZXJuYWwgZnVuY3Rpb24u
IFJlbW92ZWQgbV9pc0RlZmF1bHRWYWx1ZU1vZGUsCisgICAgICAgIG1faXNTZXRUZXh0Q29udGVu
dEluUHJvZ3Jlc3MsIGFuZCBtX2RlZmF1bHRWYWx1ZS4gQWRkZWQgbV9kZWZhdWx0VmFsdWVPdmVy
cmlkZS4KKyAgICAgICAgUmVuYW1lZCBtX3Rva2VucyB0byBtX2ZvclRva2Vucy4KKworICAgICAg
ICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOiBVcGRhdGVkIHRvIG1hdGNoIHRoZSBIVE1M
IHNwZWNpZmljYXRpb24uIFRoaXMKKyAgICAgICAgaW52b2x2ZWQgYWRkaW5nIGEgY29uc3RydWN0
b3IsIGFkZGluZyBTYW1lT2JqZWN0IGZvciB0aGUgaHRtbEZvciBhdHRyaWJ1dGUsCisgICAgICAg
IG1ha2luZyB0aGUgZm9ybSBhdHRyaWJ1dGUgbnVsbGFibGUsIGFuZCByZW1vdmluZyBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddCisgICAgICAgIGZyb20gdGhlIGRlZmF1bHRWYWx1ZSBhbmQgdmFs
dWUgYXR0cmlidXRlcy4KKwogMjAyMS0wNS0xMyAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56
YXJvQGdub21lLm9yZz4KIAogICAgICAgICBNaXNjIEdDQyB3YXJuaW5nIGNsZWFudXAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAppbmRleCAwOTZiODc4N2FhNmNiZmM1Y2M5OGY3Mjgw
ZmFhNWExMGI2MzczODg3Li5mY2JiZjVlNmI4MmI1NmMyMmYzODdlYzk1MzQ5NDI1MjBjOTNmZjM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCkBAIC02NjMsMjUgKzY2MywxOCBA
QCB2b2lkIENvbnRhaW5lck5vZGU6OnBhcnNlclJlbW92ZUNoaWxkKE5vZGUmIG9sZENoaWxkKQog
fQogCiAvLyBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtbm9kZS1yZXBsYWNl
LWFsbAotdm9pZCBDb250YWluZXJOb2RlOjpyZXBsYWNlQWxsQ2hpbGRyZW4oc3RkOjpudWxscHRy
X3QpCit2b2lkIENvbnRhaW5lck5vZGU6OnJlcGxhY2VBbGwoTm9kZSogbm9kZSkKIHsKLSAgICBD
aGlsZExpc3RNdXRhdGlvblNjb3BlIG11dGF0aW9uKCp0aGlzKTsKLSAgICByZW1vdmVDaGlsZHJl
bigpOwotfQotCi0vLyBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtbm9kZS1y
ZXBsYWNlLWFsbAotdm9pZCBDb250YWluZXJOb2RlOjpyZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3
VGV4dChjb25zdCBTdHJpbmcmIHRleHQpCi17Ci0gICAgaWYgKHRleHQuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbihudWxscHRyKTsKKyAgICBpZiAoIW5vZGUpIHsKKyAg
ICAgICAgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSBtdXRhdGlvbigqdGhpcyk7CisgICAgICAgIHJl
bW92ZUNoaWxkcmVuKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIG5vZGUg
PSBkb2N1bWVudCgpLmNyZWF0ZVRleHROb2RlKHRleHQpOworICAgIC8vIEZJWE1FOiBUaGUgY29k
ZSBiZWxvdyBpcyByb3VnaGx5IGNvcnJlY3QgZm9yIGEgbmV3IHRleHQgbm9kZSB3aXRoIG5vIHBh
cmVudCwgYnV0IG5lZWRzIGVuaGFuY2VtZW50IHRvIHdvcmsgcHJvcGVybHkgZm9yIG1vcmUgY29t
cGxleCBjYXNlcy4KKwogICAgIGlmICghaGFzQ2hpbGROb2RlcygpKSB7Ci0gICAgICAgIC8vIGFw
cGVuZENoaWxkV2l0aG91dFByZUluc2VydGlvblZhbGlkaXR5Q2hlY2soKSBjYW4gb25seSB0aHJv
dyB3aGVuIG5vZGUgaGFzIGEgcGFyZW50IGFuZCB3ZSBhbHJlYWR5IGFzc2VydGVkIGl0IGRvZXNu
J3QuCi0gICAgICAgIGF1dG8gcmVzdWx0ID0gYXBwZW5kQ2hpbGRXaXRob3V0UHJlSW5zZXJ0aW9u
VmFsaWRpdHlDaGVjayhub2RlKTsKLSAgICAgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsICFyZXN1
bHQuaGFzRXhjZXB0aW9uKCkpOworICAgICAgICBhcHBlbmRDaGlsZFdpdGhvdXRQcmVJbnNlcnRp
b25WYWxpZGl0eUNoZWNrKCpub2RlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjg5
LDE3ICs2ODIsMjIgQEAgdm9pZCBDb250YWluZXJOb2RlOjpyZXBsYWNlQWxsQ2hpbGRyZW5XaXRo
TmV3VGV4dChjb25zdCBTdHJpbmcmIHRleHQpCiAgICAgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSBt
dXRhdGlvbigqdGhpcyk7CiAgICAgcmVtb3ZlQWxsQ2hpbGRyZW5XaXRoU2NyaXB0QXNzZXJ0aW9u
KENoaWxkQ2hhbmdlOjpTb3VyY2U6OkFQSSwgRGVmZXJDaGlsZHJlbkNoYW5nZWQ6Olllcyk7CiAK
LSAgICBleGVjdXRlTm9kZUluc2VydGlvbldpdGhTY3JpcHRBc3NlcnRpb24oKnRoaXMsIG5vZGUu
Z2V0KCksIENoaWxkQ2hhbmdlOjpTb3VyY2U6OkFQSSwgUmVwbGFjZWRBbGxDaGlsZHJlbjo6WWVz
LCBbJl0gewotICAgICAgICBBU1NFUlQoIWVuc3VyZVByZUluc2VydGlvblZhbGlkaXR5KG5vZGUs
IG51bGxwdHIpLmhhc0V4Y2VwdGlvbigpKTsKKyAgICBleGVjdXRlTm9kZUluc2VydGlvbldpdGhT
Y3JpcHRBc3NlcnRpb24oKnRoaXMsICpub2RlLCBDaGlsZENoYW5nZTo6U291cmNlOjpBUEksIFJl
cGxhY2VkQWxsQ2hpbGRyZW46OlllcywgWyZdIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9kZShkb2N1bWVudCgpLCAqdGhpcyk7CiAgICAgICAgIG5v
ZGUtPnNldFRyZWVTY29wZVJlY3Vyc2l2ZWx5KHRyZWVTY29wZSgpKTsKLSAgICAgICAgYXBwZW5k
Q2hpbGRDb21tb24obm9kZSk7CisgICAgICAgIGFwcGVuZENoaWxkQ29tbW9uKCpub2RlKTsKICAg
ICB9KTsKIAogICAgIHJlYnVpbGRTVkdFeHRlbnNpb25zRWxlbWVudHNJZk5lY2Vzc2FyeSgpOwog
ICAgIGRpc3BhdGNoU3VidHJlZU1vZGlmaWVkRXZlbnQoKTsKIH0KIAorLy8gaHR0cHM6Ly9kb20u
c3BlYy53aGF0d2cub3JnLyNzdHJpbmctcmVwbGFjZS1hbGwKK3ZvaWQgQ29udGFpbmVyTm9kZTo6
c3RyaW5nUmVwbGFjZUFsbChjb25zdCBTdHJpbmcmIHN0cmluZykKK3sKKyAgICByZXBsYWNlQWxs
KHN0cmluZy5pc0VtcHR5KCkgPyBudWxscHRyIDogZG9jdW1lbnQoKS5jcmVhdGVUZXh0Tm9kZShz
dHJpbmcpLnB0cigpKTsKK30KKwogaW5saW5lIHZvaWQgQ29udGFpbmVyTm9kZTo6cmVidWlsZFNW
R0V4dGVuc2lvbnNFbGVtZW50c0lmTmVjZXNzYXJ5KCkKIHsKICAgICBpZiAoZG9jdW1lbnQoKS5z
dmdFeHRlbnNpb25zKCkgJiYgIWlzPFNWR1VzZUVsZW1lbnQ+KHNoYWRvd0hvc3QoKSkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0NvbnRhaW5lck5vZGUuaAppbmRleCBmNjZmNmUzNmRjM2VjZjFjYmFmN2M1Yzk3MjQ5
NGFlNjdlNTcxY2IwLi4zZmIxOWM1OTY1ZjQ1ZTZkYjY3YjkxNjBiZjRkOTA3MWY1OGUxNzk4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKQEAgLTU3LDggKzU3LDggQEAgcHVibGljOgog
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJlcGxhY2VDaGlsZChOb2RlJiBuZXdDaGlsZCwgTm9kZSYg
b2xkQ2hpbGQpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPHZvaWQ+IHJlbW92ZUNo
aWxkKE5vZGUmIGNoaWxkKTsKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25Pcjx2b2lkPiBh
cHBlbmRDaGlsZChOb2RlJiBuZXdDaGlsZCk7Ci0gICAgdm9pZCByZXBsYWNlQWxsQ2hpbGRyZW5X
aXRoTmV3VGV4dChjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIHJlcGxhY2VBbGxDaGlsZHJlbihz
dGQ6Om51bGxwdHJfdCk7CisgICAgdm9pZCBzdHJpbmdSZXBsYWNlQWxsKGNvbnN0IFN0cmluZyYp
OworICAgIHZvaWQgcmVwbGFjZUFsbChOb2RlKik7CiAKICAgICAvLyBUaGVzZSBtZXRob2RzIGFy
ZSBvbmx5IHVzZWQgZHVyaW5nIHBhcnNpbmcuCiAgICAgLy8gVGhleSBkb24ndCBzZW5kIERPTSBt
dXRhdGlvbiBldmVudHMgb3IgaGFuZGxlIHJlcGFyZW50aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4
IGZlMDkwZTc1Yzc0ZjRiNTE3NGJkMGY4ZGIxYzcwOWNiM2Q0Y2U3YTkuLjA1MjJkZTBiYWE3ODJk
N2U5ZmI0OTMzOTA5NDI1NjZlYmM3NWRjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTE1ODksNyAr
MTU4OSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IE5vZGU6OnNldFRleHRDb250ZW50KGNvbnN0IFN0
cmluZyYgdGV4dCkKICAgICAgICAgcmV0dXJuIHNldE5vZGVWYWx1ZSh0ZXh0KTsKICAgICBjYXNl
IEVMRU1FTlRfTk9ERToKICAgICBjYXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6Ci0gICAgICAg
IGRvd25jYXN0PENvbnRhaW5lck5vZGU+KCp0aGlzKS5yZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3
VGV4dCh0ZXh0KTsKKyAgICAgICAgZG93bmNhc3Q8Q29udGFpbmVyTm9kZT4oKnRoaXMpLnN0cmlu
Z1JlcGxhY2VBbGwodGV4dCk7CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgY2FzZSBET0NVTUVO
VF9OT0RFOgogICAgIGNhc2UgRE9DVU1FTlRfVFlQRV9OT0RFOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1JhbmdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKaW5k
ZXggNTgzODBjYmIwYjg3MDRiNjJkMmYxNTBmZmEwZDdlNGQzN2E1ODU4YS4uZTc5Njk5NjFlNDlk
MjcwM2EyNDI2Njg0MDYxOTU5NjkyNmM3OGY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1JhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCkBAIC04MjQs
NyArODI0LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUmFuZ2U6OnN1cnJvdW5kQ29udGVudHMoTm9k
ZSYgbmV3UGFyZW50KQogCiAgICAgLy8gU3RlcCA0OiBJZiBuZXdQYXJlbnQgaGFzIGNoaWxkcmVu
LCByZXBsYWNlIGFsbCB3aXRoIG51bGwgd2l0aGluIG5ld1BhcmVudC4KICAgICBpZiAobmV3UGFy
ZW50Lmhhc0NoaWxkTm9kZXMoKSkKLSAgICAgICAgZG93bmNhc3Q8Q29udGFpbmVyTm9kZT4obmV3
UGFyZW50KS5yZXBsYWNlQWxsQ2hpbGRyZW4obnVsbHB0cik7CisgICAgICAgIGRvd25jYXN0PENv
bnRhaW5lck5vZGU+KG5ld1BhcmVudCkucmVwbGFjZUFsbChudWxscHRyKTsKIAogICAgIC8vIFN0
ZXAgNTogSW5zZXJ0IG5ld1BhcmVudCBpbnRvIGNvbnRleHQgb2JqZWN0LgogICAgIGF1dG8gaW5z
ZXJ0UmVzdWx0ID0gaW5zZXJ0Tm9kZShuZXdQYXJlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9pb3MvRWRpdG9ySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9p
b3MvRWRpdG9ySU9TLm1tCmluZGV4IDcwMzZhZTBjZDBhYWEyOTk5ODI0ODJjMGJlMzNlZmM1NDk1
NGRmYjUuLjQ5ZDIzODJhN2NjNmMwMzZjZjJjNzkwNGNkYTU3ZTFhMmE0YWUxN2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaW9zL0VkaXRvcklPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2lvcy9FZGl0b3JJT1MubW0KQEAgLTMzNyw3ICszMzcsNyBAQCB2b2lk
IEVkaXRvcjo6c2V0VGV4dEFzQ2hpbGRPZkVsZW1lbnQoY29uc3QgU3RyaW5nJiB0ZXh0LCBFbGVt
ZW50JiBlbGVtZW50KQogICAgIC8vIFdoYXQgZm9sbG93cyBpcyBtb3JlIGV4cGVuc2l2ZSBpZiB0
aGVyZSBpcyBhIHNlbGVjdGlvbiwgc28gY2xlYXIgaXQgc2luY2UgaXQncyBnb2luZyB0byBjaGFu
Z2UgYW55d2F5LgogICAgIG1fZG9jdW1lbnQuc2VsZWN0aW9uKCkuY2xlYXIoKTsKIAotICAgIGVs
ZW1lbnQucmVwbGFjZUFsbENoaWxkcmVuV2l0aE5ld1RleHQodGV4dCk7CisgICAgZWxlbWVudC5z
dHJpbmdSZXBsYWNlQWxsKHRleHQpOwogCiAgICAgVmlzaWJsZVBvc2l0aW9uIGFmdGVyQ29udGVu
dHMgPSBtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24oJmVsZW1lbnQsIGVsZW1lbnQuY291bnRD
aGlsZE5vZGVzKCkpOwogICAgIGlmIChhZnRlckNvbnRlbnRzLmlzTnVsbCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCA0MjEzOGY2MWFlYjA2NGIyMjkyYTlkMjlhMWY0MGRj
YTdlMjE1ZDNiLi40ZTg3Y2JjNTA3NzZkNzRmNTYyMjMyZGY1ZWE3ZjZkMGNlMDU3NzgzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcApAQCAtNTU1LDcgKzU1NSw3IEBAIEV4Y2VwdGlv
bk9yPHZvaWQ+IEhUTUxFbGVtZW50OjpzZXRJbm5lclRleHQoY29uc3QgU3RyaW5nJiB0ZXh0KQog
ICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgdGFrZSB3aGl0ZXNwYWNlIGNvbGxhcHNpbmcgaW50
byBhY2NvdW50IGF0IGFsbC4KIAogICAgIGlmICghdGV4dC5jb250YWlucygnXG4nKSAmJiAhdGV4
dC5jb250YWlucygnXHInKSkgewotICAgICAgICByZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3VGV4
dCh0ZXh0KTsKKyAgICAgICAgc3RyaW5nUmVwbGFjZUFsbCh0ZXh0KTsKICAgICAgICAgcmV0dXJu
IHsgfTsKICAgICB9CiAKQEAgLTU2NSwxOSArNTY1LDE5IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEhU
TUxFbGVtZW50OjpzZXRJbm5lclRleHQoY29uc3QgU3RyaW5nJiB0ZXh0KQogICAgIGF1dG8qIHIg
PSByZW5kZXJlcigpOwogICAgIGlmICgociAmJiByLT5zdHlsZSgpLnByZXNlcnZlTmV3bGluZSgp
KSB8fCAoaXNDb25uZWN0ZWQoKSAmJiBpc1RleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCgpKSkg
ewogICAgICAgICBpZiAoIXRleHQuY29udGFpbnMoJ1xyJykpIHsKLSAgICAgICAgICAgIHJlcGxh
Y2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0KHRleHQpOworICAgICAgICAgICAgc3RyaW5nUmVwbGFj
ZUFsbCh0ZXh0KTsKICAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgICAgIH0KICAgICAgICAg
U3RyaW5nIHRleHRXaXRoQ29uc2lzdGVudExpbmVCcmVha3MgPSB0ZXh0OwogICAgICAgICB0ZXh0
V2l0aENvbnNpc3RlbnRMaW5lQnJlYWtzLnJlcGxhY2UoIlxyXG4iLCAiXG4iKTsKICAgICAgICAg
dGV4dFdpdGhDb25zaXN0ZW50TGluZUJyZWFrcy5yZXBsYWNlKCdccicsICdcbicpOwotICAgICAg
ICByZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3VGV4dCh0ZXh0V2l0aENvbnNpc3RlbnRMaW5lQnJl
YWtzKTsKKyAgICAgICAgc3RyaW5nUmVwbGFjZUFsbCh0ZXh0V2l0aENvbnNpc3RlbnRMaW5lQnJl
YWtzKTsKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9CiAKKyAgICAvLyBGSVhNRTogVGhpcyBz
aG91bGQgdXNlIHJlcGxhY2VBbGwoKSwgYWZ0ZXIgd2UgZml4IHRoYXQgdG8gd29yayBwcm9wZXJs
eSBmb3IgRG9jdW1lbnRGcmFnbWVudC4KICAgICAvLyBBZGQgdGV4dCBub2RlcyBhbmQgPGJyPiBl
bGVtZW50cy4KICAgICBhdXRvIGZyYWdtZW50ID0gdGV4dFRvRnJhZ21lbnQoZG9jdW1lbnQoKSwg
dGV4dCk7Ci0gICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBhIHZhcmlhbnQgb2YgcmVwbGFj
ZUFsbENoaWxkcmVuV2l0aE5ld1RleHQoKSB3aGljaCBhY2NlcHRzIERvY3VtZW50RnJhZ21lbnRz
IGFzIGlucHV0LgogICAgIC8vIEl0J3Mgc2FmZSB0byBkaXNwYXRjaCBldmVudHMgb24gdGhlIG5l
dyBmcmFnbWVudCBzaW5jZSBhdXRob3Igc2NyaXB0cyBoYXZlIG5vIGFjY2VzcyB0byBpdCB5ZXQu
CiAgICAgU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpFdmVudEFsbG93ZWRTY29wZSBhbGxvd2VkU2Nv
cGUoZnJhZ21lbnQuZ2V0KCkpOwogICAgIHJldHVybiByZXBsYWNlQ2hpbGRyZW5XaXRoRnJhZ21l
bnQoKnRoaXMsIFdURk1vdmUoZnJhZ21lbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0
cHV0RWxlbWVudC5jcHAKaW5kZXggNWI0NDZjN2YzOWZlNzg1OWVkN2NlNjQzZGI2ZDkxMmYzMDBh
NGNlMi4uMGNkYTFjYWQ3N2U0ZTM4MDYzYjBhODM2NmQ5ZjFiMDEwODcyZThmZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChjKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKGMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzEsNiArMzIsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkhUTUxPdXRwdXRFbGVtZW50LmgiCiAKKyNpbmNsdWRl
ICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtNDAs
MTMgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoSFRNTE91dHB1dEVsZW1lbnQpOwogCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwot
CiBpbmxpbmUgSFRNTE91dHB1dEVsZW1lbnQ6OkhUTUxPdXRwdXRFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50KiBm
b3JtKQogICAgIDogSFRNTEZvcm1Db250cm9sRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgZm9y
bSkKLSAgICAsIG1faXNEZWZhdWx0VmFsdWVNb2RlKHRydWUpCi0gICAgLCBtX2lzU2V0VGV4dENv
bnRlbnRJblByb2dyZXNzKGZhbHNlKQotICAgICwgbV9kZWZhdWx0VmFsdWUoZW1wdHlTdHJpbmco
KSkKIHsKIH0KIApAQCAtNTUsNiArNTIsMTEgQEAgUmVmPEhUTUxPdXRwdXRFbGVtZW50PiBIVE1M
T3V0cHV0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIEQKICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MT3V0cHV0RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCwgZm9ybSkpOwogfQogCitSZWY8SFRNTE91dHB1dEVsZW1lbnQ+IEhUTUxPdXRwdXRFbGVtZW50
OjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIHJldHVybiBjcmVhdGUoSFRNTE5h
bWVzOjpvdXRwdXRUYWcsIGRvY3VtZW50LCBudWxscHRyKTsKK30KKwogY29uc3QgQXRvbVN0cmlu
ZyYgSFRNTE91dHB1dEVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiB7CiAgICAgc3Rh
dGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5nPiBvdXRwdXQoIm91
dHB1dCIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKQEAgLTY4LDM1ICs3MCwx
NSBAQCBib29sIEhUTUxPdXRwdXRFbGVtZW50OjpzdXBwb3J0c0ZvY3VzKCkgY29uc3QKIAogdm9p
ZCBIVE1MT3V0cHV0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
bmFtZSwgY29uc3QgQXRvbVN0cmluZyYgdmFsdWUpCiB7Ci0gICAgaWYgKG5hbWUgPT0gZm9yQXR0
cikgewotICAgICAgICBpZiAobV90b2tlbnMpCi0gICAgICAgICAgICBtX3Rva2Vucy0+YXNzb2Np
YXRlZEF0dHJpYnV0ZVZhbHVlQ2hhbmdlZCh2YWx1ZSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIEhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKLX0KLQot
dm9pZCBIVE1MT3V0cHV0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdl
JiBjaGFuZ2UpCi17Ci0gICAgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2Vk
KGNoYW5nZSk7Ci0KLSAgICBpZiAoY2hhbmdlLnNvdXJjZSA9PSBDaGlsZENoYW5nZTo6U291cmNl
OjpQYXJzZXIgfHwgbV9pc1NldFRleHRDb250ZW50SW5Qcm9ncmVzcykgewotICAgICAgICBtX2lz
U2V0VGV4dENvbnRlbnRJblByb2dyZXNzID0gZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBpZiAobV9pc0RlZmF1bHRWYWx1ZU1vZGUpCi0gICAgICAgIG1fZGVmYXVsdFZhbHVl
ID0gdGV4dENvbnRlbnQoKTsKKyAgICBpZiAobmFtZSA9PSBmb3JBdHRyICYmIG1fZm9yVG9rZW5z
KQorICAgICAgICBtX2ZvclRva2Vucy0+YXNzb2NpYXRlZEF0dHJpYnV0ZVZhbHVlQ2hhbmdlZCh2
YWx1ZSk7CisgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwg
dmFsdWUpOwogfQogCiB2b2lkIEhUTUxPdXRwdXRFbGVtZW50OjpyZXNldCgpCiB7Ci0gICAgLy8g
VGhlIHJlc2V0IGFsZ29yaXRobSBmb3Igb3V0cHV0IGVsZW1lbnRzIGlzIHRvIHNldCB0aGUgZWxl
bWVudCdzCi0gICAgLy8gdmFsdWUgbW9kZSBmbGFnIHRvICJkZWZhdWx0IiBhbmQgdGhlbiB0byBz
ZXQgdGhlIGVsZW1lbnQncyB0ZXh0Q29udGVudAotICAgIC8vIGF0dHJpYnV0ZSB0byB0aGUgZGVm
YXVsdCB2YWx1ZS4KLSAgICBtX2lzRGVmYXVsdFZhbHVlTW9kZSA9IHRydWU7Ci0gICAgaWYgKG1f
ZGVmYXVsdFZhbHVlID09IHZhbHVlKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBzZXRUZXh0Q29u
dGVudEludGVybmFsKG1fZGVmYXVsdFZhbHVlKTsKKyAgICBzdHJpbmdSZXBsYWNlQWxsKGRlZmF1
bHRWYWx1ZSgpKTsKKyAgICBtX2RlZmF1bHRWYWx1ZU92ZXJyaWRlID0geyB9OwogfQogCiBTdHJp
bmcgSFRNTE91dHB1dEVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKQEAgLTEwNiw0MSArODgsMjggQEAg
U3RyaW5nIEhUTUxPdXRwdXRFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0CiAKIHZvaWQgSFRNTE91dHB1
dEVsZW1lbnQ6OnNldFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7Ci0gICAgLy8gVGhlIHZh
bHVlIG1vZGUgZmxhZyBzZXQgdG8gInZhbHVlIiB3aGVuIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgaXMg
c2V0LgotICAgIG1faXNEZWZhdWx0VmFsdWVNb2RlID0gZmFsc2U7Ci0gICAgaWYgKHZhbHVlID09
IHRoaXMtPnZhbHVlKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBzZXRUZXh0Q29udGVudEludGVy
bmFsKHZhbHVlKTsKKyAgICBtX2RlZmF1bHRWYWx1ZU92ZXJyaWRlID0gZGVmYXVsdFZhbHVlKCk7
CisgICAgc3RyaW5nUmVwbGFjZUFsbCh2YWx1ZSk7CiB9CiAKIFN0cmluZyBIVE1MT3V0cHV0RWxl
bWVudDo6ZGVmYXVsdFZhbHVlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9kZWZhdWx0VmFsdWU7
CisgICAgcmV0dXJuIG1fZGVmYXVsdFZhbHVlT3ZlcnJpZGUuaXNOdWxsKCkgPyB0ZXh0Q29udGVu
dCgpIDogbV9kZWZhdWx0VmFsdWVPdmVycmlkZTsKIH0KIAogdm9pZCBIVE1MT3V0cHV0RWxlbWVu
dDo6c2V0RGVmYXVsdFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7Ci0gICAgaWYgKG1fZGVm
YXVsdFZhbHVlID09IHZhbHVlKQotICAgICAgICByZXR1cm47Ci0gICAgbV9kZWZhdWx0VmFsdWUg
PSB2YWx1ZTsKLSAgICAvLyBUaGUgc3BlYyByZXF1aXJlcyB0aGUgdmFsdWUgYXR0cmlidXRlIHNl
dCB0byB0aGUgZGVmYXVsdCB2YWx1ZQotICAgIC8vIHdoZW4gdGhlIGVsZW1lbnQncyB2YWx1ZSBt
b2RlIGZsYWcgdG8gImRlZmF1bHQiLgotICAgIGlmIChtX2lzRGVmYXVsdFZhbHVlTW9kZSkKLSAg
ICAgICAgc2V0VGV4dENvbnRlbnRJbnRlcm5hbCh2YWx1ZSk7CisgICAgaWYgKG1fZGVmYXVsdFZh
bHVlT3ZlcnJpZGUuaXNOdWxsKCkpCisgICAgICAgIHN0cmluZ1JlcGxhY2VBbGwodmFsdWUpOwor
ICAgIGVsc2UKKyAgICAgICAgbV9kZWZhdWx0VmFsdWVPdmVycmlkZSA9IHZhbHVlOwogfQogCiBE
T01Ub2tlbkxpc3QmIEhUTUxPdXRwdXRFbGVtZW50OjpodG1sRm9yKCkKIHsKLSAgICBpZiAoIW1f
dG9rZW5zKQotICAgICAgICBtX3Rva2VucyA9IG1ha2VVbmlxdWU8RE9NVG9rZW5MaXN0PigqdGhp
cywgZm9yQXR0cik7Ci0gICAgcmV0dXJuICptX3Rva2VuczsKLX0KLQotdm9pZCBIVE1MT3V0cHV0
RWxlbWVudDo6c2V0VGV4dENvbnRlbnRJbnRlcm5hbChjb25zdCBTdHJpbmcmIHZhbHVlKQotewot
ICAgIEFTU0VSVCghbV9pc1NldFRleHRDb250ZW50SW5Qcm9ncmVzcyk7Ci0gICAgbV9pc1NldFRl
eHRDb250ZW50SW5Qcm9ncmVzcyA9IHRydWU7Ci0gICAgc2V0VGV4dENvbnRlbnQodmFsdWUpOwor
ICAgIGlmICghbV9mb3JUb2tlbnMpCisgICAgICAgIG1fZm9yVG9rZW5zID0gbWFrZVVuaXF1ZTxE
T01Ub2tlbkxpc3Q+KCp0aGlzLCBmb3JBdHRyKTsKKyAgICByZXR1cm4gKm1fZm9yVG9rZW5zOwog
fQogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3V0cHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5o
CmluZGV4IDUwMzRiMDIzMTM5NjY0NGNkYzA0NzRjZGRjY2IxMDM5MDk4ZjQwZGQuLmU0ODcxNzEz
MjYzM2IxNDllZDdjMzVmNjFkMDg0MjEzYmE0YzE0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxPdXRwdXRFbGVtZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChjKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQpAQCAtMzAsMTUgKzMxLDE3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5j
bHVkZSAiRE9NVG9rZW5MaXN0LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVudC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERPTVRva2VuTGlzdDsKKwogY2xhc3Mg
SFRNTE91dHB1dEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEZvcm1Db250cm9sRWxlbWVudCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChIVE1MT3V0cHV0RWxlbWVudCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxIVE1MT3V0cHV0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVudCopOworICAgIHN0YXRpYyBSZWY8SFRN
TE91dHB1dEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCYpOwogCiAgICAgU3RyaW5nIHZhbHVlKCkg
Y29uc3Q7CiAgICAgdm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmKTsKQEAgLTQ2LDI2ICs0OSwy
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXREZWZhdWx0VmFsdWUoY29uc3QgU3RyaW5nJik7CiAg
ICAgRE9NVG9rZW5MaXN0JiBodG1sRm9yKCk7CiAgICAgCi0gICAgYm9vbCBjYW5Db250YWluUmFu
Z2VFbmRQb2ludCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9Ci0KIHByaXZhdGU6CiAg
ICAgSFRNTE91dHB1dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgSFRN
TEZvcm1FbGVtZW50Kik7CiAKKyAgICBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGNvbXB1dGVXaWxsVmFsaWRhdGUo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21TdHJpbmcmKSBmaW5hbDsKICAgICBjb25z
dCBBdG9tU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGlz
RW51bWVyYXRhYmxlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgc3Vw
cG9ydExhYmVscygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIHN1cHBv
cnRzRm9jdXMoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBD
aGlsZENoYW5nZSYpIGZpbmFsOwogICAgIHZvaWQgcmVzZXQoKSBmaW5hbDsKIAotICAgIHZvaWQg
c2V0VGV4dENvbnRlbnRJbnRlcm5hbChjb25zdCBTdHJpbmcmKTsKLQotICAgIGJvb2wgbV9pc0Rl
ZmF1bHRWYWx1ZU1vZGU7Ci0gICAgYm9vbCBtX2lzU2V0VGV4dENvbnRlbnRJblByb2dyZXNzOwot
ICAgIFN0cmluZyBtX2RlZmF1bHRWYWx1ZTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NVG9rZW5M
aXN0PiBtX3Rva2VuczsKKyAgICBTdHJpbmcgbV9kZWZhdWx0VmFsdWVPdmVycmlkZTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8RE9NVG9rZW5MaXN0PiBtX2ZvclRva2VuczsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1
dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwK
aW5kZXggMzc5M2U5ZTZjY2I3NjAyN2E0N2QwNzJmZjI4OGRhNTVlZjA1NmQ2ZC4uYjlkYWY2ZmM0
YzIyOGU4YTBjMTlmZmFhMGJlZjdmZGVmZDdmMzQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3V0cHV0RWxlbWVudC5pZGwKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yNSwxNCArMjYsMTUgQEAKIFsKICAgICBFeHBvc2VkPVdpbmRvdwog
XSBpbnRlcmZhY2UgSFRNTE91dHB1dEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgW1B1dEZv
cndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IGh0bWxGb3I7Cisg
ICAgW0NhbGxXaXRoPURvY3VtZW50LCBIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiAK
LSAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZvcm07CisgICAgW1NhbWVP
YmplY3QsIFB1dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0
IGh0bWxGb3I7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudD8gZm9ybTsK
ICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci0gICAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcg
ZGVmYXVsdFZhbHVlOwotICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9F
bXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOworICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IERPTVN0cmluZyBkZWZhdWx0VmFsdWU7CisgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHZhbHVlOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlk
YXRlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDBlMmZjMWNiNzQ1M2NmY2M1Nzk2ZTQxOGE1ZTEzOWQ4MzBmZTVhZDcuLmMxN2UwNmM4MjU4
NjA4ZTc4ZGRmNmQzNDNkZTY3MjM3MjlmOWFhNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAy
MS0wNS0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgb3V0cHV0
IGVsZW1lbnQgZG9lc24ndCByZWFjdCBwcm9wZXJseSB0byBub2RlIHRyZWUgbXV0YXRpb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY1MzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBl
Y3RhdGlvbnM6IFJlbW92ZWQgYW4gZXhwZWN0YXRpb24gZm9yIGEgZGlyZWN0b3J5IHRoYXQgbm8g
bG9uZ2VyIGV4aXN0cy4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlv
bnM6IFJlbW92ZWQgYW4gZXhwZWN0YXRpb24gZm9yIGEgdGVzdCB0aGF0IG5vIGxvbmdlciBleGlz
dHMuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IFJlbW92ZWQgYW4g
ZXhwZWN0YXRpb24gZm9yIGEgZGlyZWN0b3J5IHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KKworICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL2J1aWx0aW4tY292ZXJhZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYnVp
bHRpbi1jb3ZlcmFnZS1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZWQgc2luY2UgSFRNTE9w
dGlvbkVsZW1lbnQgbm93IGhhcyBhIGNvbnN0cnVjdG9yLiBTdGlsbCBub3QgcGFzc2luZywgYnV0
IGNsb3NlciB0byBjb3JyZWN0LgorCiAyMDIxLTA1LTEzICBMYXVybyBNb3VyYSAgPGxtb3VyYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFNraXAgV2ViWFIgdGVzdHMgYWZ0ZXIgcjI3NzQ2
OApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWFmMzg2MGNhY2Y4MzlmNTIzZWZk
MDU1NjcxNDk5NmQzMzFlYWM3Yi4uN2UyMGIxOTMxMjVkOGIyNjcxM2ExOTdlZGMzMjIxMzJmNzZi
ZWQzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MjEtMDUtMTMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIG91dHB1
dCBlbGVtZW50IGRvZXNuJ3QgcmVhY3QgcHJvcGVybHkgdG8gbm9kZSB0cmVlIG11dGF0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTMyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292ZXJhZ2UtZXhwZWN0ZWQudHh0
OgorICAgICAgICBVcGRhdGVkIHNpbmNlIEhUTUxPcHRpb25FbGVtZW50IG5vdyBoYXMgYSBjb25z
dHJ1Y3Rvci4gU3RpbGwgbm90IHBhc3NpbmcsIGJ1dCBjbG9zZXIgdG8gY29ycmVjdC4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVk
L2Zvcm0tcmVzZXQtY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGVkIGR1ZSB0
byBjaGFuZ2VzIGluIEhUTUxPcHRpb25FbGVtZW50LCBidXQgc3RpbGwgbm90IHBhc3NpbmcuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLW91
dHB1dC1lbGVtZW50L211dGF0aW9ucy53aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRh
dGVkIHRvIHJlZmxlY3QgcHJvZ3Jlc3Npb24uIFVuZm9ydHVuYXRlbHkgd2Ugc3RpbGwgZG9uJ3Qg
cGFzcyB0aGlzIHRlc3QsIGJ1dCBJIGJlbGlldmUgaXQncworICAgICAgICBiZWNhdXNlIG9mIGFu
IGVycm9yIGluIHRoZSB0ZXN0LCByZXBvcnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMvMjg5OTQuCisKIDIwMjEtMDUtMTMgIERlYW4gSmFja3Nv
biAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJYUl0gQWxsb3cgV2ViWFIgdG8gYmUg
dGVzdGVkIG9uIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGY5MmMyNWI0
NGJhM2VkODQ4Y2I0MmVlMTExZDRjZjRkMjEwOTk5Yy4uYWI4ZGY0ZTE0YzcxMzY4ZGI0ZThjMTBj
NGYzZjQ5YzVhZDY2OGRjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC02Myw3ICs2Myw2IEBAIGZh
c3Qvc2Nyb2xsaW5nL21hYyBbIFNraXAgXQogZmFzdC9zY3JvbGxpbmcvaXBhZCBbIFNraXAgXQog
ZmFzdC90ZXh0L21hYyBbIFNraXAgXQogc2Nyb2xsaW5nY29vcmRpbmF0b3IgWyBTa2lwIF0KLW1l
ZGlhL21hYyBbIFNraXAgXQogbWVkaWEvaW9zIFsgU2tpcCBdCiBtZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvdHJhY2tzLXN1cHBvcnQgWyBTa2lwIF0KIGZhc3QvdGV4dC1hdXRvc2l6aW5nIFsg
U2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2J1aWx0aW4tY292ZXJhZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGUxMmM1OTVmMzhmOTY4NjhjNGI0
ZDg0YWU1NGMwODdlZWJmMDMzMTEuLmIyNGFjN2ZhZGJmMGY0OWZjNTE1NTJlZGI2MzU5Yzg1NDJi
Y2EyN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292ZXJhZ2UtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL2J1aWx0aW4tY292ZXJhZ2UtZXhwZWN0ZWQudHh0CkBAIC01NDQsNyArNTQ0LDkgQEAgRkFJ
TCBvcHRpb246IGlubmVySFRNTCBzaG91bGQgaW5zdGFudGlhdGUgYSBjdXN0b21pemVkIGJ1aWx0
LWluIGVsZW1lbnQgYXNzZXJ0X2UKICAgICBbbmF0aXZlIGNvZGVdCiB9IgogUEFTUyBvdXRwdXQ6
IERlZmluZSBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudAotRkFJTCBvdXRwdXQ6IE9wZXJh
dG9yICduZXcnIHNob3VsZCBpbnN0YW50aWF0ZSBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVu
dCBJbGxlZ2FsIGNvbnN0cnVjdG9yCitGQUlMIG91dHB1dDogT3BlcmF0b3IgJ25ldycgc2hvdWxk
IGluc3RhbnRpYXRlIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50IGFzc2VydF9lcXVhbHM6
IENsb25pbmcgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgc2hvdWxkIHN1Y2NlZWQuIGV4
cGVjdGVkIGZ1bmN0aW9uICJjbGFzcyBleHRlbmRzIEhUTUxPdXRwdXRFbGVtZW50IHt9IiBidXQg
Z290IGZ1bmN0aW9uICJmdW5jdGlvbiBIVE1MT3V0cHV0RWxlbWVudCgpIHsKKyAgICBbbmF0aXZl
IGNvZGVdCit9IgogRkFJTCBvdXRwdXQ6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoKSBzaG91bGQg
aW5zdGFudGlhdGUgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgZnVuY3Rpb24gImNsYXNzIGV4dGVuZHMgSFRNTE91dHB1dEVsZW1lbnQge30iIGJ1
dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEhUTUxPdXRwdXRFbGVtZW50KCkgewogICAgIFtuYXRp
dmUgY29kZV0KIH0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1yZXNldC1j
YWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1yZXNldC1jYWxs
YmFjay1leHBlY3RlZC50eHQKaW5kZXggODcxYmEyZDI4NzM3YWJlZGNmMDFjYTRiZmJjODE0ZGI0
MmI4MzhiMS4uMGZjNTg0ODFmMmZlZTg3YzgyNDFmN2VhOGIzM2E3OTU0NGY2NjdjMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tcmVzZXQtY2FsbGJhY2stZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLXJlc2V0LWNhbGxiYWNrLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKLQorZGVmYXVsdAogCiAKIEZBSUwgZm9ybS5yZXNldCgpIHNob3Vs
ZCB0cmlnZ2VyIGZvcm1SZXNldENhbGxiYWNrIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtb3V0cHV0LWVsZW1lbnQvbXV0YXRpb25z
LndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1vdXRwdXQtZWxlbWVudC9tdXRhdGlv
bnMud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCA2YjFjN2ZlM2Q1ZTg1YjU2YzRkMWFhMGE2ZGEx
MzFlNDk0YWRhZGU1Li41YmYwMjhkMmZkNDE2Mjk2NDc4NWM2OGY4ZjU4NjRlNWYwMTNlZmM1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1vdXRwdXQtZWxlbWVudC9tdXRhdGlvbnMud2luZG93LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1vdXRwdXQtZWxlbWVudC9tdXRhdGlvbnMud2lu
ZG93LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBEZXNjZW5kYW50IG11dGF0
aW9ucyBhbmQgb3V0cHV0LnZhbHVlIGFuZCAuZGVmYXVsdFZhbHVlIGFzc2VydF9lcXVhbHM6IC5k
ZWZhdWx0VmFsdWUgYWZ0ZXIgc2V0dGluZyB0ZXh0Q29udGVudCBleHBlY3RlZCAieCIgYnV0IGdv
dCAiIgorRkFJTCBEZXNjZW5kYW50IG11dGF0aW9ucyBhbmQgb3V0cHV0LnZhbHVlIGFuZCAuZGVm
YXVsdFZhbHVlIGFzc2VydF9lcXVhbHM6IC52YWx1ZSBhZnRlciBzZXR0aW5nIHRleHRDb250ZW50
IGFnYWluIGV4cGVjdGVkICJ5IiBidXQgZ290ICJzb21lIgogUEFTUyBvdXRwdXQgYW5kIG91dHB1
dC5mb3JtLnJlc2V0KCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292
ZXJhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292ZXJhZ2UtZXhw
ZWN0ZWQudHh0CmluZGV4IGU2YzFjYTAwM2VlYWRmNTgwNDhhNWZhYWJkODFmODdmNGVkNmFlNjUu
LmRjZWRhMWFhZWU1MzRiMTUxYWU0NzFlOTcxZGM2MTM1NjAzNTQzMTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvYnVpbHRpbi1jb3ZlcmFnZS1leHBlY3RlZC50eHQKQEAgLTU0NCw3ICs1NDQsOSBA
QCBGQUlMIG9wdGlvbjogaW5uZXJIVE1MIHNob3VsZCBpbnN0YW50aWF0ZSBhIGN1c3RvbWl6ZWQg
YnVpbHQtaW4gZWxlbWVudCBhc3NlcnRfZQogICAgIFtuYXRpdmUgY29kZV0KIH0iCiBQQVNTIG91
dHB1dDogRGVmaW5lIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50Ci1GQUlMIG91dHB1dDog
T3BlcmF0b3IgJ25ldycgc2hvdWxkIGluc3RhbnRpYXRlIGEgY3VzdG9taXplZCBidWlsdC1pbiBl
bGVtZW50IElsbGVnYWwgY29uc3RydWN0b3IKK0ZBSUwgb3V0cHV0OiBPcGVyYXRvciAnbmV3JyBz
aG91bGQgaW5zdGFudGlhdGUgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgYXNzZXJ0X2Vx
dWFsczogQ2xvbmluZyBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudCBzaG91bGQgc3VjY2Vl
ZC4gZXhwZWN0ZWQgZnVuY3Rpb24gImNsYXNzIGV4dGVuZHMgSFRNTE91dHB1dEVsZW1lbnQge30i
IGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEhUTUxPdXRwdXRFbGVtZW50KCkgeworICAgIFtu
YXRpdmUgY29kZV0KK30iCiBGQUlMIG91dHB1dDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgpIHNo
b3VsZCBpbnN0YW50aWF0ZSBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudCBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiY2xhc3MgZXh0ZW5kcyBIVE1MT3V0cHV0RWxlbWVudCB7
fSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gSFRNTE91dHB1dEVsZW1lbnQoKSB7CiAgICAg
W25hdGl2ZSBjb2RlXQogfSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYnVpbHRp
bi1jb3ZlcmFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292
ZXJhZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGU2YzFjYTAwM2VlYWRmNTgwNDhhNWZhYWJkODFmODdm
NGVkNmFlNjUuLmRjZWRhMWFhZWU1MzRiMTUxYWU0NzFlOTcxZGM2MTM1NjAzNTQzMTggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYnVpbHRpbi1jb3ZlcmFnZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dApA
QCAtNTQ0LDcgKzU0NCw5IEBAIEZBSUwgb3B0aW9uOiBpbm5lckhUTUwgc2hvdWxkIGluc3RhbnRp
YXRlIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50IGFzc2VydF9lCiAgICAgW25hdGl2ZSBj
b2RlXQogfSIKIFBBU1Mgb3V0cHV0OiBEZWZpbmUgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1l
bnQKLUZBSUwgb3V0cHV0OiBPcGVyYXRvciAnbmV3JyBzaG91bGQgaW5zdGFudGlhdGUgYSBjdXN0
b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgSWxsZWdhbCBjb25zdHJ1Y3RvcgorRkFJTCBvdXRwdXQ6
IE9wZXJhdG9yICduZXcnIHNob3VsZCBpbnN0YW50aWF0ZSBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4g
ZWxlbWVudCBhc3NlcnRfZXF1YWxzOiBDbG9uaW5nIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVt
ZW50IHNob3VsZCBzdWNjZWVkLiBleHBlY3RlZCBmdW5jdGlvbiAiY2xhc3MgZXh0ZW5kcyBIVE1M
T3V0cHV0RWxlbWVudCB7fSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gSFRNTE91dHB1dEVs
ZW1lbnQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIEZBSUwgb3V0cHV0OiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCkgc2hvdWxkIGluc3RhbnRpYXRlIGEgY3VzdG9taXplZCBidWlsdC1pbiBl
bGVtZW50IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJjbGFzcyBleHRlbmRzIEhU
TUxPdXRwdXRFbGVtZW50IHt9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBIVE1MT3V0cHV0
RWxlbWVudCgpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDdiYmE3M2Y1MWE2YmZhM2Y5OWY5MTg5
OWZhMmNjMWM4ZjdlODRmNDAuLjQ5YTE5MGMyODlmNTI5ZjI2YmE0ZWU2Nzc1ZTVlMTI5ZDdhZjYw
YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTEzNTksOCArMTM1OSw2IEBAIHdlYmtpdC5vcmcvYi8yMjQ2MzMgbWVkaWEvcHJlc2VudGF0
aW9ubW9kZWNoYW5nZWQtZmlyZWQtb25jZS5odG1sIFsgUGFzcyBUaW1lb3V0CiAKIHdlYmtpdC5v
cmcvYi8yMjQ2OTAgY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tYm9yZGVyLXJhZGl1cy1jbGlwcGlu
Zy5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIyNDY5NiBb
IGFybTY0IF0gaHR0cC93cHQvd2VicnRjL2NoYW5nZS1lbmNvZGVkLXRyYW5zZm9ybS5odG1sIFsg
UGFzcyBDcmFzaCBdCi0KIHdlYmtpdC5vcmcvYi8yMjQ2OTggWyBCaWdTdXIgUmVsZWFzZSBhcm02
NCBdIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtb29tLmh0bWwgWyBQYXNzIENyYXNoIF0KIAog
d2Via2l0Lm9yZy9iLzIyNDg0NSBbIEJpZ1N1ciBEZWJ1ZyBhcm02NCBdIGh0dHAvd3B0L3ByZWxv
YWQvY2hhbmdlLWxpbmstcmVsLWF0dHJpYnV0ZS5odG1sIFsgUGFzcyBDcmFzaCBdCkBAIC0xNDA1
LDQgKzE0MDMsNCBAQCB3ZWJraXQub3JnL2IvMjI1NjY5IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy90cmFuc2l0aQogCiB3ZWJraXQub3JnL2IvMjI1
NjY3IGh0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcy9zY3JlZW4tZnVuY3Rpb25zLWFjY2Vzc2Vk
LWRhdGEtY29sbGVjdGlvbi5odG1sIFsgU2xvdyBdCiAKLXdlYmtpdC5vcmcvYi8yMjU2NjggaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWRpcmVjdC1jcm9zcy1vcmlnaW4tdHJpcG1pbmUuaHRt
bCBbIFNsb3cgXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtpdC5vcmcvYi8yMjU2
NjggaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWRpcmVjdC1jcm9zcy1vcmlnaW4tdHJpcG1p
bmUuaHRtbCBbIFNsb3cgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9idWlsdGlu
LWNvdmVyYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYnVpbHRpbi1jb3Zl
cmFnZS1leHBlY3RlZC50eHQKaW5kZXggZTZjMWNhMDAzZWVhZGY1ODA0OGE1ZmFhYmQ4MWY4N2Y0
ZWQ2YWU2NS4uZGNlZGExYWFlZTUzNGIxNTFhZTQ3MWU5NzFkYzYxMzU2MDM1NDMxOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292ZXJhZ2UtZXhwZWN0ZWQudHh0CkBA
IC01NDQsNyArNTQ0LDkgQEAgRkFJTCBvcHRpb246IGlubmVySFRNTCBzaG91bGQgaW5zdGFudGlh
dGUgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgYXNzZXJ0X2UKICAgICBbbmF0aXZlIGNv
ZGVdCiB9IgogUEFTUyBvdXRwdXQ6IERlZmluZSBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVu
dAotRkFJTCBvdXRwdXQ6IE9wZXJhdG9yICduZXcnIHNob3VsZCBpbnN0YW50aWF0ZSBhIGN1c3Rv
bWl6ZWQgYnVpbHQtaW4gZWxlbWVudCBJbGxlZ2FsIGNvbnN0cnVjdG9yCitGQUlMIG91dHB1dDog
T3BlcmF0b3IgJ25ldycgc2hvdWxkIGluc3RhbnRpYXRlIGEgY3VzdG9taXplZCBidWlsdC1pbiBl
bGVtZW50IGFzc2VydF9lcXVhbHM6IENsb25pbmcgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1l
bnQgc2hvdWxkIHN1Y2NlZWQuIGV4cGVjdGVkIGZ1bmN0aW9uICJjbGFzcyBleHRlbmRzIEhUTUxP
dXRwdXRFbGVtZW50IHt9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBIVE1MT3V0cHV0RWxl
bWVudCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgogRkFJTCBvdXRwdXQ6IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoKSBzaG91bGQgaW5zdGFudGlhdGUgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVs
ZW1lbnQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVuY3Rpb24gImNsYXNzIGV4dGVuZHMgSFRN
TE91dHB1dEVsZW1lbnQge30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEhUTUxPdXRwdXRF
bGVtZW50KCkgewogICAgIFtuYXRpdmUgY29kZV0KIH0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg0OWM4MjlhNmUwOTQ3NmU5YjlhMzYxYjIxMzk3NTA4
ZTUxYTk0YWYuLmExZjkxNWI2YTQ4N2ZkOGNlZmMzNDM1MGQ5ODA3ZmVlZjkzYzVlOWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNCw3ICsxNCw2IEBA
IGVkaXRpbmcvbWFjIFsgUGFzcyBdCiBlZGl0aW5nL3Bhc3RlYm9hcmQvbWFjIFsgUGFzcyBdCiBm
YXN0L2RvbS9SYW5nZS9tYWMgWyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nIFsgUGFz
cyBdCi1tZWRpYS9tYWMgWyBQYXNzIF0KIG1vZGVsLWVsZW1lbnQgWyBQYXNzIF0KIAogZmFzdC9m
b3Jtcy9zZWFyY2gvc2VhcmNoLXBhZGRpbmctY2FuY2VsLXJlc3VsdHMtYnV0dG9ucy5odG1sIFsg
UGFzcyBdCkBAIC0yMjc0LDQgKzIyNzMsNCBAQCB3ZWJraXQub3JnL2IvMjI1MjU4IFsgYXJtNjQg
XSBqcy9kb20vUHJvbWlzZS1yZWplY3QtbGFyZ2Utc3RyaW5nLmh0bWwgWyBQYXNzIEZhaQogCiB3
ZWJraXQub3JnL2IvMjI1NjcwIHdlYmF1ZGlvL0F1ZGlvQ29udGV4dC9hdWRpb2NvbnRleHQtY2xv
c2UtYmFzaWMuaHRtbCBbIFNsb3cgXQogCi13ZWJraXQub3JnL2IvMjIzNjQ1IFsgQmlnU3VyIF0g
bWVkaWEvdmlkZW8tcGxheWVkLXJhbmdlcy0xLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtpdC5vcmcvYi8yMjM2NDUgWyBCaWdTdXIgXSBtZWRp
YS92aWRlby1wbGF5ZWQtcmFuZ2VzLTEuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428665</attachid>
            <date>2021-05-14 14:53:02 -0700</date>
            <delta_ts>2021-05-14 19:05:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196532-20210514145301.patch</filename>
            <type>text/plain</type>
            <size>33003</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNkMTM2MmM3YWUxNTIz
YzRjMDVkNGVkNWE0NTZkOWM2ZTQ3Zjg2Zi4uYzA0ODVkNmJmOGVhMTc4MzdiZDhmMGVmMjdjM2Vi
NmUyOTJkZjhhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDIxLTA1LTE0ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBvdXRwdXQgZWxlbWVudCBkb2Vz
bid0IHJlYWN0IHByb3Blcmx5IHRvIG5vZGUgdHJlZSBtdXRhdGlvbnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjUzMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cmVwbGFjZUFsbCk6IFJlZmFjdG9y
ZWQgbW9zdCBvZiB0aGUgZnVuY3Rpb25zCisgICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbiBhbmQg
cmVwbGFjZUFsbENoaWxkcmVuV2l0aE5ld1RleHQgaW50byB0aGlzIG5ldyBvbmUsCisgICAgICAg
IGFuZCBuYW1lZCBpdCBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUgb3BlcmF0aW9uIGluIHRoZSBI
VE1MIHNwZWNpZmljYXRpb24uCisgICAgICAgIFRoZSBmdW5jdGlvbiBpcyBpbmNvbXBsZXRlLCBi
dXQgcHJlc2VydmVzIGV4aXN0aW5nIGJlaGF2aW9yLgorICAgICAgICAoV2ViQ29yZTo6Q29udGFp
bmVyTm9kZTo6c3RyaW5nUmVwbGFjZUFsbCk6IFJlZmFjdG9yZWQgdGhlIHJlc3Qgb2YgdGhlCisg
ICAgICAgIHJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0IGZ1bmN0aW9uIGFuZCByZW5hbWVk
IHRvIHRoZSBuYW1lIGZyb20gdGhlCisgICAgICAgIEhUTUwgc3BlY2lmaWNhdGlvbi4KKyAgICAg
ICAgKiBkb20vQ29udGFpbmVyTm9kZS5oOiBVcGRhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4K
KworICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNldFRl
eHRDb250ZW50KTogVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2UgYWJvdmUuCisgICAgICAgICogZG9t
L1JhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjpzdXJyb3VuZENvbnRlbnRzKTog
RGl0dG8uCisgICAgICAgICogZWRpdGluZy9pb3MvRWRpdG9ySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6RWRpdG9yOjpzZXRUZXh0QXNDaGlsZE9mRWxlbWVudCk6IERpdHRvLgorICAgICAgICAq
IGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnNl
dElubmVyVGV4dCk6IERpdHRvLgorCisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6SFRNTE91dHB1dEVsZW1l
bnQpOiBNb3ZlZCBkYXRhIG1lbWJlcgorICAgICAgICBpbml0aWFsaXphdGlvbiBpbnRvIHRoZSBj
bGFzcyBkZWZpbml0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OmNy
ZWF0ZSk6IEFkZGVkIGFuIG92ZXJsb2FkIHRoYXQgdGFrZXMganVzdAorICAgICAgICBhIGRvY3Vt
ZW50LCBmb3IgdXNlIHdoZW4gaW52b2tlZCBmcm9tIGFzIGEgY29uc3RydWN0b3IuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBUaWdodGVuZWQg
dGhlIGxvZ2ljIGZvciB0aGUKKyAgICAgICAgZm9yIGF0dHJpYnV0ZS4gSSBkZWNpZGVkIGl0J3Mg
YmV0dGVyIHRvIGNhbGwgdGhyb3VnaCB0byB0aGUgYmFzZSBjbGFzcywgZXZlbgorICAgICAgICB0
aG91Z2ggd2Ugb2Z0ZW4gZG9uJ3QgZG8gdGhhdCBmb3IgYXR0cmlidXRlcyB0aGF0IGRvbid0IGV4
cGVjdCB0aGUgYmFzZQorICAgICAgICBjbGFzcyB0byBwYXkgYXR0ZW50aW9uIHRvLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IERlbGV0ZWQu
IE5vIG5lZWQgZm9yIHRoaXMgaW4KKyAgICAgICAgdGhlIGltcHJvdmVkIEhUTUwgc3BlY2lmaWNh
dGlvbiB2ZXJzaW9uIG9mIHRoaXMgZWxlbWVudCdzIGFsZ29yaXRobXMuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6cmVzZXQpOiBVcGRhdGVkIGJhc2VkIG9uIHRoZSBIVE1M
IHNwZWNpZmljYXRpb24sCisgICAgICAgIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIGFsZ29yaXRo
bSByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCB2YWx1ZSBtb2RlIGZsYWcgd2UKKyAgICAgICAgd2Vy
ZSB1c2luZyBiZWZvcmUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6c2V0
VmFsdWUpOiBVcGRhdGVkIGJhc2VkIG9uIHRoZSBIVE1MIHNwZWNpZmljYXRpb24sCisgICAgICAg
IGFsd2F5cyBzZXR0aW5nIHRoZSBkZWZhdWx0IHZhbHVlIG92ZXJyaWRlIGJhc2VkIG9uIHRoZSBj
dXJyZW50IGRlZmF1bHQgdmFsdWUsCisgICAgICAgIGFuZCB1c2luZyBzdHJpbmdSZXBsYWNlQWxs
LiBUaGVyZSdzIG5vIG5lZWQgZm9yIHRoZSBvbGQgc2V0VGV4dENvbnRlbnRJbnRlcm5hbCwKKyAg
ICAgICAgc2luY2UgdGhhdCB3YXMgYWxsIGR1ZSB0byB0aGUgbmVlZCB0byBhdm9pZCBpbmZpbml0
ZSByZWN1cnNpb24gaW4gY2hpbGRyZW5DaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91
dHB1dEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZSBjb25zdCk6IFVwZGF0ZWQgYmFzZWQgb24gdGhlIEhU
TUwKKyAgICAgICAgc3BlY2lmaWNhdGlvbiwgZGVyaXZpbmcgdGhlIGRlZmF1bHQgdmFsdWUgZnJv
bSB0aGUgZGVmYXVsdCB2YWx1ZSBvdmVycmlkZSBhbmQKKyAgICAgICAgdGhlIGRlc2NlbmRhbnQg
dGV4dCBjb250ZW50LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OnNldERl
ZmF1bHRWYWx1ZSk6IFVwZGF0ZWQgYmFzZWQgb24gdGhlIEhUTUwKKyAgICAgICAgc3BlY2lmaWNh
dGlvbiwgZG9pbmcgYSBzdHJpbmcgcmVwbGFjZSBhbGwgd2l0aCB0aGUgdmFsdWUgaWYgdGhlIGRl
ZmF1bHQKKyAgICAgICAgdmFsdWUgb3ZlcnJpZGUgaXMgbnVsbCwgYW5kIHVwZGF0aW5nIHRoZSBk
ZWZhdWx0IHZhbHVlIG92ZXJyaWRlIG90aGVyd2lzZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxP
dXRwdXRFbGVtZW50OjpodG1sRm9yKTogVXBkYXRlZCB0byByZW5hbWUgbV90b2tlbnMgdG8gbV9m
b3JUb2tlbnMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3V0cHV0RWxlbWVudDo6c2V0VGV4dENv
bnRlbnRJbnRlcm5hbCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxPdXRwdXRFbGVt
ZW50Lmg6IE1vdmVkIERPTVRva2VuTGlzdCB0byBiZSBhIGZvcndhcmQgZGVjbGFyYXRpb24KKyAg
ICAgICAgaW5zdGVhZCBvZiBhbiBpbmNsdWRlLiBBZGRlIGEgY29uc3RydWN0b3IgdGhhdCB0YWtl
cyBvbmx5IGEgZG9jdW1lbnQgdG8gYmUgdXNlZAorICAgICAgICBmcm9tIEphdmFTY3JpcHQuIE1h
ZGUgdGhlIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50IG92ZXJyaWRlIGJlIHByaXZhdGUgbGlrZSB0
aGUKKyAgICAgICAgb3RoZXIgb3ZlcnJpZGVzLiBSZW1vdmVkIHRoZSBjaGlsZHJlbkNoYW5nZSBv
dmVycmlkZSBhbmQgdGhlCisgICAgICAgIHNldFRleHRDb250ZW50SW50ZXJuYWwgZnVuY3Rpb24u
IFJlbW92ZWQgbV9pc0RlZmF1bHRWYWx1ZU1vZGUsCisgICAgICAgIG1faXNTZXRUZXh0Q29udGVu
dEluUHJvZ3Jlc3MsIGFuZCBtX2RlZmF1bHRWYWx1ZS4gQWRkZWQgbV9kZWZhdWx0VmFsdWVPdmVy
cmlkZS4KKyAgICAgICAgUmVuYW1lZCBtX3Rva2VucyB0byBtX2ZvclRva2Vucy4KKworICAgICAg
ICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOiBVcGRhdGVkIHRvIG1hdGNoIHRoZSBIVE1M
IHNwZWNpZmljYXRpb24uIFRoaXMKKyAgICAgICAgaW52b2x2ZWQgYWRkaW5nIGEgY29uc3RydWN0
b3IsIGFkZGluZyBTYW1lT2JqZWN0IGZvciB0aGUgaHRtbEZvciBhdHRyaWJ1dGUsCisgICAgICAg
IG1ha2luZyB0aGUgZm9ybSBhdHRyaWJ1dGUgbnVsbGFibGUsIGFuZCByZW1vdmluZyBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddCisgICAgICAgIGZyb20gdGhlIGRlZmF1bHRWYWx1ZSBhbmQgdmFs
dWUgYXR0cmlidXRlcy4KKwogMjAyMS0wNS0xNCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUHJvbW90ZSBgLVtXS1dlYlZpZXcgX3BhZ2VFeHRlbmRlZEJhY2tn
cm91bmRDb2xvcl1gIFNQSSB0byBgLVtXS1dlYlZpZXcgdW5kZXJQYWdlQmFja2dyb3VuZENvbG9y
XWAgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKaW5kZXggMDk2Yjg3ODdhYTZj
YmZjNWNjOThmNzI4MGZhYTVhMTBiNjM3Mzg4Ny4uZmNiYmY1ZTZiODJiNTZjMjJmMzg3ZWM5NTM0
OTQyNTIwYzkzZmYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5v
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcApAQCAtNjYz
LDI1ICs2NjMsMTggQEAgdm9pZCBDb250YWluZXJOb2RlOjpwYXJzZXJSZW1vdmVDaGlsZChOb2Rl
JiBvbGRDaGlsZCkKIH0KIAogLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNjb25jZXB0
LW5vZGUtcmVwbGFjZS1hbGwKLXZvaWQgQ29udGFpbmVyTm9kZTo6cmVwbGFjZUFsbENoaWxkcmVu
KHN0ZDo6bnVsbHB0cl90KQordm9pZCBDb250YWluZXJOb2RlOjpyZXBsYWNlQWxsKE5vZGUqIG5v
ZGUpCiB7Ci0gICAgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSBtdXRhdGlvbigqdGhpcyk7Ci0gICAg
cmVtb3ZlQ2hpbGRyZW4oKTsKLX0KLQotLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNj
b25jZXB0LW5vZGUtcmVwbGFjZS1hbGwKLXZvaWQgQ29udGFpbmVyTm9kZTo6cmVwbGFjZUFsbENo
aWxkcmVuV2l0aE5ld1RleHQoY29uc3QgU3RyaW5nJiB0ZXh0KQotewotICAgIGlmICh0ZXh0Lmlz
RW1wdHkoKSkgewotICAgICAgICByZXBsYWNlQWxsQ2hpbGRyZW4obnVsbHB0cik7CisgICAgaWYg
KCFub2RlKSB7CisgICAgICAgIENoaWxkTGlzdE11dGF0aW9uU2NvcGUgbXV0YXRpb24oKnRoaXMp
OworICAgICAgICByZW1vdmVDaGlsZHJlbigpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgYXV0byBub2RlID0gZG9jdW1lbnQoKS5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTsKKyAgICAvLyBG
SVhNRTogVGhlIGNvZGUgYmVsb3cgaXMgcm91Z2hseSBjb3JyZWN0IGZvciBhIG5ldyB0ZXh0IG5v
ZGUgd2l0aCBubyBwYXJlbnQsIGJ1dCBuZWVkcyBlbmhhbmNlbWVudCB0byB3b3JrIHByb3Blcmx5
IGZvciBtb3JlIGNvbXBsZXggY2FzZXMuCisKICAgICBpZiAoIWhhc0NoaWxkTm9kZXMoKSkgewot
ICAgICAgICAvLyBhcHBlbmRDaGlsZFdpdGhvdXRQcmVJbnNlcnRpb25WYWxpZGl0eUNoZWNrKCkg
Y2FuIG9ubHkgdGhyb3cgd2hlbiBub2RlIGhhcyBhIHBhcmVudCBhbmQgd2UgYWxyZWFkeSBhc3Nl
cnRlZCBpdCBkb2Vzbid0LgotICAgICAgICBhdXRvIHJlc3VsdCA9IGFwcGVuZENoaWxkV2l0aG91
dFByZUluc2VydGlvblZhbGlkaXR5Q2hlY2sobm9kZSk7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQo
cmVzdWx0LCAhcmVzdWx0Lmhhc0V4Y2VwdGlvbigpKTsKKyAgICAgICAgYXBwZW5kQ2hpbGRXaXRo
b3V0UHJlSW5zZXJ0aW9uVmFsaWRpdHlDaGVjaygqbm9kZSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKQEAgLTY4OSwxNyArNjgyLDIyIEBAIHZvaWQgQ29udGFpbmVyTm9kZTo6cmVwbGFjZUFs
bENoaWxkcmVuV2l0aE5ld1RleHQoY29uc3QgU3RyaW5nJiB0ZXh0KQogICAgIENoaWxkTGlzdE11
dGF0aW9uU2NvcGUgbXV0YXRpb24oKnRoaXMpOwogICAgIHJlbW92ZUFsbENoaWxkcmVuV2l0aFNj
cmlwdEFzc2VydGlvbihDaGlsZENoYW5nZTo6U291cmNlOjpBUEksIERlZmVyQ2hpbGRyZW5DaGFu
Z2VkOjpZZXMpOwogCi0gICAgZXhlY3V0ZU5vZGVJbnNlcnRpb25XaXRoU2NyaXB0QXNzZXJ0aW9u
KCp0aGlzLCBub2RlLmdldCgpLCBDaGlsZENoYW5nZTo6U291cmNlOjpBUEksIFJlcGxhY2VkQWxs
Q2hpbGRyZW46OlllcywgWyZdIHsKLSAgICAgICAgQVNTRVJUKCFlbnN1cmVQcmVJbnNlcnRpb25W
YWxpZGl0eShub2RlLCBudWxscHRyKS5oYXNFeGNlcHRpb24oKSk7CisgICAgZXhlY3V0ZU5vZGVJ
bnNlcnRpb25XaXRoU2NyaXB0QXNzZXJ0aW9uKCp0aGlzLCAqbm9kZSwgQ2hpbGRDaGFuZ2U6OlNv
dXJjZTo6QVBJLCBSZXBsYWNlZEFsbENoaWxkcmVuOjpZZXMsIFsmXSB7CiAgICAgICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGUoZG9jdW1lbnQoKSwgKnRoaXMp
OwogICAgICAgICBub2RlLT5zZXRUcmVlU2NvcGVSZWN1cnNpdmVseSh0cmVlU2NvcGUoKSk7Ci0g
ICAgICAgIGFwcGVuZENoaWxkQ29tbW9uKG5vZGUpOworICAgICAgICBhcHBlbmRDaGlsZENvbW1v
bigqbm9kZSk7CiAgICAgfSk7CiAKICAgICByZWJ1aWxkU1ZHRXh0ZW5zaW9uc0VsZW1lbnRzSWZO
ZWNlc3NhcnkoKTsKICAgICBkaXNwYXRjaFN1YnRyZWVNb2RpZmllZEV2ZW50KCk7CiB9CiAKKy8v
IGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jc3RyaW5nLXJlcGxhY2UtYWxsCit2b2lkIENv
bnRhaW5lck5vZGU6OnN0cmluZ1JlcGxhY2VBbGwoY29uc3QgU3RyaW5nJiBzdHJpbmcpCit7Cisg
ICAgcmVwbGFjZUFsbChzdHJpbmcuaXNFbXB0eSgpID8gbnVsbHB0ciA6IGRvY3VtZW50KCkuY3Jl
YXRlVGV4dE5vZGUoc3RyaW5nKS5wdHIoKSk7Cit9CisKIGlubGluZSB2b2lkIENvbnRhaW5lck5v
ZGU6OnJlYnVpbGRTVkdFeHRlbnNpb25zRWxlbWVudHNJZk5lY2Vzc2FyeSgpCiB7CiAgICAgaWYg
KGRvY3VtZW50KCkuc3ZnRXh0ZW5zaW9ucygpICYmICFpczxTVkdVc2VFbGVtZW50PihzaGFkb3dI
b3N0KCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKaW5kZXggZjY2ZjZlMzZkYzNlY2Yx
Y2JhZjdjNWM5NzI0OTRhZTY3ZTU3MWNiMC4uM2ZiMTljNTk2NWY0NWU2ZGI2N2I5MTYwYmY0ZDkw
NzFmNThlMTc5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCkBAIC01Nyw4ICs1Nyw4
IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiByZXBsYWNlQ2hpbGQoTm9kZSYgbmV3
Q2hpbGQsIE5vZGUmIG9sZENoaWxkKTsKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25Pcjx2
b2lkPiByZW1vdmVDaGlsZChOb2RlJiBjaGlsZCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0
aW9uT3I8dm9pZD4gYXBwZW5kQ2hpbGQoTm9kZSYgbmV3Q2hpbGQpOwotICAgIHZvaWQgcmVwbGFj
ZUFsbENoaWxkcmVuV2l0aE5ld1RleHQoY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCByZXBsYWNl
QWxsQ2hpbGRyZW4oc3RkOjpudWxscHRyX3QpOworICAgIHZvaWQgc3RyaW5nUmVwbGFjZUFsbChj
b25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHJlcGxhY2VBbGwoTm9kZSopOwogCiAgICAgLy8gVGhl
c2UgbWV0aG9kcyBhcmUgb25seSB1c2VkIGR1cmluZyBwYXJzaW5nLgogICAgIC8vIFRoZXkgZG9u
J3Qgc2VuZCBET00gbXV0YXRpb24gZXZlbnRzIG9yIGhhbmRsZSByZXBhcmVudGluZy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcAppbmRleCBmZTA5MGU3NWM3NGY0YjUxNzRiZDBmOGRiMWM3MDljYjNkNGNlN2E5Li4w
NTIyZGUwYmFhNzgyZDdlOWZiNDkzMzkwOTQyNTY2ZWJjNzVkYzViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3Bw
CkBAIC0xNTg5LDcgKzE1ODksNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBOb2RlOjpzZXRUZXh0Q29u
dGVudChjb25zdCBTdHJpbmcmIHRleHQpCiAgICAgICAgIHJldHVybiBzZXROb2RlVmFsdWUodGV4
dCk7CiAgICAgY2FzZSBFTEVNRU5UX05PREU6CiAgICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9O
T0RFOgotICAgICAgICBkb3duY2FzdDxDb250YWluZXJOb2RlPigqdGhpcykucmVwbGFjZUFsbENo
aWxkcmVuV2l0aE5ld1RleHQodGV4dCk7CisgICAgICAgIGRvd25jYXN0PENvbnRhaW5lck5vZGU+
KCp0aGlzKS5zdHJpbmdSZXBsYWNlQWxsKHRleHQpOwogICAgICAgICByZXR1cm4geyB9OwogICAg
IGNhc2UgRE9DVU1FTlRfTk9ERToKICAgICBjYXNlIERPQ1VNRU5UX1RZUEVfTk9ERToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
UmFuZ2UuY3BwCmluZGV4IDU4MzgwY2JiMGI4NzA0YjYyZDJmMTUwZmZhMGQ3ZTRkMzdhNTg1OGEu
LmU3OTY5OTYxZTQ5ZDI3MDNhMjQyNjY4NDA2MTk1OTY5MjZjNzhmOWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Jhbmdl
LmNwcApAQCAtODI0LDcgKzgyNCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFJhbmdlOjpzdXJyb3Vu
ZENvbnRlbnRzKE5vZGUmIG5ld1BhcmVudCkKIAogICAgIC8vIFN0ZXAgNDogSWYgbmV3UGFyZW50
IGhhcyBjaGlsZHJlbiwgcmVwbGFjZSBhbGwgd2l0aCBudWxsIHdpdGhpbiBuZXdQYXJlbnQuCiAg
ICAgaWYgKG5ld1BhcmVudC5oYXNDaGlsZE5vZGVzKCkpCi0gICAgICAgIGRvd25jYXN0PENvbnRh
aW5lck5vZGU+KG5ld1BhcmVudCkucmVwbGFjZUFsbENoaWxkcmVuKG51bGxwdHIpOworICAgICAg
ICBkb3duY2FzdDxDb250YWluZXJOb2RlPihuZXdQYXJlbnQpLnJlcGxhY2VBbGwobnVsbHB0cik7
CiAKICAgICAvLyBTdGVwIDU6IEluc2VydCBuZXdQYXJlbnQgaW50byBjb250ZXh0IG9iamVjdC4K
ICAgICBhdXRvIGluc2VydFJlc3VsdCA9IGluc2VydE5vZGUobmV3UGFyZW50KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaW9zL0VkaXRvcklPUy5tbSBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvaW9zL0VkaXRvcklPUy5tbQppbmRleCA3MDM2YWUwY2QwYWFhMjk5OTgyNDgy
YzBiZTMzZWZjNTQ5NTRkZmI1Li40OWQyMzgyYTdjYzZjMDM2Y2YyYzc5MDRjZGE1N2UxYTJhNGFl
MTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2lvcy9FZGl0b3JJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9pb3MvRWRpdG9ySU9TLm1tCkBAIC0zMzcsNyAr
MzM3LDcgQEAgdm9pZCBFZGl0b3I6OnNldFRleHRBc0NoaWxkT2ZFbGVtZW50KGNvbnN0IFN0cmlu
ZyYgdGV4dCwgRWxlbWVudCYgZWxlbWVudCkKICAgICAvLyBXaGF0IGZvbGxvd3MgaXMgbW9yZSBl
eHBlbnNpdmUgaWYgdGhlcmUgaXMgYSBzZWxlY3Rpb24sIHNvIGNsZWFyIGl0IHNpbmNlIGl0J3Mg
Z29pbmcgdG8gY2hhbmdlIGFueXdheS4KICAgICBtX2RvY3VtZW50LnNlbGVjdGlvbigpLmNsZWFy
KCk7CiAKLSAgICBlbGVtZW50LnJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0KHRleHQpOwor
ICAgIGVsZW1lbnQuc3RyaW5nUmVwbGFjZUFsbCh0ZXh0KTsKIAogICAgIFZpc2libGVQb3NpdGlv
biBhZnRlckNvbnRlbnRzID0gbWFrZUNvbnRhaW5lck9mZnNldFBvc2l0aW9uKCZlbGVtZW50LCBl
bGVtZW50LmNvdW50Q2hpbGROb2RlcygpKTsKICAgICBpZiAoYWZ0ZXJDb250ZW50cy5pc051bGwo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggNDIxMzhmNjFhZWIwNjRiMjI5
MmE5ZDI5YTFmNDBkY2E3ZTIxNWQzYi4uNGU4N2NiYzUwNzc2ZDc0ZjU2MjIzMmRmNWVhN2Y2ZDBj
ZTA1Nzc4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTU1NSw3ICs1NTUs
NyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRWxlbWVudDo6c2V0SW5uZXJUZXh0KGNvbnN0IFN0
cmluZyYgdGV4dCkKICAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IHRha2Ugd2hpdGVzcGFjZSBj
b2xsYXBzaW5nIGludG8gYWNjb3VudCBhdCBhbGwuCiAKICAgICBpZiAoIXRleHQuY29udGFpbnMo
J1xuJykgJiYgIXRleHQuY29udGFpbnMoJ1xyJykpIHsKLSAgICAgICAgcmVwbGFjZUFsbENoaWxk
cmVuV2l0aE5ld1RleHQodGV4dCk7CisgICAgICAgIHN0cmluZ1JlcGxhY2VBbGwodGV4dCk7CiAg
ICAgICAgIHJldHVybiB7IH07CiAgICAgfQogCkBAIC01NjUsMTkgKzU2NSwxOSBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBIVE1MRWxlbWVudDo6c2V0SW5uZXJUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkK
ICAgICBhdXRvKiByID0gcmVuZGVyZXIoKTsKICAgICBpZiAoKHIgJiYgci0+c3R5bGUoKS5wcmVz
ZXJ2ZU5ld2xpbmUoKSkgfHwgKGlzQ29ubmVjdGVkKCkgJiYgaXNUZXh0Q29udHJvbElubmVyVGV4
dEVsZW1lbnQoKSkpIHsKICAgICAgICAgaWYgKCF0ZXh0LmNvbnRhaW5zKCdccicpKSB7Ci0gICAg
ICAgICAgICByZXBsYWNlQWxsQ2hpbGRyZW5XaXRoTmV3VGV4dCh0ZXh0KTsKKyAgICAgICAgICAg
IHN0cmluZ1JlcGxhY2VBbGwodGV4dCk7CiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAg
ICB9CiAgICAgICAgIFN0cmluZyB0ZXh0V2l0aENvbnNpc3RlbnRMaW5lQnJlYWtzID0gdGV4dDsK
ICAgICAgICAgdGV4dFdpdGhDb25zaXN0ZW50TGluZUJyZWFrcy5yZXBsYWNlKCJcclxuIiwgIlxu
Iik7CiAgICAgICAgIHRleHRXaXRoQ29uc2lzdGVudExpbmVCcmVha3MucmVwbGFjZSgnXHInLCAn
XG4nKTsKLSAgICAgICAgcmVwbGFjZUFsbENoaWxkcmVuV2l0aE5ld1RleHQodGV4dFdpdGhDb25z
aXN0ZW50TGluZUJyZWFrcyk7CisgICAgICAgIHN0cmluZ1JlcGxhY2VBbGwodGV4dFdpdGhDb25z
aXN0ZW50TGluZUJyZWFrcyk7CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQogCisgICAgLy8g
RklYTUU6IFRoaXMgc2hvdWxkIHVzZSByZXBsYWNlQWxsKCksIGFmdGVyIHdlIGZpeCB0aGF0IHRv
IHdvcmsgcHJvcGVybHkgZm9yIERvY3VtZW50RnJhZ21lbnQuCiAgICAgLy8gQWRkIHRleHQgbm9k
ZXMgYW5kIDxicj4gZWxlbWVudHMuCiAgICAgYXV0byBmcmFnbWVudCA9IHRleHRUb0ZyYWdtZW50
KGRvY3VtZW50KCksIHRleHQpOwotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgYSB2YXJp
YW50IG9mIHJlcGxhY2VBbGxDaGlsZHJlbldpdGhOZXdUZXh0KCkgd2hpY2ggYWNjZXB0cyBEb2N1
bWVudEZyYWdtZW50cyBhcyBpbnB1dC4KICAgICAvLyBJdCdzIHNhZmUgdG8gZGlzcGF0Y2ggZXZl
bnRzIG9uIHRoZSBuZXcgZnJhZ21lbnQgc2luY2UgYXV0aG9yIHNjcmlwdHMgaGF2ZSBubyBhY2Nl
c3MgdG8gaXQgeWV0LgogICAgIFNjcmlwdERpc2FsbG93ZWRTY29wZTo6RXZlbnRBbGxvd2VkU2Nv
cGUgYWxsb3dlZFNjb3BlKGZyYWdtZW50LmdldCgpKTsKICAgICByZXR1cm4gcmVwbGFjZUNoaWxk
cmVuV2l0aEZyYWdtZW50KCp0aGlzLCBXVEZNb3ZlKGZyYWdtZW50KSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuY3BwCmluZGV4IDViNDQ2YzdmMzlmZTc4NTllZDdjZTY0
M2RiNmQ5MTJmMzAwYTRjZTIuLjBjZGExY2FkNzdlNGUzODA2M2IwYTgzNjZkOWYxYjAxMDg3MmU4
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuY3BwCkBAIC0xLDUg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMxLDYgKzMy
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1MT3V0cHV0RWxlbWVudC5o
IgogCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGlu
ZXMuaD4KQEAgLTQwLDEzICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKEhUTUxPdXRwdXRFbGVtZW50KTsKIAotdXNpbmcgbmFtZXNwYWNl
IEhUTUxOYW1lczsKLQogaW5saW5lIEhUTUxPdXRwdXRFbGVtZW50OjpIVE1MT3V0cHV0RWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQsIEhUTUxG
b3JtRWxlbWVudCogZm9ybSkKICAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQsIGZvcm0pCi0gICAgLCBtX2lzRGVmYXVsdFZhbHVlTW9kZSh0cnVlKQotICAgICwg
bV9pc1NldFRleHRDb250ZW50SW5Qcm9ncmVzcyhmYWxzZSkKLSAgICAsIG1fZGVmYXVsdFZhbHVl
KGVtcHR5U3RyaW5nKCkpCiB7CiB9CiAKQEAgLTU1LDYgKzUyLDExIEBAIFJlZjxIVE1MT3V0cHV0
RWxlbWVudD4gSFRNTE91dHB1dEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBECiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSFRNTE91dHB1dEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQsIGZvcm0pKTsKIH0KIAorUmVmPEhUTUxPdXRwdXRFbGVtZW50PiBIVE1M
T3V0cHV0RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4g
Y3JlYXRlKEhUTUxOYW1lczo6b3V0cHV0VGFnLCBkb2N1bWVudCwgbnVsbHB0cik7Cit9CisKIGNv
bnN0IEF0b21TdHJpbmcmIEhUTUxPdXRwdXRFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUoKSBjb25z
dAogewogICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmlu
Zz4gb3V0cHV0KCJvdXRwdXQiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CkBA
IC02OCwzNSArNzAsMTUgQEAgYm9vbCBIVE1MT3V0cHV0RWxlbWVudDo6c3VwcG9ydHNGb2N1cygp
IGNvbnN0CiAKIHZvaWQgSFRNTE91dHB1dEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIHZhbHVlKQogewotICAgIGlmIChu
YW1lID09IGZvckF0dHIpIHsKLSAgICAgICAgaWYgKG1fdG9rZW5zKQotICAgICAgICAgICAgbV90
b2tlbnMtPmFzc29jaWF0ZWRBdHRyaWJ1dGVWYWx1ZUNoYW5nZWQodmFsdWUpOwotICAgIH0gZWxz
ZQotICAgICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2
YWx1ZSk7Ci19Ci0KLXZvaWQgSFRNTE91dHB1dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25z
dCBDaGlsZENoYW5nZSYgY2hhbmdlKQotewotICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmNo
aWxkcmVuQ2hhbmdlZChjaGFuZ2UpOwotCi0gICAgaWYgKGNoYW5nZS5zb3VyY2UgPT0gQ2hpbGRD
aGFuZ2U6OlNvdXJjZTo6UGFyc2VyIHx8IG1faXNTZXRUZXh0Q29udGVudEluUHJvZ3Jlc3MpIHsK
LSAgICAgICAgbV9pc1NldFRleHRDb250ZW50SW5Qcm9ncmVzcyA9IGZhbHNlOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1faXNEZWZhdWx0VmFsdWVNb2RlKQotICAgICAgICBt
X2RlZmF1bHRWYWx1ZSA9IHRleHRDb250ZW50KCk7CisgICAgaWYgKG5hbWUgPT0gZm9yQXR0ciAm
JiBtX2ZvclRva2VucykKKyAgICAgICAgbV9mb3JUb2tlbnMtPmFzc29jaWF0ZWRBdHRyaWJ1dGVW
YWx1ZUNoYW5nZWQodmFsdWUpOworICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnBhcnNlQXR0
cmlidXRlKG5hbWUsIHZhbHVlKTsKIH0KIAogdm9pZCBIVE1MT3V0cHV0RWxlbWVudDo6cmVzZXQo
KQogewotICAgIC8vIFRoZSByZXNldCBhbGdvcml0aG0gZm9yIG91dHB1dCBlbGVtZW50cyBpcyB0
byBzZXQgdGhlIGVsZW1lbnQncwotICAgIC8vIHZhbHVlIG1vZGUgZmxhZyB0byAiZGVmYXVsdCIg
YW5kIHRoZW4gdG8gc2V0IHRoZSBlbGVtZW50J3MgdGV4dENvbnRlbnQKLSAgICAvLyBhdHRyaWJ1
dGUgdG8gdGhlIGRlZmF1bHQgdmFsdWUuCi0gICAgbV9pc0RlZmF1bHRWYWx1ZU1vZGUgPSB0cnVl
OwotICAgIGlmIChtX2RlZmF1bHRWYWx1ZSA9PSB2YWx1ZSgpKQotICAgICAgICByZXR1cm47Ci0g
ICAgc2V0VGV4dENvbnRlbnRJbnRlcm5hbChtX2RlZmF1bHRWYWx1ZSk7CisgICAgc3RyaW5nUmVw
bGFjZUFsbChkZWZhdWx0VmFsdWUoKSk7CisgICAgbV9kZWZhdWx0VmFsdWVPdmVycmlkZSA9IHsg
fTsKIH0KIAogU3RyaW5nIEhUTUxPdXRwdXRFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0CkBAIC0xMDYs
NDEgKzg4LDI4IEBAIFN0cmluZyBIVE1MT3V0cHV0RWxlbWVudDo6dmFsdWUoKSBjb25zdAogCiB2
b2lkIEhUTUxPdXRwdXRFbGVtZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQogewot
ICAgIC8vIFRoZSB2YWx1ZSBtb2RlIGZsYWcgc2V0IHRvICJ2YWx1ZSIgd2hlbiB0aGUgdmFsdWUg
YXR0cmlidXRlIGlzIHNldC4KLSAgICBtX2lzRGVmYXVsdFZhbHVlTW9kZSA9IGZhbHNlOwotICAg
IGlmICh2YWx1ZSA9PSB0aGlzLT52YWx1ZSgpKQotICAgICAgICByZXR1cm47Ci0gICAgc2V0VGV4
dENvbnRlbnRJbnRlcm5hbCh2YWx1ZSk7CisgICAgbV9kZWZhdWx0VmFsdWVPdmVycmlkZSA9IGRl
ZmF1bHRWYWx1ZSgpOworICAgIHN0cmluZ1JlcGxhY2VBbGwodmFsdWUpOwogfQogCiBTdHJpbmcg
SFRNTE91dHB1dEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1f
ZGVmYXVsdFZhbHVlOworICAgIHJldHVybiBtX2RlZmF1bHRWYWx1ZU92ZXJyaWRlLmlzTnVsbCgp
ID8gdGV4dENvbnRlbnQoKSA6IG1fZGVmYXVsdFZhbHVlT3ZlcnJpZGU7CiB9CiAKIHZvaWQgSFRN
TE91dHB1dEVsZW1lbnQ6OnNldERlZmF1bHRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQogewot
ICAgIGlmIChtX2RlZmF1bHRWYWx1ZSA9PSB2YWx1ZSkKLSAgICAgICAgcmV0dXJuOwotICAgIG1f
ZGVmYXVsdFZhbHVlID0gdmFsdWU7Ci0gICAgLy8gVGhlIHNwZWMgcmVxdWlyZXMgdGhlIHZhbHVl
IGF0dHJpYnV0ZSBzZXQgdG8gdGhlIGRlZmF1bHQgdmFsdWUKLSAgICAvLyB3aGVuIHRoZSBlbGVt
ZW50J3MgdmFsdWUgbW9kZSBmbGFnIHRvICJkZWZhdWx0Ii4KLSAgICBpZiAobV9pc0RlZmF1bHRW
YWx1ZU1vZGUpCi0gICAgICAgIHNldFRleHRDb250ZW50SW50ZXJuYWwodmFsdWUpOworICAgIGlm
IChtX2RlZmF1bHRWYWx1ZU92ZXJyaWRlLmlzTnVsbCgpKQorICAgICAgICBzdHJpbmdSZXBsYWNl
QWxsKHZhbHVlKTsKKyAgICBlbHNlCisgICAgICAgIG1fZGVmYXVsdFZhbHVlT3ZlcnJpZGUgPSB2
YWx1ZTsKIH0KIAogRE9NVG9rZW5MaXN0JiBIVE1MT3V0cHV0RWxlbWVudDo6aHRtbEZvcigpCiB7
Ci0gICAgaWYgKCFtX3Rva2VucykKLSAgICAgICAgbV90b2tlbnMgPSBtYWtlVW5pcXVlPERPTVRv
a2VuTGlzdD4oKnRoaXMsIGZvckF0dHIpOwotICAgIHJldHVybiAqbV90b2tlbnM7Ci19Ci0KLXZv
aWQgSFRNTE91dHB1dEVsZW1lbnQ6OnNldFRleHRDb250ZW50SW50ZXJuYWwoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKLXsKLSAgICBBU1NFUlQoIW1faXNTZXRUZXh0Q29udGVudEluUHJvZ3Jlc3MpOwot
ICAgIG1faXNTZXRUZXh0Q29udGVudEluUHJvZ3Jlc3MgPSB0cnVlOwotICAgIHNldFRleHRDb250
ZW50KHZhbHVlKTsKKyAgICBpZiAoIW1fZm9yVG9rZW5zKQorICAgICAgICBtX2ZvclRva2VucyA9
IG1ha2VVbmlxdWU8RE9NVG9rZW5MaXN0PigqdGhpcywgZm9yQXR0cik7CisgICAgcmV0dXJuICpt
X2ZvclRva2VuczsKIH0KIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91
dHB1dEVsZW1lbnQuaAppbmRleCA1MDM0YjAyMzEzOTY2NDRjZGMwNDc0Y2RkY2NiMTAzOTA5OGY0
MGRkLi5lNDg3MTcxMzI2MzNiMTQ5ZWQ3YzM1ZjYxZDA4NDIxM2JhNGMxNDZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENv
cHlyaWdodCAoYykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChjKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMwLDE1ICszMSwxNyBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBET01Ub2tlbkxp
c3Q7CisKIGNsYXNzIEhUTUxPdXRwdXRFbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSFRNTE91dHB1dEVsZW1l
bnQpOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8SFRNTE91dHB1dEVsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBIVE1MRm9ybUVsZW1lbnQqKTsKKyAgICBz
dGF0aWMgUmVmPEhUTUxPdXRwdXRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQmKTsKIAogICAgIFN0
cmluZyB2YWx1ZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJik7CkBA
IC00NiwyNiArNDksMjAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGVmYXVsdFZhbHVlKGNvbnN0
IFN0cmluZyYpOwogICAgIERPTVRva2VuTGlzdCYgaHRtbEZvcigpOwogICAgIAotICAgIGJvb2wg
Y2FuQ29udGFpblJhbmdlRW5kUG9pbnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQot
CiBwcml2YXRlOgogICAgIEhUTUxPdXRwdXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYsIEhUTUxGb3JtRWxlbWVudCopOwogCisgICAgYm9vbCBjYW5Db250YWluUmFuZ2VF
bmRQb2ludCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjb21wdXRl
V2lsbFZhbGlkYXRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2b2lkIHBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9tU3RyaW5nJikgZmlu
YWw7CiAgICAgY29uc3QgQXRvbVN0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3QgZmluYWw7
CiAgICAgYm9vbCBpc0VudW1lcmF0YWJsZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0K
ICAgICBib29sIHN1cHBvcnRMYWJlbHMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAg
ICAgYm9vbCBzdXBwb3J0c0ZvY3VzKCkgY29uc3QgZmluYWw7Ci0gICAgdm9pZCBjaGlsZHJlbkNo
YW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBmaW5hbDsKICAgICB2b2lkIHJlc2V0KCkgZmluYWw7
CiAKLSAgICB2b2lkIHNldFRleHRDb250ZW50SW50ZXJuYWwoY29uc3QgU3RyaW5nJik7Ci0KLSAg
ICBib29sIG1faXNEZWZhdWx0VmFsdWVNb2RlOwotICAgIGJvb2wgbV9pc1NldFRleHRDb250ZW50
SW5Qcm9ncmVzczsKLSAgICBTdHJpbmcgbV9kZWZhdWx0VmFsdWU7Ci0gICAgc3RkOjp1bmlxdWVf
cHRyPERPTVRva2VuTGlzdD4gbV90b2tlbnM7CisgICAgU3RyaW5nIG1fZGVmYXVsdFZhbHVlT3Zl
cnJpZGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4gbV9mb3JUb2tlbnM7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1
dEVsZW1lbnQuaWRsCmluZGV4IDM3OTNlOWU2Y2NiNzYwMjdhNDdkMDcyZmYyODhkYTU1ZWYwNTZk
NmQuLmI5ZGFmNmZjNGMyMjhlOGEwYzE5ZmZhYTBiZWY3ZmRlZmQ3ZjM0NzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsCkBAIC0xLDUgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsMTQgKzI2LDE1IEBACiBbCiAgICAgRXhw
b3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIEhUTUxPdXRwdXRFbGVtZW50IDogSFRNTEVsZW1lbnQg
ewotICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlz
dCBodG1sRm9yOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgSFRNTENvbnN0cnVjdG9yXSBjb25z
dHJ1Y3RvcigpOwogCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3Jt
OworICAgIFtTYW1lT2JqZWN0LCBQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRl
IERPTVRva2VuTGlzdCBodG1sRm9yOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVs
ZW1lbnQ/IGZvcm07CiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRlZCwgUmVmbGVjdF0gYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0
eXBlOwotICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmlu
Z10gRE9NU3RyaW5nIGRlZmF1bHRWYWx1ZTsKLSAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBb
TGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyB2YWx1ZTsKKyAgICBbQ0VSZWFjdGlv
bnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgZGVmYXVsdFZhbHVlOworICAgIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIERPTVN0cmluZyB2YWx1ZTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuIHdpbGxWYWxpZGF0ZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2
YWxpZGl0eTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAwZDFlYWUxYTdmNDZmYjQ3YzUwNWE3ODQ1N2I4NjdjM2JmZmI1NGRm
Li5kZjJkOWQzZTdhZmY5NThhOTVlM2FmYjFlNWEzNGVjZWE0MTAzNTViIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMjEtMDUtMTQgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIG91dHB1dCBlbGVtZW50IGRvZXNuJ3QgcmVhY3QgcHJvcGVybHkgdG8gbm9kZSB0cmVl
IG11dGF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk2NTMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0RXhwZWN0YXRpb25zOiBSZW1vdmVkIGFuIGV4cGVjdGF0aW9uIGZvciBhIGRpcmVj
dG9yeSB0aGF0IG5vIGxvbmdlciBleGlzdHMuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9U
ZXN0RXhwZWN0YXRpb25zOiBSZW1vdmVkIGFuIGV4cGVjdGF0aW9uIGZvciBhIHRlc3QgdGhhdCBu
byBsb25nZXIgZXhpc3RzLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
OiBSZW1vdmVkIGFuIGV4cGVjdGF0aW9uIGZvciBhIGRpcmVjdG9yeSB0aGF0IG5vIGxvbmdlciBl
eGlzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYnVpbHRpbi1jb3ZlcmFnZS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL2J1aWx0aW4tY292ZXJhZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGVk
IHNpbmNlIEhUTUxPcHRpb25FbGVtZW50IG5vdyBoYXMgYSBjb25zdHJ1Y3Rvci4gU3RpbGwgbm90
IHBhc3NpbmcsIGJ1dCBjbG9zZXIgdG8gY29ycmVjdC4KKwogMjAyMS0wNS0xNCAgTGF1cm8gTW91
cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBCb3QgZXhpdGluZyBlYXJs
eSB3aXRoIGNyYXNoZXMgaW4gbmV3IHdpbmRvdyBsYXlvdXQgdGVzdHMgaW5zaWRlIHdsX3Byb3h5
X21hcnNoYWxfY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGIz
NGRhZmRiYTQ0ZWYxZTk2ZThmZjM2YmYwNGUwNmIzN2Q3MDA5MTIuLmMyYzdlYTBjNzMxMDVmYTcy
MWVjZjRmNDMzYTY1MDJkZGVmZTYwZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIzIEBACisyMDIxLTA1LTE0ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KKworICAgICAgICBvdXRwdXQgZWxlbWVudCBkb2Vzbid0IHJlYWN0IHByb3Blcmx5IHRvIG5v
ZGUgdHJlZSBtdXRhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NjUzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNv
dmVyYWdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRlZCBzaW5jZSBIVE1MT3B0aW9uRWxl
bWVudCBub3cgaGFzIGEgY29uc3RydWN0b3IuIFN0aWxsIG5vdCBwYXNzaW5nLCBidXQgY2xvc2Vy
IHRvIGNvcnJlY3QuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1l
bnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLXJlc2V0LWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgVXBkYXRlZCBkdWUgdG8gY2hhbmdlcyBpbiBIVE1MT3B0aW9uRWxlbWVudCwgYnV0IHN0
aWxsIG5vdCBwYXNzaW5nLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2Zvcm1zL3RoZS1vdXRwdXQtZWxlbWVudC9tdXRhdGlvbnMud2luZG93LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgVXBkYXRlZCB0byByZWZsZWN0IHBhc3NpbmcgdGVzdC4KKworICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtb3V0cHV0LWVs
ZW1lbnQvbXV0YXRpb25zLndpbmRvdy5qczoKKyAgICAgICAgVXBkYXRlZCB0byBhIG5ld2VyIHZl
cnNpb24gb2YgdGhlIHVwc3RyZWFtIHZlcnNpb24gb2YgdGhpcy4gRGVjaWRlZCB0byBqdXN0IHVw
ZGF0ZSB0aGlzIG9uZSBmaWxlCisgICAgICAgIHJhdGhlciB0aGFuIGltcG9ydGluZyB0aGUgbGF0
ZXN0IHZlcnNpb24gYWNyb3NzIG1vcmUgdGVzdHMgYXQgdGhpcyB0aW1lLgorCiAyMDIxLTA1LTE0
ICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CiAKICAgICAgICAgV3Jvbmcgc3RhdGljIHBv
c2l0aW9uIGZvciBvdXQtb2YtZmxvdyBwb3NpdGlvbmVkIGVsZW1lbnQgd2l0aCBkaWZmZXJlbnQg
d3JpdGluZy1tb2RlIHRoYW4gaXRzIGNvbnRhaW5pbmcgYmxvY2sKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDc0MjQ0NTk4ZDRlMTBmZjU4MTY0MTZjNzkzM2JhZTc3YzU0OThiYTYuLjM4YWJhODBlMDcy
NzhmYjkyNGMzM2NjODA3MjZmYmE3YTVhZTIzZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjMs
NyArNjMsNiBAQCBmYXN0L3Njcm9sbGluZy9tYWMgWyBTa2lwIF0KIGZhc3Qvc2Nyb2xsaW5nL2lw
YWQgWyBTa2lwIF0KIGZhc3QvdGV4dC9tYWMgWyBTa2lwIF0KIHNjcm9sbGluZ2Nvb3JkaW5hdG9y
IFsgU2tpcCBdCi1tZWRpYS9tYWMgWyBTa2lwIF0KIG1lZGlhL2lvcyBbIFNraXAgXQogbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0IFsgU2tpcCBdCiBmYXN0L3RleHQt
YXV0b3NpemluZyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYnVpbHRpbi1jb3ZlcmFnZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dAppbmRleCBlMTJjNTk1
ZjM4Zjk2ODY4YzRiNGQ4NGFlNTRjMDg3ZWViZjAzMzExLi5iMjRhYzdmYWRiZjBmNDlmYzUxNTUy
ZWRiNjM1OWM4NTQyYmNhMjdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dApAQCAtNTQ0LDcg
KzU0NCw5IEBAIEZBSUwgb3B0aW9uOiBpbm5lckhUTUwgc2hvdWxkIGluc3RhbnRpYXRlIGEgY3Vz
dG9taXplZCBidWlsdC1pbiBlbGVtZW50IGFzc2VydF9lCiAgICAgW25hdGl2ZSBjb2RlXQogfSIK
IFBBU1Mgb3V0cHV0OiBEZWZpbmUgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQKLUZBSUwg
b3V0cHV0OiBPcGVyYXRvciAnbmV3JyBzaG91bGQgaW5zdGFudGlhdGUgYSBjdXN0b21pemVkIGJ1
aWx0LWluIGVsZW1lbnQgSWxsZWdhbCBjb25zdHJ1Y3RvcgorRkFJTCBvdXRwdXQ6IE9wZXJhdG9y
ICduZXcnIHNob3VsZCBpbnN0YW50aWF0ZSBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudCBh
c3NlcnRfZXF1YWxzOiBDbG9uaW5nIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50IHNob3Vs
ZCBzdWNjZWVkLiBleHBlY3RlZCBmdW5jdGlvbiAiY2xhc3MgZXh0ZW5kcyBIVE1MT3V0cHV0RWxl
bWVudCB7fSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gSFRNTE91dHB1dEVsZW1lbnQoKSB7
CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIEZBSUwgb3V0cHV0OiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCkgc2hvdWxkIGluc3RhbnRpYXRlIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50IGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJjbGFzcyBleHRlbmRzIEhUTUxPdXRwdXRF
bGVtZW50IHt9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBIVE1MT3V0cHV0RWxlbWVudCgp
IHsKICAgICBbbmF0aXZlIGNvZGVdCiB9IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVk
L2Zvcm0tcmVzZXQtY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zv
cm0tcmVzZXQtY2FsbGJhY2stZXhwZWN0ZWQudHh0CmluZGV4IDg3MWJhMmQyODczN2FiZWRjZjAx
Y2E0YmZiYzgxNGRiNDJiODM4YjEuLjBmYzU4NDgxZjJmZWU4N2M4MjQxZjdlYThiMzNhNzk1NDRm
NjY3YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9mb3JtLXJlc2V0LWNhbGxiYWNr
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1yZXNldC1jYWxsYmFj
ay1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi0KK2RlZmF1bHQKIAogCiBGQUlMIGZvcm0u
cmVzZXQoKSBzaG91bGQgdHJpZ2dlciBmb3JtUmVzZXRDYWxsYmFjayBhc3NlcnRfdHJ1ZTogZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLW91dHB1dC1lbGVt
ZW50L211dGF0aW9ucy53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtb3V0cHV0LWVs
ZW1lbnQvbXV0YXRpb25zLndpbmRvdy1leHBlY3RlZC50eHQKaW5kZXggNmIxYzdmZTNkNWU4NWI1
NmM0ZDFhYTBhNmRhMTMxZTQ5NGFkYWRlNS4uYmNiMTVkMWFlNWYyZDQwODM4NTIzMzI2NmQxZmRh
NDJhYmUwNjkzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtb3V0cHV0LWVsZW1lbnQvbXV0YXRp
b25zLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtb3V0cHV0LWVsZW1lbnQv
bXV0YXRpb25zLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgRGVz
Y2VuZGFudCBtdXRhdGlvbnMgYW5kIG91dHB1dC52YWx1ZSBhbmQgLmRlZmF1bHRWYWx1ZSBhc3Nl
cnRfZXF1YWxzOiAuZGVmYXVsdFZhbHVlIGFmdGVyIHNldHRpbmcgdGV4dENvbnRlbnQgZXhwZWN0
ZWQgIngiIGJ1dCBnb3QgIiIKK1BBU1MgRGVzY2VuZGFudCBtdXRhdGlvbnMgYW5kIG91dHB1dC52
YWx1ZSBhbmQgLmRlZmF1bHRWYWx1ZQogUEFTUyBvdXRwdXQgYW5kIG91dHB1dC5mb3JtLnJlc2V0
KCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtb3V0cHV0LWVsZW1lbnQvbXV0YXRpb25zLndp
bmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZm9ybXMvdGhlLW91dHB1dC1lbGVtZW50L211dGF0aW9ucy53aW5kb3cuanMK
aW5kZXggYWVkZmM4YTU0Y2I0OTk1ODdhZWQ0YzEwOTQyZjY3Nzk4YmNiZTY2Zi4uOWIxYzZiZDcw
ZmZjYzJkMTc1NzdjMDM4ZTkxNmVjYzhiMWRjMWYxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUt
b3V0cHV0LWVsZW1lbnQvbXV0YXRpb25zLndpbmRvdy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS1vdXRw
dXQtZWxlbWVudC9tdXRhdGlvbnMud2luZG93LmpzCkBAIC0xNSw3ICsxNSw3IEBAIHRlc3QoKCkg
PT4gewogICBhc3NlcnRfZXF1YWxfdmFsdWVzKG91dHB1dCwgIngiLCAiYWZ0ZXIgc2V0dGluZyB0
ZXh0Q29udGVudCIpOwogICBvdXRwdXQudmFsdWUgPSAic29tZSI7CiAgIGFzc2VydF92YWx1ZXMo
b3V0cHV0LCAic29tZSIsICJ4IiwgImFmdGVyIHNldHRpbmcgdmFsdWUiKTsKLSAgY2hpbGQudGV4
dENvbnRlbnQgPSAieSI7CisgIG91dHB1dC50ZXh0Q29udGVudCA9ICJ5IjsKICAgYXNzZXJ0X3Zh
bHVlcyhvdXRwdXQsICJ5IiwgIngiLCAiYWZ0ZXIgc2V0dGluZyB0ZXh0Q29udGVudCBhZ2FpbiIp
OwogfSwgIkRlc2NlbmRhbnQgbXV0YXRpb25zIGFuZCBvdXRwdXQudmFsdWUgYW5kIC5kZWZhdWx0
VmFsdWUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292ZXJhZ2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292ZXJhZ2UtZXhwZWN0ZWQu
dHh0CmluZGV4IGU2YzFjYTAwM2VlYWRmNTgwNDhhNWZhYWJkODFmODdmNGVkNmFlNjUuLmRjZWRh
MWFhZWU1MzRiMTUxYWU0NzFlOTcxZGM2MTM1NjAzNTQzMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvYnVpbHRpbi1jb3ZlcmFnZS1leHBlY3RlZC50eHQKQEAgLTU0NCw3ICs1NDQsOSBAQCBGQUlM
IG9wdGlvbjogaW5uZXJIVE1MIHNob3VsZCBpbnN0YW50aWF0ZSBhIGN1c3RvbWl6ZWQgYnVpbHQt
aW4gZWxlbWVudCBhc3NlcnRfZQogICAgIFtuYXRpdmUgY29kZV0KIH0iCiBQQVNTIG91dHB1dDog
RGVmaW5lIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50Ci1GQUlMIG91dHB1dDogT3BlcmF0
b3IgJ25ldycgc2hvdWxkIGluc3RhbnRpYXRlIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50
IElsbGVnYWwgY29uc3RydWN0b3IKK0ZBSUwgb3V0cHV0OiBPcGVyYXRvciAnbmV3JyBzaG91bGQg
aW5zdGFudGlhdGUgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgYXNzZXJ0X2VxdWFsczog
Q2xvbmluZyBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudCBzaG91bGQgc3VjY2VlZC4gZXhw
ZWN0ZWQgZnVuY3Rpb24gImNsYXNzIGV4dGVuZHMgSFRNTE91dHB1dEVsZW1lbnQge30iIGJ1dCBn
b3QgZnVuY3Rpb24gImZ1bmN0aW9uIEhUTUxPdXRwdXRFbGVtZW50KCkgeworICAgIFtuYXRpdmUg
Y29kZV0KK30iCiBGQUlMIG91dHB1dDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgpIHNob3VsZCBp
bnN0YW50aWF0ZSBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudCBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBmdW5jdGlvbiAiY2xhc3MgZXh0ZW5kcyBIVE1MT3V0cHV0RWxlbWVudCB7fSIgYnV0
IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gSFRNTE91dHB1dEVsZW1lbnQoKSB7CiAgICAgW25hdGl2
ZSBjb2RlXQogfSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYnVpbHRpbi1jb3Zl
cmFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292ZXJhZ2Ut
ZXhwZWN0ZWQudHh0CmluZGV4IGU2YzFjYTAwM2VlYWRmNTgwNDhhNWZhYWJkODFmODdmNGVkNmFl
NjUuLmRjZWRhMWFhZWU1MzRiMTUxYWU0NzFlOTcxZGM2MTM1NjAzNTQzMTggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jdXN0b20tZWxlbWVudHMvYnVpbHRpbi1jb3ZlcmFnZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dApAQCAtNTQ0
LDcgKzU0NCw5IEBAIEZBSUwgb3B0aW9uOiBpbm5lckhUTUwgc2hvdWxkIGluc3RhbnRpYXRlIGEg
Y3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50IGFzc2VydF9lCiAgICAgW25hdGl2ZSBjb2RlXQog
fSIKIFBBU1Mgb3V0cHV0OiBEZWZpbmUgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQKLUZB
SUwgb3V0cHV0OiBPcGVyYXRvciAnbmV3JyBzaG91bGQgaW5zdGFudGlhdGUgYSBjdXN0b21pemVk
IGJ1aWx0LWluIGVsZW1lbnQgSWxsZWdhbCBjb25zdHJ1Y3RvcgorRkFJTCBvdXRwdXQ6IE9wZXJh
dG9yICduZXcnIHNob3VsZCBpbnN0YW50aWF0ZSBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVu
dCBhc3NlcnRfZXF1YWxzOiBDbG9uaW5nIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50IHNo
b3VsZCBzdWNjZWVkLiBleHBlY3RlZCBmdW5jdGlvbiAiY2xhc3MgZXh0ZW5kcyBIVE1MT3V0cHV0
RWxlbWVudCB7fSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gSFRNTE91dHB1dEVsZW1lbnQo
KSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIEZBSUwgb3V0cHV0OiBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCkgc2hvdWxkIGluc3RhbnRpYXRlIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJjbGFzcyBleHRlbmRzIEhUTUxPdXRw
dXRFbGVtZW50IHt9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBIVE1MT3V0cHV0RWxlbWVu
dCgpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDdiYmE3M2Y1MWE2YmZhM2Y5OWY5MTg5OWZhMmNj
MWM4ZjdlODRmNDAuLjQ5YTE5MGMyODlmNTI5ZjI2YmE0ZWU2Nzc1ZTVlMTI5ZDdhZjYwYjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEz
NTksOCArMTM1OSw2IEBAIHdlYmtpdC5vcmcvYi8yMjQ2MzMgbWVkaWEvcHJlc2VudGF0aW9ubW9k
ZWNoYW5nZWQtZmlyZWQtb25jZS5odG1sIFsgUGFzcyBUaW1lb3V0CiAKIHdlYmtpdC5vcmcvYi8y
MjQ2OTAgY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tYm9yZGVyLXJhZGl1cy1jbGlwcGluZy5odG1s
IFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIyNDY5NiBbIGFybTY0
IF0gaHR0cC93cHQvd2VicnRjL2NoYW5nZS1lbmNvZGVkLXRyYW5zZm9ybS5odG1sIFsgUGFzcyBD
cmFzaCBdCi0KIHdlYmtpdC5vcmcvYi8yMjQ2OTggWyBCaWdTdXIgUmVsZWFzZSBhcm02NCBdIGlu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtb29tLmh0bWwgWyBQYXNzIENyYXNoIF0KIAogd2Via2l0
Lm9yZy9iLzIyNDg0NSBbIEJpZ1N1ciBEZWJ1ZyBhcm02NCBdIGh0dHAvd3B0L3ByZWxvYWQvY2hh
bmdlLWxpbmstcmVsLWF0dHJpYnV0ZS5odG1sIFsgUGFzcyBDcmFzaCBdCkBAIC0xNDA1LDQgKzE0
MDMsNCBAQCB3ZWJraXQub3JnL2IvMjI1NjY5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy10cmFuc2l0aW9ucy90cmFuc2l0aQogCiB3ZWJraXQub3JnL2IvMjI1NjY3IGh0
dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcy9zY3JlZW4tZnVuY3Rpb25zLWFjY2Vzc2VkLWRhdGEt
Y29sbGVjdGlvbi5odG1sIFsgU2xvdyBdCiAKLXdlYmtpdC5vcmcvYi8yMjU2NjggaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9yZWRpcmVjdC1jcm9zcy1vcmlnaW4tdHJpcG1pbmUuaHRtbCBbIFNs
b3cgXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtpdC5vcmcvYi8yMjU2NjggaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZWRpcmVjdC1jcm9zcy1vcmlnaW4tdHJpcG1pbmUuaHRt
bCBbIFNsb3cgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVy
YWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvYnVpbHRpbi1jb3ZlcmFnZS1l
eHBlY3RlZC50eHQKaW5kZXggZTZjMWNhMDAzZWVhZGY1ODA0OGE1ZmFhYmQ4MWY4N2Y0ZWQ2YWU2
NS4uZGNlZGExYWFlZTUzNGIxNTFhZTQ3MWU5NzFkYzYxMzU2MDM1NDMxOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9idWlsdGluLWNvdmVyYWdlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL2J1aWx0aW4tY292ZXJhZ2UtZXhwZWN0ZWQudHh0CkBAIC01NDQs
NyArNTQ0LDkgQEAgRkFJTCBvcHRpb246IGlubmVySFRNTCBzaG91bGQgaW5zdGFudGlhdGUgYSBj
dXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgYXNzZXJ0X2UKICAgICBbbmF0aXZlIGNvZGVdCiB9
IgogUEFTUyBvdXRwdXQ6IERlZmluZSBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudAotRkFJ
TCBvdXRwdXQ6IE9wZXJhdG9yICduZXcnIHNob3VsZCBpbnN0YW50aWF0ZSBhIGN1c3RvbWl6ZWQg
YnVpbHQtaW4gZWxlbWVudCBJbGxlZ2FsIGNvbnN0cnVjdG9yCitGQUlMIG91dHB1dDogT3BlcmF0
b3IgJ25ldycgc2hvdWxkIGluc3RhbnRpYXRlIGEgY3VzdG9taXplZCBidWlsdC1pbiBlbGVtZW50
IGFzc2VydF9lcXVhbHM6IENsb25pbmcgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQgc2hv
dWxkIHN1Y2NlZWQuIGV4cGVjdGVkIGZ1bmN0aW9uICJjbGFzcyBleHRlbmRzIEhUTUxPdXRwdXRF
bGVtZW50IHt9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBIVE1MT3V0cHV0RWxlbWVudCgp
IHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgogRkFJTCBvdXRwdXQ6IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoKSBzaG91bGQgaW5zdGFudGlhdGUgYSBjdXN0b21pemVkIGJ1aWx0LWluIGVsZW1lbnQg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVuY3Rpb24gImNsYXNzIGV4dGVuZHMgSFRNTE91dHB1
dEVsZW1lbnQge30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEhUTUxPdXRwdXRFbGVtZW50
KCkgewogICAgIFtuYXRpdmUgY29kZV0KIH0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDFkMmRiMTNiNWUwNmNjNTA1ODUwZGYxMTQwMDUwYzZiNjVkNjM2
ZDUuLjIxN2RhOTQwOWI5NmExN2I5NWVlY2JhZTMwYzY1OTY1MWE5ZDIzMjEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNCw3ICsxNCw2IEBAIGVkaXRp
bmcvbWFjIFsgUGFzcyBdCiBlZGl0aW5nL3Bhc3RlYm9hcmQvbWFjIFsgUGFzcyBdCiBmYXN0L2Rv
bS9SYW5nZS9tYWMgWyBQYXNzIF0KIGZhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nIFsgUGFzcyBdCi1t
ZWRpYS9tYWMgWyBQYXNzIF0KIG1vZGVsLWVsZW1lbnQgWyBQYXNzIF0KIAogZmFzdC9mb3Jtcy9z
ZWFyY2gvc2VhcmNoLXBhZGRpbmctY2FuY2VsLXJlc3VsdHMtYnV0dG9ucy5odG1sIFsgUGFzcyBd
CkBAIC0yMjc2LDQgKzIyNzUsNCBAQCB3ZWJraXQub3JnL2IvMjI1NjcwIHdlYmF1ZGlvL0F1ZGlv
Q29udGV4dC9hdWRpb2NvbnRleHQtY2xvc2UtYmFzaWMuaHRtbCBbIFNsb3cgXQogCiB3ZWJraXQu
b3JnL2IvMjIzNjQ1IFsgQmlnU3VyIF0gbWVkaWEvdmlkZW8tcGxheWVkLXJhbmdlcy0xLmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjI1ODA0IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2VieHIveHJCb3VuZGVkUmVmZXJlbmNlU3BhY2VfdXBkYXRlcy5odHRw
cy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJr
aXQub3JnL2IvMjI1ODA0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJC
b3VuZGVkUmVmZXJlbmNlU3BhY2VfdXBkYXRlcy5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>