<?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>162713</bug_id>
          
          <creation_ts>2016-09-28 19:54:23 -0700</creation_ts>
          <short_desc>Import touch-events web-platform-tests</short_desc>
          <delta_ts>2016-09-29 18:22:30 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>147740</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>lforschler</cc>
    
    <cc>rbyers</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1234673</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-28 19:54:23 -0700</bug_when>
    <thetext>Import touch-events web-platform-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234675</commentid>
    <comment_count>1</comment_count>
      <attachid>290166</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-28 19:57:00 -0700</bug_when>
    <thetext>Created attachment 290166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234692</commentid>
    <comment_count>2</comment_count>
      <attachid>290166</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-28 20:37:25 -0700</bug_when>
    <thetext>Comment on attachment 290166
Patch

No ...-expected.txt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234693</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-28 20:48:44 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 290166 [details]
&gt; Patch
&gt; 
&gt; No ...-expected.txt?

They are skipped in OpenSource so they don&apos;t really need expected results in OpenSource.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234704</commentid>
    <comment_count>4</comment_count>
      <attachid>290166</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-28 21:46:46 -0700</bug_when>
    <thetext>Comment on attachment 290166
Patch

Clearing flags on attachment: 290166

Committed r206576: &lt;http://trac.webkit.org/changeset/206576&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234705</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-28 21:46:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235083</commentid>
    <comment_count>6</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2016-09-29 18:22:30 -0700</bug_when>
    <thetext>FYI, the constructor test was updated after your import (sorry - my fault in delaying the review): https://github.com/w3c/web-platform-tests/commit/8221d3049f6008c5adeb0555b7b37b4f6d7ca15d</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290166</attachid>
            <date>2016-09-28 19:57:00 -0700</date>
            <delta_ts>2016-09-28 21:46:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162713-20160928195359.patch</filename>
            <type>text/plain</type>
            <size>40433</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NTczCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjZjYTNiMzdhMDI0OWFlOGU4YzEy
