<?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>125497</bug_id>
          
          <creation_ts>2013-12-10 04:52:00 -0800</creation_ts>
          <short_desc>AX: [ATK] Convert the get_text atktest.c unit tests to layout tests</short_desc>
          <delta_ts>2013-12-10 07:41:31 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>125450</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Joanmarie Diggs">jdiggs</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>958295</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-12-10 04:52:00 -0800</bug_when>
    <thetext>Convert the get_text atktest.c unit tests to layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958298</commentid>
    <comment_count>1</comment_count>
      <attachid>218855</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-12-10 04:56:58 -0800</bug_when>
    <thetext>Created attachment 218855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958353</commentid>
    <comment_count>2</comment_count>
      <attachid>218855</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-12-10 07:13:23 -0800</bug_when>
    <thetext>Comment on attachment 218855
Patch

Lovely!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958365</commentid>
    <comment_count>3</comment_count>
      <attachid>218855</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-10 07:41:30 -0800</bug_when>
    <thetext>Comment on attachment 218855
Patch

Clearing flags on attachment: 218855

Committed r160365: &lt;http://trac.webkit.org/changeset/160365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958366</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-10 07:41:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218855</attachid>
            <date>2013-12-10 04:56:58 -0800</date>
            <delta_ts>2013-12-10 07:41:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125497-20131210135656.patch</filename>
            <type>text/plain</type>
            <size>54210</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggY2UyODliMmU2
