<?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>100392</bug_id>
          
          <creation_ts>2012-10-25 10:13:00 -0700</creation_ts>
          <short_desc>Move non-Settings Inspector methods from internals.settings to internals</short_desc>
          <delta_ts>2012-10-26 15:00:16 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>100393</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>abarth</cc>
    
    <cc>leviw</cc>
    
    <cc>pfeldman</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>750959</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-25 10:13:00 -0700</bug_when>
    <thetext>Move non-Settings Inspector methods from internals.settings to internals</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750968</commentid>
    <comment_count>1</comment_count>
      <attachid>170683</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-25 10:20:04 -0700</bug_when>
    <thetext>Created attachment 170683
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751028</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-25 11:04:30 -0700</bug_when>
    <thetext>See bug 100393 for some additional motivation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751229</commentid>
    <comment_count>3</comment_count>
      <attachid>170683</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-25 14:49:00 -0700</bug_when>
    <thetext>Comment on attachment 170683
Patch

Missed some code in InternalSettings::Backup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752322</commentid>
    <comment_count>4</comment_count>
      <attachid>170991</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-26 13:20:16 -0700</bug_when>
    <thetext>Created attachment 170991
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752391</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-26 14:18:07 -0700</bug_when>
    <thetext>I tried to maintain the existing behavior with this patch.

Note that we don&apos;t reset InspectorResourcesDataSizeLimits between tests, but we weren&apos;t before this change either (maybe no other test depends on this value?).

Also, it turns out we don&apos;t have to disable the profiler between tests because detaching the dev tools agent already does this for us (in InspectorProfilerAgent::clearFrontend).  That said, it seems like that&apos;s an implementation detail that could change in the future, and there&apos;s no harm in explicitly resetting the state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752460</commentid>
    <comment_count>6</comment_count>
      <attachid>170991</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 15:00:12 -0700</bug_when>
    <thetext>Comment on attachment 170991
Patch

Clearing flags on attachment: 170991

Committed r132700: &lt;http://trac.webkit.org/changeset/132700&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752461</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 15:00:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170683</attachid>
            <date>2012-10-25 10:20:04 -0700</date>
            <delta_ts>2012-10-26 13:20:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100392-20121025101837.patch</filename>
            <type>text/plain</type>
            <size>41907</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWMzYWY2Yjc5ZjZmODNm