MTE5M2U5NDhjMGE1NjE4YzRjNi4uZWRiOTFhNDUyNTQ0MWRkYzU4YTI0OWI0NjAwNzlhNTZkNjA3
MTBhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE2LTA5LTI4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgSW1wb3J0IHRvdWNoLWV2ZW50cyB3ZWItcGxhdGZv
cm0tdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MjcxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFNraXAgb24gYWxsIHBsYXRmb3JtcyB0aGF0IGRvIG5vdCBoYXZlIFRvdWNoIGVuYWJsZWQuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnM6CisKKzIwMTYtMDktMjggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKwogICAgICAgICBMb2cgY29uc29sZSBtZXNzYWdlcyB3aGVuIHRoZSBhbmNo
b3IgZG93bmxvYWQgYXR0cmlidXRlIGlzIGlnbm9yZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjcwMwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwppbmRleCBkNTJiZTZkYmIwYzhjMjViYzZhZTMyY2VjODFjZGFkMWUxMWNkMGUxLi4xZmRl
NDRlZjU3ZTM3MzEzNzI5ZGE3Njg4ODQ2YzAzMGE5OGMwMjdjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMiBAQAogMjAxNi0wOS0yOCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIEltcG9ydCB0b3VjaC1ldmVudHMgd2ViLXBsYXRm
b3JtLXRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjI3MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBvcnQgdG91Y2gtZXZlbnRzIHdlYi1wbGF0Zm9ybS10ZXN0cy4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMvT1dORVJTOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL2NyZWF0ZS10b3VjaC10b3VjaGxpc3QuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3RvdWNoLWV2ZW50cy9oaXN0
b3JpY2FsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1l
dmVudHMvbXVsdGktdG91Y2gtaW50ZXJhY3Rpb25zLmpzOiBBZGRlZC4KKyAgICAgICAgKGRlYnVn
X3ByaW50KToKKyAgICAgICAgKGNoZWNrX2xpc3Rfc3Vic2V0X29mX3R3b190YXJnZXRsaXN0cyk6
CisgICAgICAgIChpc19hdF9sZWFzdF9vbmVfaXRlbV9pbl90YXJnZXRsaXN0KToKKyAgICAgICAg
KGNoZWNrX25vX2l0ZW1faW5fdGFyZ2V0bGlzdCk6CisgICAgICAgIChjaGVja190YXJnZXRzKToK
KyAgICAgICAgKHJ1bi4pOgorICAgICAgICAocnVuKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG91Y2gtZXZlbnRzL3RvdWNoLWdsb2JhbGV2ZW50aGFuZGxlci1pbnRlcmZhY2UuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3RvdWNoLWV2ZW50cy90b3Vj
aC1zdXBwb3J0LmpzOiBBZGRlZC4KKyAgICAgICAgKGNoZWNrX1RvdWNoX29iamVjdCk6CisgICAg
ICAgIChjaGVja19Ub3VjaEV2ZW50KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG91
Y2gtZXZlbnRzL3RvdWNoLXRvdWNoZXZlbnQtY29uc3RydWN0b3IuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3RvdWNoLWV2ZW50cy93M2MtaW1wb3J0LmxvZzogQWRk
ZWQuCisKKzIwMTYtMDktMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgRE9NVG9rZW5MaXN0LnN1cHBvcnRzKCkKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjY1OQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3RvdWNoLWV2ZW50
cy9PV05FUlMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
dWNoLWV2ZW50cy9PV05FUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY1ODBiMmViZTdkMDJmM2RiZjZmNGZkOTZj
YmM2YWMxMmI4OTYwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL09XTkVSUwpAQCAtMCwwICsxLDMgQEAK
K0BqdGFuZ2VsZGVyCitAenF6aGFuZworQGN5bnRoaWEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL2NyZWF0ZS10b3Vj
aC10b3VjaGxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG91Y2gtZXZlbnRzL2NyZWF0ZS10b3VjaC10b3VjaGxpc3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44ZWU5NjRlZGFkZjI1ODI2MTI1ZDk2NzliYWYzNjA4NmUxMTBjYmNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1l
dmVudHMvY3JlYXRlLXRvdWNoLXRvdWNobGlzdC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5kb2N1bWVudC5jcmVhdGVUb3VjaCBh
bmQgZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0IFRlc3RzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0idG91Y2gtc3VwcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxkaXYg
aWQ9InRhcmdldDAiPjwvZGl2PgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgdmFy
IHRlc3RUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0MCcpOworICAgIHZh
ciB0b3VjaDEgPSBkb2N1bWVudC5jcmVhdGVUb3VjaCh3aW5kb3csIHRlc3RUYXJnZXQsIDQyLCAx
NSwgMjAsIDM1LCA0MCk7CisgICAgYXNzZXJ0X2VxdWFscyh0b3VjaDEudGFyZ2V0LCB0ZXN0VGFy
Z2V0LCAidG91Y2gudGFyZ2V0IGlzIHRhcmdldDAiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRvdWNo
MS5pZGVudGlmaWVyLCA0MiwgInRvdWNoLmlkZW50aWZpZXIgaXMgcmVxdWVzdGVkIHZhbHVlIik7
CisgICAgYXNzZXJ0X2VxdWFscyh0b3VjaDEucGFnZVgsIDE1LCAidG91Y2gucGFnZVggaXMgcmVx
dWVzdGVkIHZhbHVlIik7CisgICAgYXNzZXJ0X2VxdWFscyh0b3VjaDEucGFnZVksIDIwLCAidG91
Y2gucGFnZVkgaXMgcmVxdWVzdGVkIHZhbHVlIik7CisgICAgYXNzZXJ0X2VxdWFscyh0b3VjaDEu
c2NyZWVuWCwgMzUsICJ0b3VjaC5zY3JlZW5YIGlzIHJlcXVlc3RlZCB2YWx1ZSIpOworICAgIGFz
c2VydF9lcXVhbHModG91Y2gxLnNjcmVlblksIDQwLCAidG91Y2guc2NyZWVuWSBpcyByZXF1ZXN0
ZWQgdmFsdWUiKTsKK30sICJkb2N1bWVudC5jcmVhdGVUb3VjaCBleGlzdHMgYW5kIGNyZWF0ZXMg
YSBUb3VjaCBvYmplY3Qgd2l0aCByZXF1ZXN0ZWQgcHJvcGVydGllcyIpOworCit0ZXN0KGZ1bmN0
aW9uKCkgeworICAgIHZhciB0b3VjaExpc3QgPSBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHRvdWNoTGlzdC5sZW5ndGgsIDAsICJ0b3VjaExpc3QubGVuZ3Ro
IGlzIDAiKTsKKyAgICBjaGVja19Ub3VjaExpc3Rfb2JqZWN0KHRvdWNoTGlzdCk7Cit9LCAiZG9j
dW1lbnQuY3JlYXRlVG91Y2hMaXN0IGV4aXN0cyBhbmQgY29ycmVjdGx5IGNyZWF0ZXMgYSBUb3Vj
aExpc3QgZnJvbSB6ZXJvIFRvdWNoIG9iamVjdHMiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAg
ICB2YXIgdGVzdFRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQwJyk7Cisg
ICAgdmFyIHRvdWNoMSA9IGRvY3VtZW50LmNyZWF0ZVRvdWNoKHdpbmRvdywgdGVzdFRhcmdldCwg
NDIsIDE1LCAyMCwgMzUsIDQwKTsKKyAgICB2YXIgdG91Y2hMaXN0ID0gZG9jdW1lbnQuY3JlYXRl
VG91Y2hMaXN0KHRvdWNoMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0b3VjaExpc3QubGVuZ3RoLCAx
LCAidG91Y2hMaXN0Lmxlbmd0aCBpcyAxIik7CisgICAgYXNzZXJ0X2VxdWFscyh0b3VjaExpc3Qu
aXRlbSgwKSwgdG91Y2gxLCAidG91Y2hMaXN0Lml0ZW0oMCkgaXMgdG91Y2gxIik7CisgICAgY2hl
Y2tfVG91Y2hMaXN0X29iamVjdCh0b3VjaExpc3QpOworfSwgImRvY3VtZW50LmNyZWF0ZVRvdWNo
TGlzdCBleGlzdHMgYW5kIGNvcnJlY3RseSBjcmVhdGVzIGEgVG91Y2hMaXN0IGZyb20gYSBzaW5n
bGUgVG91Y2giKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICB2YXIgdGVzdFRhcmdldCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQwJyk7CisgICAgdmFyIHRvdWNoMSA9IGRvY3Vt
ZW50LmNyZWF0ZVRvdWNoKHdpbmRvdywgdGVzdFRhcmdldCwgNDIsIDE1LCAyMCwgMzUsIDQwKTsK
KyAgICB2YXIgdG91Y2gyID0gZG9jdW1lbnQuY3JlYXRlVG91Y2god2luZG93LCB0YXJnZXQwLCA0
NCwgMjUsIDMwLCA0NSwgNTApOworICAgIHZhciB0b3VjaExpc3QgPSBkb2N1bWVudC5jcmVhdGVU
b3VjaExpc3QodG91Y2gxLCB0b3VjaDIpOworICAgIGFzc2VydF9lcXVhbHModG91Y2hMaXN0Lmxl
bmd0aCwgMiwgInRvdWNoTGlzdC5sZW5ndGggaXMgMiIpOworICAgIGFzc2VydF9lcXVhbHModG91
Y2hMaXN0Lml0ZW0oMCksIHRvdWNoMSwgInRvdWNoTGlzdC5pdGVtKDApIGlzIHRvdWNoMSIpOwor
ICAgIGFzc2VydF9lcXVhbHModG91Y2hMaXN0Lml0ZW0oMSksIHRvdWNoMiwgInRvdWNoTGlzdC5p
dGVtKDEpIGlzIHRvdWNoMiIpOworICAgIGNoZWNrX1RvdWNoTGlzdF9vYmplY3QodG91Y2hMaXN0
KTsKK30sICJkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QgZXhpc3RzIGFuZCBjb3JyZWN0bHkgY3Jl
YXRlcyBhIFRvdWNoTGlzdCBmcm9tIHR3byBUb3VjaCBvYmplY3RzIik7Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL2hpc3RvcmljYWwuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL2hp
c3RvcmljYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjcyZjA0MzI3ODZkMjcwY2JkZTdhOWYzYThlZGUy
ZDhiMDdhODRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMvaGlzdG9yaWNhbC5odG1sCkBAIC0wLDAgKzEs
MTcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5IaXN0
b3JpY2FsIHRvdWNoIGV2ZW50cyBmZWF0dXJlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InRvdWNoLXN1cHBvcnQuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgor
dGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2ZhbHNlKCJpZGVudGlmaWVkVG91Y2giIGluIFRv
dWNoTGlzdC5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAiU2hvdWxkIG5vdCBiZSBzdXBwb3J0
ZWQgb24gdGhlIHByb3RvdHlwZSIpOworCisgIHZhciB0b3VjaExpc3QgPSBkb2N1bWVudC5jcmVh
dGVUb3VjaExpc3QoKTsKKyAgYXNzZXJ0X2ZhbHNlKCJpZGVudGlmaWVkVG91Y2giIGluIHRvdWNo
TGlzdCwKKyAgICAgICAgICAgICAgICJTaG91bGQgbm90IGJlIHN1cHBvcnRlZCBvbiB0aGUgaW5z
dGFuY2UiKTsKK30sICJUb3VjaExpc3Q6OmlkZW50aWZpZWRUb3VjaCIpOworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
dWNoLWV2ZW50cy9tdWx0aS10b3VjaC1pbnRlcmFjdGlvbnMuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3RvdWNoLWV2ZW50cy9tdWx0aS10b3VjaC1pbnRl
cmFjdGlvbnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTI0OGU2YTk0MzBlNDRiNmRmZTRhMzIwMTJhYjM0N2Ez
MjA5YjVmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL211bHRpLXRvdWNoLWludGVyYWN0aW9ucy5qcwpA
QCAtMCwwICsxLDM3MSBAQAorc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKwordmFyIGRl
YnVnID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlYnVnIik7CisKK2Z1bmN0aW9uIGRlYnVn
X3ByaW50ICh4KSB7CisvKiB1bmNvbW1lbnQgYmVsb3cgc3RhdGVtZW50IHRvIHNob3cgZGVidWcg
bWVzc2FnZXMgKi8KKy8vCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZWJ1ZyIpLmlubmVySFRN
TCArPSB4OworfQorCit2YXIgc3RhcnRpbmdfZWxlbWVudHMgPSB7fTsKKworZnVuY3Rpb24gY2hl
Y2tfbGlzdF9zdWJzZXRfb2ZfdGFyZ2V0bGlzdChsaXN0LCBsaXN0X25hbWUsIHRhcmdldGxpc3Qs
IHRhcmdldGxpc3RfbmFtZSkgeworCXZhciBleGlzdF9pbl90YXJnZXRsaXN0OworCWZvcihpPTA7
IGk8bGlzdC5sZW5ndGg7IGkrKykgeworCQlleGlzdF9pbl90YXJnZXRsaXN0PWZhbHNlOworCQlm
b3Ioaj0wOyBqPHRhcmdldGxpc3QubGVuZ3RoOyBqKyspCisJCQlpZihsaXN0Lml0ZW0oaSkuaWRl
bnRpZmllcj09dGFyZ2V0bGlzdC5pdGVtKGopLmlkZW50aWZpZXIpCisJCQkJZXhpc3RfaW5fdGFy
Z2V0bGlzdD10cnVlOworCisJCWFzc2VydF90cnVlKGV4aXN0X2luX3RhcmdldGxpc3QsIGxpc3Rf
bmFtZSArICIuaXRlbSgiK2krIikgZXhpc3RzIGluICIgKyB0YXJnZXRsaXN0X25hbWUpOworCX0K
K30KKworZnVuY3Rpb24gY2hlY2tfbGlzdF9zdWJzZXRfb2ZfdHdvX3RhcmdldGxpc3RzKGxpc3Qs
IGxpc3RfbmFtZSwgdGFyZ2V0bGlzdDEsIHRhcmdldGxpc3QxX25hbWUsIHRhcmdldGxpc3QyLCB0
YXJnZXRsaXN0Ml9uYW1lKSB7CisJdmFyIGV4aXN0X2luX3RhcmdldGxpc3RzOworCWZvcihpPTA7
IGk8bGlzdC5sZW5ndGg7IGkrKykgeworCQlleGlzdF9pbl90YXJnZXRsaXN0cz1mYWxzZTsKKwkJ
Zm9yKGo9MDsgajx0YXJnZXRsaXN0MS5sZW5ndGg7IGorKykKKwkJCWlmKGxpc3QuaXRlbShpKS5p
ZGVudGlmaWVyPT10YXJnZXRsaXN0MS5pdGVtKGopLmlkZW50aWZpZXIpCisJCQkJZXhpc3RfaW5f
dGFyZ2V0bGlzdHM9dHJ1ZTsKKworCQlpZighZXhpc3RfaW5fdGFyZ2V0bGlzdHMpCisJCQlmb3Io
aj0wOyBqPHRhcmdldGxpc3QyLmxlbmd0aDsgaisrKQorCQkJCWlmKGxpc3QuaXRlbShpKS5pZGVu
dGlmaWVyPT10YXJnZXRsaXN0Mi5pdGVtKGopLmlkZW50aWZpZXIpCisJCQkJCWV4aXN0X2luX3Rh
cmdldGxpc3RzPXRydWU7CisKKwkJYXNzZXJ0X3RydWUoZXhpc3RfaW5fdGFyZ2V0bGlzdHMsIGxp
c3RfbmFtZSArICIuaXRlbSgiK2krIikgZXhpc3RzIGluICIgKyB0YXJnZXRsaXN0MV9uYW1lICsg
IiBvciAiICsgdGFyZ2V0bGlzdDJfbmFtZSk7CisJfQorCit9CisKK2Z1bmN0aW9uIGlzX2F0X2xl
YXN0X29uZV9pdGVtX2luX3RhcmdldGxpc3QobGlzdCwgdGFyZ2V0bGlzdCkgeworCWZvcihpPTA7
IGk8bGlzdC5sZW5ndGg7IGkrKykKKwkJZm9yKGo9MDsgajx0YXJnZXRsaXN0Lmxlbmd0aDsgaisr
KQorCQkJaWYobGlzdC5pdGVtKGkpLmlkZW50aWZpZXI9PXRhcmdldGxpc3QuaXRlbShqKS5pZGVu
dGlmaWVyKQorCQkJCXJldHVybiB0cnVlOworCisJcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlv
biBjaGVja19ub19pdGVtX2luX3RhcmdldGxpc3QobGlzdCwgbGlzdF9uYW1lLCB0YXJnZXRsaXN0
LCB0YXJnZXRsaXN0X25hbWUpIHsKKwlmb3IoaT0wOyBpPGxpc3QubGVuZ3RoOyBpKyspCisJCWZv
cihqPTA7IGo8dGFyZ2V0bGlzdC5sZW5ndGg7IGorKykgeworCQkJYXNzZXJ0X2ZhbHNlKGxpc3Qu
aXRlbShpKS5pZGVudGlmaWVyPT10YXJnZXRsaXN0Lml0ZW0oaikuaWRlbnRpZmllciwgbGlzdF9u
YW1lICsgIi5pdGVtKCIraSsiKSBleGlzdHMgaW4gIiArIHRhcmdldGxpc3RfbmFtZSk7CisJCQly
ZXR1cm47CisJCX0KK30KKworZnVuY3Rpb24gY2hlY2tfdGFyZ2V0cyhsaXN0LCB0YXJnZXQpIHsK
Kwlmb3IoaT0wOyBpPGxpc3QubGVuZ3RoOyBpKyspCisJCWFzc2VydF90cnVlKGxpc3QuaXRlbShp
KS50YXJnZXQ9PXRhcmdldCwgIml0ZW0oIiArIGkgKyAiKS50YXJnZXQgaXMgZWxlbWVudCByZWNl
aXZpbmcgZXZlbnQiKTsKK30KKworZnVuY3Rpb24gY2hlY2tfc3RhcnRpbmdfZWxlbWVudHMobGlz
dCkgeworCWZvciAoaT0wOyBpPGxpc3QubGVuZ3RoOyBpKyspIHsKKwkJYXNzZXJ0X2VxdWFscyhs
aXN0Lml0ZW0oaSkudGFyZ2V0LCBzdGFydGluZ19lbGVtZW50c1tsaXN0Lml0ZW0oaSkuaWRlbnRp
Zmllcl0sICJpdGVtKCIgKyBpICsgIikudGFyZ2V0IG1hdGNoZXMgc3RhcnRpbmcgZWxlbWVudCIp
OworCX0KK30KKworZnVuY3Rpb24gcnVuKCkgeworCXZhciB0YXJnZXQwID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRhcmdldDAiKTsKKwl2YXIgdGFyZ2V0MSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQxIik7CisKKwl2YXIgdGVzdF90b3VjaHN0YXJ0ID0gYXN5bmNfdGVzdCgi
dG91Y2hzdGFydCBldmVudCByZWNlaXZlZCIpOworCXZhciB0ZXN0X3RvdWNobW92ZSA9IGFzeW5j
X3Rlc3QoInRvdWNobW92ZSBldmVudCByZWNlaXZlZCIpOworCXZhciB0ZXN0X3RvdWNoZW5kID0g
YXN5bmNfdGVzdCgidG91Y2hlbmQgZXZlbnQgcmVjZWl2ZWQiKTsKKwl2YXIgdGVzdF9tb3VzZWRv
d24gPSBhc3luY190ZXN0KCJJbnRlcmFjdGlvbiB3aXRoIG1vdXNlIGV2ZW50cyIpOworCisJdmFy
IHRvdWNoc3RhcnRfcmVjZWl2ZWQgPSAwOworCXZhciB0b3VjaG1vdmVfcmVjZWl2ZWQgPSAwOwor
CXZhciB0b3VjaGVuZF9yZWNlaXZlZCA9IDA7CisJdmFyIHRvdWNoc3RhcnRfaWRlbnRpZmllcjsK
KworCS8vIGxhc3QgcmVjZWl2ZWQgdG91Y2ggbGlzdHMgZm9yIGNvbXBhcmlzb24KKwl2YXIgbGFz
dF90b3VjaGVzOworCXZhciBsYXN0X3RhcmdldFRvdWNoZXM9e307CisJdmFyIGxhc3RfY2hhbmdl
ZFRvdWNoZXM9e307CisKKwlvbl9ldmVudCh3aW5kb3csICJ0b3VjaHN0YXJ0IiwgZnVuY3Rpb24g
b25Ub3VjaFN0YXJ0KGV2KSB7CisJCS8vIHByb2Nlc3MgZXZlbnQgb25seSBpZiBpdCdzIHRhcmdl
dGVkIGF0IHRhcmdldDAgb3IgdGFyZ2V0MQorCQlpZihldi50YXJnZXQgIT0gdGFyZ2V0MCAmJiBl
di50YXJnZXQgIT0gdGFyZ2V0MSApCisJCQlyZXR1cm47CisKKwkJZXYucHJldmVudERlZmF1bHQo
KTsKKworCQlpZighdG91Y2hzdGFydF9yZWNlaXZlZCkgeworCQkJLy8gQ2hlY2sgZXZlbnQgb3Jk
ZXJpbmcgVEE6IDEuNi4xCisJCQl0ZXN0X3RvdWNoc3RhcnQuc3RlcChmdW5jdGlvbigpIHsKKwkJ
CQlhc3NlcnRfdHJ1ZSh0b3VjaG1vdmVfcmVjZWl2ZWQ9PTAsICJ0b3VjaHN0YXJ0IHByZWNlZGVz
IHRvdWNobW92ZSIpOworCQkJCWFzc2VydF90cnVlKHRvdWNoZW5kX3JlY2VpdmVkPT0wLCAidG91
Y2hzdGFydCBwcmVjZWRlcyB0b3VjaGVuZCIpOworCQkJfSk7CisJCQl0ZXN0X3RvdWNoc3RhcnQu
ZG9uZSgpOworCQkJdGVzdF9tb3VzZWRvd24uZG9uZSgpOyAvLyBJZiB3ZSBnb3QgaGVyZSwgdGhl
biB0aGUgbW91c2UgZXZlbnQgdGVzdCBpcyBub3QgbmVlZGVkLgorCQl9CisJCXRvdWNoc3RhcnRf
cmVjZWl2ZWQrKzsKKworCQkvLyBUQTogMS4zLjIuMiwgMS4zLjIuNAorCQl0ZXN0KGZ1bmN0aW9u
KCkgeworCQkJYXNzZXJ0X3RydWUoZXYuY2hhbmdlZFRvdWNoZXMubGVuZ3RoID49IDEsICJjaGFu
Z2VkVG91Y2hlcy5sZW5ndGggaXMgYXQgbGVhc3QgMSIpOworCQkJYXNzZXJ0X3RydWUoZXYuY2hh
bmdlZFRvdWNoZXMubGVuZ3RoIDw9IGV2LnRvdWNoZXMubGVuZ3RoLCAiY2hhbmdlZFRvdWNoZXMu
bGVuZ3RoIGlzIHNtYWxsZXIgdGhhbiB0b3VjaGVzLmxlbmd0aCIpOworCQkJY2hlY2tfbGlzdF9z
dWJzZXRfb2ZfdGFyZ2V0bGlzdChldi5jaGFuZ2VkVG91Y2hlcywgImNoYW5nZWRUb3VjaGVzIiwg
ZXYudG91Y2hlcywgInRvdWNoZXMiKTsKKwkJfSwgInRvdWNoc3RhcnQgIyIgKyB0b3VjaHN0YXJ0
X3JlY2VpdmVkICsgIjogY2hhbmdlZFRvdWNoZXMgaXMgYSBzdWJzZXQgb2YgdG91Y2hlcyIpOwor
CisJCS8vIFRBOiAxLjMuMy4yLCAxLjMuMy4zCisJCXRlc3QoZnVuY3Rpb24oKSB7CisJCQlhc3Nl
cnRfdHJ1ZShldi50YXJnZXRUb3VjaGVzLmxlbmd0aCA+PSAxLCAidGFyZ2V0VG91Y2hlcy5sZW5n
dGggaXMgYXQgbGVhc3QgMSIpOworCQkJYXNzZXJ0X3RydWUoZXYudGFyZ2V0VG91Y2hlcy5sZW5n
dGggPD0gZXYudG91Y2hlcy5sZW5ndGgsICJ0YXJnZXRUb3VjaGVzLmxlbmd0aCBpcyBzbWFsbGVy
IHRoYW4gdG91Y2hlcy5sZW5ndGgiKTsKKwkJCWNoZWNrX2xpc3Rfc3Vic2V0X29mX3RhcmdldGxp
c3QoZXYudGFyZ2V0VG91Y2hlcywgInRhcmdldFRvdWNoZXMiLCBldi50b3VjaGVzLCAidG91Y2hl
cyIpOworCQl9LCAidG91Y2hzdGFydCAjIiArIHRvdWNoc3RhcnRfcmVjZWl2ZWQgKyAiOiB0YXJn
ZXRUb3VjaGVzIGlzIGEgc3Vic2V0IG9mIHRvdWNoZXMiKTsKKworCQkvLyBUQTogMS4zLjMuOQor
CQl0ZXN0KGZ1bmN0aW9uKCkgeworCQkJY2hlY2tfdGFyZ2V0cyhldi50YXJnZXRUb3VjaGVzLCBl
di50YXJnZXQpOworCQl9LCAidG91Y2hzdGFydCAjIiArIHRvdWNoc3RhcnRfcmVjZWl2ZWQgKyAi
OiB0YXJnZXRzIG9mIHRhcmdldFRvdWNoZXMgYXJlIGNvcnJlY3QiKTsKKworCQkvLyBUQTogMS4z
LjQuMgorCQl0ZXN0KGZ1bmN0aW9uKCkgeworCQkJYXNzZXJ0X3RydWUoZXYudG91Y2hlcy5sZW5n
dGggPj0gMSwgInRvdWNoZXMubGVuZ3RoIGlzIGF0IGxlYXN0IDEiKTsKKwkJfSwgInRvdWNoc3Rh
cnQgIyIgKyB0b3VjaHN0YXJ0X3JlY2VpdmVkICsgIjogdG91Y2hlcy5sZW5ndGggaXMgdmFsaWQi
KTsKKworCQlpZih0b3VjaHN0YXJ0X3JlY2VpdmVkID09IDEpIHsKKwkJCS8vIFRBOiAxLjMuMy41
LCAxLjMuMy43CisJCQl0ZXN0KGZ1bmN0aW9uKCkgeworCQkJCWFzc2VydF90cnVlKGV2LnRhcmdl
dFRvdWNoZXMubGVuZ3RoIDw9IGV2LmNoYW5nZWRUb3VjaGVzLmxlbmd0aCwgInRhcmdldFRvdWNo
ZXMubGVuZ3RoIGlzIHNtYWxsZXIgdGhhbiBjaGFuZ2VkVG91Y2hlcy5sZW5ndGgiKTsKKwkJCQlj
aGVja19saXN0X3N1YnNldF9vZl90YXJnZXRsaXN0KGV2LnRhcmdldFRvdWNoZXMsICJ0YXJnZXRU
b3VjaGVzIiwgZXYuY2hhbmdlZFRvdWNoZXMsICJjaGFuZ2VkVG91Y2hlcyIpOworCQkJfSwgInRv
dWNoc3RhcnQgIyIgKyB0b3VjaHN0YXJ0X3JlY2VpdmVkICsgIjogdGFyZ2V0VG91Y2hlcyBpcyBh
IHN1YnNldCBvZiBjaGFuZ2VkVG91Y2hlcyIpOworCisJCQkvLyBUQTogMS4zLjQuMworCQkJdGVz
dChmdW5jdGlvbigpIHsKKwkJCQlhc3NlcnRfdHJ1ZShldi50b3VjaGVzLmxlbmd0aD09ZXYuY2hh
bmdlZFRvdWNoZXMubGVuZ3RoLCAidG91Y2hlcyBhbmQgY2hhbmdlZFRvdWNoZXMgaGF2ZSB0aGUg
c2FtZSBsZW5ndGgiKTsKKwkJCX0sICJ0b3VjaHN0YXJ0ICMiICsgdG91Y2hzdGFydF9yZWNlaXZl
ZCArICI6IHRvdWNoZXMgYW5kIGNoYW5nZWRUb3VjaGVzIGhhdmUgdGhlIHNhbWUgbGVuZ3RoIik7
CisJCX0gZWxzZSB7CisJCQkvLyBUQTogMS4zLjMuNgorCQkJdGVzdChmdW5jdGlvbigpIHsKKwkJ
CQl2YXIgZGlmZl9pbl90YXJnZXRUb3VjaGVzID0gZXYudGFyZ2V0VG91Y2hlcy5sZW5ndGggLSAo
bGFzdF90YXJnZXRUb3VjaGVzW2V2LnRhcmdldC5pZF0gPyBsYXN0X3RhcmdldFRvdWNoZXNbZXYu
dGFyZ2V0LmlkXS5sZW5ndGggOiAwKTsKKwkJCQlhc3NlcnRfdHJ1ZShkaWZmX2luX3RhcmdldFRv
dWNoZXMgPiAwLCAidGFyZ2V0VG91Y2hlcy5sZW5ndGggaXMgbGFyZ2VyIHRoYW4gbGFzdCByZWNl
aXZlZCB0YXJnZXRUb3VjaGVzLmxlbmd0aCIpOworCQkJCWFzc2VydF90cnVlKGRpZmZfaW5fdGFy
Z2V0VG91Y2hlcyA8PSBldi5jaGFuZ2VkVG91Y2hlcy5sZW5ndGgsICJjaGFuZ2UgaW4gdGFyZ2V0
VG91Y2hlcy5sZW5ndGggaXMgc21hbGxlciB0aGFuIGNoYW5nZWRUb3VjaGVzLmxlbmd0aCIpOwor
CQkJfSwgInRvdWNoc3RhcnQgIyIgKyB0b3VjaHN0YXJ0X3JlY2VpdmVkICsgIjogY2hhbmdlIGlu
IHRhcmdldFRvdWNoZXMubGVuZ3RoIGlzIHZhbGlkIik7CisKKwkJCS8vIFRBOiAxLjMuMy44CisJ
CQl0ZXN0KGZ1bmN0aW9uKCkgeworCQkJCWFzc2VydF90cnVlKGlzX2F0X2xlYXN0X29uZV9pdGVt
X2luX3RhcmdldGxpc3QoZXYudGFyZ2V0VG91Y2hlcywgZXYuY2hhbmdlZFRvdWNoZXMpLCAiYXQg
bGVhc3Qgb25lIGl0ZW0gb2YgdGFyZ2V0VG91Y2hlcyBpcyBpbiBjaGFuZ2VkVG91Y2hlcyIpOwor
CQkJfSwgInRvdWNoc3RhcnQgIyIgKyB0b3VjaHN0YXJ0X3JlY2VpdmVkICsgIjogYXQgbGVhc3Qg
b25lIHRhcmdldFRvdWNoZXMgaXRlbSBpbiBjaGFuZ2VkVG91Y2hlcyIpOworCisJCQkvLyBUQTog
MS4zLjQuNAorCQkJdGVzdChmdW5jdGlvbigpIHsKKwkJCQl2YXIgZGlmZl9pbl90b3VjaGVzID0g
ZXYudG91Y2hlcy5sZW5ndGggLSBsYXN0X3RvdWNoZXMubGVuZ3RoOworCQkJCWFzc2VydF90cnVl
KGRpZmZfaW5fdG91Y2hlcyA+IDAsICJ0b3VjaGVzLmxlbmd0aCBpcyBsYXJnZXIgdGhhbiBsYXN0
IHJlY2VpdmVkIHRvdWNoZXMubGVuZ3RoIik7CisJCQkJYXNzZXJ0X3RydWUoZGlmZl9pbl90b3Vj
aGVzID09IGV2LmNoYW5nZWRUb3VjaGVzLmxlbmd0aCwgImNoYW5nZSBpbiB0b3VjaGVzLmxlbmd0
aCBlcXVhbHMgY2hhbmdlZFRvdWNoZXMubGVuZ3RoIik7CisJCQl9LCAidG91Y2hzdGFydCAjIiAr
IHRvdWNoc3RhcnRfcmVjZWl2ZWQgKyAiOiBjaGFuZ2UgaW4gdG91Y2hlcy5sZW5ndGggaXMgdmFs
aWQiKTsKKworCQkJLy8gVEE6IDEuMy40LjUKKwkJCXRlc3QoZnVuY3Rpb24oKSB7CisJCQkJY2hl
Y2tfbGlzdF9zdWJzZXRfb2ZfdHdvX3RhcmdldGxpc3RzKGV2LnRvdWNoZXMsICJ0b3VjaGVzIiwg
ZXYuY2hhbmdlZFRvdWNoZXMsICJjaGFuZ2VkVG91Y2hlcyIsIGxhc3RfdG91Y2hlcywgImxhc3Qg
dG91Y2hlcyIpOworCQkJfSwgInRvdWNoc3RhcnQgIyIgKyB0b3VjaHN0YXJ0X3JlY2VpdmVkICsg
IjogdG91Y2hlcyBpcyBzdWJzZXQgb2Yge2NoYW5nZWRUb3VjaGVzLCBsYXN0IHJlY2VpdmVkIHRv
dWNoZXN9Iik7CisJCX0KKworCQkvLyBzYXZlIHN0YXJ0aW5nIGVsZW1lbnQgb2YgZWFjaCBuZXcg
dG91Y2ggcG9pbnQKKwkJZm9yIChpPTA7IGk8ZXYuY2hhbmdlZFRvdWNoZXMubGVuZ3RoOyBpKysp
IHsKKwkJCXN0YXJ0aW5nX2VsZW1lbnRzW2V2LmNoYW5nZWRUb3VjaGVzLml0ZW0oaSkuaWRlbnRp
Zmllcl0gPSBldi5jaGFuZ2VkVG91Y2hlcy5pdGVtKGkpLnRhcmdldDsKKwkJfQorCisJCWxhc3Rf
dG91Y2hlcyA9IGV2LnRvdWNoZXM7CisJCWxhc3RfdGFyZ2V0VG91Y2hlc1tldi50YXJnZXQuaWRd
ID0gZXYudGFyZ2V0VG91Y2hlczsKKwkJbGFzdF9jaGFuZ2VkVG91Y2hlcyA9IHt9OwkvLyBjaGFu
Z2VkVG91Y2hlcyBhcmUgb25seSBzYXZlZCBmb3IgdG91Y2hlbmQgZXZlbnRzCisJfSk7CisKKwlv
bl9ldmVudCh3aW5kb3csICJ0b3VjaG1vdmUiLCBmdW5jdGlvbiBvblRvdWNoTW92ZShldikgewor
CQkvLyBwcm9jZXNzIGV2ZW50IG9ubHkgaWYgaXQncyB0YXJnZXRlZCBhdCB0YXJnZXQwIG9yIHRh
cmdldDEKKwkJaWYoZXYudGFyZ2V0ICE9IHRhcmdldDAgJiYgZXYudGFyZ2V0ICE9IHRhcmdldDEg
KQorCQkJcmV0dXJuOworCisJCWV2LnByZXZlbnREZWZhdWx0KCk7CisKKwkJLy8gVEE6IDEuNi4x
CisJCXRlc3RfdG91Y2htb3ZlLnN0ZXAoZnVuY3Rpb24oKSB7CisJCQlhc3NlcnRfdHJ1ZSh0b3Vj
aHN0YXJ0X3JlY2VpdmVkPjAsICJ0b3VjaG1vdmUgZm9sbG93cyB0b3VjaHN0YXJ0Iik7CisJCQkv
LyBhc3NlcnRfZmFsc2UodG91Y2hlbmRfcmVjZWl2ZWQsICJ0b3VjaG1vdmUgcHJlY2VkZXMgdG91
Y2hlbmQiKTsgLy8gdGhpcyBhcHBsaWVzIHRvIHNjZW5hcmlvIHRlc3RzCisJCX0pOworCQl0ZXN0
X3RvdWNobW92ZS5kb25lKCk7CisKKwkJdG91Y2htb3ZlX3JlY2VpdmVkKys7CisKKwkJLy8gZG8g
dGhlIGRldGFpbGVkIGNoZWNraW5nIG9ubHkgZm9yIGEgZmV3IHRpbWVzCisJCWlmKHRvdWNobW92
ZV9yZWNlaXZlZDw2KSB7CisJCQkvLyBUQTogMS40LjIuMiwgMS40LjIuNAorCQkJdGVzdChmdW5j
dGlvbigpIHsKKwkJCQlhc3NlcnRfdHJ1ZShldi5jaGFuZ2VkVG91Y2hlcy5sZW5ndGggPj0gMSwg
ImNoYW5nZWRUb3VjaGVzLmxlbmd0aCBpcyBhdCBsZWFzdCAxIik7CisJCQkJYXNzZXJ0X3RydWUo
ZXYuY2hhbmdlZFRvdWNoZXMubGVuZ3RoIDw9IGV2LnRvdWNoZXMubGVuZ3RoLCAiY2hhbmdlZFRv
dWNoZXMubGVuZ3RoIGlzIHNtYWxsZXIgdGhhbiB0b3VjaGVzLmxlbmd0aCIpOworCQkJCWNoZWNr
X2xpc3Rfc3Vic2V0X29mX3RhcmdldGxpc3QoZXYuY2hhbmdlZFRvdWNoZXMsICJjaGFuZ2VkVG91
Y2hlcyIsIGV2LnRvdWNoZXMsICJ0b3VjaGVzIik7CisJCQl9LCAidG91Y2htb3ZlICMiICsgdG91
Y2htb3ZlX3JlY2VpdmVkICsgIjogY2hhbmdlZFRvdWNoZXMgaXMgYSBzdWJzZXQgb2YgdG91Y2hl
cyIpOworCisJCQkvLyBUQTogMS40LjMuMiwgMS40LjMuNAorCQkJdGVzdChmdW5jdGlvbigpIHsK
KwkJCQlhc3NlcnRfdHJ1ZShldi50YXJnZXRUb3VjaGVzLmxlbmd0aCA+PSAxLCAidGFyZ2V0VG91
Y2hlcy5sZW5ndGggaXMgYXQgbGVhc3QgMSIpOworCQkJCWFzc2VydF90cnVlKGV2LnRhcmdldFRv
dWNoZXMubGVuZ3RoIDw9IGV2LnRvdWNoZXMubGVuZ3RoLCAidGFyZ2V0VG91Y2hlcy5sZW5ndGgg
aXMgc21hbGxlciB0aGFuIHRvdWNoZXMubGVuZ3RoIik7CisJCQkJY2hlY2tfbGlzdF9zdWJzZXRf
b2ZfdGFyZ2V0bGlzdChldi50YXJnZXRUb3VjaGVzLCAidGFyZ2V0VG91Y2hlcyIsIGV2LnRvdWNo
ZXMsICJ0b3VjaGVzIik7CisJCQl9LCAidG91Y2htb3ZlICMiICsgdG91Y2htb3ZlX3JlY2VpdmVk
ICsgIjogdGFyZ2V0VG91Y2hlcyBpcyBhIHN1YnNldCBvZiB0b3VjaGVzIik7CisKKwkJCS8vIFRB
OiAxLjQuMy42CisJCQl0ZXN0KGZ1bmN0aW9uKCkgeworCQkJCWFzc2VydF90cnVlKGlzX2F0X2xl
YXN0X29uZV9pdGVtX2luX3RhcmdldGxpc3QoZXYudGFyZ2V0VG91Y2hlcywgZXYuY2hhbmdlZFRv
dWNoZXMpLCAiYXQgbGVhc3Qgb25lIGl0ZW0gb2YgdGFyZ2V0VG91Y2hlcyBpcyBpbiBjaGFuZ2Vk
VG91Y2hlcyIpOworCQkJfSwgInRvdWNobW92ZSAjIiArIHRvdWNobW92ZV9yZWNlaXZlZCArICI6
IGF0IGxlYXN0IG9uZSB0YXJnZXRUb3VjaGVzIGl0ZW0gaW4gY2hhbmdlZFRvdWNoZXMiKTsKKwor
CQkJLy8gVEE6IDEuNC4zLjgKKwkJCXRlc3QoZnVuY3Rpb24oKSB7CisJCQkJY2hlY2tfdGFyZ2V0
cyhldi50YXJnZXRUb3VjaGVzLCBldi50YXJnZXQpOworCQkJfSwgInRvdWNobW92ZSAjIiArIHRv
dWNobW92ZV9yZWNlaXZlZCArICI6IHRhcmdldHMgb2YgdGFyZ2V0VG91Y2hlcyBhcmUgY29ycmVj
dCIpOworCisJCQkvLyBUQTogMS40LjQuMgorCQkJdGVzdChmdW5jdGlvbigpIHsKKwkJCQlhc3Nl
cnRfdHJ1ZShldi50b3VjaGVzLmxlbmd0aD09bGFzdF90b3VjaGVzLmxlbmd0aCwgImxlbmd0aCBv
ZiB0b3VjaGVzIGlzIHNhbWUgYXMgbGVuZ3RoIG9mIGxhc3QgcmVjZWl2ZWQgdG91Y2hlcyIpOwor
CQkJCWNoZWNrX2xpc3Rfc3Vic2V0X29mX3RhcmdldGxpc3QoZXYudG91Y2hlcywgInRvdWNoZXMi
LCBsYXN0X3RvdWNoZXMsICJsYXN0IHJlY2VpdmVkIHRvdWNoZXMiKTsKKwkJCX0sICJ0b3VjaG1v
dmUgIyIgKyB0b3VjaG1vdmVfcmVjZWl2ZWQgKyAiOiB0b3VjaGVzIG11c3QgYmUgc2FtZSBhcyBs
YXN0IHJlY2VpdmVkIHRvdWNoZXMiKTsKKworCQkJLy8gVEE6IDEuNi4zCisJCQljaGVja19zdGFy
dGluZ19lbGVtZW50cyhldi5jaGFuZ2VkVG91Y2hlcyk7CisJCX0KKworCQlsYXN0X3RvdWNoZXMg
PSBldi50b3VjaGVzOworCQlsYXN0X3RhcmdldFRvdWNoZXNbZXYudGFyZ2V0LmlkXSA9IGV2LnRh
cmdldFRvdWNoZXM7CisJCWxhc3RfY2hhbmdlZFRvdWNoZXMgPSB7fTsJLy8gY2hhbmdlZFRvdWNo
ZXMgYXJlIG9ubHkgc2F2ZWQgZm9yIHRvdWNoZW5kIGV2ZW50cworCX0pOworCisJb25fZXZlbnQo
d2luZG93LCAidG91Y2hlbmQiLCBmdW5jdGlvbiBvblRvdWNoRW5kKGV2KSB7CisJCS8vIHByb2Nl
c3MgZXZlbnQgb25seSBpZiBpdCdzIHRhcmdldGVkIGF0IHRhcmdldDAgb3IgdGFyZ2V0MQorCQlp
Zihldi50YXJnZXQgIT0gdGFyZ2V0MCAmJiBldi50YXJnZXQgIT0gdGFyZ2V0MSApCisJCQlyZXR1
cm47CisKKwkJdGVzdF90b3VjaGVuZC5zdGVwKGZ1bmN0aW9uKCkgeworCQkJYXNzZXJ0X3RydWUo
dG91Y2hzdGFydF9yZWNlaXZlZD4wLCAidG91Y2hlbmQgZm9sbG93cyB0b3VjaHN0YXJ0Iik7CisJ
CX0pOworCQl0ZXN0X3RvdWNoZW5kLmRvbmUoKTsKKworCQl0b3VjaGVuZF9yZWNlaXZlZCsrOwor
CisJCWRlYnVnX3ByaW50KCJ0b3VjaGVuZCAjIiArIHRvdWNoZW5kX3JlY2VpdmVkICsgIjo8YnI+
Iik7CisJCWRlYnVnX3ByaW50KCJjaGFuZ2VkVG91Y2hlcy5sZW5ndGg9IiArIGV2LmNoYW5nZWRU
b3VjaGVzLmxlbmd0aCArICI8YnI+Iik7CisJCWRlYnVnX3ByaW50KCJ0YXJnZXRUb3VjaGVzLmxl
bmd0aD0iICsgZXYudGFyZ2V0VG91Y2hlcy5sZW5ndGggKyAiPGJyPiIpOworCQlkZWJ1Z19wcmlu
dCgidG91Y2hlcy5sZW5ndGg9IiArIGV2LnRvdWNoZXMubGVuZ3RoICsgIjxicj4iKTsKKwkJZm9y
KGk9MDsgaTxldi5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg7IGkrKykKKwkJCWRlYnVnX3ByaW50KCJj
aGFuZ2VkVG91Y2hlcy5pdGVtKCIgKyBpICsgIikudGFyZ2V0PSIgKyBldi5jaGFuZ2VkVG91Y2hl
cy5pdGVtKGkpLnRhcmdldC5pZCArICI8YnI+Iik7CisKKwkJLy8gVEE6IDEuNS4yLjIKKwkJdGVz
dChmdW5jdGlvbigpIHsKKwkJCWFzc2VydF90cnVlKGV2LmNoYW5nZWRUb3VjaGVzLmxlbmd0aCA+
PSAxLCAiY2hhbmdlZFRvdWNoZXMubGVuZ3RoIGlzIGF0IGxlYXN0IDEiKTsKKwkJfSwgInRvdWNo
ZW5kICMiICsgdG91Y2hlbmRfcmVjZWl2ZWQgKyAiOiBsZW5ndGggb2YgY2hhbmdlZFRvdWNoZXMg
aXMgdmFsaWQiKTsKKworCQkvLyBUQTogMS41LjIuMworCQl0ZXN0KGZ1bmN0aW9uKCkgeworCQkJ
Y2hlY2tfbGlzdF9zdWJzZXRfb2ZfdGFyZ2V0bGlzdChldi5jaGFuZ2VkVG91Y2hlcywgImNoYW5n
ZWRUb3VjaGVzIiwgbGFzdF90b3VjaGVzLCAibGFzdCByZWNlaXZlZCB0b3VjaGVzIik7CisJCX0s
ICJ0b3VjaGVuZCAjIiArIHRvdWNoZW5kX3JlY2VpdmVkICsgIjogY2hhbmdlZFRvdWNoZXMgaXMg
YSBzdWJzZXQgb2YgbGFzdCByZWNlaXZlZCB0b3VjaGVzIik7CisKKwkJLy8gVEE6IDEuNS4yLjQs
IDEuNS4yLjUKKwkJdGVzdChmdW5jdGlvbigpIHsKKwkJCWNoZWNrX25vX2l0ZW1faW5fdGFyZ2V0
bGlzdChldi5jaGFuZ2VkVG91Y2hlcywgImNoYW5nZWRUb3VjaGVzIiwgZXYudG91Y2hlcywgInRv
dWNoZXMiKTsKKwkJCWNoZWNrX25vX2l0ZW1faW5fdGFyZ2V0bGlzdChldi5jaGFuZ2VkVG91Y2hl
cywgImNoYW5nZWRUb3VjaGVzIiwgZXYudGFyZ2V0VG91Y2hlcywgInRhcmdldFRvdWNoZXMiKTsK
KwkJfSwgInRvdWNoZW5kICMiICsgdG91Y2hlbmRfcmVjZWl2ZWQgKyAiOiBubyBpdGVtIGluIGNo
YW5nZWRUb3VjaGVzIGFyZSBpbiB0b3VjaGVzIG9yIHRhcmdldFRvdWNoZXMiKTsKKworCQkvLyBU
QTogMS41LjIuNgorCQl0ZXN0KGZ1bmN0aW9uKCkgeworCQkJdmFyIGZvdW5kPWZhbHNlOworCQkJ
Zm9yIChpPTA7IGk8ZXYuY2hhbmdlZFRvdWNoZXMubGVuZ3RoOyBpKyspCisJCQkJaWYgKGV2LmNo
YW5nZWRUb3VjaGVzLml0ZW0oaSkudGFyZ2V0ID09IGV2LnRhcmdldCkKKwkJCQkJZm91bmQ9dHJ1
ZTsKKwkJCWFzc2VydF90cnVlKGZvdW5kLCAiYXQgbGVhc3Qgb25lIGl0ZW0gaW4gY2hhbmdlZFRv
dWNoZXMgaGFzIG1hdGNoaW5nIHRhcmdldCIpOworCQl9LCAidG91Y2hlbmQgIyIgKyB0b3VjaGVu
ZF9yZWNlaXZlZCArICI6IGF0IGxlYXN0IG9uZSBpdGVtIGluIGNoYW5nZWRUb3VjaGVzIHRhcmdl
dGVkIGF0IHRoaXMgZWxlbWVudCIpOworCisJCS8vIFRBOiAxLjUuMy4yLCAxLjUuMy4zCisJCXRl
c3QoZnVuY3Rpb24oKSB7CisJCQlhc3NlcnRfdHJ1ZShldi50YXJnZXRUb3VjaGVzLmxlbmd0aCA+
PSAwLCAidGFyZ2V0VG91Y2hlcy5sZW5ndGggaXMgbm9uLW5lZ2F0aXZlIik7CisJCQlhc3NlcnRf
dHJ1ZShldi50YXJnZXRUb3VjaGVzLmxlbmd0aCA8PSBldi50b3VjaGVzLmxlbmd0aCwgInRhcmdl
dFRvdWNoZXMubGVuZ3RoIGlzIHNtYWxsZXIgdGhhbiB0b3VjaGVzLmxlbmd0aCIpOworCQkJY2hl
Y2tfbGlzdF9zdWJzZXRfb2ZfdGFyZ2V0bGlzdChldi50YXJnZXRUb3VjaGVzLCAidGFyZ2V0VG91
Y2hlcyIsIGV2LnRvdWNoZXMsICJ0b3VjaGVzIik7CisJCX0sICJ0b3VjaGVuZCAjIiArIHRvdWNo
ZW5kX3JlY2VpdmVkICsgIjogdGFyZ2V0VG91Y2hlcyBpcyBhIHN1YnNldCBvZiB0b3VjaGVzIik7
CisKKwkJLy8gVEE6IDEuNS4zLjUgKG5ldykKKwkJdGVzdChmdW5jdGlvbigpIHsKKwkJCWNoZWNr
X3RhcmdldHMoZXYudGFyZ2V0VG91Y2hlcywgZXYudGFyZ2V0KTsKKwkJfSwgInRvdWNoZW5kICMi
ICsgdG91Y2hlbmRfcmVjZWl2ZWQgKyAiOiB0YXJnZXRzIG9mIHRhcmdldFRvdWNoZXMgYXJlIGNv
cnJlY3QiKTsKKworCQkvLyBJbiBzb21lIGNhc2VzLCB3aGVuIG11bHRpcGxlIHRvdWNoIHBvaW50
cyBhcmUgcmVsZWFzZWQgc2ltdWx0YW5lb3VzbHkKKwkJLy8gdGhlIFVBIHdvdWxkIGRpc3BhdGNo
IHRoZSAic2FtZSIgdG91Y2hlbmQgZXZlbnQgKHNhbWUgY2hhbmdlZFRvdWNoZXMsIHNhbWUgdG91
Y2hlcywgYnV0IHBvc3NpYmx5IGRpZmZlcmVudCB0YXJnZXRUb3VjaGVzKQorCQkvLyB0byBlYWNo
IG9mIHRoZSBlbGVtZW50cyB0aGF0IGFyZSBzdGFydGluZyBlbGVtZW50cyBvZiB0aGUgcmVsZWFz
ZWQgdG91Y2ggcG9pbnRzLgorCQkvLyBpbiB0aGVzZSBzaXR1YXRpb25zLCB0aGUgc3Vic2VxdWVu
dCBldmVudHMgYXJlIGV4ZW1wdCBmcm9tIFRBIDEuNS4zLjQgYW5kIDEuNS40LjIKKwkJdmFyIHNh
bWVfZXZlbnRfYXNfbGFzdCA9IGZhbHNlOworCQlpZiAobGFzdF9jaGFuZ2VkVG91Y2hlcyAmJiBs
YXN0X2NoYW5nZWRUb3VjaGVzLmxlbmd0aD09ZXYuY2hhbmdlZFRvdWNoZXMubGVuZ3RoKSB7CisJ
CQlzYW1lX2V2ZW50X2FzX2xhc3QgPSB0cnVlOyAvLyBhc3N1bWUgdHJ1ZSB1bnRpbCBwcm92ZW4g
b3RoZXJ3aXNlCisJCQlmb3IgKGk9MDsgaTxsYXN0X2NoYW5nZWRUb3VjaGVzLmxlbmd0aDsgaSsr
KSB7CisJCQkJdmFyIG1hdGNoID0gZmFsc2U7CisJCQkJZm9yIChqPTA7IGo8ZXYuY2hhbmdlZFRv
dWNoZXMubGVuZ3RoOyBqKyspCisJCQkJCWlmIChsYXN0X2NoYW5nZWRUb3VjaGVzLml0ZW0oaSkg
PT0gZXYuY2hhbmdlZFRvdWNoZXMuaXRlbShqKSkgeworCQkJCQkJbWF0Y2ggPSB0cnVlOworCQkJ
CQkJYnJlYWs7CisJCQkJCX0KKwkJCQlpZiAoIW1hdGNoKQorCQkJCQlzYW1lX2V2ZW50X2FzX2xh
c3QgPSBmYWxzZTsKKwkJCX0KKwkJfQorCisJCWlmICghc2FtZV9ldmVudF9hc19sYXN0KSB7CisJ
CQkvLyBUQTogMS41LjMuNAorCQkJLy8gR2V0dGluZyBzZW1pLXJhbmRvbSBmYWlsdXJlcyBvbiB0
aGlzIGFuZCAxLjUuNC4yLgorCQkJLy8gU2VlIDEuNS40LjIuIE5vdCBzdXJlIGlmIGl0J3MgdGhl
IHNhbWUgaXNzdWUuLi4KKwkJCXRlc3QoZnVuY3Rpb24oKSB7CisJCQkJYXNzZXJ0X3RydWUobGFz
dF90YXJnZXRUb3VjaGVzW2V2LnRhcmdldC5pZF0ubGVuZ3RoID4gMCwgImxhc3QgcmVjZWl2ZWQg
dGFyZ2V0VG91Y2hlcy5sZW5ndGggaXMgbm90IHplcm8iKTsKKwkJCQl2YXIgZGlmZl9pbl90YXJn
ZXRUb3VjaGVzID0gbGFzdF90YXJnZXRUb3VjaGVzW2V2LnRhcmdldC5pZF0ubGVuZ3RoIC0gZXYu
dGFyZ2V0VG91Y2hlcy5sZW5ndGg7CisJCQkJZGVidWdfcHJpbnQoImRpZmZfaW5fdGFyZ2V0VG91
Y2hlcz0iICsgZGlmZl9pbl90YXJnZXRUb3VjaGVzICsgIjxicj4iKTsKKwkJCQlhc3NlcnRfdHJ1
ZShkaWZmX2luX3RhcmdldFRvdWNoZXMgPiAwLCAidGFyZ2V0VG91Y2hlcy5sZW5ndGggaXMgc21h
bGxlciB0aGFuIGxhc3QgcmVjZWl2ZWQgdGFyZ2V0VG91Y2hlcy5sZW5ndGgiKTsKKwkJCQlhc3Nl
cnRfdHJ1ZShkaWZmX2luX3RhcmdldFRvdWNoZXMgPD0gZXYuY2hhbmdlZFRvdWNoZXMubGVuZ3Ro
LCAiY2hhbmdlIGluIHRhcmdldFRvdWNoZXMubGVuZ3RoIGlzIHNtYWxsZXIgdGhhbiBjaGFuZ2Vk
VG91Y2hlcy5sZW5ndGgiKTsKKwkJCX0sICJ0b3VjaGVuZCAjIiArIHRvdWNoZW5kX3JlY2VpdmVk
ICsgIjogY2hhbmdlIGluIHRhcmdldFRvdWNoZXMubGVuZ3RoIGlzIHZhbGlkIik7CisKKwkJCS8v
IFRBOiAxLjUuNC4yCisJCQkvLyBHZXR0aW5nIHNlbWktcmFuZG9tIGZhaWx1cmVzIG9uIHRoaXMg
YW5kIDEuNS4zLjQuCisJCQkvLyBJdCBsb29rcyBsaWtlIGlmIGZpbmdlcnMgYXJlIGxpZnRlZCBz
aW11bHRhbmVvdXNseSwgdGhlICJzYW1lIiB0b3VjaGVuZCBldmVudCBjYW4gYmUgZGlzcGF0Y2hl
ZCB0byB0d28gdGFyZ2V0IGVsZW1lbnRzCisJCQkvLyBidXQgYWRhcHRlZCB0byB0aGUgZWxlbWVu
dCAoc2FtZSB0b3VjaGVzLCBjaGFuZ2VkVG91Y2hlcyBidXQgZGlmZmVyZW50IHRhcmdldFRvdWNo
ZXMpLgorCQkJLy8gV2hlbiBvbmUgZXZlbnQgaXMgcHJvY2Vzc2VkIGFmdGVyIGFub3RoZXIsIGV2
LnRvdWNoZXMgd291bGQgZW5kIHVwIGJlaW5nIGlkZW50aWNhbCB0byBsYXN0X3RvdWNoZXMsIGxl
YWRpbmcgIHRvIGZhaWx1cmUuCisJCQkvLyBRdWVzdGlvbiBpcyB3aHkgZG9uZSgpIGRvZXMgbm90
IHN0b3AgdGhlIHByb2Nlc3Npbmcgb2YgdGhlIGxhdHRlciBldmVudC4KKwkJCXRlc3QoZnVuY3Rp
b24oKSB7CisJCQkJYXNzZXJ0X3RydWUobGFzdF90b3VjaGVzLmxlbmd0aCA+IDAsICJsYXN0IHJl
Y2VpdmVkIHRvdWNoZXMubGVuZ3RoIGlzIG5vdCB6ZXJvIik7CisJCQkJdmFyIGRpZmZfaW5fdG91
Y2hlcyA9IGxhc3RfdG91Y2hlcy5sZW5ndGggLSBldi50b3VjaGVzLmxlbmd0aDsKKwkJCQlkZWJ1
Z19wcmludCgiZGlmZl9pbl90b3VjaGVzPSIgKyBkaWZmX2luX3RvdWNoZXMgKyAiPGJyPiIpOwor
CQkJCWFzc2VydF90cnVlKGRpZmZfaW5fdG91Y2hlcyA+IDAsICJ0b3VjaGVzLmxlbmd0aCBpcyBz
bWFsbGVyIHRoYW4gbGFzdCByZWNlaXZlZCB0b3VjaGVzLmxlbmd0aCIpOworCQkJCWFzc2VydF9l
cXVhbHMoZGlmZl9pbl90b3VjaGVzLCBldi5jaGFuZ2VkVG91Y2hlcy5sZW5ndGgsICJjaGFuZ2Ug
aW4gdG91Y2hlcy5sZW5ndGggZXF1YWxzIGNoYW5nZWRUb3VjaGVzLmxlbmd0aCIpOworCQkJfSwg
InRvdWNoZW5kICMiICsgdG91Y2hlbmRfcmVjZWl2ZWQgKyAiOiBjaGFuZ2UgaW4gdG91Y2hlcy5s
ZW5ndGggaXMgdmFsaWQiKTsKKwkJfQorCisJCS8vIFRBOiAxLjYuNAorCQlkZWJ1Z19wcmludCgi
dG91Y2hlbmQgIyIgKyB0b3VjaGVuZF9yZWNlaXZlZCArICI6IFRBIDEuNi40PGJyPiIpOworCQl0
ZXN0KGZ1bmN0aW9uKCkgeworCQkJY2hlY2tfc3RhcnRpbmdfZWxlbWVudHMoZXYuY2hhbmdlZFRv
dWNoZXMpOworCQl9LCAidG91Y2hlbmQgIyIgKyB0b3VjaGVuZF9yZWNlaXZlZCArICI6IGV2ZW50
IGRpc3BhdGNoZWQgdG8gY29ycmVjdCBlbGVtZW50PGJyPiIpOworCisJCWRlYnVnX3ByaW50KCJ0
b3VjaGVuZCAjIiArIHRvdWNoZW5kX3JlY2VpdmVkICsgIjogc2F2aW5nIHRvdWNoIGxpc3RzPGJy
PiIpOworCisJCWxhc3RfdG91Y2hlcyA9IGV2LnRvdWNoZXM7CisJCWxhc3RfdGFyZ2V0VG91Y2hl
c1tldi50YXJnZXQuaWRdID0gZXYudGFyZ2V0VG91Y2hlczsKKwkJbGFzdF9jaGFuZ2VkVG91Y2hl
cyA9IGV2LmNoYW5nZWRUb3VjaGVzOworCisJCWRlYnVnX3ByaW50KCJ0b3VjaGVuZCAjIiArIHRv
dWNoZW5kX3JlY2VpdmVkICsgIjogZG9uZTxicj4iKTsKKwkJaWYoZXYudG91Y2hlcy5sZW5ndGg9
PTApCisJCQlkb25lKCk7CisJfSk7CisKKwlvbl9ldmVudCh0YXJnZXQwLCAibW91c2Vkb3duIiwg
ZnVuY3Rpb24gb25Nb3VzZURvd24oZXYpIHsKKwkJdGVzdF9tb3VzZWRvd24uc3RlcChmdW5jdGlv
bigpIHsKKwkJCWFzc2VydF90cnVlKHRvdWNoc3RhcnRfcmVjZWl2ZWQsCisJCQkJIlRoZSB0b3Vj
aHN0YXJ0IGV2ZW50IG11c3QgYmUgZGlzcGF0Y2hlZCBiZWZvcmUgYW55IG1vdXNlICIgKworCQkJ
CSJldmVudHMuIChJZiB0aGlzIGZhaWxzLCBpdCBtaWdodCBtZWFuIHRoYXQgdGhlIHVzZXIgYWdl
bnQgZG9lcyAiICsKKwkJCQkibm90IGltcGxlbWVudCBXM0MgdG91Y2ggZXZlbnRzIGF0IGFsbC4p
IgorCQkJKTsKKwkJfSk7CisJCXRlc3RfbW91c2Vkb3duLmRvbmUoKTsKKworCQlpZiAoIXRvdWNo
c3RhcnRfcmVjZWl2ZWQpIHsKKwkJCS8vIEFib3J0IHRoZSB0ZXN0cy4gIElmIHRvdWNoIGV2ZW50
cyBhcmUgbm90IHN1cHBvcnRlZCwgdGhlbiBtb3N0IG9mCisJCQkvLyB0aGUgb3RoZXIgZXZlbnQg
aGFuZGxlcnMgd2lsbCBuZXZlciBiZSBjYWxsZWQsIGFuZCB0aGUgdGVzdCB3aWxsCisJCQkvLyB0
aW1lIG91dCB3aXRoIG1pc2xlYWRpbmcgcmVzdWx0cy4KKwkJCWRvbmUoKTsKKwkJfQorCX0pOwor
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b3VjaC1ldmVudHMvdG91Y2gtZ2xvYmFsZXZlbnRoYW5kbGVyLWludGVyZmFjZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMv
dG91Y2gtZ2xvYmFsZXZlbnRoYW5kbGVyLWludGVyZmFjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyMTQz
OWQxZDgwNjZmZjcxY2U1YTYzNWFlMjAyNGVhZjc2YjdlOTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3RvdWNoLWV2ZW50cy90
b3VjaC1nbG9iYWxldmVudGhhbmRsZXItaW50ZXJmYWNlLmh0bWwKQEAgLTAsMCArMSwzNSBAQAor
PCFET0NUWVBFIEhUTUw+Cis8dGl0bGU+R2xvYmFsRXZlbnRIYW5kbGVycyBUb3VjaCBJbnRlcmZh
Y2UgVGVzdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIHZhciB0b3VjaF9ldmVudF9saXN0ID0gWydvbnRvdWNoc3RhcnQnLCAnb250b3Vj
aG1vdmUnLCAnb250b3VjaGVuZCcsICdvbnRvdWNoY2FuY2VsJ107CisgICAgdmFyIGdsb2JhbF9l
dmVudF9oYW5kbGVycyA9IFt3aW5kb3csIEhUTUxFbGVtZW50LnByb3RvdHlwZSwgU1ZHRWxlbWVu
dC5wcm90b3R5cGUsIERvY3VtZW50LnByb3RvdHlwZV07CisgICAgZm9yICh2YXIgaSBpbiB0b3Vj
aF9ldmVudF9saXN0KSB7CisgICAgICAgIGZvciAodmFyIGogaW4gZ2xvYmFsX2V2ZW50X2hhbmRs
ZXJzKSB7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZSh0b3VjaF9ldmVudF9saXN0W2ldIGluIGds
b2JhbF9ldmVudF9oYW5kbGVyc1tqXSwgIlRvdWNoIGV2ZW50ICIgKyB0b3VjaF9ldmVudF9saXN0
W2ldICsgIiBpbiAiICsgZ2xvYmFsX2V2ZW50X2hhbmRsZXJzW2pdLmNvbnN0cnVjdG9yLm5hbWUp
OworICAgICAgICB9CisgICAgfQorfSwgIlRvdWNoIGV2ZW50cyBpbiBHbG9iYWxFdmVudEhhbmRs
ZXJzIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgdmFyIHRvdWNoX2V2ZW50X2xpc3QgPSBb
J29udG91Y2hzdGFydCcsICdvbnRvdWNobW92ZScsICdvbnRvdWNoZW5kJywgJ29udG91Y2hjYW5j
ZWwnXTsKKyAgICB2YXIgZ2xvYmFsX2V2ZW50X2hhbmRsZXJzID0gW3dpbmRvdywgSFRNTEVsZW1l
bnQucHJvdG90eXBlLCBTVkdFbGVtZW50LnByb3RvdHlwZSwgRG9jdW1lbnQucHJvdG90eXBlXTsK
KyAgICBmb3IgKHZhciBpIGluIHRvdWNoX2V2ZW50X2xpc3QpIHsKKyAgICAgICAgZm9yICh2YXIg
aiBpbiBnbG9iYWxfZXZlbnRfaGFuZGxlcnMpIHsKKyAgICAgICAgICAgIGFzc2VydF90cnVlKGds
b2JhbF9ldmVudF9oYW5kbGVyc1tqXS5oYXNPd25Qcm9wZXJ0eSh0b3VjaF9ldmVudF9saXN0W2ld
KSwgIkdsb2JhbEV2ZW50SGFuZGxlciAiICsgZ2xvYmFsX2V2ZW50X2hhbmRsZXJzW2pdLmNvbnN0
cnVjdG9yLm5hbWUgKyAiIGhhc093blByb3BlcnR5ICIgKyB0b3VjaF9ldmVudF9saXN0W2ldKTsK
KyAgICAgICAgfQorICAgIH0KK30sICJUb3VjaCBldmVudHMgYXJlIEdsb2JhbEV2ZW50SGFuZGxl
cnMnIG93biBwcm9wZXJ0eSIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIHZhciB0b3VjaF9l
dmVudF9saXN0ID0gWydvbnRvdWNoc3RhcnQnLCAnb250b3VjaG1vdmUnLCAnb250b3VjaGVuZCcs
ICdvbnRvdWNoY2FuY2VsJ107CisgICAgdmFyIG5vbl9nbG9iYWxfZXZlbnRfaGFuZGxlcnMgPSBb
RWxlbWVudC5wcm90b3R5cGVdOworICAgIGZvciAodmFyIGkgaW4gdG91Y2hfZXZlbnRfbGlzdCkg
eworICAgICAgICBmb3IgKHZhciBqIGluIG5vbl9nbG9iYWxfZXZlbnRfaGFuZGxlcnMpIHsKKyAg
ICAgICAgICAgIGFzc2VydF9mYWxzZSh0b3VjaF9ldmVudF9saXN0W2ldIGluIG5vbl9nbG9iYWxf
ZXZlbnRfaGFuZGxlcnNbal0sICJUb3VjaCBldmVudCAiICsgdG91Y2hfZXZlbnRfbGlzdFtpXSAr
ICIgbm90IGluICIgKyBub25fZ2xvYmFsX2V2ZW50X2hhbmRsZXJzW2pdLmNvbnN0cnVjdG9yLm5h
bWUpOworICAgICAgICB9CisgICAgfQorfSwgIlRvdWNoIGV2ZW50cyBub3QgaW4gRWxlbWVudC5w
cm90b3R5cGUiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMvdG91Y2gtc3VwcG9ydC5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL3Rv
dWNoLXN1cHBvcnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjRiYzA0NjdkYjhhMjE1ZmE4NWZiN2UxYzQ4M2Iz
ZDk5YTQ1OGVmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL3RvdWNoLXN1cHBvcnQuanMKQEAgLTAsMCAr
MSwxMDYgQEAKKy8vIENoZWNrIGEgVG91Y2ggb2JqZWN0J3MgYXR0cmlidXRlcyBmb3IgZXhpc3Rl
bmNlIGFuZCBjb3JyZWN0IHR5cGUKKy8vIFRBOiAxLjEuMiwgMS4xLjMKK2Z1bmN0aW9uIGNoZWNr
X1RvdWNoX29iamVjdCh0KSB7CisgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwodCksICJbb2JqZWN0IFRvdWNoXSIsICJ0b3VjaCBpcyBvZiB0eXBlIFRvdWNo
Iik7CisgICAgWworICAgICAgICBbImxvbmciLCAiaWRlbnRpZmllciJdLAorICAgICAgICBbIkV2
ZW50VGFyZ2V0IiwgInRhcmdldCJdLAorICAgICAgICBbImxvbmciLCAic2NyZWVuWCJdLAorICAg
ICAgICBbImxvbmciLCAic2NyZWVuWSJdLAorICAgICAgICBbImxvbmciLCAiY2xpZW50WCJdLAor
ICAgICAgICBbImxvbmciLCAiY2xpZW50WSJdLAorICAgICAgICBbImxvbmciLCAicGFnZVgiXSwK
KyAgICAgICAgWyJsb25nIiwgInBhZ2VZIl0sCisgICAgICAgIFsibG9uZyIsICJyYWRpdXNYIl0s
CisgICAgICAgIFsibG9uZyIsICJyYWRpdXNZIl0sCisgICAgICAgIFsibG9uZyIsICJyb3RhdGlv
bkFuZ2xlIl0sCisgICAgICAgIFsibG9uZyIsICJmb3JjZSJdLAorICAgIF0uZm9yRWFjaChmdW5j
dGlvbihhdHRyKSB7CisgICAgICAgIHZhciB0eXBlID0gYXR0clswXTsKKyAgICAgICAgdmFyIG5h
bWUgPSBhdHRyWzFdOworCisgICAgICAgIC8vIGV4aXN0ZW5jZSBjaGVjaworICAgICAgICBhc3Nl
cnRfdHJ1ZShuYW1lIGluIHQsIG5hbWUgKyAiIGF0dHJpYnV0ZSBpbiBUb3VjaCBvYmplY3QiKTsK
KworICAgICAgICAvLyB0eXBlIGNoZWNrCisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAg
ICAgICAgY2FzZSAibG9uZyI6CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
dFtuYW1lXSwgIm51bWJlciIsIG5hbWUgKyAiIGF0dHJpYnV0ZSBvZiB0eXBlIGxvbmciKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgIkV2ZW50VGFyZ2V0IjoKKyAg
ICAgICAgICAgICAgICAvLyBBbiBldmVudCB0YXJnZXQgaXMgc29tZSB0eXBlIG9mIEVsZW1lbnQK
KyAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZSh0W25hbWVdIGluc3RhbmNlb2YgRWxlbWVudCwg
IkV2ZW50VGFyZ2V0IG11c3QgYmUgYW4gRWxlbWVudC4iKTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KKyAgICB9KTsKK30KKworLy8gQ2hlY2sgYSBUb3VjaExpc3Qgb2JqZWN0J3MgYXR0cmlidXRl
cyBhbmQgbWV0aG9kcyBmb3IgZXhpc3RlbmNlIGFuZCBwcm9wZXIgdHlwZQorLy8gQWxzbyBtYWtl
IHN1cmUgYWxsIG9mIHRoZSBtZW1iZXJzIG9mIHRoZSBsaXN0IGFyZSBUb3VjaCBvYmplY3RzCisv
LyBUQTogMS4yLjEsIDEuMi4yLCAxLjIuNSwgMS4yLjYKK2Z1bmN0aW9uIGNoZWNrX1RvdWNoTGlz
dF9vYmplY3QodGwpIHsKKyAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbCh0bCksICJbb2JqZWN0IFRvdWNoTGlzdF0iLCAidG91Y2ggbGlzdCBpcyBvZiB0eXBl
IFRvdWNoTGlzdCIpOworICAgIFsKKyAgICAgICAgWyJ1bnNpZ25lZCBsb25nIiwgImxlbmd0aCJd
LAorICAgICAgICBbImZ1bmN0aW9uIiwgIml0ZW0iXSwKKyAgICBdLmZvckVhY2goZnVuY3Rpb24o
YXR0cikgeworICAgICAgICB2YXIgdHlwZSA9IGF0dHJbMF07CisgICAgICAgIHZhciBuYW1lID0g
YXR0clsxXTsKKworICAgICAgICAvLyBleGlzdGVuY2UgY2hlY2sKKyAgICAgICAgYXNzZXJ0X3Ry
dWUobmFtZSBpbiB0bCwgbmFtZSArICIgYXR0cmlidXRlIGluIFRvdWNoTGlzdCIpOworCisgICAg
ICAgIC8vIHR5cGUgY2hlY2sKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgICAgICBj
YXNlICJ1bnNpZ25lZCBsb25nIjoKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVv
ZiB0bFtuYW1lXSwgIm51bWJlciIsIG5hbWUgKyAiIGF0dHJpYnV0ZSBvZiB0eXBlIGxvbmciKTsK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgImZ1bmN0aW9uIjoKKyAg
ICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiB0bFtuYW1lXSwgImZ1bmN0aW9uIiwg
bmFtZSArICIgYXR0cmlidXRlIG9mIHR5cGUgZnVuY3Rpb24iKTsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICB9KTsKKyAgICAvLyBFYWNoIG1lbWJlciBvZiB0bCBzaG91bGQgYmUgYSBwcm9w
ZXIgVG91Y2ggb2JqZWN0CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0bC5sZW5ndGg7IGkrKykg
eworICAgICAgICBjaGVja19Ub3VjaF9vYmplY3QodGwuaXRlbShpKSk7CisgICAgfQorICAgIC8v
IFRvdWNoTGlzdC5pdGVtKHgpIHNob3VsZCByZXR1cm4gbnVsbCBpZiB4IGlzID49IFRvdWNoTGlz
dC5sZW5ndGgKKyAgICB2YXIgdCA9IHRsLml0ZW0odGwubGVuZ3RoKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHQsIG51bGwsICJUb3VjaExpc3QuaXRlbSByZXR1cm5zIG51bGwgaWYgdGhlIGluZGV4IGlz
ID49IHRoZSBsZW5ndGggb2YgdGhlIGxpc3QiKTsKK30KKworLy8gQ2hlY2sgYSBUb3VjaEV2ZW50
IGV2ZW50J3MgYXR0cmlidXRlcyBmb3IgZXhpc3RlbmNlIGFuZCBwcm9wZXIgdHlwZQorLy8gQWxz
byBjaGVjayB0aGF0IGVhY2ggb2YgdGhlIGV2ZW50J3MgVG91Y2hMaXN0IG9iamVjdHMgYXJlIHZh
bGlkCisvLyBUQTogMS57Myw0LDV9LjEuMSwgMS57Myw0LDV9LjEuMgorZnVuY3Rpb24gY2hlY2tf
VG91Y2hFdmVudChldikgeworICAgIGFzc2VydF90cnVlKGV2IGluc3RhbmNlb2YgVG91Y2hFdmVu
dCwgZXYudHlwZSArICIgZXZlbnQgaXMgYSBUb3VjaEV2ZW50IGV2ZW50Iik7CisgICAgWworICAg
ICAgICBbIlRvdWNoTGlzdCIsICJ0b3VjaGVzIl0sCisgICAgICAgIFsiVG91Y2hMaXN0IiwgInRh
cmdldFRvdWNoZXMiXSwKKyAgICAgICAgWyJUb3VjaExpc3QiLCAiY2hhbmdlZFRvdWNoZXMiXSwK
KyAgICAgICAgWyJib29sZWFuIiwgImFsdEtleSJdLAorICAgICAgICBbImJvb2xlYW4iLCAibWV0
YUtleSJdLAorICAgICAgICBbImJvb2xlYW4iLCAiY3RybEtleSJdLAorICAgICAgICBbImJvb2xl
YW4iLCAic2hpZnRLZXkiXSwKKyAgICBdLmZvckVhY2goZnVuY3Rpb24oYXR0cikgeworICAgICAg
ICB2YXIgdHlwZSA9IGF0dHJbMF07CisgICAgICAgIHZhciBuYW1lID0gYXR0clsxXTsKKyAgICAg
ICAgLy8gZXhpc3RlbmNlIGNoZWNrCisgICAgICAgIGFzc2VydF90cnVlKG5hbWUgaW4gZXYsIG5h
bWUgKyAiIGF0dHJpYnV0ZSBpbiAiICsgZXYudHlwZSArICIgZXZlbnQiKTsKKyAgICAgICAgLy8g
dHlwZSBjaGVjaworICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgImJv
b2xlYW4iOgorICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGV2W25hbWVdLCAi
Ym9vbGVhbiIsIG5hbWUgKyAiIGF0dHJpYnV0ZSBvZiB0eXBlIGJvb2xlYW4iKTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgIlRvdWNoTGlzdCI6CisgICAgICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZXZbbmFt
ZV0pLCAiW29iamVjdCBUb3VjaExpc3RdIiwgbmFtZSArICIgYXR0cmlidXRlIG9mIHR5cGUgVG91
Y2hMaXN0Iik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfSk7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3RvdWNoLWV2ZW50
cy90b3VjaC10b3VjaGV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3RvdWNoLWV2ZW50cy90b3VjaC10b3VjaGV2ZW50LWNv
bnN0cnVjdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQzMjViZjU5YzIxYzVjYjU2YWYyZGUyMjQ5OTM5
NjIxZjVlZGNjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL3RvdWNoLXRvdWNoZXZlbnQtY29uc3RydWN0
b3IuaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFk
PgorPHRpdGxlPlRvdWNoIGFuZCBUb3VjaEV2ZW50IENvbnN0cnVjdG9yIFRlc3RzPC90aXRsZT4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0idG91Y2gtc3VwcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9InRhcmdldDAiPjwvZGl2PgorPHNjcmlwdD4KK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0
aW9uKCkge25ldyBUb3VjaCgpO30sICJUb3VjaCBjb25zdHJ1Y3RvciByZXF1aXJlcyBpbml0aWFs
aXplIGRpY3Rpb25hcnkiKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVu
Y3Rpb24oKSB7bmV3IFRvdWNoKHt9KTt9LCAiVG91Y2ggY29uc3RydWN0b3IgcmVxdWlyZXMgaWRl
bnRpZmllciBhbmQgdGFyZ2V0Iik7Cit9LCAiQ3JlYXRlIGEgVG91Y2ggb2JqZWN0IHdpdGggaW5z
dWZmaWNpZW50IHByb3BlcnRpZXMiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICB2YXIgdGVz
dElkZW50aWZpZXIgPSA3NDsKKyAgICB2YXIgdGVzdFRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0YXJnZXQwJyk7CisgICAgdmFyIGFwcHJveEVwc2lsb24gPSAwLjAwMDAxOworCisg
ICAgdmFyIHRvdWNoMSA9IG5ldyBUb3VjaCh7CisgICAgICAgIGlkZW50aWZpZXI6IHRlc3RJZGVu
dGlmaWVyLAorICAgICAgICB0YXJnZXQ6IHRlc3RUYXJnZXQsCisgICAgfSk7CisgICAgY2hlY2tf
VG91Y2hfb2JqZWN0KHRvdWNoMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0b3VjaDEudGFyZ2V0LCB0
ZXN0VGFyZ2V0LCAidG91Y2gudGFyZ2V0IGlzIHJlcXVlc3RlZCB2YWx1ZSIpOworICAgIGFzc2Vy
dF9lcXVhbHModG91Y2gxLmlkZW50aWZpZXIsIHRlc3RJZGVudGlmaWVyLCAidG91Y2guaWRlbnRp
ZmllciBpcyByZXF1ZXN0ZWQgdmFsdWUiKTsKKyAgICBhc3NlcnRfYXBwcm94X2VxdWFscyh0b3Vj
aDEucGFnZVgsIDAsIGFwcHJveEVwc2lsb24sICJ0b3VjaC5wYWdlWCBpcyBkZWZhdWx0IHZhbHVl
Iik7CisgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHModG91Y2gxLnBhZ2VZLCAwLCBhcHByb3hFcHNp
bG9uLCAidG91Y2gucGFnZVkgaXMgZGVmYXVsdCB2YWx1ZSIpOworICAgIGFzc2VydF9hcHByb3hf
ZXF1YWxzKHRvdWNoMS5zY3JlZW5YLCAwLCBhcHByb3hFcHNpbG9uLCAidG91Y2guc2NyZWVuWCBp
cyBkZWZhdWx0IHZhbHVlIik7CisgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHModG91Y2gxLnNjcmVl
blksIDAsIGFwcHJveEVwc2lsb24sICJ0b3VjaC5zY3JlZW5ZIGlzIGRlZmF1bHQgdmFsdWUiKTsK
KyAgICBhc3NlcnRfYXBwcm94X2VxdWFscyh0b3VjaDEuY2xpZW50WCwgMCwgYXBwcm94RXBzaWxv
biwgInRvdWNoLmNsaWVudFggaXMgZGVmYXVsdCB2YWx1ZS4iKTsKKyAgICBhc3NlcnRfYXBwcm94
X2VxdWFscyh0b3VjaDEuY2xpZW50WSwgMCwgYXBwcm94RXBzaWxvbiwgInRvdWNoLmNsaWVudFkg
aXMgZGVmYXVsdCB2YWx1ZS4iKTsKK30sICJUb3VjaCBjb25zdHJ1Y3RvciBleGlzdHMgYW5kIGNy
ZWF0ZXMgYSBUb3VjaCBvYmplY3Qgd2l0aCBtaW5pbXVtIHByb3BlcnRpZXMiKTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICB2YXIgdGVzdElkZW50aWZpZXIgPSA0MjsKKyAgICB2YXIgdGVzdFRh
cmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQwJyk7CisgICAgdmFyIHRlc3RQ
YWdlWCA9IDE1OworICAgIHZhciB0ZXN0UGFnZVkgPSAyMC4yOworICAgIHZhciB0ZXN0U2NyZWVu
WCA9IDM1LjM0OworICAgIHZhciB0ZXN0U2NyZWVuWSA9IDQwLjU2OworICAgIHZhciB0ZXN0Q2xp
ZW50WCA9IDEwLjE3NTsKKyAgICB2YXIgdGVzdENsaWVudFkgPSA1OworICAgIHZhciBhcHByb3hF
cHNpbG9uID0gMC4wMDAwMTsKKworICAgIHZhciB0b3VjaDEgPSBuZXcgVG91Y2goeworICAgICAg
ICBpZGVudGlmaWVyOiB0ZXN0SWRlbnRpZmllciwKKyAgICAgICAgdGFyZ2V0OiB0ZXN0VGFyZ2V0
LAorICAgICAgICBwYWdlWDogdGVzdFBhZ2VYLAorICAgICAgICBwYWdlWTogdGVzdFBhZ2VZLAor
ICAgICAgICBzY3JlZW5YOiB0ZXN0U2NyZWVuWCwKKyAgICAgICAgc2NyZWVuWTogdGVzdFNjcmVl
blksCisgICAgICAgIGNsaWVudFg6IHRlc3RDbGllbnRYLAorICAgICAgICBjbGllbnRZOiB0ZXN0
Q2xpZW50WSwKKyAgICB9KTsKKyAgICBjaGVja19Ub3VjaF9vYmplY3QodG91Y2gxKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHRvdWNoMS5pZGVudGlmaWVyLCB0ZXN0SWRlbnRpZmllciwgInRvdWNoLmlk
ZW50aWZpZXIgaXMgcmVxdWVzdGVkIHZhbHVlIik7CisgICAgYXNzZXJ0X2VxdWFscyh0b3VjaDEu
dGFyZ2V0LCB0ZXN0VGFyZ2V0LCAidG91Y2gudGFyZ2V0IGlzIHJlcXVlc3RlZCB2YWx1ZSIpOwor
ICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHRvdWNoMS5wYWdlWCwgdGVzdFBhZ2VYLCBhcHByb3hF
cHNpbG9uLCAidG91Y2gucGFnZVggaXMgcmVxdWVzdGVkIHZhbHVlIik7CisgICAgYXNzZXJ0X2Fw
cHJveF9lcXVhbHModG91Y2gxLnBhZ2VZLCB0ZXN0UGFnZVksIGFwcHJveEVwc2lsb24sICJ0b3Vj
aC5wYWdlWSBpcyByZXF1ZXN0ZWQgdmFsdWUiKTsKKyAgICBhc3NlcnRfYXBwcm94X2VxdWFscyh0
b3VjaDEuc2NyZWVuWCwgdGVzdFNjcmVlblgsIGFwcHJveEVwc2lsb24sICJ0b3VjaC5zY3JlZW5Y
IGlzIHJlcXVlc3RlZCB2YWx1ZSIpOworICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKHRvdWNoMS5z
Y3JlZW5ZLCB0ZXN0U2NyZWVuWSwgYXBwcm94RXBzaWxvbiwgInRvdWNoLnNjcmVlblkgaXMgcmVx
dWVzdGVkIHZhbHVlIik7CisgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHModG91Y2gxLmNsaWVudFgs
IHRlc3RDbGllbnRYLCBhcHByb3hFcHNpbG9uLCAidG91Y2guY2xpZW50WCBpcyByZXF1ZXN0ZWQg
dmFsdWUuIik7CisgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHModG91Y2gxLmNsaWVudFksIHRlc3RD
bGllbnRZLCBhcHByb3hFcHNpbG9uLCAidG91Y2guY2xpZW50WSBpcyByZXF1ZXN0ZWQgdmFsdWUu
Iik7Cit9LCAiVG91Y2ggY29uc3RydWN0b3IgZXhpc3RzIGFuZCBjcmVhdGVzIGEgVG91Y2ggb2Jq
ZWN0IHdpdGggcmVxdWVzdGVkIHByb3BlcnRpZXMiKTsKKworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIHZhciB0ZXN0VGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldDAnKTsK
KworICAgIHZhciB0b3VjaDEgPSBuZXcgVG91Y2goeworICAgICAgICBpZGVudGlmaWVyOiA0NSwK
KyAgICAgICAgdGFyZ2V0OiB0ZXN0VGFyZ2V0LAorICAgICAgICBwYWdlWDogNDUsCisgICAgICAg
IHBhZ2VZOiA1MCwKKyAgICAgICAgc2NyZWVuWDogNjUsCisgICAgICAgIHNjcmVlblk6IDYwLAor
ICAgICAgICBjbGllbnRYOiA3MCwKKyAgICAgICAgY2xpZW50WTogNzUsCisgICAgfSk7CisgICAg
dmFyIHRvdWNoMiA9IG5ldyBUb3VjaCh7CisgICAgICAgIGlkZW50aWZpZXI6IDUyLAorICAgICAg
ICB0YXJnZXQ6IHRlc3RUYXJnZXQsCisgICAgICAgIHBhZ2VYOiAxNSwKKyAgICAgICAgcGFnZVk6
IDIwLAorICAgICAgICBzY3JlZW5YOiAxNSwKKyAgICAgICAgc2NyZWVuWTogMjAsCisgICAgICAg
IGNsaWVudFg6IDE1LAorICAgICAgICBjbGllbnRZOiAyMCwKKyAgICB9KTsKKworICAgIHZhciB0
b3VjaEV2ZW50MSA9IG5ldyBUb3VjaEV2ZW50KCJvbnRvdWNoc3RhcnQiLCB7CisgICAgICAgIHRv
dWNoZXM6IFt0b3VjaDEsIHRvdWNoMl0sCisgICAgICAgIHRhcmdldFRvdWNoZXM6IFt0b3VjaDFd
LAorICAgICAgICBhbHRLZXk6IHRydWUsCisgICAgICAgIG1ldGFLZXk6IGZhbHNlLAorICAgIH0p
OworCisgICAgY2hlY2tfVG91Y2hFdmVudCh0b3VjaEV2ZW50MSk7CisgICAgYXNzZXJ0X2VxdWFs
cyh0b3VjaEV2ZW50MS50eXBlLCAib250b3VjaHN0YXJ0IiwgInRvdWNoRXZlbnQudHlwZSBpcyBy
ZXF1ZXN0ZWQgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRvdWNoRXZlbnQxLnRvdWNoZXMu
bGVuZ3RoLCAyLCAidG91Y2hFdmVudC50b3VjaGVzLmxlbmd0aCBpcyByZXF1ZXN0ZWQgdmFsdWUi
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHRvdWNoRXZlbnQxLnRvdWNoZXNbMF0sIHRvdWNoMSwgInRv
dWNoRXZlbnQudG91Y2hlc1swXSBpcyByZXF1ZXN0ZWQgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHRvdWNoRXZlbnQxLnRvdWNoZXNbMV0sIHRvdWNoMiwgInRvdWNoRXZlbnQudG91Y2hlc1sx
XSBpcyByZXF1ZXN0ZWQgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRvdWNoRXZlbnQxLnRh
cmdldFRvdWNoZXMubGVuZ3RoLCAxLCAidG91Y2hFdmVudC50YXJnZXRUb3VjaGVzLmxlbmd0aCBp
cyByZXF1ZXN0ZWQgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRvdWNoRXZlbnQxLnRhcmdl
dFRvdWNoZXNbMF0sIHRvdWNoMSwgInRvdWNoRXZlbnQudGFyZ2V0VG91Y2hlc1swXSBpcyByZXF1
ZXN0ZWQgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRvdWNoRXZlbnQxLmNoYW5nZWRUb3Vj
aGVzLmxlbmd0aCwgMCwgInRvdWNoRXZlbnQuY2hhbmdlZFRvdWNoZXMubGVuZ3RoIGlzIHJlcXVl
c3RlZCB2YWx1ZSIpOworICAgIGFzc2VydF9lcXVhbHModG91Y2hFdmVudDEuYWx0S2V5LCB0cnVl
LCAidG91Y2hFdmVudC5hbHRLZXkgaXMgcmVxdWVzdGVkIHZhbHVlIik7CisgICAgYXNzZXJ0X2Vx
dWFscyh0b3VjaEV2ZW50MS5tZXRhS2V5LCBmYWxzZSwgInRvdWNoRXZlbnQubWV0YUtleSBpcyBy
ZXF1ZXN0ZWQgdmFsdWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRvdWNoRXZlbnQxLmN0cmxLZXks
IGZhbHNlLCAidG91Y2hFdmVudC5jdHJsS2V5IGlzIHJlcXVlc3RlZCB2YWx1ZSIpOworICAgIGFz
c2VydF9lcXVhbHModG91Y2hFdmVudDEuc2hpZnRLZXksIGZhbHNlLCAidG91Y2hFdmVudC5zaGlm
dEtleSBpcyByZXF1ZXN0ZWQgdmFsdWUuIik7Cit9LCAiVG91Y2hFdmVudCBjb25zdHJ1Y3RvciBl
eGlzdHMgYW5kIGNyZWF0ZXMgYSBUb3VjaEV2ZW50IG9iamVjdCB3aXRoIHJlcXVlc3RlZCBwcm9w
ZXJ0aWVzIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b3VjaC1ldmVudHMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBkN2NkNDQwYjYzOTQxOGI2
ZDAyY2VlYjRmMDdiYjAyMmU3ZjA5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL3czYy1pbXBvcnQubG9n
CkBAIC0wLDAgKzEsMjQgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRl
c3QKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b3VjaC1ldmVudHMvT1dORVJTCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMvY3JlYXRlLXRvdWNoLXRvdWNobGlzdC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMv
aGlzdG9yaWNhbC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b3VjaC1ldmVudHMvbXVsdGktdG91Y2gtaW50ZXJhY3Rpb25zLmpzCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMvdG91Y2gtZ2xv
YmFsZXZlbnRoYW5kbGVyLWludGVyZmFjZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMvdG91Y2gtc3VwcG9ydC5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG91Y2gtZXZlbnRzL3RvdWNo
LXRvdWNoZXZlbnQtY29uc3RydWN0b3IuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDM2NDY2ZDIxYzY3NzBiOTJk
ZGQzZTYyN2UwMzM0MmJlMGVjNGZkNTEuLmVlNTIyYzI2NDFiZGRmZWQxNTY0OWIzNGUyNzkyODZi
NDhiNGM3ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Iv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzNCwxMiArMTM0LDE1IEBAIGh0dHAvdGVzdHMvbWVkaWEK
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQt
Y29udGVudC9tZWRpYS1lbGVtZW50cwogCiAjIE5vIHRvdWNoIGV2ZW50cworZmFzdC9ldmVudHMv
dG91Y2ggWyBTa2lwIF0KIGZhc3Qvc2hhZG93LWRvbS90b3VjaC1ldmVudC1pb3MuaHRtbCBbIFNr
aXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMgWyBTa2lw
IF0KIHBsYXRmb3JtL2lvcy1zaW11bGF0b3IvaW9zL2Zhc3QvZm9ybXMvcmFuZ2UtaW5wdXQtY29u
dGFpbmVyLXRvdWNoZXMuaHRtbCBbIFNraXAgXQogcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9pb3Mv
ZmFzdC9mb3Jtcy9yYW5nZS1pbnB1dC1yZWFkb25seS1hbmQtZGlzYWJsZWQuaHRtbCBbIFNraXAg
XQogcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9pb3MvZmFzdC9mb3Jtcy9yYW5nZS1pbnB1dC10b3Vj
aGVzLmh0bWwgWyBTa2lwIF0KIHBsYXRmb3JtL2lvcy1zaW11bGF0b3IvaW9zL2Zhc3QvdGV4dC9k
YXRhLWRldGVjdG9ycy9waG9uZS1kaXNhYmxlZC5odG1sIFsgU2tpcCBdCiBwbGF0Zm9ybS9pb3Mt
c2ltdWxhdG9yL2lvcy9mYXN0L3RleHQvZGF0YS1kZXRlY3RvcnMvcGhvbmUuaHRtbCBbIFNraXAg
XQorcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9pb3MvdG91Y2ggWyBTa2lwIF0KIAogIyBXZWJLaXRE
YXRhQ3VlIGlzIHN1cHBvcnRlZCwgbm90IERhdGFDdWUKIG1lZGlhL3RyYWNrL3RyYWNrLWRhdGFj
dWUuaHRtbApAQCAtMjg1LDggKzI4OCw2IEBAIGZhc3QvZXZlbnRzL21vdXNlLWZvcmNlLXVwLmh0
bWwgWyBTa2lwIF0KICMgQXV0b0ZpbGwgYnV0dG9uIGlzIG5vdCBzdXBwb3J0ZWQKIGZhc3QvZm9y
bXMvYXV0by1maWxsLWJ1dHRvbi9tb3VzZS1kb3duLWlucHV0LW1vdXNlLXJlbGVhc2UtYXV0by1m
aWxsLWJ1dHRvbi5odG1sCiAKLWZhc3QvZXZlbnRzL3RvdWNoIFsgU2tpcCBdCi0KICMgTW91c2Ug
ZXZlbnRzIGFyZSBub3Qgc3VwcG9ydGVkIG9uIGlPUwogZmFzdC9zY3JvbGxpbmcvYXJyb3cta2V5
LXNjcm9sbC1pbi1ydGwtZG9jdW1lbnQuaHRtbCBbIFNraXAgXQogZmFzdC9zY3JvbGxpbmcvb3Zl
cmZsb3ctc2Nyb2xsLXBhc3QtbWF4Lmh0bWwgWyBTa2lwIF0KQEAgLTIwNTMsNyArMjA1NCw2IEBA
IHBsYXRmb3JtL2lvcy1zaW11bGF0b3IvaW9zL2ZpeGVkL2Fic29sdXRlLWluc2lkZS1maXhlZC5o
dG1sIFsgRmFpbHVyZSBdCiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2lvcy9maXhlZC9mb3VyLWJh
cnMuaHRtbCBbIEZhaWx1cmUgXQogcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9pb3MvZml4ZWQvbmVz
dGVkLWZpeGVkLmh0bWwgWyBGYWlsdXJlIF0KIHBsYXRmb3JtL2lvcy1zaW11bGF0b3IvaW9zL2Zp
eGVkL3BlcmNlbnRhZ2UtaW5zaWRlLWZpeGVkLmh0bWwgWyBGYWlsdXJlIF0KLXBsYXRmb3JtL2lv
cy1zaW11bGF0b3IvaW9zL3RvdWNoIFsgU2tpcCBdCiAKICMgaW1hZ2UgaW5wdXRzIGdldCByb3Vu
ZGVkIGNvcm5lcnMgb24gaU9TCiBmYXN0L2Nzcy9vYmplY3QtcG9zaXRpb24vb2JqZWN0LXBvc2l0
aW9uLWlucHV0LWltYWdlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTFkNmZmODA3M2NhYzRiZTc0YzYwODVj
NDY2ODUzY2Y3MjRkMjhlMi4uYjdiMmEyMDllOTU3MGE0MWM0MTVjMTIzNjIyNDM4M2IzNmY2NjZh
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0LDYg
KzY0LDcgQEAgcGx1Z2lucy9yZWxvYWRwbHVnaW5zLWFuZC1wYWdlcy5odG1sCiAKICMgVGhlc2Ug
dGVzdHMgcmVxdWlyZSB0b3VjaCBzdXBwb3J0CiBmYXN0L2V2ZW50cy90b3VjaCBbIFNraXAgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMgWyBTa2lwIF0KIAog
IyBObyBidXR0b24gdHJhY2tlZAogZmFzdC9ldmVudHMvbW91c2VvdmVyLWJ1dHRvbi5odG1sCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDU5YTAyNGY1Y2I4
OTViOTUyNzA0ZGFlNmQwZDRmODY1YWUwZjdiZWMuLjI1YjQwMDYwYjhjZjRlNmFhNmYwOTgwZDky
MWI5NDJhMGI5ZmQ4ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRp
b25zCkBAIC0yMDIsNiArMjAyLDcgQEAgZmFzdC9kb20vV2luZG93L3Nsb3ctdW5sb2FkLWhhbmRs
ZXItb25seS1mcmFtZS1pcy1zdG9wcGVkLmh0bWwgWyBTa2lwIF0KIAogIyBUaGVzZSB0ZXN0cyBy
ZXF1aXJlIHRvdWNoIHN1cHBvcnQKIGZhc3QvZXZlbnRzL3RvdWNoLyBbIFNraXAgXQoraW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b3VjaC1ldmVudHMvIFsgU2tpcCBdCiAKICMgVE9E
TyBObyBzdXBwb3J0IGZvciBrZXkgZXZlbnQgbG9jYXRpb24gaW4gRXZlbnRTZW5kZXIuCiB3ZWJr
aXQub3JnL2IvMTQwNTI2IFsgUmVsZWFzZSBdIGZhc3QvZXZlbnRzL2tleWRvd24tbnVtcGFkLWtl
eXMuaHRtbCBbIEZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>