<?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>157531</bug_id>
          
          <creation_ts>2016-05-10 13:15:11 -0700</creation_ts>
          <short_desc>REGRESSION(r200627): This change has caused crashes in existing LayoutTests (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2016-05-10 13:21:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>157400</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191616</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-10 13:15:11 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/200627 broke the build:
This change has caused crashes in existing LayoutTests (Requested by ryanhaddad on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191619</commentid>
    <comment_count>1</comment_count>
      <attachid>278525</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-10 13:15:46 -0700</bug_when>
    <thetext>Created attachment 278525
ROLLOUT of r200627

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191620</commentid>
    <comment_count>2</comment_count>
      <attachid>278525</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-05-10 13:20:57 -0700</bug_when>
    <thetext>Comment on attachment 278525
ROLLOUT of r200627

Clearing flags on attachment: 278525

Committed r200637: &lt;http://trac.webkit.org/changeset/200637&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191621</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-05-10 13:21:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278525</attachid>
            <date>2016-05-10 13:15:46 -0700</date>
            <delta_ts>2016-05-10 13:20:57 -0700</delta_ts>
            <desc>ROLLOUT of r200627</desc>
            <filename>bug-157531-20160510131633.patch</filename>
            <type>text/plain</type>
            <size>40762</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdkMGY2Nzc2MjQ4NTgx
ZDk2NTM0MmRhNjY5MTQwYTExNjM0ZjEzYy4uNDZkNWM5OWU0MGI3MjE5NDZjMDU2M2Q5YzdhOTk5
N2Q4NTYwMTI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA1LTEwICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjAwNjI3LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU3NTMxCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaGFzIGNhdXNlZCBj
cmFzaGVzIGluIGV4aXN0aW5nIExheW91dFRlc3RzCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgcnlh
bmhhZGRhZCBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAg
ICAgICAgIlJldHVybiBhIFByb21pc2UgZnJvbSBIVE1MTWVkaWFFbGVtZW50LnBsYXkoKSIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzQwMAorICAg
ICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMDA2MjcKKwogMjAxNi0wNS0x
MCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXgg
c2Nyb2xsaW5nIHRyZWUgZHVtcGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3NTUwYjAwZDJh
Zjc1Zjg5NDViNmRhZjQyMGIwYmJmODcwNWU2NjdmLi5hOTg0YWUwY2UxNDIyOGQzYjUyNzVmMTc0
MmEwZmU1OTk3NGEwN2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjEwOSw3ICsyMTA5LDYg
QEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAogICAg
IHBsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwCiAgICAgcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAKLSAg
ICBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAogICAgIHBsYXRmb3JtL0xhbmd1YWdlLmNw
cAogICAgIHBsYXRmb3JtL0xlbmd0aC5jcHAKICAgICBwbGF0Zm9ybS9MZW5ndGhCb3guY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZjUyNjcyNzQ3NDZhOTMyNDBkOWY2M2I3NzVlNjJmZjNkNTgzZTBmMC4uN2FjMTAyZTYwYjBi
MzgxYzA2NmVkNzJmOGVjN2U2ODVmOTg0M2NkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjA0Miw3ICs2MDQyLDYgQEAKIAkJ
Q0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjEx
ODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwICovOyB9Owog
CQlDRDNFMjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjIx
ODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLzsgfTsKIAkJ
Q0Q0QUM1MkExNDk2QUU5QTAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgaW4gQ29weSBBdWRpbyBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0QUM1MjgxNDk2
QUUyRjAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgKi87IH07Ci0JCUNENEJFNTJBMUNFMTM2RUYw
MDlEODdEQSAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENEJFNTI5MUNFMTM0MjUwMDlEODdEQSAvKiBHZW5lcmlj
VGFza1F1ZXVlLmNwcCAqLzsgfTsKIAkJQ0Q1MjA5RTQxQjBCRDgzODAwNzcxODRFIC8qIE1lZGlh
UGxheWVyRW51bXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENENTIwOUUzMUIwQkQ4MzgwMDc3MTg0RSAvKiBNZWRpYVBsYXllckVudW1zLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q1MjA5RTYxQjBC
RDlFMTAwNzcxODRFIC8qIEhUTUxNZWRpYUVsZW1lbnRFbnVtcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MjA5RTUxQjBCRDlFMTAwNzcxODRFIC8q
IEhUTUxNZWRpYUVsZW1lbnRFbnVtcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUNENTI0ODFBMThFMjAwRUQwMDA4QTA3RCAvKiBEaXNwbGF5U2xl
ZXBEaXNhYmxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDUyNDgxODE4RTIwMEVEMDAwOEEwN0QgLyogRGlzcGxheVNsZWVwRGlzYWJsZXIuY3Bw
ICovOyB9OwpAQCAtMTQwMzMsNyArMTQwMzIsNiBAQAogCQlDRDNFMjUyMjE4MDQ2QkNEMDBFMjdG
NTYgLyogQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNENDA5N0ZGMUE4Qzg1NUYwMDRDNjVFOSAvKiBDRk5TVVJMQ29ubmVjdGlv
blNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRk5TVVJMQ29ubmVjdGlv
blNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDRBQzUyODE0OTZBRTJGMDA4
N0M0RUYgLyogQ29tcG9zaXRlLndhdiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IGF1ZGlvLndhdjsgbmFtZSA9IENvbXBvc2l0ZS53YXY7IHBhdGggPSBw
bGF0Zm9ybS9hdWRpby9yZXNvdXJjZXMvQ29tcG9zaXRlLndhdjsgc291cmNlVHJlZSA9IFNPVVJD
RV9ST09UOyB9OwotCQlDRDRCRTUyOTFDRTEzNDI1MDA5RDg3REEgLyogR2VuZXJpY1Rhc2tRdWV1
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW5lcmljVGFza1F1
ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0RTBBRkExMUY3QkMyNzAw
OUQzODExIC8qIGZ1bGxzY3JlZW4uY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBmdWxs
c2NyZWVuLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1MjA5RTMxQjBCRDgz
ODAwNzcxODRFIC8qIE1lZGlhUGxheWVyRW51bXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFQbGF5ZXJFbnVtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDRDUyMDlFNTFCMEJEOUUxMDA3NzE4NEUgLyogSFRNTE1lZGlhRWxlbWVudEVudW1zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxNZWRpYUVsZW1lbnRFbnVtcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjI5NTEsNyArMjI5NDksNiBAQAogCQkJCTUx
NzlDRTIzMTk1QzgxNDIwMDE5QzE5OCAvKiBHYW1lcGFkUHJvdmlkZXIuaCAqLywKIAkJCQk1MTc5
Q0UyOTE5NUM5MTg2MDAxOUMxOTggLyogR2FtZXBhZFByb3ZpZGVyQ2xpZW50LmggKi8sCiAJCQkJ
Q0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLywKLQkJCQlD
RDRCRTUyOTFDRTEzNDI1MDA5RDg3REEgLyogR2VuZXJpY1Rhc2tRdWV1ZS5jcHAgKi8sCiAJCQkJ
QTg3NDhCREYxMkNCRjJEQzAwMUZCQTQxIC8qIEhhc2hUb29scy5oICovLAogCQkJCUJDM0JDMjlC
MEU5MUFCMEYwMDgzNTU4OCAvKiBIb3N0V2luZG93LmggKi8sCiAJCQkJODYyRjEyOUYxOEMxRENF
NDAwNUM1NEFGIC8qIEh5c3RlcmVzaXNBY3Rpdml0eS5oICovLApAQCAtMzEzNDMsNyArMzEzNDAs
NiBAQAogCQkJCUQ3MEFENjU3MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkNFOTNGNDcxNTE3QzZENTAwOENDRjc0IC8qIFJlbmRlclJlZ2lv
blNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREZFMjBBMTUzNzZCMDBCMTJBNjggLyog
UmVuZGVyUmVwbGFjZWQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQ0Q0QkU1MkExQ0UxMzZFRjAw
OUQ4N0RBIC8qIEdlbmVyaWNUYXNrUXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNBODQ2
RDYwREM2N0EzNTAwMjZDMzA5IC8qIFJlbmRlclJlcGxpY2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMTQ3OUZBRUQxMDlBRTM3NTAwREVENjU1IC8qIFJlbmRlclJ1YnkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMTQ3OUZBRUYxMDlBRTM3NTAwREVENjU1IC8qIFJlbmRlclJ1YnlCYXNlLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVu
dFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAKaW5k
ZXggZmViNGMyMTk5ZGE4NzljZDkxMzA4OWQ5Yzg5YjUxZTYyNjAyNWIxNC4uNjk0YzQ5MzE2YzZm
OWNkY2NiNTZkNjhhMjY1MmZiZWMzOTZmMjcwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJp
Y0V2ZW50UXVldWUuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJFdmVudC5oIgog
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAgLTM3LDYgKzM2LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBHZW5lcmljRXZlbnRRdWV1ZTo6R2VuZXJpY0V2ZW50UXVldWUoRXZlbnRU
YXJnZXQmIG93bmVyKQogICAgIDogbV9vd25lcihvd25lcikKKyAgICAsIG1fd2Vha1B0ckZhY3Rv
cnkodGhpcykKICAgICAsIG1faXNDbG9zZWQoZmFsc2UpCiB7CiB9CkBAIC01OCw3ICs1OCw0MCBA
QCB2b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQoUmVmUHRyPEV2ZW50PiYmIGV2
ZW50KQogICAgIGlmIChtX2lzU3VzcGVuZGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Rh
c2tRdWV1ZS5lbnF1ZXVlVGFzayhzdGQ6OmJpbmQoJkdlbmVyaWNFdmVudFF1ZXVlOjpkaXNwYXRj
aE9uZUV2ZW50LCB0aGlzKSk7CisgICAgcGVuZGluZ1F1ZXVlcygpLmFwcGVuZChtX3dlYWtQdHJG
YWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSk7CisgICAgaWYgKCFzaGFyZWRUaW1lcigpLmlzQWN0aXZl
KCkpCisgICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworfQorCitUaW1lciYg
R2VuZXJpY0V2ZW50UXVldWU6OnNoYXJlZFRpbWVyKCkKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxUaW1lcj4gdGltZXIoR2VuZXJpY0V2
ZW50UXVldWU6OnNoYXJlZFRpbWVyRmlyZWQpOworICAgIHJldHVybiB0aW1lci5nZXQoKTsKK30K
Kwordm9pZCBHZW5lcmljRXZlbnRRdWV1ZTo6c2hhcmVkVGltZXJGaXJlZCgpCit7CisgICAgQVNT
RVJUKCFzaGFyZWRUaW1lcigpLmlzQWN0aXZlKCkpOworICAgIEFTU0VSVCghcGVuZGluZ1F1ZXVl
cygpLmlzRW1wdHkoKSk7CisKKyAgICAvLyBDb3B5IHRoZSBwZW5kaW5nIGV2ZW50cyBmaXJzdCBi
ZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gcHJvY2VzcyBzeW5jaHJvbm91c2x5IHRoZSBuZXcgZXZl
bnRzCisgICAgLy8gcXVldWVkIGJ5IHRoZSBKUyBldmVudHMgaGFuZGxlcnMgdGhhdCBhcmUgZXhl
Y3V0ZWQgaW4gdGhlIGxvb3AgYmVsb3cuCisgICAgRGVxdWU8V2Vha1B0cjxHZW5lcmljRXZlbnRR
dWV1ZT4+IHF1ZXVlZEV2ZW50czsKKyAgICBzdGQ6OnN3YXAocXVldWVkRXZlbnRzLCBwZW5kaW5n
UXVldWVzKCkpOworICAgIHdoaWxlICghcXVldWVkRXZlbnRzLmlzRW1wdHkoKSkgeworICAgICAg
ICBXZWFrUHRyPEdlbmVyaWNFdmVudFF1ZXVlPiBxdWV1ZSA9IHF1ZXVlZEV2ZW50cy50YWtlRmly
c3QoKTsKKyAgICAgICAgaWYgKCFxdWV1ZSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICBxdWV1ZS0+ZGlzcGF0Y2hPbmVFdmVudCgpOworICAgIH0KK30KKworRGVxdWU8V2Vha1B0cjxH
ZW5lcmljRXZlbnRRdWV1ZT4+JiBHZW5lcmljRXZlbnRRdWV1ZTo6cGVuZGluZ1F1ZXVlcygpCit7
CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
RGVxdWU8V2Vha1B0cjxHZW5lcmljRXZlbnRRdWV1ZT4+PiBxdWV1ZXM7CisgICAgcmV0dXJuIHF1
ZXVlcy5nZXQoKTsKIH0KIAogdm9pZCBHZW5lcmljRXZlbnRRdWV1ZTo6ZGlzcGF0Y2hPbmVFdmVu
dCgpCkBAIC03NSwxMyArMTA4LDEzIEBAIHZvaWQgR2VuZXJpY0V2ZW50UXVldWU6OmNsb3NlKCkK
IHsKICAgICBtX2lzQ2xvc2VkID0gdHJ1ZTsKIAotICAgIG1fdGFza1F1ZXVlLmNsb3NlKCk7Cisg
ICAgbV93ZWFrUHRyRmFjdG9yeS5yZXZva2VBbGwoKTsKICAgICBtX3BlbmRpbmdFdmVudHMuY2xl
YXIoKTsKIH0KIAogdm9pZCBHZW5lcmljRXZlbnRRdWV1ZTo6Y2FuY2VsQWxsRXZlbnRzKCkKIHsK
LSAgICBtX3Rhc2tRdWV1ZS5jYW5jZWxBbGxUYXNrcygpOworICAgIG1fd2Vha1B0ckZhY3Rvcnku
cmV2b2tlQWxsKCk7CiAgICAgbV9wZW5kaW5nRXZlbnRzLmNsZWFyKCk7CiB9CiAKQEAgLTk0LDcg
KzEyNyw3IEBAIHZvaWQgR2VuZXJpY0V2ZW50UXVldWU6OnN1c3BlbmQoKQogewogICAgIEFTU0VS
VCghbV9pc1N1c3BlbmRlZCk7CiAgICAgbV9pc1N1c3BlbmRlZCA9IHRydWU7Ci0gICAgbV90YXNr
UXVldWUuY2FuY2VsQWxsVGFza3MoKTsKKyAgICBtX3dlYWtQdHJGYWN0b3J5LnJldm9rZUFsbCgp
OwogfQogCiB2b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjpyZXN1bWUoKQpAQCAtMTA4LDcgKzE0MSwx
MCBAQCB2b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjpyZXN1bWUoKQogICAgICAgICByZXR1cm47CiAK
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wZW5kaW5nRXZlbnRzLnNpemUoKTsgKytp
KQotICAgICAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhzdGQ6OmJpbmQoJkdlbmVyaWNFdmVu
dFF1ZXVlOjpkaXNwYXRjaE9uZUV2ZW50LCB0aGlzKSk7CisgICAgICAgIHBlbmRpbmdRdWV1ZXMo
KS5hcHBlbmQobV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCkpOworCisgICAgaWYgKCFz
aGFyZWRUaW1lcigpLmlzQWN0aXZlKCkpCisgICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVT
aG90KDApOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2
ZW50UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oCmluZGV4
IGIxMTFiMDE3MmJmM2ZkNGE0MjdmMDIxOTFhMThlZDY0NGJmZWUzZTAuLmQzYTAzOGE0YjVmN2Iw
Zjc0OTEwZTc5Zjk0NmFmYWI5YjhiMGU4N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9HZW5lcmljRXZlbnRRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZl
bnRRdWV1ZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEdlbmVyaWNFdmVudFF1ZXVlX2gK
ICNkZWZpbmUgR2VuZXJpY0V2ZW50UXVldWVfaAogCi0jaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1
ZS5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTMsMTEgKzUyLDE1IEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgorICAgIHN0YXRpYyBUaW1lciYgc2hhcmVkVGltZXIo
KTsKKyAgICBzdGF0aWMgdm9pZCBzaGFyZWRUaW1lckZpcmVkKCk7CisgICAgc3RhdGljIERlcXVl
PFdlYWtQdHI8R2VuZXJpY0V2ZW50UXVldWU+PiYgcGVuZGluZ1F1ZXVlcygpOworCiAgICAgdm9p
ZCBkaXNwYXRjaE9uZUV2ZW50KCk7CiAKICAgICBFdmVudFRhcmdldCYgbV9vd25lcjsKLSAgICBH
ZW5lcmljVGFza1F1ZXVlPFRpbWVyPiBtX3Rhc2tRdWV1ZTsKICAgICBEZXF1ZTxSZWZQdHI8RXZl
bnQ+PiBtX3BlbmRpbmdFdmVudHM7CisgICAgV2Vha1B0ckZhY3Rvcnk8R2VuZXJpY0V2ZW50UXVl
dWU+IG1fd2Vha1B0ckZhY3Rvcnk7CiAgICAgYm9vbCBtX2lzQ2xvc2VkOwogICAgIGJvb2wgbV9p
c1N1c3BlbmRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggYjg4M2Y2N2EzM2ZiNmVjYWI4ODRjNmI3OTQzNjlmYjdmMjViM2UyOS4u
MzAwY2Y2YWMyZjczMTZlNjU4OTkzNGZiZWY2ZDhlNzliYzcxMTU2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01MSw3ICs1MSw2IEBACiAjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MVmlkZW9FbGVtZW50LmgiCi0jaW5jbHVkZSAiSlNET01FcnJvci5oIgogI2luY2x1ZGUgIkpT
SFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgpAQCAtMzQ5LDYgKzM0OCwxMCBAQCBIVE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bQogICAg
ICwgbV9wcm9ncmVzc0V2ZW50VGltZXIoKnRoaXMsICZIVE1MTWVkaWFFbGVtZW50Ojpwcm9ncmVz
c0V2ZW50VGltZXJGaXJlZCkKICAgICAsIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyKCp0aGlzLCAm
SFRNTE1lZGlhRWxlbWVudDo6cGxheWJhY2tQcm9ncmVzc1RpbWVyRmlyZWQpCiAgICAgLCBtX3Nj
YW5UaW1lcigqdGhpcywgJkhUTUxNZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZpcmVkKQorICAgICwg
bV9wYXVzZUFmdGVyRGV0YWNoZWRUaW1lcigqdGhpcywgJkhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNl
QWZ0ZXJEZXRhY2hlZFRpbWVyRmlyZWQpCisgICAgLCBtX3NlZWtUYXNrUXVldWUoZG9jdW1lbnQp
CisgICAgLCBtX3Jlc2l6ZVRhc2tRdWV1ZShkb2N1bWVudCkKKyAgICAsIG1fc2hhZG93RE9NVGFz
a1F1ZXVlKGRvY3VtZW50KQogICAgICwgbV9wbGF5ZWRUaW1lUmFuZ2VzKCkKICAgICAsIG1fYXN5
bmNFdmVudFF1ZXVlKCp0aGlzKQogICAgICwgbV9yZXF1ZXN0ZWRQbGF5YmFja1JhdGUoMSkKQEAg
LTU1Nyw4ICs1NjAsNiBAQCBIVE1MTWVkaWFFbGVtZW50Ojp+SFRNTE1lZGlhRWxlbWVudCgpCiAj
ZW5kaWYKIAogICAgIG1fc2Vla1Rhc2tRdWV1ZS5jbG9zZSgpOwotICAgIG1fcHJvbWlzZVRhc2tR
dWV1ZS5jbG9zZSgpOwotICAgIG1fcGF1c2VBZnRlckRldGFjaGVkVGFza1F1ZXVlLmNsb3NlKCk7
CiAKICAgICBtX2NvbXBsZXRlbHlMb2FkZWQgPSB0cnVlOwogfQpAQCAtNzc4LDcgKzc3OSw3IEBA
IE5vZGU6Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgSFRNTE1lZGlhRWxlbWVudDo6aW5z
ZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUmCiAgICAgcmV0dXJuIEluc2VydGlvbkRvbmU7CiB9CiAK
LXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2VBZnRlckRldGFjaGVkVGFzaygpCit2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OnBhdXNlQWZ0ZXJEZXRhY2hlZFRpbWVyRmlyZWQoKQogewogICAgIC8v
IElmIHdlIHdlcmUgcmUtaW5zZXJ0ZWQgaW50byBhbiBhY3RpdmUgZG9jdW1lbnQsIG5vIG5lZWQg
dG8gcGF1c2UuCiAgICAgaWYgKG1faW5BY3RpdmVEb2N1bWVudCkKQEAgLTgxNCw3ICs4MTUsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUmIGluc2Vy
dGlvblBvaW50KQogICAgIG1faW5BY3RpdmVEb2N1bWVudCA9IGZhbHNlOwogICAgIGlmIChpbnNl
cnRpb25Qb2ludC5pbkRvY3VtZW50KCkpIHsKICAgICAgICAgLy8gUGF1c2UgYXN5bmNocm9ub3Vz
bHkgdG8gbGV0IHRoZSBvcGVyYXRpb24gdGhhdCByZW1vdmVkIHVzIGZpbmlzaCwgaW4gY2FzZSB3
ZSBnZXQgaW5zZXJ0ZWQgYmFjayBpbnRvIGEgZG9jdW1lbnQuCi0gICAgICAgIG1fcGF1c2VBZnRl
ckRldGFjaGVkVGFza1F1ZXVlLmVucXVldWVUYXNrKHN0ZDo6YmluZCgmSFRNTE1lZGlhRWxlbWVu
dDo6cGF1c2VBZnRlckRldGFjaGVkVGFzaywgdGhpcykpOworICAgICAgICBtX3BhdXNlQWZ0ZXJE
ZXRhY2hlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKICAgICB9CiAKICAgICBIVE1MRWxlbWVudDo6
cmVtb3ZlZEZyb20oaW5zZXJ0aW9uUG9pbnQpOwpAQCAtOTAyLDM4ICs5MDMsNiBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudE5h
bWUpCiAgICAgbV9hc3luY0V2ZW50UXVldWUuZW5xdWV1ZUV2ZW50KFdURk1vdmUoZXZlbnQpKTsK
IH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVJlc29sdmVQZW5kaW5nUGxheVBy
b21pc2VzKCkKLXsKLSAgICBtX3Byb21pc2VUYXNrUXVldWUuZW5xdWV1ZVRhc2soc3RkOjpiaW5k
KCZIVE1MTWVkaWFFbGVtZW50OjpyZXNvbHZlUGVuZGluZ1BsYXlQcm9taXNlcywgdGhpcykpOwot
fQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnJlamVjdFBlbmRpbmdQbGF5UHJvbWlzZXMoRE9N
RXJyb3ImIGVycm9yKQotewotICAgIFZlY3RvcjxQbGF5UHJvbWlzZT4gcGVuZGluZ1BsYXlQcm9t
aXNlcyA9IFdURk1vdmUobV9wZW5kaW5nUGxheVByb21pc2VzKTsKLQotICAgIGZvciAoYXV0byYg
cHJvbWlzZSA6IHBlbmRpbmdQbGF5UHJvbWlzZXMpCi0gICAgICAgIHByb21pc2UucmVqZWN0KGVy
cm9yKTsKLX0KLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpyZXNvbHZlUGVuZGluZ1BsYXlQcm9t
aXNlcygpCi17Ci0gICAgVmVjdG9yPFBsYXlQcm9taXNlPiBwZW5kaW5nUGxheVByb21pc2VzID0g
V1RGTW92ZShtX3BlbmRpbmdQbGF5UHJvbWlzZXMpOwotCi0gICAgZm9yIChhdXRvJiBwcm9taXNl
IDogcGVuZGluZ1BsYXlQcm9taXNlcykKLSAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG51bGxwdHIp
OwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTm90aWZ5QWJvdXRQbGF5aW5n
KCkKLXsKLSAgICBtX3Byb21pc2VUYXNrUXVldWUuZW5xdWV1ZVRhc2soc3RkOjpiaW5kKCZIVE1M
TWVkaWFFbGVtZW50Ojpub3RpZnlBYm91dFBsYXlpbmcsIHRoaXMpKTsKLX0KLQotdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojpub3RpZnlBYm91dFBsYXlpbmcoKQotewotICAgIGRpc3BhdGNoRXZlbnQo
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucGxheWluZ0V2ZW50LCBmYWxzZSwgdHJ1ZSkpOwot
ICAgIHJlc29sdmVQZW5kaW5nUGxheVByb21pc2VzKCk7Ci19Ci0KIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6cGVuZGluZ0FjdGlvblRpbWVyRmlyZWQoKQogewogICAgIFJlZjxIVE1MTWVkaWFFbGVt
ZW50PiBwcm90ZWN0KCp0aGlzKTsgLy8gbG9hZE5leHRTb3VyY2VDaGlsZCBtYXkgZmlyZSAnYmVm
b3JlbG9hZCcsIHdoaWNoIGNhbiBtYWtlIGFyYml0cmFyeSBET00gbXV0YXRpb25zLgpAQCAtMTk0
Niw4ICsxOTE1LDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpub25lU3VwcG9ydGVkKCkKICAg
ICAvLyA3IC0gUXVldWUgYSB0YXNrIHRvIGZpcmUgYSBzaW1wbGUgZXZlbnQgbmFtZWQgZXJyb3Ig
YXQgdGhlIG1lZGlhIGVsZW1lbnQuCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkuZXJy
b3JFdmVudCk7CiAKLSAgICByZWplY3RQZW5kaW5nUGxheVByb21pc2VzKERPTUVycm9yOjpjcmVh
dGUoIk5vdFN1cHBvcnRlZEVycm9yIiwgIlRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4i
KSk7Ci0KICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIGNsb3NlTWVkaWFTb3VyY2UoKTsK
ICNlbmRpZgpAQCAtMjAxMiw4ICsxOTc5LDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpjYW5j
ZWxQZW5kaW5nRXZlbnRzQW5kQ2FsbGJhY2tzKCkKIAogICAgIGZvciAoYXV0byYgc291cmNlIDog
Y2hpbGRyZW5PZlR5cGU8SFRNTFNvdXJjZUVsZW1lbnQ+KCp0aGlzKSkKICAgICAgICAgc291cmNl
LmNhbmNlbFBlbmRpbmdFcnJvckV2ZW50KCk7Ci0KLSAgICByZWplY3RQZW5kaW5nUGxheVByb21p
c2VzKERPTUVycm9yOjpjcmVhdGUoIkFib3J0RXJyb3IiLCAiVGhlIG9wZXJhdGlvbiB3YXMgYWJv
cnRlZC4iKSk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJOZXR3b3Jr
U3RhdGVDaGFuZ2VkKE1lZGlhUGxheWVyKikKQEAgLTIyNzcsNyArMjI0Miw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0
ZSkKICAgICBpZiAobV9yZWFkeVN0YXRlID09IEhBVkVfRlVUVVJFX0RBVEEgJiYgb2xkU3RhdGUg
PD0gSEFWRV9DVVJSRU5UX0RBVEEgJiYgdHJhY2tzQXJlUmVhZHkpIHsKICAgICAgICAgc2NoZWR1
bGVFdmVudChldmVudE5hbWVzKCkuY2FucGxheUV2ZW50KTsKICAgICAgICAgaWYgKGlzUG90ZW50
aWFsbHlQbGF5aW5nKQotICAgICAgICAgICAgc2NoZWR1bGVOb3RpZnlBYm91dFBsYXlpbmcoKTsK
KyAgICAgICAgICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnBsYXlpbmdFdmVudCk7CiAg
ICAgICAgIHNob3VsZFVwZGF0ZURpc3BsYXlTdGF0ZSA9IHRydWU7CiAgICAgfQogCkBAIC0yMjg4
LDEzICsyMjUzLDEzIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0UmVhZHlTdGF0ZShNZWRp
YVBsYXllcjo6UmVhZHlTdGF0ZSBzdGF0ZSkKICAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5h
bWVzKCkuY2FucGxheXRocm91Z2hFdmVudCk7CiAKICAgICAgICAgaWYgKGlzUG90ZW50aWFsbHlQ
bGF5aW5nICYmIG9sZFN0YXRlIDw9IEhBVkVfQ1VSUkVOVF9EQVRBKQotICAgICAgICAgICAgc2No
ZWR1bGVOb3RpZnlBYm91dFBsYXlpbmcoKTsKKyAgICAgICAgICAgIHNjaGVkdWxlRXZlbnQoZXZl
bnROYW1lcygpLnBsYXlpbmdFdmVudCk7CiAKICAgICAgICAgaWYgKGNhblRyYW5zaXRpb25Gcm9t
QXV0b3BsYXlUb1BsYXkoKSkgewogICAgICAgICAgICAgbV9wYXVzZWQgPSBmYWxzZTsKICAgICAg
ICAgICAgIGludmFsaWRhdGVDYWNoZWRUaW1lKCk7CiAgICAgICAgICAgICBzY2hlZHVsZUV2ZW50
KGV2ZW50TmFtZXMoKS5wbGF5RXZlbnQpOwotICAgICAgICAgICAgc2NoZWR1bGVOb3RpZnlBYm91
dFBsYXlpbmcoKTsKKyAgICAgICAgICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnBsYXlp
bmdFdmVudCk7CiAgICAgICAgIH0KIAogICAgICAgICBzaG91bGRVcGRhdGVEaXNwbGF5U3RhdGUg
PSB0cnVlOwpAQCAtMzAyMSwyOSArMjk4Niw2IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0
UHJlbG9hZChjb25zdCBTdHJpbmcmIHByZWxvYWQpCiAgICAgc2V0QXR0cmlidXRlKHByZWxvYWRB
dHRyLCBwcmVsb2FkKTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5KFBsYXlQcm9t
aXNlJiYgcHJvbWlzZSkKLXsKLSAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpwbGF5
KCVwKSIsIHRoaXMpOwotCi0gICAgaWYgKCFtX21lZGlhU2Vzc2lvbi0+cGxheWJhY2tQZXJtaXR0
ZWQoKnRoaXMpKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KERPTUVycm9yOjpjcmVhdGUoIk5v
dEFsbG93ZWRFcnJvciIsICJUaGUgcmVxdWVzdCBpcyBub3QgYWxsb3dlZCBieSB0aGUgdXNlciBh
Z2VudCBvciB0aGUgcGxhdGZvcm0gaW4gdGhlIGN1cnJlbnQgY29udGV4dC4iKSk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobV9lcnJvciAmJiBtX2Vycm9yLT5jb2RlKCkgPT0g
TWVkaWFFcnJvcjo6TUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVEKSB7Ci0gICAgICAgIHByb21p
c2UucmVqZWN0KERPTUVycm9yOjpjcmVhdGUoIk5vdFN1cHBvcnRlZEVycm9yIiwgIlRoZSBvcGVy
YXRpb24gaXMgbm90IHN1cHBvcnRlZC4uIikpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgaWYgKFNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkp
Ci0gICAgICAgIHJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9uc0FmdGVyRmlyc3RVc2VyR2VzdHVy
ZSgpOwotCi0gICAgaWYgKCFwbGF5SW50ZXJuYWwoKSkKLSAgICAgICAgcHJvbWlzZS5yZWplY3Qo
RE9NRXJyb3I6OmNyZWF0ZSgiTm90QWxsb3dlZEVycm9yIiwgIlRoZSByZXF1ZXN0IGlzIG5vdCBh
bGxvd2VkIGJ5IHRoZSB1c2VyIGFnZW50IG9yIHRoZSBwbGF0Zm9ybSBpbiB0aGUgY3VycmVudCBj
b250ZXh0LiIpKTsKLQotICAgIG1fcGVuZGluZ1BsYXlQcm9taXNlcy5hcHBlbmQoV1RGTW92ZShw
cm9taXNlKSk7Ci19Ci0KIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxheSgpCiB7CiAgICAgTE9H
KE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6cGxheSglcCkiLCB0aGlzKTsKQEAgLTMwNTYsMTMg
KzI5OTgsMTMgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5KCkKICAgICBwbGF5SW50ZXJu
YWwoKTsKIH0KIAotYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwoKQordm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwoKQogewogICAgIExPRyhNZWRpYSwgIkhUTUxN
ZWRpYUVsZW1lbnQ6OnBsYXlJbnRlcm5hbCglcCkiLCB0aGlzKTsKICAgICAKICAgICBpZiAoIW1f
bWVkaWFTZXNzaW9uLT5jbGllbnRXaWxsQmVnaW5QbGF5YmFjaygpKSB7CiAgICAgICAgIExPRyhN
ZWRpYSwgIiAgcmV0dXJuaW5nIGJlY2F1c2Ugb2YgaW50ZXJydXB0aW9uIik7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIDQuOC4xMC45LiBQ
bGF5aW5nIHRoZSBtZWRpYSByZXNvdXJjZQpAQCAtMzA4Myw3ICszMDI1LDcgQEAgYm9vbCBIVE1M
TWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwoKQogICAgICAgICBpZiAobV9yZWFkeVN0YXRlIDw9
IEhBVkVfQ1VSUkVOVF9EQVRBKQogICAgICAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVz
KCkud2FpdGluZ0V2ZW50KTsKICAgICAgICAgZWxzZSBpZiAobV9yZWFkeVN0YXRlID49IEhBVkVf
RlVUVVJFX0RBVEEpCi0gICAgICAgICAgICBzY2hlZHVsZU5vdGlmeUFib3V0UGxheWluZygpOwor
ICAgICAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkucGxheWluZ0V2ZW50KTsKIAog
I2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogICAgICAgICAvLyA2LjMgQWN0aXZhdGluZyBhIG1l
ZGlhIHNlc3Npb24gZnJvbSBhIG1lZGlhIGVsZW1lbnQKQEAgLTMxMDUsMTggKzMwNDcsMTUgQEAg
Ym9vbCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwoKQogCiAgICAgICAgICAgICAgICAg
aWYgKCFtX3Nlc3Npb24tPmludm9rZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIHBhdXNlKCk7
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogI2Vu
ZGlmCi0gICAgfSBlbHNlIGlmIChtX3JlYWR5U3RhdGUgPj0gSEFWRV9GVVRVUkVfREFUQSkKLSAg
ICAgICAgc2NoZWR1bGVSZXNvbHZlUGVuZGluZ1BsYXlQcm9taXNlcygpOwotCisgICAgfQogICAg
IG1fYXV0b3BsYXlpbmcgPSBmYWxzZTsKICAgICB1cGRhdGVQbGF5U3RhdGUoKTsKICAgICB1cGRh
dGVNZWRpYUNvbnRyb2xsZXIoKTsKLSAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpwYXVzZSgpCkBAIC0zMTU0LDcgKzMwOTMsNiBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnBhdXNlSW50ZXJuYWwoKQogICAgICAgICBtX3BhdXNlZCA9IHRydWU7CiAgICAgICAg
IHNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KGZhbHNlKTsKICAgICAgICAgc2NoZWR1bGVFdmVudChl
dmVudE5hbWVzKCkucGF1c2VFdmVudCk7Ci0gICAgICAgIHJlamVjdFBlbmRpbmdQbGF5UHJvbWlz
ZXMoRE9NRXJyb3I6OmNyZWF0ZSgiQWJvcnRFcnJvciIsICJUaGUgb3BlcmF0aW9uIHdhcyBhYm9y
dGVkLiIpKTsKIAogICAgICAgICBpZiAoTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzaW5nbGV0b24o
KS5pc1VuZGVyTWVtb3J5UHJlc3N1cmUoKSkKICAgICAgICAgICAgIHB1cmdlQnVmZmVyZWREYXRh
SWZQb3NzaWJsZSgpOwpAQCAtNTA2Nyw4ICs1MDA1LDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
Ojpjb250ZXh0RGVzdHJveWVkKCkKICAgICBtX3NlZWtUYXNrUXVldWUuY2xvc2UoKTsKICAgICBt
X3Jlc2l6ZVRhc2tRdWV1ZS5jbG9zZSgpOwogICAgIG1fc2hhZG93RE9NVGFza1F1ZXVlLmNsb3Nl
KCk7Ci0gICAgbV9wcm9taXNlVGFza1F1ZXVlLmNsb3NlKCk7Ci0gICAgbV9wYXVzZUFmdGVyRGV0
YWNoZWRUYXNrUXVldWUuY2xvc2UoKTsKIAogICAgIEFjdGl2ZURPTU9iamVjdDo6Y29udGV4dERl
c3Ryb3llZCgpOwogfQpAQCAtNTA4MCw3ICs1MDE2LDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjpzdG9wKCkKICAgICBzdG9wV2l0aG91dERlc3Ryb3lpbmdNZWRpYVBsYXllcigpOwogCiAgICAg
bV9hc3luY0V2ZW50UXVldWUuY2xvc2UoKTsKLSAgICBtX3Byb21pc2VUYXNrUXVldWUuY2xvc2Uo
KTsKIAogICAgIC8vIE9uY2UgYW4gYWN0aXZlIERPTSBvYmplY3QgaGFzIGJlZW4gc3RvcHBlZCBp
dCBjYW4gbm90IGJlIHJlc3RhcnRlZCwgc28gd2UgY2FuIGRlYWxsb2NhdGUKICAgICAvLyB0aGUg
bWVkaWEgcGxheWVyIG5vdy4gTm90ZSB0aGF0IHVzZXJDYW5jZWxsZWRMb2FkIHdpbGwgYWxyZWFk
eSBjYWxsZWQgY2xlYXJNZWRpYVBsYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAppbmRleCBkOGJjMTU1ZDE3MmYwM2Q2YTgzMmQ0NjIwODg4Zjc0NzFhY2E4Y2JmLi43NmE3
OTNkMGE2MjdlOGQwYzY5NzYwOThmMWVhMmYzZTlkMTgzZjUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkdlbmVyaWNF
dmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgogI2luY2x1ZGUgIkhU
TUxNZWRpYUVsZW1lbnRFbnVtcy5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgogI2luY2x1
ZGUgIk1lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIk1lZGlhQ29udHJvbGxlcklu
dGVyZmFjZS5oIgogI2luY2x1ZGUgIk1lZGlhRWxlbWVudFNlc3Npb24uaCIKQEAgLTU5LDcgKzU4
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQXVkaW9Tb3VyY2VQcm92aWRlcjsKIGNs
YXNzIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTsKICNlbmRpZgotY2xhc3MgRE9NRXJyb3I7
CiBjbGFzcyBEaXNwbGF5U2xlZXBEaXNhYmxlcjsKIGNsYXNzIEV2ZW50OwogY2xhc3MgSFRNTFNv
dXJjZUVsZW1lbnQ7CkBAIC0xNDMsMTEgKzE0MSw2IEBAIHB1YmxpYzoKIAogICAgIHVzaW5nIEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6RGVsYXllZEFjdGlvblR5cGU7CiAgICAgdm9pZCBzY2hlZHVs
ZURlbGF5ZWRBY3Rpb24oRGVsYXllZEFjdGlvblR5cGUpOwotICAgIHZvaWQgc2NoZWR1bGVSZXNv
bHZlUGVuZGluZ1BsYXlQcm9taXNlcygpOwotICAgIHZvaWQgcmVqZWN0UGVuZGluZ1BsYXlQcm9t
aXNlcyhET01FcnJvciYpOwotICAgIHZvaWQgcmVzb2x2ZVBlbmRpbmdQbGF5UHJvbWlzZXMoKTsK
LSAgICB2b2lkIHNjaGVkdWxlTm90aWZ5QWJvdXRQbGF5aW5nKCk7Ci0gICAgdm9pZCBub3RpZnlB
Ym91dFBsYXlpbmcoKTsKICAgICAKICAgICBNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBl
IG1vdmllTG9hZFR5cGUoKSBjb25zdDsKICAgICAKQEAgLTIxMSwxMCArMjA0LDYgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNBdXRvcGxheWluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b3BsYXlpbmc7
IH0KICAgICBib29sIGxvb3AoKSBjb25zdDsKICAgICB2b2lkIHNldExvb3AoYm9vbCBiKTsKLQot
ICAgIHR5cGVkZWYgRE9NUHJvbWlzZTxzdGQ6Om51bGxwdHJfdCwgRE9NRXJyb3ImPiBQbGF5UHJv
bWlzZTsKLSAgICB2b2lkIHBsYXkoUGxheVByb21pc2UmJik7Ci0KICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHBsYXkoKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBhdXNlKCkg
b3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRTaG91bGRCdWZmZXJEYXRhKGJvb2wpIG92ZXJyaWRlOwpA
QCAtNjgyLDcgKzY3MSw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGVzZSAiaW50ZXJuYWwiIGZ1
bmN0aW9ucyBkbyBub3QgY2hlY2sgdXNlciBnZXN0dXJlIHJlc3RyaWN0aW9ucy4KICAgICB2b2lk
IGxvYWRJbnRlcm5hbCgpOwotICAgIGJvb2wgcGxheUludGVybmFsKCk7CisgICAgdm9pZCBwbGF5
SW50ZXJuYWwoKTsKICAgICB2b2lkIHBhdXNlSW50ZXJuYWwoKTsKIAogICAgIHZvaWQgcHJlcGFy
ZUZvckxvYWQoKTsKQEAgLTc4MywyMiArNzcyLDE5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpc1Zp
c2libGVJblZpZXdwb3J0Q2hhbmdlZCgpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlU2hvdWxkQXV0
b3BsYXkoKTsKIAotICAgIHZvaWQgcGF1c2VBZnRlckRldGFjaGVkVGFzaygpOworICAgIHZvaWQg
cGF1c2VBZnRlckRldGFjaGVkVGltZXJGaXJlZCgpOwogCiAgICAgVGltZXIgbV9wZW5kaW5nQWN0
aW9uVGltZXI7CiAgICAgVGltZXIgbV9wcm9ncmVzc0V2ZW50VGltZXI7CiAgICAgVGltZXIgbV9w
bGF5YmFja1Byb2dyZXNzVGltZXI7CiAgICAgVGltZXIgbV9zY2FuVGltZXI7Ci0gICAgR2VuZXJp
Y1Rhc2tRdWV1ZTxUaW1lcj4gbV9zZWVrVGFza1F1ZXVlOwotICAgIEdlbmVyaWNUYXNrUXVldWU8
VGltZXI+IG1fcmVzaXplVGFza1F1ZXVlOwotICAgIEdlbmVyaWNUYXNrUXVldWU8VGltZXI+IG1f
c2hhZG93RE9NVGFza1F1ZXVlOwotICAgIEdlbmVyaWNUYXNrUXVldWU8VGltZXI+IG1fcHJvbWlz
ZVRhc2tRdWV1ZTsKLSAgICBHZW5lcmljVGFza1F1ZXVlPFRpbWVyPiBtX3BhdXNlQWZ0ZXJEZXRh
Y2hlZFRhc2tRdWV1ZTsKKyAgICBUaW1lciBtX3BhdXNlQWZ0ZXJEZXRhY2hlZFRpbWVyOworICAg
IEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9zZWVrVGFza1F1ZXVl
OworICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9yZXNpemVU
YXNrUXVldWU7CisgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBt
X3NoYWRvd0RPTVRhc2tRdWV1ZTsKICAgICBSZWZQdHI8VGltZVJhbmdlcz4gbV9wbGF5ZWRUaW1l
UmFuZ2VzOwogICAgIEdlbmVyaWNFdmVudFF1ZXVlIG1fYXN5bmNFdmVudFF1ZXVlOwogCi0gICAg
VmVjdG9yPFBsYXlQcm9taXNlPiBtX3BlbmRpbmdQbGF5UHJvbWlzZXM7Ci0KICAgICBkb3VibGUg
bV9yZXF1ZXN0ZWRQbGF5YmFja1JhdGU7CiAgICAgZG91YmxlIG1fcmVwb3J0ZWRQbGF5YmFja1Jh
dGU7CiAgICAgZG91YmxlIG1fZGVmYXVsdFBsYXliYWNrUmF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IGQwNGFkMTEwNmY5MGYwODVlZDU2NTc5YjQ5NGU3
MmZlMWI1YTQ1OWUuLjk3NjZlN2Y5NWUwZmYxNzAyOWZhMGIxNDQ4YmNiM2YzYjRlN2YzMjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtNzUsNyArNzUsNyBA
QAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGVuZGVkOwogICAgIFtSZWZsZWN0XSBh
dHRyaWJ1dGUgYm9vbGVhbiBhdXRvcGxheTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xl
YW4gbG9vcDsKLSAgICBQcm9taXNlIHBsYXkoKTsKKyAgICB2b2lkIHBsYXkoKTsKICAgICB2b2lk
IHBhdXNlKCk7CiAgICAgdm9pZCBmYXN0U2Vlayh1bnJlc3RyaWN0ZWQgZG91YmxlIHRpbWUpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjI1NzZhOGIwZWQ2OWM2M2YxNWQ0NWZlZThjMjFhYmQ1
MzYzNmI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsOTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgotCi0jaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
LSNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1UYXNrRGlzcGF0Y2hlcjxUaW1lcj46On5UYXNrRGlzcGF0Y2hlcigpCi17Ci0gICAgRGVxdWU8
VGFza0Rpc3BhdGNoZXI8VGltZXI+Kj4gcmVwbGFjZW1lbnRRdWV1ZTsKLSAgICBmb3IgKGF1dG8q
IGRpc3BhdGNoZXIgOiBwZW5kaW5nRGlzcGF0Y2hlcnMoKSkgewotICAgICAgICBpZiAoZGlzcGF0
Y2hlciAhPSB0aGlzKQotICAgICAgICAgICAgcmVwbGFjZW1lbnRRdWV1ZS5hcHBlbmQoZGlzcGF0
Y2hlcik7Ci0gICAgfQotICAgIGlmIChyZXBsYWNlbWVudFF1ZXVlLmlzRW1wdHkoKSkKLSAgICAg
ICAgc2hhcmVkVGltZXIoKS5zdG9wKCk7Ci0gICAgcGVuZGluZ0Rpc3BhdGNoZXJzKCkgPSBXVEZN
b3ZlKHJlcGxhY2VtZW50UXVldWUpOwotfQotCi12b2lkIFRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6
cG9zdFRhc2soc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQotewotICAgIG1fcGVuZGlu
Z1Rhc2tzLmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7Ci0gICAgcGVuZGluZ0Rpc3BhdGNoZXJz
KCkuYXBwZW5kKHRoaXMpOwotICAgIGlmICghc2hhcmVkVGltZXIoKS5pc0FjdGl2ZSgpKQotICAg
ICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwKTsKLX0KLQotVGltZXImIFRhc2tEaXNw
YXRjaGVyPFRpbWVyPjo6c2hhcmVkVGltZXIoKQotewotICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRpbWVyPiB0aW1lcihUYXNrRGlzcGF0Y2hl
cjxUaW1lcj46OnNoYXJlZFRpbWVyRmlyZWQpOwotICAgIHJldHVybiB0aW1lci5nZXQoKTsKLX0K
LQotdm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnNoYXJlZFRpbWVyRmlyZWQoKQotewotICAg
IEFTU0VSVCghc2hhcmVkVGltZXIoKS5pc0FjdGl2ZSgpKTsKLSAgICBBU1NFUlQoIXBlbmRpbmdE
aXNwYXRjaGVycygpLmlzRW1wdHkoKSk7Ci0KLSAgICAvLyBDb3B5IHRoZSBwZW5kaW5nIGV2ZW50
cyBmaXJzdCBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gcHJvY2VzcyBzeW5jaHJvbm91c2x5IHRo
ZSBuZXcgZXZlbnRzCi0gICAgLy8gcXVldWVkIGJ5IHRoZSBKUyBldmVudHMgaGFuZGxlcnMgdGhh
dCBhcmUgZXhlY3V0ZWQgaW4gdGhlIGxvb3AgYmVsb3cuCi0gICAgRGVxdWU8VGFza0Rpc3BhdGNo
ZXI8VGltZXI+Kj4gcXVldWVkRGlzcGF0Y2hlcnMgPSBXVEZNb3ZlKHBlbmRpbmdEaXNwYXRjaGVy
cygpKTsKLSAgICB3aGlsZSAoIXF1ZXVlZERpc3BhdGNoZXJzLmlzRW1wdHkoKSkgewotICAgICAg
ICBUYXNrRGlzcGF0Y2hlcjxUaW1lcj4qIGRpc3BhdGNoZXIgPSBxdWV1ZWREaXNwYXRjaGVycy50
YWtlRmlyc3QoKTsKLSAgICAgICAgaWYgKCFkaXNwYXRjaGVyKQotICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgIGRpc3BhdGNoZXItPmRpc3BhdGNoT25lVGFzaygpOwotICAgIH0KLX0KLQot
RGVxdWU8VGFza0Rpc3BhdGNoZXI8VGltZXI+Kj4mIFRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cGVu
ZGluZ0Rpc3BhdGNoZXJzKCkKLXsKLSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxEZXF1ZTxUYXNrRGlzcGF0Y2hlcjxUaW1lcj4qPj4gZGlzcGF0
Y2hlcnM7Ci0gICAgcmV0dXJuIGRpc3BhdGNoZXJzLmdldCgpOwotfQotCi12b2lkIFRhc2tEaXNw
YXRjaGVyPFRpbWVyPjo6ZGlzcGF0Y2hPbmVUYXNrKCkKLXsKLSAgICBBU1NFUlQoIW1fcGVuZGlu
Z1Rhc2tzLmlzRW1wdHkoKSk7Ci0gICAgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IHRhc2sgPSBtX3Bl
bmRpbmdUYXNrcy50YWtlRmlyc3QoKTsKLSAgICB0YXNrKCk7Ci19Ci0KLX0KLQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5oCmluZGV4IGQ1NDFiZWI1OWZkYTRiYTNh
ZDI2NDMxNTRhMWZmZGU2Mjg5MGVmZjYuLmQwNmQwYzFlZmNiZjFiMDEzYTkyZjJjZWM0YTk3MDQ1
OTI2OWEyOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNr
UXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmgK
QEAgLTUyLDE3ICs1MiwyNyBAQCBwcml2YXRlOgogdGVtcGxhdGU8PgogY2xhc3MgVGFza0Rpc3Bh
dGNoZXI8VGltZXI+IHsKIHB1YmxpYzoKLSAgICB+VGFza0Rpc3BhdGNoZXIoKTsKLSAgICB2b2lk
IHBvc3RUYXNrKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPik7CisgICAgVGFza0Rpc3BhdGNoZXIoKQor
ICAgICAgICA6IG1fdGltZXIoKnRoaXMsICZUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnRpbWVyRmly
ZWQpCisgICAgeworICAgIH0KIAotcHJpdmF0ZToKLSAgICBzdGF0aWMgVGltZXImIHNoYXJlZFRp
bWVyKCk7Ci0gICAgc3RhdGljIHZvaWQgc2hhcmVkVGltZXJGaXJlZCgpOwotICAgIHN0YXRpYyBE
ZXF1ZTxUYXNrRGlzcGF0Y2hlcjxUaW1lcj4qPiYgcGVuZGluZ0Rpc3BhdGNoZXJzKCk7CisgICAg
dm9pZCBwb3N0VGFzayhzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZnVuY3Rpb24pCisgICAgeworICAg
ICAgICBtX3F1ZXVlLmFwcGVuZChmdW5jdGlvbik7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIH0KIAotICAgIHZvaWQgZGlzcGF0Y2hPbmVUYXNrKCk7CisgICAgdm9pZCB0
aW1lckZpcmVkKCkKKyAgICB7CisgICAgICAgIERlcXVlPHN0ZDo6ZnVuY3Rpb248dm9pZCgpPj4g
cXVldWU7CisgICAgICAgIHF1ZXVlLnN3YXAobV9xdWV1ZSk7CisgICAgICAgIGZvciAoc3RkOjpm
dW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlvbiA6IHF1ZXVlKQorICAgICAgICAgICAgZnVuY3Rpb24o
KTsKKyAgICB9CiAKLSAgICBEZXF1ZTxzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4+IG1fcGVuZGluZ1Rh
c2tzOworICAgIFRpbWVyIG1fdGltZXI7CisgICAgRGVxdWU8c3RkOjpmdW5jdGlvbjx2b2lkKCk+
PiBtX3F1ZXVlOwogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTRiMDYyMDI2
ZDg1NmVhMDcxMWM4ZDI3NzM3ODczNzRlY2M4ZGNjZi4uOGRmZTdhZmFhM2Q4ZTlhNjY4MmRlMjg5
ZGYwMjI5ODlkYzU0NDFiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA1LTEwICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjAwNjI3LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU3NTMxCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaGFzIGNhdXNlZCBj
cmFzaGVzIGluIGV4aXN0aW5nIExheW91dFRlc3RzCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgcnlh
bmhhZGRhZCBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAg
ICAgICAgIlJldHVybiBhIFByb21pc2UgZnJvbSBIVE1MTWVkaWFFbGVtZW50LnBsYXkoKSIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzQwMAorICAg
ICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMDA2MjcKKwogMjAxNi0wNS0x
MCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXgg
c2Nyb2xsaW5nIHRyZWUgZHVtcGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
ODBhNWIzNjg2NmZkMGYxYjI5ZjA2ZGZlNzVlNDRhNmI2NDY2ZTAzNS4uYTBiNzFhYTg4NTQxNGE1
MTlmODEwYjQ0ZjFhYTE0M2VkNDEwNjIwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMDUtMTAgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1
ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDA2Mjcu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc1MzEK
KworICAgICAgICBUaGlzIGNoYW5nZSBoYXMgY2F1c2VkIGNyYXNoZXMgaW4gZXhpc3RpbmcgTGF5
b3V0VGVzdHMKKyAgICAgICAgKFJlcXVlc3RlZCBieSByeWFuaGFkZGFkIG9uICN3ZWJraXQpLgor
CisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiUmV0dXJuIGEgUHJvbWlz
ZSBmcm9tIEhUTUxNZWRpYUVsZW1lbnQucGxheSgpIgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3NDAwCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzIwMDYyNworCiAyMDE2LTA1LTA2ICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldHVybiBhIFByb21pc2UgZnJvbSBIVE1MTWVkaWFF
bGVtZW50LnBsYXkoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaW50ZXJmYWNlcy1l
eHBlY3RlZC50eHQKaW5kZXggZjllNjRlYjBhY2NiMjcyMWMwMTJiYWUxYmE0MDgwMjlkNjIxNjdm
ZS4uODhkODQ4NTQ2MDU0OGE4OTQwOTExNTM4M2Y2YjJmNGZhZmZhMmJkMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pbnRl
cmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0yNDQ3LDkg
KzI0NDcsNyBAQCBQQVNTIEhUTUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2Vl
a2FibGUKIFBBU1MgSFRNTE1lZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBlbmRlZCAK
IFBBU1MgSFRNTE1lZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBhdXRvcGxheSAKIFBB
U1MgSFRNTE1lZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsb29wIAotRkFJTCBIVE1M
TWVkaWFFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHBsYXkoKSBhc3NlcnRfdGhyb3dzOiBj
YWxsaW5nIG9wZXJhdGlvbiB3aXRoIHRoaXMgPSBudWxsIGRpZG4ndCB0aHJvdyBUeXBlRXJyb3Ig
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7
Ci0gICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgSFRNTE1lZGlhRWxlbWVudCBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBwbGF5KCkgCiBQQVNTIEhUTUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlOiBv
cGVyYXRpb24gcGF1c2UoKSAKIFBBU1MgSFRNTE1lZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBtZWRpYUdyb3VwIAogUEFTUyBIVE1MTWVkaWFFbGVtZW50IGludGVyZmFjZTogYXR0cmli
dXRlIGNvbnRyb2xsZXIgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5
LXByb21pc2UtcmVqZWN0LWVycm9yLW5vdHN1cHBvcnRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0LWVycm9yLW5vdHN1cHBvcnRlZC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlZjMyMWM0MjU5Mjc0
YzAwNTRmZmYwYjliMDhhMmYzZTQzNWM1OWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtcGxheS1wcm9taXNlLXJl
amVjdC1lcnJvci1ub3RzdXBwb3J0ZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NyArMCwwIEBACi0KLVJVTihtZWRpYUVsZW1lbnQuc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8i
LCAiY29udGVudC9pbnZhbGlkIikpCi1SVU4obWVkaWFFbGVtZW50LnBsYXkoKS50aGVuKGZhaWxU
ZXN0KS5jYXRjaChwcm9taXNlUmVqZWN0ZWQpKQotUHJvbWlzZSByZWplY3RlZC4gT0sKLUVYUEVD
VEVEIChlcnJvci5uYW1lID09ICdOb3RTdXBwb3J0ZWRFcnJvcicpIE9LCi1FTkQgT0YgVEVTVAot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0
LWVycm9yLW5vdHN1cHBvcnRlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtcGxheS1w
cm9taXNlLXJlamVjdC1lcnJvci1ub3RzdXBwb3J0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNDJkNzdhYTdhMWQ1ZTNkOTJmZDMxNmU3NGY1MTY3ZDA5ZmY4YjY5NS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9t
ZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0LWVycm9yLW5vdHN1cHBvcnRlZC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAg
ICA8aGVhZD4KLSAgICAgICAgPHNjcmlwdCBzcmM9bWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KLSAg
ICAgICAgPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KLQotICAgICAgICA8c2Ny
aXB0PgotICAgICAgICB2YXIgcHJvbWlzZTsKLSAgICAgICAgdmFyIGVycm9yOwotICAgICAgICBm
dW5jdGlvbiBzdGFydCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQo
KTsKLSAgICAgICAgICAgIHJ1bignbWVkaWFFbGVtZW50LnNyYyA9IGZpbmRNZWRpYUZpbGUoInZp
ZGVvIiwgImNvbnRlbnQvaW52YWxpZCIpJyk7Ci0gICAgICAgICAgICBydW4oJ21lZGlhRWxlbWVu
dC5wbGF5KCkudGhlbihmYWlsVGVzdCkuY2F0Y2gocHJvbWlzZVJlamVjdGVkKScpOyAgICAKLSAg
ICAgICAgfQotICAgICAgICBmdW5jdGlvbiBwcm9taXNlUmVqZWN0ZWQoZSkKLSAgICAgICAgewot
ICAgICAgICAgICAgZXJyb3IgPSBlOwotICAgICAgICAgICAgbG9nUmVzdWx0KHRydWUsICJQcm9t
aXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdlcnJvci5uYW1lJywg
J05vdFN1cHBvcnRlZEVycm9yJyk7Ci0gICAgICAgICAgICBlbmRUZXN0KCk7Ci0gICAgICAgIH0K
LSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotCi0gICAgPGJvZHkgb25sb2FkPSJzdGFy
dCgpIj4KLQotICAgICAgICA8dmlkZW8+PC92aWRlbz4KLSAgICAKLSAgICA8L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVq
ZWN0LWxvYWQtYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtcGxh
eS1wcm9taXNlLXJlamVjdC1sb2FkLWFib3J0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZjYxODg5NzUxODc2NmYwN2Y0ZjhiMGY1YzAxMDA4NTBjYjUzOWFhNi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0LWxvYWQtYWJvcnQtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0KLVJVTihtZWRpYUVsZW1lbnQucGxheSgp
LnRoZW4oZmFpbFRlc3QpLmNhdGNoKHByb21pc2VSZWplY3RlZCkpCi1SVU4obWVkaWFFbGVtZW50
LnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpKQotUHJvbWlzZSBy
ZWplY3RlZC4gT0sKLUVYUEVDVEVEIChlcnJvci5uYW1lID09ICdBYm9ydEVycm9yJykgT0sKLUVO
RCBPRiBURVNUCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXBsYXktcHJv
bWlzZS1yZWplY3QtbG9hZC1hYm9ydC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtcGxh
eS1wcm9taXNlLXJlamVjdC1sb2FkLWFib3J0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDVjYjJmYWYxYTc3YzRiM2Q3OWUwYTgxOThkNzk0ZmJkOTRlMDViZGQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEv
bWVkaWEtcGxheS1wcm9taXNlLXJlamVjdC1sb2FkLWFib3J0Lmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwzMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICAgIDxoZWFkPgotICAg
ICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0
IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgotCi0gICAgICAgIDxzY3JpcHQ+Ci0gICAgICAg
IHZhciBwcm9taXNlOwotICAgICAgICB2YXIgZXJyb3I7Ci0gICAgICAgIGZ1bmN0aW9uIHN0YXJ0
KCkKLSAgICAgICAgewotICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAgICAg
ICAgcnVuKCdtZWRpYUVsZW1lbnQucGxheSgpLnRoZW4oZmFpbFRlc3QpLmNhdGNoKHByb21pc2VS
ZWplY3RlZCknKTsgICAgCi0gICAgICAgICAgICBydW4oJ21lZGlhRWxlbWVudC5zcmMgPSBmaW5k
TWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKScpOwotICAgICAgICB9Ci0gICAgICAg
IGZ1bmN0aW9uIHByb21pc2VSZWplY3RlZChlKQotICAgICAgICB7Ci0gICAgICAgICAgICBlcnJv
ciA9IGU7Ci0gICAgICAgICAgICBsb2dSZXN1bHQodHJ1ZSwgIlByb21pc2UgcmVqZWN0ZWQuIik7
Ci0gICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2Vycm9yLm5hbWUnLCAnQWJvcnRFcnJvcicpOwot
ICAgICAgICAgICAgZW5kVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIDwvc2NyaXB0PgotICAg
IDwvaGVhZD4KLQotICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+Ci0KLSAgICAgICAgPHZpZGVv
PjwvdmlkZW8+Ci0gICAgCi0gICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWEtcGxheS1wcm9taXNlLXJlamVjdC1wYXVzZS1hYm9ydC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0LXBhdXNl
LWFib3J0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmE4ZWYz
NDk1MmZmZjVjN2I0MGU5ZGMzZmVkMDhhYjgwYTdhZWU3Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXBy
b21pc2UtcmVqZWN0LXBhdXNlLWFib3J0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDcgKzAsMCBAQAotCi1SVU4obWVkaWFFbGVtZW50LnBsYXkoKS50aGVuKGZhaWxUZXN0KS5jYXRj
aChwcm9taXNlUmVqZWN0ZWQpKQotUlVOKG1lZGlhRWxlbWVudC5wYXVzZSgpKQotUHJvbWlzZSBy
ZWplY3RlZC4gT0sKLUVYUEVDVEVEIChlcnJvci5uYW1lID09ICdBYm9ydEVycm9yJykgT0sKLUVO
RCBPRiBURVNUCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXBsYXktcHJv
bWlzZS1yZWplY3QtcGF1c2UtYWJvcnQuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXBs
YXktcHJvbWlzZS1yZWplY3QtcGF1c2UtYWJvcnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDQ0MzFlZDdmNGE5NDY5MTIzZjM2NWY4NDY2MmUwZWRmODg0OGIxMi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0LXBhdXNlLWFib3J0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwzMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICAgIDxoZWFkPgot
ICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgotICAgICAgICA8c2Ny
aXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgotCi0gICAgICAgIDxzY3JpcHQ+Ci0gICAg
ICAgIHZhciBwcm9taXNlOwotICAgICAgICB2YXIgZXJyb3I7Ci0gICAgICAgIGZ1bmN0aW9uIHN0
YXJ0KCkKLSAgICAgICAgewotICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAg
ICAgICAgcnVuKCdtZWRpYUVsZW1lbnQucGxheSgpLnRoZW4oZmFpbFRlc3QpLmNhdGNoKHByb21p
c2VSZWplY3RlZCknKTsgICAgCi0gICAgICAgICAgICBydW4oJ21lZGlhRWxlbWVudC5wYXVzZSgp
Jyk7Ci0gICAgICAgIH0KLSAgICAgICAgZnVuY3Rpb24gcHJvbWlzZVJlamVjdGVkKGUpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGVycm9yID0gZTsKLSAgICAgICAgICAgIGxvZ1Jlc3VsdCh0cnVl
LCAiUHJvbWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnZXJyb3Iu
bmFtZScsICdBYm9ydEVycm9yJyk7Ci0gICAgICAgICAgICBlbmRUZXN0KCk7Ci0gICAgICAgIH0K
LSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotCi0gICAgPGJvZHkgb25sb2FkPSJzdGFy
dCgpIj4KLQotICAgICAgICA8dmlkZW8+PC92aWRlbz4KLSAgICAKLSAgICA8L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVq
ZWN0LXBsYXktbm90YWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1wbGF5LXByb21pc2UtcmVqZWN0LXBsYXktbm90YWxsb3dlZC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0ZDg5Y2M2OTI1ZTQ3ZGEyMGI2NDcwN2Q3NjhkZDk5
NzkxNTU4NzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtcGxheS1wcm9taXNlLXJlamVjdC1wbGF5LW5vdGFsbG93
ZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0KLVJVTihpbnRl
cm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKG1lZGlhRWxlbWVudCwgIlJlcXVpcmVV
c2VyR2VzdHVyZUZvclZpZGVvUmF0ZUNoYW5nZSIpKQotUlVOKG1lZGlhRWxlbWVudC5zcmMgPSBm
aW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKSkKLVJVTihtZWRpYUVsZW1lbnQu
cGxheSgpLnRoZW4oZmFpbFRlc3QpLmNhdGNoKHByb21pc2VSZWplY3RlZCkpCi1Qcm9taXNlIHJl
amVjdGVkLiBPSwotRVhQRUNURUQgKGVycm9yLm5hbWUgPT0gJ05vdEFsbG93ZWRFcnJvcicpIE9L
Ci1FTkQgT0YgVEVTVAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5
LXByb21pc2UtcmVqZWN0LXBsYXktbm90YWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEv
bWVkaWEtcGxheS1wcm9taXNlLXJlamVjdC1wbGF5LW5vdGFsbG93ZWQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjc4OWU5MjBhMDZmMzg2ODQwMWQwZTRiNjJlMDRjOGMxZGQ4
NDkxMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0LXBsYXktbm90YWxsb3dlZC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHNjcmlwdCBzcmM9bWVkaWEtZmlsZS5qcz48L3Njcmlw
dD4KLSAgICAgICAgPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KLQotICAgICAg
ICA8c2NyaXB0PgotICAgICAgICB2YXIgcHJvbWlzZTsKLSAgICAgICAgdmFyIGVycm9yOwotICAg
ICAgICBmdW5jdGlvbiBzdGFydCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZpbmRNZWRpYUVs
ZW1lbnQoKTsKLQkgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotCSAgICAgICAgICAgIHJ1
bignaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyhtZWRpYUVsZW1lbnQsICJS
ZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UiKScpOwotCi0gICAgICAgICAgICBy
dW4oJ21lZGlhRWxlbWVudC5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rl
c3QiKScpOwotICAgICAgICAgICAgcnVuKCdtZWRpYUVsZW1lbnQucGxheSgpLnRoZW4oZmFpbFRl
c3QpLmNhdGNoKHByb21pc2VSZWplY3RlZCknKTsgICAgCi0gICAgICAgIH0KLQotICAgICAgICBm
dW5jdGlvbiBwcm9taXNlUmVqZWN0ZWQoZSkKLSAgICAgICAgewotICAgICAgICAgICAgZXJyb3Ig
PSBlOwotICAgICAgICAgICAgbG9nUmVzdWx0KHRydWUsICJQcm9taXNlIHJlamVjdGVkLiIpOwot
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdlcnJvci5uYW1lJywgJ05vdEFsbG93ZWRFcnJvcicp
OwotICAgICAgICAgICAgZW5kVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIDwvc2NyaXB0Pgot
ICAgIDwvaGVhZD4KLQotICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+Ci0KLSAgICAgICAgPHZp
ZGVvPjwvdmlkZW8+Ci0gICAgCi0gICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtcGxheS1wcm9taXNlLXJlamVjdC1wbGF5LW5vdHN1cHBvcnRl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVq
ZWN0LXBsYXktbm90c3VwcG9ydGVkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYTZmODE5OWI5ZmJlMmRlOGEyYmFiMzY0YmJiMDIzOTQ5YmE5Mzg3ZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0LXBsYXktbm90c3VwcG9ydGVkLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotCi1SVU4obWVkaWFFbGVtZW50LnNyYyA9
IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvaW52YWxpZCIpKQotRVZFTlQoZXJyb3Ip
Ci1SVU4obWVkaWFFbGVtZW50LnBsYXkoKS50aGVuKGZhaWxUZXN0KS5jYXRjaChwcm9taXNlUmVq
ZWN0ZWQpKQotUHJvbWlzZSByZWplY3RlZC4gT0sKLUVYUEVDVEVEIChlcnJvci5uYW1lID09ICdO
b3RTdXBwb3J0ZWRFcnJvcicpIE9LCi1FTkQgT0YgVEVTVAotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0LXBsYXktbm90c3VwcG9ydGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVqZWN0LXBsYXktbm90
c3VwcG9ydGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxM2YzMDM3MWU3
MTBjNWI3ZTU5ZDEzNmYxOTI3Mzc4ZWU1ZjJkNjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtcGxheS1wcm9taXNl
LXJlamVjdC1wbGF5LW5vdHN1cHBvcnRlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHNjcmlw
dCBzcmM9bWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCBzcmM9dmlkZW8t
dGVzdC5qcz48L3NjcmlwdD4KLQotICAgICAgICA8c2NyaXB0PgotICAgICAgICB2YXIgcHJvbWlz
ZTsKLSAgICAgICAgdmFyIGVycm9yOwotICAgICAgICBmdW5jdGlvbiBzdGFydCgpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKLSAgICAgICAgICAgIHJ1bignbWVk
aWFFbGVtZW50LnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvaW52YWxpZCIp
Jyk7Ci0gICAgICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdlcnJvcicsIGVycm9yKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIGVycm9yKCkKLSAgICAgICAgewotICAgICAgICAgICAg
cnVuKCdtZWRpYUVsZW1lbnQucGxheSgpLnRoZW4oZmFpbFRlc3QpLmNhdGNoKHByb21pc2VSZWpl
Y3RlZCknKTsgICAgCi0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBwcm9taXNlUmVqZWN0
ZWQoZSkKLSAgICAgICAgewotICAgICAgICAgICAgZXJyb3IgPSBlOwotICAgICAgICAgICAgbG9n
UmVzdWx0KHRydWUsICJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCdlcnJvci5uYW1lJywgJ05vdFN1cHBvcnRlZEVycm9yJyk7Ci0gICAgICAgICAgICBlbmRU
ZXN0KCk7Ci0gICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotCi0gICAg
PGJvZHkgb25sb2FkPSJzdGFydCgpIj4KLQotICAgICAgICA8dmlkZW8+PC92aWRlbz4KLSAgICAK
LSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1wbGF5LXByb21pc2UtcmVzb2x2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9t
ZWRpYS1wbGF5LXByb21pc2UtcmVzb2x2ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwNjNlZWQ1NjJjY2VmMWIzMjgzYzU2ZmYxYjNhOTM1YjFhMTI5ZjEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtcGxheS1wcm9taXNlLXJlc29sdmUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNiArMCwwIEBACi0KLVJVTihtZWRpYUVsZW1lbnQuc3JjID0gZmluZE1lZGlhRmls
ZSgidmlkZW8iLCAiY29udGVudC90ZXN0IikpCi1SVU4obWVkaWFFbGVtZW50LnBsYXkoKS50aGVu
KHByb21pc2VSZXNvbHZlZCkuY2F0Y2goZmFpbFRlc3QpKQotUHJvbWlzZSByZXNvbHZlZC4gT0sK
LUVORCBPRiBURVNUCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXBsYXkt
cHJvbWlzZS1yZXNvbHZlLXdoZW4tcGxheWluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVzb2x2ZS13aGVuLXBsYXlpbmctZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjU5YTFmYTVmYmM3ZTA4MTM0MzViMmUz
ZWVhZmQyODFlZThiMWE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXBsYXktcHJvbWlzZS1yZXNvbHZlLXdoZW4t
cGxheWluZy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLQotUlVO
KG1lZGlhRWxlbWVudC5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3Qi
KSkKLVJVTihtZWRpYUVsZW1lbnQucGxheSgpKQotRVZFTlQocGxheWluZykKLVJVTihtZWRpYUVs
ZW1lbnQucGxheSgpLnRoZW4ocHJvbWlzZVJlc29sdmVkKS5jYXRjaChmYWlsVGVzdCkpCi1Qcm9t
aXNlIHJlc29sdmVkLiBPSwotRU5EIE9GIFRFU1QKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtcGxheS1wcm9taXNlLXJlc29sdmUtd2hlbi1wbGF5aW5nLmh0bWwgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVzb2x2ZS13aGVuLXBsYXlpbmcuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDFkNGVmYTRjOGVhMjMyZjllODA4ZjUx
NjBkZThlYmIxOWFjNWZlNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXByb21pc2UtcmVzb2x2ZS13aGVu
LXBsYXlpbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPW1lZGlhLWZpbGUu
anM+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+
Ci0KLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgdmFyIHByb21pc2U7Ci0gICAgICAgIGZ1bmN0
aW9uIHN0YXJ0KCkKLSAgICAgICAgewotICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwot
ICAgICAgICAgICAgcnVuKCdtZWRpYUVsZW1lbnQuc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8i
LCAiY29udGVudC90ZXN0IiknKTsKLSAgICAgICAgICAgIHJ1bignbWVkaWFFbGVtZW50LnBsYXko
KScpOwotICAgICAgICAgICAgd2FpdEZvckV2ZW50T25jZSgncGxheWluZycsIHBsYXlpbmcpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcGxheWluZygpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHJ1bignbWVkaWFFbGVtZW50LnBsYXkoKS50aGVuKHByb21pc2VSZXNvbHZlZCkuY2F0
Y2goZmFpbFRlc3QpJyk7ICAgIAotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcHJvbWlz
ZVJlc29sdmVkKCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9nUmVzdWx0KHRydWUsICJQcm9t
aXNlIHJlc29sdmVkLiIpOwotICAgICAgICAgICAgZW5kVGVzdCgpOwotICAgICAgICB9Ci0gICAg
ICAgIDwvc2NyaXB0PgotICAgIDwvaGVhZD4KLQotICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+
Ci0KLSAgICAgICAgPHZpZGVvPjwvdmlkZW8+Ci0gICAgCi0gICAgPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtcGxheS1wcm9taXNlLXJlc29sdmUu
aHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXBsYXktcHJvbWlzZS1yZXNvbHZlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4YTMyNzg5ZTZlMDlhZGU5MzBiYmNlOTRh
MjJjZDhhYmRhMmIzOGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtcGxheS1wcm9taXNlLXJlc29sdmUuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci0g
ICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPW1lZGlhLWZpbGUuanM+PC9zY3JpcHQ+Ci0g
ICAgICAgIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+Ci0KLSAgICAgICAgPHNj
cmlwdD4KLSAgICAgICAgdmFyIHByb21pc2U7Ci0gICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkKLSAg
ICAgICAgewotICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAgICAgICAgcnVu
KCdtZWRpYUVsZW1lbnQuc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0
IiknKTsKLSAgICAgICAgICAgIHJ1bignbWVkaWFFbGVtZW50LnBsYXkoKS50aGVuKHByb21pc2VS
ZXNvbHZlZCkuY2F0Y2goZmFpbFRlc3QpJyk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlv
biBwcm9taXNlUmVzb2x2ZWQoKQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2dSZXN1bHQodHJ1
ZSwgIlByb21pc2UgcmVzb2x2ZWQuIik7Ci0gICAgICAgICAgICBlbmRUZXN0KCk7Ci0gICAgICAg
IH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotCi0gICAgPGJvZHkgb25sb2FkPSJz
dGFydCgpIj4KLQotICAgICAgICA8dmlkZW8+PC92aWRlbz4KLSAgICAKLSAgICA8L2JvZHk+Ci08
L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>