OGVmYTU2MzAxODMwMDM4MWJmODc2MWUwYy4uYWNiMGZmNjZlZGQ3OTI4ZjIzY2U0OTdlMzg3NzQ3
NzE4Y2NhZTdlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTI1ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBub24tU2V0dGluZ3Mg
SW5zcGVjdG9yIG1ldGhvZHMgZnJvbSBpbnRlcm5hbHMuc2V0dGluZ3MgdG8gaW50ZXJuYWxzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAzOTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBtZXRo
b2RzIGRvbid0IGhhdmUgdG8gZG8gd2l0aCBXZWJDb3JlIFNldHRpbmdzLCBzbyBtb3ZlIHRoZW0g
dXAgdG8gaW50ZXJuYWxzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgdGhpcyBpcyBqdXN0IGEg
cmVuYW1lLiBFeGlzdGluZyB0ZXN0cyBzaG91bGQgcGFzcy4KKworICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
Lmg6CisgICAgICAgIChJbnRlcm5hbFNldHRpbmdzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaWRsOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRJbnNwZWN0b3JS
ZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNl
dEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0xMC0yNSAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBpbnNwZWN0b3IgdGVzdHMgZmFpbGluZyBhZnRlciByMTMyNDU0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCBhZTMwNjY5OTAwZjljNDA5Nzdl
MjRmYWYzMjQ0N2UwMWYxZTUxYjQzLi43MzJjZWMyZjNmMDI3MDQ1NGIzZTlkY2ZiYTRlMmVmYjhh
Yzk5MWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAK
QEAgLTU3LDEyICs1Nyw2IEBACiAgICAgICAgIHJldHVybjsgXAogICAgIH0KIAotI2RlZmluZSBJ
bnRlcm5hbFNldHRpbmdzR3VhcmRGb3JQYWdlUmV0dXJuKHJldHVyblZhbHVlKSBcCi0gICAgaWYg
KCFwYWdlKCkpIHsgXAotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsgXAotICAgICAg
ICByZXR1cm4gcmV0dXJuVmFsdWU7IFwKLSAgICB9Ci0KICNkZWZpbmUgSW50ZXJuYWxTZXR0aW5n
c0d1YXJkRm9yUGFnZSgpIFwKICAgICBpZiAoIXBhZ2UoKSkgeyBcCiAgICAgICAgIGVjID0gSU5W
QUxJRF9BQ0NFU1NfRVJSOyBcCkBAIC0xOTgsMjEgKzE5Miw2IEBAIFNldHRpbmdzKiBJbnRlcm5h
bFNldHRpbmdzOjpzZXR0aW5ncygpIGNvbnN0CiAgICAgcmV0dXJuIHBhZ2UoKS0+c2V0dGluZ3Mo
KTsKIH0KIAotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRh
U2l6ZUxpbWl0cyhpbnQgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbnQgbWF4aW11bVNp
bmdsZVJlc291cmNlQ29udGVudFNpemUsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0gICAgaWYgKCFwYWdlKCkgfHwgIXBhZ2UoKS0+aW5zcGVjdG9yQ29udHJv
bGxlcigpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotICAgIHBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXRSZXNvdXJj
ZXNEYXRhU2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHMobWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXpl
LCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUpOwotICAgIFVOVVNFRF9QQVJBTShtYXhp
bXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGVjKTsKLSNl
bmRpZgotfQotCiB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlQ29tcG9zaXRpbmdNb2Rl
KGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgSW50ZXJuYWxTZXR0aW5n
c0d1YXJkRm9yU2V0dGluZ3MoKTsKQEAgLTUxOCwyMiArNDk3LDYgQEAgdm9pZCBJbnRlcm5hbFNl
dHRpbmdzOjpzZXRTeW5jWEhSSW5Eb2N1bWVudHNFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0
aW9uQ29kZSYKICAgICBzZXR0aW5ncygpLT5zZXRTeW5jWEhSSW5Eb2N1bWVudHNFbmFibGVkKGVu
YWJsZWQpOwogfQogCi12b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEphdmFTY3JpcHRQcm9maWxp
bmdFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLSAgICBpZiAoIXBhZ2UoKSB8fCAhcGFnZSgpLT5pbnNwZWN0b3JDb250cm9s
bGVyKCkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBwYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0UHJvZmls
ZXJFbmFibGVkKGVuYWJsZWQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Ci0g
ICAgVU5VU0VEX1BBUkFNKGVjKTsKLSAgICByZXR1cm47Ci0jZW5kaWYKLX0KLQogdm9pZCBJbnRl
cm5hbFNldHRpbmdzOjpzZXRXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQoYm9vbCByZXN0cmljdGVkLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JTZXR0aW5n
cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCAzOGFm
NzNmOTdjOTI0ODQ4M2Y1NmJmMTRmYWY0ZWU0YWMwYTNmNDJhLi42MjhkYmY2MjAwM2U5ZTU4NGVi
OWUyZmM0MzcxM2VlZGJjOTA3NDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuaApAQCAtOTYsNyArOTYsNiBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2b2lkIHJl
c2V0KCk7CiAKLSAgICB2b2lkIHNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKGlu
dCBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIGludCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VD
b250ZW50U2l6ZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0Rm9yY2VDb21wb3NpdGlu
Z01vZGUoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRFbmFibGVD
b21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb24oYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJik7
CiAgICAgdm9pZCBzZXRFbmFibGVDb21wb3NpdGluZ0ZvclNjcm9sbGFibGVGcmFtZXMoYm9vbCBl
bmFibGVkLCBFeGNlcHRpb25Db2RlJik7CkBAIC0xNDAsNyArMTM5LDYgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0U3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChib29sLCBFeGNlcHRpb25Db2RlJik7
CiAgICAgdm9pZCBzZXRXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQoYm9vbCwgRXhjZXB0aW9uQ29kZSYp
OwogICAgIHZvaWQgc2V0RGlhbG9nRWxlbWVudEVuYWJsZWQoYm9vbCwgRXhjZXB0aW9uQ29kZSYp
OwotICAgIHZvaWQgc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGVkLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgVmVjdG9yPFN0cmluZz4gdXNlclByZWZlcnJlZExhbmd1YWdl
cygpIGNvbnN0OwogICAgIHZvaWQgc2V0VXNlclByZWZlcnJlZExhbmd1YWdlcyhjb25zdCBWZWN0
b3I8U3RyaW5nPiYpOwogICAgIHZvaWQgc2V0UGFnaW5hdGlvbihjb25zdCBTdHJpbmcmIG1vZGUs
IGludCBnYXAsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHNldFBhZ2luYXRpb24obW9kZSwgZ2FwLCAw
LCBlYyk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCmlu
ZGV4IDBjMjZlZmQ0Njg4NzNmM2NkNzYwYzM2ZjI3NWM3NzczZGY2ZGY5MmYuLjFhYTE0ZTIxZDlm
MWYxNTBiYTNiNTZmMzgwYTk3M2E1MTlkZTJkYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmlkbApAQCAtMjYsNyArMjYsNiBAQAogWwogICAgIE9taXRDb25z
dHJ1Y3RvcgogXSBpbnRlcmZhY2UgSW50ZXJuYWxTZXR0aW5ncyB7Ci0gICAgdm9pZCBzZXRJbnNw
ZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyhpbiBsb25nIG1heGltdW1SZXNvdXJjZXNDb250
ZW50U2l6ZSwgaW4gbG9uZyBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSkgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzZXRGb3JjZUNvbXBvc2l0aW5nTW9kZShpbiBib29s
ZWFuIGVuYWJsZWQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0RW5hYmxlQ29t
cG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uKGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiAgICAgdm9pZCBzZXRFbmFibGVDb21wb3NpdGluZ0ZvclNjcm9sbGFibGVGcmFt
ZXMoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKQEAgLTY4LDcgKzY3
LDYgQEAKICAgICB2b2lkIHNldEVkaXRpbmdCZWhhdmlvcihpbiBET01TdHJpbmcgYmVoYXZpb3Ip
IHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0Rml4ZWRQb3NpdGlvbkNyZWF0ZXNT
dGFja2luZ0NvbnRleHQoaW4gYm9vbGVhbiBjcmVhdGVzKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
ICAgICB2b2lkIHNldFN5bmNYSFJJbkRvY3VtZW50c0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVk
KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdF
bmFibGVkKGluIGJvb2xlYW4gY3JlYXRlcykgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgdm9p
ZCBzZXRXaW5kb3dGb2N1c1Jlc3RyaWN0ZWQoaW4gYm9vbGVhbiByZXN0cmljdGVkKSByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHNldERpYWxvZ0VsZW1lbnRFbmFibGVkKGluIGJvb2xl
YW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzZXRMYW5nQXR0cmli
dXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChpbiBib29sZWFuIGVuYWJsZWQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDk0OTZjMjJiMzI1YmM5MWQzMjNmZTNkYjVh
M2ZlNzA1ZGUzZjc2OTIuLjlmMDg4N2RmMzk1ZWZhNjBkMGZjMmE5NTNjYzM1Yjk0NWQ4MTBlZGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTExNTksNiArMTE1OSwyNyBA
QCB2b2lkIEludGVybmFsczo6Y2xvc2VEdW1teUluc3BlY3RvckZyb250ZW5kKCkKICAgICBtX2Zy
b250ZW5kV2luZG93LT5jbG9zZShtX2Zyb250ZW5kV2luZG93LT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpOwogICAgIG1fZnJvbnRlbmRXaW5kb3cucmVsZWFzZSgpOwogfQorCit2b2lkIEludGVy
bmFsczo6c2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoaW50IG1heGltdW1SZXNv
dXJjZXNDb250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplLCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBQYWdlKiBwYWdlID0gY29udGV4dERvY3VtZW50KCkt
PmZyYW1lKCktPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPmluc3BlY3RvckNvbnRy
b2xsZXIoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldFJlc291cmNl
c0RhdGFTaXplTGltaXRzRnJvbUludGVybmFscyhtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUs
IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKTsKK30KKwordm9pZCBJbnRlcm5hbHM6
OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgUGFnZSogcGFnZSA9IGNvbnRleHREb2N1bWVudCgpLT5mcmFtZSgpLT5w
YWdlKCk7CisgICAgaWYgKCFwYWdlIHx8ICFwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkpIHsK
KyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldFByb2ZpbGVyRW5hYmxlZChl
bmFibGVkKTsKK30KICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogCiBib29sIEludGVybmFs
czo6aGFzR3JhbW1hck1hcmtlcihEb2N1bWVudCogZG9jdW1lbnQsIGludCBmcm9tLCBpbnQgbGVu
Z3RoLCBFeGNlcHRpb25Db2RlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDU2
OWNlMjllMDlmMTAwMDQ5ZmE2MzQxNjAxNzc3YjEzMzljNmRhNmQuLmIzZTY1ODc4NGYyOWYwMWVl
YjU1Yjg0ZTFmNzEyMDg1MzUxNjViZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApA
QCAtMjA2LDYgKzIwNiw4IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8U3RyaW5nPiBjb25zb2xlTWVz
c2FnZUFyZ3VtZW50Q291bnRzKERvY3VtZW50KikgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxET01X
aW5kb3c+IG9wZW5EdW1teUluc3BlY3RvckZyb250ZW5kKGNvbnN0IFN0cmluZyYgdXJsKTsKICAg
ICB2b2lkIGNsb3NlRHVtbXlJbnNwZWN0b3JGcm9udGVuZCgpOworICAgIHZvaWQgc2V0SW5zcGVj
dG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoaW50IG1heGltdW1SZXNvdXJjZXNDb250ZW50U2l6
ZSwgaW50IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplLCBFeGNlcHRpb25Db2RlJik7
CisgICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZWQsIEV4
Y2VwdGlvbkNvZGUmKTsKICNlbmRpZgogCiAgICAgU3RyaW5nIGNvdW50ZXJWYWx1ZShFbGVtZW50
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMmUwOTM3NTVhNzVjZWU5
ZTQ1YzdlYTg3ZDM0NjNjODY2MzhiMzRlYy4uMzAxMmQ2OTc0ODExZWI4M2NkMGNhY2IxYjIxODMy
NzQ0YTA0ZDlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTc4LDYg
KzE3OCw4IEBACiAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gc2VxdWVuY2U8U3RyaW5nPiBj
b25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKGluIERvY3VtZW50IGRvY3VtZW50KTsKICAgICBb
Q29uZGl0aW9uYWw9SU5TUEVDVE9SXSBET01XaW5kb3cgb3BlbkR1bW15SW5zcGVjdG9yRnJvbnRl
bmQoaW4gRE9NU3RyaW5nIHVybCk7CiAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gdm9pZCBj
bG9zZUR1bW15SW5zcGVjdG9yRnJvbnRlbmQoKTsKKyAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9S
XSB2b2lkIHNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKGluIGxvbmcgbWF4aW11
bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbiBsb25nIG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRl
bnRTaXplKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9S
XSB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGluIGJvb2xlYW4gY3JlYXRlcykg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICBET01TdHJpbmcgY291bnRlclZhbHVlKGluIEVs
ZW1lbnQgZWxlbWVudCk7CiAgICAgbG9uZyBwYWdlTnVtYmVyKGluIEVsZW1lbnQgZWxlbWVudCwg
aW4gW09wdGlvbmFsXSBmbG9hdCBwYWdlV2lkdGgsIGluIFtPcHRpb25hbF0gZmxvYXQgcGFnZUhl
aWdodCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNGQ1YjQ4N2MxOTVmOGI3N2U1YmEwMmExNWViMjM2YWMxYzRmYzRjNS4u
ZjZjZjYyZWNmOTJmMTkzZWU1ZjJlY2EyNzJlNjIwYTAyODA3MmEwNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDYyIEBACisyMDEyLTEwLTI1ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgTW92ZSBub24tU2V0dGluZ3MgSW5zcGVjdG9yIG1ldGhvZHMgZnJvbSBpbnRlcm5hbHMu
c2V0dGluZ3MgdG8gaW50ZXJuYWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDAzOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gdXNlIGludGVybmFscy5zZXRKYXZhU2NyaXB0
UHJvZmlsaW5nRW5hYmxlZCBpbnN0ZWFkIG9mIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2Ny
aXB0UHJvZmlsaW5nRW5hYmxlZC4KKyAgICAgICAgVXBkYXRlIHRlc3RzIHRvIHVzZSBpbnRlcm5h
bHMuc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMgaW5zdGVhZCBvZiBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMuCisKKyAgICAg
ICAgKiBmYXN0L3Byb2ZpbGVyL2Fub255bW91cy1ldmVudC1oYW5kbGVyLmh0bWw6CisgICAgICAg
ICogZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbGVkLWZyb20tZGlmZmVyZW50
LWNvbnRleHRzLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rp
b24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxl
ci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMtZXZhbC5odG1sOgorICAgICAgICAqIGZhc3QvcHJv
ZmlsZXIvYW5vbnltb3VzLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Byb2ZpbGVyL2FwcGx5Lmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9i
dWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3By
b2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi5odG1s
OgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvY2FsbC1yZWdpc3Rlci1sZWFrLmh0bWw6CisgICAg
ICAgICogZmFzdC9wcm9maWxlci9jYWxsLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9j
YWxsaW5nLXRoZS1mdW5jdGlvbi10aGF0LXN0YXJ0ZWQtdGhlLXByb2ZpbGVyLWZyb20tYW5vdGhl
ci1zY29wZS5odG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvY29tcGFyZS1tdWx0aXBsZS1w
cm9maWxlcy5odG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvY29uc3RydWN0b3IuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL2RlYWQtdGltZS5odG1sOgorICAgICAgICAqIGZhc3Qv
cHJvZmlsZXIvZG9jdW1lbnQtZG90LXdyaXRlLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxl
ci9ldmVudC1oYW5kbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9leGVjdXRpb24t
Y29udGV4dC1hbmQtZXZhbC1vbi1zYW1lLWxpbmUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2Zp
bGVyL2lubGluZS1ldmVudC1oYW5kbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9t
YW55LWNhbGxzLWluLXRoZS1zYW1lLXNjb3BlLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxl
ci9tdWx0aXBsZS1hbmQtZGlmZmVyZW50LXNjb3BlZC1hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFuZC1kaWZmZXJlbnQtc2Nv
cGVkLWZ1bmN0aW9uLWNhbGxzLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9tdWx0aXBs
ZS1hbm9ueW1vdXMtZnVuY3Rpb25zLWNhbGxlZC1mcm9tLXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9wcm9maWxlci9tdWx0aXBsZS1mcmFtZXMuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Byb2ZpbGVyL25hbWVkLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL25lc3RlZC1hbm9ueW1vdXMtZnVuY3Rvbi5odG1sOgor
ICAgICAgICAqIGZhc3QvcHJvZmlsZXIvbmVzdGVkLXN0YXJ0LWFuZC1zdG9wLXByb2ZpbGVyLmh0
bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9uby1leGVjdXRpb24tY29udGV4dC5odG1sOgor
ICAgICAgICAqIGZhc3QvcHJvZmlsZXIvb25lLWV4ZWN1dGlvbi1jb250ZXh0Lmh0bWw6CisgICAg
ICAgICogZmFzdC9wcm9maWxlci9wcm9maWxlLWNhbGxzLWluLWluY2x1ZGVkLWZpbGUuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL3Byb2ZpbGUtd2l0aC1uby10aXRsZS5odG1sOgorICAg
ICAgICAqIGZhc3QvcHJvZmlsZXIvcHJvZmlsaW5nLWZyb20tYS1uZXN0ZWQtbG9jYXRpb24tYnV0
LXN0b3AtcHJvZmlsaW5nLW91dHNpZGUtdGhlLW5lc3RpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3Byb2ZpbGVyL3Byb2ZpbGluZy1mcm9tLWEtbmVzdGVkLWxvY2F0aW9uLmh0bWw6CisgICAgICAg
ICogZmFzdC9wcm9maWxlci9zaW1wbGUtZXZlbnQtY2FsbC5odG1sOgorICAgICAgICAqIGZhc3Qv
cHJvZmlsZXIvc2ltcGxlLW5vLWxldmVsLWNoYW5nZS5odG1sOgorICAgICAgICAqIGZhc3QvcHJv
ZmlsZXIvc3RhcnQtYW5kLXN0b3AtcHJvZmlsZXItbXVsdGlwbGUtdGltZXMuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Byb2ZpbGVyL3N0YXJ0LWFuZC1zdG9wLXByb2ZpbGluZy1pbi10aGUtc2FtZS1m
dW5jdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvc3RhcnQtYnV0LWRvbnQtc3Rv
cC1wcm9maWxpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL3N0b3AtcHJvZmlsaW5n
LWFmdGVyLXNldFRpbWVvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL3N0b3AtdGhl
bi1mdW5jdGlvbi1jYWxsLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci90d28tZXhlY3V0
aW9uLWNvbnRleHRzLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci91c2VyLWRlZmluZWQt
ZnVuY3Rpb24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWw6CisgICAgICAgICogZmFzdC9w
cm9maWxlci93aW5kb3ctZG90LWV2YWwuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrLXRlc3QuanM6CisgICAgICAgIChyZXNldEluc3BlY3RvclJlc291cmNlc0Rh
dGEpOgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291
cmNlLWRlc3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVtYmVkLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNvbnRl
bnQtcmVwbGFjZW1lbnQteGhyLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3Byb2ZpbGVyL2Nw
dS1wcm9maWxlci1wcm9maWxpbmctd2l0aG91dC1pbnNwZWN0b3IuaHRtbDoKKwogMjAxMi0xMC0y
NSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBpbnNwZWN0b3IgdGVzdHMgZmFpbGluZyBhZnRlciByMTMyNDU0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1ldmVudC1oYW5kbGVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1ldmVudC1oYW5kbGVyLmh0
bWwKaW5kZXggNjFmZmIwNjcwYzNjODg2M2Q3YTdhNGFhMTVhY2MzMjQ0ZmZmMDFlNS4uZjcyNTk1
YTFkMmU1MTI2YmZlMjQ3ZGJhZjg4MzExMzNjMzcxNWZkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZXZlbnQtaGFuZGxlci5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWV2ZW50LWhhbmRsZXIuaHRtbApAQCAtNSw3
ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRK
YXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNj
cmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1j
YWxsZWQtZnJvbS1kaWZmZXJlbnQtY29udGV4dHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvYW5vbnltb3VzLWZ1bmN0aW9uLWNhbGxlZC1mcm9tLWRpZmZlcmVudC1jb250ZXh0cy5o
dG1sCmluZGV4IGVmYTdiNWQwM2M1OTdmYWRjYjg3ODFkZjk4ZTZiMjZhZTkyNzdhMTUuLmI4MGNi
YjQxZDgwYjU2MjI2MWIwZGE3ODU5NmRjNWQxZmVhNTNiMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWZ1bmN0aW9uLWNhbGxlZC1mcm9tLWRpZmZlcmVu
dC1jb250ZXh0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3Vz
LWZ1bmN0aW9uLWNhbGxlZC1mcm9tLWRpZmZlcmVudC1jb250ZXh0cy5odG1sCkBAIC01LDcgKzUs
NyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEphdmFT
Y3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0
UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWZ1bmN0aW9uLWNhbGxz
LWJ1aWx0LWluLWZ1bmN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9u
eW1vdXMtZnVuY3Rpb24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWwKaW5kZXggNGQ0YmM3
ZTQzMjkwYWYyZjAyZWIzZDE3YjE5NTZmNTg4YTRjYTA1Ny4uZjMzNWFkZGJhYmQzYmI1ZDJlZjI2
ZTBkZTZkNWZiZTk2NDQ4MGRlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMtYnVpbHQt
aW4tZnVuY3Rpb25zLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIp
CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBm
dW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9m
aWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMtZXZhbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMtZXZhbC5odG1sCmluZGV4IDE4YjEy
ZmYzODkxNjUyODJlMzIzOTZiMjcxZWFhOGE2ZWI4MDE5ODYuLjIyZTU5Zjc0MTQzMzk0NTdkNGQ4
MDc5ZGY1MTdlMDBkOTM4Y2U5Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmls
ZXIvYW5vbnltb3VzLWZ1bmN0aW9uLWNhbGxzLWV2YWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxscy1ldmFsLmh0bWwKQEAgLTUsNyAr
NSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2
YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3Jp
cHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb25zLXdp
dGgtZGlzcGxheS1uYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9ueW1v
dXMtZnVuY3Rpb25zLXdpdGgtZGlzcGxheS1uYW1lcy5odG1sCmluZGV4IGRhZTZiN2E2MzhiMWU2
NjdiYzJkYzc0OTNjYjE1ZDRmYTMxZmQzMjkuLjY2N2I4NDdkMWM3YmQyMDNjMzFkMjI5ZjIyZWU4
YzFkNTNhM2IyNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnlt
b3VzLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbnMtd2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwK
QEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNl
dEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBhbm9ueW1vdXNG
dW5jdGlvbkdlbmVyYXRvcihpdGVyYXRpb25zKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9hcHBseS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hcHBs
eS5odG1sCmluZGV4IDU1YjNkZDkyODc4MDE3OGZiM2Q1M2FmMDBlYzZhZTQzMzU4MzBjODguLmI4
MTE1MTAxZDZhZmVhYTkxZDE3YzRjMTQxYWQzMTBlYzRmMzcyMzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYXBwbHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL2FwcGx5Lmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIp
CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBm
dW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9m
aWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLmh0bWwKaW5k
ZXggODVhMzNiNjNkYTgyMGMyNWQ4MWUyNzU0MTExMmE5OWYzNzU1OWExZS4uYjBjMmYxYzdiN2Ex
M2JkOTFkYzkyN2Q5YjJjOGY1ZmY1ZTRjNzM2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91
cy5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVy
bmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3Rh
cnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQt
aW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5j
dGlvbi5odG1sCmluZGV4IDU1ZGM5OWZlNGUwYzRjZDMyZTU5MGRjNWRmOTQ4OGViYzhlYTI3NjUu
LjEwYzdmYWFiMGFhM2RiN2IzNWU2YjIzNzdhM2IwODRlYWU4NmM0MDEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZp
bmVkLWZ1bmN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1p
bi1mdW5jdGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24uaHRtbApAQCAtNSw3ICs1LDcg
QEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2Ny
aXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFBy
b2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NhbGwtcmVnaXN0ZXItbGVhay5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9jYWxsLXJlZ2lzdGVyLWxlYWsuaHRtbAppbmRleCBk
ZGE4OWY1Y2YwZmU1MGE3NzVhZGM1N2MzYTg0YWQ0Zjk2M2MwMzUzLi5jNDRiOTQzZDFkYTVmNTg3
NWI2MTYxOWZiMjE5OGIxZWZhZDcwYTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL2NhbGwtcmVnaXN0ZXItbGVhay5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvY2FsbC1yZWdpc3Rlci1sZWFrLmh0bWwKQEAgLTQsNyArNCw3IEBACiBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93Lmlu
dGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0Vu
YWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVk
KHRydWUpOwogCiBmdW5jdGlvbiBsb2cocykKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvY2FsbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9jYWxsLmh0
bWwKaW5kZXggNGU3ZTMxNWMyMDY5MGM4MmVmYjI1Yzk4YThiNzExYzY1ODVhZWE2OS4uZTgyOTEx
ZTIyNWRkOWUyMmRlMGZjNWQzNjY4MzdkYzk5ZmEwZDI3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9wcm9maWxlci9jYWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9jYWxsLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
aW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlv
biBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9j
YWxsaW5nLXRoZS1mdW5jdGlvbi10aGF0LXN0YXJ0ZWQtdGhlLXByb2ZpbGVyLWZyb20tYW5vdGhl
ci1zY29wZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9jYWxsaW5nLXRoZS1mdW5j
dGlvbi10aGF0LXN0YXJ0ZWQtdGhlLXByb2ZpbGVyLWZyb20tYW5vdGhlci1zY29wZS5odG1sCmlu
ZGV4IDZjZGY0NGEwYTlhNTBjMDNiZGJmY2MxMmVlMWIzN2M0MTVkM2ZmYTIuLjFiMzljMWRhMTc3
YmNhZWEzMTIxMzAyZTFlYmVjNjY1NjkzYzYzNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvY2FsbGluZy10aGUtZnVuY3Rpb24tdGhhdC1zdGFydGVkLXRoZS1wcm9maWxl
ci1mcm9tLWFub3RoZXItc2NvcGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L2NhbGxpbmctdGhlLWZ1bmN0aW9uLXRoYXQtc3RhcnRlZC10aGUtcHJvZmlsZXItZnJvbS1hbm90
aGVyLXNjb3BlLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5j
dGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9jb21wYXJlLW11bHRpcGxlLXByb2ZpbGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL2NvbXBhcmUtbXVsdGlwbGUtcHJvZmlsZXMuaHRtbAppbmRleCAwODE0Nzc4Y2NhZWRlN2Q4
NDNkYWJkMjZjMDU5YTgyZmMwZTFiNDM4Li4xMTJjNTUzMjFkNzVjODNmNTU5NGYwMTY4MDNkMTYx
MzNiZGYyNjUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NvbXBhcmUt
bXVsdGlwbGUtcHJvZmlsZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Nv
bXBhcmUtbXVsdGlwbGUtcHJvZmlsZXMuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5h
YmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQo
dHJ1ZSk7CiAKIHZhciBqID0gMDsKIGZ1bmN0aW9uIHRlc3QobGVuKSB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL2NvbnN0cnVjdG9yLmh0bWwKaW5kZXggZmJjYWVmNjM2Y2U5MjJiODUzYjU0
NGFjMjcxNGNkYjI0OTVlMzVhZi4uZDdlNmFmMDZhYjRiYjA1NGUwYmYzZDM1ODE2ZDNlZDMxYjhl
MmNiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9jb25zdHJ1Y3Rvci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY29uc3RydWN0b3IuaHRtbApAQCAt
NSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2
YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2RlYWQtdGltZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9kZWFkLXRpbWUuaHRtbAppbmRleCA0MzE4ZjBkZmQ3
Njc1MmYwZTQ4MjFkZWI1ODU1NDAwMThlMDhhNDViLi41ZTM3OGJiOGRmNjQ0YzUxNGRjNjFmZTY0
NDMzOTcwNzQyN2NjMTM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Rl
YWQtdGltZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZGVhZC10aW1lLmh0
bWwKQEAgLTcsNyArNyw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogfQogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGlu
dGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24g
c3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZG9j
dW1lbnQtZG90LXdyaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2RvY3VtZW50
LWRvdC13cml0ZS5odG1sCmluZGV4IDQ4ZjMyMjNiMjY1MWQ2YWQ4YTUzZDc4ZWIxNzdkZjIwMWRj
NDlmMTMuLjgzMmRlYzViYTNkNzc5ZmM3Y2I3OTNkZTU3NmY3OTY1OGRmOGY2MWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZG9jdW1lbnQtZG90LXdyaXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9kb2N1bWVudC1kb3Qtd3JpdGUuaHRtbApAQCAt
NSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2
YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2V2ZW50LWhhbmRsZXIuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZXZlbnQtaGFuZGxlci5odG1sCmluZGV4IDFk
M2Q2N2QxNzIxNDc3ODBlMGNlZTY2ZjM1Yzc3YTQ2OWFmNWQ1NzEuLjBkOTExMTFmZWE3YTA1ZWZj
MTY3ZWI2N2YyYjFjMDRiMzcxMWFjMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvZXZlbnQtaGFuZGxlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIv
ZXZlbnQtaGFuZGxlci5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0g
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUp
OworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAog
ZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL2V4ZWN1dGlvbi1jb250ZXh0LWFuZC1ldmFsLW9uLXNhbWUtbGluZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9leGVjdXRpb24tY29udGV4dC1hbmQtZXZhbC1vbi1z
YW1lLWxpbmUuaHRtbAppbmRleCBkNzg1Mjk4NmNlZTYxNmY2M2E0ZGZiYjY2NzA5Mzk0NTY5MTJk
NmVhLi4wOTVmMGNiMTY4OTkwNmJiM2I0YTJlOTIwMmIzMTU1OTdiOWU4YTdiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2V4ZWN1dGlvbi1jb250ZXh0LWFuZC1ldmFsLW9u
LXNhbWUtbGluZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZXhlY3V0aW9u
LWNvbnRleHQtYW5kLWV2YWwtb24tc2FtZS1saW5lLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2lu
ZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2Zp
bGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdF
bmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9wcm9maWxlci9pbmxpbmUtZXZlbnQtaGFuZGxlci5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9pbmxpbmUtZXZlbnQtaGFuZGxlci5odG1sCmluZGV4IDQyMTA4
ODA2ZjA3OTZhYjRjNTlkMjFkYzliZGQwOTcxMDQwOThhMzAuLmVhNzEwYjk1NGQ0YTU2NDQ1YWM3
YTJmNDQ1ZTM4NmQ3MWJmNGQwYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmls
ZXIvaW5saW5lLWV2ZW50LWhhbmRsZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL2lubGluZS1ldmVudC1oYW5kbGVyLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93Lmlu
dGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0Vu
YWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVk
KHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogeyAgICAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbWFueS1jYWxscy1pbi10aGUtc2FtZS1zY29wZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tYW55LWNhbGxzLWluLXRoZS1zYW1lLXNjb3BlLmh0
bWwKaW5kZXggZWY1OTRhMzkwMzExOTU1N2IwYzM0ZDY3ZWYzZTFhY2Q1MmZlMjFlMC4uNjQ4MTYw
YzZiMDU0OTcyMDIxNzNjYjVjNWYzOWNjNjA4NmFjNzg4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9wcm9maWxlci9tYW55LWNhbGxzLWluLXRoZS1zYW1lLXNjb3BlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tYW55LWNhbGxzLWluLXRoZS1zYW1lLXNjb3BlLmh0
bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxz
LnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRl
c3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1h
bmQtZGlmZmVyZW50LXNjb3BlZC1hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbXVsdGlwbGUtYW5kLWRpZmZlcmVudC1zY29wZWQtYW5vbnlt
b3VzLWZ1bmN0aW9uLWNhbGxzLmh0bWwKaW5kZXggZjJjOTlkMGY1MjEyYzZiZDYwMzYwZjNiNGMw
MzdmMGRhODdlNmJjOC4uZGQxYTYzYjAyYWQ2Njk0OGQzZDYxODZmN2UwNzNlMmQwNWJiMWM1OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbmQtZGlmZmVy
ZW50LXNjb3BlZC1hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFuZC1kaWZmZXJlbnQtc2NvcGVkLWFub255bW91cy1m
dW5jdGlvbi1jYWxscy5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0g
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUp
OworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAog
ZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvbXVsdGlwbGUtYW5kLWRpZmZlcmVudC1zY29wZWQtZnVuY3Rpb24tY2FsbHMuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbXVsdGlwbGUtYW5kLWRpZmZlcmVudC1zY29wZWQt
ZnVuY3Rpb24tY2FsbHMuaHRtbAppbmRleCBiZjc1MjMwYWM4NjYxM2JkZTFiNmU2NzAxYzliODgx
ODJhZTBmYjczLi45Mjk1OTdjN2IzOGNjMGJmNzE1Y2Y5M2I4MjEzNmJkM2RmNTRlYTY4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFuZC1kaWZmZXJlbnQt
c2NvcGVkLWZ1bmN0aW9uLWNhbGxzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9tdWx0aXBsZS1hbmQtZGlmZmVyZW50LXNjb3BlZC1mdW5jdGlvbi1jYWxscy5odG1sCkBAIC01
LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZh
U2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbXVsdGlwbGUtYW5vbnltb3Vz
LWZ1bmN0aW9ucy1jYWxsZWQtZnJvbS10aGUtc2FtZS1mdW5jdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbm9ueW1vdXMtZnVuY3Rpb25zLWNhbGxlZC1mcm9t
LXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWwKaW5kZXggZDk3YzQ3NzkxYjQzZmFmZDc4MjJjOTc0YjIy
M2M3NDJjMDFkMWI1OS4uOTlhMmEzMzI3YWFhYjZiMGIyZmYzZTEyZDZkOWZkNzI5OWYxOWQ1ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbm9ueW1vdXMt
ZnVuY3Rpb25zLWNhbGxlZC1mcm9tLXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbm9ueW1vdXMtZnVuY3Rpb25zLWNhbGxlZC1m
cm9tLXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVy
bmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRy
dWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9tdWx0aXBsZS1mcmFtZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvbXVsdGlwbGUtZnJhbWVzLmh0bWwKaW5kZXggNzYwY2M1NDY3MWU0YzEyZTE1ZDczNjc2
ZDRlYTMxMTg3MWJkZDQ3ZC4uZTEzYzNiNWE2YjZkMWYxYWE1MDQ1NGRlOTZlNGE5ZGFlYzI4M2Yy
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1mcmFtZXMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWZyYW1lcy5odG1s
CkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5z
ZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0
KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbmFtZWQtZnVuY3Rp
b25zLXdpdGgtZGlzcGxheS1uYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9u
YW1lZC1mdW5jdGlvbnMtd2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwKaW5kZXggZDA3YmFhYmQ0MzU5
YTBlMzMxODhiNzAzNmJjMTUyNjE1YjQ5NGQwOC4uNGFmYWNhYmU0OTQ2MDc4OTgwZmU3M2QxY2Vi
ODliYjBiMTk2ZWE1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9uYW1l
ZC1mdW5jdGlvbnMtd2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9wcm9maWxlci9uYW1lZC1mdW5jdGlvbnMtd2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwKQEAgLTUs
NyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFT
Y3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBmdW5jdGlvbjAoKQogewpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9uZXN0ZWQtYW5vbnltb3VzLWZ1
bmN0b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbmVzdGVkLWFub255bW91cy1m
dW5jdG9uLmh0bWwKaW5kZXggYTk4ZTQ0MjQyMGVkYzg1YjI1ODEzODdjODY3MTNkMWVhZjgxZDAw
OC4uZWM0NGJlNmI5NTU1NDkwZWJlMTcyYWQxZDljMmRhZjVmM2U5NWE3YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9uZXN0ZWQtYW5vbnltb3VzLWZ1bmN0b24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25lc3RlZC1hbm9ueW1vdXMtZnVuY3Rvbi5o
dG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFs
cy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRU
ZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbmVzdGVkLXN0
YXJ0LWFuZC1zdG9wLXByb2ZpbGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25l
c3RlZC1zdGFydC1hbmQtc3RvcC1wcm9maWxlci5odG1sCmluZGV4IDU1ZDBjMTdlMjZmYzE2ZDcx
YWE4ODE1NWFmYjZiZjMwNDM2NzZmNjAuLjAzZWE0YWU2MWIxNmI1NjJmN2IzOTQwYTkwMDA3MWEy
ZmJmMGM1NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbmVzdGVkLXN0
YXJ0LWFuZC1zdG9wLXByb2ZpbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9uZXN0ZWQtc3RhcnQtYW5kLXN0b3AtcHJvZmlsZXIuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJv
ZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGlu
Z0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25vLWV4ZWN1dGlvbi1jb250ZXh0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25vLWV4ZWN1dGlvbi1jb250ZXh0Lmh0bWwKaW5kZXggNDM3
NzhlNzlhM2M4MTg3MzZmZDRkMmM3NzQxZGE1NmU0Zjg5YjBjNS4uYTQyNWZlMzc5OThmYTBkZTA0
YWU5NTFlZGQzZjhhMzJhMTJiNDg2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9m
aWxlci9uby1leGVjdXRpb24tY29udGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvbm8tZXhlY3V0aW9uLWNvbnRleHQuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJs
ZWQodHJ1ZSk7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9vbmUtZXhlY3V0aW9uLWNvbnRleHQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvb25lLWV4ZWN1dGlvbi1jb250ZXh0Lmh0bWwKaW5kZXggY2UyODNlN2YyYmEz
YTY2MzljNjZmNzY1OGFhZmYwNDNlY2Y3ZTkxYS4uYmEyODFhYzNkMjgxNTU0ZTRmYTBjMGYzMTZh
NGRkOGI3YTVjM2JlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9vbmUt
ZXhlY3V0aW9uLWNvbnRleHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL29u
ZS1leGVjdXRpb24tY29udGV4dC5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVk
KHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVl
KTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvcHJvZmlsZS1jYWxscy1pbi1pbmNsdWRlZC1maWxlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGUtY2FsbHMtaW4taW5jbHVkZWQtZmlsZS5odG1sCmlu
ZGV4IGVkMDA1NWEyMjQ4MzgzM2E4OGE0MTRjZmFhMGNiNzg2NTIyNTFmMTEuLjBmNjI3MDgwODhj
OGFmMjdmOGRlMmEzZTU0NWU1MTgzNWU5ZjNhZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvcHJvZmlsZS1jYWxscy1pbi1pbmNsdWRlZC1maWxlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxlLWNhbGxzLWluLWluY2x1ZGVkLWZpbGUuaHRt
bApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMu
c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVz
dCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGUtd2l0
aC1uby10aXRsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxlLXdpdGgt
bm8tdGl0bGUuaHRtbAppbmRleCBjMDhjMDlhMjE2OTM3NjdkMTRkNTE1ZjFiZWZmMmViNjY4Yjg1
YTdjLi43YjVhM2E4NTExN2M4ODhlMjA3ZDBhNWE2MmNkNjczMWIyZmE0ZmJkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGUtd2l0aC1uby10aXRsZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvcHJvZmlsZS13aXRoLW5vLXRpdGxlLmh0bWwK
QEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNl
dEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3Qo
KQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxpbmctZnJv
bS1hLW5lc3RlZC1sb2NhdGlvbi1idXQtc3RvcC1wcm9maWxpbmctb3V0c2lkZS10aGUtbmVzdGlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxpbmctZnJvbS1hLW5lc3Rl
ZC1sb2NhdGlvbi1idXQtc3RvcC1wcm9maWxpbmctb3V0c2lkZS10aGUtbmVzdGluZy5odG1sCmlu
ZGV4IGQ2NzFlNGNlZTc4OGJmNTM2MWU2NmE4NTY5Y2FjYzBjM2M1OGJmOWEuLmNmYmI2ZWZmYWFj
MWY2MWNkNzczZDRiZTk2MzNhNDAwN2JhZDVmMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvcHJvZmlsaW5nLWZyb20tYS1uZXN0ZWQtbG9jYXRpb24tYnV0LXN0b3AtcHJv
ZmlsaW5nLW91dHNpZGUtdGhlLW5lc3RpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL3Byb2ZpbGluZy1mcm9tLWEtbmVzdGVkLWxvY2F0aW9uLWJ1dC1zdG9wLXByb2ZpbGlu
Zy1vdXRzaWRlLXRoZS1uZXN0aW5nLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVy
bmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRy
dWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9wcm9maWxpbmctZnJvbS1hLW5lc3RlZC1sb2NhdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxpbmctZnJvbS1hLW5lc3RlZC1sb2NhdGlvbi5o
dG1sCmluZGV4IDI4YjgzMWY3OTM1MGRiMzM1ZjhhMmU2NTIxYWEyNDMwOTYyOTQ3OGIuLmU5NDhi
ODlkMmMzMjU0M2VlZDYyZWRjNmRjNmZhYjJmZDA5MWM5NjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvcHJvZmlsZXIvcHJvZmlsaW5nLWZyb20tYS1uZXN0ZWQtbG9jYXRpb24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGluZy1mcm9tLWEtbmVzdGVkLWxv
Y2F0aW9uLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
aW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlv
biBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9z
aW1wbGUtZXZlbnQtY2FsbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zaW1wbGUt
ZXZlbnQtY2FsbC5odG1sCmluZGV4IGI0YzljZWFjYjQ3Y2EyMjNjMTdlMTI2NGNmOTEyNWNlMWE5
NzMwYjkuLjVlNGUwODQ2MjAzZjczZDZkZDY2NTkzM2IzYjQwNjM0MjE2ZWI5NzIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc2ltcGxlLWV2ZW50LWNhbGwuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3NpbXBsZS1ldmVudC1jYWxsLmh0bWwKQEAgLTUs
NyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFT
Y3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zaW1wbGUtbm8tbGV2ZWwtY2hh
bmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3NpbXBsZS1uby1sZXZlbC1jaGFu
Z2UuaHRtbAppbmRleCAwODI3ZGU4MTllZTU3YzRkMzM5M2UwMjEwNzJiYjcyOWNkYzYyNTZiLi5h
ZTFiODM3Njg2NTc4Zjg1YTYzMTFlODY4MzMxOTI5YTQxNTM1ZjkyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3NpbXBsZS1uby1sZXZlbC1jaGFuZ2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3NpbXBsZS1uby1sZXZlbC1jaGFuZ2UuaHRtbApAQCAt
NSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2
YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWFuZC1zdG9wLXBy
b2ZpbGVyLW11bHRpcGxlLXRpbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0
YXJ0LWFuZC1zdG9wLXByb2ZpbGVyLW11bHRpcGxlLXRpbWVzLmh0bWwKaW5kZXggZGY3YmJhZGJk
NTdmMzZjZGQxNmM0YWJhMGY2MDhlNWUyZDI4ZTE4NC4uMGE0ZjY4YWU1ZWNmZmVhMDk3MjZmNTAz
Mzk5MjdkMTgwNzA3Y2U5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9z
dGFydC1hbmQtc3RvcC1wcm9maWxlci1tdWx0aXBsZS10aW1lcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcHJvZmlsZXIvc3RhcnQtYW5kLXN0b3AtcHJvZmlsZXItbXVsdGlwbGUtdGltZXMu
aHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5h
bHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0
VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWFu
ZC1zdG9wLXByb2ZpbGluZy1pbi10aGUtc2FtZS1mdW5jdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9zdGFydC1hbmQtc3RvcC1wcm9maWxpbmctaW4tdGhlLXNhbWUtZnVuY3Rp
b24uaHRtbAppbmRleCBiYjA2YWExZjM2MzQwYTUzNzQ4ZGM0YTE0YzZjNTRkYjVmNGEyYmQ5Li5l
YWU4ZDRmYWQwNWQ3ZjZkY2ZmZjU1ZGU0M2I4NjU5Yjg3ZDMxMjQ4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWFuZC1zdG9wLXByb2ZpbGluZy1pbi10aGUtc2Ft
ZS1mdW5jdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RhcnQtYW5k
LXN0b3AtcHJvZmlsaW5nLWluLXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWwKQEAgLTUsNyArNSw3IEBA
CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBp
ZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlw
dFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9m
aWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdGFydC1idXQtZG9udC1zdG9wLXByb2ZpbGlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdGFydC1idXQtZG9udC1zdG9wLXBy
b2ZpbGluZy5odG1sCmluZGV4IDAyMDI3ZjM4NDg4Y2MyNDIyMjgxMDVkZjFkMWExZWEyMGI2Nzk4
NzcuLjdmMTY1NmI4ZjkwMzFiZDYyMWUzZmQ1OTFmZTFiY2I5MGI5YzA3MTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RhcnQtYnV0LWRvbnQtc3RvcC1wcm9maWxpbmcu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWJ1dC1kb250LXN0b3At
cHJvZmlsaW5nLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5j
dGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9zdG9wLXByb2ZpbGluZy1hZnRlci1zZXRUaW1lb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL3N0b3AtcHJvZmlsaW5nLWFmdGVyLXNldFRpbWVvdXQuaHRtbAppbmRleCBkNmFm
MDhhNDdjMzA5M2Q1Zjc4MjNhMmNlNDNhOTc3ZmFlMTY0ZWY5Li5iMWEwNzBjZmY1MzczZjc5NDhk
Yjk0NjVhYjExM2M2NjQyYzZjZGQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL3N0b3AtcHJvZmlsaW5nLWFmdGVyLXNldFRpbWVvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Byb2ZpbGVyL3N0b3AtcHJvZmlsaW5nLWFmdGVyLXNldFRpbWVvdXQuaHRtbApAQCAt
Nyw3ICs3LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiB9CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxz
LnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRl
c3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdG9wLXRoZW4t
ZnVuY3Rpb24tY2FsbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdG9wLXRoZW4t
ZnVuY3Rpb24tY2FsbC5odG1sCmluZGV4IGFhZDI0OTk4NGI4MDQyMjM3MjRmYjk1NTUzYTZiZDQ4
ZjVlZjQ3OTMuLmY5NGE4MjU4NmYwYjFlMTU0MGRiOTdjZTAzMzUzN2Y5NGE4NWRkZjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RvcC10aGVuLWZ1bmN0aW9uLWNhbGwu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0b3AtdGhlbi1mdW5jdGlvbi1j
YWxsLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50
ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiB2YXIgaiA9IDA7
CiBmdW5jdGlvbiB0ZXN0KGxlbikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9m
aWxlci90d28tZXhlY3V0aW9uLWNvbnRleHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL3R3by1leGVjdXRpb24tY29udGV4dHMuaHRtbAppbmRleCA4MmY4MTVlNTIxMWM2ZDJmZDQw
YTgzOWY2ZDM1Yzg4YzIxNTc4MWY5Li41YjJlZDViM2FkYTMxM2FmNGQwMjgzODNmNGZjMmY5YmU4
M2U2ODUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3R3by1leGVjdXRp
b24tY29udGV4dHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3R3by1leGVj
dXRpb24tY29udGV4dHMuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQot
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAK
IGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL3VzZXItZGVmaW5lZC1mdW5jdGlvbi1jYWxscy1idWlsdC1pbi1mdW5jdGlvbnMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWNhbGxz
LWJ1aWx0LWluLWZ1bmN0aW9ucy5odG1sCmluZGV4IDk5MWJiZjA4ODA4MmZjY2MwOTFjODliODI3
OTlmYTVkZDJhODgwMWUuLjRmYTM5NGU5ZjM4MGNhOTYzNGQ4ODgwNjMxMDQ0YTRhNTBjM2U2Yzgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvdXNlci1kZWZpbmVkLWZ1bmN0
aW9uLWNhbGxzLWJ1aWx0LWluLWZ1bmN0aW9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cHJvZmlsZXIvdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWNhbGxzLWJ1aWx0LWluLWZ1bmN0aW9ucy5o
dG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFs
cy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRU
ZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvd2luZG93LWRv
dC1ldmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3dpbmRvdy1kb3QtZXZhbC5o
dG1sCmluZGV4IDE5ZjJhYzQxNDRmOWFjNzA0MTY4NWFiMjFjODFjZDFmOTY4MTNiNzEuLjFmN2Q0
YzM1MWQzZjUzNzllMTYxODZlNjA0NDI1ZTkwYWYwNmY1MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvcHJvZmlsZXIvd2luZG93LWRvdC1ldmFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci93aW5kb3ctZG90LWV2YWwuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmls
aW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0Vu
YWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrLXRlc3QuanMgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrLXRlc3QuanMKaW5kZXggNjNiY2U0YzYyZDcy
YmE3OTA2ZmNhNjM3YWZlOTRjMGQyNTNkYTcwOS4uYWE0MTQ5N2YyMWFmMmFmZTA2Y2YwNDY4MTIy
ZTgxNTg4MzczODgzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmstdGVzdC5qcwpAQCAtMTA3LDcgKzEwNyw3IEBAIGZ1bmN0aW9uIHJlc2V0SW5zcGVj
dG9yUmVzb3VyY2VzRGF0YSgpCiAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SW5zcGVjdG9yUmVzb3Vy
Y2VzRGF0YVNpemVMaW1pdHMoMTAgKiAxMDAwICogMTAwMCwgMTAwMCAqIDEwMDApOworICAgIGlu
dGVybmFscy5zZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygxMCAqIDEwMDAgKiAx
MDAwLCAxMDAwICogMTAwMCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRl
c3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2Fy
ZGVkLmh0bWwKaW5kZXggN2QzMzRiYTZkMmIzNTIwYjFiZTNmM2Y0M2EwYzQ5ODljYzJhMjgyMS4u
OTMwOGQwYjllMDU4Mjk3MzI5NmIxMzE5N2MxY2JjMDZhMGRiMTFlYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVz
dHJveWVkLXRvby1iaWctZGlzY2FyZGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlz
Y2FyZGVkLmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAgZnVuY3Rpb24gbG9hZEZpcnN0SW1hZ2UoKSB7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgLy8gTWFrZSBzdXJlIHRoZXJlIGlzIG5vIGVu
b3VnaCBzcGFjZSB0byBzYXZlIGNvbnRlbnQgaW4gcmVzb3VyY2UgYWdlbnQncyBzdG9yYWdlLgot
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0
cygxMDAsIDEwMCk7CisgICAgaW50ZXJuYWxzLnNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXpl
TGltaXRzKDEwMCwgMTAwKTsKIAogICAgIGltYWdlID0gbmV3IEltYWdlKCk7CiAgICAgaW1hZ2Uu
b25sb2FkID0gZmlyc3RJbWFnZUxvYWRlZDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVtYmVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmst
Y29udGVudC1yZXBsYWNlbWVudC1lbWJlZC5odG1sCmluZGV4IDljZDg1MzFhZDQzNzMyODk4OWYz
YTJlNGJhMDRmZjI0NDg3MDY4NDcuLjFiODliYTFiMjU4ZTRjMzc3MTQ1OGViYjczZTk4ZTY2YTAx
ZTI1MjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVtYmVkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1l
bnQtZW1iZWQuaHRtbApAQCAtMjksNyArMjksNyBAQCBmdW5jdGlvbiBsb2FkVVJMcygpCiAgICAg
ICAgIGNvbnNvbGUubG9nKCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gYXMgd2luZG93LmludGVy
bmFscyBpcyBub3QgYXZhaWxhYmxlLiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygzMDAs
IDIwMCk7CisgICAgaW50ZXJuYWxzLnNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRz
KDMwMCwgMjAwKTsKIAogICAgIC8vIEhlcmUgd2UgdGVzdCByZXBsYWNlbWVudCBsb2dpYy4gV2Ug
c2F2ZSBmaXJzdCB0d28gcmVzb3VyY2VzIGNvbnRlbnQsCiAgICAgLy8gZGlzY2FyZCB0aGlyZCBy
ZXNvdXJjZSBjb250ZW50IG9uY2Ugd2Ugc2VlIGl0cyBzaXplIGV4Y2VlZHMgbGltaXQsCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmst
Y29udGVudC1yZXBsYWNlbWVudC14aHIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci5odG1sCmluZGV4
IDhjZjFlZTRmZDhiY2NhOGQ3OTNkMzY5ZDY1YWI3YmY3MDAxMWZhMDUuLjliODY1ZjFhZTJmOGE4
MjRlM2UwN2MyMjg0MGMwOWViZTI3ZWUyMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29y
ay1jb250ZW50LXJlcGxhY2VtZW50LXhoci5odG1sCkBAIC05LDcgKzksNyBAQCBmdW5jdGlvbiBz
ZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygpCiAgICAgICAgIGNvbnNvbGUubG9n
KCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gYXMgd2luZG93LmludGVybmFscyBpcyBub3QgYXZh
aWxhYmxlLiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygzMDAsIDIwMCk7CisgICAgaW50
ZXJuYWxzLnNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKDMwMCwgMjAwKTsKICAg
ICBjb25zb2xlLmxvZygiRG9uZS4iKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxpbmctd2l0aG91dC1pbnNwZWN0b3Iu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmls
aW5nLXdpdGhvdXQtaW5zcGVjdG9yLmh0bWwKaW5kZXggNWE0MGMwNTU5YjExMGU2YTIzYmJiNmMw
NTA5YTgxMDU2ZGQ3NDkzNC4uMjJlM2E5OTdkN2E2OThmZDk2MGUyY2NhNTZjNzExZWZmZjllYzg3
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxl
ci1wcm9maWxpbmctd2l0aG91dC1pbnNwZWN0b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLXByb2ZpbGluZy13aXRob3V0LWluc3BlY3Rvci5o
dG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFs
cy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gcGFnZUZ1
bmN0aW9uKCkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170991</attachid>
            <date>2012-10-26 13:20:16 -0700</date>
            <delta_ts>2012-10-26 15:00:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100392-20121026131848.patch</filename>
            <type>text/plain</type>
            <size>47216</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzgzYjE2YWY2NTk5NGZh