MjNjMDg2NWI2NDhjZDJmOGYxYWQ1N2Q1ZDdlMzdkNy4uOTFjYjgzMDI0NTBmYWRiYzQyMjdkYTg3
NjIxNDNjNmQxODkyMmIxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEz
LTEyLTEwICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBB
WDogW0FUS10gQ29udmVydCB0aGUgZ2V0X3RleHQgYXRrdGVzdC5jIHVuaXQgdGVzdHMgdG8gbGF5
b3V0IHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjU0OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHRlc3RzL3Rlc3RhdGsuYzogUmVtb3ZlIHRoZSBwb3J0aW9ucyBvZiB0aGUgcmVtYWluaW5n
IHRlc3RzIHdoaWNoIG5vdyBleGlzdCBhcworICAgICAgICBsYXlvdXQgdGVzdHMuCisgICAgICAg
ICh0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzKToKKyAgICAgICAgKHRlc3RXZWJraXRBdGtDYXJl
dE9mZnNldHNBbmRFeHRyYW5vdXNXaGl0ZVNwYWNlcyk6CisgICAgICAgICh0ZXN0V2Via2l0QXRr
Q29tYm9Cb3gpOgorICAgICAgICAodGVzdFdlYmtpdEF0a0VtYmVkZGVkT2JqZWN0cyk6CisgICAg
ICAgICh0ZXN0V2Via2l0QXRrVGV4dFNlbGVjdGlvbnMpOgorICAgICAgICAodGVzdFdlYmtpdEF0
a0xpc3RzT2ZJdGVtcyk6CisgICAgICAgIChtYWluKToKKwogMjAxMy0xMi0wOSAgSm9hbm1hcmll
IERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVg6IFtBVEtdIENvbnZlcnQg
dGhlIGdldF97c3RyaW5nLHRleHR9X2F0X29mZnNldCBhdGt0ZXN0LmMgdW5pdCB0ZXN0cyB0byBs
YXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsu
YyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsuYwppbmRleCAwZmQ5OTNjZmUyYmEw
ZDk1NmE3ZmNiMTA4OGUwNjIwNDYyOTcyOTkyLi5iZDA0MTc3N2JkM2UwNmZiYmE3ODljYjdiZjk0
MmIxNDEwMTVlNGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRr
LmMKKysrIGIvU291cmNlL1dlYktpdC9ndGsvdGVzdHMvdGVzdGF0ay5jCkBAIC0zMSwxMiArMzEs
NiBAQCBzdGF0aWMgY29uc3QgY2hhciogY2VudGVyZWRDb250ZW50cyA9ICI8aHRtbD48Ym9keT48
cCBzdHlsZT0ndGV4dC1hbGlnbjogY2VudGVyOwogCiBzdGF0aWMgY29uc3QgY2hhciogY29udGVu
dHMgPSAiPGh0bWw+PGJvZHk+PHA+VGhpcyBpcyBhIHRlc3QuIFRoaXMgaXMgdGhlIHNlY29uZCBz
ZW50ZW5jZS4gQW5kIHRoaXMgdGhlIHRoaXJkLjwvcD48L2JvZHk+PC9odG1sPiI7CiAKLXN0YXRp
YyBjb25zdCBjaGFyKiBjb250ZW50c0luUGFyYWdyYXBoQW5kQm9keVNpbXBsZSA9ICI8aHRtbD48
Ym9keT48cD5UaGlzIGlzIGEgdGVzdC48L3A+SGVsbG8gd29ybGQuPC9ib2R5PjwvaHRtbD4iOwot
Ci1zdGF0aWMgY29uc3QgY2hhciogY29udGVudHNJblBhcmFncmFwaEFuZEJvZHlNb2RlcmF0ZSA9
ICI8aHRtbD48Ym9keT48cD5UaGlzIGlzIGEgdGVzdC48L3A+SGVsbG8gd29ybGQuPGJyIC8+PGZv
bnQgY29sb3I9JyMwMGNjMDAnPlRoaXMgc2VudGVuY2UgaXMgZ3JlZW4uPC9mb250PjxiciAvPlRo
aXMgb25lIGlzIG5vdC48L2JvZHk+PC9odG1sPiI7Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiBjb250
ZW50c0luVGFibGUgPSAiPGh0bWw+PGJvZHk+PHRhYmxlPjx0cj48dGQ+Zm9vPC90ZD48dGQ+YmFy
PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4iOwotCiBzdGF0aWMgY29uc3QgY2hhciog
Y29udGVudHNJblRhYmxlV2l0aEhlYWRlcnMgPSAiPGh0bWw+PGJvZHk+PHRhYmxlPjx0cj48dGg+
Zm9vPC90aD48dGg+YmFyPC90aD48dGggY29sc3Bhbj0nMic+YmF6PC90aD48L3RyPjx0cj48dGg+
cXV4PC90aD48dGQ+MTwvdGQ+PHRkPjI8L3RkPjx0ZD4zPC90ZD48L3RyPjx0cj48dGggcm93c3Bh
bj0nMic+cXV1eDwvdGg+PHRkPjQ8L3RkPjx0ZD41PC90ZD48dGQ+NjwvdGQ+PC90cj48dHI+PHRk
PjY8L3RkPjx0ZD43PC90ZD48dGQ+ODwvdGQ+PC90cj48dHI+PHRoPmNvcmdlPC90aD48dGQ+OTwv
dGQ+PHRkPjEwPC90ZD48dGQ+MTE8L3RkPjwvdHI+PC90YWJsZT48dGFibGU+PHRyPjx0ZD4xPC90
ZD48dGQ+MjwvdGQ+PC90cj48dHI+PHRkPjM8L3RkPjx0ZD40PC90ZD48L3RyPjwvdGFibGU+PC9i
b2R5PjwvaHRtbD4iOwogCiBzdGF0aWMgY29uc3QgY2hhciogY29udGVudHNXaXRoRXh0cmFuZW91
c1doaXRlU3BhY2VzID0gIjxodG1sPjxoZWFkPjxib2R5PjxwPlRoaXNcbiAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGFyYWdyYXBoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmtlZCE8L3A+
PC9ib2R5PjwvaHRtbD4iOwpAQCAtMTA4LDEwICsxMDIsNiBAQCBzdGF0aWMgdm9pZCB0ZXN0V2Vi
a2l0QXRrQ2FyZXRPZmZzZXRzKCkKICAgICBnX2Fzc2VydChBVEtfSVNfVEVYVChoZWFkZXIpKTsK
ICAgICBnX3NpZ25hbF9jb25uZWN0KGhlYWRlciwgInRleHQtY2FyZXQtbW92ZWQiLCBHX0NBTExC
QUNLKHRleHRDYXJldE1vdmVkQ2FsbGJhY2spLCAwKTsKIAotICAgIGdjaGFyKiB0ZXh0ID0gYXRr
X3RleHRfZ2V0X3RleHQoQVRLX1RFWFQoaGVhZGVyKSwgMCwgLTEpOwotICAgIGdfYXNzZXJ0X2Nt
cHN0cih0ZXh0LCA9PSwgIkEgdGV4dCBoZWFkZXIiKTsKLSAgICBnX2ZyZWUgKHRleHQpOwotCiAg
ICAgLyogSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHBsYWNlIHRoZSBjYXJldCBpbnNpZGUgYSBo
ZWFkZXIuICovCiAgICAgZ2Jvb2xlYW4gcmVzdWx0ID0gYXRrX3RleHRfc2V0X2NhcmV0X29mZnNl
dChBVEtfVEVYVChoZWFkZXIpLCA1KTsKICAgICBnX2Fzc2VydF9jbXBpbnQocmVzdWx0LCA9PSwg
VFJVRSk7CkBAIC0xMjMsMTAgKzExMyw2IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJraXRBdGtDYXJl
dE9mZnNldHMoKQogICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHBhcmFncmFwaCkpOwogICAgIGdf
c2lnbmFsX2Nvbm5lY3QocGFyYWdyYXBoLCAidGV4dC1jYXJldC1tb3ZlZCIsIEdfQ0FMTEJBQ0so
dGV4dENhcmV0TW92ZWRDYWxsYmFjayksIDApOwogCi0gICAgdGV4dCA9IGF0a190ZXh0X2dldF90
ZXh0KEFUS19URVhUKHBhcmFncmFwaCksIDAsIC0xKTsKLSAgICBnX2Fzc2VydF9jbXBzdHIodGV4
dCwgPT0sICJBIHBhcmFncmFwaCB3aXRoIGEgbGluayBpbiB0aGUgbWlkZGxlIik7Ci0gICAgZ19m
cmVlICh0ZXh0KTsKLQogICAgIC8qIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBwbGFjZSB0aGUg
Y2FyZXQgaW5zaWRlIGEgcGFyYWdyYXBoIGFuZCBhIGxpbmsuICovCiAgICAgcmVzdWx0ID0gYXRr
X3RleHRfc2V0X2NhcmV0X29mZnNldChBVEtfVEVYVChwYXJhZ3JhcGgpLCA1KTsKICAgICBnX2Fz
c2VydF9jbXBpbnQocmVzdWx0LCA9PSwgVFJVRSk7CkBAIC0xNDgsOSArMTM0LDYgQEAgc3RhdGlj
IHZvaWQgdGVzdFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAKICAgICBBdGtPYmplY3QqIGxpbmsg
PSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKHBhcmFncmFwaCwgMCk7CiAgICAgZ19h
c3NlcnQoQVRLX0lTX1RFWFQobGluaykpOwotICAgIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4dChB
VEtfVEVYVChsaW5rKSwgMCwgLTEpOwotICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIndp
dGggYSBsaW5rIik7Ci0gICAgZ19mcmVlICh0ZXh0KTsKIAogICAgIHJlc3VsdCA9IGF0a190ZXh0
X3NldF9jYXJldF9vZmZzZXQoQVRLX1RFWFQobGluayksIDUpOwogICAgIGdfYXNzZXJ0X2NtcGlu
dChyZXN1bHQsID09LCBUUlVFKTsKQEAgLTE2NSwyNCArMTQ4LDggQEAgc3RhdGljIHZvaWQgdGVz
dFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAgICAgZ19hc3NlcnRfY21waW50KGF0a19vYmplY3Rf
Z2V0X25fYWNjZXNzaWJsZV9jaGlsZHJlbihsaXN0KSwgPT0sIDMpOwogCiAgICAgQXRrT2JqZWN0
KiBsaXN0SXRlbSA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQobGlzdCwgMCk7Ci0g
ICAgZ19hc3NlcnQoQVRLX0lTX1RFWFQobGlzdEl0ZW0pKTsKLSAgICB0ZXh0ID0gYXRrX3RleHRf
Z2V0X3RleHQoQVRLX1RFWFQobGlzdEl0ZW0pLCAwLCAtMSk7Ci0gICAgZ19hc3NlcnRfY21wc3Ry
KHRleHQsID09LCAiMS4gQSBsaXN0IGl0ZW0iKTsKLSAgICBnX2ZyZWUgKHRleHQpOwotICAgIGdf
b2JqZWN0X3VucmVmKGxpc3RJdGVtKTsKLQotICAgIGxpc3RJdGVtID0gYXRrX29iamVjdF9yZWZf
YWNjZXNzaWJsZV9jaGlsZChsaXN0LCAxKTsKLSAgICBnX2Fzc2VydChBVEtfSVNfVEVYVChsaXN0
SXRlbSkpOwotICAgIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVChsaXN0SXRlbSks
IDAsIC0xKTsKLSAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICIyLiBCbG9jayBzcGFuIGlu
IGEgbGlzdCBpdGVtXG5JbmxpbmUgc3BhbiBpbiBhIGxpc3QgaXRlbSIpOwotICAgIGdfZnJlZSAo
dGV4dCk7Ci0gICAgZ19vYmplY3RfdW5yZWYobGlzdEl0ZW0pOwotCiAgICAgbGlzdEl0ZW0gPSBh
dGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKGxpc3QsIDIpOwogICAgIGdfYXNzZXJ0KEFU
S19JU19URVhUKGxpc3RJdGVtKSk7Ci0gICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19U
RVhUKGxpc3RJdGVtKSwgMCwgLTEpOwotICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIjMu
IEJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgbGlzdCBpdGVtXG5JbmxpbmUgc3BhbiBpbiBhIGxp
bmsgaW4gYSBsaXN0IGl0ZW0iKTsKLSAgICBnX2ZyZWUgKHRleHQpOwogCiAgICAgLyogSXQncyBu
b3QgcG9zc2libGUgdG8gcGxhY2UgdGhlIGNhcmV0IGluc2lkZSBhbiBpdGVtJ3MgbWFya2VyLiAq
LwogICAgIHJlc3VsdCA9IGF0a190ZXh0X3NldF9jYXJldF9vZmZzZXQoQVRLX1RFWFQobGlzdEl0
ZW0pLCAxKTsKQEAgLTIwMCwyMSArMTY3LDE1IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJraXRBdGtD
YXJldE9mZnNldHMoKQogCiAgICAgQXRrT2JqZWN0KiBjb21ib0JveCA9IGF0a19vYmplY3RfcmVm
X2FjY2Vzc2libGVfY2hpbGQocGFuZWwsIDApOwogICAgIGdfYXNzZXJ0KEFUS19JU19PQkpFQ1Qo
Y29tYm9Cb3gpKTsKLSAgICBnX2Fzc2VydCghQVRLX0lTX1RFWFQoY29tYm9Cb3gpKTsKICAgICBn
X2Fzc2VydChhdGtfb2JqZWN0X2dldF9yb2xlKGNvbWJvQm94KSA9PSBBVEtfUk9MRV9DT01CT19C
T1gpOwogCiAgICAgQXRrT2JqZWN0KiBtZW51UG9wdXAgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3Np
YmxlX2NoaWxkKGNvbWJvQm94LCAwKTsKICAgICBnX2Fzc2VydChBVEtfSVNfT0JKRUNUKG1lbnVQ
b3B1cCkpOwotICAgIGdfYXNzZXJ0KCFBVEtfSVNfVEVYVChtZW51UG9wdXApKTsKICAgICBnX2Fz
c2VydChhdGtfb2JqZWN0X2dldF9yb2xlKG1lbnVQb3B1cCkgPT0gQVRLX1JPTEVfTUVOVSk7CiAK
ICAgICBBdGtPYmplY3QqIGNvbWJvQm94T3B0aW9uID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJs
ZV9jaGlsZChtZW51UG9wdXAsIDApOwogICAgIGdfYXNzZXJ0KEFUS19JU19PQkpFQ1QoY29tYm9C
b3hPcHRpb24pKTsKICAgICBnX2Fzc2VydChhdGtfb2JqZWN0X2dldF9yb2xlKGNvbWJvQm94T3B0
aW9uKSA9PSBBVEtfUk9MRV9NRU5VX0lURU0pOwotICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKGNv
bWJvQm94T3B0aW9uKSk7Ci0gICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKGNv
bWJvQm94T3B0aW9uKSwgMCwgLTEpOwotICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIkFu
IG9wdGlvbiBpbiBhIGNvbWJvIGJveCIpOwotICAgIGdfZnJlZSh0ZXh0KTsKIAogICAgIC8qIEl0
J3Mgbm90IHBvc3NpYmxlIHRvIHBsYWNlIHRoZSBjYXJldCBpbnNpZGUgYW4gb3B0aW9uIGZvciBh
IGNvbWJvYm94LiAqLwogICAgIHJlc3VsdCA9IGF0a190ZXh0X3NldF9jYXJldF9vZmZzZXQoQVRL
X1RFWFQoY29tYm9Cb3hPcHRpb24pLCAxKTsKQEAgLTIyMywxMCArMTg0LDYgQEAgc3RhdGljIHZv
aWQgdGVzdFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAgICAgQXRrT2JqZWN0KiB0ZXh0RW50cnkg
PSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKHBhbmVsLCAxKTsKICAgICBnX2Fzc2Vy
dChBVEtfSVNfT0JKRUNUKHRleHRFbnRyeSkpOwogICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0
X3JvbGUodGV4dEVudHJ5KSA9PSBBVEtfUk9MRV9FTlRSWSk7Ci0gICAgZ19hc3NlcnQoQVRLX0lT
X1RFWFQodGV4dEVudHJ5KSk7Ci0gICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhU
KHRleHRFbnRyeSksIDAsIC0xKTsKLSAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICJmb28g
YmFyIGJheiIpOwotICAgIGdfZnJlZSh0ZXh0KTsKIAogICAgIHJlc3VsdCA9IGF0a190ZXh0X3Nl
dF9jYXJldF9vZmZzZXQoQVRLX1RFWFQodGV4dEVudHJ5KSwgNSk7CiAgICAgZ19hc3NlcnRfY21w
aW50KHJlc3VsdCwgPT0sIFRSVUUpOwpAQCAtMjM1LDY1ICsxOTIsMTggQEAgc3RhdGljIHZvaWQg
dGVzdFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAKICAgICBBdGtPYmplY3QqIHRhYmxlID0gYXRr
X29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChvYmplY3QsIDQpOwogICAgIGdfYXNzZXJ0KEFU
S19JU19PQkpFQ1QodGFibGUpKTsKLSAgICBnX2Fzc2VydCghQVRLX0lTX1RFWFQodGFibGUpKTsK
ICAgICBnX2Fzc2VydChhdGtfb2JqZWN0X2dldF9yb2xlKHRhYmxlKSA9PSBBVEtfUk9MRV9UQUJM
RSk7CiAgICAgZ19hc3NlcnRfY21waW50KGF0a19vYmplY3RfZ2V0X25fYWNjZXNzaWJsZV9jaGls
ZHJlbih0YWJsZSksID09LCA0KTsKIAogICAgIEF0a09iamVjdCogdGFibGVDZWxsID0gYXRrX29i
amVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZCh0YWJsZSwgMCk7Ci0gICAgZ19hc3NlcnQoQVRLX0lT
X1RFWFQodGFibGVDZWxsKSk7CiAgICAgZ19hc3NlcnQoYXRrX29iamVjdF9nZXRfcm9sZSh0YWJs
ZUNlbGwpID09IEFUS19ST0xFX1RBQkxFX0NFTEwpOwotICAgIHRleHQgPSBhdGtfdGV4dF9nZXRf
dGV4dChBVEtfVEVYVCh0YWJsZUNlbGwpLCAwLCAtMSk7Ci0gICAgZ19hc3NlcnRfY21wc3RyKHRl
eHQsID09LCAiYSB0YWJsZSBjZWxsIik7Ci0gICAgZ19mcmVlKHRleHQpOwotCiAgICAgcmVzdWx0
ID0gYXRrX3RleHRfc2V0X2NhcmV0X29mZnNldChBVEtfVEVYVCh0YWJsZUNlbGwpLCAyKTsKICAg
ICBnX2Fzc2VydF9jbXBpbnQocmVzdWx0LCA9PSwgVFJVRSk7CiAgICAgb2Zmc2V0ID0gYXRrX3Rl
eHRfZ2V0X2NhcmV0X29mZnNldChBVEtfVEVYVCh0YWJsZUNlbGwpKTsKICAgICBnX2Fzc2VydF9j
bXBpbnQob2Zmc2V0LCA9PSwgMik7Ci0gICAgZ19vYmplY3RfdW5yZWYodGFibGVDZWxsKTsKLQot
ICAgIC8qIEV2ZW4gZW1wdHkgdGFibGUgY2VsbHMgc2hvdWxkIGltcGxlbWVudCBBdGtUZXh0LCBi
dXQgcmVwb3J0IGFuIGVtcHR5IHN0cmluZyAqLwotICAgIHRhYmxlQ2VsbCA9IGF0a19vYmplY3Rf
cmVmX2FjY2Vzc2libGVfY2hpbGQodGFibGUsIDEpOwotICAgIGdfYXNzZXJ0KEFUS19JU19URVhU
KHRhYmxlQ2VsbCkpOwotICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUodGFibGVDZWxs
KSA9PSBBVEtfUk9MRV9UQUJMRV9DRUxMKTsKLSAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQo
QVRLX1RFWFQodGFibGVDZWxsKSwgMCwgLTEpOwotICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9
PSwgIiIpOwotICAgIGdfZnJlZSh0ZXh0KTsKLSAgICBnX29iamVjdF91bnJlZih0YWJsZUNlbGwp
OwotCi0gICAgdGFibGVDZWxsID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZCh0YWJs
ZSwgMik7Ci0gICAgZ19hc3NlcnQoQVRLX0lTX1RFWFQodGFibGVDZWxsKSk7Ci0gICAgZ19hc3Nl
cnQoYXRrX29iamVjdF9nZXRfcm9sZSh0YWJsZUNlbGwpID09IEFUS19ST0xFX1RBQkxFX0NFTEwp
OwotICAgIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVCh0YWJsZUNlbGwpLCAwLCAt
MSk7Ci0gICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiQmxvY2sgc3BhbiBpbiBhIGxpbmsg
aW4gYSB0YWJsZSBjZWxsXG5JbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSB0YWJsZSBjZWxsIik7
Ci0gICAgZ19mcmVlKHRleHQpOwotICAgIGdfb2JqZWN0X3VucmVmKHRhYmxlQ2VsbCk7Ci0KLSAg
ICB0YWJsZUNlbGwgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKHRhYmxlLCAzKTsK
LSAgICBnX2Fzc2VydChBVEtfSVNfVEVYVCh0YWJsZUNlbGwpKTsKLSAgICBnX2Fzc2VydChhdGtf
b2JqZWN0X2dldF9yb2xlKHRhYmxlQ2VsbCkgPT0gQVRLX1JPTEVfVEFCTEVfQ0VMTCk7Ci0gICAg
dGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKHRhYmxlQ2VsbCksIDAsIC0xKTsKLSAg
ICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICJCbG9jayBzcGFuIGluIGEgdGFibGUgY2VsbFxu
SW5saW5lIHNwYW4gaW4gYSB0YWJsZSBjZWxsIik7Ci0gICAgZ19mcmVlKHRleHQpOwotCi0gICAg
aGVhZGVyID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChvYmplY3QsIDUpOwotICAg
IGdfYXNzZXJ0KEFUS19JU19URVhUKGhlYWRlcikpOwotICAgIGdfYXNzZXJ0KGF0a19vYmplY3Rf
Z2V0X3JvbGUoaGVhZGVyKSA9PSBBVEtfUk9MRV9IRUFESU5HKTsKLSAgICB0ZXh0ID0gYXRrX3Rl
eHRfZ2V0X3RleHQoQVRLX1RFWFQoaGVhZGVyKSwgMCwgLTEpOwotICAgIGdfYXNzZXJ0X2NtcHN0
cih0ZXh0LCA9PSwgIkJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgaGVhZGluZ1xuSW5saW5lIHNw
YW4gaW4gYSBsaW5rIGluIGEgaGVhZGluZyIpOwotICAgIGdfZnJlZSh0ZXh0KTsKLSAgICBnX29i
amVjdF91bnJlZihoZWFkZXIpOwotCi0gICAgaGVhZGVyID0gYXRrX29iamVjdF9yZWZfYWNjZXNz
aWJsZV9jaGlsZChvYmplY3QsIDYpOwotICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKGhlYWRlcikp
OwotICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUoaGVhZGVyKSA9PSBBVEtfUk9MRV9I
RUFESU5HKTsKLSAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRLX1RFWFQoaGVhZGVyKSwg
MCwgLTEpOwotICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIkJsb2NrIHNwYW4gaW4gYSBo
ZWFkaW5nXG5JbmxpbmUgc3BhbiBpbiBhIGhlYWRpbmciKTsKLSAgICBnX2ZyZWUodGV4dCk7CiAK
ICAgICBnX2ZyZWUodGV4dENhcmV0TW92ZWRSZXN1bHQpOwogCi0gICAgZ19vYmplY3RfdW5yZWYo
aGVhZGVyKTsKICAgICBnX29iamVjdF91bnJlZihwYXJhZ3JhcGgpOwogICAgIGdfb2JqZWN0X3Vu
cmVmKGxpbmspOwogICAgIGdfb2JqZWN0X3VucmVmKGxpc3QpOwpAQCAtMzI5LDEwICsyMzksNiBA
QCBzdGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzQW5kRXh0cmFub3VzV2hpdGVT
cGFjZXMoKQogICAgIEF0a1RleHQqIHRleHRPYmplY3QgPSBBVEtfVEVYVChvYmplY3QpOwogICAg
IGdfYXNzZXJ0KEFUS19JU19URVhUKHRleHRPYmplY3QpKTsKIAotICAgIGdjaGFyKiB0ZXh0ID0g
YXRrX3RleHRfZ2V0X3RleHQodGV4dE9iamVjdCwgMCwgLTEpOwotICAgIGdfYXNzZXJ0X2NtcHN0
cih0ZXh0LCA9PSwgIlRoaXMgcGFyYWdyYXBoIGlzIGJvcmtlZCEiKTsKLSAgICBnX2ZyZWUodGV4
dCk7Ci0KICAgICBnaW50IGNoYXJhY3RlckNvdW50ID0gYXRrX3RleHRfZ2V0X2NoYXJhY3Rlcl9j
b3VudCh0ZXh0T2JqZWN0KTsKICAgICBnX2Fzc2VydF9jbXBpbnQoY2hhcmFjdGVyQ291bnQsID09
LCAyNSk7CiAKQEAgLTQyNywyNSArMzMzLDYgQEAgc3RhdGljIHZvaWQgdGVzdFdlYmtpdEF0a0Nv
bWJvQm94KCkKICAgICBnX2Fzc2VydChzZWxlY3RlZEl0ZW0gPT0gaXRlbTIpOwogICAgIGdfb2Jq
ZWN0X3VucmVmKHNlbGVjdGVkSXRlbSk7CiAKLSAgICAvKiBDaGVjayB0aGUgaW1wbGVtZW50YXRp
b24gb2YgdGhlIEF0a1RleHQgaW50ZXJmYWNlLiAqLwotICAgIGdfYXNzZXJ0KEFUS19JU19URVhU
KGl0ZW0xKSk7Ci0gICAgQXRrVGV4dCogYXRrVGV4dCA9IEFUS19URVhUKGl0ZW0xKTsKLSAgICBj
aGFyICp0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoYXRrVGV4dCwgMCwgLTEpOwotICAgIGdfYXNz
ZXJ0X2NtcHN0cih0ZXh0LCA9PSwgImZvbyIpOwotICAgIGdfZnJlZSh0ZXh0KTsKLSAgICB0ZXh0
ID0gYXRrX3RleHRfZ2V0X3RleHQoYXRrVGV4dCwgMCwgMik7Ci0gICAgZ19hc3NlcnRfY21wc3Ry
KHRleHQsID09LCAiZm8iKTsKLSAgICBnX2ZyZWUodGV4dCk7Ci0KLSAgICBnX2Fzc2VydChBVEtf
SVNfVEVYVChpdGVtMikpOwotICAgIGF0a1RleHQgPSBBVEtfVEVYVChpdGVtMik7Ci0gICAgdGV4
dCA9IGF0a190ZXh0X2dldF90ZXh0KGF0a1RleHQsIDAsIC0xKTsKLSAgICBnX2Fzc2VydF9jbXBz
dHIodGV4dCwgPT0sICJiYXIiKTsKLSAgICBnX2ZyZWUodGV4dCk7Ci0gICAgdGV4dCA9IGF0a190
ZXh0X2dldF90ZXh0KGF0a1RleHQsIDEsIDMpOwotICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9
PSwgImFyIik7Ci0gICAgZ19mcmVlKHRleHQpOwotCiAgICAgZ19vYmplY3RfdW5yZWYoZm9ybU9i
amVjdCk7CiAgICAgZ19vYmplY3RfdW5yZWYoY29tYm9Cb3gpOwogICAgIGdfb2JqZWN0X3VucmVm
KG1lbnVQb3B1cCk7CkBAIC01MTksMTEgKzQwNiw2IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJraXRB
dGtFbWJlZGRlZE9iamVjdHMoKQogICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHBhcmFncmFwaDEp
KTsKICAgICBnX2Fzc2VydChBVEtfSVNfSFlQRVJURVhUKHBhcmFncmFwaDEpKTsKIAotICAgIGNv
bnN0IGdjaGFyKiBleHBlY3RlZFRleHQgPSAiQ2hvb3NlOiBcMzU3XDI3N1wyNzRmb28gXDM1N1wy
NzdcMjc0YmFyIChwaWNrIG9uZSkiOwotICAgIGNoYXIqIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4
dChwYXJhZ3JhcGgxLCAwLCAtMSk7Ci0gICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCBleHBl
Y3RlZFRleHQpOwotICAgIGdfZnJlZSh0ZXh0KTsKLQogICAgIGdpbnQgbkxpbmtzID0gYXRrX2h5
cGVydGV4dF9nZXRfbl9saW5rcyhBVEtfSFlQRVJURVhUKHBhcmFncmFwaDEpKTsKICAgICBnX2Fz
c2VydF9jbXBpbnQobkxpbmtzLCA9PSwgMik7CiAKQEAgLTUzOCwxNCArNDIwLDggQEAgc3RhdGlj
IHZvaWQgdGVzdFdlYmtpdEF0a0VtYmVkZGVkT2JqZWN0cygpCiAgICAgZ19hc3NlcnRfY21wc3Ry
KGF0a19oeXBlcmxpbmtfZ2V0X3VyaShoTGluaywgMCksID09LCAwKTsKIAogICAgIEF0a1RleHQq
IHBhcmFncmFwaDIgPSBBVEtfVEVYVChhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKG9i
amVjdCwgMSkpOwotICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHBhcmFncmFwaDIpKTsKICAgICBn
X2Fzc2VydChBVEtfSVNfSFlQRVJURVhUKHBhcmFncmFwaDIpKTsKIAotICAgIGV4cGVjdGVkVGV4
dCA9ICJDaG9vc2U6IFwzNTdcMjc3XDI3NCAocGljayBvbmUpIjsKLSAgICB0ZXh0ID0gYXRrX3Rl
eHRfZ2V0X3RleHQocGFyYWdyYXBoMiwgMCwgLTEpOwotICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0
LCA9PSwgZXhwZWN0ZWRUZXh0KTsKLSAgICBnX2ZyZWUodGV4dCk7Ci0KICAgICBuTGlua3MgPSBh
dGtfaHlwZXJ0ZXh0X2dldF9uX2xpbmtzKEFUS19IWVBFUlRFWFQocGFyYWdyYXBoMikpOwogICAg
IGdfYXNzZXJ0X2NtcGludChuTGlua3MsID09LCAxKTsKIApAQCAtNTYwLDE0ICs0MzYsOCBAQCBz
dGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrRW1iZWRkZWRPYmplY3RzKCkKICAgICBnX2Fzc2VydF9j
bXBzdHIoYXRrX2h5cGVybGlua19nZXRfdXJpKGhMaW5rLCAwKSwgPT0sIDApOwogCiAgICAgQXRr
VGV4dCogcGFyYWdyYXBoMyA9IEFUS19URVhUKGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hp
bGQob2JqZWN0LCAyKSk7Ci0gICAgZ19hc3NlcnQoQVRLX0lTX1RFWFQocGFyYWdyYXBoMykpOwog
ICAgIGdfYXNzZXJ0KEFUS19JU19IWVBFUlRFWFQocGFyYWdyYXBoMykpOwogCi0gICAgZXhwZWN0
ZWRUZXh0ID0gIlwzNTdcMjc3XDI3NCI7Ci0gICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KHBh
cmFncmFwaDMsIDAsIC0xKTsKLSAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sIGV4cGVjdGVk
VGV4dCk7Ci0gICAgZ19mcmVlKHRleHQpOwotCiAgICAgbkxpbmtzID0gYXRrX2h5cGVydGV4dF9n
ZXRfbl9saW5rcyhBVEtfSFlQRVJURVhUKHBhcmFncmFwaDMpKTsKICAgICBnX2Fzc2VydF9jbXBp
bnQobkxpbmtzLCA9PSwgMSk7CiAKQEAgLTU4NywxMjQgKzQ1Nyw2IEBAIHN0YXRpYyB2b2lkIHRl
c3RXZWJraXRBdGtFbWJlZGRlZE9iamVjdHMoKQogICAgIGdfb2JqZWN0X3VucmVmKHdlYlZpZXcp
OwogfQogCi0jaWYgIUFUS19DSEVDS19WRVJTSU9OKDIsIDEwLCAwKQotdHlwZWRlZiBnY2hhciog
KCpBdGtHZXRUZXh0RnVuY3Rpb24pIChBdGtUZXh0KiwgZ2ludCwgQXRrVGV4dEJvdW5kYXJ5LCBn
aW50KiwgZ2ludCopOwotCi1zdGF0aWMgdm9pZCB0ZXN0R2V0VGV4dEZ1bmN0aW9uKEF0a1RleHQq
IHRleHRPYmplY3QsIEF0a0dldFRleHRGdW5jdGlvbiBmbiwgQXRrVGV4dEJvdW5kYXJ5IGJvdW5k
YXJ5LCBnaW50IG9mZnNldCwgY29uc3QgY2hhciogdGV4dFJlc3VsdCwgZ2ludCBzdGFydE9mZnNl
dFJlc3VsdCwgZ2ludCBlbmRPZmZzZXRSZXN1bHQpCi17Ci0gICAgZ2ludCBzdGFydE9mZnNldDsK
LSAgICBnaW50IGVuZE9mZnNldDsKLSAgICBjaGFyKiB0ZXh0ID0gZm4odGV4dE9iamVjdCwgb2Zm
c2V0LCBib3VuZGFyeSwgJnN0YXJ0T2Zmc2V0LCAmZW5kT2Zmc2V0KTsKLSAgICBnX2Fzc2VydF9j
bXBzdHIodGV4dCwgPT0sIHRleHRSZXN1bHQpOwotICAgIGdfYXNzZXJ0X2NtcGludChzdGFydE9m
ZnNldCwgPT0sIHN0YXJ0T2Zmc2V0UmVzdWx0KTsKLSAgICBnX2Fzc2VydF9jbXBpbnQoZW5kT2Zm
c2V0LCA9PSwgZW5kT2Zmc2V0UmVzdWx0KTsKLSAgICBnX2ZyZWUodGV4dCk7Ci19Ci0jZWxzZSAv
LyAhQVRLX0NIRUNLX1ZFUlNJT04oMiwgMTAsIDApCi0KLXR5cGVkZWYgZ2NoYXIqICgqQXRrR2V0
U3RyaW5nRnVuY3Rpb24pIChBdGtUZXh0KiwgZ2ludCwgQXRrVGV4dEdyYW51bGFyaXR5LCBnaW50
KiwgZ2ludCopOwotCi1zdGF0aWMgdm9pZCB0ZXN0R2V0U3RyaW5nRnVuY3Rpb24oQXRrVGV4dCog
dGV4dE9iamVjdCwgQXRrR2V0U3RyaW5nRnVuY3Rpb24gZm4sIEF0a1RleHRHcmFudWxhcml0eSBn
cmFudWxhcml0eSwgZ2ludCBvZmZzZXQsIGNvbnN0IGNoYXIqIHRleHRSZXN1bHQsIGdpbnQgc3Rh
cnRPZmZzZXRSZXN1bHQsIGdpbnQgZW5kT2Zmc2V0UmVzdWx0KQotewotICAgIGdpbnQgc3RhcnRP
ZmZzZXQ7Ci0gICAgZ2ludCBlbmRPZmZzZXQ7Ci0gICAgY2hhciogdGV4dCA9IGZuKHRleHRPYmpl
Y3QsIG9mZnNldCwgZ3JhbnVsYXJpdHksICZzdGFydE9mZnNldCwgJmVuZE9mZnNldCk7Ci0gICAg
Z19hc3NlcnRfY21wc3RyKHRleHQsID09LCB0ZXh0UmVzdWx0KTsKLSAgICBnX2Fzc2VydF9jbXBp
bnQoc3RhcnRPZmZzZXQsID09LCBzdGFydE9mZnNldFJlc3VsdCk7Ci0gICAgZ19hc3NlcnRfY21w
aW50KGVuZE9mZnNldCwgPT0sIGVuZE9mZnNldFJlc3VsdCk7Ci0gICAgZ19mcmVlKHRleHQpOwot
fQotCi0jZW5kaWYgLy8gIUFUS19DSEVDS19WRVJTSU9OKDIsIDEwLCAwKQotCi1zdGF0aWMgdm9p
ZCB0ZXN0V2Via2l0QXRrR2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keVNpbXBsZSgpCi17Ci0gICAg
V2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyh3ZWJraXRfd2ViX3ZpZXdf
bmV3KCkpOwotICAgIGdfb2JqZWN0X3JlZl9zaW5rKHdlYlZpZXcpOwotICAgIEd0a0FsbG9jYXRp
b24gYWxsb2NhdGlvbiA9IHsgMCwgMCwgODAwLCA2MDAgfTsKLSAgICBndGtfd2lkZ2V0X3NpemVf
YWxsb2NhdGUoR1RLX1dJREdFVCh3ZWJWaWV3KSwgJmFsbG9jYXRpb24pOwotICAgIHdlYmtpdF93
ZWJfdmlld19sb2FkX3N0cmluZyh3ZWJWaWV3LCBjb250ZW50c0luUGFyYWdyYXBoQW5kQm9keVNp
bXBsZSwgMCwgMCwgMCk7Ci0KLSAgICAvKiBHZXQgdG8gdGhlIGlubmVyIEF0a1RleHQgb2JqZWN0
LiAqLwotICAgIEF0a09iamVjdCogb2JqZWN0ID0gZ2V0V2ViQXJlYU9iamVjdCh3ZWJWaWV3KTsK
LSAgICBnX2Fzc2VydChvYmplY3QpOwotICAgIEF0a09iamVjdCogb2JqZWN0MSA9IGF0a19vYmpl
Y3RfcmVmX2FjY2Vzc2libGVfY2hpbGQob2JqZWN0LCAwKTsKLSAgICBnX2Fzc2VydChvYmplY3Qx
KTsKLSAgICBBdGtPYmplY3QqIG9iamVjdDIgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2No
aWxkKG9iamVjdCwgMSk7Ci0gICAgZ19hc3NlcnQob2JqZWN0Mik7Ci0KLSAgICBBdGtUZXh0KiB0
ZXh0T2JqZWN0MSA9IEFUS19URVhUKG9iamVjdDEpOwotICAgIGdfYXNzZXJ0KEFUS19JU19URVhU
KHRleHRPYmplY3QxKSk7Ci0gICAgQXRrVGV4dCogdGV4dE9iamVjdDIgPSBBVEtfVEVYVChvYmpl
Y3QyKTsKLSAgICBnX2Fzc2VydChBVEtfSVNfVEVYVCh0ZXh0T2JqZWN0MikpOwotCi0gICAgY2hh
ciAqdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KHRleHRPYmplY3QxLCAwLCAtMSk7Ci0gICAgZ19h
c3NlcnRfY21wc3RyKHRleHQsID09LCAiVGhpcyBpcyBhIHRlc3QuIik7Ci0gICAgZ19mcmVlKHRl
eHQpOwotCi0gICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KHRleHRPYmplY3QyLCAwLCAxMik7
Ci0gICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiSGVsbG8gd29ybGQuIik7Ci0gICAgZ19m
cmVlKHRleHQpOwotCi0gICAgZ19vYmplY3RfdW5yZWYob2JqZWN0MSk7Ci0gICAgZ19vYmplY3Rf
dW5yZWYob2JqZWN0Mik7Ci0gICAgZ19vYmplY3RfdW5yZWYod2ViVmlldyk7Ci19Ci0KLXN0YXRp
YyB2b2lkIHRlc3RXZWJraXRBdGtHZXRUZXh0SW5QYXJhZ3JhcGhBbmRCb2R5TW9kZXJhdGUoKQot
ewotICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2Via2l0X3dl
Yl92aWV3X25ldygpKTsKLSAgICBnX29iamVjdF9yZWZfc2luayh3ZWJWaWV3KTsKLSAgICBHdGtB
bGxvY2F0aW9uIGFsbG9jYXRpb24gPSB7IDAsIDAsIDgwMCwgNjAwIH07Ci0gICAgZ3RrX3dpZGdl
dF9zaXplX2FsbG9jYXRlKEdUS19XSURHRVQod2ViVmlldyksICZhbGxvY2F0aW9uKTsKLSAgICB3
ZWJraXRfd2ViX3ZpZXdfbG9hZF9zdHJpbmcod2ViVmlldywgY29udGVudHNJblBhcmFncmFwaEFu
ZEJvZHlNb2RlcmF0ZSwgMCwgMCwgMCk7Ci0KLSAgICAvKiBHZXQgdG8gdGhlIGlubmVyIEF0a1Rl
eHQgb2JqZWN0LiAqLwotICAgIEF0a09iamVjdCogb2JqZWN0ID0gZ2V0V2ViQXJlYU9iamVjdCh3
ZWJWaWV3KTsKLSAgICBnX2Fzc2VydChvYmplY3QpOwotICAgIEF0a09iamVjdCogb2JqZWN0MSA9
IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQob2JqZWN0LCAwKTsKLSAgICBnX2Fzc2Vy
dChvYmplY3QxKTsKLSAgICBBdGtPYmplY3QqIG9iamVjdDIgPSBhdGtfb2JqZWN0X3JlZl9hY2Nl
c3NpYmxlX2NoaWxkKG9iamVjdCwgMSk7Ci0gICAgZ19hc3NlcnQob2JqZWN0Mik7Ci0KLSAgICBB
dGtUZXh0KiB0ZXh0T2JqZWN0MSA9IEFUS19URVhUKG9iamVjdDEpOwotICAgIGdfYXNzZXJ0KEFU
S19JU19URVhUKHRleHRPYmplY3QxKSk7Ci0gICAgQXRrVGV4dCogdGV4dE9iamVjdDIgPSBBVEtf
VEVYVChvYmplY3QyKTsKLSAgICBnX2Fzc2VydChBVEtfSVNfVEVYVCh0ZXh0T2JqZWN0MikpOwot
Ci0gICAgY2hhciAqdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KHRleHRPYmplY3QxLCAwLCAtMSk7
Ci0gICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiVGhpcyBpcyBhIHRlc3QuIik7Ci0gICAg
Z19mcmVlKHRleHQpOwotCi0gICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KHRleHRPYmplY3Qy
LCAwLCA1Myk7Ci0gICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiSGVsbG8gd29ybGQuXG5U
aGlzIHNlbnRlbmNlIGlzIGdyZWVuLlxuVGhpcyBvbmUgaXMgbm90LiIpOwotICAgIGdfZnJlZSh0
ZXh0KTsKLQotICAgIGdfb2JqZWN0X3VucmVmKG9iamVjdDEpOwotICAgIGdfb2JqZWN0X3VucmVm
KG9iamVjdDIpOwotICAgIGdfb2JqZWN0X3VucmVmKHdlYlZpZXcpOwotfQotCi1zdGF0aWMgdm9p
ZCB0ZXN0V2Via2l0QXRrR2V0VGV4dEluVGFibGUoKQotewotICAgIFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygpKTsKLSAgICBnX29i
amVjdF9yZWZfc2luayh3ZWJWaWV3KTsKLSAgICBHdGtBbGxvY2F0aW9uIGFsbG9jYXRpb24gPSB7
IDAsIDAsIDgwMCwgNjAwIH07Ci0gICAgZ3RrX3dpZGdldF9zaXplX2FsbG9jYXRlKEdUS19XSURH
RVQod2ViVmlldyksICZhbGxvY2F0aW9uKTsKLSAgICB3ZWJraXRfd2ViX3ZpZXdfbG9hZF9zdHJp
bmcod2ViVmlldywgY29udGVudHNJblRhYmxlLCAwLCAwLCAwKTsKLQotICAgIEF0a09iamVjdCog
b2JqZWN0ID0gZ2V0V2ViQXJlYU9iamVjdCh3ZWJWaWV3KTsKLSAgICBnX2Fzc2VydChvYmplY3Qp
OwotICAgIG9iamVjdCA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQob2JqZWN0LCAw
KTsKLSAgICBnX2Fzc2VydChvYmplY3QpOwotCi0gICAgLyogVGFibGVzIHNob3VsZCBub3QgaW1w
bGVtZW50IEF0a1RleHQuICovCi0gICAgZ19hc3NlcnQoIUdfVFlQRV9JTlNUQU5DRV9HRVRfSU5U
RVJGQUNFKG9iamVjdCwgQVRLX1RZUEVfVEVYVCwgQXRrVGV4dElmYWNlKSk7Ci0KLSAgICBnX29i
amVjdF91bnJlZihvYmplY3QpOwotICAgIGdfb2JqZWN0X3VucmVmKHdlYlZpZXcpOwotfQotCiBz
dGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrR2V0SGVhZGVyc0luVGFibGUoKQogewogICAgIFdlYktp
dFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygp
KTsKQEAgLTEwOTMsMTAgKzg0NSw2IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJraXRBdGtUZXh0U2Vs
ZWN0aW9ucygpCiAgICAgZ19hc3NlcnQoYXRrX29iamVjdF9nZXRfcm9sZShsaXN0KSA9PSBBVEtf
Uk9MRV9MSVNUKTsKICAgICBnX2Fzc2VydF9jbXBpbnQoYXRrX29iamVjdF9nZXRfbl9hY2Nlc3Np
YmxlX2NoaWxkcmVuKGxpc3QpLCA9PSwgMSk7CiAKLSAgICBnY2hhciogdGV4dCA9IGF0a190ZXh0
X2dldF90ZXh0KGxpc3RJdGVtLCAwLCAtMSk7Ci0gICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09
LCAiMS4gQSBsaXN0IGl0ZW0iKTsKLSAgICBnX2ZyZWUgKHRleHQpOwotCiAgICAgLyogSXQncyBu
b3QgcG9zc2libGUgdG8gc2VsZWN0IHRleHQgaW5zaWRlIGFuIGl0ZW0ncyBtYXJrZXIuICovCiAg
ICAgcmVzdWx0ID0gYXRrX3RleHRfc2V0X3NlbGVjdGlvbiAobGlzdEl0ZW0sIDAsIDAsIDkpOwog
ICAgIGdfYXNzZXJ0KCFyZXN1bHQpOwpAQCAtMTQ3MCwyNiArMTIxOCwxMyBAQCBzdGF0aWMgdm9p
ZCB0ZXN0V2Via2l0QXRrTGlzdHNPZkl0ZW1zKCkKICAgICBnX2Fzc2VydF9jbXBpbnQoYXRrX29i
amVjdF9nZXRfbl9hY2Nlc3NpYmxlX2NoaWxkcmVuKHVMaXN0KSwgPT0sIDMpOwogCiAgICAgQXRr
T2JqZWN0KiBpdGVtMSA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQodUxpc3QsIDAp
OwotICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKGl0ZW0xKSk7CiAgICAgQXRrT2JqZWN0KiBpdGVt
MiA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQodUxpc3QsIDEpOwotICAgIGdfYXNz
ZXJ0KEFUS19JU19URVhUKGl0ZW0yKSk7CiAgICAgQXRrT2JqZWN0KiBpdGVtMyA9IGF0a19vYmpl
Y3RfcmVmX2FjY2Vzc2libGVfY2hpbGQodUxpc3QsIDIpOwotICAgIGdfYXNzZXJ0KEFUS19JU19U
RVhUKGl0ZW0zKSk7CiAKICAgICBnX2Fzc2VydF9jbXBpbnQoYXRrX29iamVjdF9nZXRfbl9hY2Nl
c3NpYmxlX2NoaWxkcmVuKGl0ZW0xKSwgPT0sIDApOwogICAgIGdfYXNzZXJ0X2NtcGludChhdGtf
b2JqZWN0X2dldF9uX2FjY2Vzc2libGVfY2hpbGRyZW4oaXRlbTIpLCA9PSwgMSk7CiAgICAgZ19h
c3NlcnRfY21waW50KGF0a19vYmplY3RfZ2V0X25fYWNjZXNzaWJsZV9jaGlsZHJlbihpdGVtMyks
ID09LCAxKTsKIAotICAgIGNoYXIqIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVChp
dGVtMSksIDAsIC0xKTsKLSAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICJcMzQyXDIwMFwy
NDIgdGV4dCBvbmx5Iik7Ci0gICAgZ19mcmVlKHRleHQpOwotICAgIHRleHQgPSBhdGtfdGV4dF9n
ZXRfdGV4dChBVEtfVEVYVChpdGVtMiksIDAsIC0xKTsKLSAgICBnX2Fzc2VydF9jbXBzdHIodGV4
dCwgPT0sICJcMzQyXDIwMFwyNDIgbGluayBvbmx5Iik7Ci0gICAgZ19mcmVlKHRleHQpOwotICAg
IHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVChpdGVtMyksIDAsIC0xKTsKLSAgICBn
X2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICJcMzQyXDIwMFwyNDIgdGV4dCBhbmQgYSBsaW5rIik7
Ci0gICAgZ19mcmVlKHRleHQpOwotCiAgICAgZ19vYmplY3RfdW5yZWYoaXRlbTEpOwogICAgIGdf
b2JqZWN0X3VucmVmKGl0ZW0yKTsKICAgICBnX29iamVjdF91bnJlZihpdGVtMyk7CkBAIC0xNTAy
LDIxICsxMjM3LDggQEAgc3RhdGljIHZvaWQgdGVzdFdlYmtpdEF0a0xpc3RzT2ZJdGVtcygpCiAg
ICAgZ19hc3NlcnRfY21waW50KGF0a19vYmplY3RfZ2V0X25fYWNjZXNzaWJsZV9jaGlsZHJlbihv
TGlzdCksID09LCAzKTsKIAogICAgIGl0ZW0xID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9j
aGlsZChvTGlzdCwgMCk7Ci0gICAgZ19hc3NlcnQoQVRLX0lTX1RFWFQoaXRlbTEpKTsKICAgICBp
dGVtMiA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQob0xpc3QsIDEpOwotICAgIGdf
YXNzZXJ0KEFUS19JU19URVhUKGl0ZW0yKSk7CiAgICAgaXRlbTMgPSBhdGtfb2JqZWN0X3JlZl9h
Y2Nlc3NpYmxlX2NoaWxkKG9MaXN0LCAyKTsKLSAgICBnX2Fzc2VydChBVEtfSVNfVEVYVChpdGVt
MykpOwotCi0gICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKGl0ZW0xKSwgMCwg
LTEpOwotICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIjEuIHRleHQgb25seSIpOwotICAg
IGdfZnJlZSh0ZXh0KTsKLSAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRLX1RFWFQoaXRl
bTIpLCAwLCAtMSk7Ci0gICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiMi4gbGluayBvbmx5
Iik7Ci0gICAgZ19mcmVlKHRleHQpOwotICAgIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4dChBVEtf
VEVYVChpdGVtMyksIDAsIC0xKTsKLSAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICIzLiB0
ZXh0IGFuZCBhIGxpbmsiKTsKLSAgICBnX2ZyZWUodGV4dCk7CiAKICAgICBnX2Fzc2VydF9jbXBp
bnQoYXRrX29iamVjdF9nZXRfbl9hY2Nlc3NpYmxlX2NoaWxkcmVuKGl0ZW0xKSwgPT0sIDApOwog
ICAgIGdfYXNzZXJ0X2NtcGludChhdGtfb2JqZWN0X2dldF9uX2FjY2Vzc2libGVfY2hpbGRyZW4o
aXRlbTIpLCA9PSwgMSk7CkBAIC0xNzM4LDkgKzE0NjAsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhcioqIGFyZ3YpCiAgICAgZ190ZXN0X2FkZF9mdW5jKCIvd2Via2l0L2F0ay9jb21ib0JveCIs
IHRlc3RXZWJraXRBdGtDb21ib0JveCk7CiAgICAgZ190ZXN0X2FkZF9mdW5jKCIvd2Via2l0L2F0
ay9kb2N1bWVudExvYWRpbmdFdmVudHMiLCB0ZXN0V2Via2l0QXRrRG9jdW1lbnRMb2FkaW5nRXZl
bnRzKTsKICAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvYXRrL2VtYmVkZGVkT2JqZWN0cyIs
IHRlc3RXZWJraXRBdGtFbWJlZGRlZE9iamVjdHMpOwotICAgIGdfdGVzdF9hZGRfZnVuYygiL3dl
YmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keVNpbXBsZSIsIHRlc3RXZWJraXRBdGtH
ZXRUZXh0SW5QYXJhZ3JhcGhBbmRCb2R5U2ltcGxlKTsKLSAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93
ZWJraXQvYXRrL2dldFRleHRJblBhcmFncmFwaEFuZEJvZHlNb2RlcmF0ZSIsIHRlc3RXZWJraXRB
dGtHZXRUZXh0SW5QYXJhZ3JhcGhBbmRCb2R5TW9kZXJhdGUpOwotICAgIGdfdGVzdF9hZGRfZnVu
YygiL3dlYmtpdC9hdGsvZ2V0VGV4dEluVGFibGUiLCB0ZXN0V2Via2l0QXRrR2V0VGV4dEluVGFi
bGUpOwogICAgIGdfdGVzdF9hZGRfZnVuYygiL3dlYmtpdC9hdGsvZ2V0SGVhZGVyc0luVGFibGUi
LCB0ZXN0V2Via2l0QXRrR2V0SGVhZGVyc0luVGFibGUpOwogICAgIGdfdGVzdF9hZGRfZnVuYygi
L3dlYmtpdC9hdGsvdGV4dEF0dHJpYnV0ZXMiLCB0ZXN0V2Via2l0QXRrVGV4dEF0dHJpYnV0ZXMp
OwogICAgIGdfdGVzdF9hZGRfZnVuYygiL3dlYmtpdC9hdGsvdGV4dFNlbGVjdGlvbnMiLCB0ZXN0
V2Via2l0QXRrVGV4dFNlbGVjdGlvbnMpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE0Y2IwNmNiODcwMzFmMzA4NzIyNTZmNTgwOWYxYWE3ZDNh
NDU1YjQuLjk5YTFkMDkyNGYyMzJiNDQ3OTFkYWE3MzQ0MzRjMjYzOTJjNjNiN2IgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMy0xMi0xMCAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgQVg6IFtBVEtdIENvbnZlcnQgdGhlIGdldF90ZXh0IGF0a3Rlc3QuYyB1bml0IHRlc3Rz
IHRvIGxheW91dCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI1NDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5j
cHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JSYW5nZSk6IElt
cGxlbWVudGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpzdHJpbmdGb3JSYW5nZSk6IEltcGxlbWVudGVkLgorCiAyMDEzLTEyLTEw
ICBEw6FuaWVsIELDoXR5YWkgIDxCYXR5YWkuRGFuaWVsQHN0dWQudS1zemVnZWQuaHU+CiAKICAg
ICAgICAgTWVyZ2UgbWFya19mb3JfbGFuZGluZyBhbmQgbWFya19mb3JfY29tbWl0X3F1ZXVlIGlu
dG8gb25lIGFyZ3VtZW50CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9hdGsvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9hdGsvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggMzcwMGI0ZGM3Mjc1ODRkMjFiNDBmMzdm
MzI1NTQzZmY2Njk1Mjg3MC4uMDlmMjc2NmEyYjNkZWY5M2U3M2VkMWYzMDZlOWY0NzYxMjU3MDA4
OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50QXRrLmNwcApAQCAtMTA4MCwxMCArMTA4MCwxMyBAQCBKU1N0cmluZ1JlZiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojpib3VuZHNGb3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5z
aWduZWQgbAogICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwog
fQogCi1KU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JSYW5nZSh1
bnNpZ25lZCwgdW5zaWduZWQpIAorSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c3RyaW5nRm9yUmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkKIHsKLSAg
ICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnMoMCwgMCk7CisgICAgaWYgKCFBVEtfSVNfVEVYVChtX2VsZW1lbnQpKQorICAgICAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKKworICAgIFN0cmluZyBz
dHJpbmcgPSBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVChtX2VsZW1lbnQpLCBsb2NhdGlvbiwg
bG9jYXRpb24gKyBsZW5ndGgpOworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZyhzdHJpbmcudXRmOCgpLmRhdGEoKSk7CiB9IAogCiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yUmFuZ2UodW5zaWduZWQsIHVuc2lnbmVk
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAppbmRleCAxNjAx
NjdjZjEzZTljYTYxNWIzMTI5Y2IxODVmOTc4YWIxYzJjYmM4Li5kYmQ5OTM2MzM2ZGVhZTZlOTYy
YWU4ODc3YjcyNjhmYmE0NTQyZmIwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50QXRrLmNwcApAQCAtMTE0Nyw4ICsxMTQ3LDExIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib3VuZHNGb3JSYW5nZSh1bnNpZ25lZCBsb2Nh
dGlvCiAKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
dHJpbmdGb3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQogewotICAg
IC8vIEZJWE1FOiBpbXBsZW1lbnQKLSAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFj
dGVycygwLCAwKTsKKyAgICBpZiAoIUFUS19JU19URVhUKG1fZWxlbWVudC5nZXQoKSkpCisgICAg
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworCisgICAgU3Ry
aW5nIHN0cmluZyA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKG1fZWxlbWVudC5nZXQoKSks
IGxvY2F0aW9uLCBsb2NhdGlvbiArIGxlbmd0aCk7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKHN0cmluZy51dGY4KCkuZGF0YSgpKTsKIH0KIAogSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JS
YW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM0MzAyZTQ0
NDg4MGI4NDUyN2ZhMzdkNTM2MWZiZmQwYmJmMzk0NDYuLmE2YmZmY2JmNGJiZWZlNTk2N2Y5NWZj
NjUyYWRmMWU2NDIwZjA5YTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMy0xMi0xMCAgSm9h
bm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVg6IFtBVEtdIENv
bnZlcnQgdGhlIGdldF90ZXh0IGF0a3Rlc3QuYyB1bml0IHRlc3RzIHRvIGxheW91dCB0ZXN0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NDk3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1jb21iby1ib3gtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1y
YW5nZS1jb21iby1ib3guaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtZW1iZWRkZWQtb2JqZWN0cy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdl
LWVtYmVkZGVkLW9iamVjdHMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Fj
Y2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtZW50cnktYW5kLXBhc3N3b3JkLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3It
cmFuZ2UtZW50cnktYW5kLXBhc3N3b3JkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWV4dHJhbmVvdXMtd2hpdGVzcGFjZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5
L3RleHQtZm9yLXJhbmdlLWV4dHJhbmVvdXMtd2hpdGVzcGFjZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1mb3JtYXR0ZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS90ZXh0LWZvci1yYW5nZS1mb3JtYXR0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtaGVhZGluZy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJh
bmdlLWhlYWRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvdGV4dC1mb3ItcmFuZ2UtbGlzdC1pdGVtcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWxpc3QtaXRl
bXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4
dC1mb3ItcmFuZ2Utc2ltcGxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2Utc2ltcGxlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLXRhYmxl
LWNlbGxzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtdGFibGUtY2VsbHMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2Utd2l0aC1saW5rLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
dGV4dC1mb3ItcmFuZ2Utd2l0aC1saW5rLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXRhYmxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItdGFibGUuaHRtbDog
QWRkZWQuCisKIDIwMTMtMTItMDkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihyMTM2MjgwKTogaW5wdXRbdHlwZT1pbWFnZV0gc2hvdWxkIGFz
c3VtZSBjb29yZHMgb2YgMCwwIHdoZW4gYWN0aXZhdGVkIHdpdGhvdXQgcGh5c2ljYWxseSBjbGlj
a2luZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
dGV4dC1mb3ItcmFuZ2UtY29tYm8tYm94LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWNvbWJvLWJveC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjM2NGQ0Y2U3MGEwYTNkN2JjMzkzMzBmMDU3YzcxNTM3NThjNTNhMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5
L3RleHQtZm9yLXJhbmdlLWNvbWJvLWJveC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAor
IAorVGhpcyB0ZXN0cyB0aGUgYWJpbGl0eSB0byBnZXQgZWxlbWVudCB0ZXh0IGZvciBhIHNwZWNp
ZmllZCByYW5nZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29tYm9i
b3guc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIGlzICcnCitQQVNTIHBvcHVwLnN0cmluZ0ZvclJhbmdl
KDAsIC0xKSBpcyAnJworUEFTUyBvcHRpb24uc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIGlzICdBbiBv
cHRpb24gaW4gYSBjb21ibyBib3gnCitQQVNTIGNvbWJvYm94LnN0cmluZ0ZvclJhbmdlKDAsIC0x
KSBpcyAnJworUEFTUyBwb3B1cC5zdHJpbmdGb3JSYW5nZSgwLCAtMSkgaXMgJycKK1BBU1Mgb3B0
aW9uLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSBpcyAnZm9vJworUEFTUyBvcHRpb24uc3RyaW5nRm9y
UmFuZ2UoMCwgMikgaXMgJ2ZvJworUEFTUyBvcHRpb24uc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIGlz
ICdiYXInCitQQVNTIG9wdGlvbi5zdHJpbmdGb3JSYW5nZSgxLCAzKSBpcyAnYXInCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtY29t
Ym8tYm94Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0
LWZvci1yYW5nZS1jb21iby1ib3guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YzZmZGQ2Zjk3ZjI4MzA2ZThh
NGJiODA1ODk2YTYwMTE2MDI2ZjY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtY29tYm8tYm94Lmh0bWwKQEAg
LTAsMCArMSw0MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorPHNlbGVj
dD48b3B0aW9uIHNlbGVjdGVkIHZhbHVlPSdmb28nPkFuIG9wdGlvbiBpbiBhIGNvbWJvIGJveDwv
b3B0aW9uPjwvc2VsZWN0PgorPHNlbGVjdD48b3B0aW9uIHNlbGVjdGVkIHZhbHVlPSdmb28nPmZv
bzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2Jhcic+YmFyPC9vcHRpb24+PC9zZWxlY3Q+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgYWJpbGl0eSB0byBnZXQgZWxlbWVudCB0
ZXh0IGZvciBhIHNwZWNpZmllZCByYW5nZS4iKTsKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5Iiku
Zm9jdXMoKTsKKyAgICAgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudDsKKyAgICAgICAgdmFyIHBhbmVsID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgo
MCk7CisKKyAgICAgICAgdmFyIGNvbWJvYm94ID0gcGFuZWwuY2hpbGRBdEluZGV4KDApOworICAg
ICAgICB2YXIgcG9wdXAgPSBjb21ib2JveC5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHZhciBv
cHRpb24gPSBwb3B1cC5jaGlsZEF0SW5kZXgoMCk7CisKKyAgICAgICAgc2hvdWxkQmUoImNvbWJv
Ym94LnN0cmluZ0ZvclJhbmdlKDAsIC0xKSIsICInJyIpOworICAgICAgICBzaG91bGRCZSgicG9w
dXAuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIiwgIicnIik7CisgICAgICAgIHNob3VsZEJlKCJvcHRp
b24uc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIiwgIidBbiBvcHRpb24gaW4gYSBjb21ibyBib3gnIik7
CisKKyAgICAgICAgY29tYm9ib3ggPSBwYW5lbC5jaGlsZEF0SW5kZXgoMSk7CisgICAgICAgIHBv
cHVwID0gY29tYm9ib3guY2hpbGRBdEluZGV4KDApOworICAgICAgICBvcHRpb24gPSBwb3B1cC5j
aGlsZEF0SW5kZXgoMCk7CisKKyAgICAgICAgc2hvdWxkQmUoImNvbWJvYm94LnN0cmluZ0ZvclJh
bmdlKDAsIC0xKSIsICInJyIpOworICAgICAgICBzaG91bGRCZSgicG9wdXAuc3RyaW5nRm9yUmFu
Z2UoMCwgLTEpIiwgIicnIik7CisgICAgICAgIHNob3VsZEJlKCJvcHRpb24uc3RyaW5nRm9yUmFu
Z2UoMCwgLTEpIiwgIidmb28nIik7CisgICAgICAgIHNob3VsZEJlKCJvcHRpb24uc3RyaW5nRm9y
UmFuZ2UoMCwgMikiLCAiJ2ZvJyIpOworCisgICAgICAgIG9wdGlvbiA9IHBvcHVwLmNoaWxkQXRJ
bmRleCgxKTsKKyAgICAgICAgc2hvdWxkQmUoIm9wdGlvbi5zdHJpbmdGb3JSYW5nZSgwLCAtMSki
LCAiJ2JhciciKTsKKyAgICAgICAgc2hvdWxkQmUoIm9wdGlvbi5zdHJpbmdGb3JSYW5nZSgxLCAz
KSIsICInYXInIik7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1y
YW5nZS1lbWJlZGRlZC1vYmplY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWVtYmVkZGVkLW9iamVjdHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRkMzgyOTA2ZmNhYmMwZTM3ZjU1OGExZDkwYTdkZjQ0ZTM4ODlm
ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJp
bGl0eS90ZXh0LWZvci1yYW5nZS1lbWJlZGRlZC1vYmplY3RzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE4IEBACitDaG9vc2U6IGZvbyBiYXIgKHBpY2sgb25lKQorCitDaG9vc2U6ICAocGljayBv
bmUpCisKKworCitUaGlzIHRlc3RzIHRoZSBhYmlsaXR5IHRvIGdldCBlbGVtZW50IHRleHQgZm9y
IGEgc3BlY2lmaWVkIHJhbmdlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBwYXJhZ3JhcGgxLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSBpcyAnQ2hvb3NlOiDDr8K/wrxmb28g
w6/Cv8K8YmFyIChwaWNrIG9uZSknCitQQVNTIHBhcmFncmFwaDIuc3RyaW5nRm9yUmFuZ2UoMCwg
LTEpIGlzICdDaG9vc2U6IMOvwr/CvCAocGljayBvbmUpJworUEFTUyBwYXJhZ3JhcGgzLnN0cmlu
Z0ZvclJhbmdlKDAsIC0xKSBpcyAnw6/Cv8K8JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWVtYmVkZGVkLW9iamVjdHMuaHRtbCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWVt
YmVkZGVkLW9iamVjdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjE3ZGRmNDY2YmJhMjIwZGU5MGMxMzc5
NWYzMDc5NjQ0OTVhYWEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtZW1iZWRkZWQtb2JqZWN0cy5odG1sCkBA
IC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKyAgPHA+
Q2hvb3NlOiA8aW5wdXQgdmFsdWU9J2ZvbycgdHlwZT0nY2hlY2tib3gnLz5mb28gPGlucHV0IHZh
bHVlPSdiYXInIHR5cGU9J2NoZWNrYm94Jy8+YmFyIChwaWNrIG9uZSk8L3A+CisgIDxwPkNob29z
ZTogPHNlbGVjdCBuYW1lPSdmb28nPjxvcHRpb24+YmFyPC9vcHRpb24+PG9wdGlvbj5iYXo8L29w
dGlvbj48L3NlbGVjdD4gKHBpY2sgb25lKTwvcD4KKyAgPHA+PGlucHV0IG5hbWU9J2Zvb2JhcmJ1
dHRvbicgdmFsdWU9J2Zvb2JhcicgdHlwZT0nYnV0dG9uJy8+PC9wPgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdHMgdGhlIGFiaWxpdHkgdG8gZ2V0IGVsZW1lbnQgdGV4dCBmb3IgYSBz
cGVjaWZpZWQgcmFuZ2UuIik7CisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cikgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpLmZvY3VzKCk7Cisg
ICAgICAgIHZhciB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQ7CisKKyAgICAgICAgdmFyIHBhcmFncmFwaDEgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgwKTsK
KyAgICAgICAgdmFyIHBhcmFncmFwaDIgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgxKTsKKyAgICAg
ICAgdmFyIHBhcmFncmFwaDMgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgyKTsKKyAgICAgICAgc2hv
dWxkQmUoInBhcmFncmFwaDEuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIiwgIidDaG9vc2U6IFwzNTdc
Mjc3XDI3NGZvbyBcMzU3XDI3N1wyNzRiYXIgKHBpY2sgb25lKSciKTsKKyAgICAgICAgc2hvdWxk
QmUoInBhcmFncmFwaDIuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIiwgIidDaG9vc2U6IFwzNTdcMjc3
XDI3NCAocGljayBvbmUpJyIpOworICAgICAgICBzaG91bGRCZSgicGFyYWdyYXBoMy5zdHJpbmdG
b3JSYW5nZSgwLCAtMSkiLCAiJ1wzNTdcMjc3XDI3NCciKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWVudHJ5LWFuZC1wYXNzd29yZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5n
ZS1lbnRyeS1hbmQtcGFzc3dvcmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3YjdiMmJiMjhk
NmY0NzFkZGM5MTRhMThmM2I3ZmI2MmY1ZGJjZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1lbnRyeS1hbmQt
cGFzc3dvcmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKKyAKK1RoaXMgdGVzdHMgdGhl
IGFiaWxpdHkgdG8gZ2V0IGVsZW1lbnQgdGV4dCBmb3IgYSBzcGVjaWZpZWQgcmFuZ2UuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGVudHJ5LnN0cmluZ0ZvclJhbmdlKDAs
IC0xKSBpcyAnZm9vIGJhciBiYXonCitQQVNTIHBhc3N3b3JkLnN0cmluZ0ZvclJhbmdlKDAsIC0x
KSBpcyAnw6LCgMKiw6LCgMKiw6LCgMKiw6LCgMKiw6LCgMKiw6LCgMKiw6LCgMKiw6LCgMKiw6LC
gMKiw6LCgMKiw6LCgMKiJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L3RleHQtZm9yLXJhbmdlLWVudHJ5LWFuZC1wYXNzd29yZC5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtZW50cnktYW5kLXBh
c3N3b3JkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTNlYjY2OWFjNDAyZTdhNDA2MGM4YWFjYWJhN2E5NDVm
YTBlYWNhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWVudHJ5LWFuZC1wYXNzd29yZC5odG1sCkBAIC0wLDAg
KzEsMjUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKzxpbnB1dCB0eXBl
PSd0ZXh0JyBuYW1lPSdmb28nIHZhbHVlPSdmb28gYmFyIGJheicgLz4KKzxpbnB1dCB0eXBlPSdw
YXNzd29yZCcgbmFtZT0nYmFyJyB2YWx1ZT0nZm9vIGJhciBiYXonIC8+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgYWJpbGl0eSB0byBnZXQgZWxlbWVudCB0ZXh0IGZvciBh
IHNwZWNpZmllZCByYW5nZS4iKTsKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5IikuZm9jdXMoKTsK
KyAgICAgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudDsKKyAgICAgICAgdmFyIHBhbmVsID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7CisgICAg
ICAgIHZhciBlbnRyeSA9IHBhbmVsLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgdmFyIHBhc3N3
b3JkID0gcGFuZWwuY2hpbGRBdEluZGV4KDEpOworICAgICAgICBzaG91bGRCZSgiZW50cnkuc3Ry
aW5nRm9yUmFuZ2UoMCwgLTEpIiwgIidmb28gYmFyIGJheiciKTsKKyAgICAgICAgc2hvdWxkQmUo
InBhc3N3b3JkLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSIsICInXDM0MlwyMDBcMjQyXDM0MlwyMDBc
MjQyXDM0MlwyMDBcMjQyXDM0MlwyMDBcMjQyXDM0MlwyMDBcMjQyXDM0MlwyMDBcMjQyXDM0Mlwy
MDBcMjQyXDM0MlwyMDBcMjQyXDM0MlwyMDBcMjQyXDM0MlwyMDBcMjQyXDM0MlwyMDBcMjQyJyIp
OworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtZXh0cmFu
ZW91cy13aGl0ZXNwYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWV4dHJhbmVvdXMtd2hpdGVzcGFjZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzFlYmRmNmI3NzFjODUzYzI4YTBjMzUxNzI0ZDUyY2UwNTM3MzYy
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L3RleHQtZm9yLXJhbmdlLWV4dHJhbmVvdXMtd2hpdGVzcGFjZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMiBAQAorVGhpcyBwYXJhZ3JhcGggaXMgYm9ya2VkIQorCitUaGlzIHRlc3RzIHRo
ZSBhYmlsaXR5IHRvIGdldCBlbGVtZW50IHRleHQgZm9yIGEgc3BlY2lmaWVkIHJhbmdlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBwYXJhZ3JhcGguc3RyaW5nRm9yUmFu
Z2UoMCwgMjUpIGlzICdUaGlzIHBhcmFncmFwaCBpcyBib3JrZWQhJworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWV4dHJhbmVvdXMt
d2hpdGVzcGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
dGV4dC1mb3ItcmFuZ2UtZXh0cmFuZW91cy13aGl0ZXNwYWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjAy
YjRiNThkOTEyMDUzNTU1ZjBiYmMyNjFmYmFlODZlMzIwYzlhNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWV4
dHJhbmVvdXMtd2hpdGVzcGFjZS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IGlkPSJib2R5Ij4KKzxwPlRoaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFyYWdyYXBoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmtlZCE8L3A+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgYWJpbGl0eSB0byBnZXQgZWxlbWVudCB0ZXh0IGZv
ciBhIHNwZWNpZmllZCByYW5nZS4iKTsKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250
cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5IikuZm9jdXMo
KTsKKyAgICAgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudDsKKyAgICAgICAgdmFyIHBhcmFncmFwaCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDAp
OworICAgICAgICBzaG91bGRCZSgicGFyYWdyYXBoLnN0cmluZ0ZvclJhbmdlKDAsIDI1KSIsICIn
VGhpcyBwYXJhZ3JhcGggaXMgYm9ya2VkISciKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L3RleHQtZm9yLXJhbmdlLWZvcm1hdHRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1mb3JtYXR0ZWQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhYmNjM2MwY2ZkZTBkNDczNjVhYzllNmM5MmE0YzRlOGY0
NThiMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS90ZXh0LWZvci1yYW5nZS1mb3JtYXR0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTYgQEAKK1RoaXMgaXMgYSB0ZXN0LgorCitIZWxsbyB3b3JsZC4KK1RoaXMgc2VudGVuY2UgaXMg
Z3JlZW4uCitUaGlzIG9uZSBpcyBub3QuCitUaGlzIHRlc3RzIHRoZSBhYmlsaXR5IHRvIGdldCBl
bGVtZW50IHRleHQgZm9yIGEgc3BlY2lmaWVkIHJhbmdlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBwYXJhZ3JhcGguc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIGlzICdUaGlz
IGlzIGEgdGVzdC4nCitQQVNTIGJsb2NrLnN0cmluZ0ZvclJhbmdlKDAsIDUzKSBpcyAnSGVsbG8g
d29ybGQuXG5UaGlzIHNlbnRlbmNlIGlzIGdyZWVuLlxuVGhpcyBvbmUgaXMgbm90LicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1m
b3JtYXR0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3Rl
eHQtZm9yLXJhbmdlLWZvcm1hdHRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjM2Q2ZjM3NjVkMjIxMjA1
NTU5ZDQwMmJjMjczMDY0MjRmZjBhYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1mb3JtYXR0ZWQuaHRtbApA
QCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+Cis8cCBp
ZD0iY29udGVudCI+VGhpcyBpcyBhIHRlc3QuPC9wPkhlbGxvIHdvcmxkLjxiciAvPjxmb250IGNv
bG9yPScjMDBjYzAwJz5UaGlzIHNlbnRlbmNlIGlzIGdyZWVuLjwvZm9udD48YnIgLz5UaGlzIG9u
ZSBpcyBub3QuCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgYWJpbGl0eSB0
byBnZXQgZWxlbWVudCB0ZXh0IGZvciBhIHNwZWNpZmllZCByYW5nZS4iKTsKKyAgICBpZiAod2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJib2R5IikuZm9jdXMoKTsKKyAgICAgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAgICAgdmFyIHBhcmFncmFwaCA9IHdl
YkFyZWEuY2hpbGRBdEluZGV4KDApOworICAgICAgICB2YXIgYmxvY2sgPSB3ZWJBcmVhLmNoaWxk
QXRJbmRleCgxKTsKKyAgICAgICAgc2hvdWxkQmUoInBhcmFncmFwaC5zdHJpbmdGb3JSYW5nZSgw
LCAtMSkiLCAiJ1RoaXMgaXMgYSB0ZXN0LiciKTsKKyAgICAgICAgc2hvdWxkQmUoImJsb2NrLnN0
cmluZ0ZvclJhbmdlKDAsIDUzKSIsICInSGVsbG8gd29ybGQuXFxuVGhpcyBzZW50ZW5jZSBpcyBn
cmVlbi5cXG5UaGlzIG9uZSBpcyBub3QuJyIpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvdGV4dC1mb3ItcmFuZ2UtaGVhZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1oZWFkaW5nLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jZDI4ZTYzYzQyMGM0OThjMWViZDVhMjIzNDU3ZGQzMTJiODM5N2Q2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxp
dHkvdGV4dC1mb3ItcmFuZ2UtaGVhZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAor
QSB0ZXh0IGhlYWRlcgorCitCbG9jayBzcGFuIGluIGEgbGluayBpbiBhIGhlYWRpbmcKK0lubGlu
ZSBzcGFuIGluIGEgbGluayBpbiBhIGhlYWRpbmcKKworQmxvY2sgc3BhbiBpbiBhIGhlYWRpbmcK
K0lubGluZSBzcGFuIGluIGEgaGVhZGluZworCitUaGlzIHRlc3RzIHRoZSBhYmlsaXR5IHRvIGdl
dCBlbGVtZW50IHRleHQgZm9yIGEgc3BlY2lmaWVkIHJhbmdlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBoZWFkaW5nMS5zdHJpbmdGb3JSYW5nZSgwLCAtMSkgaXMgJ0Eg
dGV4dCBoZWFkZXInCitQQVNTIGhlYWRpbmcyLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSBpcyAnQmxv
Y2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBoZWFkaW5nXG5JbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4g
YSBoZWFkaW5nJworUEFTUyBoZWFkaW5nMy5zdHJpbmdGb3JSYW5nZSgwLCAtMSkgaXMgJ0Jsb2Nr
IHNwYW4gaW4gYSBoZWFkaW5nXG5JbmxpbmUgc3BhbiBpbiBhIGhlYWRpbmcnCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtaGVhZGlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3It
cmFuZ2UtaGVhZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3NWNmNzM0NTZiY2M1NTUyMTU3MmFjMDk2
MTQ3OGFkM2MwYzYxYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1oZWFkaW5nLmh0bWwKQEAgLTAsMCArMSwy
OCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorPGgxPkEgdGV4dCBoZWFk
ZXI8L2gxPgorPGg0PjxhIGhyZWY9J2Zvbyc+PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5C
bG9jayBzcGFuIGluIGEgbGluayBpbiBhIGhlYWRpbmc8L3NwYW4+PHNwYW4+SW5saW5lIHNwYW4g
aW4gYSBsaW5rIGluIGEgaGVhZGluZzwvc3Bhbj48L2E+PC9oND4KKzxoND48c3BhbiBzdHlsZT0n
ZGlzcGxheTpibG9jazsnPkJsb2NrIHNwYW4gaW4gYSBoZWFkaW5nPC9zcGFuPjxzcGFuPklubGlu
ZSBzcGFuIGluIGEgaGVhZGluZzwvc3Bhbj48L2g0PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdHMgdGhlIGFiaWxpdHkgdG8gZ2V0IGVsZW1lbnQgdGV4dCBmb3IgYSBzcGVjaWZpZWQg
cmFuZ2UuIik7CisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpLmZvY3VzKCk7CisgICAgICAgIHZh
ciB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAg
ICAgICAgdmFyIGhlYWRpbmcxID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHZh
ciBoZWFkaW5nMiA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDEpOworICAgICAgICB2YXIgaGVhZGlu
ZzMgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgyKTsKKyAgICAgICAgc2hvdWxkQmUoImhlYWRpbmcx
LnN0cmluZ0ZvclJhbmdlKDAsIC0xKSIsICInQSB0ZXh0IGhlYWRlciciKTsKKyAgICAgICAgc2hv
dWxkQmUoImhlYWRpbmcyLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSIsICInQmxvY2sgc3BhbiBpbiBh
IGxpbmsgaW4gYSBoZWFkaW5nXFxuSW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgaGVhZGluZyci
KTsKKyAgICAgICAgc2hvdWxkQmUoImhlYWRpbmczLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSIsICIn
QmxvY2sgc3BhbiBpbiBhIGhlYWRpbmdcXG5JbmxpbmUgc3BhbiBpbiBhIGhlYWRpbmcnIik7Cisg
ICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1saXN0LWl0ZW1z
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3Rl
eHQtZm9yLXJhbmdlLWxpc3QtaXRlbXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNTIwOWYy
NzMzMmI2YjcxZjEzMWI1YmI5NDBiNmQ1ODFlZjZlZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1saXN0LWl0
ZW1zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitBIGxpc3QgaXRlbQorQmxvY2sgc3Bh
biBpbiBhIGxpc3QgaXRlbQorSW5saW5lIHNwYW4gaW4gYSBsaXN0IGl0ZW0KK0Jsb2NrIHNwYW4g
aW4gYSBsaW5rIGluIGEgbGlzdCBpdGVtCitJbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBsaXN0
IGl0ZW0KK3RleHQgb25seQorbGluayBvbmx5Cit0ZXh0IGFuZCBhIGxpbmsKK3RleHQgb25seQor
bGluayBvbmx5Cit0ZXh0IGFuZCBhIGxpbmsKK1RoaXMgdGVzdHMgdGhlIGFiaWxpdHkgdG8gZ2V0
IGVsZW1lbnQgdGV4dCBmb3IgYSBzcGVjaWZpZWQgcmFuZ2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIGxpc3RpdGVtMS5zdHJpbmdGb3JSYW5nZSgwLCAtMSkgaXMgJzEu
IEEgbGlzdCBpdGVtJworUEFTUyBsaXN0aXRlbTIuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIGlzICcy
LiBCbG9jayBzcGFuIGluIGEgbGlzdCBpdGVtXG5JbmxpbmUgc3BhbiBpbiBhIGxpc3QgaXRlbScK
K1BBU1MgbGlzdGl0ZW0zLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSBpcyAnMy4gQmxvY2sgc3BhbiBp
biBhIGxpbmsgaW4gYSBsaXN0IGl0ZW1cbklubGluZSBzcGFuIGluIGEgbGluayBpbiBhIGxpc3Qg
aXRlbScKK1BBU1MgbGlzdGl0ZW0xLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSBpcyAnw6LCgMKiIHRl
eHQgb25seScKK1BBU1MgbGlzdGl0ZW0yLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSBpcyAnw6LCgMKi
IGxpbmsgb25seScKK1BBU1MgbGlzdGl0ZW0zLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSBpcyAnw6LC
gMKiIHRleHQgYW5kIGEgbGluaycKK1BBU1MgbGlzdGl0ZW0xLnN0cmluZ0ZvclJhbmdlKDAsIC0x
KSBpcyAnMS4gdGV4dCBvbmx5JworUEFTUyBsaXN0aXRlbTIuc3RyaW5nRm9yUmFuZ2UoMCwgLTEp
IGlzICcyLiBsaW5rIG9ubHknCitQQVNTIGxpc3RpdGVtMy5zdHJpbmdGb3JSYW5nZSgwLCAtMSkg
aXMgJzMuIHRleHQgYW5kIGEgbGluaycKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
YWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1saXN0LWl0ZW1zLmh0bWwgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1saXN0LWl0ZW1zLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2E5YjY0ODEwOTlkZjFiZjg1MzU5ZTE3OTkyNDYzZTE4ZTE2NDY1Ygot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5
L3RleHQtZm9yLXJhbmdlLWxpc3QtaXRlbXMuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+Cis8b2w+Cis8bGk+QSBsaXN0IGl0ZW08L2xpPgor
PGxpPjxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sgc3BhbiBpbiBhIGxpc3QgaXRl
bTwvc3Bhbj48c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIGxpc3QgaXRlbTwvc3Bhbj48L2xpPgorPGxp
PjxhIGhyZWY9J2Zvbyc+PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGlu
IGEgbGluayBpbiBhIGxpc3QgaXRlbTwvc3Bhbj48c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIGxpbmsg
aW4gYSBsaXN0IGl0ZW08L3NwYW4+PC9hPjwvbGk+Cis8L29sPgorPHVsPjxsaT50ZXh0IG9ubHk8
L2xpPjxsaT48YSBocmVmPSdmb28nPmxpbmsgb25seTwvYT48L2xpPjxsaT50ZXh0IGFuZCBhIDxh
IGhyZWY9J2Jhcic+bGluazwvYT48L2xpPjwvdWw+Cis8b2w+PGxpPnRleHQgb25seTwvbGk+PGxp
PjxhIGhyZWY9J2Zvbyc+bGluayBvbmx5PC9hPjwvbGk+PGxpPnRleHQgYW5kIGEgPGEgaHJlZj0n
YmFyJz5saW5rPC9hPjwvbGk+PC9vbD4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Rz
IHRoZSBhYmlsaXR5IHRvIGdldCBlbGVtZW50IHRleHQgZm9yIGEgc3BlY2lmaWVkIHJhbmdlLiIp
OworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKS5mb2N1cygpOworICAgICAgICB2YXIgd2ViQXJl
YSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIHZh
ciBsaXN0ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHZhciBsaXN0aXRlbTEg
PSBsaXN0LmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgdmFyIGxpc3RpdGVtMiA9IGxpc3QuY2hp
bGRBdEluZGV4KDEpOworICAgICAgICB2YXIgbGlzdGl0ZW0zID0gbGlzdC5jaGlsZEF0SW5kZXgo
Mik7CisgICAgICAgIHNob3VsZEJlKCJsaXN0aXRlbTEuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIiwg
IicxLiBBIGxpc3QgaXRlbSciKTsKKyAgICAgICAgc2hvdWxkQmUoImxpc3RpdGVtMi5zdHJpbmdG
b3JSYW5nZSgwLCAtMSkiLCAiJzIuIEJsb2NrIHNwYW4gaW4gYSBsaXN0IGl0ZW1cXG5JbmxpbmUg
c3BhbiBpbiBhIGxpc3QgaXRlbSciKTsKKyAgICAgICAgc2hvdWxkQmUoImxpc3RpdGVtMy5zdHJp
bmdGb3JSYW5nZSgwLCAtMSkiLCAiJzMuIEJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgbGlzdCBp
dGVtXFxuSW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgbGlzdCBpdGVtJyIpOworCisgICAgICAg
IGxpc3QgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgxKTsKKyAgICAgICAgbGlzdGl0ZW0xID0gbGlz
dC5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIGxpc3RpdGVtMiA9IGxpc3QuY2hpbGRBdEluZGV4
KDEpOworICAgICAgICBsaXN0aXRlbTMgPSBsaXN0LmNoaWxkQXRJbmRleCgyKTsKKyAgICAgICAg
c2hvdWxkQmUoImxpc3RpdGVtMS5zdHJpbmdGb3JSYW5nZSgwLCAtMSkiLCAiJ1wzNDJcMjAwXDI0
MiB0ZXh0IG9ubHknIik7CisgICAgICAgIHNob3VsZEJlKCJsaXN0aXRlbTIuc3RyaW5nRm9yUmFu
Z2UoMCwgLTEpIiwgIidcMzQyXDIwMFwyNDIgbGluayBvbmx5JyIpOworICAgICAgICBzaG91bGRC
ZSgibGlzdGl0ZW0zLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSIsICInXDM0MlwyMDBcMjQyIHRleHQg
YW5kIGEgbGluayciKTsKKworICAgICAgICBsaXN0ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMik7
CisgICAgICAgIGxpc3RpdGVtMSA9IGxpc3QuY2hpbGRBdEluZGV4KDApOworICAgICAgICBsaXN0
aXRlbTIgPSBsaXN0LmNoaWxkQXRJbmRleCgxKTsKKyAgICAgICAgbGlzdGl0ZW0zID0gbGlzdC5j
aGlsZEF0SW5kZXgoMik7CisgICAgICAgIHNob3VsZEJlKCJsaXN0aXRlbTEuc3RyaW5nRm9yUmFu
Z2UoMCwgLTEpIiwgIicxLiB0ZXh0IG9ubHknIik7CisgICAgICAgIHNob3VsZEJlKCJsaXN0aXRl
bTIuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIiwgIicyLiBsaW5rIG9ubHknIik7CisgICAgICAgIHNo
b3VsZEJlKCJsaXN0aXRlbTMuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIiwgIiczLiB0ZXh0IGFuZCBh
IGxpbmsnIik7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5n
ZS1zaW1wbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvdGV4dC1mb3ItcmFuZ2Utc2ltcGxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjdj
OTIxN2IyYmU2ZDQ3ZTk1YTZlNGNlMzZiMmM5ZTg4MTUxZTQ4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2Utc2lt
cGxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUaGlzIGlzIGEgdGVzdC4KKworSGVs
bG8gd29ybGQuCitUaGlzIHRlc3RzIHRoZSBhYmlsaXR5IHRvIGdldCBlbGVtZW50IHRleHQgZm9y
IGEgc3BlY2lmaWVkIHJhbmdlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBwYXJhZ3JhcGguc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIGlzICdUaGlzIGlzIGEgdGVzdC4nCitQ
QVNTIGJsb2NrLnN0cmluZ0ZvclJhbmdlKDAsIDEyKSBpcyAnSGVsbG8gd29ybGQuJworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLXNp
bXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1m
b3ItcmFuZ2Utc2ltcGxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDVlZDYwMzZjODU3ZDFhYzc2MGZmYTZi
N2UyYzBjOTYxNTc2MGU2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLXNpbXBsZS5odG1sCkBAIC0wLDAgKzEs
MjMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKzxwIGlkPSJjb250ZW50
Ij5UaGlzIGlzIGEgdGVzdC48L3A+SGVsbG8gd29ybGQuCis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0cyB0aGUgYWJpbGl0eSB0byBnZXQgZWxlbWVudCB0ZXh0IGZvciBhIHNwZWNpZmll
ZCByYW5nZS4iKTsKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Cisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5IikuZm9jdXMoKTsKKyAgICAgICAg
dmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAg
ICAgICAgdmFyIHBhcmFncmFwaCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDApOworICAgICAgICB2
YXIgYmxvY2sgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgxKTsKKyAgICAgICAgc2hvdWxkQmUoInBh
cmFncmFwaC5zdHJpbmdGb3JSYW5nZSgwLCAtMSkiLCAiJ1RoaXMgaXMgYSB0ZXN0LiciKTsKKyAg
ICAgICAgc2hvdWxkQmUoImJsb2NrLnN0cmluZ0ZvclJhbmdlKDAsIDEyKSIsICInSGVsbG8gd29y
bGQuJyIpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2Ut
dGFibGUtY2VsbHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtdGFibGUtY2VsbHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZkMjFkN2VkZmY3MTI3ZWRhZTY1MWM4NDQ5NmI4NjRjYzk5M2IxZTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1y
YW5nZS10YWJsZS1jZWxscy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorYSB0YWJsZSBj
ZWxsCQkKK0Jsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgdGFibGUgY2VsbAorSW5saW5lIHNwYW4g
aW4gYSBsaW5rIGluIGEgdGFibGUgY2VsbAkKK0Jsb2NrIHNwYW4gaW4gYSB0YWJsZSBjZWxsCitJ
bmxpbmUgc3BhbiBpbiBhIHRhYmxlIGNlbGwKK1RoaXMgdGVzdHMgdGhlIGFiaWxpdHkgdG8gZ2V0
IGVsZW1lbnQgdGV4dCBmb3IgYSBzcGVjaWZpZWQgcmFuZ2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIGNlbGwxLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSBpcyAnYSB0YWJs
ZSBjZWxsJworUEFTUyBjZWxsMi5zdHJpbmdGb3JSYW5nZSgwLCAtMSkgaXMgJycKK1BBU1MgY2Vs
bDMuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIGlzICdCbG9jayBzcGFuIGluIGEgbGluayBpbiBhIHRh
YmxlIGNlbGxcbklubGluZSBzcGFuIGluIGEgbGluayBpbiBhIHRhYmxlIGNlbGwnCitQQVNTIGNl
bGw0LnN0cmluZ0ZvclJhbmdlKDAsIC0xKSBpcyAnQmxvY2sgc3BhbiBpbiBhIHRhYmxlIGNlbGxc
bklubGluZSBzcGFuIGluIGEgdGFibGUgY2VsbCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS10YWJsZS1jZWxscy5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtdGFibGUt
Y2VsbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjgyMzVmMWM1NTg4NzQ0MzdkMzg4YWY5ZmEzNjliYjMx
ODUxNjBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtdGFibGUtY2VsbHMuaHRtbApAQCAtMCwwICsxLDM1IEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+Cis8dGFibGU+Cis8dHI+Cis8dGQ+
YSB0YWJsZSBjZWxsPC90ZD4KKzx0ZD48L3RkPgorPHRkPjxhIGhyZWY9J2Zvbyc+PHNwYW4gc3R5
bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgbGluayBpbiBhIHRhYmxlIGNlbGw8
L3NwYW4+PHNwYW4+SW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgdGFibGUgY2VsbDwvc3Bhbj48
L2E+PC90ZD4KKzx0ZD48c3BhbiBzdHlsZT0nZGlzcGxheTpibG9jazsnPkJsb2NrIHNwYW4gaW4g
YSB0YWJsZSBjZWxsPC9zcGFuPjxzcGFuPklubGluZSBzcGFuIGluIGEgdGFibGUgY2VsbDwvc3Bh
bj48L3RkPgorPC90cj4KKzwvdGFibGU+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGUgYWJpbGl0eSB0byBnZXQgZWxlbWVudCB0ZXh0IGZvciBhIHNwZWNpZmllZCByYW5nZS4i
KTsKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5IikuZm9jdXMoKTsKKyAgICAgICAgdmFyIHdlYkFy
ZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAgICAgdmFy
IHRhYmxlID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHZhciBjZWxsMSA9IHRh
YmxlLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgdmFyIGNlbGwyID0gdGFibGUuY2hpbGRBdElu
ZGV4KDEpOworICAgICAgICB2YXIgY2VsbDMgPSB0YWJsZS5jaGlsZEF0SW5kZXgoMik7CisgICAg
ICAgIHZhciBjZWxsNCA9IHRhYmxlLmNoaWxkQXRJbmRleCgzKTsKKyAgICAgICAgc2hvdWxkQmUo
ImNlbGwxLnN0cmluZ0ZvclJhbmdlKDAsIC0xKSIsICInYSB0YWJsZSBjZWxsJyIpOworICAgICAg
ICBzaG91bGRCZSgiY2VsbDIuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIiwgIicnIik7CisgICAgICAg
IHNob3VsZEJlKCJjZWxsMy5zdHJpbmdGb3JSYW5nZSgwLCAtMSkiLCAiJ0Jsb2NrIHNwYW4gaW4g
YSBsaW5rIGluIGEgdGFibGUgY2VsbFxcbklubGluZSBzcGFuIGluIGEgbGluayBpbiBhIHRhYmxl
IGNlbGwnIik7CisgICAgICAgIHNob3VsZEJlKCJjZWxsNC5zdHJpbmdGb3JSYW5nZSgwLCAtMSki
LCAiJ0Jsb2NrIHNwYW4gaW4gYSB0YWJsZSBjZWxsXFxuSW5saW5lIHNwYW4gaW4gYSB0YWJsZSBj
ZWxsJyIpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2Ut
d2l0aC1saW5rLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L3RleHQtZm9yLXJhbmdlLXdpdGgtbGluay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDc0MmVkN2M2ZmJlMmMxOGIyYzZjMDdlY2Y1MTdmYzkzMDBiZGUyMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdl
LXdpdGgtbGluay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorQSBwYXJhZ3JhcGggd2l0
aCBhIGxpbmsgaW4gdGhlIG1pZGRsZQorCitUaGlzIHRlc3RzIHRoZSBhYmlsaXR5IHRvIGdldCBl
bGVtZW50IHRleHQgZm9yIGEgc3BlY2lmaWVkIHJhbmdlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBwYXJhZ3JhcGguc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIGlzICdBIHBh
cmFncmFwaCB3aXRoIGEgbGluayBpbiB0aGUgbWlkZGxlJworUEFTUyBsaW5rLnN0cmluZ0ZvclJh
bmdlKDAsIC0xKSBpcyAnYSBsaW5rJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLXdpdGgtbGluay5odG1sIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2Utd2l0aC1saW5rLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEzODc3ZjA0MjAzZGY3NDgwNzlmYmU5MjJkYjM0OWFlMjZmZGEwOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3Rl
eHQtZm9yLXJhbmdlLXdpdGgtbGluay5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKzxwIGlkPSJjb250ZW50Ij5BIHBhcmFncmFwaCB3aXRo
IDxhIGhyZWY9J2h0dHA6Ly93ZWJraXQub3JnJz5hIGxpbms8L2E+IGluIHRoZSBtaWRkbGU8L3A+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgYWJpbGl0eSB0byBnZXQgZWxl
bWVudCB0ZXh0IGZvciBhIHNwZWNpZmllZCByYW5nZS4iKTsKKyAgICBpZiAod2luZG93LmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJi
b2R5IikuZm9jdXMoKTsKKyAgICAgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5mb2N1c2VkRWxlbWVudDsKKworICAgICAgICB2YXIgcGFyYWdyYXBoID0gd2ViQXJlYS5j
aGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHNob3VsZEJlKCJwYXJhZ3JhcGguc3RyaW5nRm9yUmFu
Z2UoMCwgLTEpIiwgIidBIHBhcmFncmFwaCB3aXRoIGEgbGluayBpbiB0aGUgbWlkZGxlJyIpOwor
CisgICAgICAgIHZhciBsaW5rID0gcGFyYWdyYXBoLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAg
c2hvdWxkQmUoImxpbmsuc3RyaW5nRm9yUmFuZ2UoMCwgLTEpIiwgIidhIGxpbmsnIik7CisgICAg
fQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci10YWJsZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci10YWJsZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjIxZDJhNGI0YTU4MjA2MTA2MjE2MDA2ZDZhNjU2ZTQ0
M2E0NTJlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L3RleHQtZm9yLXRhYmxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitm
b28JYmFyCitUaGlzIHRlc3RzIHRoZSBhYmlsaXR5IHRvIGdldCBlbGVtZW50IHRleHQgZm9yIGEg
c3BlY2lmaWVkIHJhbmdlLiBObyB0ZXh0IHNob3VsZCBiZSBvYnRhaW5hYmxlIGZvciB0YWJsZXMg
d2hpY2ggc2hvdWxkIG5vdCBpbXBsZW1lbnQgdGhlIHRleHQgaW50ZXJmYWNlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0YWJsZS5zdHJpbmdGb3JSYW5nZSgwLCAtMSkg
aXMgJycKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0
LWZvci10YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
dGV4dC1mb3ItdGFibGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODc3MjExZjRkYTNkOTgwYTQ1YWJmZDE2
ZWVmYTQ1ZjE5ODFkODEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItdGFibGUuaHRtbApAQCAtMCwwICsxLDIxIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+Cis8dGFibGUgaWQ9ImNvbnRlbnQiPjx0
cj48dGQ+Zm9vPC90ZD48dGQ+YmFyPC90ZD48L3RyPjwvdGFibGU+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0cyB0aGUgYWJpbGl0eSB0byBnZXQgZWxlbWVudCB0ZXh0IGZvciBhIHNw
ZWNpZmllZCByYW5nZS4gTm8gdGV4dCBzaG91bGQgYmUgb2J0YWluYWJsZSBmb3IgdGFibGVzIHdo
aWNoIHNob3VsZCBub3QgaW1wbGVtZW50IHRoZSB0ZXh0IGludGVyZmFjZS4iKTsKKyAgICBpZiAo
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJib2R5IikuZm9jdXMoKTsKKyAgICAgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAgICAgdmFyIHRhYmxlID0gd2Vi
QXJlYS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHNob3VsZEJlKCJ0YWJsZS5zdHJpbmdGb3JS
YW5nZSgwLCAtMSkiLCAiJyciKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>