<?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>109121</bug_id>
          
          <creation_ts>2013-02-06 18:12:39 -0800</creation_ts>
          <short_desc>Add WebGL Conformance Tests state, renderbuffers, and reading folders.</short_desc>
          <delta_ts>2013-02-07 05:49:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>94643</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Gregg Tavares">gman</assigned_to>
          <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>826954</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 18:12:39 -0800</bug_when>
    <thetext>Add WebGL Conformance Tests state, renderbuffers, and reading folders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826956</commentid>
    <comment_count>1</comment_count>
      <attachid>186968</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 18:13:06 -0800</bug_when>
    <thetext>Created attachment 186968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826990</commentid>
    <comment_count>2</comment_count>
      <attachid>186968</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-06 18:51:25 -0800</bug_when>
    <thetext>Comment on attachment 186968
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827388</commentid>
    <comment_count>3</comment_count>
      <attachid>186968</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-07 05:48:58 -0800</bug_when>
    <thetext>Comment on attachment 186968
Patch

Clearing flags on attachment: 186968

Committed r142104: &lt;http://trac.webkit.org/changeset/142104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827389</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-07 05:49:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186968</attachid>
            <date>2013-02-06 18:13:06 -0800</date>
            <delta_ts>2013-02-07 05:48:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109121-20130206180943.patch</filename>
            <type>text/plain</type>
            <size>77811</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDU4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTg1YzNmODI2ZjFlY2EwZDY4NmNl