MzY4NDQwMjAwZmY2YjczM2JlNzRjNTk5OC4uYjM5OThiMzFmZDE4MmZiZTJhODE4ZDFkMjYwZmY4
NmQ2NmZiMjhmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEwLTI2ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBub24tU2V0dGluZ3Mg
SW5zcGVjdG9yIG1ldGhvZHMgZnJvbSBpbnRlcm5hbHMuc2V0dGluZ3MgdG8gaW50ZXJuYWxzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAzOTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBtZXRo
b2RzIGRvbid0IGhhdmUgdG8gZG8gd2l0aCB0aGUgV2ViQ29yZSBTZXR0aW5ncyBvYmplY3QsIHNv
IG1vdmUgdGhlbSB1cCB0byBpbnRlcm5hbHMuCisgICAgICAgIEkgbW92ZWQgdGhlIHJlc2V0IGNv
ZGUgZnJvbSBJbnRlcm5hbFNldHRpbmdzIHRvIEludGVybmFscy4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIHRoaXMgaXMganVzdCBhIHJlbmFtZS4gRXhpc3RpbmcgdGVzdHMgc2hvdWxkIHBhc3Mu
CisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOiBSZW1vdmUgaW5zcGVjdG9y
IG1ldGhvZHMuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJl
c3RvcmVUbyk6IFJlbW92ZSBpbnNwZWN0b3IgbWV0aG9kcy4KKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRs
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSk6IE5ldyBtZXRob2QgZm9yIHJlc2V0dGlu
ZyBwYWdlIHN0YXRlLiBOYW1lZCBhZnRlciBzaW1pbGFyCisgICAgICAgIG1ldGhvZHMgaW4gV1RS
LgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRh
U2l6ZUxpbWl0cyk6IE1vdmVkIGZyb20gSW5zcGVjdG9yU2V0dGluZ3MuCisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbHM6OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKTogTW92ZWQgZnJv
bSBJbnNwZWN0b3JTZXR0aW5ncy4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL2pzL1dlYkNv
cmVUZXN0U3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlVGVzdFN1cHBvcnQ6OnJlc2V0SW50
ZXJuYWxzT2JqZWN0KTogUmVzZXQgc3RhdGUgaW4gSW50ZXJuYWxzLgorICAgICAgICAqIHRlc3Rp
bmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmVUZXN0U3VwcG9y
dDo6cmVzZXRJbnRlcm5hbHNPYmplY3QpOiBSZXNldCBzdGF0ZSBpbiBJbnRlcm5hbHMuCisKIDIw
MTItMTAtMjYgIFBhcnRoIFBhdGVsICA8cGFycGF0ZWxAcmltLmNvbT4KIAogICAgICAgICBbQmxh
Y2tCZXJyeV0gRXh0ZW5kaW5nIGV4aXN0aW5nIFRocmVhZFVuc2FmZSBzaW5nbGV0b25zIGluIHdl
YmtpdCB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5k
ZXggYWUzMDY2OTkwMGY5YzQwOTc3ZTI0ZmFmMzI0NDdlMDFmMWU1MWI0My4uODdhMTRhN2ExMTRk
MGQzN2FlNmMyZjA4NGY4YTFjODc5MjUwMDQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0j
aW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCiAj
aW5jbHVkZSAiTG9jYWxlVG9TY3JpcHRNYXBwaW5nLmgiCiAjaW5jbHVkZSAiTW9ja1BhZ2VQb3B1
cERyaXZlci5oIgpAQCAtNTcsMTIgKzU2LDYgQEAKICAgICAgICAgcmV0dXJuOyBcCiAgICAgfQog
Ci0jZGVmaW5lIEludGVybmFsU2V0dGluZ3NHdWFyZEZvclBhZ2VSZXR1cm4ocmV0dXJuVmFsdWUp
IFwKLSAgICBpZiAoIXBhZ2UoKSkgeyBcCi0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJS
OyBcCi0gICAgICAgIHJldHVybiByZXR1cm5WYWx1ZTsgXAotICAgIH0KLQogI2RlZmluZSBJbnRl
cm5hbFNldHRpbmdzR3VhcmRGb3JQYWdlKCkgXAogICAgIGlmICghcGFnZSgpKSB7IFwKICAgICAg
ICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7IFwKQEAgLTg2LDkgKzc5LDYgQEAgSW50ZXJuYWxT
ZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoUGFnZSogcGFnZSwgU2V0dGluZ3MqIHNldHRpbmdzKQog
ICAgICwgbV9vcmlnaW5hbFVuaWZpZWRTcGVsbENoZWNrZXJFbmFibGVkKHNldHRpbmdzLT51bmlm
aWVkVGV4dENoZWNrZXJFbmFibGVkKCkpCiAgICAgLCBtX29yaWdpbmFsRml4ZWRQb3NpdGlvbkNy
ZWF0ZXNTdGFja2luZ0NvbnRleHQoc2V0dGluZ3MtPmZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tp
bmdDb250ZXh0KCkpCiAgICAgLCBtX29yaWdpbmFsU3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChz
ZXR0aW5ncy0+c3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZCgpKQotI2lmIEVOQUJMRShJTlNQRUNU
T1IpICYmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotICAgICwgbV9vcmlnaW5hbEphdmFT
Y3JpcHRQcm9maWxpbmdFbmFibGVkKHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKSAmJiBwYWdl
LT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnByb2ZpbGVyRW5hYmxlZCgpKQotI2VuZGlmCiAgICAg
LCBtX29yaWdpbmFsV2luZG93Rm9jdXNSZXN0cmljdGVkKHNldHRpbmdzLT53aW5kb3dGb2N1c1Jl
c3RyaWN0ZWQoKSkKICAgICAsIG1fb3JpZ2luYWxEZXZpY2VTdXBwb3J0c1RvdWNoKHNldHRpbmdz
LT5kZXZpY2VTdXBwb3J0c1RvdWNoKCkpCiAgICAgLCBtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNN
b3VzZShzZXR0aW5ncy0+ZGV2aWNlU3VwcG9ydHNNb3VzZSgpKQpAQCAtMTI2LDEwICsxMTYsNiBA
QCB2b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFBhZ2UqIHBhZ2UsIFNl
dHRpbmdzKiBzZXR0aW5ncykKICAgICBzZXR0aW5ncy0+c2V0VW5pZmllZFRleHRDaGVja2VyRW5h
YmxlZChtX29yaWdpbmFsVW5pZmllZFNwZWxsQ2hlY2tlckVuYWJsZWQpOwogICAgIHNldHRpbmdz
LT5zZXRGaXhlZFBvc2l0aW9uQ3JlYXRlc1N0YWNraW5nQ29udGV4dChtX29yaWdpbmFsRml4ZWRQ
b3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQpOwogICAgIHNldHRpbmdzLT5zZXRTeW5jWEhS
SW5Eb2N1bWVudHNFbmFibGVkKG1fb3JpZ2luYWxTeW5jWEhSSW5Eb2N1bWVudHNFbmFibGVkKTsK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLSAg
ICBpZiAocGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpKQotICAgICAgICBwYWdlLT5pbnNwZWN0
b3JDb250cm9sbGVyKCktPnNldFByb2ZpbGVyRW5hYmxlZChtX29yaWdpbmFsSmF2YVNjcmlwdFBy
b2ZpbGluZ0VuYWJsZWQpOwotI2VuZGlmCiAgICAgc2V0dGluZ3MtPnNldFdpbmRvd0ZvY3VzUmVz
dHJpY3RlZChtX29yaWdpbmFsV2luZG93Rm9jdXNSZXN0cmljdGVkKTsKICAgICBzZXR0aW5ncy0+
c2V0RGV2aWNlU3VwcG9ydHNUb3VjaChtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNUb3VjaCk7CiAg
ICAgc2V0dGluZ3MtPnNldERldmljZVN1cHBvcnRzTW91c2UobV9vcmlnaW5hbERldmljZVN1cHBv
cnRzTW91c2UpOwpAQCAtMTk4LDIxICsxODQsNiBAQCBTZXR0aW5ncyogSW50ZXJuYWxTZXR0aW5n
czo6c2V0dGluZ3MoKSBjb25zdAogICAgIHJldHVybiBwYWdlKCktPnNldHRpbmdzKCk7CiB9CiAK
LXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1p
dHMoaW50IG1heGltdW1SZXNvdXJjZXNDb250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVSZXNv
dXJjZUNvbnRlbnRTaXplLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQotICAgIGlmICghcGFnZSgpIHx8ICFwYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKSkg
ewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICBwYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0UmVzb3VyY2VzRGF0YVNp
emVMaW1pdHNGcm9tSW50ZXJuYWxzKG1heGltdW1SZXNvdXJjZXNDb250ZW50U2l6ZSwgbWF4aW11
bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0obWF4
aW11bVJlc291cmNlc0NvbnRlbnRTaXplKTsKLSAgICBVTlVTRURfUEFSQU0obWF4aW11bVNpbmds
ZVJlc291cmNlQ29udGVudFNpemUpOwotICAgIFVOVVNFRF9QQVJBTShlYyk7Ci0jZW5kaWYKLX0K
LQogdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZUNvbXBvc2l0aW5nTW9kZShib29sIGVu
YWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIEludGVybmFsU2V0dGluZ3NHdWFyZEZv
clNldHRpbmdzKCk7CkBAIC01MTgsMjIgKzQ4OSw2IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6
c2V0U3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUm
CiAgICAgc2V0dGluZ3MoKS0+c2V0U3luY1hIUkluRG9jdW1lbnRzRW5hYmxlZChlbmFibGVkKTsK
IH0KIAotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxl
ZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0gICAgaWYgKCFwYWdlKCkgfHwgIXBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpKSB7
Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgcGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldFByb2ZpbGVyRW5hYmxl
ZChlbmFibGVkKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwotICAgIFVOVVNF
RF9QQVJBTShlYyk7Ci0gICAgcmV0dXJuOwotI2VuZGlmCi19Ci0KIHZvaWQgSW50ZXJuYWxTZXR0
aW5nczo6c2V0V2luZG93Rm9jdXNSZXN0cmljdGVkKGJvb2wgcmVzdHJpY3RlZCwgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7CiAgICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMzhhZjczZjk3Yzky
NDg0ODNmNTZiZjE0ZmFmNGVlNGFjMGEzZjQyYS4uMzgxNGZkMGRlYWIxOTgwYjRlZDMwMDVhYWVk
MmRhZWNjZTI0OTAwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKQEAgLTY1LDkgKzY1LDYgQEAgcHVibGljOgogICAgICAgICBib29sIG1fb3JpZ2luYWxVbmlm
aWVkU3BlbGxDaGVja2VyRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX29yaWdpbmFsRml4ZWRQb3Np
dGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQ7CiAgICAgICAgIGJvb2wgbV9vcmlnaW5hbFN5bmNY
SFJJbkRvY3VtZW50c0VuYWJsZWQ7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKEpB
VkFTQ1JJUFRfREVCVUdHRVIpCi0gICAgICAgIGJvb2wgbV9vcmlnaW5hbEphdmFTY3JpcHRQcm9m
aWxpbmdFbmFibGVkOwotI2VuZGlmCiAgICAgICAgIGJvb2wgbV9vcmlnaW5hbFdpbmRvd0ZvY3Vz
UmVzdHJpY3RlZDsKICAgICAgICAgYm9vbCBtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNUb3VjaDsK
ICAgICAgICAgYm9vbCBtX29yaWdpbmFsRGV2aWNlU3VwcG9ydHNNb3VzZTsKQEAgLTk2LDcgKzkz
LDYgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdm9pZCByZXNldCgpOwogCi0gICAgdm9pZCBzZXRJ
bnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyhpbnQgbWF4aW11bVJlc291cmNlc0NvbnRl
bnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICB2b2lkIHNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKGJvb2wgZW5hYmxlZCwgRXhj
ZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0RW5hYmxlQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0
aW9uKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0RW5hYmxlQ29t
cG9zaXRpbmdGb3JTY3JvbGxhYmxlRnJhbWVzKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYp
OwpAQCAtMTQwLDcgKzEzNiw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN5bmNYSFJJbkRvY3Vt
ZW50c0VuYWJsZWQoYm9vbCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0V2luZG93Rm9j
dXNSZXN0cmljdGVkKGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldERpYWxvZ0Vs
ZW1lbnRFbmFibGVkKGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHNldEphdmFTY3Jp
cHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFZl
Y3RvcjxTdHJpbmc+IHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSBjb25zdDsKICAgICB2b2lkIHNl
dFVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKICAgICB2b2lk
IHNldFBhZ2luYXRpb24oY29uc3QgU3RyaW5nJiBtb2RlLCBpbnQgZ2FwLCBFeGNlcHRpb25Db2Rl
JiBlYykgeyBzZXRQYWdpbmF0aW9uKG1vZGUsIGdhcCwgMCwgZWMpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCAwYzI2ZWZkNDY4ODczZjNjZDc2
MGMzNmYyNzVjNzc3M2RmNmRmOTJmLi4xYWExNGUyMWQ5ZjFmMTUwYmEzYjU2ZjM4MGE5NzNhNTE5
ZGUyZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwK
QEAgLTI2LDcgKzI2LDYgQEAKIFsKICAgICBPbWl0Q29uc3RydWN0b3IKIF0gaW50ZXJmYWNlIElu
dGVybmFsU2V0dGluZ3MgewotICAgIHZvaWQgc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVM
aW1pdHMoaW4gbG9uZyBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIGluIGxvbmcgbWF4aW11
bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHZv
aWQgc2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKICAgICB2b2lkIHNldEVuYWJsZUNvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlv
bihpbiBib29sZWFuIGVuYWJsZWQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0
RW5hYmxlQ29tcG9zaXRpbmdGb3JTY3JvbGxhYmxlRnJhbWVzKGluIGJvb2xlYW4gZW5hYmxlZCkg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CkBAIC02OCw3ICs2Nyw2IEBACiAgICAgdm9pZCBzZXRFZGl0
aW5nQmVoYXZpb3IoaW4gRE9NU3RyaW5nIGJlaGF2aW9yKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
ICAgICB2b2lkIHNldEZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KGluIGJvb2xl
YW4gY3JlYXRlcykgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzZXRTeW5jWEhSSW5E
b2N1bWVudHNFbmFibGVkKGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7
Ci0gICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChpbiBib29sZWFuIGNyZWF0
ZXMpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0V2luZG93Rm9jdXNSZXN0cmlj
dGVkKGluIGJvb2xlYW4gcmVzdHJpY3RlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgdm9p
ZCBzZXREaWFsb2dFbGVtZW50RW5hYmxlZChpbiBib29sZWFuIGVuYWJsZWQpIHJhaXNlcyhET01F
eGNlcHRpb24pOwogICAgIHZvaWQgc2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVu
YWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAppbmRleCA5NDk2YzIyYjMyNWJjOTFkMzIzZmUzZGI1YTNmZTcwNWRlM2Y3NjkyLi5iNjc0YTMx
YWQ0YWJjNDY3NTYyNmMxZTNkZmVjOTc2MWMyOWRjYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCkBAIC0yMDQsNiArMjA0LDE1IEBAIEludGVybmFsczo6fkludGVybmFscygp
CiB7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKFBhZ2UqIHBh
Z2UpCit7CisgICAgQVNTRVJUKHBhZ2UpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJM
RShKQVZBU0NSSVBUX0RFQlVHR0VSKQorICAgIGlmIChwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVy
KCkpCisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0UHJvZmlsZXJFbmFi
bGVkKGZhbHNlKTsKKyNlbmRpZgorfQorCiBJbnRlcm5hbHM6OkludGVybmFscyhEb2N1bWVudCog
ZG9jdW1lbnQpCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihkb2N1bWVudCkKIHsK
QEAgLTExNTksNiArMTE2OCwyNyBAQCB2b2lkIEludGVybmFsczo6Y2xvc2VEdW1teUluc3BlY3Rv
ckZyb250ZW5kKCkKICAgICBtX2Zyb250ZW5kV2luZG93LT5jbG9zZShtX2Zyb250ZW5kV2luZG93
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIG1fZnJvbnRlbmRXaW5kb3cucmVsZWFz
ZSgpOwogfQorCit2b2lkIEludGVybmFsczo6c2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVM
aW1pdHMoaW50IG1heGltdW1SZXNvdXJjZXNDb250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVS
ZXNvdXJjZUNvbnRlbnRTaXplLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBQYWdlKiBwYWdl
ID0gY29udGV4dERvY3VtZW50KCktPmZyYW1lKCktPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UgfHwg
IXBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUND
RVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBwYWdlLT5pbnNwZWN0b3JDb250
cm9sbGVyKCktPnNldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFscyhtYXhpbXVt
UmVzb3VyY2VzQ29udGVudFNpemUsIG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKTsK
K30KKwordm9pZCBJbnRlcm5hbHM6OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wg
ZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgUGFnZSogcGFnZSA9IGNvbnRleHRE
b2N1bWVudCgpLT5mcmFtZSgpLT5wYWdlKCk7CisgICAgaWYgKCFwYWdlIHx8ICFwYWdlLT5pbnNw
ZWN0b3JDb250cm9sbGVyKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkt
PnNldFByb2ZpbGVyRW5hYmxlZChlbmFibGVkKTsKK30KICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQogCiBib29sIEludGVybmFsczo6aGFzR3JhbW1hck1hcmtlcihEb2N1bWVudCogZG9jdW1l
bnQsIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlcHRpb25Db2RlJikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCmluZGV4IDU2OWNlMjllMDlmMTAwMDQ5ZmE2MzQxNjAxNzc3YjEzMzljNmRh
NmQuLjg1MjkzZWZlZDMwYTljMDQ0NWNiMTljNTZkMDcxMzQxY2Y4NGVhNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNDYsNiArNDYsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNz
IEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbER1bW15OwogY2xhc3MgSW50ZXJuYWxTZXR0aW5nczsK
IGNsYXNzIE5vZGU7CitjbGFzcyBQYWdlOwogY2xhc3MgUGFnZVBvcHVwQ29udHJvbGxlcjsKIGNs
YXNzIFJhbmdlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTYxLDYgKzYyLDgg
QEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludGVybmFscz4gY3JlYXRlKERvY3Vt
ZW50Kik7CiAgICAgdmlydHVhbCB+SW50ZXJuYWxzKCk7CiAKKyAgICBzdGF0aWMgdm9pZCByZXNl
dFRvQ29uc2lzdGVudFN0YXRlKFBhZ2UqKTsKKwogICAgIFN0cmluZyBlbGVtZW50UmVuZGVyVHJl
ZUFzVGV4dChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgU3RyaW5nIGFkZHJlc3Mo
Tm9kZSopOwpAQCAtMjA2LDYgKzIwOSw4IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8U3RyaW5nPiBj
b25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKERvY3VtZW50KikgY29uc3Q7CiAgICAgUGFzc1Jl
ZlB0cjxET01XaW5kb3c+IG9wZW5EdW1teUluc3BlY3RvckZyb250ZW5kKGNvbnN0IFN0cmluZyYg
dXJsKTsKICAgICB2b2lkIGNsb3NlRHVtbXlJbnNwZWN0b3JGcm9udGVuZCgpOworICAgIHZvaWQg
c2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoaW50IG1heGltdW1SZXNvdXJjZXND
b250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplLCBFeGNlcHRp
b25Db2RlJik7CisgICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sIGVu
YWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKICNlbmRpZgogCiAgICAgU3RyaW5nIGNvdW50ZXJWYWx1
ZShFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMmUwOTM3
NTVhNzVjZWU5ZTQ1YzdlYTg3ZDM0NjNjODY2MzhiMzRlYy4uMzAxMmQ2OTc0ODExZWI4M2NkMGNh
Y2IxYjIxODMyNzQ0YTA0ZDlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApA
QCAtMTc4LDYgKzE3OCw4IEBACiAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gc2VxdWVuY2U8
U3RyaW5nPiBjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKGluIERvY3VtZW50IGRvY3VtZW50
KTsKICAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSBET01XaW5kb3cgb3BlbkR1bW15SW5zcGVj
dG9yRnJvbnRlbmQoaW4gRE9NU3RyaW5nIHVybCk7CiAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RP
Ul0gdm9pZCBjbG9zZUR1bW15SW5zcGVjdG9yRnJvbnRlbmQoKTsKKyAgICBbQ29uZGl0aW9uYWw9
SU5TUEVDVE9SXSB2b2lkIHNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKGluIGxv
bmcgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbiBsb25nIG1heGltdW1TaW5nbGVSZXNv
dXJjZUNvbnRlbnRTaXplKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICBbQ29uZGl0aW9uYWw9
SU5TUEVDVE9SXSB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGluIGJvb2xlYW4g
Y3JlYXRlcykgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICBET01TdHJpbmcgY291bnRlclZh
bHVlKGluIEVsZW1lbnQgZWxlbWVudCk7CiAgICAgbG9uZyBwYWdlTnVtYmVyKGluIEVsZW1lbnQg
ZWxlbWVudCwgaW4gW09wdGlvbmFsXSBmbG9hdCBwYWdlV2lkdGgsIGluIFtPcHRpb25hbF0gZmxv
YXQgcGFnZUhlaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dl
YkNvcmVUZXN0U3VwcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVU
ZXN0U3VwcG9ydC5jcHAKaW5kZXggMTM4YjQyOWYwZDU3ZTRmYTA2NjRlZjllYmQ3YTU5Yjg5YmZk
NmQ4MC4uMjBiYzkzMDZjOTMxM2U4YmVjM2M0ZmNiYzkzY2VmYWI5MWRiNjgyYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcApAQCAtNTYs
NyArNTYsOSBAQCB2b2lkIHJlc2V0SW50ZXJuYWxzT2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0
KQogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNET01HbG9i
YWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogICAgIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBnbG9iYWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKTsKICAgICBBU1NFUlQoc2NyaXB0Q29udGV4dC0+aXNEb2N1bWVudCgpKTsKLSAg
ICBJbnRlcm5hbFNldHRpbmdzOjpmcm9tKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oc2NyaXB0Q29u
dGV4dCktPmZyYW1lKCktPnBhZ2UoKSktPnJlc2V0KCk7CisgICAgUGFnZSogcGFnZSA9IHN0YXRp
Y19jYXN0PERvY3VtZW50Kj4oc2NyaXB0Q29udGV4dCktPmZyYW1lKCktPnBhZ2UoKTsKKyAgICBJ
bnRlcm5hbHM6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUocGFnZSk7CisgICAgSW50ZXJuYWxTZXR0
aW5nczo6ZnJvbShwYWdlKS0+cmVzZXQoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCmluZGV4IDQxNzYyZmZlODZkOTUzMWRi
NDI4MTYwMjM1NmY0YThmYzI0ODQ1MTkuLjg2MzNkZGYwZWIyNmI2YTgxMWQxOGRlYjMwZTUwMjQz
ZDJjY2Q2ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRl
c3RTdXBwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0
U3VwcG9ydC5jcHAKQEAgLTYxLDcgKzYxLDkgQEAgdm9pZCByZXNldEludGVybmFsc09iamVjdCh2
ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRDb250ZXh0ID0gZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIEFT
U0VSVChzY3JpcHRDb250ZXh0LT5pc0RvY3VtZW50KCkpOwotICAgIEludGVybmFsU2V0dGluZ3M6
OmZyb20oc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRDb250ZXh0KS0+ZnJhbWUoKS0+cGFn
ZSgpKS0+cmVzZXQoKTsKKyAgICBQYWdlKiBwYWdlID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihz
Y3JpcHRDb250ZXh0KS0+ZnJhbWUoKS0+cGFnZSgpOworICAgIEludGVybmFsczo6cmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZShwYWdlKTsKKyAgICBJbnRlcm5hbFNldHRpbmdzOjpmcm9tKHBhZ2UpLT5y
ZXNldCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmJkNDMyM2JkODY1ZGQ2NzZmZGZlNDA2MjA1ZDliMmE0
NTFjMjNlNi4uZWIyZDBkNTI2NDMwMzVlZmRlMjU2Y2Q1MzM1MjgyYjMzZjVjZDVkZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDYyIEBACisyMDEyLTEwLTI2ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgTW92ZSBub24tU2V0dGluZ3MgSW5zcGVjdG9yIG1ldGhvZHMgZnJvbSBp
bnRlcm5hbHMuc2V0dGluZ3MgdG8gaW50ZXJuYWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAzOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gdXNlIGludGVybmFscy5zZXRK
YXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCBpbnN0ZWFkIG9mIGludGVybmFscy5zZXR0aW5ncy5z
ZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZC4KKyAgICAgICAgVXBkYXRlIHRlc3RzIHRvIHVz
ZSBpbnRlcm5hbHMuc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMgaW5zdGVhZCBv
ZiBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMu
CisKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL2Fub255bW91cy1ldmVudC1oYW5kbGVyLmh0bWw6
CisgICAgICAgICogZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbGVkLWZyb20t
ZGlmZmVyZW50LWNvbnRleHRzLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9hbm9ueW1v
dXMtZnVuY3Rpb24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWw6CisgICAgICAgICogZmFz
dC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMtZXZhbC5odG1sOgorICAgICAgICAq
IGZhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL2FwcGx5Lmh0bWw6CisgICAgICAgICogZmFzdC9w
cm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5j
dGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvY2FsbC1yZWdpc3Rlci1sZWFrLmh0
bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9jYWxsLmh0bWw6CisgICAgICAgICogZmFzdC9w
cm9maWxlci9jYWxsaW5nLXRoZS1mdW5jdGlvbi10aGF0LXN0YXJ0ZWQtdGhlLXByb2ZpbGVyLWZy
b20tYW5vdGhlci1zY29wZS5odG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvY29tcGFyZS1t
dWx0aXBsZS1wcm9maWxlcy5odG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvY29uc3RydWN0
b3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL2RlYWQtdGltZS5odG1sOgorICAgICAg
ICAqIGZhc3QvcHJvZmlsZXIvZG9jdW1lbnQtZG90LXdyaXRlLmh0bWw6CisgICAgICAgICogZmFz
dC9wcm9maWxlci9ldmVudC1oYW5kbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9l
eGVjdXRpb24tY29udGV4dC1hbmQtZXZhbC1vbi1zYW1lLWxpbmUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3Byb2ZpbGVyL2lubGluZS1ldmVudC1oYW5kbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9w
cm9maWxlci9tYW55LWNhbGxzLWluLXRoZS1zYW1lLXNjb3BlLmh0bWw6CisgICAgICAgICogZmFz
dC9wcm9maWxlci9tdWx0aXBsZS1hbmQtZGlmZmVyZW50LXNjb3BlZC1hbm9ueW1vdXMtZnVuY3Rp
b24tY2FsbHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFuZC1kaWZm
ZXJlbnQtc2NvcGVkLWZ1bmN0aW9uLWNhbGxzLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxl
ci9tdWx0aXBsZS1hbm9ueW1vdXMtZnVuY3Rpb25zLWNhbGxlZC1mcm9tLXRoZS1zYW1lLWZ1bmN0
aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9tdWx0aXBsZS1mcmFtZXMuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL25hbWVkLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFt
ZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL25lc3RlZC1hbm9ueW1vdXMtZnVuY3Rv
bi5odG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvbmVzdGVkLXN0YXJ0LWFuZC1zdG9wLXBy
b2ZpbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9uby1leGVjdXRpb24tY29udGV4
dC5odG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvb25lLWV4ZWN1dGlvbi1jb250ZXh0Lmh0
bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci9wcm9maWxlLWNhbGxzLWluLWluY2x1ZGVkLWZp
bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL3Byb2ZpbGUtd2l0aC1uby10aXRsZS5o
dG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvcHJvZmlsaW5nLWZyb20tYS1uZXN0ZWQtbG9j
YXRpb24tYnV0LXN0b3AtcHJvZmlsaW5nLW91dHNpZGUtdGhlLW5lc3RpbmcuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Byb2ZpbGVyL3Byb2ZpbGluZy1mcm9tLWEtbmVzdGVkLWxvY2F0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9wcm9maWxlci9zaW1wbGUtZXZlbnQtY2FsbC5odG1sOgorICAgICAg
ICAqIGZhc3QvcHJvZmlsZXIvc2ltcGxlLW5vLWxldmVsLWNoYW5nZS5odG1sOgorICAgICAgICAq
IGZhc3QvcHJvZmlsZXIvc3RhcnQtYW5kLXN0b3AtcHJvZmlsZXItbXVsdGlwbGUtdGltZXMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL3N0YXJ0LWFuZC1zdG9wLXByb2ZpbGluZy1pbi10
aGUtc2FtZS1mdW5jdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvc3RhcnQtYnV0
LWRvbnQtc3RvcC1wcm9maWxpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL3N0b3At
cHJvZmlsaW5nLWFmdGVyLXNldFRpbWVvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVy
L3N0b3AtdGhlbi1mdW5jdGlvbi1jYWxsLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci90
d28tZXhlY3V0aW9uLWNvbnRleHRzLmh0bWw6CisgICAgICAgICogZmFzdC9wcm9maWxlci91c2Vy
LWRlZmluZWQtZnVuY3Rpb24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWw6CisgICAgICAg
ICogZmFzdC9wcm9maWxlci93aW5kb3ctZG90LWV2YWwuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9uZXR3b3JrLXRlc3QuanM6CisgICAgICAgIChyZXNldEluc3BlY3RvclJl
c291cmNlc0RhdGEpOgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2Fj
aGVkLXJlc291cmNlLWRlc3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50
LWVtYmVkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3
b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQteGhyLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3By
b2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxpbmctd2l0aG91dC1pbnNwZWN0b3IuaHRtbDoKKwog
MjAxMi0xMC0yNiAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIENyYXNoIG9uIGxvYWRpbmcgU1ZHIGZpbHRlciByZXNvdXJjZSBvbiBIVE1MIGVsZW1lbnQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWV2ZW50LWhh
bmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWV2ZW50LWhh
bmRsZXIuaHRtbAppbmRleCA2MWZmYjA2NzBjM2M4ODYzZDdhN2E0YWExNWFjYzMyNDRmZmYwMWU1
Li5mNzI1OTVhMWQyZTUxMjZiZmUyNDdkYmFmODgzMTEzM2MzNzE1ZmRiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1ldmVudC1oYW5kbGVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZXZlbnQtaGFuZGxlci5odG1s
CkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5z
ZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0
KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWZ1
bmN0aW9uLWNhbGxlZC1mcm9tLWRpZmZlcmVudC1jb250ZXh0cy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbGVkLWZyb20tZGlmZmVyZW50LWNv
bnRleHRzLmh0bWwKaW5kZXggZWZhN2I1ZDAzYzU5N2ZhZGNiODc4MWRmOThlNmIyNmFlOTI3N2Ex
NS4uYjgwY2JiNDFkODBiNTYyMjYxYjBkYTc4NTk2ZGM1ZDFmZWE1M2IxMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbGVkLWZyb20t
ZGlmZmVyZW50LWNvbnRleHRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9h
bm9ueW1vdXMtZnVuY3Rpb24tY2FsbGVkLWZyb20tZGlmZmVyZW50LWNvbnRleHRzLmh0bWwKQEAg
LTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEph
dmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQog
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rp
b24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxscy1idWlsdC1pbi1mdW5jdGlvbnMuaHRtbAppbmRl
eCA0ZDRiYzdlNDMyOTBhZjJmMDJlYjNkMTdiMTk1NmY1ODhhNGNhMDU3Li5mMzM1YWRkYmFiZDNi
YjVkMmVmMjZlMGRlNmQ1ZmJlOTY0NDgwZGVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxscy1idWlsdC1pbi1mdW5jdGlvbnMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxs
cy1idWlsdC1pbi1mdW5jdGlvbnMuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxl
ZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1
ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxscy1ldmFsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxscy1ldmFsLmh0bWwKaW5k
ZXggMThiMTJmZjM4OTE2NTI4MmUzMjM5NmIyNzFlYWE4YTZlYjgwMTk4Ni4uMjJlNTlmNzQxNDMz
OTQ1N2Q0ZDgwNzlkZjUxN2UwMGQ5MzhjZTljZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMtZXZhbC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWZ1bmN0aW9uLWNhbGxzLWV2YWwuaHRtbApA
QCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0
SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgp
CiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5j
dGlvbnMtd2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L2Fub255bW91cy1mdW5jdGlvbnMtd2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwKaW5kZXggZGFlNmI3
YTYzOGIxZTY2N2JjMmRjNzQ5M2NiMTVkNGZhMzFmZDMyOS4uNjY3Yjg0N2QxYzdiZDIwM2MzMWQy
MjlmMjJlZThjMWQ1M2EzYjI0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9hbm9ueW1vdXMtZnVuY3Rpb25zLXdpdGgtZGlzcGxheS1uYW1lcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFt
ZXMuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRl
cm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFu
b255bW91c0Z1bmN0aW9uR2VuZXJhdG9yKGl0ZXJhdGlvbnMpCiB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2FwcGx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL2FwcGx5Lmh0bWwKaW5kZXggNTViM2RkOTI4NzgwMTc4ZmIzZDUzYWYwMGVjNmFlNDMzNTgz
MGM4OC4uYjgxMTUxMDFkNmFmZWFhOTFkMTdjNGMxNDFhZDMxMGVjNGYzNzIzMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hcHBseS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcHJvZmlsZXIvYXBwbHkuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxl
ZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1
ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMu
aHRtbAppbmRleCA4NWEzM2I2M2RhODIwYzI1ZDgxZTI3NTQxMTEyYTk5ZjM3NTU5YTFlLi5iMGMy
ZjFjN2I3YTEzYmQ5MWRjOTI3ZDliMmM4ZjVmZjVlNGM3MzZhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMt
YW5vbnltb3VzLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5j
dGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZp
bmVkLWZ1bmN0aW9uLmh0bWwKaW5kZXggNTVkYzk5ZmU0ZTBjNGNkMzJlNTkwZGM1ZGY5NDg4ZWJj
OGVhMjc2NS4uMTBjN2ZhYWIwYWEzZGI3YjM1ZTZiMjM3N2EzYjA4NGVhZTg2YzQwMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11
c2VyLWRlZmluZWQtZnVuY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi5odG1sCkBAIC01
LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZh
U2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY2FsbC1yZWdpc3Rlci1sZWFr
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NhbGwtcmVnaXN0ZXItbGVhay5odG1s
CmluZGV4IGRkYTg5ZjVjZjBmZTUwYTc3NWFkYzU3YzNhODRhZDRmOTYzYzAzNTMuLmM0NGI5NDNk
MWRhNWY1ODc1YjYxNjE5ZmIyMTk4YjFlZmFkNzBhOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvcHJvZmlsZXIvY2FsbC1yZWdpc3Rlci1sZWFrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9jYWxsLXJlZ2lzdGVyLWxlYWsuaHRtbApAQCAtNCw3ICs0LDcgQEAKIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJv
ZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGlu
Z0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGxvZyhzKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9jYWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L2NhbGwuaHRtbAppbmRleCA0ZTdlMzE1YzIwNjkwYzgyZWZiMjVjOThhOGI3MTFjNjU4NWFlYTY5
Li5lODI5MTFlMjI1ZGQ5ZTIyZGUwZmM1ZDM2NjgzN2RjOTlmYTBkMjcwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NhbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL2NhbGwuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQot
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAK
IGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL2NhbGxpbmctdGhlLWZ1bmN0aW9uLXRoYXQtc3RhcnRlZC10aGUtcHJvZmlsZXItZnJv
bS1hbm90aGVyLXNjb3BlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NhbGxpbmct
dGhlLWZ1bmN0aW9uLXRoYXQtc3RhcnRlZC10aGUtcHJvZmlsZXItZnJvbS1hbm90aGVyLXNjb3Bl
Lmh0bWwKaW5kZXggNmNkZjQ0YTBhOWE1MGMwM2JkYmZjYzEyZWUxYjM3YzQxNWQzZmZhMi4uMWIz
OWMxZGExNzdiY2FlYTMxMjEzMDJlMWViZWM2NjU2OTNjNjM1MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9jYWxsaW5nLXRoZS1mdW5jdGlvbi10aGF0LXN0YXJ0ZWQtdGhl
LXByb2ZpbGVyLWZyb20tYW5vdGhlci1zY29wZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cHJvZmlsZXIvY2FsbGluZy10aGUtZnVuY3Rpb24tdGhhdC1zdGFydGVkLXRoZS1wcm9maWxlci1m
cm9tLWFub3RoZXItc2NvcGUuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0
cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7
CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL2NvbXBhcmUtbXVsdGlwbGUtcHJvZmlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvY29tcGFyZS1tdWx0aXBsZS1wcm9maWxlcy5odG1sCmluZGV4IDA4MTQ3Nzhj
Y2FlZGU3ZDg0M2RhYmQyNmMwNTlhODJmYzBlMWI0MzguLjExMmM1NTMyMWQ3NWM4M2Y1NTk0ZjAx
NjgwM2QxNjEzM2JkZjI2NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIv
Y29tcGFyZS1tdWx0aXBsZS1wcm9maWxlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvY29tcGFyZS1tdWx0aXBsZS1wcm9maWxlcy5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEphdmFTY3JpcHRQcm9m
aWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZCh0cnVlKTsKIAogdmFyIGogPSAwOwogZnVuY3Rpb24gdGVzdChsZW4pIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY29uc3RydWN0b3IuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY29uc3RydWN0b3IuaHRtbAppbmRleCBmYmNhZWY2MzZjZTky
MmI4NTNiNTQ0YWMyNzE0Y2RiMjQ5NWUzNWFmLi5kN2U2YWYwNmFiNGJiMDU0ZTBiZjNkMzU4MTZk
M2VkMzFiOGUyY2IzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NvbnN0
cnVjdG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9jb25zdHJ1Y3Rvci5o
dG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFs
cy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRU
ZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZGVhZC10aW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2RlYWQtdGltZS5odG1sCmluZGV4IDQz
MThmMGRmZDc2NzUyZjBlNDgyMWRlYjU4NTU0MDAxOGUwOGE0NWIuLjVlMzc4YmI4ZGY2NDRjNTE0
ZGM2MWZlNjQ0MzM5NzA3NDI3Y2MxMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvZGVhZC10aW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9kZWFk
LXRpbWUuaHRtbApAQCAtNyw3ICs3LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiBpZiAod2luZG93LmludGVybmFscykKLSAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBm
dW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9m
aWxlci9kb2N1bWVudC1kb3Qtd3JpdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIv
ZG9jdW1lbnQtZG90LXdyaXRlLmh0bWwKaW5kZXggNDhmMzIyM2IyNjUxZDZhZDhhNTNkNzhlYjE3
N2RmMjAxZGM0OWYxMy4uODMyZGVjNWJhM2Q3NzlmYzdjYjc5M2RlNTc2Zjc5NjU4ZGY4ZjYxYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9kb2N1bWVudC1kb3Qtd3JpdGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2RvY3VtZW50LWRvdC13cml0ZS5o
dG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFs
cy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRU
ZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZXZlbnQtaGFu
ZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9ldmVudC1oYW5kbGVyLmh0bWwK
aW5kZXggMWQzZDY3ZDE3MjE0Nzc4MGUwY2VlNjZmMzVjNzdhNDY5YWY1ZDU3MS4uMGQ5MTExMWZl
YTdhMDVlZmMxNjdlYjY3ZjJiMWMwNGIzNzExYWMyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9ldmVudC1oYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9w
cm9maWxlci9ldmVudC1oYW5kbGVyLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVy
bmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRy
dWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogeyAgICAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcHJvZmlsZXIvZXhlY3V0aW9uLWNvbnRleHQtYW5kLWV2YWwtb24tc2FtZS1saW5l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2V4ZWN1dGlvbi1jb250ZXh0LWFuZC1l
dmFsLW9uLXNhbWUtbGluZS5odG1sCmluZGV4IGQ3ODUyOTg2Y2VlNjE2ZjYzYTRkZmJiNjY3MDkz
OTQ1NjkxMmQ2ZWEuLjA5NWYwY2IxNjg5OTA2YmIzYjRhMmU5MjAyYjMxNTU5N2I5ZThhN2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZXhlY3V0aW9uLWNvbnRleHQtYW5k
LWV2YWwtb24tc2FtZS1saW5lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9l
eGVjdXRpb24tY29udGV4dC1hbmQtZXZhbC1vbi1zYW1lLWxpbmUuaHRtbApAQCAtNSw3ICs1LDcg
QEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2Ny
aXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFBy
b2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2lubGluZS1ldmVudC1oYW5kbGVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2lubGluZS1ldmVudC1oYW5kbGVyLmh0bWwKaW5k
ZXggNDIxMDg4MDZmMDc5NmFiNGM1OWQyMWRjOWJkZDA5NzEwNDA5OGEzMC4uZWE3MTBiOTU0ZDRh
NTY0NDVhYzdhMmY0NDVlMzg2ZDcxYmY0ZDBhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9wcm9maWxlci9pbmxpbmUtZXZlbnQtaGFuZGxlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvaW5saW5lLWV2ZW50LWhhbmRsZXIuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJv
ZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGlu
Z0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7ICAgIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tYW55LWNhbGxzLWluLXRoZS1zYW1lLXNjb3Bl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL21hbnktY2FsbHMtaW4tdGhlLXNhbWUt
c2NvcGUuaHRtbAppbmRleCBlZjU5NGEzOTAzMTE5NTU3YjBjMzRkNjdlZjNlMWFjZDUyZmUyMWUw
Li42NDgxNjBjNmIwNTQ5NzIwMjE3M2NiNWM1ZjM5Y2M2MDg2YWM3ODgxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL21hbnktY2FsbHMtaW4tdGhlLXNhbWUtc2NvcGUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL21hbnktY2FsbHMtaW4tdGhlLXNhbWUt
c2NvcGUuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBp
bnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9u
IHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211
bHRpcGxlLWFuZC1kaWZmZXJlbnQtc2NvcGVkLWFub255bW91cy1mdW5jdGlvbi1jYWxscy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbmQtZGlmZmVyZW50LXNjb3Bl
ZC1hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMuaHRtbAppbmRleCBmMmM5OWQwZjUyMTJjNmJkNjAz
NjBmM2I0YzAzN2YwZGE4N2U2YmM4Li5kZDFhNjNiMDJhZDY2OTQ4ZDNkNjE4NmY3ZTA3M2UyZDA1
YmIxYzU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFu
ZC1kaWZmZXJlbnQtc2NvcGVkLWFub255bW91cy1mdW5jdGlvbi1jYWxscy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbXVsdGlwbGUtYW5kLWRpZmZlcmVudC1zY29wZWQtYW5v
bnltb3VzLWZ1bmN0aW9uLWNhbGxzLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVy
bmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRy
dWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbmQtZGlmZmVyZW50LXNjb3BlZC1mdW5jdGlvbi1jYWxs
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbmQtZGlmZmVyZW50
LXNjb3BlZC1mdW5jdGlvbi1jYWxscy5odG1sCmluZGV4IGJmNzUyMzBhYzg2NjEzYmRlMWI2ZTY3
MDFjOWI4ODE4MmFlMGZiNzMuLjkyOTU5N2M3YjM4Y2MwYmY3MTVjZjkzYjgyMTM2YmQzZGY1NGVh
NjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbXVsdGlwbGUtYW5kLWRp
ZmZlcmVudC1zY29wZWQtZnVuY3Rpb24tY2FsbHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL211bHRpcGxlLWFuZC1kaWZmZXJlbnQtc2NvcGVkLWZ1bmN0aW9uLWNhbGxzLmh0
bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxz
LnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRl
c3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1h
bm9ueW1vdXMtZnVuY3Rpb25zLWNhbGxlZC1mcm9tLXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFub255bW91cy1mdW5jdGlvbnMtY2Fs
bGVkLWZyb20tdGhlLXNhbWUtZnVuY3Rpb24uaHRtbAppbmRleCBkOTdjNDc3OTFiNDNmYWZkNzgy
MmM5NzRiMjIzYzc0MmMwMWQxYjU5Li45OWEyYTMzMjdhYWFiNmIwYjJmZjNlMTJkNmQ5ZmQ3Mjk5
ZjE5ZDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFu
b255bW91cy1mdW5jdGlvbnMtY2FsbGVkLWZyb20tdGhlLXNhbWUtZnVuY3Rpb24uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFub255bW91cy1mdW5jdGlvbnMt
Y2FsbGVkLWZyb20tdGhlLXNhbWUtZnVuY3Rpb24uaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmls
aW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0Vu
YWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWZyYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9tdWx0aXBsZS1mcmFtZXMuaHRtbAppbmRleCA3NjBjYzU0NjcxZTRjMTJl
MTVkNzM2NzZkNGVhMzExODcxYmRkNDdkLi5lMTNjM2I1YTZiNmQxZjFhYTUwNDU0ZGU5NmU0YTlk
YWVjMjgzZjJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxl
LWZyYW1lcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbXVsdGlwbGUtZnJh
bWVzLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50
ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBz
dGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9uYW1l
ZC1mdW5jdGlvbnMtd2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL25hbWVkLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRtbAppbmRleCBkMDdi
YWFiZDQzNTlhMGUzMzE4OGI3MDM2YmMxNTI2MTViNDk0ZDA4Li40YWZhY2FiZTQ5NDYwNzg5ODBm
ZTczZDFjZWI4OWJiMGIxOTZlYTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL25hbWVkLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Byb2ZpbGVyL25hbWVkLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRt
bApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMu
c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGZ1bmN0aW9u
MCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25lc3RlZC1hbm9u
eW1vdXMtZnVuY3Rvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9uZXN0ZWQtYW5v
bnltb3VzLWZ1bmN0b24uaHRtbAppbmRleCBhOThlNDQyNDIwZWRjODViMjU4MTM4N2M4NjcxM2Qx
ZWFmODFkMDA4Li5lYzQ0YmU2Yjk1NTU0OTBlYmUxNzJhZDFkOWMyZGFmNWYzZTk1YTdjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25lc3RlZC1hbm9ueW1vdXMtZnVuY3Rv
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbmVzdGVkLWFub255bW91cy1m
dW5jdG9uLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
aW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlv
biBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9u
ZXN0ZWQtc3RhcnQtYW5kLXN0b3AtcHJvZmlsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvbmVzdGVkLXN0YXJ0LWFuZC1zdG9wLXByb2ZpbGVyLmh0bWwKaW5kZXggNTVkMGMxN2Uy
NmZjMTZkNzFhYTg4MTU1YWZiNmJmMzA0MzY3NmY2MC4uMDNlYTRhZTYxYjE2YjU2MmY3YjM5NDBh
OTAwMDcxYTJmYmYwYzU3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9u
ZXN0ZWQtc3RhcnQtYW5kLXN0b3AtcHJvZmlsZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL25lc3RlZC1zdGFydC1hbmQtc3RvcC1wcm9maWxlci5odG1sCkBAIC01LDcgKzUs
NyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEphdmFT
Y3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0
UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbm8tZXhlY3V0aW9uLWNvbnRleHQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbm8tZXhlY3V0aW9uLWNvbnRleHQuaHRtbApp
bmRleCA0Mzc3OGU3OWEzYzgxODczNmZkNGQyYzc3NDFkYTU2ZTRmODliMGM1Li5hNDI1ZmUzNzk5
OGZhMGRlMDRhZTk1MWVkZDNmOGEzMmExMmI0ODY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL25vLWV4ZWN1dGlvbi1jb250ZXh0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9uby1leGVjdXRpb24tY29udGV4dC5odG1sCkBAIC01LDcgKzUsNyBAQAog
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEphdmFTY3JpcHRQ
cm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmls
aW5nRW5hYmxlZCh0cnVlKTsKIDwvc2NyaXB0PgogPC9oZWFkPgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL29uZS1leGVjdXRpb24tY29udGV4dC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9vbmUtZXhlY3V0aW9uLWNvbnRleHQuaHRtbAppbmRleCBjZTI4
M2U3ZjJiYTNhNjYzOWM2NmY3NjU4YWFmZjA0M2VjZjdlOTFhLi5iYTI4MWFjM2QyODE1NTRlNGZh
MGMwZjMxNmE0ZGQ4YjdhNWMzYmU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL29uZS1leGVjdXRpb24tY29udGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvb25lLWV4ZWN1dGlvbi1jb250ZXh0Lmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93
LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFi
bGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxlLWNhbGxzLWluLWluY2x1ZGVkLWZpbGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvcHJvZmlsZS1jYWxscy1pbi1pbmNsdWRlZC1maWxl
Lmh0bWwKaW5kZXggZWQwMDU1YTIyNDgzODMzYTg4YTQxNGNmYWEwY2I3ODY1MjI1MWYxMS4uMGY2
MjcwODA4OGM4YWYyN2Y4ZGUyYTNlNTQ1ZTUxODM1ZTlmM2FkMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxlLWNhbGxzLWluLWluY2x1ZGVkLWZpbGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGUtY2FsbHMtaW4taW5jbHVkZWQt
ZmlsZS5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGlu
dGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24g
c3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvcHJv
ZmlsZS13aXRoLW5vLXRpdGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2Zp
bGUtd2l0aC1uby10aXRsZS5odG1sCmluZGV4IGMwOGMwOWEyMTY5Mzc2N2QxNGQ1MTVmMWJlZmYy
ZWI2NjhiODVhN2MuLjdiNWEzYTg1MTE3Yzg4OGUyMDdkMGE1YTYyY2Q2NzMxYjJmYTRmYmQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvcHJvZmlsZS13aXRoLW5vLXRpdGxl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxlLXdpdGgtbm8tdGl0
bGUuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRl
cm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0
YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2Zp
bGluZy1mcm9tLWEtbmVzdGVkLWxvY2F0aW9uLWJ1dC1zdG9wLXByb2ZpbGluZy1vdXRzaWRlLXRo
ZS1uZXN0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGluZy1mcm9t
LWEtbmVzdGVkLWxvY2F0aW9uLWJ1dC1zdG9wLXByb2ZpbGluZy1vdXRzaWRlLXRoZS1uZXN0aW5n
Lmh0bWwKaW5kZXggZDY3MWU0Y2VlNzg4YmY1MzYxZTY2YTg1NjljYWNjMGMzYzU4YmY5YS4uY2Zi
YjZlZmZhYWMxZjYxY2Q3NzNkNGJlOTYzM2E0MDA3YmFkNWYxZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxpbmctZnJvbS1hLW5lc3RlZC1sb2NhdGlvbi1idXQt
c3RvcC1wcm9maWxpbmctb3V0c2lkZS10aGUtbmVzdGluZy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcHJvZmlsZXIvcHJvZmlsaW5nLWZyb20tYS1uZXN0ZWQtbG9jYXRpb24tYnV0LXN0b3At
cHJvZmlsaW5nLW91dHNpZGUtdGhlLW5lc3RpbmcuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmls
aW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0Vu
YWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGluZy1mcm9tLWEtbmVzdGVkLWxvY2F0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGluZy1mcm9tLWEtbmVzdGVkLWxv
Y2F0aW9uLmh0bWwKaW5kZXggMjhiODMxZjc5MzUwZGIzMzVmOGEyZTY1MjFhYTI0MzA5NjI5NDc4
Yi4uZTk0OGI4OWQyYzMyNTQzZWVkNjJlZGM2ZGM2ZmFiMmZkMDkxYzk2MiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxpbmctZnJvbS1hLW5lc3RlZC1sb2NhdGlv
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvcHJvZmlsaW5nLWZyb20tYS1u
ZXN0ZWQtbG9jYXRpb24uaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQot
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAK
IGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL3NpbXBsZS1ldmVudC1jYWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L3NpbXBsZS1ldmVudC1jYWxsLmh0bWwKaW5kZXggYjRjOWNlYWNiNDdjYTIyM2MxN2UxMjY0Y2Y5
MTI1Y2UxYTk3MzBiOS4uNWU0ZTA4NDYyMDNmNzNkNmRkNjY1OTMzYjNiNDA2MzQyMTZlYjk3MiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zaW1wbGUtZXZlbnQtY2FsbC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc2ltcGxlLWV2ZW50LWNhbGwuaHRt
bApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMu
c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVz
dCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3NpbXBsZS1uby1s
ZXZlbC1jaGFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc2ltcGxlLW5vLWxl
dmVsLWNoYW5nZS5odG1sCmluZGV4IDA4MjdkZTgxOWVlNTdjNGQzMzkzZTAyMTA3MmJiNzI5Y2Rj
NjI1NmIuLmFlMWI4Mzc2ODY1NzhmODVhNjMxMWU4NjgzMzE5MjlhNDE1MzVmOTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc2ltcGxlLW5vLWxldmVsLWNoYW5nZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc2ltcGxlLW5vLWxldmVsLWNoYW5nZS5o
dG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFs
cy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRU
ZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RhcnQtYW5k
LXN0b3AtcHJvZmlsZXItbXVsdGlwbGUtdGltZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvc3RhcnQtYW5kLXN0b3AtcHJvZmlsZXItbXVsdGlwbGUtdGltZXMuaHRtbAppbmRleCBk
ZjdiYmFkYmQ1N2YzNmNkZDE2YzRhYmEwZjYwOGU1ZTJkMjhlMTg0Li4wYTRmNjhhZTVlY2ZmZWEw
OTcyNmY1MDMzOTkyN2QxODA3MDdjZTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL3N0YXJ0LWFuZC1zdG9wLXByb2ZpbGVyLW11bHRpcGxlLXRpbWVzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdGFydC1hbmQtc3RvcC1wcm9maWxlci1tdWx0aXBs
ZS10aW1lcy5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAg
IGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rp
b24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIv
c3RhcnQtYW5kLXN0b3AtcHJvZmlsaW5nLWluLXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWFuZC1zdG9wLXByb2ZpbGluZy1pbi10aGUtc2Ft
ZS1mdW5jdGlvbi5odG1sCmluZGV4IGJiMDZhYTFmMzYzNDBhNTM3NDhkYzRhMTRjNmM1NGRiNWY0
YTJiZDkuLmVhZThkNGZhZDA1ZDdmNmRjZmZmNTVkZTQzYjg2NTliODdkMzEyNDggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RhcnQtYW5kLXN0b3AtcHJvZmlsaW5nLWlu
LXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9z
dGFydC1hbmQtc3RvcC1wcm9maWxpbmctaW4tdGhlLXNhbWUtZnVuY3Rpb24uaHRtbApAQCAtNSw3
ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRK
YXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNj
cmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWJ1dC1kb250LXN0b3At
cHJvZmlsaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWJ1dC1kb250
LXN0b3AtcHJvZmlsaW5nLmh0bWwKaW5kZXggMDIwMjdmMzg0ODhjYzI0MjIyODEwNWRmMWQxYTFl
YTIwYjY3OTg3Ny4uN2YxNjU2YjhmOTAzMWJkNjIxZTNmZDU5MWZlMWJjYjkwYjljMDcxNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdGFydC1idXQtZG9udC1zdG9wLXBy
b2ZpbGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RhcnQtYnV0LWRv
bnQtc3RvcC1wcm9maWxpbmcuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0
cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7
CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL3N0b3AtcHJvZmlsaW5nLWFmdGVyLXNldFRpbWVvdXQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvcHJvZmlsZXIvc3RvcC1wcm9maWxpbmctYWZ0ZXItc2V0VGltZW91dC5odG1sCmlu
ZGV4IGQ2YWYwOGE0N2MzMDkzZDVmNzgyM2EyY2U0M2E5NzdmYWUxNjRlZjkuLmIxYTA3MGNmZjUz
NzNmNzk0OGRiOTQ2NWFiMTEzYzY2NDJjNmNkZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvc3RvcC1wcm9maWxpbmctYWZ0ZXItc2V0VGltZW91dC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RvcC1wcm9maWxpbmctYWZ0ZXItc2V0VGltZW91dC5o
dG1sCkBAIC03LDcgKzcsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBp
bnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9u
IHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0
b3AtdGhlbi1mdW5jdGlvbi1jYWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0
b3AtdGhlbi1mdW5jdGlvbi1jYWxsLmh0bWwKaW5kZXggYWFkMjQ5OTg0YjgwNDIyMzcyNGZiOTU1
NTNhNmJkNDhmNWVmNDc5My4uZjk0YTgyNTg2ZjBiMWUxNTQwZGI5N2NlMDMzNTM3Zjk0YTg1ZGRm
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdG9wLXRoZW4tZnVuY3Rp
b24tY2FsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RvcC10aGVuLWZ1
bmN0aW9uLWNhbGwuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsK
KyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIHZh
ciBqID0gMDsKIGZ1bmN0aW9uIHRlc3QobGVuKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL3R3by1leGVjdXRpb24tY29udGV4dHMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvdHdvLWV4ZWN1dGlvbi1jb250ZXh0cy5odG1sCmluZGV4IDgyZjgxNWU1MjEx
YzZkMmZkNDBhODM5ZjZkMzVjODhjMjE1NzgxZjkuLjViMmVkNWIzYWRhMzEzYWY0ZDAyODM4M2Y0
ZmMyZjliZTgzZTY4NTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvdHdv
LWV4ZWN1dGlvbi1jb250ZXh0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIv
dHdvLWV4ZWN1dGlvbi1jb250ZXh0cy5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFi
bGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0
cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvcHJvZmlsZXIvdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWNhbGxzLWJ1aWx0LWluLWZ1bmN0
aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci91c2VyLWRlZmluZWQtZnVuY3Rp
b24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWwKaW5kZXggOTkxYmJmMDg4MDgyZmNjYzA5
MWM4OWI4Mjc5OWZhNWRkMmE4ODAxZS4uNGZhMzk0ZTlmMzgwY2E5NjM0ZDg4ODA2MzEwNDRhNGE1
MGMzZTZjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci91c2VyLWRlZmlu
ZWQtZnVuY3Rpb24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9wcm9maWxlci91c2VyLWRlZmluZWQtZnVuY3Rpb24tY2FsbHMtYnVpbHQtaW4tZnVu
Y3Rpb25zLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
aW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlv
biBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci93
aW5kb3ctZG90LWV2YWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvd2luZG93LWRv
dC1ldmFsLmh0bWwKaW5kZXggMTlmMmFjNDE0NGY5YWM3MDQxNjg1YWIyMWM4MWNkMWY5NjgxM2I3
MS4uMWY3ZDRjMzUxZDNmNTM3OWUxNjE4NmU2MDQ0MjVlOTBhZjA2ZjUwNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci93aW5kb3ctZG90LWV2YWwuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3dpbmRvdy1kb3QtZXZhbC5odG1sCkBAIC01LDcgKzUsNyBA
QAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwog
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEphdmFTY3Jp
cHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJv
ZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmstdGVzdC5qcyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmstdGVzdC5qcwppbmRleCA2M2Jj
ZTRjNjJkNzJiYTc5MDZmY2E2MzdhZmU5NGMwZDI1M2RhNzA5Li5hYTQxNDk3ZjIxYWYyYWZlMDZj
ZjA0NjgxMjJlODE1ODgzNzM4ODNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay10ZXN0LmpzCkBAIC0xMDcsNyArMTA3LDcgQEAgZnVuY3Rpb24gcmVz
ZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKCkKICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRJbnNwZWN0
b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygxMCAqIDEwMDAgKiAxMDAwLCAxMDAwICogMTAwMCk7
CisgICAgaW50ZXJuYWxzLnNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKDEwICog
MTAwMCAqIDEwMDAsIDEwMDAgKiAxMDAwKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVz
b3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2FyZGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtdG9vLWJp
Zy1kaXNjYXJkZWQuaHRtbAppbmRleCA3ZDMzNGJhNmQyYjM1MjBiMWJlM2YzZjQzYTBjNDk4OWNj
MmEyODIxLi45MzA4ZDBiOWUwNTgyOTczMjk2YjEzMTk3YzFjYmMwNmEwZGIxMWVjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNv
dXJjZS1kZXN0cm95ZWQtdG9vLWJpZy1kaXNjYXJkZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtdG9v
LWJpZy1kaXNjYXJkZWQuaHRtbApAQCAtMTAsNyArMTAsNyBAQCBmdW5jdGlvbiBsb2FkRmlyc3RJ
bWFnZSgpIHsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAvLyBNYWtlIHN1cmUgdGhlcmUg
aXMgbm8gZW5vdWdoIHNwYWNlIHRvIHNhdmUgY29udGVudCBpbiByZXNvdXJjZSBhZ2VudCdzIHN0
b3JhZ2UuCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEluc3BlY3RvclJlc291cmNlc0RhdGFT
aXplTGltaXRzKDEwMCwgMTAwKTsKKyAgICBpbnRlcm5hbHMuc2V0SW5zcGVjdG9yUmVzb3VyY2Vz
RGF0YVNpemVMaW1pdHMoMTAwLCAxMDApOwogCiAgICAgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKICAg
ICBpbWFnZS5vbmxvYWQgPSBmaXJzdEltYWdlTG9hZGVkOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1l
bnQtZW1iZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsv
bmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVtYmVkLmh0bWwKaW5kZXggOWNkODUzMWFkNDM3
MzI4OTg5ZjNhMmU0YmEwNGZmMjQ0ODcwNjg0Ny4uMWI4OWJhMWIyNThlNGMzNzcxNDU4ZWJiNzNl
OThlNjZhMDFlMjUyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQtZW1iZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstY29udGVudC1y
ZXBsYWNlbWVudC1lbWJlZC5odG1sCkBAIC0yOSw3ICsyOSw3IEBAIGZ1bmN0aW9uIGxvYWRVUkxz
KCkKICAgICAgICAgY29uc29sZS5sb2coIlRoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biBhcyB3aW5k
b3cuaW50ZXJuYWxzIGlzIG5vdCBhdmFpbGFibGUuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGlt
aXRzKDMwMCwgMjAwKTsKKyAgICBpbnRlcm5hbHMuc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNp
emVMaW1pdHMoMzAwLCAyMDApOwogCiAgICAgLy8gSGVyZSB3ZSB0ZXN0IHJlcGxhY2VtZW50IGxv
Z2ljLiBXZSBzYXZlIGZpcnN0IHR3byByZXNvdXJjZXMgY29udGVudCwKICAgICAvLyBkaXNjYXJk
IHRoaXJkIHJlc291cmNlIGNvbnRlbnQgb25jZSB3ZSBzZWUgaXRzIHNpemUgZXhjZWVkcyBsaW1p
dCwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsv
bmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQteGhyLmh0
bWwKaW5kZXggOGNmMWVlNGZkOGJjY2E4ZDc5M2QzNjlkNjVhYjdiZjcwMDExZmEwNS4uOWI4NjVm
MWFlMmY4YTgyNGUzZTA3YzIyODQwYzA5ZWJlMjdlZTIxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1l
bnQteGhyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQteGhyLmh0bWwKQEAgLTksNyArOSw3IEBAIGZ1
bmN0aW9uIHNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKCkKICAgICAgICAgY29u
c29sZS5sb2coIlRoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biBhcyB3aW5kb3cuaW50ZXJuYWxzIGlz
IG5vdCBhdmFpbGFibGUuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKDMwMCwgMjAwKTsK
KyAgICBpbnRlcm5hbHMuc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoMzAwLCAy
MDApOwogICAgIGNvbnNvbGUubG9nKCJEb25lLiIpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLXByb2ZpbGluZy13aXRob3V0LWlu
c3BlY3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NwdS1wcm9maWxl
ci1wcm9maWxpbmctd2l0aG91dC1pbnNwZWN0b3IuaHRtbAppbmRleCA1YTQwYzA1NTliMTEwZTZh
MjNiYmI2YzA1MDlhODEwNTZkZDc0OTM0Li4yMmUzYTk5N2Q3YTY5OGZkOTYwZTJjY2E1NmM3MTFl
ZmZmOWVjODc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvY3B1
LXByb2ZpbGVyLXByb2ZpbGluZy13aXRob3V0LWluc3BlY3Rvci5odG1sCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsaW5nLXdpdGhvdXQtaW5z
cGVjdG9yLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
aW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlv
biBwYWdlRnVuY3Rpb24oKQogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>