OTY2MDM2ZmZkNjliMWMyYmQ4My4uNWViYjEzNWZjZDcxMTA0ODcxMmI4MjZmNjE5MjRhNWJjZjBj
MzAyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDEzLTAyLTA2ICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgQWRkIFdlYkdMIENvbmZvcm1hbmNlIFRlc3Rz
IHN0YXRlLCByZW5kZXJidWZmZXJzLCBhbmQgcmVhZGluZyBmb2xkZXJzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MTIxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLXBhY2stYWxpZ25tZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy1wYWNrLWFsaWdu
bWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZm
ZXJzL2ZyYW1lYnVmZmVyLXN0YXRlLXJlc3RvcmF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1zdGF0
ZS1yZXN0b3JhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXRlc3QuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9yZW5k
ZXJidWZmZXItaW5pdGlhbGl6YXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL3JlbmRlcmJ1ZmZlci1pbml0aWFsaXphdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1lbmFi
bGUtZW51bS10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtZW5hYmxlLWVudW0tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1lbnVtLXRlc3RzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZW51bS10ZXN0cy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1nZXQtY2FsbHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1n
ZXQtY2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUv
Z2wtZ2V0ZXJyb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9zdGF0ZS9nbC1nZXRlcnJvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9zdGF0ZS9nbC1nZXRzdHJpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1nZXRzdHJpbmcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGlu
Zy8wMF90ZXN0X2xpc3QudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXBhY2stYWxpZ25t
ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvMDBfdGVzdF9saXN0LnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVu
ZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1zdGF0ZS1yZXN0b3JhdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5k
ZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9yZW5k
ZXJidWZmZXItaW5pdGlhbGl6YXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvMDBfdGVzdF9saXN0LnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2Uvc3RhdGUvZ2wtZW5hYmxlLWVudW0tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1l
bnVtLXRlc3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWdldC1jYWxscy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0
ZS9nbC1nZXRlcnJvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1nZXRzdHJpbmcuaHRtbDogQWRkZWQu
CisKKzIwMTMtMDItMDYgIEdyZWdnIFRhdmFyZXMgIDxnbWFuQGNocm9taXVtLm9yZz4KKwogICAg
ICAgICBBZGRzIGZhaWxpbmcgV2ViR0wgQ29uZm9ybWFuY2UgVGVzdHMuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkwNzUKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy1wYWNrLWFs
aWdubWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFk
aW5nL3JlYWQtcGl4ZWxzLXBhY2stYWxpZ25tZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
YTE1MWUxN2Q3MzE3YWNhNjgwNGIzOWFhMTBlODI5MDljMzU1MzcxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy1wYWNr
LWFsaWdubWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy1wYWNrLWFsaWdubWVudC5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhl
bHMtcGFjay1hbGlnbm1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Jl
YWRpbmcvcmVhZC1waXhlbHMtcGFjay1hbGlnbm1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lM2NjYzk5
MDQ2MzlhYzg4ZmYwZDQzZWExY2E1Y2MxMmZkMTRhMDQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy1wYWNrLWFsaWdu
bWVudC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHJlYWQtcGl4ZWxzLXBhY2stYWxpZ25t
ZW50Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXBhY2stYWxpZ25t
ZW50Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
YWRpbmcvcmVhZC1waXhlbHMtcGFjay1hbGlnbm1lbnQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtcGFjay1h
bGlnbm1lbnQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXN0YXRlLXJlc3RvcmF0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVi
dWZmZXItc3RhdGUtcmVzdG9yYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlOGM2N2Y2
YzZiNDg3NWJjZjExYzYzMTY2OWU5YjIxMDJiMmQyZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXN0YXRl
LXJlc3RvcmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXN0YXRlLXJlc3RvcmF0aW9uLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
YnVmZmVycy9mcmFtZWJ1ZmZlci1zdGF0ZS1yZXN0b3JhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1zdGF0ZS1yZXN0b3Jh
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0MGIxNDIzYzIwMzgyMTk4ODE4OGU3OTdmNzE1NGMzYTM4
YTQ1Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXN0YXRlLXJlc3RvcmF0aW9uLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgZnJhbWVidWZmZXItc3RhdGUtcmVzdG9yYXRpb24uaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItc3RhdGUtcmVzdG9yYXRpb24uaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVm
ZmVycy9mcmFtZWJ1ZmZlci1zdGF0ZS1yZXN0b3JhdGlvbi5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZl
ci1zdGF0ZS1yZXN0b3JhdGlvbi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJh
bWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItdGVzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVm
ZmVyLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MjQ5MzY3YzMxOWQ5ZTQ4OWVmNTky
OTExNmEwNTRmZjVlYzk4ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVi
dWZmZXItdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItdGVzdC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci10ZXN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDRlZjhlYzEwNzU1Y2U2OGZmMmFmODdmNmUyNWYwZjcyMjQ3ZTY5MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGZyYW1lYnVm
ZmVyLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0
LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXIt
dGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItdGVz
dC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Jl
bmRlcmJ1ZmZlcnMvcmVuZGVyYnVmZmVyLWluaXRpYWxpemF0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvcmVuZGVyYnVmZmVyLWlu
aXRpYWxpemF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzQyMmRkYjJhMjg0NjZjMjU3
ZTliMTI3MzM4MmU3ZGRkN2YzZTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9yZW5kZXJidWZmZXItaW5pdGlhbGl6YXRpb24t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRl
cmJ1ZmZlcnMvcmVuZGVyYnVmZmVyLWluaXRpYWxpemF0aW9uLmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9yZW5kZXJi
dWZmZXItaW5pdGlhbGl6YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3JlbmRlcmJ1ZmZlcnMvcmVuZGVyYnVmZmVyLWluaXRpYWxpemF0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGYwNzFiMmFkN2UxMDY2MTk0OTIzODg0MDYwN2RkYTVkMWI3NWJjYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvcmVuZGVy
YnVmZmVyLWluaXRpYWxpemF0aW9uLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcmVuZGVy
YnVmZmVyLWluaXRpYWxpemF0aW9uLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJz
L3JlbmRlcmJ1ZmZlci1pbml0aWFsaXphdGlvbi5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL3JlbmRlcmJ1ZmZlci1pbml0aWFs
aXphdGlvbi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVuZGVyYnVmZmVycy9yZW5kZXJidWZmZXItaW5pdGlhbGl6YXRpb24uaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1lbmFi
bGUtZW51bS10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3N0YXRlL2dsLWVuYWJsZS1lbnVtLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxNmMy
YmMxZTZhZmQ4NzAwMmI0ZjllNDI4ZDUyMTJjNWQwYzZiYzUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1lbmFibGUtZW51bS10ZXN0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9n
bC1lbmFibGUtZW51bS10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZW5hYmxlLWVudW0tdGVzdC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZW5hYmxlLWVudW0tdGVzdC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJiMzQyN2RmNDk4MzE1YTc5YzgyN2RiNzg1MmYwYWEwYTYzMTliOTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1lbmFi
bGUtZW51bS10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0
by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wtZW5hYmxlLWVudW0t
dGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZW5hYmxlLWVudW0tdGVzdC5odG1s
Ij4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1l
bmFibGUtZW51bS10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1lbmFibGUtZW51bS10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZW51bS10ZXN0cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1lbnVt
LXRlc3RzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42M2NhYTc3ODE4MzlmZjJmMGNkZTc2Njdh
NmUwOTU3ZGI0NTRmYTNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvc3RhdGUvZ2wtZW51bS10ZXN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZW51bS10ZXN0cy5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWVudW0t
dGVzdHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWVudW0t
dGVzdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGVjYzE1YmMyNjY4YTA5YmFiNzA0NDkwYTM3OWYyYzll
ZDQyNDc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
c3RhdGUvZ2wtZW51bS10ZXN0cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLWVudW0t
dGVzdHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWVudW0tdGVzdHMuaHRtbCI+Li4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZW51bS10
ZXN0cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvc3RhdGUvZ2wtZW51bS10ZXN0cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWdldC1jYWxscy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIxYjM2MzcxMGY5ZTM4ZTlmNjhkYjhiODIyY2MzMGI4OTk1MTIyZjMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1n
ZXQtY2FsbHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3N0YXRlL2dsLWdldC1jYWxscy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWdldC1jYWxscy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0LWNhbGxzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzM2NGQwZTg0NDhlZjI1NWIwYThlZTU3ZmU2Mjc0NTJlODIzNzcwYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWdldC1jYWxscy5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLWdldC1jYWxscy5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvc3RhdGUvZ2wtZ2V0LWNhbGxzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWdldC1jYWxscy5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0LWNhbGxzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wt
Z2V0ZXJyb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3Rh
dGUvZ2wtZ2V0ZXJyb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmNjIwMDJjNTYwNmYzZTQ3
Njc0ZDE1OWVhM2U2NTcyM2RmZmRlZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1nZXRlcnJvci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0ZXJyb3IuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1n
ZXRlcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0
ZXJyb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NjZiZGZmOWExMzM1OWZkNTg2OGU2MTE5ODA3MzdkM2Y0
ZDg0YWIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
c3RhdGUvZ2wtZ2V0ZXJyb3IuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1nZXRlcnJv
ci5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0ZXJyb3IuaHRtbCI+Li4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0ZXJyb3IuaHRt
bDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFt
ZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRl
L2dsLWdldGVycm9yLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0c3RyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWdldHN0cmluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTQ0ZDJjMTY1YTg5ODIzMDkyZWQ4Y2RjYjQzM2E3Yjk4ZDk4ODRkNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWdldHN0cmluZy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUv
Z2wtZ2V0c3RyaW5nLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0c3RyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9zdGF0ZS9nbC1nZXRzdHJpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTY1ZjRmZGJh
NzM5YTMyMjI4N2MzMTM2MzBhMzNiNDQxMmQ5NjdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0c3RyaW5nLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgZ2wtZ2V0c3RyaW5nLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9n
bC1nZXRzdHJpbmcuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtZ2V0c3RyaW5nLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1nZXRzdHJpbmcuaHRtbCIgd2lkdGg9Ijgw
MCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZWFkaW5nLzAwX3Rlc3RfbGlzdC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nLzAwX3Rlc3RfbGlzdC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmZmNGRiNTdlZTY2NDZhNmRjZTJhMWYwZmM5YmM0YjJkMTE2NWJlYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvMDBfdGVzdF9saXN0LnR4dApAQCAtMCwwICsxLDMg
QEAKK3JlYWQtcGl4ZWxzLXBhY2stYWxpZ25tZW50Lmh0bWwKK3JlYWQtcGl4ZWxzLXRlc3QuaHRt
bAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXBhY2stYWxpZ25tZW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXBhY2stYWxpZ25tZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmJh
NGJiNTI3MDZlMGFlZmYyNDc4OGU4Yzc4NmVlOWY3YzU3MGU1MQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3JlYWRpbmcvcmVhZC1waXhlbHMtcGFjay1hbGlnbm1lbnQuaHRtbApAQCAtMCwwICsxLDI2NCBA
QAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIHBv
czsKK2F0dHJpYnV0ZSB2ZWM0IGNvbG9ySW47Cit2YXJ5aW5nIHZlYzQgY29sb3I7CisKK3ZvaWQg
bWFpbigpCit7CisgICAgY29sb3IgPSBjb2xvckluOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChw
b3MueHl6LCAxLjApOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5n
IHZlYzQgY29sb3I7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gY29sb3I7
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lk
dGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKwor
Ly8gVGhlIGJlbG93IGRlY2xhcmF0aW9ucyBuZWVkIHRvIGJlIGdsb2JhbCBmb3IgInNob3VsZEJl
IiB0byBzZWUgdGhlbQordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gbnVsbDsK
K3ZhciBhcnJheSA9IG51bGw7Cit2YXIgcGl4ZWwgPSBbIDAsIDAsIDAsIDAgXTsKK3ZhciBleHBl
Y3RlZENvbG9yID0gWyAwLCAwLCAwLCAwIF07CisKK2Z1bmN0aW9uIGNhbGN1bGF0ZVBpeGVsQnl0
ZXMoZm9ybWF0LCB0eXBlKQoreworICAgIHZhciBzaXplID0gMDsKKyAgICBzd2l0Y2ggKGZvcm1h
dCkgeworICAgIGNhc2UgZ2wuQUxQSEE6CisgICAgICAgIHNpemUgPSAxOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIGdsLlJHQjoKKyAgICAgICAgc2l6ZSA9IDM7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgZ2wuUkdCQToKKyAgICAgICAgc2l6ZSA9IDQ7CisgICAgICAgIGJyZWFrOworICAg
IGRlZmF1bHQ6CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgc3dpdGNoICh0eXBlKSB7
CisgICAgY2FzZSBnbC5VTlNJR05FRF9CWVRFOgorICAgICAgICBicmVhazsKKyAgICBjYXNlIGds
LlVOU0lHTkVEX1NIT1JUXzVfNl81OgorICAgICAgICBpZiAoZm9ybWF0ICE9IGdsLlJHQikKKyAg
ICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc2l6ZSA9IDI7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgZ2wuVU5TSUdORURfU0hPUlRfNF80XzRfNDoKKyAgICBjYXNlIGdsLlVOU0lHTkVE
X1NIT1JUXzVfNV81XzE6CisgICAgICAgIGlmIChmb3JtYXQgIT0gZ2wuUkdCQSkKKyAgICAgICAg
ICAgIHJldHVybiAtMTsKKyAgICAgICAgc2l6ZSA9IDI7CisgICAgICAgIGJyZWFrOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgcmV0dXJuIHNpemU7Cit9CisK
K2Z1bmN0aW9uIGNhbGN1bGF0ZVBhZGRpbmdCeXRlcyhieXRlc1BlclBpeGVsLCBwYWNrQWxpZ25t
ZW50LCB3aWR0aCkKK3sKKyAgICB2YXIgcGFkZGluZyA9IDA7CisgICAgc3dpdGNoIChwYWNrQWxp
Z25tZW50KSB7CisgICAgY2FzZSAxOgorICAgIGNhc2UgMjoKKyAgICBjYXNlIDQ6CisgICAgY2Fz
ZSA4OgorICAgICAgICBwYWRkaW5nID0gKGJ5dGVzUGVyUGl4ZWwgKiB3aWR0aCkgJSBwYWNrQWxp
Z25tZW50OworICAgICAgICBpZiAocGFkZGluZyA+IDApCisgICAgICAgICAgICBwYWRkaW5nID0g
cGFja0FsaWdubWVudCAtIHBhZGRpbmc7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgcmV0dXJuIHBhZGRpbmc7Cit9CisKK2Z1bmN0
aW9uIHBhY2tDb2xvcihmb3JtYXQsIHR5cGUsIHIsIGcsIGIsIGEpCit7CisgICAgLy8gRklYTUU6
IG5vdCBzdXJlIGlmIHRoZSBjb2xvciBwYWNraW5nIGlzIGNvcnJlY3QgZm9yIFVOU0lHTkVEX1NI
T1JUXyouCisgICAgdmFyIGNvbG9yID0gWyAwLCAwLCAwLCAwIF07CisgICAgc3dpdGNoICh0eXBl
KSB7CisgICAgY2FzZSBnbC5VTlNJR05FRF9CWVRFOgorICAgICAgICBzd2l0Y2ggKGZvcm1hdCkg
eworICAgICAgICBjYXNlIGdsLkFMUEhBOgorICAgICAgICAgICAgY29sb3JbMF0gPSBhOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgZ2wuUkdCOgorICAgICAgICAgICAgY29sb3Jb
MF0gPSByOworICAgICAgICAgICAgY29sb3JbMV0gPSBnOworICAgICAgICAgICAgY29sb3JbMl0g
PSBiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgZ2wuUkdCQToKKyAgICAgICAg
ICAgIGNvbG9yWzBdID0gcjsKKyAgICAgICAgICAgIGNvbG9yWzFdID0gZzsKKyAgICAgICAgICAg
IGNvbG9yWzJdID0gYjsKKyAgICAgICAgICAgIGNvbG9yWzNdID0gYTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAg
IH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBnbC5VTlNJR05FRF9TSE9SVF81XzZfNToKKyAg
ICAgICAgaWYgKGZvcm1hdCAhPSBnbC5SR0IpCisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAg
ICAgICAgciA+Pj0gMzsKKyAgICAgICAgZyA+Pj0gMjsKKyAgICAgICAgYiA+Pj0gMzsKKyAgICAg
ICAgY29sb3JbMF0gPSAociA8PCAxMSkgKyAoZyA8PCA1KSArIGI7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgZ2wuVU5TSUdORURfU0hPUlRfNF80XzRfNDoKKyAgICAgICAgaWYgKGZvcm1hdCAh
PSBnbC5SR0JBKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIHIgPj49IDQ7Cisg
ICAgICAgIGcgPj49IDQ7CisgICAgICAgIGIgPj49IDQ7CisgICAgICAgIGEgPj49IDQ7CisgICAg
ICAgIGNvbG9yWzBdID0gKHIgPDwgMTIpICsgKGcgPDwgOCkgKyAoYiA8PCA0KSArIGE7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgZ2wuVU5TSUdORURfU0hPUlRfNV81XzVfMToKKyAgICAgICAg
aWYgKGZvcm1hdCAhPSBnbC5SR0JBKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAg
IHIgPj49IDM7CisgICAgICAgIGcgPj49IDM7CisgICAgICAgIGIgPj49IDM7CisgICAgICAgIGEg
Pj49IDc7CisgICAgICAgIGNvbG9yWzBdID0gKHIgPDwgMTEpICsgKGcgPDwgNikgKyAoYiA8PCAx
KSArIGE7CisgICAgICAgIGJyZWFrOworICAgIERlZmF1bHQ6CisgICAgICAgIHJldHVybiBudWxs
OworICAgIH0KKyAgICByZXR1cm4gY29sb3I7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3RJdGVyYXRp
b24oZm9ybWF0LCB0eXBlLCBwYWNrQWxpZ25tZW50LCB3aWR0aCwgaGVpZ2h0KQoreworICAgIGRl
YnVnKCJUZXN0aW5nIFBBQ0tfQUxJR05NRU5UID0gIiArIHBhY2tBbGlnbm1lbnQgKyAiLCB3aWR0
aCA9ICIgKyB3aWR0aCArICIsIGhlaWdodCA9ICIgKyBoZWlnaHQpOworICAgIGdsLmNsZWFyQ29s
b3IoMSwgMC40LCAwLCAxKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAg
ICBnbC5waXhlbFN0b3JlaShnbC5QQUNLX0FMSUdOTUVOVCwgcGFja0FsaWdubWVudCk7CisgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgdmFyIGJ5dGVzUGVyUGl4ZWwg
PSBjYWxjdWxhdGVQaXhlbEJ5dGVzKGZvcm1hdCwgdHlwZSk7CisgICAgdmFyIHBhZGRpbmcgPSBj
YWxjdWxhdGVQYWRkaW5nQnl0ZXMoYnl0ZXNQZXJQaXhlbCwgcGFja0FsaWdubWVudCwgd2lkdGgp
OworICAgIHZhciBzaXplID0gYnl0ZXNQZXJQaXhlbCAqIHdpZHRoICogaGVpZ2h0ICsgcGFkZGlu
ZyAqIChoZWlnaHQgLSAxKTsKKyAgICBpZiAodHlwZSAhPSBnbC5VTlNJR05FRF9CWVRFKSB7Cisg
ICAgICAgIHRocm93ICJ0ZXN0IGVycm9yOiBvbmx5IFVOU0lHTkVEX0JZVEUgaXMgdmFsaWQgdG8g
UmVhZFBpeGVscyI7CisgICAgfQorICAgIGlmIChzaXplIDwgMCkKKyAgICAgICAgc2l6ZSA9IDA7
CisgICAgYXJyYXkgPSBuZXcgVWludDhBcnJheShzaXplKTsKKyAgICBnbC5yZWFkUGl4ZWxzKDAs
IDAsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgdHlwZSwgYXJyYXkpOworICAgIGlmICh3aWR0aCA8
IDAgfHwgaGVpZ2h0IDwgMCkgeworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFM
SURfVkFMVUUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUik7CisgICAgaWYgKCFhcnJheS5sZW5ndGgpCisgICAgICAgIHJldHVy
bjsKKworICAgIC8vIENoZWNrIHRoZSBsYXN0IHBpeGVsIG9mIHRoZSBsYXN0IHJvdy4KKyAgICB2
YXIgYnl0ZXNQZXJSb3cgPSB3aWR0aCAqIGJ5dGVzUGVyUGl4ZWwgKyBwYWRkaW5nOworICAgIHZh
ciBwb3MgPSBieXRlc1BlclJvdyAqIChoZWlnaHQgLSAxKSArICh3aWR0aCAtIDEpICogYnl0ZXNQ
ZXJQaXhlbDsKKyAgICB2YXIgbnVtQ29tcG9uZW50cyA9IGJ5dGVzUGVyUGl4ZWw7CisgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBudW1Db21wb25lbnRzOyArK2kpCisgICAgICAgIHBpeGVsW2ldID0g
YXJyYXlbcG9zICsgaV07CisgICAgZm9yICh2YXIgaSA9IG51bUNvbXBvbmVudHM7IGkgPCA0OyAr
K2kpCisgICAgICAgIHBpeGVsW2ldID0gMDsKKyAgICBleHBlY3RlZENvbG9yID0gcGFja0NvbG9y
KGZvcm1hdCwgdHlwZSwgMjU1LCAxMDIsIDAsIDI1NSk7CisgICAgc2hvdWxkQmVOb25OdWxsKCJl
eHBlY3RlZENvbG9yIik7CisgICAgc2hvdWxkQmUoInBpeGVsIiwgImV4cGVjdGVkQ29sb3IiKTsK
K30KKworZGVzY3JpcHRpb24oJ1ZlcmlmeSByZWFkUGl4ZWxzKCkgd29ya3MgZmluZSB3aXRoIHZh
cmlvdXMgUEFDS19BTElHTk1FTlQgdmFsdWVzLicpOworCitzaG91bGRCZU5vbk51bGwoImdsID0g
d3R1LmNyZWF0ZTNEQ29udGV4dCgnZXhhbXBsZScpIikKK3Nob3VsZEJlTm9uTnVsbCgicHJvZ3Jh
bSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsndnNoYWRlcicsICdmc2hhZGVyJ10sIFsncG9zJywg
J2NvbG9ySW4nXSkiKTsKKwordmFyIGZvcm1hdHMgPSBbIGdsLlJHQkEgXTsKK3ZhciBmb3JtYXRO
YW1lcyA9IFsgIlJHQkEiIF07CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgZm9ybWF0cy5sZW5ndGg7
ICsraSkgeworICAgIHZhciBmb3JtYXQgPSBmb3JtYXRzW2ldOworCisgICAgZGVidWcoIlRlc3Rp
bmcgZm9ybWF0ID0gIiArIGZvcm1hdE5hbWVzW2ldICsgIiBhbmQgdHlwZSA9IFVOU0lHTkVEX0JZ
VEUiKTsKKyAgICBydW5UZXN0SXRlcmF0aW9uKGZvcm1hdCwgZ2wuVU5TSUdORURfQllURSwgMSwg
MSwgMik7CisgICAgcnVuVGVzdEl0ZXJhdGlvbihmb3JtYXQsIGdsLlVOU0lHTkVEX0JZVEUsIDIs
IDEsIDIpOworICAgIHJ1blRlc3RJdGVyYXRpb24oZm9ybWF0LCBnbC5VTlNJR05FRF9CWVRFLCA0
LCAxLCAyKTsKKyAgICBydW5UZXN0SXRlcmF0aW9uKGZvcm1hdCwgZ2wuVU5TSUdORURfQllURSwg
OCwgMSwgMik7CisgICAgcnVuVGVzdEl0ZXJhdGlvbihmb3JtYXQsIGdsLlVOU0lHTkVEX0JZVEUs
IDQsIDIsIDIpOworICAgIHJ1blRlc3RJdGVyYXRpb24oZm9ybWF0LCBnbC5VTlNJR05FRF9CWVRF
LCA4LCAyLCAyKTsKKyAgICBydW5UZXN0SXRlcmF0aW9uKGZvcm1hdCwgZ2wuVU5TSUdORURfQllU
RSwgNCwgMywgMik7CisgICAgcnVuVGVzdEl0ZXJhdGlvbihmb3JtYXQsIGdsLlVOU0lHTkVEX0JZ
VEUsIDgsIDMsIDIpOworICAgIHJ1blRlc3RJdGVyYXRpb24oZm9ybWF0LCBnbC5VTlNJR05FRF9C
WVRFLCA0LCA0LCAyKTsKKyAgICBydW5UZXN0SXRlcmF0aW9uKGZvcm1hdCwgZ2wuVU5TSUdORURf
QllURSwgOCwgNCwgMik7CisgICAgcnVuVGVzdEl0ZXJhdGlvbihmb3JtYXQsIGdsLlVOU0lHTkVE
X0JZVEUsIDgsIDUsIDEpOworICAgIHJ1blRlc3RJdGVyYXRpb24oZm9ybWF0LCBnbC5VTlNJR05F
RF9CWVRFLCA0LCA1LCAyKTsKKyAgICBydW5UZXN0SXRlcmF0aW9uKGZvcm1hdCwgZ2wuVU5TSUdO
RURfQllURSwgOCwgNSwgMik7CisgICAgcnVuVGVzdEl0ZXJhdGlvbihmb3JtYXQsIGdsLlVOU0lH
TkVEX0JZVEUsIDgsIDYsIDIpOworICAgIHJ1blRlc3RJdGVyYXRpb24oZm9ybWF0LCBnbC5VTlNJ
R05FRF9CWVRFLCA4LCA3LCAyKTsKKyAgICBydW5UZXN0SXRlcmF0aW9uKGZvcm1hdCwgZ2wuVU5T
SUdORURfQllURSwgOCwgOCwgMik7CisgICAgcnVuVGVzdEl0ZXJhdGlvbihmb3JtYXQsIGdsLlVO
U0lHTkVEX0JZVEUsIDEsIDAsIDApOworICAgIHJ1blRlc3RJdGVyYXRpb24oZm9ybWF0LCBnbC5V
TlNJR05FRF9CWVRFLCAyLCAwLCAwKTsKKyAgICBydW5UZXN0SXRlcmF0aW9uKGZvcm1hdCwgZ2wu
VU5TSUdORURfQllURSwgNCwgMCwgMCk7CisgICAgcnVuVGVzdEl0ZXJhdGlvbihmb3JtYXQsIGds
LlVOU0lHTkVEX0JZVEUsIDgsIDAsIDApOworICAgIHJ1blRlc3RJdGVyYXRpb24oZm9ybWF0LCBn
bC5VTlNJR05FRF9CWVRFLCAxLCAtMSwgMSk7CisgICAgcnVuVGVzdEl0ZXJhdGlvbihmb3JtYXQs
IGdsLlVOU0lHTkVEX0JZVEUsIDIsIDEsIC0xKTsKKyAgICBydW5UZXN0SXRlcmF0aW9uKGZvcm1h
dCwgZ2wuVU5TSUdORURfQllURSwgNCwgMCwgLTEpOworICAgIHJ1blRlc3RJdGVyYXRpb24oZm9y
bWF0LCBnbC5VTlNJR05FRF9CWVRFLCA4LCAtMSwgLTEpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy8wMF90ZXN0X2xpc3QudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy8wMF90ZXN0X2xp
c3QudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjZiN2Y2MDg5NmRmYTQxZWIwN2M2N2Y1MDM5M2FiMjk1ZThjNzMw
YTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzLzAwX3Rlc3RfbGlzdC50eHQKQEAg
LTAsMCArMSw1IEBACitmcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCistLW1pbi12
ZXJzaW9uIDEuMC4yIGZyYW1lYnVmZmVyLXN0YXRlLXJlc3RvcmF0aW9uLmh0bWwKK2ZyYW1lYnVm
ZmVyLXRlc3QuaHRtbAorcmVuZGVyYnVmZmVyLWluaXRpYWxpemF0aW9uLmh0bWwKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1zdGF0ZS1yZXN0b3JhdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1zdGF0ZS1yZXN0b3JhdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjI1YjMxMzBhYjBiNGNkMWQ3OGEwMjE4ZmZiOTViYjk4NzYyNmU5OTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXN0YXRlLXJlc3RvcmF0aW9uLmh0bWwK
QEAgLTAsMCArMSwxMjkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIEZyYW1lYnVmZmVyIHN0YXRlIHJlc3RvcmF0aW9uIFRlc3Q8L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUw
IiBoZWlnaHQ9IjUwIj4KKzwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOworZGVzY3JpcHRpb24oKTsKKworZnVuY3Rpb24gdGVzdCgpIHsK
KyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIsIHtwcmVzZXJ2ZURyYXdp
bmdCdWZmZXI6IHRydWV9KTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBDb2xvclF1YWQoZ2wp
OworICB2YXIgY29sb3JMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29s
b3IiKTsKKyAgZ2wuZW5hYmxlKGdsLkRFUFRIX1RFU1QpOworICBnbC5kZXB0aEZ1bmMoZ2wuTEVT
Uyk7CisKKyAgdmFyIHRlc3REcmF3VG9CYWNrQnVmZmVyID0gZnVuY3Rpb24obGFiZWwpIHsKKyAg
ICBkZWJ1ZygiIik7CisgICAgZGVidWcoImRyYXdpbmcgdG8gYmFja2J1ZmZlciAiICsgbGFiZWwp
OworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklU
KTsKKyAgICAvLyBEcmF3IGluIGdyZWVuCisgICAgZ2wudW5pZm9ybTRmdihjb2xvckxvYywgWzAs
IDEsIDAsIDFdKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7CisgICAg
d3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7
CisgICAgLy8gRHJhdyBpbiByZWQsIHNob3VsZCBub3QgZHJhdyBiZWNhdXNlIG9mIGRlcHRoIHRl
c3QuCisgICAgZ2wudW5pZm9ybTRmdihjb2xvckxvYywgWzEsIDAsIDAsIDFdKTsKKyAgICBnbC5k
cmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBb
MCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIHN0aWxsIGJlIGdyZWVuIik7CisgIH0KKworICB2YXIg
dGVzdERyYXdUb0ZCTyA9IGZ1bmN0aW9uKGxhYmVsICkgeworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1ZygiZHJhd2luZyB0byBmcmFtZWJ1ZmZlciAiICsgbGFiZWwpOworICAgIC8vIERyYXcgaW4g
Z3JlZW4KKyAgICBnbC51bmlmb3JtNGZ2KGNvbG9yTG9jLCBbMCwgMSwgMCwgMV0pOworICAgIGds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2ws
IFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKyAgICAvLyBEcmF3IGluIHJl
ZCBhcyB0aGVyZSBpcyBub3QgZGVwdGggYnVmZmVyLgorICAgIGdsLnVuaWZvcm00ZnYoY29sb3JM
b2MsIFsxLCAwLCAwLCAxXSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYp
OworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwgMjU1XSwgInNob3VsZCBiZSBy
ZWQiKTsKKyAgfQorCisgIHRlc3REcmF3VG9CYWNrQnVmZmVyKCJzdGFydCIpOworCisgIHZhciBm
Ym8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpOworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVy
ZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICBnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDUwLCA1MCwgMCwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgbnVsbCk7CisgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShnbC5U
RVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19F
REdFKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBf
VCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZF
UiwgZmJvKTsKKyAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNP
TE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXgsIDApOworICBpZiAoZ2wuY2hlY2tG
cmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgIT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExF
VEUpIHsKKyAgICBmaW5pc2hUZXN0KCk7CisgICAgcmV0dXJuOworICB9CisKKyAgd3R1LmNoZWNr
Q2FudmFzKGdsLCBbMCwgMCwgMCwgMF0sICJzaG91bGQgYmUgemVybyIpOworICB0ZXN0RHJhd1Rv
RkJPKCJzdGFydCIpOworCisgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgbnVs
bCk7CisgIHRlc3REcmF3VG9CYWNrQnVmZmVyKCJhZnRlciBkcmF3aW5nIHRvIGZyYW1lYnVmZmVy
Iik7CisKKyAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICB0ZXN0
RHJhd1RvRkJPKCJhZnRlciBkcmF3aW5nIHRvIGJhY2tidWZmZXIiKTsKKworICBnbC5iaW5kRnJh
bWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIG51bGwpOworICB3dHUud2FpdEZvckNvbXBvc2l0ZShn
bCwgZnVuY3Rpb24oKSB7CisgICAgdGVzdERyYXdUb0JhY2tCdWZmZXIoImFmdGVyIGNvbXBvc2l0
ZSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICB0
ZXN0RHJhd1RvRkJPKCJhZnRlciBkcmF3aW5nIHRvIGJhY2tidWZmZXIgYWZ0ZXIgY29tcG9zaXRl
Iik7CisgICAgd3R1LndhaXRGb3JDb21wb3NpdGUoZ2wsIGZ1bmN0aW9uKCkgeworICAgICAgdGVz
dERyYXdUb0ZCTygiYWZ0ZXIgY29tcG9zaXRlIik7CisgICAgICBnbC5iaW5kRnJhbWVidWZmZXIo
Z2wuRlJBTUVCVUZGRVIsIG51bGwpOworICAgICAgdGVzdERyYXdUb0JhY2tCdWZmZXIoImFmdGVy
IGRyYXdpbmcgdG8gZnJhbWVidWZmZXIgYWZ0ZXIgY29tcG9zaXRlIik7CisKKyAgICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7CisgICAg
ICBmaW5pc2hUZXN0KCk7CisgICAgfSk7CisgIH0pOworfQordGVzdCgpOworCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExNmRlMmM0NjJmMWQ4YTE4M2E1
YTUxZWUyMmYxMjYzZDM1ZWFkODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2Zy
YW1lYnVmZmVyLXRlc3QuaHRtbApAQCAtMCwwICsxLDE5OCBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgRnJhbWVidWZmZXIgVGVzdDwvdGl0
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFu
dHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lk
dGg9IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rl
c2NyaXB0aW9uKCJUaGlzIHRlc3RzIGZyYW1lYnVmZmVyL3JlbmRlcmJ1ZmZlci1yZWxhdGVkIGZ1
bmN0aW9ucyIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwor
dmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsK
K2lmICghZ2wpIHsKKyAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworfSBl
bHNlIHsKKyAgdGVzdFBhc3NlZCgiY29udGV4dCBleGlzdHMiKTsKKworICBkZWJ1ZygiIik7Cisg
IGRlYnVnKCJDaGVja2luZyBmcmFtZWJ1ZmZlci9yZW5kZXJidWZmZXIgc3R1ZmYuIik7CisKKyAg
dmFyIHZhbHVlID0gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKAorICAgICBn
bC5GUkFNRUJVRkZFUiwKKyAgICAgZ2wuQ09MT1JfQVRUQUNITUVOVDAsCisgICAgIGdsLkZSQU1F
QlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgImNhbGxpbmcgZ2V0RnJhbWVidWZmZXJB
dHRhY2htZW50UGFyYW1ldGVyIG9uIHRoZSBkZWZhdWx0IGZyYW1lYnVmZmVyIHNob3VsZCBnZW5l
cmF0ZSBJTlZBTElEX09QRVJBVElPTi4iKTsKKworICBhc3NlcnRNc2coZ2wuY2hlY2tGcmFtZWJ1
ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgPT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUsCisg
ICAgICAgICAgICAiY2FsbGluZyBjaGVja0ZyYW1lYnVmZmVyU3RhdHVzIG9uIHRoZSBkZWZhdWx0
IGZyYW1lYnVmZmVyIHNob3VsZCBnZW5lcmF0ZSBGUkFNRUJVRkZFUl9DT01QTEVURS4iKTsKKwor
ICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXgpOworICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgZ2wudGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7
CisgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGds
LkNMQU1QX1RPX0VER0UpOworICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsCisgICAgICAg
ICAgICAgICAgMCwgICAgICAgICAgICAgICAgIC8vIGxldmVsCisgICAgICAgICAgICAgICAgZ2wu
UkdCQSwgICAgICAgICAgIC8vIGludGVybmFsRm9ybWF0CisgICAgICAgICAgICAgICAgY2FudmFz
LndpZHRoLCAgICAgIC8vIHdpZHRoCisgICAgICAgICAgICAgICAgY2FudmFzLmhlaWdodCwgICAg
IC8vIGhlaWdodAorICAgICAgICAgICAgICAgIDAsICAgICAgICAgICAgICAgICAvLyBib3JkZXIK
KyAgICAgICAgICAgICAgICBnbC5SR0JBLCAgICAgICAgICAgLy8gZm9ybWF0CisgICAgICAgICAg
ICAgICAgZ2wuVU5TSUdORURfQllURSwgIC8vIHR5cGUKKyAgICAgICAgICAgICAgICBudWxsKTsg
ICAgICAgICAgICAgLy8gZGF0YQorICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRCgKKyAgICAgIGds
LkZSQU1FQlVGRkVSLAorICAgICAgZ2wuQ09MT1JfQVRUQUNITUVOVDAsCisgICAgICBnbC5URVhU
VVJFXzJELAorICAgICAgdGV4LAorICAgICAgMCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAidHJ5aW5nIHRvIGF0dGFjaCBhIHRleHR1
cmUgdG8gZGVmYXVsdCBmcmFtZWJ1ZmZlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJ
T04uIik7CisKKyAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICBnbC5GUkFNRUJV
RkZFUiwKKyAgICAgIGdsLkNPTE9SX0FUVEFDSE1FTlQwLAorICAgICAgZ2wuUkVOREVSQlVGRkVS
LAorICAgICAgbnVsbCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJ
T04sCisgICAgICAgICAgICAidHJ5aW5nIHRvIGRldGFjaCBkZWZhdWx0IHJlbmRlcmJ1ZmZlciBm
cm9tIGRlZmF1bHQgZnJhbWVidWZmZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9O
LiIpOworCisgIHZhciByYiA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpOworICBnbC5iaW5kUmVu
ZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmIpOworICBnbC5yZW5kZXJidWZmZXJTdG9yYWdl
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7
CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAiYWxsb2Nh
dGluZyByZW5kZXJidWZmZXIgc3RvcmFnZSBvZiBhIG5ld2x5IGNyZWF0ZWQgcmVuZGVyYnVmZmVy
IHNob3VsZCBzdWNjZWVkLiIpOworCisgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAg
ICAgZ2wuRlJBTUVCVUZGRVIsCisgICAgICBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwKKyAgICAgIGds
LlJFTkRFUkJVRkZFUiwKKyAgICAgIHJiKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX09QRVJBVElPTiwKKyAgICAgICAgICAgICJ0cnlpbmcgdG8gYXR0YWNoIGEgcmVuZGVyYnVm
ZmVyIHRvIHRoZSBkZWZhdWx0IGZyYW1lYnVmZmVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09Q
RVJBVElPTi4iKTsKKworICB2YXIgZmJ0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIGZidGV4KTsKKyAgZ2wudGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbC5SR0JBLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQsIDAsIGdsLlJH
QkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICB2YXIgZmIgPSBnbC5jcmVhdGVGcmFtZWJ1
ZmZlcigpOworCisgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmIpOworICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgImJpbmRpbmcgYSBu
ZXdseSBjcmVhdGVkIGZyYW1lYnVmZmVyIHNob3VsZCBzdWNjZWVkLiIpOworCisgIHZhciB0YXJn
ZXQgPSBkZXNrdG9wR0wuUkVBRF9GUkFNRUJVRkZFUgorICBnbC5nZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXIoCisgICAgIHRhcmdldCwKKyAgICAgZ2wuQ09MT1JfQVRUQUNITUVOVDAs
CisgICAgIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpOworICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKKyAgICAgICAgICAgICJjYWxsaW5nIGdldEZy
YW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciB3aXRoIHRhcmdldCA9IFJFQURfRlJBTUVCVUZG
RVIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfRU5VTS4iKTsKKyAgYXNzZXJ0TXNnKGdsLmNoZWNr
RnJhbWVidWZmZXJTdGF0dXModGFyZ2V0KSA9PSAwLAorICAgICAgICAgICAgImNhbGxpbmcgY2hl
Y2tGcmFtZWJ1ZmZlclN0YXR1cyB3aXRoIHRhcmdldCA9IFJFQURfRlJBTUVCVUZGRVIgc2hvdWxk
IHJldHVybiAwLiIpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKKyAg
ICAgICAgICAgICJjYWxsaW5nIGNoZWNrRnJhbWVidWZmZXJTdGF0dXMgd2l0aCB0YXJnZXQgPSBS
RUFEX0ZSQU1FQlVGRkVSIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX0VOVU0uIik7CisgIGdsLmJp
bmRGcmFtZWJ1ZmZlcih0YXJnZXQsIGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkpOworICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKKyAgICAgICAgICAgICJjYWxsaW5nIGJpbmRG
cmFtZWJ1ZmZlciB3aXRoIHRhcmdldCA9IFJFQURfRlJBTUVCVUZGRVIgc2hvdWxkIGdlbmVyYXRl
IElOVkFMSURfRU5VTS4iKTsKKyAgYXNzZXJ0TXNnKGZiID09IGdsLmdldFBhcmFtZXRlcihnbC5G
UkFNRUJVRkZFUl9CSU5ESU5HKSwKKyAgICAgICAgICAgICJjYWxsaW5nIGJpbmRGcmFtZWJ1ZmZl
ciB3aXRoIHRhcmdldCA9IFJFQURfRlJBTUVCVUZGRVIgc2hvdWxkIG5vdCBjaGFuZ2UgRlJBTUVC
VUZGRVJfQklORElORy4iKTsKKyAgZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVy
KHRhcmdldCwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRf
T0JKRUNUX1RZUEUpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKKyAg
ICAgICAgICAgICJjYWxsaW5nIGdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciB3aXRo
IHRhcmdldCA9IFJFQURfRlJBTUVCVUZGRVIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfRU5VTS4i
KTsKKyAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQodGFyZ2V0LCBnbC5DT0xPUl9BVFRBQ0hNRU5U
MCwgZ2wuVEVYVFVSRV8yRCwgZmJ0ZXgsIDApOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklO
VkFMSURfRU5VTSwKKyAgICAgICAgICAgICJjYWxsaW5nIGZyYW1lYnVmZmVyVGV4SW1hZ2UyRCB3
aXRoIHRhcmdldCA9IFJFQURfRlJBTUVCVUZGRVIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfRU5V
TS4iKTsKKyAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIodGFyZ2V0LCBnbC5DT0xPUl9BVFRB
Q0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCByYik7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9FTlVNLAorICAgICAgICAgICAgImNhbGxpbmcgZnJhbWVidWZmZXJSZW5kZXJidWZm
ZXIgd2l0aCB0YXJnZXQgPSBSRUFEX0ZSQU1FQlVGRkVSIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElE
X0VOVU0uIik7CisKKyAgdmFyIGF0dGFjaG1lbnQgPSBkZXNrdG9wR0wuQ09MT1JfQVRUQUNITUVO
VDEKKyAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGF0dGFjaG1lbnQs
IGdsLlRFWFRVUkVfMkQsIGZidGV4LCAwKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX0VOVU0sCisgICAgICAgICAgICAiY2FsbGluZyBmcmFtZWJ1ZmZlclRleEltYWdlMkQgd2l0
aCBhdHRhY2htZW50ID0gQ09MT1JfQVRUQUNITUVOVDEgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURf
RU5VTS4iKTsKKyAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGF0
dGFjaG1lbnQsIGdsLlJFTkRFUkJVRkZFUiwgcmIpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
LklOVkFMSURfRU5VTSwKKyAgICAgICAgICAgICJjYWxsaW5nIGZyYW1lYnVmZmVyUmVuZGVyYnVm
ZmVyIHdpdGggYXR0YWNobWVudCA9IENPTE9SX0FUVEFDSE1FTlQxIHNob3VsZCBnZW5lcmF0ZSBJ
TlZBTElEX0VOVU0uIik7CisKKyAgZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVy
KGdsLkZSQU1FQlVGRkVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2wuQ09MT1JfQVRUQUNITUVOVDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkZXNrdG9wR0wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9DT0xPUl9FTkNPRElORyk7Cisg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLAorICAgICAgICAgICAgImNhbGxp
bmcgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIHdpdGggcG5hbWUgPSBHTF9GUkFN
RUJVRkZFUl9BVFRBQ0hNRU5UX0NPTE9SX0VOQ09ESU5HIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElE
X0VOVU0uIik7CisKKyAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGds
LkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCBmYnRleCwgMCk7CisgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAiYXR0YWNoaW5nIGEgdGV4dHVy
ZSB0byBhIGZyYW1lYnVmZmVyIHNob3VsZCBzdWNjZWVkLiIpOworCisgIGdsLmZyYW1lYnVmZmVy
VGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVS
RV8yRCwgbnVsbCwgMCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAg
ICAgICAgICAiZGV0YWNoaW5nIGEgdGV4dHVyZSBmcm9tIGEgZnJhbWVidWZmZXIgc2hvdWxkIHN1
Y2NlZWQuIik7CisKKyAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGds
LkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCBmYnRleCwgMSk7CisgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwKKyAgICAgICAgICAgICJjYWxsaW5nIGZyYW1l
YnVmZmVyVGV4dHVyZTJEIHdpdGggbm9uLXplcm8gbWlwbWFwIGxldmVsIHNob3VsZCBnZW5lcmF0
ZSBJTlZBTElEX1ZBTFVFLiIpOworCisgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZS
QU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCByYik7Cisg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAiYXR0YWNoaW5n
IGEgcmVuZGVyYnVmZmVyIHRvIGEgZnJhbWVidWZmZXIgc2hvdWxkIHN1Y2NlZWQuIik7CisKKyAg
Z2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIG51bGwpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SLAorICAgICAgICAgICAgImRldGFjaGluZyBhIHJlbmRlcmJ1ZmZlciBmcm9tIGEg
ZnJhbWVidWZmZXIgc2hvdWxkIHN1Y2NlZWQuIik7CisKKyAgZ2wuYmluZEZyYW1lYnVmZmVyKGds
LkZSQU1FQlVGRkVSLCBudWxsKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwK
KyAgICAgICAgICAgICJiaW5kaW5nIGRlZmF1bHQgKG51bGwpIGZyYW1lYnVmZmVyIHNob3VsZCBz
dWNjZWVkLiIpOworfQorCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1
ZmZlcnMvcmVuZGVyYnVmZmVyLWluaXRpYWxpemF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL3Jl
bmRlcmJ1ZmZlci1pbml0aWFsaXphdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzMjQ4YWVhODQxZDll
Mzg2NGE1NTU4OGE0MTZhZTcyYzBjYmZkMjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZm
ZXJzL3JlbmRlcmJ1ZmZlci1pbml0aWFsaXphdGlvbi5odG1sCkBAIC0wLDAgKzEsMTIxIEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8Y2FudmFzIGlkPSJ0ZXN0YmVkIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgc3R5bGU9
IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Rlc2NyaXB0aW9uKCdWZXJpZnkgcmVu
ZGVyYnVmZmVycyBhcmUgaW5pdGlhbGl6ZWQgdG8gMCBiZWZvcmUgYmVpbmcgcmVhZCBpbiBXZWJH
TCcpOworCit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJ0ZXN0YmVkIik7CitpZiAoIWds
KSB7CisgICAgdGVzdEZhaWxlZCgnY2FudmFzLmdldENvbnRleHQoKSBmYWlsZWQnKTsKK30gZWxz
ZSB7CisgICAgLy8gU2V0IHRoZSBjbGVhciBjb2xvciB0byBncmVlbi4gSXQgc2hvdWxkIG5ldmVy
IHNob3cgdXAuCisgICAgZ2wuY2xlYXJDb2xvcigwLCAxLCAwLCAxKTsKKworICAgIHJ1blRlc3Qo
Z2wsIGdsLmNhbnZhcy53aWR0aCwgZ2wuY2FudmFzLmhlaWdodCwgMCk7CisgICAgcnVuVGVzdChn
bCwgZ2wuY2FudmFzLndpZHRoLCBnbC5jYW52YXMuaGVpZ2h0LCAxKTsKKyAgICBydW5UZXN0KGds
LCBnbC5jYW52YXMud2lkdGgsIGdsLmNhbnZhcy5oZWlnaHQsIDApOworICAgIHJ1blRlc3QoZ2ws
IGdsLmNhbnZhcy53aWR0aCwgZ2wuY2FudmFzLmhlaWdodCwgMSk7CisKKyAgICAvLyBUZXN0aW5n
IGJ1ZmZlciBjbGVhcmluZyB3b24ndCBjaGFuZ2UgdGhlIGNsZWFyIHZhbHVlcy4KKyAgICB2YXIg
Y2xlYXJDb2xvciA9IGdsLmdldFBhcmFtZXRlcihnbC5DT0xPUl9DTEVBUl9WQUxVRSk7CisgICAg
c2hvdWxkQmUoImNsZWFyQ29sb3IiLCAiWzAsIDEsIDAsIDFdIik7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgJ3Nob3VsZCBiZSBubyBlcnJvcnMnKTsKK30KKworZnVuY3Rp
b24gcnVuVGVzdChnbCwgd2lkdGgsIGhlaWdodCwgb3JkZXIpCit7CisgICAgd3R1LmNoZWNrQ2Fu
dmFzUmVjdChnbCwgMCwgMCwgd2lkdGgsIGhlaWdodCwgWzAsMCwwLDBdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgImludGVybmFsIGJ1ZmZlcnMgaGF2ZSBiZWVuIGluaXRpYWxpemVkIHRvIDAi
KTsKKworICAgIC8vIGZpbGwgdGhlIGJhY2sgYnVmZmVyIHNvIHdlIGtub3cgdGhhdCByZWFkaW5n
IGJlbG93IGhhcHBlbnMgZnJvbQorICAgIC8vIHRoZSByZW5kZXJidWZmZXIuCisgICAgZ2wuY2xl
YXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICB2YXIgZmJvID0gZ2wuY3JlYXRlRnJhbWVi
dWZmZXIoKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7Cisg
ICAgdmFyIGNvbG9yYnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCk7CisgICAgZ2wuYmlu
ZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yYnVmZmVyKTsKKyAgICBzd2l0Y2gg
KG9yZGVyKSB7CisgICAgICBjYXNlIDA6CisgICAgICAgIGFsbG9jU3RvcmFnZSh3aWR0aCwgaGVp
Z2h0KTsKKyAgICAgICAgYXR0YWNoQnVmZmVyKGNvbG9yYnVmZmVyKTsKKyAgICAgICAgYnJlYWs7
CisgICAgICBjYXNlIDE6CisgICAgICAgIGF0dGFjaEJ1ZmZlcihjb2xvcmJ1ZmZlcik7CisgICAg
ICAgIGFsbG9jU3RvcmFnZSh3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
CisgICAgZnVuY3Rpb24gYWxsb2NTdG9yYWdlKHdpZHRoLCBoZWlnaHQpIHsKKyAgICAgIGdsLnJl
bmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgd2lkdGgsIGhlaWdo
dCk7CisgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAnc2hvdWxkIGJlIG5v
IGVycm9yIGFmdGVyIHJlbmRlcmJ1ZmZlclN0b3JhZ2UoaW50ZXJuYWxmb3JtYXQgPSBSR0JBNCku
Jyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYXR0YWNoQnVmZmVyKGNvbG9yYnVmZmVyKSB7Cisg
ICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1Jf
QVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgY29sb3JidWZmZXIpOworICAgIH0KKworICAg
IGlmIChnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSAhPSBnbC5GUkFN
RUJVRkZFUl9DT01QTEVURSkgeworICAgICAgICB0ZXN0RmFpbGVkKCdGcmFtZWJ1ZmZlciBpbmNv
bXBsZXRlLicpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgd3R1LmNoZWNrQ2FudmFz
UmVjdChnbCwgMCwgMCwgd2lkdGgsIGhlaWdodCwgWzAsMCwwLDBdLAorICAgICAgICAgICAgICAg
ICAgICAgICAgInVzZXIgYnVmZmVycyBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQgdG8gMCIpOworCisg
ICAgZ2wuZGVsZXRlRnJhbWVidWZmZXIoZmJvKTsKKyAgICBnbC5kZWxldGVSZW5kZXJidWZmZXIo
Y29sb3JidWZmZXIpOworCisgICAgLy8gdGhpcyBjbGVhciBzaG91bGQgbm90IG1hdHRlciB3ZSBh
cmUgYWJvdXQgdG8gcmVzaXplCisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisK
KyAgICBnbC5jYW52YXMud2lkdGggKz0gMTsKKyAgICBnbC5jYW52YXMuaGVpZ2h0ICs9IDE7CisK
KyAgICBkZWJ1ZygnJyk7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS8wMF90ZXN0X2xpc3Qu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvc3RhdGUvMDBfdGVzdF9saXN0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjkzNGJkODM5MjFkZjQ1
NmNhNjg0MDQzMDRmY2EwMTk4MWNiZWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvMDBfdGVz
dF9saXN0LnR4dApAQCAtMCwwICsxLDcgQEAKK2dsLWVuYWJsZS1lbnVtLXRlc3QuaHRtbAorZ2wt
ZW51bS10ZXN0cy5odG1sCitnbC1nZXQtY2FsbHMuaHRtbAorZ2wtZ2V0ZXJyb3IuaHRtbAorZ2wt
Z2V0c3RyaW5nLmh0bWwKK2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9z
dGF0ZS9nbC1lbmFibGUtZW51bS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1lbmFibGUtZW51bS10ZXN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGEwNjg0ZWQxMjViZWI0ZDhhYzQwMzQxNThiMmE1YzExY2ZkYjEz
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWVuYWJsZS1lbnVtLXRlc3QuaHRtbApAQCAt
MCwwICsxLDE2MiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgZ2wuRU5BQkxFIGVudW1zIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRz
LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFz
IGlkPSJjYW52YXMiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVt
ZW50YXRpb25zIGFsbG93IE9wZW5HTCBFUyAyLjAgZmVhdHVyZXMgdG8gYmUgdHVybmVkIG9uIGJ1
dCBub3Qgbm9uIE9wZW5HTCBFUyAyLjAgZmVhdHVyZXMuIik7CisKK2RlYnVnKCIiKTsKK2RlYnVn
KCJDYW52YXMuZ2V0Q29udGV4dCIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52YXMiKTsKK2lmICghZ2wpIHsKKyAgdGVzdEZh
aWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworfSBlbHNlIHsKKyAgdGVzdFBhc3NlZCgi
Y29udGV4dCBleGlzdHMiKTsKKworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJDaGVja2luZyBnbC5F
TkFCTEUgZW51bXMuIik7CisKKyAgdmFyIGludmFsaWRFbnVtcyA9IFsKKyAgICAnQUxQSEFfVEVT
VCcsCisgICAgJ0FVVE9fTk9STUFMJywKKyAgICAnQ0xJUF9QTEFORTAnLAorICAgICdDTElQX1BM
QU5FMScsCisgICAgJ0NPTE9SX0xPR0lDX09QJywKKyAgICAnQ09MT1JfTUFURVJJQUwnLAorICAg
ICdDT0xPUl9TVU0nLAorICAgICdDT0xPUl9UQUJMRScsCisgLy8gICAnQ09OVk9MVVRJT05fMUQn
LAorIC8vICAgJ0NPTlZPTFVUSU9OXzJEJywKKyAgICAnRk9HJywKKyAgICAnSElTVE9HUkFNJywK
KyAgICAnSU5ERVhfTE9HSUNfT1AnLAorICAgICdMSUdIVDAnLAorICAgICdMSUdIVDEnLAorICAg
ICdMSUdIVElORycsCisgICAgJ0xJTkVfU01PT1RIJywKKyAgICAnTElORV9TVElQUExFJywKKyAg
ICAnTUFQMV9DT0xPUl80JywKKyAgICAnTUFQMV9JTkRFWCcsCisgICAgJ01BUDFfTk9STUFMJywK
KyAgICAnTUFQMV9URVhUVVJFX0NPT1JEXzEnLAorICAgICdNQVAxX1RFWFRVUkVfQ09PUkRfMics
CisgICAgJ01BUDFfVEVYVFVSRV9DT09SRF8zJywKKyAgICAnTUFQMV9URVhUVVJFX0NPT1JEXzQn
LAorICAgICdNQVAxX1ZFUlRFWF8zJywKKyAgICAnTUFQMV9WRVJURVhfNCcsCisgICAgJ01BUDJf
Q09MT1JfNCcsCisgICAgJ01BUDJfSU5ERVgnLAorICAgICdNQVAyX05PUk1BTCcsCisgICAgJ01B
UDJfVEVYVFVSRV9DT09SRF8xJywKKyAgICAnTUFQMl9URVhUVVJFX0NPT1JEXzInLAorICAgICdN
QVAyX1RFWFRVUkVfQ09PUkRfMycsCisgICAgJ01BUDJfVEVYVFVSRV9DT09SRF80JywKKyAgICAn
TUFQMl9WRVJURVhfMycsCisgICAgJ01BUDJfVkVSVEVYXzQnLAorICAgICdNSU5NQVgnLAorICAg
ICdNVUxUSVNBTVBMRScsCisgICAgJ05PUk1BTElaRScsCisgICAgJ1BPSU5UX1NNT09USCcsCisg
ICAgJ1BPSU5UX1NQUklURScsCisgICAgJ1BPTFlHT05fT0ZGU0VUX0xJTkUnLAorICAgICdQT0xZ
R09OX09GRlNFVF9QT0lOVCcsCisgICAgJ1BPTFlHT05fU01PT1RIJywKKyAgICAnUE9MWUdPTl9T
VElQUExFJywKKyAgICAnUE9TVF9DT0xPUl9NQVRSSVhfQ09MT1JfVEFCTEUnLAorICAgICdQT1NU
X0NPTlZPTFVUSU9OX0NPTE9SX1RBQkxFJywKKyAgICAnUkVTQ0FMRV9OT1JNQUwnLAorICAgICdT
QU1QTEVfQUxQSEFfVE9fT05FJywKKyAvLyAgICdTRVBBUkFCTEVfMkQnLAorICAgICdURVhUVVJF
XzFEJywKKyAgICAnVEVYVFVSRV8yRCcsCisgICAgJ1RFWFRVUkVfM0QnLAorICAgICdURVhUVVJF
X0NVQkVfTUFQJywKKyAgICAnVEVYVFVSRV9HRU5fUScsCisgICAgJ1RFWFRVUkVfR0VOX1InLAor
ICAgICdURVhUVVJFX0dFTl9TJywKKyAgICAnVEVYVFVSRV9HRU5fVCcsCisgICAgJ1ZFUlRFWF9Q
Uk9HUkFNX1BPSU5UX1NJWkUnLAorICAgICdWRVJURVhfUFJPR1JBTV9UV09fU0lERScKKyAgXTsK
KworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgaW52YWxpZEVudW1zLmxlbmd0aDsgKytpaSkgewor
ICAgIHZhciBuYW1lID0gaW52YWxpZEVudW1zW2lpXTsKKyAgICBnbC5lbmFibGUoZGVza3RvcEdM
W25hbWVdKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwKKyAgICAg
ICAgICAgICAgImdsLmVuYWJsZSBtdXN0IHNldCBJTlZBTElEX0VOVU0gd2hlbiBwYXNzZWQgR0xf
IiArIG5hbWUgKTsKKyAgfQorCisgIHZhciB2YWxpZEVudW1zID0gWworICAgICdCTEVORCcsCisg
ICAgJ0NVTExfRkFDRScsCisgICAgJ0RFUFRIX1RFU1QnLAorICAgICdESVRIRVInLAorICAgICdQ
T0xZR09OX09GRlNFVF9GSUxMJywKKyAgICAnU0FNUExFX0FMUEhBX1RPX0NPVkVSQUdFJywKKyAg
ICAnU0FNUExFX0NPVkVSQUdFJywKKyAgICAnU0NJU1NPUl9URVNUJywKKyAgICAnU1RFTkNJTF9U
RVNUJworICBdOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB2YWxpZEVudW1zLmxlbmd0aDsg
KytpaSkgeworICAgIHZhciBuYW1lID0gdmFsaWRFbnVtc1tpaV07CisgICAgZ2wuZW5hYmxlKGds
W25hbWVdKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAg
ICAgICAiZ2wuZW5hYmxlIG11c3Qgc3VjY2VlZCB3aGVuIHBhc3NlZCBnbC4iICsgbmFtZSApOwor
CXNob3VsZEJlKCdnbC5pc0VuYWJsZWQoZ2wuJyArIG5hbWUgKyAnKScsICd0cnVlJyk7CisJZ2wu
ZGlzYWJsZShnbFtuYW1lXSk7CisJc2hvdWxkQmUoJ2dsLmlzRW5hYmxlZChnbC4nICsgbmFtZSAr
ICcpJywgJ2ZhbHNlJyk7CisgIH0KKworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
LCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9ycyIpOworfQorCitkZWJ1ZygiIik7Cit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3N0YXRlL2dsLWVudW0tdGVzdHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWVudW0tdGVz
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wMzdhYWE2NTVkOGNmNTZjZTg5ZjdkNmU3ZDk2NWMwZjc2OGE4
YzAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZW51bS10ZXN0cy5odG1sCkBAIC0wLDAg
KzEsMTEzIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBnbCBlbnVtcyBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3Qt
ZXZhbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3
aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIHZhcmlvdXMgV2ViR0wgZnVuY3Rpb25zIGZh
aWwgd2hlbiBwYXNzZWQgbm9uIE9wZW5HTCBFUyAyLjAgZW51bXMuIik7CisKK2RlYnVnKCIiKTsK
K2RlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52YXMiKTsKK2lmICghZ2wpIHsKKyAg
dGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworfSBlbHNlIHsKKyAgdGVzdFBh
c3NlZCgiY29udGV4dCBleGlzdHMiKTsKKworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJDaGVja2lu
ZyBnbCBlbnVtcy4iKTsKKworICB2YXIgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKDIpOworICB2
YXIgYnVmID0gbmV3IFVpbnQxNkFycmF5KGJ1ZmZlcik7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVU
ZXh0dXJlKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBnbC5jcmVhdGVCdWZm
ZXIoKSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIHZhciB0ZXN0
cyA9IFsKKyAgICAiZ2wuYmluZFRleHR1cmUoZGVza3RvcEdMWydURVhUVVJFXzNEJ10sIHRleCki
LAorICAgICJnbC5ibGVuZEVxdWF0aW9uKGRlc2t0b3BHTFsnTUlOJ10pIiwKKyAgICAiZ2wuYmxl
bmRFcXVhdGlvbihkZXNrdG9wR0xbJ01BWCddKSIsCisgICAgImdsLmJsZW5kRXF1YXRpb25TZXBh
cmF0ZShkZXNrdG9wR0xbJ01JTiddLCBnbC5GVU5DX0FERCkiLAorICAgICJnbC5ibGVuZEVxdWF0
aW9uU2VwYXJhdGUoZGVza3RvcEdMWydNQVgnXSwgZ2wuRlVOQ19BREQpIiwKKyAgICAiZ2wuYmxl
bmRFcXVhdGlvblNlcGFyYXRlKGdsLkZVTkNfQURELCBkZXNrdG9wR0xbJ01JTiddKSIsCisgICAg
ImdsLmJsZW5kRXF1YXRpb25TZXBhcmF0ZShnbC5GVU5DX0FERCwgZGVza3RvcEdMWydNQVgnXSki
LAorICAgICJnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgMywgZGVza3RvcEdMWydTVEFU
SUNfUkVBRCddKSIsCisgICAgImdsLmRpc2FibGUoZGVza3RvcEdMWydDTElQX1BMQU5FMCddKSIs
CisgICAgImdsLmRpc2FibGUoZGVza3RvcEdMWydQT0lOVF9TUFJJVEUnXSkiLAorICAgICJnbC5n
ZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuQVJSQVlfQlVGRkVSLCBkZXNrdG9wR0xbJ1BJWEVMX1BBQ0tf
QlVGRkVSJ10pIiwKKyAgICAiZ2wuaGludChkZXNrdG9wR0xbJ1BFUlNQRUNUSVZFX0NPUlJFQ1RJ
T05fSElOVCddLCBnbC5GQVNURVNUKSIsCisgICAgImdsLmlzRW5hYmxlZChkZXNrdG9wR0xbJ0NM
SVBfUExBTkUwJ10pIiwKKyAgICAiZ2wuaXNFbmFibGVkKGRlc2t0b3BHTFsnUE9JTlRfU1BSSVRF
J10pIiwKKyAgICAiZ2wucGl4ZWxTdG9yZWkoZGVza3RvcEdMWydQQUNLX1NXQVBfQllURVMnXSwg
MSkiLAorICBdOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdHMubGVuZ3RoOyArK2lpKSB7
CisgICAgVGVzdEV2YWwodGVzdHNbaWldKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklO
VkFMSURfRU5VTSwKKyAgICAgICAgICAgICAgdGVzdHNbaWldICsgIiBzaG91bGQgcmV0dXJuIElO
VkFMSURfRU5VTS4iKTsKKyAgfQorCisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIHRlc3RzID0gWwor
ICAgICJnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgZGVza3RvcEdMWydHRU5FUkFU
RV9NSVBNQVAnXSkiLAorICAgICJnbC50ZXhQYXJhbWV0ZXJpKGRlc2t0b3BHTFsnVEVYVFVSRV8z
RCddLCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpIiwKKyAgICAiZ2wudGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBkZXNrdG9wR0xbJ0dFTkVSQVRFX01JUE1BUCddLCAxKSIK
KyAgXTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3RzLmxlbmd0aDsgKytpaSkgeworICAg
IFRlc3RFdmFsKHRlc3RzW2lpXSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElE
X0VOVU0sCisgICAgICAgICAgICAgIHRlc3RzW2lpXSArICIgc2hvdWxkIHJldHVybiBJTlZBTElE
X0VOVU0uIik7CisgIH0KK30KKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0
YXRlL2dsLWdldC1jYWxscy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0LWNhbGxzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTVlZTdkY2NjNTNmYzczZjk1NWFjNWI3YTU3M2RkNWQxZWRlMTQwOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3N0YXRlL2dsLWdldC1jYWxscy5odG1sCkBAIC0wLDAgKzEsMTk4IEBACis8IS0tCisK
Ky8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoq
IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy
c29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4g
dGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQg
bGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz
aCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg
TWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFs
cyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxT
IEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiog
RVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS
QU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVU
SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERB
TUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD
VCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05O
RUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBnbCBjYWxscyBD
b25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlk
PSJjYW52YXMiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQ+CisidXNl
IHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgYmFzaWMgZnVuY3Rpb25h
bGl0eSBvZiB0aGUgdW5kZXJseWluZyBncmFwaGljcyBsaWJyYXJ5Iik7CisKK2RlYnVnKCIiKTsK
K2RlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOworCit2YXIgbWluaW11bVJlcXVpcmVkU3RlbmNp
bE1hc2sgPSAwOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGNvbnRleHQgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCJjYW52YXMiKTsKK2lmICghY29udGV4dCkKKyAgICB0ZXN0RmFpbGVk
KCJjb250ZXh0IGRvZXMgbm90IGV4aXN0Iik7CitlbHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJjb250
ZXh0IGV4aXN0cyIpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJDb250ZXh0IGNvbnRh
aW5zIGdldEVycm9yIik7CisgICAgaWYgKCJnZXRFcnJvciIgaW4gY29udGV4dCkKKyAgICAgIHRl
c3RQYXNzZWQoImNvbnRleHQgY29udGFpbnMgZ2V0RXJyb3IiKTsKKyAgICBlbHNlCisgICAgICB0
ZXN0RmFpbGVkKCJjb250ZXh0IGRvZXMgbm90IGNvbnRhaW5zIGdldEVycm9yIik7CisKKyAgICBk
ZWJ1ZygiIik7CisgICAgZGVidWcoIkNoZWNrIGRlZmF1bHQgdmFsdWVzIik7CisgICAgc2hvdWxk
QmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuQUNUSVZFX1RFWFRVUkUpJywgJ2NvbnRl
eHQuVEVYVFVSRTAnKTsKKyAgICBzaG91bGRCZSgnKGNvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRl
eHQuQUxJQVNFRF9MSU5FX1dJRFRIX1JBTkdFKVswXSA8PSAxKSAmJiAoY29udGV4dC5nZXRQYXJh
bWV0ZXIoY29udGV4dC5BTElBU0VEX0xJTkVfV0lEVEhfUkFOR0UpWzBdID4gMCkgJiYgKGNvbnRl
eHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuQUxJQVNFRF9MSU5FX1dJRFRIX1JBTkdFKVsxXSA+PSAx
KScsICd0cnVlJyk7CisgICAgc2hvdWxkQmUoJyhjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0
LkFMSUFTRURfUE9JTlRfU0laRV9SQU5HRSlbMF0gPD0gMSkgJiYgKGNvbnRleHQuZ2V0UGFyYW1l
dGVyKGNvbnRleHQuQUxJQVNFRF9QT0lOVF9TSVpFX1JBTkdFKVswXSA+IDApICYmIChjb250ZXh0
LmdldFBhcmFtZXRlcihjb250ZXh0LkFMSUFTRURfUE9JTlRfU0laRV9SQU5HRSlbMV0gPj0gMSkn
LCAndHJ1ZScpOworICAgIHNob3VsZEJlVHlwZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4
dC5BTElBU0VEX0xJTkVfV0lEVEhfUkFOR0UpJywgJ0Zsb2F0MzJBcnJheScpOworICAgIHNob3Vs
ZEJlVHlwZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5BTElBU0VEX1BPSU5UX1NJWkVf
UkFOR0UpJywgJ0Zsb2F0MzJBcnJheScpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFt
ZXRlcihjb250ZXh0LkFSUkFZX0JVRkZFUl9CSU5ESU5HKScsICdudWxsJyk7CisgICAgc2hvdWxk
QmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuQkxFTkQpJywgJ2ZhbHNlJyk7CisgICAg
c2hvdWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuQkxFTkRfQ09MT1IpJywgJ1sw
LCAwLCAwLCAwXScpOworICAgIHNob3VsZEJlVHlwZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29u
dGV4dC5CTEVORF9DT0xPUiknLCAnRmxvYXQzMkFycmF5Jyk7CisgICAgc2hvdWxkQmUoJ2NvbnRl
eHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuQkxFTkRfRFNUX0FMUEhBKScsICcwJyk7CisgICAgc2hv
dWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuQkxFTkRfRFNUX1JHQiknLCAnMCcp
OworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LkJMRU5EX0VRVUFU
SU9OX0FMUEhBKScsICdjb250ZXh0LkZVTkNfQUREJyk7CisgICAgc2hvdWxkQmUoJ2NvbnRleHQu
Z2V0UGFyYW1ldGVyKGNvbnRleHQuQkxFTkRfRVFVQVRJT05fUkdCKScsICdjb250ZXh0LkZVTkNf
QUREJyk7CisgICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuQkxFTkRf
U1JDX0FMUEhBKScsICcxJyk7CisgICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNv
bnRleHQuQkxFTkRfU1JDX1JHQiknLCAnMScpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBh
cmFtZXRlcihjb250ZXh0LkNPTE9SX0NMRUFSX1ZBTFVFKScsICdbMCwgMCwgMCwgMF0nKTsKKyAg
ICBzaG91bGRCZVR5cGUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuQ09MT1JfQ0xFQVJf
VkFMVUUpJywgJ0Zsb2F0MzJBcnJheScpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFt
ZXRlcihjb250ZXh0LkNPTE9SX1dSSVRFTUFTSyknLCAnW3RydWUsIHRydWUsIHRydWUsIHRydWVd
Jyk7CisgICAgc2hvdWxkQmVUeXBlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LkNPTVBS
RVNTRURfVEVYVFVSRV9GT1JNQVRTKScsICdVaW50MzJBcnJheScpOworICAgIHNob3VsZEJlKCdj
b250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LkNVTExfRkFDRSknLCAnZmFsc2UnKTsKKyAgICBz
aG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5DVUxMX0ZBQ0VfTU9ERSknLCAn
Y29udGV4dC5CQUNLJyk7CisgICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRl
eHQuQ1VSUkVOVF9QUk9HUkFNKScsICdudWxsJyk7CisgICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0
UGFyYW1ldGVyKGNvbnRleHQuREVQVEhfQ0xFQVJfVkFMVUUpJywgJzEnKTsKKyAgICBzaG91bGRC
ZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5ERVBUSF9GVU5DKScsICdjb250ZXh0LkxF
U1MnKTsKKyAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5ERVBUSF9S
QU5HRSknLCAnWzAsIDFdJyk7CisgICAgc2hvdWxkQmVUeXBlKCdjb250ZXh0LmdldFBhcmFtZXRl
cihjb250ZXh0LkRFUFRIX1JBTkdFKScsICdGbG9hdDMyQXJyYXknKTsKKyAgICBzaG91bGRCZSgn
Y29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5ERVBUSF9URVNUKScsICdmYWxzZScpOworICAg
IHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LkRFUFRIX1dSSVRFTUFTSykn
LCAndHJ1ZScpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LkRJ
VEhFUiknLCAndHJ1ZScpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250
ZXh0LkVMRU1FTlRfQVJSQVlfQlVGRkVSX0JJTkRJTkcpJywgJ251bGwnKTsKKyAgICBzaG91bGRC
ZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5GUk9OVF9GQUNFKScsICdjb250ZXh0LkND
VycpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LkdFTkVSQVRF
X01JUE1BUF9ISU5UKScsICdjb250ZXh0LkRPTlRfQ0FSRScpOworICAgIHNob3VsZEJlKCdjb250
ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LkxJTkVfV0lEVEgpJywgJzEnKTsKKyAgICBzaG91bGRC
ZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5QQUNLX0FMSUdOTUVOVCknLCAnNCcpOwor
ICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LlBPTFlHT05fT0ZGU0VU
X0ZBQ1RPUiknLCAnMCcpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250
ZXh0LlBPTFlHT05fT0ZGU0VUX0ZJTEwpJywgJ2ZhbHNlJyk7CisgICAgc2hvdWxkQmUoJ2NvbnRl
eHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuUE9MWUdPTl9PRkZTRVRfVU5JVFMpJywgJzAnKTsKKyAg
ICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5SRU5ERVJCVUZGRVJfQklO
RElORyknLCAnbnVsbCcpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250
ZXh0LlNBTVBMRV9DT1ZFUkFHRV9JTlZFUlQpJywgJ2ZhbHNlJyk7CisgICAgc2hvdWxkQmUoJ2Nv
bnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuU0FNUExFX0NPVkVSQUdFX1ZBTFVFKScsICcxJyk7
CisgICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuU0NJU1NPUl9CT1gp
WzBdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5T
Q0lTU09SX0JPWClbMV0nLCAnMCcpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRl
cihjb250ZXh0LlNDSVNTT1JfQk9YKVsyXScsICdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0
LlZJRVdQT1JUKVsyXScpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250
ZXh0LlNDSVNTT1JfQk9YKVszXScsICdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LlZJRVdQ
T1JUKVszXScpOworICAgIHNob3VsZEJlVHlwZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4
dC5TQ0lTU09SX0JPWCknLCBJbnQzMkFycmF5KTsKKyAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQ
YXJhbWV0ZXIoY29udGV4dC5TQ0lTU09SX1RFU1QpJywgJ2ZhbHNlJyk7CisgICAgc2hvdWxkQmUo
J2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuU1RFTkNJTF9CQUNLX0ZBSUwpJywgJ2NvbnRl
eHQuS0VFUCcpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LlNU
RU5DSUxfQkFDS19GVU5DKScsICdjb250ZXh0LkFMV0FZUycpOworICAgIHNob3VsZEJlKCdjb250
ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LlNURU5DSUxfQkFDS19QQVNTX0RFUFRIX0ZBSUwpJywg
J2NvbnRleHQuS0VFUCcpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250
ZXh0LlNURU5DSUxfQkFDS19QQVNTX0RFUFRIX1BBU1MpJywgJ2NvbnRleHQuS0VFUCcpOworICAg
IHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LlNURU5DSUxfQkFDS19SRUYp
JywgJzAnKTsKKworICAgIHZhciBzdGVuY2lsQml0cyA9IGNvbnRleHQuZ2V0UGFyYW1ldGVyKGNv
bnRleHQuU1RFTkNJTF9CSVRTKTsKKyAgICBtaW5pbXVtUmVxdWlyZWRTdGVuY2lsTWFzayA9ICgx
IDw8IHN0ZW5jaWxCaXRzKSAtIDE7CisKKyAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0
ZXIoY29udGV4dC5TVEVOQ0lMX0JBQ0tfVkFMVUVfTUFTSykgJiBtaW5pbXVtUmVxdWlyZWRTdGVu
Y2lsTWFzaycsICdtaW5pbXVtUmVxdWlyZWRTdGVuY2lsTWFzaycpOworICAgIHNob3VsZEJlKCdj
b250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LlNURU5DSUxfQkFDS19XUklURU1BU0spICYgbWlu
aW11bVJlcXVpcmVkU3RlbmNpbE1hc2snLCAnbWluaW11bVJlcXVpcmVkU3RlbmNpbE1hc2snKTsK
KworICAgIC8vIElmIEVYVF9wYWNrZWRfZGVwdGhfc3RlbmNpbCBpcyBzdXBwb3J0ZWQsIFNURU5D
SUxfQklUUyA+IDA7IG90aGVyd2lzZSwgU1RFTkNJTF9CSVRTID09IDAuCisgICAgc2hvdWxkQmUo
J2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuU1RFTkNJTF9CSVRTKSA+PSAwJywgJ3RydWUn
KTsKKyAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5TVEVOQ0lMX0NM
RUFSX1ZBTFVFKScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNv
bnRleHQuU1RFTkNJTF9GQUlMKScsICdjb250ZXh0LktFRVAnKTsKKyAgICBzaG91bGRCZSgnY29u
dGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5TVEVOQ0lMX0ZVTkMpJywgJ2NvbnRleHQuQUxXQVlT
Jyk7CisgICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuU1RFTkNJTF9Q
QVNTX0RFUFRIX0ZBSUwpJywgJ2NvbnRleHQuS0VFUCcpOworICAgIHNob3VsZEJlKCdjb250ZXh0
LmdldFBhcmFtZXRlcihjb250ZXh0LlNURU5DSUxfUEFTU19ERVBUSF9QQVNTKScsICdjb250ZXh0
LktFRVAnKTsKKyAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5TVEVO
Q0lMX1JFRiknLCAnMCcpOworICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250
ZXh0LlNURU5DSUxfVEVTVCknLCAnZmFsc2UnKTsKKworICAgIHNob3VsZEJlKCdjb250ZXh0Lmdl
dFBhcmFtZXRlcihjb250ZXh0LlNURU5DSUxfVkFMVUVfTUFTSykgJiBtaW5pbXVtUmVxdWlyZWRT
dGVuY2lsTWFzaycsICdtaW5pbXVtUmVxdWlyZWRTdGVuY2lsTWFzaycpOworICAgIHNob3VsZEJl
KCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0LlNURU5DSUxfV1JJVEVNQVNLKSAmIG1pbmlt
dW1SZXF1aXJlZFN0ZW5jaWxNYXNrJywgJ21pbmltdW1SZXF1aXJlZFN0ZW5jaWxNYXNrJyk7CisK
KyAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5URVhUVVJFX0JJTkRJ
TkdfMkQpJywgJ251bGwnKTsKKyAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29u
dGV4dC5URVhUVVJFX0JJTkRJTkdfQ1VCRV9NQVApJywgJ251bGwnKTsKKyAgICBzaG91bGRCZSgn
Y29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5VTlBBQ0tfQUxJR05NRU5UKScsICc0Jyk7Cisg
ICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuVU5QQUNLX0ZMSVBfWV9X
RUJHTCknLCAnZmFsc2UnKTsKKyAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29u
dGV4dC5VTlBBQ0tfUFJFTVVMVElQTFlfQUxQSEFfV0VCR0wpJywgJ2ZhbHNlJyk7CisgICAgc2hv
dWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuVklFV1BPUlQpJywgJ1swLCAwLCAy
LCAyXScpOworICAgIHNob3VsZEJlVHlwZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5W
SUVXUE9SVCknLCAnSW50MzJBcnJheScpOworCisgICAgc2hvdWxkQmVUcnVlKCdjb250ZXh0Lmdl
dFBhcmFtZXRlcihjb250ZXh0Lk1BWF9DT01CSU5FRF9URVhUVVJFX0lNQUdFX1VOSVRTKSA+PSA4
Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0Lk1BWF9D
VUJFX01BUF9URVhUVVJFX1NJWkUpID49IDE2Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdjb250ZXh0
LmdldFBhcmFtZXRlcihjb250ZXh0Lk1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlMpID49IDE2
Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0Lk1BWF9S
RU5ERVJCVUZGRVJfU0laRSkgPj0gMScpOworICAgIHNob3VsZEJlVHJ1ZSgnY29udGV4dC5nZXRQ
YXJhbWV0ZXIoY29udGV4dC5NQVhfVEVYVFVSRV9JTUFHRV9VTklUUykgPj0gOCcpOworICAgIHNo
b3VsZEJlVHJ1ZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5NQVhfVEVYVFVSRV9TSVpF
KSA+PSA2NCcpOworICAgIHNob3VsZEJlVHJ1ZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4
dC5NQVhfVkFSWUlOR19WRUNUT1JTKSA+PSA4Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdjb250ZXh0
LmdldFBhcmFtZXRlcihjb250ZXh0Lk1BWF9WRVJURVhfQVRUUklCUykgPj0gOCcpOworICAgIHNo
b3VsZEJlVHJ1ZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5NQVhfVkVSVEVYX1RFWFRV
UkVfSU1BR0VfVU5JVFMpID49IDAnKTsKKyAgICBzaG91bGRCZVRydWUoJ2NvbnRleHQuZ2V0UGFy
YW1ldGVyKGNvbnRleHQuTUFYX1ZFUlRFWF9VTklGT1JNX1ZFQ1RPUlMpID49IDEyOCcpOworICAg
IC8vIE5vdGU6IFRoaXMgcmVxdWlyZW1lbnQgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgc3Bl
YyBJTU8uIE1hbnkgaW1wZWxlbWVudGF0aW9ucworICAgIC8vIHdpbGwgYmUgYmFzZWQgb24gRkJP
cyBhbmQgRkJPcyBtaWdodCBoYXZlIGEgcmVzdHJpY3Rpb24gc21hbGxlciB0aGFuIHRoZSBjdXJy
ZW50IHNjcmVlbiBzaXplLgorICAgIC8vIGVzcGVjaWFsbHkgaWYgdGhlcmUgYXJlIG11bHRpcGxl
IHNjcmVlbnMuCisgICAgc2hvdWxkQmVUcnVlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0
Lk1BWF9WSUVXUE9SVF9ESU1TKVswXSA+PSB3aW5kb3cuc2NyZWVuLndpZHRoJyk7CisgICAgc2hv
dWxkQmVUcnVlKCdjb250ZXh0LmdldFBhcmFtZXRlcihjb250ZXh0Lk1BWF9WSUVXUE9SVF9ESU1T
KVsxXSA+PSB3aW5kb3cuc2NyZWVuLmhlaWdodCcpOworICAgIHNob3VsZEJlVHlwZSgnY29udGV4
dC5nZXRQYXJhbWV0ZXIoY29udGV4dC5NQVhfVklFV1BPUlRfRElNUyknLCAnSW50MzJBcnJheScp
OworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJjaGVjayB0ZXh0dXJlIHZhbHVlcyIpOwor
ICAgIHZhciBtYXhUZXh0dXJlcyA9IGNvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuTUFYX1RF
WFRVUkVfSU1BR0VfVU5JVFMpOworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBtYXhUZXh0dXJl
czsgKytpaSkgeworICAgICAgY29udGV4dC5hY3RpdmVUZXh0dXJlKGNvbnRleHQuVEVYVFVSRTAg
KyBpaSk7CisgICAgICBkZWJ1ZygiY2hlY2sgdGV4dHVyZSB1bml0OiAiICsgaWkpOworICAgICAg
c2hvdWxkQmUoJ2NvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuVEVYVFVSRV9CSU5ESU5HXzJE
KScsICdudWxsJyk7CisgICAgICBzaG91bGRCZSgnY29udGV4dC5nZXRQYXJhbWV0ZXIoY29udGV4
dC5URVhUVVJFX0JJTkRJTkdfQ1VCRV9NQVApJywgJ251bGwnKTsKKyAgICB9CisKKyAgICBkZWJ1
ZygiIik7CisgICAgZGVidWcoImNoZWNrIGF0dHJpYiB2YWx1ZXMiKTsKKyAgICB2YXIgbWF4QXR0
cmlicyA9IGNvbnRleHQuZ2V0UGFyYW1ldGVyKGNvbnRleHQuTUFYX1ZFUlRFWF9BVFRSSUJTKTsK
KyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgbWF4QXR0cmliczsgKytpaSkgeworICAgICAgZGVi
dWcoImNoZWNrIGF0dHJpYjogIiArIGlpKTsKKyAgICAgIHNob3VsZEJlKCdjb250ZXh0LmdldFZl
cnRleEF0dHJpYihpaSwgY29udGV4dC5WRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5H
KScsICdudWxsJyk7CisgICAgICBzaG91bGRCZSgnY29udGV4dC5nZXRWZXJ0ZXhBdHRyaWIoaWks
IGNvbnRleHQuVkVSVEVYX0FUVFJJQl9BUlJBWV9FTkFCTEVEKScsICdmYWxzZScpOworICAgICAg
c2hvdWxkQmUoJ2NvbnRleHQuZ2V0VmVydGV4QXR0cmliKGlpLCBjb250ZXh0LlZFUlRFWF9BVFRS
SUJfQVJSQVlfU0laRSknLCAnNCcpOworICAgICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0VmVydGV4
QXR0cmliKGlpLCBjb250ZXh0LlZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURFKScsICcwJyk7Cisg
ICAgICBzaG91bGRCZSgnY29udGV4dC5nZXRWZXJ0ZXhBdHRyaWIoaWksIGNvbnRleHQuVkVSVEVY
X0FUVFJJQl9BUlJBWV9UWVBFKScsICdjb250ZXh0LkZMT0FUJyk7CisgICAgICBzaG91bGRCZSgn
Y29udGV4dC5nZXRWZXJ0ZXhBdHRyaWIoaWksIGNvbnRleHQuVkVSVEVYX0FUVFJJQl9BUlJBWV9O
T1JNQUxJWkVEKScsICdmYWxzZScpOworICAgICAgc2hvdWxkQmUoJ2NvbnRleHQuZ2V0VmVydGV4
QXR0cmliKGlpLCBjb250ZXh0LkNVUlJFTlRfVkVSVEVYX0FUVFJJQiknLCAnWzAsIDAsIDAsIDFd
Jyk7CisgICAgICBzaG91bGRCZVR5cGUoJ2NvbnRleHQuZ2V0VmVydGV4QXR0cmliKGlpLCBjb250
ZXh0LkNVUlJFTlRfVkVSVEVYX0FUVFJJQiknLCAnRmxvYXQzMkFycmF5Jyk7CisgICAgICBzaG91
bGRCZSgnY29udGV4dC5nZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoaWksIGNvbnRleHQuVkVSVEVYX0FU
VFJJQl9BUlJBWV9QT0lOVEVSKScsICcwJyk7CisgICAgfQorCisgICAgc2hvdWxkQmUoJ2NvbnRl
eHQuZ2V0RXJyb3IoKScsICdjb250ZXh0Lk5PX0VSUk9SJyk7Cit9CisKK2RlYnVnKCIiKTsKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtZ2V0ZXJyb3IuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWdldGVy
cm9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjYzYjgxM2RiYThmYmI4MzVlOTJiZGE4N2I0N2FmNGNiNzVj
OWNmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLWdldGVycm9yLmh0bWwKQEAgLTAsMCAr
MSw5OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgZ2V0IGVycm9yIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFt
cGxlIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzdHlsZT0id2lkdGg6IDI1NnB4OyBoZWlnaHQ6IDQ4
cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj48ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGVzdCBn
ZXRFcnJvci4iKTsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVh
dGUzRENvbnRleHQoImV4YW1wbGUiKTsKK3ZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7Citn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworCitnbC5lbmFibGUoZGVza3RvcEdM
LkFMUEhBX1RFU1QpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJzaG91
bGQgZ2VuZXJhdGUgSU5WQUxJRF9FTlVNIik7CitnbC52aWV3cG9ydCgtMSwgLTEsIC0xLCAtMSk7
CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJzaG91bGQgZ2VuZXJhdGUg
SU5WQUxJRF9WQUxVRSIpOworZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0Is
IDEsIDEsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09Q
RVJBVElPTiIpOworCisvLyBHZW5lcmF0ZSAyIGVycm9ycyBvZiBlYWNoIHR5cGUgZm9yIDYgdG90
YWwgcG9zc2libGUgZXJyb3JzLgorLy8gVGhlIE9wZW5HTCBFUyAyLjAgc3BlYyBzZWN0aW9uIDIu
NSBzYXlzIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBhbGxvd2VkIHRvCisvLyBlaXRoZXIgcmV0dXJu
IHRoZSBmaXJzdCBlcnJvciBvciBtYW55IGVycm9ycyBpbiBhbiB1bnNwZWNpZWQgb3JkZXIuCitn
bC52aWV3cG9ydCgtMSwgLTEsIC0xLCAtMSk7CitnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQiwgMSwgMSwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7Citn
bC5lbmFibGUoZGVza3RvcEdMLkFMUEhBX1RFU1QpOworZ2wudmlld3BvcnQoLTEsIC0xLCAtMSwg
LTEpOworZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0IsIDEsIDEsIDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworLy8gTm90ZTogVGhpcyBlcnJvciBpcyBz
cGVjaWZpY2FsbHkgbGFzdCBiZWNhdXNlIHdlIGtub3cgaXQgd2lsbCBiZSBzeW50aGFzaXplZAor
Ly8gYnkgV2ViR0wgYXQgbGVhc3Qgd2hlbiBpbXBsZW1lbnRlZCBvbiB0b3Agb2YgRGVza3RvcCBP
cGVuR0wKK2dsLmVuYWJsZShkZXNrdG9wR0wuQUxQSEFfVEVTVCk7CisKK3ZhciBlcnIxID0gZ2wu
Z2V0RXJyb3IoKTsKK3ZhciBlcnIyID0gZ2wuZ2V0RXJyb3IoKTsKK3ZhciBlcnIzID0gZ2wuZ2V0
RXJyb3IoKTsKK3ZhciBlcnI0ID0gZ2wuZ2V0RXJyb3IoKTsKK3ZhciBlcnI1ID0gZ2wuZ2V0RXJy
b3IoKTsKK3ZhciBlcnI2ID0gZ2wuZ2V0RXJyb3IoKTsKKworZGVidWcoIiIpOworaWYgKGVycjIg
PT0gZ2wuTk9fRVJST1IpIHsKKyAgZGVidWcoIlRoaXMgV2ViR0wgaW1wbGVtZW50YXRpb24gbG9v
a3MgbGlrZSBpdCB1c2VzIHRoZSAnZmlyc3QgZXJyb3InIG1ldGhvZCIpOworICBkZWJ1ZygiVGhl
cmUgc2hvdWxkIGJlIDEgZXJyb3IsIHRoZSBmaXJzdCBvbmUgZ2VuZXJhdGVkIik7CisgIHNob3Vs
ZEJlVHJ1ZSgnZXJyMSA9PSBnbC5JTlZBTElEX1ZBTFVFICYmIGVycjIgPT0gZ2wuTk9fRVJST1Ig
JiYgZXJyMyA9PSBnbC5OT19FUlJPUicpOworfSBlbHNlIHsKKyAgZGVidWcoIlRoaXMgV2ViR0wg
aW1wbGVtZW50YXRpb24gbG9va3MgbGlrZSBpdCB1c2VzIHRoZSBtYW55IGVycm9yIG1ldGhvZCIp
OworICBkZWJ1ZygiQ2hlY2sgaXMgdGhhdCBhdCBsZWFzdCBvbmUgb2YgdGhlIGVycm9ycyBpcyB0
aGUgZmlyc3QgZXJyb3IiKTsKKyAgc2hvdWxkQmVUcnVlKCdlcnIxID09IGdsLklOVkFMSURfVkFM
VUUgfHwgJyArCisgICAgICAgICAgICAgICAnZXJyMiA9PSBnbC5JTlZBTElEX1ZBTFVFIHx8ICcg
KworICAgICAgICAgICAgICAgJ2VycjMgPT0gZ2wuSU5WQUxJRF9WQUxVRSB8fCAnICsKKyAgICAg
ICAgICAgICAgICdlcnI0ID09IGdsLklOVkFMSURfVkFMVUUgfHwgJyArCisgICAgICAgICAgICAg
ICAnZXJyNSA9PSBnbC5JTlZBTElEX1ZBTFVFIHx8ICcgKworICAgICAgICAgICAgICAgJ2VycjYg
PT0gZ2wuSU5WQUxJRF9WQUxVRScpOworICBzaG91bGRCZVRydWUoJ2dsLmdldEVycm9yKCkgPT0g
Z2wuTk9fRVJST1InKTsKK30KKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUv
Z2wtZ2V0c3RyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1nZXRzdHJpbmcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
ZmRmNjE4NGVhZGNjYzJkNjMzMWEyYTlkN2ZkNjIxOWZjMzA4Yzk2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvc3RhdGUvZ2wtZ2V0c3RyaW5nLmh0bWwKQEAgLTAsMCArMSw4MyBAQAorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgZ2wuZ2V0UGFyYW1ldGVy
IFN0cmluZ3MgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2
YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9
IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIGdldFBhcmFtZXRlciByZXR1cm5zIHN0cmluZ3MgaW4g
dGhlIGNvcnJlY3QgZm9ybWF0Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDYW52YXMuZ2V0Q29u
dGV4dCIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRl
M0RDb250ZXh0KCJjYW52YXMiKTsKK2lmICghZ2wpIHsKKyAgdGVzdEZhaWxlZCgiY29udGV4dCBk
b2VzIG5vdCBleGlzdCIpOworfSBlbHNlIHsKKyAgdGVzdFBhc3NlZCgiY29udGV4dCBleGlzdHMi
KTsKKworICBkZWJ1ZygiIik7CisgIGNoZWNrUHJlZml4KCJXZWJHTCAxLjAiLCAiVkVSU0lPTiIp
OworICBjaGVja1ByZWZpeCgiV2ViR0wgR0xTTCBFUyAxLjAiLCAiU0hBRElOR19MQU5HVUFHRV9W
RVJTSU9OIik7CisgIHNob3VsZEJlTm9uTnVsbCgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlZFTkRPUiki
KTsKKyAgc2hvdWxkQmVOb25OdWxsKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuUkVOREVSRVIpIik7Cisg
IHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7Cit9CisKK2Z1bmN0aW9u
IGNoZWNrUHJlZml4KGV4cGVjdGVkLCBlbnVtX3ZhbCkgeworICB2YXIgcyA9IGdsLmdldFBhcmFt
ZXRlcihnbFtlbnVtX3ZhbF0pOworICBpZiAocyAhPSBudWxsICYmCisgICAgICBzLmxlbmd0aCA+
PSBleHBlY3RlZC5sZW5ndGggJiYKKyAgICAgIHMuc3Vic3RyaW5nKDAsIGV4cGVjdGVkLmxlbmd0
aCkgPT0gZXhwZWN0ZWQpIHsKKyAgICB0ZXN0UGFzc2VkKCJnZXRQYXJhbWV0ZXIoZ2wuIiArIGVu
dW1fdmFsICsgIikgY29ycmVjdGx5IHN0YXJ0ZWQgd2l0aCAiICsgZXhwZWN0ZWQpOworICB9IGVs
c2UgeworICAgIHRlc3RGYWlsZWQoImdldFBhcmFtZXRlcihnbC4iICsgZW51bV92YWwgKyAiKSBk
aWQgbm90IHN0YXJ0IHdpdGggIiArIGV4cGVjdGVkKTsKKyAgfQorfQorCitkZWJ1ZygiIik7Cit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>