<?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>150484</bug_id>
          
          <creation_ts>2015-10-22 18:35:48 -0700</creation_ts>
          <short_desc>Add an option to output the results of the graphics benchmark in JSON format</short_desc>
          <delta_ts>2015-10-26 09:45:44 -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>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1135916</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-10-22 18:35:48 -0700</bug_when>
    <thetext>This will allow storing the results of the graphics benchmark. It can also be useful when reporting a bug or evaluating a new layout/rendering enhancement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136162</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-10-23 16:06:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/23243721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136232</commentid>
    <comment_count>2</comment_count>
      <attachid>263975</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-10-23 19:32:11 -0700</bug_when>
    <thetext>Created attachment 263975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136243</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-10-23 22:03:44 -0700</bug_when>
    <thetext>Is the JSON format compatible with run-benchmark script?

If not, we should make it compatible</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136295</commentid>
    <comment_count>4</comment_count>
      <attachid>263975</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-10-24 15:56:38 -0700</bug_when>
    <thetext>Comment on attachment 263975
Patch

Just a rubber stamp, but rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136521</commentid>
    <comment_count>5</comment_count>
      <attachid>264044</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-10-26 08:49:55 -0700</bug_when>
    <thetext>Created attachment 264044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136522</commentid>
    <comment_count>6</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-10-26 08:56:43 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Is the JSON format compatible with run-benchmark script?
&gt; 
&gt; If not, we should make it compatible

The JSON includes detailed info such as the frame rate sampled points which can be used only for for debugging purposes. But I will update the patch of https://bugs.webkit.org/show_bug.cgi?id=150450 to match the JSON format as closely as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136528</commentid>
    <comment_count>7</comment_count>
      <attachid>264044</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-26 09:45:40 -0700</bug_when>
    <thetext>Comment on attachment 264044
Patch

Clearing flags on attachment: 264044

Committed r191586: &lt;http://trac.webkit.org/changeset/191586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136529</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-26 09:45:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263975</attachid>
            <date>2015-10-23 19:32:11 -0700</date>
            <delta_ts>2015-10-26 08:49:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150484-20151023193125.patch</filename>
            <type>text/plain</type>
            <size>40945</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTE1MjkpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNSBAQAorMjAxNS0xMC0yMyAg
U2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBhbiBvcHRpb24gdG8gb3V0cHV0IHRoZSByZXN1bHRzIG9mIHRoZSBncmFwaGljcyBiZW5jaG1h
cmsgaW4gSlNPTiBmb3JtYXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MDQ4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjMyNDM3MjE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBbmltb21ldGVy
L3Jlc291cmNlcy9leHRlbnNpb25zLmpzOgorICAgICAgICAoUmVzdWx0c0Rhc2hib2FyZCk6IEEg
bmV3IGNsYXNzIHRvIGhvbGQgdGhlIGl0ZXJhdGlvbnMgcmVzdWx0cy4KKyAgICAgICAgKFJlc3Vs
dHNEYXNoYm9hcmQucHJvdG90eXBlLnB1c2gpOiBBcHBlbmRzIGFuIGl0ZXJhdGlvbiByZXN1bHRz
OworICAgICAgICAoUmVzdWx0c0Rhc2hib2FyZC5wcm90b3R5cGUudG9KU09OKTogQ29udmVydHMg
dGhlIGl0ZXJhdGlvbnMgcmVzdWx0cyB0byBKU09OIGZvcm1hdC4KKworICAgICAgICAoUmVjb3Jk
VGFibGUucHJvdG90eXBlLmNsZWFyKTogQ2xlYXJzIHRoZSByZXN1bHRzIHRhYmxlLgorICAgICAg
ICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93VGl0bGVzKTogU2hvd3MgdGhlIGhlYWRlciB0
aXRsZXMgYW5kIGFwcGVuZHMgdGhlIHN1Yi10aXRsZXMgdG8gYSBxdWV1ZS4KKyAgICAgICAgKFJl
Y29yZFRhYmxlLnByb3RvdHlwZS5fc2hvd0hlYWRlcik6IFNob3dzIHRoZSB0YWJsZSBoZWFkZXIg
dGl0bGVzLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93RW1wdHkpOiBTaG93
cyBhbiBlbXB0eSB0YWJsZSBjZWxsLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9z
aG93VmFsdWUpOiBTaG93cyBhIG51bWJlciB2YWx1ZSBpbiB0aGUgcmVzdWx0cyB0YWJsZS4KKyAg
ICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5fc2hvd1NhbXBsZXMpOiBTaG93cyBhIGJ1dHRv
biBmb3IgdGhlIHNhbXBsZWQgZGF0YSBncmFwaC4KKyAgICAgICAgKFJlY29yZFRhYmxlLnByb3Rv
dHlwZS5fc2hvd1Rlc3QpOiBTaG93cyB0aGUgcmVzdWx0cyBvZiBhIHNpbmdsZSB0ZXN0LgorICAg
ICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93U3VpdGUpOiBTaG93cyB0aGUgcmVzdWx0
cyBvZiBhIHNpbmdsZSBzdWl0ZS4KKyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5zaG93
UmVjb3JkKTogU2hvd3MgYSBzaW5nbGUgaXRlcmF0aW9uIGZvciBhIHNpbmdsZSB0ZXN0LgorICAg
ICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLnNob3dJdGVyYXRpb25zKTogU2hvd3MgdGhlIHJl
c3VsdHMgb2YgYWxsIHRoZSBzdWl0ZXMgb2YgdGhlIGl0ZXJhdGlvbnMuIAorICAgICAgICAKKyAg
ICAgICAgKFJlc3VsdHNUYWJsZSk6IFJlY29yZFRhYmxlIHdhcyByZW5hbWVkIHRvIFJlc3VsdHNU
YWJsZS4KKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5cGUuY2xlYXIpOiBDbGVhcnMgdGhl
IHRhYmxlIGVsZW1lbnQuCisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93SGVh
ZGVyUm93KTogU2hvd3MgYSByb3cgaW4gdGhlIHJlc3VsdHMgdGFibGUgaGVhZGVyLgorICAgICAg
ICAoUmVzdWx0c1RhYmxlLnByb3RvdHlwZS5fc2hvd0hlYWRlcik6IFNob3dzIHRoZSByZXN1bHRz
IHRhYmxlIGhlYWRlci4KKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5cGUuX3Nob3dFbXB0
eSk6IFNob3dzIGFuIGVtcHR5IHRhYmxlIGNlbGwuCisgICAgICAgIChSZXN1bHRzVGFibGUucHJv
dG90eXBlLl9zaG93VGV4dCk6IFNob3dzIGEgc3RyaW5nIGluIGEgbmV3IHRhYmxlIGNlbGwuCisg
ICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93Rml4ZWROdW1iZXIpOiBTaG93cyBh
IG51bWJlciBpbiBhIG5ldyB0YWJsZSBjZWxsLgorICAgICAgICAoUmVzdWx0c1RhYmxlLnByb3Rv
dHlwZS5fc2hvd0dyYXBoKTogU2hvd3MgYSBidXR0b24gZm9yIHRoZSBzYW1wbGVkIGRhdGEgZ3Jh
cGguCisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93SlNPTik6IFNob3dzIGEg
YnV0dG9uIGZvciB0aGUgc2FtcGxlZCBkYXRhIEpTT04uCisgICAgICAgIChSZXN1bHRzVGFibGUu
cHJvdG90eXBlLl9zaG93VGVzdCk6IFNob3dzIHRoZSByZXN1bHRzIG9mIGEgc2luZ2xlIHRlc3Qu
CisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93U3VpdGUpOiBTaG93cyB0aGUg
cmVzdWx0cyBvZiBhIHNpbmdsZSBzdWl0ZS4KKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5
cGUuX3Nob3dJdGVyYXRpb24pOiBTaG93cyB0aGUgcmVzdWx0cyBvZiBhIHNpbmdsZSBpdGVyYXRp
b24uCisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLnNob3dSZWNvcmQpOiBTaG93cyBh
IHNpbmdsZSBpdGVyYXRpb24gZm9yIGEgc2luZ2xlIHRlc3QuCisgICAgICAgIChSZXN1bHRzVGFi
bGUucHJvdG90eXBlLnNob3dJdGVyYXRpb25zKTogU2hvd3MgYWxsIHRoZSByZXN1bHRzLgorICAg
ICAgICAoUmVjb3JkVGFibGUpOiBEZWxldGVkLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90
eXBlLmNsZWFyKTogRGVsZXRlZC4KKyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5fc2hv
d1RpdGxlcyk6IERlbGV0ZWQuCisgICAgICAgIChSZWNvcmRUYWJsZS5wcm90b3R5cGUuX3Nob3dI
ZWFkZXIpOiBEZWxldGVkLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93RW1w
dHkpOiBEZWxldGVkLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93VmFsdWUp
OiBEZWxldGVkLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93U2FtcGxlcyk6
IERlbGV0ZWQuCisgICAgICAgIChSZWNvcmRUYWJsZS5wcm90b3R5cGUuX3Nob3dUZXN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5fc2hvd1N1aXRlKTogRGVsZXRl
ZC4KKyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5zaG93UmVjb3JkKTogRGVsZXRlZC4K
KyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5zaG93SXRlcmF0aW9ucyk6IERlbGV0ZWQu
CisgICAgICAgIAorICAgICAgICAqIEFuaW1vbWV0ZXIvcmVzb3VyY2VzL3NhbXBsZXIuanM6Cisg
ICAgICAgIChTYW1wbGVyLnByb3RvdHlwZS5zdGFydFNhbXBsaW5nKTogVXNlIGZvckVhY2guCisg
ICAgICAgIChTYW1wbGVyLnByb3RvdHlwZS5zYW1wbGUpOiBVc2UgZm9yRWFjaC4KKyAgICAgICAg
KFNhbXBsZXIucHJvdG90eXBlLnRvSlNPTik6IENvbnZlcnRzIHRoZSBzYW1wbGVyIGRhdGEgdG8g
SlNPTiBmb3JtYXQuCisgICAgICAgIAorICAgICAgICAqIEFuaW1vbWV0ZXIvcmVzb3VyY2VzL3N0
cmluZ3MuanM6IEFkZGVkLgorICAgICAgICBUaGlzIG5ldyBmaWxlIHdpbGwgYmUgdXNlZCB0byBh
c3NvY2lhdGUgdGhlIHN0cmluZ3MgdXNlZCBieSB0aGUgYmVuY2htYXJrCisgICAgICAgIHdpdGgg
SURzLiBBIHN0cmluZyBjYW4gYmUgY2hhbmdlZCBpbiBvbmUgcGxhY2Ugd2l0aG91dCBoYXZpbmcg
dG8gY2hhbmdlCisgICAgICAgIGFsbCB0aGUgaW5zdGFuY2VzIG9mIHRoaXMgc3RyaW5nIGluIG11
bHRpcGxlIGZpbGVzLiBUaGVyZSB0d28gZ3JvdXBzIG9mCisgICAgICAgIHN0cmluZ3MgaW4gdGhp
cyBmaWxlLiBUaGUgZmlyc3Qgb25lIGlzIHVzZWQgYnkgdGhlIFVJIGVsZW1lbnRzIGFuZCB0aGUg
c2Vjb25kCisgICAgICAgIGdyb3VwIGlzIHVzZWQgd2hlbiBjb25zdHJ1Y3RpbmcgdGhlIHJlc3Vs
dHMgSlNPTi4KKyAgICAgICAgCisgICAgICAgICogQW5pbW9tZXRlci9ydW5uZXIvYW5pbW9tZXRl
ci5odG1sOgorICAgICAgICAqIEFuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9hbmltb21ldGVy
LmNzczoKKyAgICAgICAgCisgICAgICAgICogQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2Fu
aW1vbWV0ZXIuanM6CisgICAgICAgICh3aW5kb3cuYmVuY2htYXJrUnVubmVyQ2xpZW50LndpbGxB
ZGRUZXN0RnJhbWUpOgorICAgICAgICAod2luZG93LmJlbmNobWFya1J1bm5lckNsaWVudC53aWxs
U3RhcnRGaXJzdEl0ZXJhdGlvbik6CisgICAgICAgICh3aW5kb3cuYmVuY2htYXJrUnVubmVyQ2xp
ZW50LmRpZFJ1blN1aXRlcyk6CisgICAgICAgICh3aW5kb3cuYmVuY2htYXJrUnVubmVyQ2xpZW50
LmRpZEZpbmlzaExhc3RJdGVyYXRpb24pOgorICAgICAgICBNYWtlIGJlbmNobWFya1J1bm5lckNs
aWVudCB1c2VzIFJlc3VsdHNEYXNoYm9hcmQgaW5zdGVhZCBvZiBfaXRlcmF0aW9uc1NhbXBsZXJz
CisgICAgICAgIEdldCB0aGUgSlNPTiBmcm9tIFJlc3VsdHNEYXNoYm9hcmQudG9KU09OKCkgYW5k
IHBhc3MgaXQgdG8gUmVzdWx0c1RhYmxlLnNob3dJdGVyYXRpb25zKCkuCisgICAgICAgIEFsc28g
c2V0IHRoZSB0ZXh0Q29udGVudCBvZiB0aGUgIiNqc29uIiB0ZXh0YXJlYSB3aXRoIHRoZSByZXN1
bHRzIEpTT04uCisgICAgICAgIAorICAgICAgICAoc2hvd1Jlc3VsdHMpOiBEZWxldGUgdW5uZWVk
ZWQgY29kZS4KKyAgICAgICAgKHNob3dKc29uKTogU2hvd3MgdGhlICJqc29uIiBzZWN0aW9uLgor
ICAgICAgICAoc2hvd1Rlc3RHcmFwaCk6IFJlbmFtZSBzaG93R3JhcGgoKSB0byBiZSBzaG93VGVz
dEdyYXBoKCkuCisgICAgICAgIChzaG93VGVzdEpTT04pOiBTaG93cyB0aGUgSlNPTiBvZiBhIHNp
bmdsZSB0ZXN0UmVzdWx0cy4KKyAgICAgICAgKHNob3dHcmFwaCk6IERlbGV0ZWQuCisgICAgICAg
IAorICAgICAgICAqIEFuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy90ZXN0cy5qczoKKyAgICAg
ICAgVXNlIHRoZSBzdHJpbmcgdGFibGUgaW5zdGVhZCBvZiBwdXR0aW5nIGxpdGVyYWwgc3RyaW5n
cy4KKworICAgICAgICAqIEFuaW1vbWV0ZXIvdGVzdHMvcmVzb3VyY2VzL3N0YWdlLmpzOgorICAg
ICAgICAoU3RhZ2VCZW5jaG1hcmsucHJvdG90eXBlLnNob3dSZXN1bHRzKToKKyAgICAgICAgRml4
IHRoZSBwYXJhbWV0ZXJzIHdoaWNoIGFyZSBwYXNzZWQgdG8gUmVjb3JkVGFibGUuc2hvd1JlY29y
ZCgpLgorICAgICAgICAKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRp
Y2xlcy9ib3VuY2luZy1jYW52YXMtaW1hZ2VzLmh0bWw6CisgICAgICAgICogQW5pbW9tZXRlci90
ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctY2FudmFzLXNoYXBlcy5odG1sOgorICAg
ICAgICAqIEFuaW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLWNzcy1p
bWFnZXMuaHRtbDoKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xl
cy9ib3VuY2luZy1jc3Mtc2hhcGVzLmh0bWw6CisgICAgICAgICogQW5pbW9tZXRlci90ZXN0cy9i
b3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctc3ZnLWltYWdlcy5odG1sOgorICAgICAgICAqIEFu
aW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLXN2Zy1zaGFwZXMuaHRt
bDoKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL2V4YW1wbGVzL2NhbnZhcy1lbGVjdHJvbnMu
aHRtbDoKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL2V4YW1wbGVzL2NhbnZhcy1zdGFycy5o
dG1sOgorICAgICAgICAqIEFuaW1vbWV0ZXIvdGVzdHMvc2ltcGxlL3NpbXBsZS1jYW52YXMtcGF0
aHMuaHRtbDoKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL3RlbXBsYXRlL3RlbXBsYXRlLWNh
bnZhcy5odG1sOgorICAgICAgICAqIEFuaW1vbWV0ZXIvdGVzdHMvdGVtcGxhdGUvdGVtcGxhdGUt
Y3NzLmh0bWw6CisgICAgICAgICogQW5pbW9tZXRlci90ZXN0cy90ZW1wbGF0ZS90ZW1wbGF0ZS1z
dmcuaHRtbDoKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL3RleHQvbGF5ZXJpbmctdGV4dC5o
dG1sOgorICAgICAgICBJbmNsdWRlIHRoZSBuZXcgc3RyaW5ncy5qcyBmaWxlIGluIGFsbCB0aGUg
dGVzdCBmaWxlcy4KKwogMjAxNS0xMC0xMiAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIGNhbnZhcyBsaW5lIGRhc2ggdGVzdApJbmRleDogUGVyZm9ybWFuY2VUZXN0
cy9Bbmltb21ldGVyL3Jlc291cmNlcy9leHRlbnNpb25zLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZv
cm1hbmNlVGVzdHMvQW5pbW9tZXRlci9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcwkocmV2aXNpb24g
MTkxNDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291cmNlcy9leHRlbnNp
b25zLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNDIgKzE0MSw5NiBAQCBQcm9ncmVzc0Jhci5w
cm90b3R5cGUgPQogICAgIH0KIH0KIAotZnVuY3Rpb24gUmVjb3JkVGFibGUoZWxlbWVudCkKK2Z1
bmN0aW9uIFJlc3VsdHNEYXNoYm9hcmQoKQoreworICAgIHRoaXMuX2l0ZXJhdGlvbnNTYW1wbGVy
cyA9IFtdOworfQorCitSZXN1bHRzRGFzaGJvYXJkLnByb3RvdHlwZSA9Cit7CisgICAgcHVzaDog
ZnVuY3Rpb24oc3VpdGVzU2FtcGxlcnMpCisgICAgeworICAgICAgICB0aGlzLl9pdGVyYXRpb25z
U2FtcGxlcnMucHVzaChzdWl0ZXNTYW1wbGVycyk7ICAgICAgICAKKyAgICB9LAorICAgIAorICAg
IHRvSlNPTjogZnVuY3Rpb24oc3RhdGlzdGljcywgZ3JhcGgpCisgICAgeworICAgICAgICB2YXIg
aXRlcmF0aW9uc1Jlc3VsdHMgPSBbXTsKKyAgICAgICAgdmFyIGl0ZXJhdGlvbnNTY29yZXMgPSBb
XTsKKyAgICAgICAgCisgICAgICAgIHRoaXMuX2l0ZXJhdGlvbnNTYW1wbGVycy5mb3JFYWNoKGZ1
bmN0aW9uKGl0ZXJhdGlvblNhbXBsZXJzLCBpbmRleCkgeworICAgICAgICAgICAgdmFyIHN1aXRl
c1Jlc3VsdHMgPSB7fTsKKyAgICAgICAgICAgIHZhciBzdWl0ZXNTY29yZXMgPSBbXTsKKyAgICAg
ICAgCisgICAgICAgICAgICBmb3IgKHZhciBzdWl0ZU5hbWUgaW4gaXRlcmF0aW9uU2FtcGxlcnMp
IHsKKyAgICAgICAgICAgICAgICB2YXIgc3VpdGUgPSBzdWl0ZUZyb21OYW1lKHN1aXRlTmFtZSk7
CisgICAgICAgICAgICAgICAgdmFyIHN1aXRlU2FtcGxlcnMgPSBpdGVyYXRpb25TYW1wbGVyc1tz
dWl0ZU5hbWVdOworCisgICAgICAgICAgICAgICAgdmFyIHRlc3RzUmVzdWx0cyA9IHt9OworICAg
ICAgICAgICAgICAgIHZhciB0ZXN0c1Njb3JlcyA9IFtdOworICAgICAgICAgICAgICAgIAorICAg
ICAgICAgICAgICAgIGZvciAodmFyIHRlc3ROYW1lIGluIHN1aXRlU2FtcGxlcnMpIHsKKyAgICAg
ICAgICAgICAgICAgICAgdmFyIHNhbXBsZXIgPSBzdWl0ZVNhbXBsZXJzW3Rlc3ROYW1lXTsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdHNSZXN1bHRzW3Rlc3ROYW1lXSA9IHNhbXBsZXIudG9KU09O
KHN0YXRpc3RpY3MsIGdyYXBoKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdHNTY29yZXMucHVz
aCh0ZXN0c1Jlc3VsdHNbdGVzdE5hbWVdW1N0cmluZ3NbIkpTT05fU0NPUkUiXV0pOworICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHN1aXRlc1Jlc3VsdHNbc3VpdGVOYW1lXSA9
ICB7fTsKKyAgICAgICAgICAgICAgICBzdWl0ZXNSZXN1bHRzW3N1aXRlTmFtZV1bU3RyaW5nc1si
SlNPTl9TQ09SRSJdXSA9IFN0YXRpc3RpY3MuZ2VvbWV0cmljTWVhbih0ZXN0c1Njb3Jlcyk7Cisg
ICAgICAgICAgICAgICAgc3VpdGVzUmVzdWx0c1tzdWl0ZU5hbWVdW1N0cmluZ3NbIkpTT05fUkVT
VUxUUyJdWzJdXSA9IHRlc3RzUmVzdWx0czsKKyAgICAgICAgICAgICAgICBzdWl0ZXNTY29yZXMu
cHVzaChzdWl0ZXNSZXN1bHRzW3N1aXRlTmFtZV1bU3RyaW5nc1siSlNPTl9TQ09SRSJdXSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGl0ZXJhdGlvbnNSZXN1bHRz
W2luZGV4XSA9IHt9OworICAgICAgICAgICAgaXRlcmF0aW9uc1Jlc3VsdHNbaW5kZXhdW1N0cmlu
Z3NbIkpTT05fU0NPUkUiXV0gPSBTdGF0aXN0aWNzLmdlb21ldHJpY01lYW4oc3VpdGVzU2NvcmVz
KTsKKyAgICAgICAgICAgIGl0ZXJhdGlvbnNSZXN1bHRzW2luZGV4XVtTdHJpbmdzWyJKU09OX1JF
U1VMVFMiXVsxXV0gPSBzdWl0ZXNSZXN1bHRzOworICAgICAgICAgICAgaXRlcmF0aW9uc1Njb3Jl
cy5wdXNoKGl0ZXJhdGlvbnNSZXN1bHRzW2luZGV4XVtTdHJpbmdzWyJKU09OX1NDT1JFIl1dKTsK
KyAgICAgICAgfSk7CisKKyAgICAgICAgdmFyIGpzb24gPSB7fTsKKyAgICAgICAganNvbltTdHJp
bmdzWyJKU09OX1NDT1JFIl1dID0gU3RhdGlzdGljcy5zYW1wbGVNZWFuKGl0ZXJhdGlvbnNTY29y
ZXMubGVuZ3RoLCBpdGVyYXRpb25zU2NvcmVzLnJlZHVjZShmdW5jdGlvbihhLCBiKSB7IHJldHVy
biBhICogYjsgfSkpOworICAgICAgICBqc29uW1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzBdXSA9
IGl0ZXJhdGlvbnNSZXN1bHRzOworICAgICAgICByZXR1cm4ganNvbjsKKyAgICB9Cit9CisKK2Z1
bmN0aW9uIFJlc3VsdHNUYWJsZShlbGVtZW50LCBoZWFkZXJzKQogewogICAgIHRoaXMuZWxlbWVu
dCA9IGVsZW1lbnQ7CisgICAgdGhpcy5faGVhZGVycyA9IGhlYWRlcnM7CiAgICAgdGhpcy5jbGVh
cigpOwogfQogCi1SZWNvcmRUYWJsZS5wcm90b3R5cGUgPQorUmVzdWx0c1RhYmxlLnByb3RvdHlw
ZSA9CiB7CiAgICAgY2xlYXI6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuZWxlbWVu
dC5pbm5lckhUTUwgPSAiIjsKICAgICB9LAotICAgIAotICAgIF9zaG93VGl0bGVzOiBmdW5jdGlv
bihyb3csIHF1ZXVlLCB0aXRsZXMsIG1lc3NhZ2UpCisKKyAgICBfc2hvd0hlYWRlclJvdzogZnVu
Y3Rpb24ocm93LCBxdWV1ZSwgaGVhZGVycywgbWVzc2FnZSkKICAgICB7Ci0gICAgICAgIHRpdGxl
cy5mb3JFYWNoKGZ1bmN0aW9uICh0aXRsZSkgeworICAgICAgICBoZWFkZXJzLmZvckVhY2goZnVu
Y3Rpb24gKGhlYWRlcikgewogICAgICAgICAgICAgdmFyIHRoID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgidGgiKTsKLSAgICAgICAgICAgIHRoLnRleHRDb250ZW50ID0gdGl0bGUudGV4dDsKKyAg
ICAgICAgICAgIHRoLnRleHRDb250ZW50ID0gaGVhZGVyLnRleHQ7CiAgICAgICAgICAgICBpZiAo
dHlwZW9mIG1lc3NhZ2UgIT0gInVuZGVmaW5lZCIgJiYgbWVzc2FnZS5sZW5ndGgpIHsKICAgICAg
ICAgICAgICAgICB0aC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpKTsK
ICAgICAgICAgICAgICAgICB0aC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgn
WycgKyBtZXNzYWdlICsnXScpKTsKICAgICAgICAgICAgICAgICBtZXNzYWdlID0gIiI7CiAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIndpZHRoIiBpbiB0aXRsZSkKLSAgICAgICAgICAg
ICAgICB0aC53aWR0aCA9IHRpdGxlLndpZHRoICsgIiUiOworICAgICAgICAgICAgaWYgKCJ3aWR0
aCIgaW4gaGVhZGVyKQorICAgICAgICAgICAgICAgIHRoLndpZHRoID0gaGVhZGVyLndpZHRoICsg
IiUiOwogICAgICAgICAgICAgcm93LmFwcGVuZENoaWxkKHRoKTsKLSAgICAgICAgICAgIHF1ZXVl
LnB1c2goe2VsZW1lbnQ6IHRoLCB0aXRsZXM6IHRpdGxlLmNoaWxkcmVuIH0pOworICAgICAgICAg
ICAgcXVldWUucHVzaCh7ZWxlbWVudDogdGgsIGhlYWRlcnM6IGhlYWRlci5jaGlsZHJlbiB9KTsK
ICAgICAgICAgfSk7CiAgICAgfSwKLSAgICAKLSAgICBfc2hvd0hlYWRlcjogZnVuY3Rpb24oc3Vp
dGVOYW1lLCB0aXRsZXMsIG1lc3NhZ2UpCisKKyAgICBfc2hvd0hlYWRlcjogZnVuY3Rpb24obWVz
c2FnZSkKICAgICB7CiAgICAgICAgIHZhciByb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0
ciIpOwogCiAgICAgICAgIHZhciBxdWV1ZSA9IFtdOwotICAgICAgICB0aGlzLl9zaG93VGl0bGVz
KHJvdywgcXVldWUsIHRpdGxlcywgbWVzc2FnZSk7CisgICAgICAgIHRoaXMuX3Nob3dIZWFkZXJS
b3cocm93LCBxdWV1ZSwgdGhpcy5faGVhZGVycywgbWVzc2FnZSk7CiAgICAgICAgIHRoaXMuZWxl
bWVudC5hcHBlbmRDaGlsZChyb3cpOwogCiAgICAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGgpIHsK
QEAgLTE4Niw3ICsyNDAsNyBAQCBSZWNvcmRUYWJsZS5wcm90b3R5cGUgPQogICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDAsIGxlbiA9IHF1ZXVlLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7CiAgICAg
ICAgICAgICAgICAgdmFyIGVudHJ5ID0gcXVldWUuc2hpZnQoKTsKIAotICAgICAgICAgICAgICAg
IGlmICghZW50cnkudGl0bGVzLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIGlmICghZW50cnku
aGVhZGVycy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgZW50cmllcy5wdXNoKGVudHJ5
LmVsZW1lbnQpOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAg
ICB9CkBAIC0xOTQsOCArMjQ4LDggQEAgUmVjb3JkVGFibGUucHJvdG90eXBlID0KICAgICAgICAg
ICAgICAgICBpZiAoIXJvdykKICAgICAgICAgICAgICAgICAgICAgdmFyIHJvdyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInRyIik7CiAKLSAgICAgICAgICAgICAgICB0aGlzLl9zaG93VGl0bGVz
KHJvdywgcXVldWUsIGVudHJ5LnRpdGxlcywgIiIpOwotICAgICAgICAgICAgICAgIGVudHJ5LmVs
ZW1lbnQuY29sU3BhbiA9IGVudHJ5LnRpdGxlcy5sZW5ndGg7CisgICAgICAgICAgICAgICAgdGhp
cy5fc2hvd0hlYWRlclJvdyhyb3csIHF1ZXVlLCBlbnRyeS5oZWFkZXJzLCAiIik7CisgICAgICAg
ICAgICAgICAgZW50cnkuZWxlbWVudC5jb2xTcGFuID0gZW50cnkuaGVhZGVycy5sZW5ndGg7CiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChyb3cpIHsKQEAgLTIwNywxMDAgKzI2MSwx
MzIgQEAgUmVjb3JkVGFibGUucHJvdG90eXBlID0KICAgICAgICAgfQogICAgIH0sCiAgICAgCi0g
ICAgX3Nob3dFbXB0eTogZnVuY3Rpb24ocm93LCB0ZXN0TmFtZSkKKyAgICBfc2hvd0VtcHR5OiBm
dW5jdGlvbihyb3cpCiAgICAgewogICAgICAgICB2YXIgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJ0ZCIpOwogICAgICAgICByb3cuYXBwZW5kQ2hpbGQodGQpOwogICAgIH0sCi0gICAgCi0g
ICAgX3Nob3dWYWx1ZTogZnVuY3Rpb24ocm93LCB0ZXN0TmFtZSwgdmFsdWUpCisKKyAgICBfc2hv
d1RleHQ6IGZ1bmN0aW9uKHJvdywgdGV4dCkKICAgICB7CiAgICAgICAgIHZhciB0ZCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Ci0gICAgICAgIHRkLnRleHRDb250ZW50ID0gdmFsdWUu
dG9GaXhlZCgyKTsKKyAgICAgICAgdGQudGV4dENvbnRlbnQgPSB0ZXh0OworICAgICAgICByb3cu
YXBwZW5kQ2hpbGQodGQpOworICAgIH0sCisKKyAgICBfc2hvd0ZpeGVkTnVtYmVyOiBmdW5jdGlv
bihyb3csIHZhbHVlLCBkaWdpdHMpCisgICAgeworICAgICAgICB2YXIgdGQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJ0ZCIpOworICAgICAgICB0ZC50ZXh0Q29udGVudCA9IHZhbHVlLnRvRml4
ZWQoZGlnaXRzIHx8IDIpOwogICAgICAgICByb3cuYXBwZW5kQ2hpbGQodGQpOwogICAgIH0sCiAg
ICAgCi0gICAgX3Nob3dTYW1wbGVzOiBmdW5jdGlvbihyb3csIHRlc3ROYW1lLCBheGVzLCBzYW1w
bGVzLCBzYW1wbGluZ1RpbWVPZmZzZXQpCisgICAgX3Nob3dHcmFwaDogZnVuY3Rpb24ocm93LCB0
ZXN0TmFtZSwgdGVzdFJlc3VsdHMpCiAgICAgeworICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1
bHRzW1N0cmluZ3NbIkpTT05fU0FNUExFUyJdWzBdXTsKKyAgICAgICAgaWYgKCFkYXRhKSB7Cisg
ICAgICAgICAgICB0aGlzLl9zaG93RW1wdHkocm93KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgICAgICAKICAgICAgICAgdmFyIHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgidGQiKTsKICAgICAgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwogICAgICAgICBidXR0b24uY2xhc3NOYW1lID0gInNtYWxsLWJ1dHRvbiI7Ci0gICAgICAg
ICAgICAKKwogICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIHdpbmRvdy5zaG93R3JhcGgodGVzdE5hbWUsIGF4ZXMsIHNhbXBs
ZXMsIHNhbXBsaW5nVGltZU9mZnNldCk7CisgICAgICAgICAgICB2YXIgc2FtcGxlcyA9IGRhdGFb
U3RyaW5nc1siSlNPTl9HUkFQSCJdWzBdXTsKKyAgICAgICAgICAgIHZhciBzYW1wbGluZ1RpbWVP
ZmZzZXQgPSBkYXRhW1N0cmluZ3NbIkpTT05fR1JBUEgiXVsxXV07CisgICAgICAgICAgICB2YXIg
YXhlcyA9IFN0cmluZ3NbIlRFWFRfRVhQRVJJTUVOVFMiXTsKKyAgICAgICAgICAgIHdpbmRvdy5z
aG93VGVzdEdyYXBoKHRlc3ROYW1lLCBheGVzLCBzYW1wbGVzLCBzYW1wbGluZ1RpbWVPZmZzZXQp
OwogICAgICAgICB9KTsKICAgICAgICAgICAgIAotICAgICAgICBidXR0b24udGV4dENvbnRlbnQg
PSAiR3JhcGguLi4iOworICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSBTdHJpbmdzWyJURVhU
X1JFU1VMVFMiXVswXSArICIuLi4iOwogICAgICAgICB0ZC5hcHBlbmRDaGlsZChidXR0b24pOwog
ICAgICAgICByb3cuYXBwZW5kQ2hpbGQodGQpOwogICAgIH0sCi0gICAgCi0gICAgX3Nob3dUZXN0
OiBmdW5jdGlvbih0ZXN0TmFtZSwgdGl0bGVzLCBzYW1wbGVyLCBmaW5hbFJlc3VsdHMpCisKKyAg
ICBfc2hvd0pTT046IGZ1bmN0aW9uKHJvdywgdGVzdE5hbWUsIHRlc3RSZXN1bHRzKQogICAgIHsK
LSAgICAgICAgdmFyIHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7Ci0gICAgICAg
IHZhciB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Ci0gICAgICAgIAotICAgICAg
ICB0ZC50ZXh0Q29udGVudCA9IHRlc3ROYW1lOwotICAgICAgICByb3cuYXBwZW5kQ2hpbGQodGQp
OworICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0cmluZ3NbIkpTT05fU0FNUExFUyJd
WzBdXTsKKyAgICAgICAgaWYgKCFkYXRhKSB7CisgICAgICAgICAgICB0aGlzLl9zaG93RW1wdHko
cm93KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICAKLSAgICAgICAg
dmFyIGF4ZXMgPSBbXTsKLSAgICAgICAgc2FtcGxlci5leHBlcmltZW50cy5mb3JFYWNoKGZ1bmN0
aW9uKGV4cGVyaW1lbnQsIGluZGV4KSB7Ci0gICAgICAgICAgICB0aGlzLl9zaG93VmFsdWUocm93
LCB0ZXN0TmFtZSwgZXhwZXJpbWVudC5tZWFuKCkpOwotICAgICAgICAgICAgdGhpcy5fc2hvd1Zh
bHVlKHJvdywgdGVzdE5hbWUsIGV4cGVyaW1lbnQuY29uY2VybihFeHBlcmltZW50LmRlZmF1bHRz
LkNPTkNFUk4pKTsKLSAgICAgICAgICAgIHRoaXMuX3Nob3dWYWx1ZShyb3csIHRlc3ROYW1lLCBl
eHBlcmltZW50LnN0YW5kYXJkRGV2aWF0aW9uKCkpOwotICAgICAgICAgICAgdGhpcy5fc2hvd1Zh
bHVlKHJvdywgdGVzdE5hbWUsIGV4cGVyaW1lbnQucGVyY2VudGFnZSgpKTsKLSAgICAgICAgICAg
IGF4ZXMucHVzaCh0aXRsZXNbaW5kZXggKyAxXS50ZXh0KTsKKyAgICAgICAgdmFyIHRkID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTsKKyAgICAgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBidXR0b24uY2xhc3NOYW1lID0gInNtYWxs
LWJ1dHRvbiI7CisKKyAgICAgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICB3aW5kb3cuc2hvd1Rlc3RKU09OKHRlc3ROYW1lLCB0ZXN0
UmVzdWx0cyk7CisgICAgICAgIH0pOwogICAgICAgICAgICAgCi0gICAgICAgIH0sIHRoaXMpOwor
ICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSBTdHJpbmdzWyJURVhUX1JFU1VMVFMiXVsxXSAr
ICIuLi4iOworICAgICAgICB0ZC5hcHBlbmRDaGlsZChidXR0b24pOworICAgICAgICByb3cuYXBw
ZW5kQ2hpbGQodGQpOworICAgIH0sCiAKLSAgICAgICAgdGhpcy5fc2hvd1ZhbHVlKHJvdywgdGVz
dE5hbWUsIHNhbXBsZXIuZXhwZXJpbWVudHNbMF0uc2NvcmUoRXhwZXJpbWVudC5kZWZhdWx0cy5D
T05DRVJOKSk7CisgICAgX3Nob3dUZXN0OiBmdW5jdGlvbih0ZXN0TmFtZSwgdGVzdFJlc3VsdHMp
CisgICAgeworICAgICAgICB2YXIgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKTsK
KyAgICAgICAgCisgICAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLl9oZWFk
ZXJzLmxlbmd0aDsgKytpbmRleCkgewogCi0gICAgICAgIGlmIChmaW5hbFJlc3VsdHMpCi0gICAg
ICAgICAgICB0aGlzLl9zaG93U2FtcGxlcyhyb3csIHRlc3ROYW1lLCBheGVzLCBzYW1wbGVyLnNh
bXBsZXMsIHNhbXBsZXIuc2FtcGxpbmdUaW1lT2Zmc2V0KTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgdGhpcy5fc2hvd0VtcHR5KHJvdywgdGVzdE5hbWUpOwotICAgICAgICAgICAgCisgICAg
ICAgICAgICBzd2l0Y2ggKGluZGV4KSB7CisgICAgICAgICAgICBjYXNlIDA6CisgICAgICAgICAg
ICAgICAgdGhpcy5fc2hvd1RleHQocm93LCB0ZXN0TmFtZSk7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IHRl
c3RSZXN1bHRzW1N0cmluZ3NbIkpTT05fU0NPUkUiXVswXV07CisgICAgICAgICAgICAgICAgdGhp
cy5fc2hvd0ZpeGVkTnVtYmVyKHJvdywgZGF0YSwgMik7CisgICAgICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIGNhc2UgMzoKKyAgICAgICAgICAg
ICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0cmluZ3NbIkpTT05fRVhQRVJJTUVOVFMiXVtp
bmRleCAtIDJdXTsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBtZWFzdXJlbWVudCBpbiBkYXRh
KQorICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaG93Rml4ZWROdW1iZXIocm93LCBkYXRhW21l
YXN1cmVtZW50XSwgMik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICBjYXNlIDQ6CisgICAgICAgICAgICAgICAgdGhpcy5fc2hvd0dyYXBoKHJv
dywgdGVzdE5hbWUsIHRlc3RSZXN1bHRzKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9zaG93SlNP
Tihyb3csIHRlc3ROYW1lLCB0ZXN0UmVzdWx0cyk7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIHRoaXMuZWxlbWVudC5h
cHBlbmRDaGlsZChyb3cpOwogICAgIH0sCi0gICAgCi0gICAgX3Nob3dTdWl0ZTogZnVuY3Rpb24o
c3VpdGUsIHN1aXRlU2FtcGxlcnMpCisKKyAgICBfc2hvd1N1aXRlOiBmdW5jdGlvbihzdWl0ZU5h
bWUsIHN1aXRlUmVzdWx0cykKICAgICB7Ci0gICAgICAgIHZhciBzY29yZXMgPSBbXTsgICAgICAg
IAotICAgICAgICBmb3IgKHZhciB0ZXN0TmFtZSBpbiBzdWl0ZVNhbXBsZXJzKSB7Ci0gICAgICAg
ICAgICB2YXIgdGVzdCA9IHRlc3RGcm9tTmFtZShzdWl0ZSwgdGVzdE5hbWUpOwotICAgICAgICAg
ICAgdmFyIHNhbXBsZXIgPSBzdWl0ZVNhbXBsZXJzW3Rlc3ROYW1lXTsgCi0gICAgICAgICAgICB0
aGlzLl9zaG93VGVzdCh0ZXN0TmFtZSwgc3VpdGUudGl0bGVzLCBzYW1wbGVyLCB0cnVlKTsKLSAg
ICAgICAgICAgIHNjb3Jlcy5wdXNoKHNhbXBsZXIuZXhwZXJpbWVudHNbMF0uc2NvcmUoRXhwZXJp
bWVudC5kZWZhdWx0cy5DT05DRVJOKSk7CisgICAgICAgIGZvciAodmFyIHRlc3ROYW1lIGluIHN1
aXRlUmVzdWx0c1tTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVsyXV0pIHsKKyAgICAgICAgICAgIHRo
aXMuX3Nob3dUZXN0KHRlc3ROYW1lLCBzdWl0ZVJlc3VsdHNbU3RyaW5nc1siSlNPTl9SRVNVTFRT
Il1bMl1dW3Rlc3ROYW1lXSk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHNjb3JlczsKICAg
ICB9LAogICAgIAotICAgIHNob3dSZWNvcmQ6IGZ1bmN0aW9uKHN1aXRlLCB0ZXN0LCBzYW1wbGVy
LCBtZXNzYWdlKQorICAgIF9zaG93SXRlcmF0aW9uIDogZnVuY3Rpb24oaXRlcmF0aW9uUmVzdWx0
cykKICAgICB7Ci0gICAgICAgIHRoaXMuY2xlYXIoKTsgICAgICAgIAotICAgICAgICB0aGlzLl9z
aG93SGVhZGVyKCIiLCBzdWl0ZS50aXRsZXMsIG1lc3NhZ2UpOwotICAgICAgICB0aGlzLl9zaG93
VGVzdCh0ZXN0Lm5hbWUsIHN1aXRlLnRpdGxlcywgc2FtcGxlciwgZmFsc2UpOyAgICAgICAgCisg
ICAgICAgIGZvciAodmFyIHN1aXRlTmFtZSBpbiBpdGVyYXRpb25SZXN1bHRzW1N0cmluZ3NbIkpT
T05fUkVTVUxUUyJdWzFdXSkgeworICAgICAgICAgICAgdGhpcy5fc2hvd1N1aXRlKHN1aXRlTmFt
ZSwgaXRlcmF0aW9uUmVzdWx0c1tTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVsxXV1bc3VpdGVOYW1l
XSk7CisgICAgICAgIH0KICAgICB9LAogICAgIAotICAgIHNob3dJdGVyYXRpb25zOiBmdW5jdGlv
bihpdGVyYXRpb25zU2FtcGxlcnMpCisgICAgc2hvd1JlY29yZDogZnVuY3Rpb24odGVzdE5hbWUs
IG1lc3NhZ2UsIHRlc3RSZXN1bHRzKQogICAgIHsKICAgICAgICAgdGhpcy5jbGVhcigpOworICAg
ICAgICB0aGlzLl9zaG93SGVhZGVyKG1lc3NhZ2UpOworICAgICAgICB0aGlzLl9zaG93VGVzdCh0
ZXN0TmFtZSwgdGVzdFJlc3VsdHMpOworICAgIH0sCiAKLSAgICAgICAgdmFyIHNjb3JlcyA9IFtd
OwotICAgICAgICB2YXIgdGl0bGVzID0gbnVsbDsKLSAgICAgICAgaXRlcmF0aW9uc1NhbXBsZXJz
LmZvckVhY2goZnVuY3Rpb24oc3VpdGVzU2FtcGxlcnMpIHsKLSAgICAgICAgICAgIGZvciAodmFy
IHN1aXRlTmFtZSBpbiBzdWl0ZXNTYW1wbGVycykgewotICAgICAgICAgICAgICAgIHZhciBzdWl0
ZSA9IHN1aXRlRnJvbU5hbWUoc3VpdGVOYW1lKTsKLSAgICAgICAgICAgICAgICBpZiAodGl0bGVz
ICE9IHN1aXRlLnRpdGxlcykgewotICAgICAgICAgICAgICAgICAgICB0aXRsZXMgPSBzdWl0ZS50
aXRsZXM7Ci0gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dIZWFkZXIoc3VpdGVOYW1lLCB0
aXRsZXMsICIiKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICB2YXIgc3Vp
dGVTY29yZXMgPSB0aGlzLl9zaG93U3VpdGUoc3VpdGUsIHN1aXRlc1NhbXBsZXJzW3N1aXRlTmFt
ZV0pOwotICAgICAgICAgICAgICAgIHNjb3Jlcy5wdXNoLmFwcGx5KHNjb3Jlcywgc3VpdGVTY29y
ZXMpOwotICAgICAgICAgICAgfQorICAgIHNob3dJdGVyYXRpb25zOiBmdW5jdGlvbihpdGVyYXRp
b25zUmVzdWx0cykKKyAgICB7CisgICAgICAgIHRoaXMuY2xlYXIoKTsKKyAgICAgICAgdGhpcy5f
c2hvd0hlYWRlcigiIik7CisgICAgICAgIAorICAgICAgICBpdGVyYXRpb25zUmVzdWx0cy5mb3JF
YWNoKGZ1bmN0aW9uKGl0ZXJhdGlvblJlc3VsdHMpIHsKKyAgICAgICAgICAgIHRoaXMuX3Nob3dJ
dGVyYXRpb24oaXRlcmF0aW9uUmVzdWx0cyk7CiAgICAgICAgIH0sIHRoaXMpOwotCi0gICAgICAg
IHJldHVybiBTdGF0aXN0aWNzLmdlb21ldHJpY01lYW4oc2NvcmVzKTsKICAgICB9CiB9CkluZGV4
OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3VyY2VzL3NhbXBsZXIuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291cmNlcy9zYW1wbGVyLmpz
CShyZXZpc2lvbiAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3Vy
Y2VzL3NhbXBsZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEwMywyMiArMTAzLDQ5IEBAIGZ1bmN0
aW9uIFNhbXBsZXIoY291bnQpCiAKIFNhbXBsZXIucHJvdG90eXBlID0KIHsKLSAgICBzdGFydFNh
bXBsaW5nOiBmdW5jdGlvbih0aW1lT2Zmc2V0KQorICAgIHN0YXJ0U2FtcGxpbmc6IGZ1bmN0aW9u
KHNhbXBsaW5nVGltZU9mZnNldCkKICAgICB7Ci0gICAgICAgIGZvciAodmFyIGluZGV4ID0gMDsg
aW5kZXggPCB0aGlzLmV4cGVyaW1lbnRzLmxlbmd0aDsgKytpbmRleCkKLSAgICAgICAgICAgIHRo
aXMuZXhwZXJpbWVudHNbaW5kZXhdLnN0YXJ0U2FtcGxpbmcoKTsKKyAgICAgICAgdGhpcy5leHBl
cmltZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGV4cGVyaW1lbnQpIHsKKyAgICAgICAgICAgIGV4cGVy
aW1lbnQuc3RhcnRTYW1wbGluZygpOworICAgICAgICB9KTsKICAgICAgICAgICAgIAotICAgICAg
ICB0aGlzLnNhbXBsaW5nVGltZU9mZnNldCA9IHRpbWVPZmZzZXQgLyAxMDAwOworICAgICAgICB0
aGlzLnNhbXBsaW5nVGltZU9mZnNldCA9IHNhbXBsaW5nVGltZU9mZnNldCAvIDEwMDA7CiAgICAg
fSwKICAgICAKICAgICBzYW1wbGU6IGZ1bmN0aW9uKHRpbWVPZmZzZXQsIHZhbHVlcykKICAgICB7
CiAgICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoIDwgdGhpcy5leHBlcmltZW50cy5sZW5ndGgpCiAg
ICAgICAgICAgICB0aHJvdyAiTm90IGVub3VnaCBzYW1wbGUgcG9pbnRzIjsKKworICAgICAgICB0
aGlzLmV4cGVyaW1lbnRzLmZvckVhY2goZnVuY3Rpb24oZXhwZXJpbWVudCwgaW5kZXgpIHsKKyAg
ICAgICAgICAgIGV4cGVyaW1lbnQuc2FtcGxlKHZhbHVlc1tpbmRleF0pOworICAgICAgICB9KTsK
ICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXgg
PCB0aGlzLmV4cGVyaW1lbnRzLmxlbmd0aDsgKytpbmRleCkKLSAgICAgICAgICAgIHRoaXMuZXhw
ZXJpbWVudHNbaW5kZXhdLnNhbXBsZSh2YWx1ZXNbaW5kZXhdKTsKLSAgICAgICAgICAgIAogICAg
ICAgICB0aGlzLnNhbXBsZXMucHVzaCh7IHRpbWVPZmZzZXQ6IHRpbWVPZmZzZXQgLyAxMDAwLCB2
YWx1ZXM6IHZhbHVlcyB9KTsKKyAgICB9LAorICAgIAorICAgIHRvSlNPTjogZnVuY3Rpb24oc3Rh
dGlzdGljcywgZ3JhcGgpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0cyA9IHt9OworICAgICAg
ICAgCisgICAgICAgIHJlc3VsdHNbU3RyaW5nc1siSlNPTl9TQ09SRSJdXSA9IHRoaXMuZXhwZXJp
bWVudHNbMF0uc2NvcmUoRXhwZXJpbWVudC5kZWZhdWx0cy5DT05DRVJOKTsKKyAgICAgICAgICAg
CisgICAgICAgIGlmIChzdGF0aXN0aWNzKSB7CisgICAgICAgICAgICB0aGlzLmV4cGVyaW1lbnRz
LmZvckVhY2goZnVuY3Rpb24oZXhwZXJpbWVudCwgaW5kZXgpIHsKKyAgICAgICAgICAgICAgICBy
ZXN1bHRzW1N0cmluZ3NbIkpTT05fRVhQRVJJTUVOVFMiXVtpbmRleF1dID0ge307CisgICAgICAg
ICAgICAgICAgcmVzdWx0c1tTdHJpbmdzWyJKU09OX0VYUEVSSU1FTlRTIl1baW5kZXhdXVtTdHJp
bmdzWyJKU09OX01FQVNVUkVNRU5UUyJdWzBdXSA9IGV4cGVyaW1lbnQubWVhbigpOworICAgICAg
ICAgICAgICAgIHJlc3VsdHNbU3RyaW5nc1siSlNPTl9FWFBFUklNRU5UUyJdW2luZGV4XV1bU3Ry
aW5nc1siSlNPTl9NRUFTVVJFTUVOVFMiXVsxXV0gPSBleHBlcmltZW50LmNvbmNlcm4oRXhwZXJp
bWVudC5kZWZhdWx0cy5DT05DRVJOKTsKKyAgICAgICAgICAgICAgICByZXN1bHRzW1N0cmluZ3Nb
IkpTT05fRVhQRVJJTUVOVFMiXVtpbmRleF1dW1N0cmluZ3NbIkpTT05fTUVBU1VSRU1FTlRTIl1b
Ml1dID0gZXhwZXJpbWVudC5zdGFuZGFyZERldmlhdGlvbigpOworICAgICAgICAgICAgICAgIHJl
c3VsdHNbU3RyaW5nc1siSlNPTl9FWFBFUklNRU5UUyJdW2luZGV4XV1bU3RyaW5nc1siSlNPTl9N
RUFTVVJFTUVOVFMiXVszXV0gPSBleHBlcmltZW50LnBlcmNlbnRhZ2UoKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAoZ3JhcGgpIHsKKyAgICAgICAg
ICAgIHJlc3VsdHNbU3RyaW5nc1siSlNPTl9TQU1QTEVTIl1bMF1dID0ge307CisgICAgICAgICAg
ICByZXN1bHRzW1N0cmluZ3NbIkpTT05fU0FNUExFUyJdWzBdXVtTdHJpbmdzWyJKU09OX0dSQVBI
Il1bMF1dID0gdGhpcy5zYW1wbGVzOworICAgICAgICAgICAgcmVzdWx0c1tTdHJpbmdzWyJKU09O
X1NBTVBMRVMiXVswXV1bU3RyaW5nc1siSlNPTl9HUkFQSCJdWzFdXSA9IHRoaXMuc2FtcGxpbmdU
aW1lT2Zmc2V0OworICAgICAgICB9CisgICAgICAgIAorICAgICAgICByZXR1cm4gcmVzdWx0czsK
ICAgICB9CiB9CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3VyY2VzL3N0
cmluZ3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291
cmNlcy9zdHJpbmdzLmpzCShyZXZpc2lvbiAwKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21l
dGVyL3Jlc291cmNlcy9zdHJpbmdzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAK
K3ZhciBTdHJpbmdzID0geworICAgIFRFWFRfVEVTVE5BTUU6ICAgICAgIFsgIlRlc3QgTmFtZSIg
XSwKKyAgICBURVhUX0VYUEVSSU1FTlRTOiAgICBbICJDb21wbGV4aXR5IiwgIkZQUyIgXSwKKyAg
ICBURVhUX01FQVNVUkVNRU5UUzogICBbICJBdmcuIiwgIlcuNSUiLCAiU3RkLiIsICIlIiBdLAor
ICAgIFRFWFRfU0NPUkU6ICAgICAgICAgIFsgIlNjb3JlIiBdLAorICAgIFRFWFRfU0FNUExFUzog
ICAgICAgIFsgIlNhbXBsZXMiIF0sCisgICAgVEVYVF9SRVNVTFRTOiAgICAgICAgWyAiR3JhcGgi
LCAiSlNPTiIgXSwKKyAgICAKKyAgICBKU09OX0VYUEVSSU1FTlRTOiAgICBbICJjb21wbGV4aXR5
IiwgImZyYW1lUmF0ZSIgXSwKKyAgICBKU09OX01FQVNVUkVNRU5UUzogICBbICJhdmVyYWdlIiwg
ImNvbmNlcm4iLCAic3RkZXYiLCAicGVyY2VudCIgXSwKKyAgICBKU09OX1NDT1JFOiAgICAgICAg
ICBbICJzY29yZSIgXSwKKyAgICBKU09OX1NBTVBMRVM6ICAgICAgICBbICJzYW1wbGVzIiBdLAor
ICAgIEpTT05fR1JBUEg6ICAgICAgICAgIFsgInBvaW50cyIsICJzYW1wbGluZ1RpbWVPZmZzZXQi
IF0sCisgICAgSlNPTl9SRVNVTFRTOiAgICAgICAgWyAiaXRlcmF0aW9uc1Jlc3VsdHMiLCAic3Vp
dGVzUmVzdWx0cyIsICJ0ZXN0c1Jlc3VsdHMiIF0sCit9OwpJbmRleDogUGVyZm9ybWFuY2VUZXN0
cy9Bbmltb21ldGVyL3J1bm5lci9hbmltb21ldGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9y
bWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9hbmltb21ldGVyLmh0bWwJKHJldmlzaW9uIDE5
MTQ1MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvYW5pbW9tZXRlci5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsNyBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9hbmltb21ldGVyLmNzcyI+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zdHJpbmdzLmpzIiBkZWZlcj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NhbXBsZXIuanMiIGRlZmVyPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyIgZGVmZXI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0cy5qcyIgZGVmZXI9IiI+PC9z
Y3JpcHQ+CkBAIC00MywyMCArNDQsMzcgQEAKICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICA8
L3NlY3Rpb24+CiAgICAgICAgIDxzZWN0aW9uIGlkPSJyZXN1bHRzIj4KLSAgICAgICAgICAgIDxo
MT5SZXN1bHRzPC9oMT4KKyAgICAgICAgICAgIDxoMT5SZXN1bHRzOjwvaDE+CiAgICAgICAgICAg
ICA8dGFibGUgY2xhc3M9InJlc3VsdHMtdGFibGUiPjwvdGFibGU+CiAgICAgICAgICAgICA8ZGl2
IGNsYXNzPSJidXR0b25zIj4KKyAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNob3dK
c29uKCkiPkpTT048L2J1dHRvbj4KICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InN0
YXJ0VGVzdCgpIj5UZXN0IEFnYWluPC9idXR0b24+CiAgICAgICAgICAgICA8L2Rpdj4KICAgICAg
ICAgPC9zZWN0aW9uPiAgCi0gICAgICAgIDxzZWN0aW9uIGlkPSJncmFwaCI+Ci0gICAgICAgICAg
ICA8aDE+R3JhcGg8L2gxPgorICAgICAgICA8c2VjdGlvbiBpZD0ianNvbiI+CisgICAgICAgICAg
ICA8aDE+SlNPTjo8L2gxPgorICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPSJyZXN1bHRzLWpz
b24iPjwvdGV4dGFyZWE+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b25zIj4KKyAgICAg
ICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNob3dSZXN1bHRzKCkiPlJlc3VsdHM8L2J1dHRv
bj4KKyAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InN0YXJ0VGVzdCgpIj5UZXN0IEFn
YWluPC9idXR0b24+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9zZWN0aW9uPiAgCisg
ICAgICAgIDxzZWN0aW9uIGlkPSJ0ZXN0LWdyYXBoIj4KKyAgICAgICAgICAgIDxoMT5HcmFwaDo8
L2gxPgogICAgICAgICAgICAgPGRpdiBpZD0iZ3JhcGhDb250YWluZXIiPjwvZGl2PgogICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iYnV0dG9ucyI+CiAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNs
aWNrPSJzaG93UmVzdWx0cygpIj5SZXN1bHRzPC9idXR0b24+CiAgICAgICAgICAgICAgICAgPGJ1
dHRvbiBvbmNsaWNrPSJzdGFydFRlc3QoKSI+VGVzdCBBZ2FpbjwvYnV0dG9uPiAgICAgICAgCiAg
ICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgPC9zZWN0aW9uPiAgCisgICAgICAgIDxzZWN0aW9u
IGlkPSJ0ZXN0LWpzb24iPgorICAgICAgICAgICAgPGgxPkpTT046PC9oMT4KKyAgICAgICAgICAg
IDx0ZXh0YXJlYSBjbGFzcz0icmVzdWx0cy1qc29uIj48L3RleHRhcmVhPgorICAgICAgICAgICAg
PGRpdiBjbGFzcz0iYnV0dG9ucyI+CisgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJz
aG93UmVzdWx0cygpIj5SZXN1bHRzPC9idXR0b24+CisgICAgICAgICAgICAgICAgPGJ1dHRvbiBv
bmNsaWNrPSJzdGFydFRlc3QoKSI+VGVzdCBBZ2FpbjwvYnV0dG9uPiAgICAgICAgCisgICAgICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgPC9zZWN0aW9uPiAgCiAgICAgPC9tYWluPgogPC9ib2R5Pgog
PC9odG1sPgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJj
ZXMvYW5pbW9tZXRlci5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21l
dGVyL3J1bm5lci9yZXNvdXJjZXMvYW5pbW9tZXRlci5jc3MJKHJldmlzaW9uIDE5MTQ1MykKKysr
IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2FuaW1vbWV0ZXIu
Y3NzCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDE3IEBAIHNlY3Rpb24jcmVzdWx0cyA+
IHRhYmxlIHRoIHsKICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiB9CiAKK3NlY3Rpb24jdGVzdC1q
c29uID4gdGV4dGFyZWEsCitzZWN0aW9uI2pzb24gPiB0ZXh0YXJlYSB7CisgICAgd2lkdGg6IDgw
MHB4OworICAgIGhlaWdodDogNDYwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEyOCwg
MTI4LCAxMjgpOworICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMzUsIDIzNSwgMjM1KTsKKyAg
ICBjb2xvcjogd2hpdGU7CisgICAgd2hpdGUtc3BhY2U6IHByZTsKKyAgICBvdmVyZmxvdzogc2Ny
b2xsOworfQorCiAub3B0aW9ucyB7CiAgICAgbWFyZ2luOjAgYXV0bzsgICAgCiAgICAgbWFyZ2lu
LXRvcDogMzBweDsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVz
b3VyY2VzL2FuaW1vbWV0ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmlt
b21ldGVyL3J1bm5lci9yZXNvdXJjZXMvYW5pbW9tZXRlci5qcwkocmV2aXNpb24gMTkxNDUzKQor
KysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMvYW5pbW9tZXRl
ci5qcwkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAgd2luZG93LmJlbmNobWFya1J1bm5l
ckNsaWVudCA9IHsKICAgICByZWNvcmRUYWJsZTogbnVsbCwKICAgICBvcHRpb25zOiB7IHRlc3RJ
bnRlcnZhbDogMzAwMDAsIGZyYW1lUmF0ZTogNTAsIGVzdGltYXRlZEZyYW1lUmF0ZTogdHJ1ZSwg
Zml4VGVzdENvbXBsZXhpdHkgOiBmYWxzZSB9LAogICAgIHNjb3JlOiAwLAotICAgIF9pdGVyYXRp
b25zU2FtcGxlcnM6IFtdLAorICAgIF9yZXN1bHRzRGFzaGJvYXJkOiBudWxsLAogICAgIF9yZXN1
bHRzVGFibGU6IG51bGwsCiAgICAgCiAgICAgd2lsbEFkZFRlc3RGcmFtZTogZnVuY3Rpb24gKGZy
YW1lKQpAQCAtMjMsMjEgKzIzLDMxIEBAIHdpbmRvdy5iZW5jaG1hcmtSdW5uZXJDbGllbnQgPSB7
CiAgICAgCiAgICAgd2lsbFN0YXJ0Rmlyc3RJdGVyYXRpb246IGZ1bmN0aW9uICgpCiAgICAgewot
ICAgICAgICB0aGlzLl9pdGVyYXRpb25zU2FtcGxlcnMgPSBbXTsKLSAgICAgICAgdGhpcy5fcmVz
dWx0c1RhYmxlID0gbmV3IFJlY29yZFRhYmxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5y
ZXN1bHRzLXRhYmxlIilbMF0pOworICAgICAgICB0aGlzLl9yZXN1bHRzRGFzaGJvYXJkID0gbmV3
IFJlc3VsdHNEYXNoYm9hcmQoKTsKKyAgICAgICAgdGhpcy5fcmVzdWx0c1RhYmxlID0gbmV3IFJl
c3VsdHNUYWJsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucmVzdWx0cy10YWJsZSIpLCBIZWFk
ZXJzKTsKICAgICAgICAgCiAgICAgICAgIHRoaXMucHJvZ3Jlc3NCYXIgPSBuZXcgUHJvZ3Jlc3NC
YXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb2dyZXNzLWNvbXBsZXRlZCIpLCB0aGlzLnRl
c3RzQ291bnQpOwotICAgICAgICB0aGlzLnJlY29yZFRhYmxlID0gbmV3IFJlY29yZFRhYmxlKGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5yZWNvcmQtdGFibGUiKVswXSk7CisgICAgICAgIHRo
aXMucmVjb3JkVGFibGUgPSBuZXcgUmVzdWx0c1RhYmxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
Ii5yZWNvcmQtdGFibGUiKSwgSGVhZGVycyk7CiAgICAgfSwKICAgICAKICAgICBkaWRSdW5TdWl0
ZXM6IGZ1bmN0aW9uIChzdWl0ZXNTYW1wbGVycykKICAgICB7Ci0gICAgICAgIHRoaXMuX2l0ZXJh
dGlvbnNTYW1wbGVycy5wdXNoKHN1aXRlc1NhbXBsZXJzKTsKKyAgICAgICAgdGhpcy5fcmVzdWx0
c0Rhc2hib2FyZC5wdXNoKHN1aXRlc1NhbXBsZXJzKTsKICAgICB9LAogICAgIAogICAgIGRpZEZp
bmlzaExhc3RJdGVyYXRpb246IGZ1bmN0aW9uICgpCiAgICAgewotICAgICAgICB0aGlzLnNjb3Jl
ID0gdGhpcy5fcmVzdWx0c1RhYmxlLnNob3dJdGVyYXRpb25zKHRoaXMuX2l0ZXJhdGlvbnNTYW1w
bGVycywgIiIpOworICAgICAgICB2YXIganNvbiA9IHRoaXMuX3Jlc3VsdHNEYXNoYm9hcmQudG9K
U09OKHRydWUsIHRydWUpOworICAgICAgICB0aGlzLl9yZXN1bHRzVGFibGUuc2hvd0l0ZXJhdGlv
bnMoanNvbltTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVswXV0pOworICAgICAgICAKKyAgICAgICAg
dmFyIGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjanNvbiA+IHRleHRhcmVhIik7
CisgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gSlNPTi5zdHJpbmdpZnkoanNvbltTdHJpbmdz
WyJKU09OX1JFU1VMVFMiXVswXV1bMF0sIGZ1bmN0aW9uKGtleSwgdmFsdWUpIHsgCisgICAgICAg
ICAgICBpZiAodHlwZW9mIHZhbHVlID09ICJudW1iZXIiKQorICAgICAgICAgICAgICAgIHJldHVy
biB2YWx1ZS50b0ZpeGVkKDIpOworICAgICAgICAgICAgcmV0dXJuIHZhbHVlOworICAgICAgICB9
LCA0KTsKKyAgICAgICAgCisgICAgICAgIHRoaXMuc2NvcmUgPSBqc29uW1N0cmluZ3NbIkpTT05f
U0NPUkUiXV07CiAgICAgICAgIHNob3dSZXN1bHRzKCk7CiAgICAgfQogfQpAQCAtOTIsMjcgKzEw
Miw1MiBAQCBmdW5jdGlvbiBzdGFydFRlc3QoKQogICAgIHN0YXJ0QmVuY2htYXJrKCk7CiB9CiAK
LWZ1bmN0aW9uIHNob3dSZXN1bHRzKHNjb3JlKQorZnVuY3Rpb24gc2hvd1Jlc3VsdHMoKQogewog
ICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3Jlc3VsdHMgPiBoMSIp
OwotICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSAiUmVzdWx0czoiCi0gICAgCiAgICAgdmFyIHNj
b3JlID0gYmVuY2htYXJrUnVubmVyQ2xpZW50LnNjb3JlLnRvRml4ZWQoMik7CiAgICAgZWxlbWVu
dC50ZXh0Q29udGVudCArPSAiIFtTY29yZSA9ICIgKyBzY29yZSArICJdIjsKICAgICAgICAgCiAg
ICAgc2hvd1NlY3Rpb24oInJlc3VsdHMiLCB0cnVlKTsKIH0KIAotZnVuY3Rpb24gc2hvd0dyYXBo
KHRlc3ROYW1lLCBheGVzLCBzYW1wbGVzLCBzYW1wbGluZ1RpbWVPZmZzZXQpCitmdW5jdGlvbiBz
aG93SnNvbigpCit7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIj
anNvbiA+IGgxIik7CisgICAgdmFyIHNjb3JlID0gYmVuY2htYXJrUnVubmVyQ2xpZW50LnNjb3Jl
LnRvRml4ZWQoMik7CisgICAgZWxlbWVudC50ZXh0Q29udGVudCArPSAiIFtTY29yZSA9ICIgKyBz
Y29yZSArICJdIjsKKworICAgIHNob3dTZWN0aW9uKCJqc29uIiwgdHJ1ZSk7Cit9CisKK2Z1bmN0
aW9uIHNob3dUZXN0R3JhcGgodGVzdE5hbWUsIGF4ZXMsIHNhbXBsZXMsIHNhbXBsaW5nVGltZU9m
ZnNldCkKIHsKLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNncmFw
aCA+IGgxIik7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjdGVz
dC1ncmFwaCA+IGgxIik7CiAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9ICJHcmFwaDoiCiAKICAg
ICBpZiAodGVzdE5hbWUubGVuZ3RoKQogICAgICAgICBlbGVtZW50LnRleHRDb250ZW50ICs9ICIg
W3Rlc3QgPSAiICsgdGVzdE5hbWUgKyAiXSI7CiAgICAgICAgICAgICAKICAgICBncmFwaCgiI2dy
YXBoQ29udGFpbmVyIiwgbmV3IFBvaW50KDcwMCwgNDAwKSwgbmV3IEluc2V0cygyMCwgNTAsIDIw
LCA1MCksIGF4ZXMsIHNhbXBsZXMsIHNhbXBsaW5nVGltZU9mZnNldCk7Ci0gICAgc2hvd1NlY3Rp
b24oImdyYXBoIiwgdHJ1ZSk7ICAgIAorICAgIHNob3dTZWN0aW9uKCJ0ZXN0LWdyYXBoIiwgdHJ1
ZSk7ICAgIAorfQorCitmdW5jdGlvbiBzaG93VGVzdEpTT04odGVzdE5hbWUsIHRlc3RSZXN1bHRz
KQoreworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3Rlc3QtanNv
biA+IGgxIik7CisgICAgZWxlbWVudC50ZXh0Q29udGVudCA9ICJKU09OOiIKKworICAgIGlmICh0
ZXN0TmFtZS5sZW5ndGgpCisgICAgICAgIGVsZW1lbnQudGV4dENvbnRlbnQgKz0gIiBbdGVzdCA9
ICIgKyB0ZXN0TmFtZSArICJdIjsKKyAgICAgICAgICAgIAorICAgIHZhciBlbGVtZW50ID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiI3Rlc3QtanNvbiA+IHRleHRhcmVhIik7CisgICAgZWxlbWVu
dC5pbm5lckhUTUwgPSBKU09OLnN0cmluZ2lmeSh0ZXN0UmVzdWx0cywgZnVuY3Rpb24oa2V5LCB2
YWx1ZSkgeyAKKyAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAibnVtYmVyIikKKyAgICAgICAg
ICAgIHJldHVybiB2YWx1ZS50b0ZpeGVkKDIpOworICAgICAgICByZXR1cm4gdmFsdWU7CisgICAg
fSwgNCk7CisKKyAgICBzaG93U2VjdGlvbigidGVzdC1qc29uIiwgdHJ1ZSk7ICAgIAogfQogCiBm
dW5jdGlvbiBwb3B1bGF0ZVNldHRpbmdzKCkgewpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmlt
b21ldGVyL3J1bm5lci9yZXNvdXJjZXMvdGVzdHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFu
Y2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMvdGVzdHMuanMJKHJldmlzaW9uIDE5
MTQ1MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL3Rl
c3RzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICsxLDQ5IEBACi12YXIgVGl0bGVzID0gWwor
dmFyIEhlYWRlcnMgPSBbCiAgICAgewotICAgICAgICB0ZXh0OiAiVGVzdCBOYW1lIiwKLSAgICAg
ICAgd2lkdGg6IDI4LAorICAgICAgICB0ZXh0OiBTdHJpbmdzWyJURVhUX1RFU1ROQU1FIl1bMF0s
CisgICAgICAgIHdpZHRoOiAyNywKICAgICAgICAgY2hpbGRyZW46IFtdCiAgICAgfSwKICAgICB7
Ci0gICAgICAgIHRleHQ6ICJBbmltYXRlZCBJdGVtcyIsCi0gICAgICAgIHdpZHRoOiAyOCwKKyAg
ICAgICAgdGV4dDogU3RyaW5nc1siVEVYVF9TQ09SRSJdWzBdLAorICAgICAgICB3aWR0aDogNywK
KyAgICAgICAgY2hpbGRyZW46IFtdCisgICAgfSwKKyAgICB7CisgICAgICAgIHRleHQ6IFN0cmlu
Z3NbIlRFWFRfRVhQRVJJTUVOVFMiXVswXSwKKyAgICAgICAgd2lkdGg6IDI3LAogICAgICAgICBj
aGlsZHJlbjoKICAgICAgICAgWwotICAgICAgICAgICAgeyB0ZXh0OiAgICJBdmcuIiwgd2lkdGg6
IDcsIGNoaWxkcmVuOiBbXSB9LAotICAgICAgICAgICAgeyB0ZXh0OiAgICJXLjUlIiwgd2lkdGg6
IDcsIGNoaWxkcmVuOiBbXSB9LAotICAgICAgICAgICAgeyB0ZXh0OiAgICJTdGQuIiwgd2lkdGg6
IDcsIGNoaWxkcmVuOiBbXSB9LAotICAgICAgICAgICAgeyB0ZXh0OiAgICAgICIlIiwgd2lkdGg6
IDcsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAgICAgeyB0ZXh0OiBTdHJpbmdzWyJURVhUX01F
QVNVUkVNRU5UUyJdWzBdLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCisgICAgICAgICAgICB7
IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRTIl1bMV0sIHdpZHRoOiA3LCBjaGlsZHJl
bjogW10gfSwKKyAgICAgICAgICAgIHsgdGV4dDogU3RyaW5nc1siVEVYVF9NRUFTVVJFTUVOVFMi
XVsyXSwgd2lkdGg6IDcsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAgICAgeyB0ZXh0OiBTdHJp
bmdzWyJURVhUX01FQVNVUkVNRU5UUyJdWzNdLCB3aWR0aDogNiwgY2hpbGRyZW46IFtdIH0sCiAg
ICAgICAgIF0KICAgICB9LAogICAgIHsKLSAgICAgICAgdGV4dDogIkZQUyIsCi0gICAgICAgIHdp
ZHRoOiAyOCwKKyAgICAgICAgdGV4dDogU3RyaW5nc1siVEVYVF9FWFBFUklNRU5UUyJdWzFdLAor
ICAgICAgICB3aWR0aDogMjQsCiAgICAgICAgIGNoaWxkcmVuOgogICAgICAgICBbCi0gICAgICAg
ICAgICB7IHRleHQ6ICAgIkF2Zy4iLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCi0gICAgICAg
ICAgICB7IHRleHQ6ICAgIlcuNSUiLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCi0gICAgICAg
ICAgICB7IHRleHQ6ICAgIlN0ZC4iLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCi0gICAgICAg
ICAgICB7IHRleHQ6ICAgICAgIiUiLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCisgICAgICAg
ICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRTIl1bMF0sIHdpZHRoOiA2LCBj
aGlsZHJlbjogW10gfSwKKyAgICAgICAgICAgIHsgdGV4dDogU3RyaW5nc1siVEVYVF9NRUFTVVJF
TUVOVFMiXVsxXSwgd2lkdGg6IDYsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAgICAgeyB0ZXh0
OiBTdHJpbmdzWyJURVhUX01FQVNVUkVNRU5UUyJdWzJdLCB3aWR0aDogNiwgY2hpbGRyZW46IFtd
IH0sCisgICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRTIl1bM10s
IHdpZHRoOiA2LCBjaGlsZHJlbjogW10gfSwKICAgICAgICAgXQogICAgIH0sCiAgICAgewotICAg
ICAgICB0ZXh0OiAiU2NvcmUiLAotICAgICAgICB3aWR0aDogOCwKLSAgICAgICAgY2hpbGRyZW46
IFtdCi0gICAgfSwKLSAgICB7Ci0gICAgICAgIHRleHQ6ICJTYW1wbGVzIiwKLSAgICAgICAgd2lk
dGg6IDgsCi0gICAgICAgIGNoaWxkcmVuOiBbXQorICAgICAgICB0ZXh0OiBTdHJpbmdzWyJURVhU
X1NBTVBMRVMiXVswXSwKKyAgICAgICAgd2lkdGg6IDE1LAorICAgICAgICBjaGlsZHJlbjoKKyAg
ICAgICAgWworICAgICAgICAgICAgeyB0ZXh0OiBTdHJpbmdzWyJURVhUX1JFU1VMVFMiXVswXSwg
d2lkdGg6IDgsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAgICAgeyB0ZXh0OiBTdHJpbmdzWyJU
RVhUX1JFU1VMVFMiXVsxXSwgd2lkdGg6IDcsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICBdCiAg
ICAgfQogXTsKIAogdmFyIFN1aXRlID0gZnVuY3Rpb24obmFtZSwgdGVzdHMpIHsKICAgICB0aGlz
Lm5hbWUgPSBuYW1lOwotICAgIHRoaXMudGl0bGVzID0gVGl0bGVzOwogICAgIHRoaXMudGVzdHMg
PSB0ZXN0czsKIH07CiBTdWl0ZS5wcm90b3R5cGUucHJlcGFyZSA9IGZ1bmN0aW9uKHJ1bm5lciwg
Y29udGVudFdpbmRvdywgY29udGVudERvY3VtZW50KQpAQCAtNTQsNyArNTcsNiBAQCBTdWl0ZS5w
cm90b3R5cGUucnVuID0gZnVuY3Rpb24oY29udGVudFdpCiAgICAgcmV0dXJuIGNvbnRlbnRXaW5k
b3cucnVuQmVuY2htYXJrKHRoaXMsIHRlc3QsIG9wdGlvbnMsIHJlY29yZFRhYmxlLCBwcm9ncmVz
c0Jhcik7CiB9OwogCi0KIHZhciBTdWl0ZXMgPSBbXTsKIAogU3VpdGVzLnB1c2gobmV3IFN1aXRl
KCJIVE1MIHN1aXRlIiwKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9i
b3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctY2FudmFzLWltYWdlcy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMv
Ym91bmNpbmctY2FudmFzLWltYWdlcy5odG1sCShyZXZpc2lvbiAxOTE0NTMpCisrKyBQZXJmb3Jt
YW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLWNh
bnZhcy1pbWFnZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDcgQEAKICAgICA8L3N0
eWxlPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4u
L3Jlc291cmNlcy9zdGFnZS5jc3MiPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
YWxnb3JpdGhtLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3N0cmluZ3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
c2FtcGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9l
eHRlbnNpb25zLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21h
dGguanMiPjwvc2NyaXB0PgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3Rz
L2JvdW5jaW5nLXBhcnRpY2xlcy9ib3VuY2luZy1jYW52YXMtc2hhcGVzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xl
cy9ib3VuY2luZy1jYW52YXMtc2hhcGVzLmh0bWwJKHJldmlzaW9uIDE5MTQ1MykKKysrIFBlcmZv
cm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmct
Y2FudmFzLXNoYXBlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAogPGhlYWQ+
CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVz
b3VyY2VzL3N0YWdlLmNzcyI+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hbGdv
cml0aG0uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3Ry
aW5ncy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zYW1w
bGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2V4dGVu
c2lvbnMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5q
cyI+PC9zY3JpcHQ+CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvYm91
bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLWNzcy1pbWFnZXMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQ
ZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2JvdW5j
aW5nLWNzcy1pbWFnZXMuaHRtbAkocmV2aXNpb24gMTkxNDUzKQorKysgUGVyZm9ybWFuY2VUZXN0
cy9Bbmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xlcy9ib3VuY2luZy1jc3MtaW1hZ2Vz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTgsNiArOCw3IEBACiAgICAgPC9zdHlsZT4KICAgICA8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMv
c3RhZ2UuY3NzIj4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2FsZ29yaXRobS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdHJpbmdzLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3NhbXBsZXIuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRoLmpzIj48L3Nj
cmlwdD4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9ib3VuY2luZy1w
YXJ0aWNsZXMvYm91bmNpbmctY3NzLXNoYXBlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctY3Nz
LXNoYXBlcy5odG1sCShyZXZpc2lvbiAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1v
bWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLWNzcy1zaGFwZXMuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMTksNiArMTksNyBAQAogICAgIDwvc3R5bGU+CiAgICAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3N0YWdl
LmNzcyI+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hbGdvcml0aG0uanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RyaW5ncy5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zYW1wbGVyLmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2V4dGVuc2lvbnMuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5qcyI+PC9zY3JpcHQ+
CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGlj
bGVzL2JvdW5jaW5nLXN2Zy1pbWFnZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRl
c3RzL0FuaW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLXN2Zy1pbWFn
ZXMuaHRtbAkocmV2aXNpb24gMTkxNDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVy
L3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xlcy9ib3VuY2luZy1zdmctaW1hZ2VzLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTMsNiArMyw3IEBACiA8aGVhZD4KICAgICA8bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvc3RhZ2UuY3NzIj4KICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2FsZ29yaXRobS5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdHJpbmdzLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3NhbXBsZXIuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRoLmpzIj48L3NjcmlwdD4KSW5kZXg6IFBlcmZv
cm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmct
c3ZnLXNoYXBlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRl
ci90ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctc3ZnLXNoYXBlcy5odG1sCShyZXZp
c2lvbiAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvYm91bmNp
bmctcGFydGljbGVzL2JvdW5jaW5nLXN2Zy1zaGFwZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
Myw2ICszLDcgQEAKIDxoZWFkPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4
dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgogICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvYWxnb3JpdGhtLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3N0cmluZ3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvc2FtcGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9leHRlbnNpb25zLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL21hdGguanMiPjwvc2NyaXB0PgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9B
bmltb21ldGVyL3Rlc3RzL2V4YW1wbGVzL2NhbnZhcy1lbGVjdHJvbnMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvZXhhbXBsZXMvY2FudmFzLWVs
ZWN0cm9ucy5odG1sCShyZXZpc2lvbiAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1v
bWV0ZXIvdGVzdHMvZXhhbXBsZXMvY2FudmFzLWVsZWN0cm9ucy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0zLDYgKzMsNyBAQAogPGhlYWQ+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl
PSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3N0YWdlLmNzcyI+CiAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9hbGdvcml0aG0uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RyaW5ncy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9zYW1wbGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2V4dGVuc2lvbnMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBQZXJmb3JtYW5jZVRl
c3RzL0FuaW1vbWV0ZXIvdGVzdHMvZXhhbXBsZXMvY2FudmFzLXN0YXJzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL2V4YW1wbGVzL2NhbnZhcy1z
dGFycy5odG1sCShyZXZpc2lvbiAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0
ZXIvdGVzdHMvZXhhbXBsZXMvY2FudmFzLXN0YXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMs
NiArMyw3IEBACiA8aGVhZD4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvc3RhZ2UuY3NzIj4KICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2FsZ29yaXRobS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9zdHJpbmdzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3NhbXBsZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9tYXRoLmpzIj48L3NjcmlwdD4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5p
bW9tZXRlci90ZXN0cy9yZXNvdXJjZXMvc3RhZ2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFu
Y2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL3Jlc291cmNlcy9zdGFnZS5qcwkocmV2aXNpb24gMTkx
NDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL3Jlc291cmNlcy9zdGFn
ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMTc0LDExICsxNzQsMTEgQEAgU3RhZ2VCZW5jaG1hcmsu
cHJvdG90eXBlLmNsZWFyID0gZnVuY3RpbwogCiBTdGFnZUJlbmNobWFyay5wcm90b3R5cGUuc2hv
d1Jlc3VsdHMgPSBmdW5jdGlvbihtZXNzYWdlLCBwcm9ncmVzcykKIHsKLSAgICBpZiAoIXRoaXMu
X3JlY29yZFRhYmxlIHx8ICF0aGlzLl9wcm9ncmVzc0JhciB8fCAhdGhpcy5fc3VpdGUgfHwgIXRo
aXMuX3Rlc3QpCisgICAgaWYgKCF0aGlzLl9yZWNvcmRUYWJsZSB8fCAhdGhpcy5fcHJvZ3Jlc3NC
YXIgfHwgIXRoaXMuX3Rlc3QpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICh0aGlzLm9wdGlv
bnMuc2hvd1J1bm5pbmdSZXN1bHRzKQotICAgICAgICB0aGlzLl9yZWNvcmRUYWJsZS5zaG93UmVj
b3JkKHRoaXMuX3N1aXRlLCB0aGlzLl90ZXN0LCB0aGlzLl9zYW1wbGVyLCBtZXNzYWdlKTsKKyAg
ICAgICAgdGhpcy5fcmVjb3JkVGFibGUuc2hvd1JlY29yZCh0aGlzLl90ZXN0Lm5hbWUsIG1lc3Nh
Z2UsIHRoaXMuX3NhbXBsZXIudG9KU09OKHRydWUsIGZhbHNlKSk7CiAKICAgICB0aGlzLl9wcm9n
cmVzc0Jhci5zZXRQb3MocHJvZ3Jlc3MpOwogfQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmlt
b21ldGVyL3Rlc3RzL3NpbXBsZS9zaW1wbGUtY2FudmFzLXBhdGhzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL3NpbXBsZS9zaW1wbGUtY2FudmFz
LXBhdGhzLmh0bWwJKHJldmlzaW9uIDE5MTQ1MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9t
ZXRlci90ZXN0cy9zaW1wbGUvc2ltcGxlLWNhbnZhcy1wYXRocy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0zLDYgKzMsNyBAQAogPGhlYWQ+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl
PSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3N0YWdlLmNzcyI+CiAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9hbGdvcml0aG0uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RyaW5ncy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9zYW1wbGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2V4dGVuc2lvbnMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBQZXJmb3JtYW5jZVRl
c3RzL0FuaW1vbWV0ZXIvdGVzdHMvdGVtcGxhdGUvdGVtcGxhdGUtY2FudmFzLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL3RlbXBsYXRlL3RlbXBs
YXRlLWNhbnZhcy5odG1sCShyZXZpc2lvbiAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0Fu
aW1vbWV0ZXIvdGVzdHMvdGVtcGxhdGUvdGVtcGxhdGUtY2FudmFzLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTMsNiArMyw3IEBACiA8aGVhZD4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5
cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvc3RhZ2UuY3NzIj4KICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2FsZ29yaXRobS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdHJpbmdzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3NhbXBsZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRoLmpzIj48L3NjcmlwdD4KSW5kZXg6IFBlcmZvcm1hbmNl
VGVzdHMvQW5pbW9tZXRlci90ZXN0cy90ZW1wbGF0ZS90ZW1wbGF0ZS1jc3MuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvdGVtcGxhdGUvdGVtcGxh
dGUtY3NzLmh0bWwJKHJldmlzaW9uIDE5MTQ1MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9t
ZXRlci90ZXN0cy90ZW1wbGF0ZS90ZW1wbGF0ZS1jc3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
Myw2ICszLDcgQEAKIDxoZWFkPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4
dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgogICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvYWxnb3JpdGhtLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3N0cmluZ3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvc2FtcGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9leHRlbnNpb25zLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL21hdGguanMiPjwvc2NyaXB0PgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9B
bmltb21ldGVyL3Rlc3RzL3RlbXBsYXRlL3RlbXBsYXRlLXN2Zy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy90ZW1wbGF0ZS90ZW1wbGF0ZS1zdmcu
aHRtbAkocmV2aXNpb24gMTkxNDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rl
c3RzL3RlbXBsYXRlL3RlbXBsYXRlLXN2Zy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMs
NyBAQAogPGhlYWQ+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIg
aHJlZj0iLi4vcmVzb3VyY2VzL3N0YWdlLmNzcyI+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9hbGdvcml0aG0uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvc3RyaW5ncy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9zYW1wbGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2V4dGVuc2lvbnMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvbWF0aC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0
ZXIvdGVzdHMvdGV4dC9sYXllcmluZy10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFu
Y2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL3RleHQvbGF5ZXJpbmctdGV4dC5odG1sCShyZXZpc2lv
biAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvdGV4dC9sYXll
cmluZy10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEzLDYgKzEzLDcgQEAKICAgICA8L3N0
eWxlPiAgCiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0i
Li4vcmVzb3VyY2VzL3N0YWdlLmNzcyI+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9hbGdvcml0aG0uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvc3RyaW5ncy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9zYW1wbGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2V4dGVuc2lvbnMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
bWF0aC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264044</attachid>
            <date>2015-10-26 08:49:55 -0700</date>
            <delta_ts>2015-10-26 09:45:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150484-20151026084906.patch</filename>
            <type>text/plain</type>
            <size>41208</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTE1MjkpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwNSBAQAorMjAxNS0xMC0yMyAg
U2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBhbiBvcHRpb24gdG8gb3V0cHV0IHRoZSByZXN1bHRzIG9mIHRoZSBncmFwaGljcyBiZW5jaG1h
cmsgaW4gSlNPTiBmb3JtYXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MDQ4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjMyNDM3MjE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBBbmltb21ldGVyL3Jl
c291cmNlcy9leHRlbnNpb25zLmpzOgorICAgICAgICAoUmVzdWx0c0Rhc2hib2FyZCk6IEEgbmV3
IGNsYXNzIHRvIGhvbGQgdGhlIGl0ZXJhdGlvbnMgcmVzdWx0cy4KKyAgICAgICAgKFJlc3VsdHNE
YXNoYm9hcmQucHJvdG90eXBlLnB1c2gpOiBBcHBlbmRzIGFuIGl0ZXJhdGlvbiByZXN1bHRzOwor
ICAgICAgICAoUmVzdWx0c0Rhc2hib2FyZC5wcm90b3R5cGUudG9KU09OKTogQ29udmVydHMgdGhl
IGl0ZXJhdGlvbnMgcmVzdWx0cyB0byBKU09OIGZvcm1hdC4KKworICAgICAgICAoUmVjb3JkVGFi
bGUucHJvdG90eXBlLmNsZWFyKTogQ2xlYXJzIHRoZSByZXN1bHRzIHRhYmxlLgorICAgICAgICAo
UmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93VGl0bGVzKTogU2hvd3MgdGhlIGhlYWRlciB0aXRs
ZXMgYW5kIGFwcGVuZHMgdGhlIHN1Yi10aXRsZXMgdG8gYSBxdWV1ZS4KKyAgICAgICAgKFJlY29y
ZFRhYmxlLnByb3RvdHlwZS5fc2hvd0hlYWRlcik6IFNob3dzIHRoZSB0YWJsZSBoZWFkZXIgdGl0
bGVzLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93RW1wdHkpOiBTaG93cyBh
biBlbXB0eSB0YWJsZSBjZWxsLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93
VmFsdWUpOiBTaG93cyBhIG51bWJlciB2YWx1ZSBpbiB0aGUgcmVzdWx0cyB0YWJsZS4KKyAgICAg
ICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5fc2hvd1NhbXBsZXMpOiBTaG93cyBhIGJ1dHRvbiBm
b3IgdGhlIHNhbXBsZWQgZGF0YSBncmFwaC4KKyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlw
ZS5fc2hvd1Rlc3QpOiBTaG93cyB0aGUgcmVzdWx0cyBvZiBhIHNpbmdsZSB0ZXN0LgorICAgICAg
ICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93U3VpdGUpOiBTaG93cyB0aGUgcmVzdWx0cyBv
ZiBhIHNpbmdsZSBzdWl0ZS4KKyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5zaG93UmVj
b3JkKTogU2hvd3MgYSBzaW5nbGUgaXRlcmF0aW9uIGZvciBhIHNpbmdsZSB0ZXN0LgorICAgICAg
ICAoUmVjb3JkVGFibGUucHJvdG90eXBlLnNob3dJdGVyYXRpb25zKTogU2hvd3MgdGhlIHJlc3Vs
dHMgb2YgYWxsIHRoZSBzdWl0ZXMgb2YgdGhlIGl0ZXJhdGlvbnMuIAorICAgICAgICAKKyAgICAg
ICAgKFJlc3VsdHNUYWJsZSk6IFJlY29yZFRhYmxlIHdhcyByZW5hbWVkIHRvIFJlc3VsdHNUYWJs
ZS4KKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5cGUuY2xlYXIpOiBDbGVhcnMgdGhlIHRh
YmxlIGVsZW1lbnQuCisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93SGVhZGVy
Um93KTogU2hvd3MgYSByb3cgaW4gdGhlIHJlc3VsdHMgdGFibGUgaGVhZGVyLgorICAgICAgICAo
UmVzdWx0c1RhYmxlLnByb3RvdHlwZS5fc2hvd0hlYWRlcik6IFNob3dzIHRoZSByZXN1bHRzIHRh
YmxlIGhlYWRlci4KKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5cGUuX3Nob3dFbXB0eSk6
IFNob3dzIGFuIGVtcHR5IHRhYmxlIGNlbGwuCisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90
eXBlLl9zaG93VGV4dCk6IFNob3dzIGEgc3RyaW5nIGluIGEgbmV3IHRhYmxlIGNlbGwuCisgICAg
ICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93Rml4ZWROdW1iZXIpOiBTaG93cyBhIG51
bWJlciBpbiBhIG5ldyB0YWJsZSBjZWxsLgorICAgICAgICAoUmVzdWx0c1RhYmxlLnByb3RvdHlw
ZS5fc2hvd0dyYXBoKTogU2hvd3MgYSBidXR0b24gZm9yIHRoZSBzYW1wbGVkIGRhdGEgZ3JhcGgu
CisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93SlNPTik6IFNob3dzIGEgYnV0
dG9uIGZvciB0aGUgc2FtcGxlZCBkYXRhIEpTT04uCisgICAgICAgIChSZXN1bHRzVGFibGUucHJv
dG90eXBlLl9zaG93VGVzdCk6IFNob3dzIHRoZSByZXN1bHRzIG9mIGEgc2luZ2xlIHRlc3QuCisg
ICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93U3VpdGUpOiBTaG93cyB0aGUgcmVz
dWx0cyBvZiBhIHNpbmdsZSBzdWl0ZS4KKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5cGUu
X3Nob3dJdGVyYXRpb24pOiBTaG93cyB0aGUgcmVzdWx0cyBvZiBhIHNpbmdsZSBpdGVyYXRpb24u
CisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLnNob3dSZWNvcmQpOiBTaG93cyBhIHNp
bmdsZSBpdGVyYXRpb24gZm9yIGEgc2luZ2xlIHRlc3QuCisgICAgICAgIChSZXN1bHRzVGFibGUu
cHJvdG90eXBlLnNob3dJdGVyYXRpb25zKTogU2hvd3MgYWxsIHRoZSByZXN1bHRzLgorICAgICAg
ICAoUmVjb3JkVGFibGUpOiBEZWxldGVkLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBl
LmNsZWFyKTogRGVsZXRlZC4KKyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5fc2hvd1Rp
dGxlcyk6IERlbGV0ZWQuCisgICAgICAgIChSZWNvcmRUYWJsZS5wcm90b3R5cGUuX3Nob3dIZWFk
ZXIpOiBEZWxldGVkLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93RW1wdHkp
OiBEZWxldGVkLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93VmFsdWUpOiBE
ZWxldGVkLgorICAgICAgICAoUmVjb3JkVGFibGUucHJvdG90eXBlLl9zaG93U2FtcGxlcyk6IERl
bGV0ZWQuCisgICAgICAgIChSZWNvcmRUYWJsZS5wcm90b3R5cGUuX3Nob3dUZXN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5fc2hvd1N1aXRlKTogRGVsZXRlZC4K
KyAgICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5zaG93UmVjb3JkKTogRGVsZXRlZC4KKyAg
ICAgICAgKFJlY29yZFRhYmxlLnByb3RvdHlwZS5zaG93SXRlcmF0aW9ucyk6IERlbGV0ZWQuCisg
ICAgICAgIAorICAgICAgICAqIEFuaW1vbWV0ZXIvcmVzb3VyY2VzL3NhbXBsZXIuanM6CisgICAg
ICAgIChTYW1wbGVyLnByb3RvdHlwZS5zdGFydFNhbXBsaW5nKTogVXNlIGZvckVhY2guCisgICAg
ICAgIChTYW1wbGVyLnByb3RvdHlwZS5zYW1wbGUpOiBVc2UgZm9yRWFjaC4KKyAgICAgICAgKFNh
bXBsZXIucHJvdG90eXBlLnRvSlNPTik6IENvbnZlcnRzIHRoZSBzYW1wbGVyIGRhdGEgdG8gSlNP
TiBmb3JtYXQuCisgICAgICAgIAorICAgICAgICAqIEFuaW1vbWV0ZXIvcmVzb3VyY2VzL3N0cmlu
Z3MuanM6IEFkZGVkLgorICAgICAgICBUaGlzIG5ldyBmaWxlIHdpbGwgYmUgdXNlZCB0byBhc3Nv
Y2lhdGUgdGhlIHN0cmluZ3MgdXNlZCBieSB0aGUgYmVuY2htYXJrCisgICAgICAgIHdpdGggSURz
LiBBIHN0cmluZyBjYW4gYmUgY2hhbmdlZCBpbiBvbmUgcGxhY2Ugd2l0aG91dCBoYXZpbmcgdG8g
Y2hhbmdlCisgICAgICAgIGFsbCB0aGUgaW5zdGFuY2VzIG9mIHRoaXMgc3RyaW5nIGluIG11bHRp
cGxlIGZpbGVzLiBUaGVyZSB0d28gZ3JvdXBzIG9mCisgICAgICAgIHN0cmluZ3MgaW4gdGhpcyBm
aWxlLiBUaGUgZmlyc3Qgb25lIGlzIHVzZWQgYnkgdGhlIFVJIGVsZW1lbnRzIGFuZCB0aGUgc2Vj
b25kCisgICAgICAgIGdyb3VwIGlzIHVzZWQgd2hlbiBjb25zdHJ1Y3RpbmcgdGhlIHJlc3VsdHMg
SlNPTi4KKyAgICAgICAgCisgICAgICAgICogQW5pbW9tZXRlci9ydW5uZXIvYW5pbW9tZXRlci5o
dG1sOgorICAgICAgICAqIEFuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9hbmltb21ldGVyLmNz
czoKKyAgICAgICAgCisgICAgICAgICogQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2FuaW1v
bWV0ZXIuanM6CisgICAgICAgICh3aW5kb3cuYmVuY2htYXJrUnVubmVyQ2xpZW50LndpbGxBZGRU
ZXN0RnJhbWUpOgorICAgICAgICAod2luZG93LmJlbmNobWFya1J1bm5lckNsaWVudC53aWxsU3Rh
cnRGaXJzdEl0ZXJhdGlvbik6CisgICAgICAgICh3aW5kb3cuYmVuY2htYXJrUnVubmVyQ2xpZW50
LmRpZFJ1blN1aXRlcyk6CisgICAgICAgICh3aW5kb3cuYmVuY2htYXJrUnVubmVyQ2xpZW50LmRp
ZEZpbmlzaExhc3RJdGVyYXRpb24pOgorICAgICAgICBNYWtlIGJlbmNobWFya1J1bm5lckNsaWVu
dCB1c2VzIFJlc3VsdHNEYXNoYm9hcmQgaW5zdGVhZCBvZiBfaXRlcmF0aW9uc1NhbXBsZXJzCisg
ICAgICAgIEdldCB0aGUgSlNPTiBmcm9tIFJlc3VsdHNEYXNoYm9hcmQudG9KU09OKCkgYW5kIHBh
c3MgaXQgdG8gUmVzdWx0c1RhYmxlLnNob3dJdGVyYXRpb25zKCkuCisgICAgICAgIEFsc28gc2V0
IHRoZSB0ZXh0Q29udGVudCBvZiB0aGUgIiNqc29uIiB0ZXh0YXJlYSB3aXRoIHRoZSByZXN1bHRz
IEpTT04uCisgICAgICAgIAorICAgICAgICAoc2hvd1Jlc3VsdHMpOiBEZWxldGUgdW5uZWVkZWQg
Y29kZS4KKyAgICAgICAgKHNob3dKc29uKTogU2hvd3MgdGhlICJqc29uIiBzZWN0aW9uLgorICAg
ICAgICAoc2hvd1Rlc3RHcmFwaCk6IFJlbmFtZSBzaG93R3JhcGgoKSB0byBiZSBzaG93VGVzdEdy
YXBoKCkuCisgICAgICAgIChzaG93VGVzdEpTT04pOiBTaG93cyB0aGUgSlNPTiBvZiBhIHNpbmds
ZSB0ZXN0UmVzdWx0cy4KKyAgICAgICAgKHNob3dHcmFwaCk6IERlbGV0ZWQuCisgICAgICAgIAor
ICAgICAgICAqIEFuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy90ZXN0cy5qczoKKyAgICAgICAg
VXNlIHRoZSBzdHJpbmcgdGFibGUgaW5zdGVhZCBvZiBwdXR0aW5nIGxpdGVyYWwgc3RyaW5ncy4K
KworICAgICAgICAqIEFuaW1vbWV0ZXIvdGVzdHMvcmVzb3VyY2VzL3N0YWdlLmpzOgorICAgICAg
ICAoU3RhZ2VCZW5jaG1hcmsucHJvdG90eXBlLnNob3dSZXN1bHRzKToKKyAgICAgICAgRml4IHRo
ZSBwYXJhbWV0ZXJzIHdoaWNoIGFyZSBwYXNzZWQgdG8gUmVjb3JkVGFibGUuc2hvd1JlY29yZCgp
LgorICAgICAgICAKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xl
cy9ib3VuY2luZy1jYW52YXMtaW1hZ2VzLmh0bWw6CisgICAgICAgICogQW5pbW9tZXRlci90ZXN0
cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctY2FudmFzLXNoYXBlcy5odG1sOgorICAgICAg
ICAqIEFuaW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLWNzcy1pbWFn
ZXMuaHRtbDoKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xlcy9i
b3VuY2luZy1jc3Mtc2hhcGVzLmh0bWw6CisgICAgICAgICogQW5pbW9tZXRlci90ZXN0cy9ib3Vu
Y2luZy1wYXJ0aWNsZXMvYm91bmNpbmctc3ZnLWltYWdlcy5odG1sOgorICAgICAgICAqIEFuaW1v
bWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLXN2Zy1zaGFwZXMuaHRtbDoK
KyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL2V4YW1wbGVzL2NhbnZhcy1lbGVjdHJvbnMuaHRt
bDoKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL2V4YW1wbGVzL2NhbnZhcy1zdGFycy5odG1s
OgorICAgICAgICAqIEFuaW1vbWV0ZXIvdGVzdHMvc2ltcGxlL3NpbXBsZS1jYW52YXMtcGF0aHMu
aHRtbDoKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL3RlbXBsYXRlL3RlbXBsYXRlLWNhbnZh
cy5odG1sOgorICAgICAgICAqIEFuaW1vbWV0ZXIvdGVzdHMvdGVtcGxhdGUvdGVtcGxhdGUtY3Nz
Lmh0bWw6CisgICAgICAgICogQW5pbW9tZXRlci90ZXN0cy90ZW1wbGF0ZS90ZW1wbGF0ZS1zdmcu
aHRtbDoKKyAgICAgICAgKiBBbmltb21ldGVyL3Rlc3RzL3RleHQvbGF5ZXJpbmctdGV4dC5odG1s
OgorICAgICAgICBJbmNsdWRlIHRoZSBuZXcgc3RyaW5ncy5qcyBmaWxlIGluIGFsbCB0aGUgdGVz
dCBmaWxlcy4KKwogMjAxNS0xMC0xMiAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIGNhbnZhcyBsaW5lIGRhc2ggdGVzdApJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9B
bmltb21ldGVyL3Jlc291cmNlcy9leHRlbnNpb25zLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQW5pbW9tZXRlci9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcwkocmV2aXNpb24gMTkx
NDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291cmNlcy9leHRlbnNpb25z
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNDIgKzE0MSw5NiBAQCBQcm9ncmVzc0Jhci5wcm90
b3R5cGUgPQogICAgIH0KIH0KIAotZnVuY3Rpb24gUmVjb3JkVGFibGUoZWxlbWVudCkKK2Z1bmN0
aW9uIFJlc3VsdHNEYXNoYm9hcmQoKQoreworICAgIHRoaXMuX2l0ZXJhdGlvbnNTYW1wbGVycyA9
IFtdOworfQorCitSZXN1bHRzRGFzaGJvYXJkLnByb3RvdHlwZSA9Cit7CisgICAgcHVzaDogZnVu
Y3Rpb24oc3VpdGVzU2FtcGxlcnMpCisgICAgeworICAgICAgICB0aGlzLl9pdGVyYXRpb25zU2Ft
cGxlcnMucHVzaChzdWl0ZXNTYW1wbGVycyk7ICAgICAgICAKKyAgICB9LAorICAgIAorICAgIHRv
SlNPTjogZnVuY3Rpb24oc3RhdGlzdGljcywgZ3JhcGgpCisgICAgeworICAgICAgICB2YXIgaXRl
cmF0aW9uc1Jlc3VsdHMgPSBbXTsKKyAgICAgICAgdmFyIGl0ZXJhdGlvbnNTY29yZXMgPSBbXTsK
KyAgICAgICAgCisgICAgICAgIHRoaXMuX2l0ZXJhdGlvbnNTYW1wbGVycy5mb3JFYWNoKGZ1bmN0
aW9uKGl0ZXJhdGlvblNhbXBsZXJzLCBpbmRleCkgeworICAgICAgICAgICAgdmFyIHN1aXRlc1Jl
c3VsdHMgPSB7fTsKKyAgICAgICAgICAgIHZhciBzdWl0ZXNTY29yZXMgPSBbXTsKKyAgICAgICAg
CisgICAgICAgICAgICBmb3IgKHZhciBzdWl0ZU5hbWUgaW4gaXRlcmF0aW9uU2FtcGxlcnMpIHsK
KyAgICAgICAgICAgICAgICB2YXIgc3VpdGUgPSBzdWl0ZUZyb21OYW1lKHN1aXRlTmFtZSk7Cisg
ICAgICAgICAgICAgICAgdmFyIHN1aXRlU2FtcGxlcnMgPSBpdGVyYXRpb25TYW1wbGVyc1tzdWl0
ZU5hbWVdOworCisgICAgICAgICAgICAgICAgdmFyIHRlc3RzUmVzdWx0cyA9IHt9OworICAgICAg
ICAgICAgICAgIHZhciB0ZXN0c1Njb3JlcyA9IFtdOworICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgICAgIGZvciAodmFyIHRlc3ROYW1lIGluIHN1aXRlU2FtcGxlcnMpIHsKKyAgICAgICAg
ICAgICAgICAgICAgdmFyIHNhbXBsZXIgPSBzdWl0ZVNhbXBsZXJzW3Rlc3ROYW1lXTsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdHNSZXN1bHRzW3Rlc3ROYW1lXSA9IHNhbXBsZXIudG9KU09OKHN0
YXRpc3RpY3MsIGdyYXBoKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdHNTY29yZXMucHVzaCh0
ZXN0c1Jlc3VsdHNbdGVzdE5hbWVdW1N0cmluZ3NbIkpTT05fU0NPUkUiXV0pOworICAgICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgICAgIHN1aXRlc1Jlc3VsdHNbc3VpdGVOYW1lXSA9ICB7
fTsKKyAgICAgICAgICAgICAgICBzdWl0ZXNSZXN1bHRzW3N1aXRlTmFtZV1bU3RyaW5nc1siSlNP
Tl9TQ09SRSJdXSA9IFN0YXRpc3RpY3MuZ2VvbWV0cmljTWVhbih0ZXN0c1Njb3Jlcyk7CisgICAg
ICAgICAgICAgICAgc3VpdGVzUmVzdWx0c1tzdWl0ZU5hbWVdW1N0cmluZ3NbIkpTT05fUkVTVUxU
UyJdWzJdXSA9IHRlc3RzUmVzdWx0czsKKyAgICAgICAgICAgICAgICBzdWl0ZXNTY29yZXMucHVz
aChzdWl0ZXNSZXN1bHRzW3N1aXRlTmFtZV1bU3RyaW5nc1siSlNPTl9TQ09SRSJdXSk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGl0ZXJhdGlvbnNSZXN1bHRzW2lu
ZGV4XSA9IHt9OworICAgICAgICAgICAgaXRlcmF0aW9uc1Jlc3VsdHNbaW5kZXhdW1N0cmluZ3Nb
IkpTT05fU0NPUkUiXV0gPSBTdGF0aXN0aWNzLmdlb21ldHJpY01lYW4oc3VpdGVzU2NvcmVzKTsK
KyAgICAgICAgICAgIGl0ZXJhdGlvbnNSZXN1bHRzW2luZGV4XVtTdHJpbmdzWyJKU09OX1JFU1VM
VFMiXVsxXV0gPSBzdWl0ZXNSZXN1bHRzOworICAgICAgICAgICAgaXRlcmF0aW9uc1Njb3Jlcy5w
dXNoKGl0ZXJhdGlvbnNSZXN1bHRzW2luZGV4XVtTdHJpbmdzWyJKU09OX1NDT1JFIl1dKTsKKyAg
ICAgICAgfSk7CisKKyAgICAgICAgdmFyIGpzb24gPSB7fTsKKyAgICAgICAganNvbltTdHJpbmdz
WyJKU09OX1NDT1JFIl1dID0gU3RhdGlzdGljcy5zYW1wbGVNZWFuKGl0ZXJhdGlvbnNTY29yZXMu
bGVuZ3RoLCBpdGVyYXRpb25zU2NvcmVzLnJlZHVjZShmdW5jdGlvbihhLCBiKSB7IHJldHVybiBh
ICogYjsgfSkpOworICAgICAgICBqc29uW1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzBdXSA9IGl0
ZXJhdGlvbnNSZXN1bHRzOworICAgICAgICByZXR1cm4ganNvbjsKKyAgICB9Cit9CisKK2Z1bmN0
aW9uIFJlc3VsdHNUYWJsZShlbGVtZW50LCBoZWFkZXJzKQogewogICAgIHRoaXMuZWxlbWVudCA9
IGVsZW1lbnQ7CisgICAgdGhpcy5faGVhZGVycyA9IGhlYWRlcnM7CiAgICAgdGhpcy5jbGVhcigp
OwogfQogCi1SZWNvcmRUYWJsZS5wcm90b3R5cGUgPQorUmVzdWx0c1RhYmxlLnByb3RvdHlwZSA9
CiB7CiAgICAgY2xlYXI6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuZWxlbWVudC5p
bm5lckhUTUwgPSAiIjsKICAgICB9LAotICAgIAotICAgIF9zaG93VGl0bGVzOiBmdW5jdGlvbihy
b3csIHF1ZXVlLCB0aXRsZXMsIG1lc3NhZ2UpCisKKyAgICBfc2hvd0hlYWRlclJvdzogZnVuY3Rp
b24ocm93LCBxdWV1ZSwgaGVhZGVycywgbWVzc2FnZSkKICAgICB7Ci0gICAgICAgIHRpdGxlcy5m
b3JFYWNoKGZ1bmN0aW9uICh0aXRsZSkgeworICAgICAgICBoZWFkZXJzLmZvckVhY2goZnVuY3Rp
b24gKGhlYWRlcikgewogICAgICAgICAgICAgdmFyIHRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgidGgiKTsKLSAgICAgICAgICAgIHRoLnRleHRDb250ZW50ID0gdGl0bGUudGV4dDsKKyAgICAg
ICAgICAgIHRoLnRleHRDb250ZW50ID0gaGVhZGVyLnRleHQ7CiAgICAgICAgICAgICBpZiAodHlw
ZW9mIG1lc3NhZ2UgIT0gInVuZGVmaW5lZCIgJiYgbWVzc2FnZS5sZW5ndGgpIHsKICAgICAgICAg
ICAgICAgICB0aC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpKTsKICAg
ICAgICAgICAgICAgICB0aC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnWycg
KyBtZXNzYWdlICsnXScpKTsKICAgICAgICAgICAgICAgICBtZXNzYWdlID0gIiI7CiAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBpZiAoIndpZHRoIiBpbiB0aXRsZSkKLSAgICAgICAgICAgICAg
ICB0aC53aWR0aCA9IHRpdGxlLndpZHRoICsgIiUiOworICAgICAgICAgICAgaWYgKCJ3aWR0aCIg
aW4gaGVhZGVyKQorICAgICAgICAgICAgICAgIHRoLndpZHRoID0gaGVhZGVyLndpZHRoICsgIiUi
OwogICAgICAgICAgICAgcm93LmFwcGVuZENoaWxkKHRoKTsKLSAgICAgICAgICAgIHF1ZXVlLnB1
c2goe2VsZW1lbnQ6IHRoLCB0aXRsZXM6IHRpdGxlLmNoaWxkcmVuIH0pOworICAgICAgICAgICAg
cXVldWUucHVzaCh7ZWxlbWVudDogdGgsIGhlYWRlcnM6IGhlYWRlci5jaGlsZHJlbiB9KTsKICAg
ICAgICAgfSk7CiAgICAgfSwKLSAgICAKLSAgICBfc2hvd0hlYWRlcjogZnVuY3Rpb24oc3VpdGVO
YW1lLCB0aXRsZXMsIG1lc3NhZ2UpCisKKyAgICBfc2hvd0hlYWRlcjogZnVuY3Rpb24obWVzc2Fn
ZSkKICAgICB7CiAgICAgICAgIHZhciByb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIp
OwogCiAgICAgICAgIHZhciBxdWV1ZSA9IFtdOwotICAgICAgICB0aGlzLl9zaG93VGl0bGVzKHJv
dywgcXVldWUsIHRpdGxlcywgbWVzc2FnZSk7CisgICAgICAgIHRoaXMuX3Nob3dIZWFkZXJSb3co
cm93LCBxdWV1ZSwgdGhpcy5faGVhZGVycywgbWVzc2FnZSk7CiAgICAgICAgIHRoaXMuZWxlbWVu
dC5hcHBlbmRDaGlsZChyb3cpOwogCiAgICAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGgpIHsKQEAg
LTE4Niw3ICsyNDAsNyBAQCBSZWNvcmRUYWJsZS5wcm90b3R5cGUgPQogICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDAsIGxlbiA9IHF1ZXVlLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7CiAgICAgICAg
ICAgICAgICAgdmFyIGVudHJ5ID0gcXVldWUuc2hpZnQoKTsKIAotICAgICAgICAgICAgICAgIGlm
ICghZW50cnkudGl0bGVzLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIGlmICghZW50cnkuaGVh
ZGVycy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgZW50cmllcy5wdXNoKGVudHJ5LmVs
ZW1lbnQpOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9
CkBAIC0xOTQsOCArMjQ4LDggQEAgUmVjb3JkVGFibGUucHJvdG90eXBlID0KICAgICAgICAgICAg
ICAgICBpZiAoIXJvdykKICAgICAgICAgICAgICAgICAgICAgdmFyIHJvdyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInRyIik7CiAKLSAgICAgICAgICAgICAgICB0aGlzLl9zaG93VGl0bGVzKHJv
dywgcXVldWUsIGVudHJ5LnRpdGxlcywgIiIpOwotICAgICAgICAgICAgICAgIGVudHJ5LmVsZW1l
bnQuY29sU3BhbiA9IGVudHJ5LnRpdGxlcy5sZW5ndGg7CisgICAgICAgICAgICAgICAgdGhpcy5f
c2hvd0hlYWRlclJvdyhyb3csIHF1ZXVlLCBlbnRyeS5oZWFkZXJzLCAiIik7CisgICAgICAgICAg
ICAgICAgZW50cnkuZWxlbWVudC5jb2xTcGFuID0gZW50cnkuaGVhZGVycy5sZW5ndGg7CiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChyb3cpIHsKQEAgLTIwNywxMDAgKzI2MSwxMzIg
QEAgUmVjb3JkVGFibGUucHJvdG90eXBlID0KICAgICAgICAgfQogICAgIH0sCiAgICAgCi0gICAg
X3Nob3dFbXB0eTogZnVuY3Rpb24ocm93LCB0ZXN0TmFtZSkKKyAgICBfc2hvd0VtcHR5OiBmdW5j
dGlvbihyb3cpCiAgICAgewogICAgICAgICB2YXIgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJ0ZCIpOwogICAgICAgICByb3cuYXBwZW5kQ2hpbGQodGQpOwogICAgIH0sCi0gICAgCi0gICAg
X3Nob3dWYWx1ZTogZnVuY3Rpb24ocm93LCB0ZXN0TmFtZSwgdmFsdWUpCisKKyAgICBfc2hvd1Rl
eHQ6IGZ1bmN0aW9uKHJvdywgdGV4dCkKICAgICB7CiAgICAgICAgIHZhciB0ZCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInRkIik7Ci0gICAgICAgIHRkLnRleHRDb250ZW50ID0gdmFsdWUudG9G
aXhlZCgyKTsKKyAgICAgICAgdGQudGV4dENvbnRlbnQgPSB0ZXh0OworICAgICAgICByb3cuYXBw
ZW5kQ2hpbGQodGQpOworICAgIH0sCisKKyAgICBfc2hvd0ZpeGVkTnVtYmVyOiBmdW5jdGlvbihy
b3csIHZhbHVlLCBkaWdpdHMpCisgICAgeworICAgICAgICB2YXIgdGQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJ0ZCIpOworICAgICAgICB0ZC50ZXh0Q29udGVudCA9IHZhbHVlLnRvRml4ZWQo
ZGlnaXRzIHx8IDIpOwogICAgICAgICByb3cuYXBwZW5kQ2hpbGQodGQpOwogICAgIH0sCiAgICAg
Ci0gICAgX3Nob3dTYW1wbGVzOiBmdW5jdGlvbihyb3csIHRlc3ROYW1lLCBheGVzLCBzYW1wbGVz
LCBzYW1wbGluZ1RpbWVPZmZzZXQpCisgICAgX3Nob3dHcmFwaDogZnVuY3Rpb24ocm93LCB0ZXN0
TmFtZSwgdGVzdFJlc3VsdHMpCiAgICAgeworICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRz
W1N0cmluZ3NbIkpTT05fU0FNUExFUyJdWzBdXTsKKyAgICAgICAgaWYgKCFkYXRhKSB7CisgICAg
ICAgICAgICB0aGlzLl9zaG93RW1wdHkocm93KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICAKICAgICAgICAgdmFyIHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
dGQiKTsKICAgICAgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwogICAgICAgICBidXR0b24uY2xhc3NOYW1lID0gInNtYWxsLWJ1dHRvbiI7Ci0gICAgICAgICAg
ICAKKwogICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIHdpbmRvdy5zaG93R3JhcGgodGVzdE5hbWUsIGF4ZXMsIHNhbXBsZXMs
IHNhbXBsaW5nVGltZU9mZnNldCk7CisgICAgICAgICAgICB2YXIgc2FtcGxlcyA9IGRhdGFbU3Ry
aW5nc1siSlNPTl9HUkFQSCJdWzBdXTsKKyAgICAgICAgICAgIHZhciBzYW1wbGluZ1RpbWVPZmZz
ZXQgPSBkYXRhW1N0cmluZ3NbIkpTT05fR1JBUEgiXVsxXV07CisgICAgICAgICAgICB2YXIgYXhl
cyA9IFN0cmluZ3NbIlRFWFRfRVhQRVJJTUVOVFMiXTsKKyAgICAgICAgICAgIHdpbmRvdy5zaG93
VGVzdEdyYXBoKHRlc3ROYW1lLCBheGVzLCBzYW1wbGVzLCBzYW1wbGluZ1RpbWVPZmZzZXQpOwog
ICAgICAgICB9KTsKICAgICAgICAgICAgIAotICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSAi
R3JhcGguLi4iOworICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSBTdHJpbmdzWyJURVhUX1JF
U1VMVFMiXVsxXSArICIuLi4iOwogICAgICAgICB0ZC5hcHBlbmRDaGlsZChidXR0b24pOwogICAg
ICAgICByb3cuYXBwZW5kQ2hpbGQodGQpOwogICAgIH0sCi0gICAgCi0gICAgX3Nob3dUZXN0OiBm
dW5jdGlvbih0ZXN0TmFtZSwgdGl0bGVzLCBzYW1wbGVyLCBmaW5hbFJlc3VsdHMpCisKKyAgICBf
c2hvd0pTT046IGZ1bmN0aW9uKHJvdywgdGVzdE5hbWUsIHRlc3RSZXN1bHRzKQogICAgIHsKLSAg
ICAgICAgdmFyIHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7Ci0gICAgICAgIHZh
ciB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Ci0gICAgICAgIAotICAgICAgICB0
ZC50ZXh0Q29udGVudCA9IHRlc3ROYW1lOwotICAgICAgICByb3cuYXBwZW5kQ2hpbGQodGQpOwor
ICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0cmluZ3NbIkpTT05fU0FNUExFUyJdWzBd
XTsKKyAgICAgICAgaWYgKCFkYXRhKSB7CisgICAgICAgICAgICB0aGlzLl9zaG93RW1wdHkocm93
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgdmFy
IGF4ZXMgPSBbXTsKLSAgICAgICAgc2FtcGxlci5leHBlcmltZW50cy5mb3JFYWNoKGZ1bmN0aW9u
KGV4cGVyaW1lbnQsIGluZGV4KSB7Ci0gICAgICAgICAgICB0aGlzLl9zaG93VmFsdWUocm93LCB0
ZXN0TmFtZSwgZXhwZXJpbWVudC5tZWFuKCkpOwotICAgICAgICAgICAgdGhpcy5fc2hvd1ZhbHVl
KHJvdywgdGVzdE5hbWUsIGV4cGVyaW1lbnQuY29uY2VybihFeHBlcmltZW50LmRlZmF1bHRzLkNP
TkNFUk4pKTsKLSAgICAgICAgICAgIHRoaXMuX3Nob3dWYWx1ZShyb3csIHRlc3ROYW1lLCBleHBl
cmltZW50LnN0YW5kYXJkRGV2aWF0aW9uKCkpOwotICAgICAgICAgICAgdGhpcy5fc2hvd1ZhbHVl
KHJvdywgdGVzdE5hbWUsIGV4cGVyaW1lbnQucGVyY2VudGFnZSgpKTsKLSAgICAgICAgICAgIGF4
ZXMucHVzaCh0aXRsZXNbaW5kZXggKyAxXS50ZXh0KTsKKyAgICAgICAgdmFyIHRkID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgidGQiKTsKKyAgICAgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBidXR0b24uY2xhc3NOYW1lID0gInNtYWxsLWJ1
dHRvbiI7CisKKyAgICAgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICB3aW5kb3cuc2hvd1Rlc3RKU09OKHRlc3ROYW1lLCB0ZXN0UmVz
dWx0cyk7CisgICAgICAgIH0pOwogICAgICAgICAgICAgCi0gICAgICAgIH0sIHRoaXMpOworICAg
ICAgICBidXR0b24udGV4dENvbnRlbnQgPSBTdHJpbmdzWyJURVhUX1JFU1VMVFMiXVsyXSArICIu
Li4iOworICAgICAgICB0ZC5hcHBlbmRDaGlsZChidXR0b24pOworICAgICAgICByb3cuYXBwZW5k
Q2hpbGQodGQpOworICAgIH0sCiAKLSAgICAgICAgdGhpcy5fc2hvd1ZhbHVlKHJvdywgdGVzdE5h
bWUsIHNhbXBsZXIuZXhwZXJpbWVudHNbMF0uc2NvcmUoRXhwZXJpbWVudC5kZWZhdWx0cy5DT05D
RVJOKSk7CisgICAgX3Nob3dUZXN0OiBmdW5jdGlvbih0ZXN0TmFtZSwgdGVzdFJlc3VsdHMpCisg
ICAgeworICAgICAgICB2YXIgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKTsKKyAg
ICAgICAgCisgICAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLl9oZWFkZXJz
Lmxlbmd0aDsgKytpbmRleCkgewogCi0gICAgICAgIGlmIChmaW5hbFJlc3VsdHMpCi0gICAgICAg
ICAgICB0aGlzLl9zaG93U2FtcGxlcyhyb3csIHRlc3ROYW1lLCBheGVzLCBzYW1wbGVyLnNhbXBs
ZXMsIHNhbXBsZXIuc2FtcGxpbmdUaW1lT2Zmc2V0KTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgdGhpcy5fc2hvd0VtcHR5KHJvdywgdGVzdE5hbWUpOwotICAgICAgICAgICAgCisgICAgICAg
ICAgICBzd2l0Y2ggKGluZGV4KSB7CisgICAgICAgICAgICBjYXNlIDA6CisgICAgICAgICAgICAg
ICAgdGhpcy5fc2hvd1RleHQocm93LCB0ZXN0TmFtZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IHRlc3RS
ZXN1bHRzW1N0cmluZ3NbIkpTT05fU0NPUkUiXVswXV07CisgICAgICAgICAgICAgICAgdGhpcy5f
c2hvd0ZpeGVkTnVtYmVyKHJvdywgZGF0YSwgMik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIGNhc2UgMzoKKyAgICAgICAgICAgICAg
ICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0cmluZ3NbIkpTT05fRVhQRVJJTUVOVFMiXVtpbmRl
eCAtIDJdXTsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBtZWFzdXJlbWVudCBpbiBkYXRhKQor
ICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaG93Rml4ZWROdW1iZXIocm93LCBkYXRhW21lYXN1
cmVtZW50XSwgMik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICBjYXNlIDQ6CisgICAgICAgICAgICAgICAgdGhpcy5fc2hvd0dyYXBoKHJvdywg
dGVzdE5hbWUsIHRlc3RSZXN1bHRzKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9zaG93SlNPTihy
b3csIHRlc3ROYW1lLCB0ZXN0UmVzdWx0cyk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBl
bmRDaGlsZChyb3cpOwogICAgIH0sCi0gICAgCi0gICAgX3Nob3dTdWl0ZTogZnVuY3Rpb24oc3Vp
dGUsIHN1aXRlU2FtcGxlcnMpCisKKyAgICBfc2hvd1N1aXRlOiBmdW5jdGlvbihzdWl0ZU5hbWUs
IHN1aXRlUmVzdWx0cykKICAgICB7Ci0gICAgICAgIHZhciBzY29yZXMgPSBbXTsgICAgICAgIAot
ICAgICAgICBmb3IgKHZhciB0ZXN0TmFtZSBpbiBzdWl0ZVNhbXBsZXJzKSB7Ci0gICAgICAgICAg
ICB2YXIgdGVzdCA9IHRlc3RGcm9tTmFtZShzdWl0ZSwgdGVzdE5hbWUpOwotICAgICAgICAgICAg
dmFyIHNhbXBsZXIgPSBzdWl0ZVNhbXBsZXJzW3Rlc3ROYW1lXTsgCi0gICAgICAgICAgICB0aGlz
Ll9zaG93VGVzdCh0ZXN0TmFtZSwgc3VpdGUudGl0bGVzLCBzYW1wbGVyLCB0cnVlKTsKLSAgICAg
ICAgICAgIHNjb3Jlcy5wdXNoKHNhbXBsZXIuZXhwZXJpbWVudHNbMF0uc2NvcmUoRXhwZXJpbWVu
dC5kZWZhdWx0cy5DT05DRVJOKSk7CisgICAgICAgIGZvciAodmFyIHRlc3ROYW1lIGluIHN1aXRl
UmVzdWx0c1tTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVsyXV0pIHsKKyAgICAgICAgICAgIHRoaXMu
X3Nob3dUZXN0KHRlc3ROYW1lLCBzdWl0ZVJlc3VsdHNbU3RyaW5nc1siSlNPTl9SRVNVTFRTIl1b
Ml1dW3Rlc3ROYW1lXSk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHNjb3JlczsKICAgICB9
LAogICAgIAotICAgIHNob3dSZWNvcmQ6IGZ1bmN0aW9uKHN1aXRlLCB0ZXN0LCBzYW1wbGVyLCBt
ZXNzYWdlKQorICAgIF9zaG93SXRlcmF0aW9uIDogZnVuY3Rpb24oaXRlcmF0aW9uUmVzdWx0cykK
ICAgICB7Ci0gICAgICAgIHRoaXMuY2xlYXIoKTsgICAgICAgIAotICAgICAgICB0aGlzLl9zaG93
SGVhZGVyKCIiLCBzdWl0ZS50aXRsZXMsIG1lc3NhZ2UpOwotICAgICAgICB0aGlzLl9zaG93VGVz
dCh0ZXN0Lm5hbWUsIHN1aXRlLnRpdGxlcywgc2FtcGxlciwgZmFsc2UpOyAgICAgICAgCisgICAg
ICAgIGZvciAodmFyIHN1aXRlTmFtZSBpbiBpdGVyYXRpb25SZXN1bHRzW1N0cmluZ3NbIkpTT05f
UkVTVUxUUyJdWzFdXSkgeworICAgICAgICAgICAgdGhpcy5fc2hvd1N1aXRlKHN1aXRlTmFtZSwg
aXRlcmF0aW9uUmVzdWx0c1tTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVsxXV1bc3VpdGVOYW1lXSk7
CisgICAgICAgIH0KICAgICB9LAogICAgIAotICAgIHNob3dJdGVyYXRpb25zOiBmdW5jdGlvbihp
dGVyYXRpb25zU2FtcGxlcnMpCisgICAgc2hvd1JlY29yZDogZnVuY3Rpb24odGVzdE5hbWUsIG1l
c3NhZ2UsIHRlc3RSZXN1bHRzKQogICAgIHsKICAgICAgICAgdGhpcy5jbGVhcigpOworICAgICAg
ICB0aGlzLl9zaG93SGVhZGVyKG1lc3NhZ2UpOworICAgICAgICB0aGlzLl9zaG93VGVzdCh0ZXN0
TmFtZSwgdGVzdFJlc3VsdHMpOworICAgIH0sCiAKLSAgICAgICAgdmFyIHNjb3JlcyA9IFtdOwot
ICAgICAgICB2YXIgdGl0bGVzID0gbnVsbDsKLSAgICAgICAgaXRlcmF0aW9uc1NhbXBsZXJzLmZv
ckVhY2goZnVuY3Rpb24oc3VpdGVzU2FtcGxlcnMpIHsKLSAgICAgICAgICAgIGZvciAodmFyIHN1
aXRlTmFtZSBpbiBzdWl0ZXNTYW1wbGVycykgewotICAgICAgICAgICAgICAgIHZhciBzdWl0ZSA9
IHN1aXRlRnJvbU5hbWUoc3VpdGVOYW1lKTsKLSAgICAgICAgICAgICAgICBpZiAodGl0bGVzICE9
IHN1aXRlLnRpdGxlcykgewotICAgICAgICAgICAgICAgICAgICB0aXRsZXMgPSBzdWl0ZS50aXRs
ZXM7Ci0gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dIZWFkZXIoc3VpdGVOYW1lLCB0aXRs
ZXMsICIiKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICB2YXIgc3VpdGVT
Y29yZXMgPSB0aGlzLl9zaG93U3VpdGUoc3VpdGUsIHN1aXRlc1NhbXBsZXJzW3N1aXRlTmFtZV0p
OwotICAgICAgICAgICAgICAgIHNjb3Jlcy5wdXNoLmFwcGx5KHNjb3Jlcywgc3VpdGVTY29yZXMp
OwotICAgICAgICAgICAgfQorICAgIHNob3dJdGVyYXRpb25zOiBmdW5jdGlvbihpdGVyYXRpb25z
UmVzdWx0cykKKyAgICB7CisgICAgICAgIHRoaXMuY2xlYXIoKTsKKyAgICAgICAgdGhpcy5fc2hv
d0hlYWRlcigiIik7CisgICAgICAgIAorICAgICAgICBpdGVyYXRpb25zUmVzdWx0cy5mb3JFYWNo
KGZ1bmN0aW9uKGl0ZXJhdGlvblJlc3VsdHMpIHsKKyAgICAgICAgICAgIHRoaXMuX3Nob3dJdGVy
YXRpb24oaXRlcmF0aW9uUmVzdWx0cyk7CiAgICAgICAgIH0sIHRoaXMpOwotCi0gICAgICAgIHJl
dHVybiBTdGF0aXN0aWNzLmdlb21ldHJpY01lYW4oc2NvcmVzKTsKICAgICB9CiB9CkluZGV4OiBQ
ZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3VyY2VzL3NhbXBsZXIuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291cmNlcy9zYW1wbGVyLmpzCShy
ZXZpc2lvbiAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3VyY2Vz
L3NhbXBsZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEwMywyMiArMTAzLDQ5IEBAIGZ1bmN0aW9u
IFNhbXBsZXIoY291bnQpCiAKIFNhbXBsZXIucHJvdG90eXBlID0KIHsKLSAgICBzdGFydFNhbXBs
aW5nOiBmdW5jdGlvbih0aW1lT2Zmc2V0KQorICAgIHN0YXJ0U2FtcGxpbmc6IGZ1bmN0aW9uKHNh
bXBsaW5nVGltZU9mZnNldCkKICAgICB7Ci0gICAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5k
ZXggPCB0aGlzLmV4cGVyaW1lbnRzLmxlbmd0aDsgKytpbmRleCkKLSAgICAgICAgICAgIHRoaXMu
ZXhwZXJpbWVudHNbaW5kZXhdLnN0YXJ0U2FtcGxpbmcoKTsKKyAgICAgICAgdGhpcy5leHBlcmlt
ZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGV4cGVyaW1lbnQpIHsKKyAgICAgICAgICAgIGV4cGVyaW1l
bnQuc3RhcnRTYW1wbGluZygpOworICAgICAgICB9KTsKICAgICAgICAgICAgIAotICAgICAgICB0
aGlzLnNhbXBsaW5nVGltZU9mZnNldCA9IHRpbWVPZmZzZXQgLyAxMDAwOworICAgICAgICB0aGlz
LnNhbXBsaW5nVGltZU9mZnNldCA9IHNhbXBsaW5nVGltZU9mZnNldCAvIDEwMDA7CiAgICAgfSwK
ICAgICAKICAgICBzYW1wbGU6IGZ1bmN0aW9uKHRpbWVPZmZzZXQsIHZhbHVlcykKICAgICB7CiAg
ICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoIDwgdGhpcy5leHBlcmltZW50cy5sZW5ndGgpCiAgICAg
ICAgICAgICB0aHJvdyAiTm90IGVub3VnaCBzYW1wbGUgcG9pbnRzIjsKKworICAgICAgICB0aGlz
LmV4cGVyaW1lbnRzLmZvckVhY2goZnVuY3Rpb24oZXhwZXJpbWVudCwgaW5kZXgpIHsKKyAgICAg
ICAgICAgIGV4cGVyaW1lbnQuc2FtcGxlKHZhbHVlc1tpbmRleF0pOworICAgICAgICB9KTsKICAg
ICAgICAgICAgICAgICAgICAgCi0gICAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCB0
aGlzLmV4cGVyaW1lbnRzLmxlbmd0aDsgKytpbmRleCkKLSAgICAgICAgICAgIHRoaXMuZXhwZXJp
bWVudHNbaW5kZXhdLnNhbXBsZSh2YWx1ZXNbaW5kZXhdKTsKLSAgICAgICAgICAgIAogICAgICAg
ICB0aGlzLnNhbXBsZXMucHVzaCh7IHRpbWVPZmZzZXQ6IHRpbWVPZmZzZXQgLyAxMDAwLCB2YWx1
ZXM6IHZhbHVlcyB9KTsKKyAgICB9LAorICAgIAorICAgIHRvSlNPTjogZnVuY3Rpb24oc3RhdGlz
dGljcywgZ3JhcGgpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0cyA9IHt9OworICAgICAgICAg
CisgICAgICAgIHJlc3VsdHNbU3RyaW5nc1siSlNPTl9TQ09SRSJdXSA9IHRoaXMuZXhwZXJpbWVu
dHNbMF0uc2NvcmUoRXhwZXJpbWVudC5kZWZhdWx0cy5DT05DRVJOKTsKKyAgICAgICAgICAgCisg
ICAgICAgIGlmIChzdGF0aXN0aWNzKSB7CisgICAgICAgICAgICB0aGlzLmV4cGVyaW1lbnRzLmZv
ckVhY2goZnVuY3Rpb24oZXhwZXJpbWVudCwgaW5kZXgpIHsKKyAgICAgICAgICAgICAgICByZXN1
bHRzW1N0cmluZ3NbIkpTT05fRVhQRVJJTUVOVFMiXVtpbmRleF1dID0ge307CisgICAgICAgICAg
ICAgICAgcmVzdWx0c1tTdHJpbmdzWyJKU09OX0VYUEVSSU1FTlRTIl1baW5kZXhdXVtTdHJpbmdz
WyJKU09OX01FQVNVUkVNRU5UUyJdWzBdXSA9IGV4cGVyaW1lbnQubWVhbigpOworICAgICAgICAg
ICAgICAgIHJlc3VsdHNbU3RyaW5nc1siSlNPTl9FWFBFUklNRU5UUyJdW2luZGV4XV1bU3RyaW5n
c1siSlNPTl9NRUFTVVJFTUVOVFMiXVsxXV0gPSBleHBlcmltZW50LmNvbmNlcm4oRXhwZXJpbWVu
dC5kZWZhdWx0cy5DT05DRVJOKTsKKyAgICAgICAgICAgICAgICByZXN1bHRzW1N0cmluZ3NbIkpT
T05fRVhQRVJJTUVOVFMiXVtpbmRleF1dW1N0cmluZ3NbIkpTT05fTUVBU1VSRU1FTlRTIl1bMl1d
ID0gZXhwZXJpbWVudC5zdGFuZGFyZERldmlhdGlvbigpOworICAgICAgICAgICAgICAgIHJlc3Vs
dHNbU3RyaW5nc1siSlNPTl9FWFBFUklNRU5UUyJdW2luZGV4XV1bU3RyaW5nc1siSlNPTl9NRUFT
VVJFTUVOVFMiXVszXV0gPSBleHBlcmltZW50LnBlcmNlbnRhZ2UoKTsKKyAgICAgICAgICAgIH0p
OworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAoZ3JhcGgpIHsKKyAgICAgICAgICAg
IHJlc3VsdHNbU3RyaW5nc1siSlNPTl9TQU1QTEVTIl1bMF1dID0ge307CisgICAgICAgICAgICBy
ZXN1bHRzW1N0cmluZ3NbIkpTT05fU0FNUExFUyJdWzBdXVtTdHJpbmdzWyJKU09OX0dSQVBIIl1b
MF1dID0gdGhpcy5zYW1wbGVzOworICAgICAgICAgICAgcmVzdWx0c1tTdHJpbmdzWyJKU09OX1NB
TVBMRVMiXVswXV1bU3RyaW5nc1siSlNPTl9HUkFQSCJdWzFdXSA9IHRoaXMuc2FtcGxpbmdUaW1l
T2Zmc2V0OworICAgICAgICB9CisgICAgICAgIAorICAgICAgICByZXR1cm4gcmVzdWx0czsKICAg
ICB9CiB9CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3VyY2VzL3N0cmlu
Z3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291cmNl
cy9zdHJpbmdzLmpzCShyZXZpc2lvbiAwKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVy
L3Jlc291cmNlcy9zdHJpbmdzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKK3Zh
ciBTdHJpbmdzID0geworICAgIFRFWFRfVEVTVE5BTUU6ICAgICAgIFsgIlRlc3QgTmFtZSIgXSwK
KyAgICBURVhUX0VYUEVSSU1FTlRTOiAgICBbICJDb21wbGV4aXR5IiwgIkZQUyIgXSwKKyAgICBU
RVhUX01FQVNVUkVNRU5UUzogICBbICJBdmcuIiwgIlcuNSUiLCAiU3RkLiIsICIlIiBdLAorICAg
IFRFWFRfU0NPUkU6ICAgICAgICAgIFsgIlNjb3JlIiBdLAorICAgIFRFWFRfU0FNUExFUzogICAg
ICAgIFsgIlNhbXBsZXMiIF0sCisgICAgVEVYVF9SRVNVTFRTOiAgICAgICAgWyAiUmVzdWx0cyIs
ICJHcmFwaCIsICJKU09OIiBdLAorICAgIAorICAgIEpTT05fRVhQRVJJTUVOVFM6ICAgIFsgImNv
bXBsZXhpdHkiLCAiZnJhbWVSYXRlIiBdLAorICAgIEpTT05fTUVBU1VSRU1FTlRTOiAgIFsgImF2
ZXJhZ2UiLCAiY29uY2VybiIsICJzdGRldiIsICJwZXJjZW50IiBdLAorICAgIEpTT05fU0NPUkU6
ICAgICAgICAgIFsgInNjb3JlIiBdLAorICAgIEpTT05fU0FNUExFUzogICAgICAgIFsgInNhbXBs
ZXMiIF0sCisgICAgSlNPTl9HUkFQSDogICAgICAgICAgWyAicG9pbnRzIiwgInNhbXBsaW5nVGlt
ZU9mZnNldCIgXSwKKyAgICBKU09OX1JFU1VMVFM6ICAgICAgICBbICJpdGVyYXRpb25zUmVzdWx0
cyIsICJzdWl0ZXNSZXN1bHRzIiwgInRlc3RzUmVzdWx0cyIgXSwKK307CkluZGV4OiBQZXJmb3Jt
YW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVyL2FuaW1vbWV0ZXIuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVyL2FuaW1vbWV0ZXIuaHRtbAkocmV2
aXNpb24gMTkxNDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9hbmlt
b21ldGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsNiArMiw3IEBACiA8aHRtbD4KIDxoZWFk
PgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2FuaW1vbWV0ZXIu
Y3NzIj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3N0cmluZ3MuanMiIGRlZmVyPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2FtcGxlci5qcyIgZGVmZXI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9leHRlbnNpb25zLmpzIiBk
ZWZlcj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3RzLmpzIiBkZWZl
cj0iIj48L3NjcmlwdD4KQEAgLTQzLDIwICs0NCwzNyBAQAogICAgICAgICAgICAgPC9kaXY+CiAg
ICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgPHNlY3Rpb24gaWQ9InJlc3VsdHMiPgotICAgICAg
ICAgICAgPGgxPlJlc3VsdHM8L2gxPgorICAgICAgICAgICAgPGgxPlJlc3VsdHM6PC9oMT4KICAg
ICAgICAgICAgIDx0YWJsZSBjbGFzcz0icmVzdWx0cy10YWJsZSI+PC90YWJsZT4KICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9ImJ1dHRvbnMiPgorICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGlj
az0ic2hvd0pzb24oKSI+SlNPTjwvYnV0dG9uPgogICAgICAgICAgICAgICAgIDxidXR0b24gb25j
bGljaz0ic3RhcnRUZXN0KCkiPlRlc3QgQWdhaW48L2J1dHRvbj4KICAgICAgICAgICAgIDwvZGl2
PgogICAgICAgICA8L3NlY3Rpb24+ICAKLSAgICAgICAgPHNlY3Rpb24gaWQ9ImdyYXBoIj4KLSAg
ICAgICAgICAgIDxoMT5HcmFwaDwvaDE+CisgICAgICAgIDxzZWN0aW9uIGlkPSJqc29uIj4KKyAg
ICAgICAgICAgIDxoMT5KU09OOjwvaDE+CisgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9InJl
c3VsdHMtanNvbiI+PC90ZXh0YXJlYT4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbnMi
PgorICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0ic2hvd1Jlc3VsdHMoKSI+UmVzdWx0
czwvYnV0dG9uPgorICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0ic3RhcnRUZXN0KCki
PlRlc3QgQWdhaW48L2J1dHRvbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L3NlY3Rp
b24+ICAKKyAgICAgICAgPHNlY3Rpb24gaWQ9InRlc3QtZ3JhcGgiPgorICAgICAgICAgICAgPGgx
PkdyYXBoOjwvaDE+CiAgICAgICAgICAgICA8ZGl2IGlkPSJncmFwaENvbnRhaW5lciI+PC9kaXY+
CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b25zIj4KICAgICAgICAgICAgICAgICA8YnV0
dG9uIG9uY2xpY2s9InNob3dSZXN1bHRzKCkiPlJlc3VsdHM8L2J1dHRvbj4KICAgICAgICAgICAg
ICAgICA8YnV0dG9uIG9uY2xpY2s9InN0YXJ0VGVzdCgpIj5UZXN0IEFnYWluPC9idXR0b24+ICAg
ICAgICAKICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICA8L3NlY3Rpb24+ICAKKyAgICAgICAg
PHNlY3Rpb24gaWQ9InRlc3QtanNvbiI+CisgICAgICAgICAgICA8aDE+SlNPTjo8L2gxPgorICAg
ICAgICAgICAgPHRleHRhcmVhIGNsYXNzPSJyZXN1bHRzLWpzb24iPjwvdGV4dGFyZWE+CisgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b25zIj4KKyAgICAgICAgICAgICAgICA8YnV0dG9uIG9u
Y2xpY2s9InNob3dSZXN1bHRzKCkiPlJlc3VsdHM8L2J1dHRvbj4KKyAgICAgICAgICAgICAgICA8
YnV0dG9uIG9uY2xpY2s9InN0YXJ0VGVzdCgpIj5UZXN0IEFnYWluPC9idXR0b24+ICAgICAgICAK
KyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L3NlY3Rpb24+ICAKICAgICA8L21haW4+CiA8
L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVy
L3Jlc291cmNlcy9hbmltb21ldGVyLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3Rz
L0FuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9hbmltb21ldGVyLmNzcwkocmV2aXNpb24gMTkx
NDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMvYW5p
bW9tZXRlci5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTExNyw2ICsxMTcsMTcgQEAgc2VjdGlvbiNy
ZXN1bHRzID4gdGFibGUgdGggewogICAgIHRleHQtYWxpZ246IGNlbnRlcjsKIH0KIAorc2VjdGlv
biN0ZXN0LWpzb24gPiB0ZXh0YXJlYSwKK3NlY3Rpb24janNvbiA+IHRleHRhcmVhIHsKKyAgICB3
aWR0aDogODAwcHg7CisgICAgaGVpZ2h0OiA0NjBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2IoMTI4LCAxMjgsIDEyOCk7CisgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDIzNSwgMjM1LCAy
MzUpOworICAgIGNvbG9yOiB3aGl0ZTsKKyAgICB3aGl0ZS1zcGFjZTogcHJlOworICAgIG92ZXJm
bG93OiBzY3JvbGw7Cit9CisKIC5vcHRpb25zIHsKICAgICBtYXJnaW46MCBhdXRvOyAgICAKICAg
ICBtYXJnaW4tdG9wOiAzMHB4OwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1
bm5lci9yZXNvdXJjZXMvYW5pbW9tZXRlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRl
c3RzL0FuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9hbmltb21ldGVyLmpzCShyZXZpc2lvbiAx
OTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9h
bmltb21ldGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQCB3aW5kb3cuYmVuY2ht
YXJrUnVubmVyQ2xpZW50ID0gewogICAgIHJlY29yZFRhYmxlOiBudWxsLAogICAgIG9wdGlvbnM6
IHsgdGVzdEludGVydmFsOiAzMDAwMCwgZnJhbWVSYXRlOiA1MCwgZXN0aW1hdGVkRnJhbWVSYXRl
OiB0cnVlLCBmaXhUZXN0Q29tcGxleGl0eSA6IGZhbHNlIH0sCiAgICAgc2NvcmU6IDAsCi0gICAg
X2l0ZXJhdGlvbnNTYW1wbGVyczogW10sCisgICAgX3Jlc3VsdHNEYXNoYm9hcmQ6IG51bGwsCiAg
ICAgX3Jlc3VsdHNUYWJsZTogbnVsbCwKICAgICAKICAgICB3aWxsQWRkVGVzdEZyYW1lOiBmdW5j
dGlvbiAoZnJhbWUpCkBAIC0yMywyMSArMjMsMzEgQEAgd2luZG93LmJlbmNobWFya1J1bm5lckNs
aWVudCA9IHsKICAgICAKICAgICB3aWxsU3RhcnRGaXJzdEl0ZXJhdGlvbjogZnVuY3Rpb24gKCkK
ICAgICB7Ci0gICAgICAgIHRoaXMuX2l0ZXJhdGlvbnNTYW1wbGVycyA9IFtdOwotICAgICAgICB0
aGlzLl9yZXN1bHRzVGFibGUgPSBuZXcgUmVjb3JkVGFibGUoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgiLnJlc3VsdHMtdGFibGUiKVswXSk7CisgICAgICAgIHRoaXMuX3Jlc3VsdHNEYXNoYm9h
cmQgPSBuZXcgUmVzdWx0c0Rhc2hib2FyZCgpOworICAgICAgICB0aGlzLl9yZXN1bHRzVGFibGUg
PSBuZXcgUmVzdWx0c1RhYmxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5yZXN1bHRzLXRhYmxl
IiksIEhlYWRlcnMpOwogICAgICAgICAKICAgICAgICAgdGhpcy5wcm9ncmVzc0JhciA9IG5ldyBQ
cm9ncmVzc0Jhcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJvZ3Jlc3MtY29tcGxldGVkIiks
IHRoaXMudGVzdHNDb3VudCk7Ci0gICAgICAgIHRoaXMucmVjb3JkVGFibGUgPSBuZXcgUmVjb3Jk
VGFibGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnJlY29yZC10YWJsZSIpWzBdKTsKKyAg
ICAgICAgdGhpcy5yZWNvcmRUYWJsZSA9IG5ldyBSZXN1bHRzVGFibGUoZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigiLnJlY29yZC10YWJsZSIpLCBIZWFkZXJzKTsKICAgICB9LAogICAgIAogICAgIGRp
ZFJ1blN1aXRlczogZnVuY3Rpb24gKHN1aXRlc1NhbXBsZXJzKQogICAgIHsKLSAgICAgICAgdGhp
cy5faXRlcmF0aW9uc1NhbXBsZXJzLnB1c2goc3VpdGVzU2FtcGxlcnMpOworICAgICAgICB0aGlz
Ll9yZXN1bHRzRGFzaGJvYXJkLnB1c2goc3VpdGVzU2FtcGxlcnMpOwogICAgIH0sCiAgICAgCiAg
ICAgZGlkRmluaXNoTGFzdEl0ZXJhdGlvbjogZnVuY3Rpb24gKCkKICAgICB7Ci0gICAgICAgIHRo
aXMuc2NvcmUgPSB0aGlzLl9yZXN1bHRzVGFibGUuc2hvd0l0ZXJhdGlvbnModGhpcy5faXRlcmF0
aW9uc1NhbXBsZXJzLCAiIik7CisgICAgICAgIHZhciBqc29uID0gdGhpcy5fcmVzdWx0c0Rhc2hi
b2FyZC50b0pTT04odHJ1ZSwgdHJ1ZSk7CisgICAgICAgIHRoaXMuX3Jlc3VsdHNUYWJsZS5zaG93
SXRlcmF0aW9ucyhqc29uW1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzBdXSk7CisgICAgICAgIAor
ICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNqc29uID4gdGV4
dGFyZWEiKTsKKyAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBKU09OLnN0cmluZ2lmeShqc29u
W1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzBdXVswXSwgZnVuY3Rpb24oa2V5LCB2YWx1ZSkgeyAK
KyAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gIm51bWJlciIpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHZhbHVlLnRvRml4ZWQoMik7CisgICAgICAgICAgICByZXR1cm4gdmFsdWU7Cisg
ICAgICAgIH0sIDQpOworICAgICAgICAKKyAgICAgICAgdGhpcy5zY29yZSA9IGpzb25bU3RyaW5n
c1siSlNPTl9TQ09SRSJdXTsKICAgICAgICAgc2hvd1Jlc3VsdHMoKTsKICAgICB9CiB9CkBAIC05
MiwxMCArMTAyLDEwIEBAIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiAgICAgc3RhcnRCZW5jaG1hcmso
KTsKIH0KIAotZnVuY3Rpb24gc2hvd1Jlc3VsdHMoc2NvcmUpCitmdW5jdGlvbiBzaG93UmVzdWx0
cygpCiB7CiAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcmVzdWx0
cyA+IGgxIik7Ci0gICAgZWxlbWVudC50ZXh0Q29udGVudCA9ICJSZXN1bHRzOiIKKyAgICBlbGVt
ZW50LnRleHRDb250ZW50ID0gU3RyaW5nc1siVEVYVF9SRVNVTFRTIl1bMF0gKyAiOiI7CiAgICAg
CiAgICAgdmFyIHNjb3JlID0gYmVuY2htYXJrUnVubmVyQ2xpZW50LnNjb3JlLnRvRml4ZWQoMik7
CiAgICAgZWxlbWVudC50ZXh0Q29udGVudCArPSAiIFtTY29yZSA9ICIgKyBzY29yZSArICJdIjsK
QEAgLTEwMywxNiArMTEzLDQ1IEBAIGZ1bmN0aW9uIHNob3dSZXN1bHRzKHNjb3JlKQogICAgIHNo
b3dTZWN0aW9uKCJyZXN1bHRzIiwgdHJ1ZSk7CiB9CiAKLWZ1bmN0aW9uIHNob3dHcmFwaCh0ZXN0
TmFtZSwgYXhlcywgc2FtcGxlcywgc2FtcGxpbmdUaW1lT2Zmc2V0KQorZnVuY3Rpb24gc2hvd0pz
b24oKQoreworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2pzb24g
PiBoMSIpOworICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSBTdHJpbmdzWyJURVhUX1JFU1VMVFMi
XVsyXSArICI6IjsKKyAgICAKKyAgICB2YXIgc2NvcmUgPSBiZW5jaG1hcmtSdW5uZXJDbGllbnQu
c2NvcmUudG9GaXhlZCgyKTsKKyAgICBlbGVtZW50LnRleHRDb250ZW50ICs9ICIgW1Njb3JlID0g
IiArIHNjb3JlICsgIl0iOworCisgICAgc2hvd1NlY3Rpb24oImpzb24iLCB0cnVlKTsKK30KKwor
ZnVuY3Rpb24gc2hvd1Rlc3RHcmFwaCh0ZXN0TmFtZSwgYXhlcywgc2FtcGxlcywgc2FtcGxpbmdU
aW1lT2Zmc2V0KQogewotICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigi
I2dyYXBoID4gaDEiKTsKLSAgICBlbGVtZW50LnRleHRDb250ZW50ID0gIkdyYXBoOiIKKyAgICB2
YXIgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN0ZXN0LWdyYXBoID4gaDEiKTsK
KyAgICBlbGVtZW50LnRleHRDb250ZW50ID0gU3RyaW5nc1siVEVYVF9SRVNVTFRTIl1bMV0gKyAi
OiI7CiAKICAgICBpZiAodGVzdE5hbWUubGVuZ3RoKQogICAgICAgICBlbGVtZW50LnRleHRDb250
ZW50ICs9ICIgW3Rlc3QgPSAiICsgdGVzdE5hbWUgKyAiXSI7CiAgICAgICAgICAgICAKICAgICBn
cmFwaCgiI2dyYXBoQ29udGFpbmVyIiwgbmV3IFBvaW50KDcwMCwgNDAwKSwgbmV3IEluc2V0cygy
MCwgNTAsIDIwLCA1MCksIGF4ZXMsIHNhbXBsZXMsIHNhbXBsaW5nVGltZU9mZnNldCk7Ci0gICAg
c2hvd1NlY3Rpb24oImdyYXBoIiwgdHJ1ZSk7ICAgIAorICAgIHNob3dTZWN0aW9uKCJ0ZXN0LWdy
YXBoIiwgdHJ1ZSk7ICAgIAorfQorCitmdW5jdGlvbiBzaG93VGVzdEpTT04odGVzdE5hbWUsIHRl
c3RSZXN1bHRzKQoreworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigi
I3Rlc3QtanNvbiA+IGgxIik7CisgICAgZWxlbWVudC50ZXh0Q29udGVudCA9IFN0cmluZ3NbIlRF
WFRfUkVTVUxUUyJdWzJdICsgIjoiOworCisgICAgaWYgKHRlc3ROYW1lLmxlbmd0aCkKKyAgICAg
ICAgZWxlbWVudC50ZXh0Q29udGVudCArPSAiIFt0ZXN0ID0gIiArIHRlc3ROYW1lICsgIl0iOwor
ICAgICAgICAgICAgCisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIj
dGVzdC1qc29uID4gdGV4dGFyZWEiKTsKKyAgICBlbGVtZW50LmlubmVySFRNTCA9IEpTT04uc3Ry
aW5naWZ5KHRlc3RSZXN1bHRzLCBmdW5jdGlvbihrZXksIHZhbHVlKSB7IAorICAgICAgICBpZiAo
dHlwZW9mIHZhbHVlID09ICJudW1iZXIiKQorICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvRml4
ZWQoMik7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9LCA0KTsKKworICAgIHNob3dTZWN0
aW9uKCJ0ZXN0LWpzb24iLCB0cnVlKTsgICAgCiB9CiAKIGZ1bmN0aW9uIHBvcHVsYXRlU2V0dGlu
Z3MoKSB7CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNl
cy90ZXN0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVu
bmVyL3Jlc291cmNlcy90ZXN0cy5qcwkocmV2aXNpb24gMTkxNDUzKQorKysgUGVyZm9ybWFuY2VU
ZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMvdGVzdHMuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNDYgKzEsNDkgQEAKLXZhciBUaXRsZXMgPSBbCit2YXIgSGVhZGVycyA9IFsKICAgICB7
Ci0gICAgICAgIHRleHQ6ICJUZXN0IE5hbWUiLAotICAgICAgICB3aWR0aDogMjgsCisgICAgICAg
IHRleHQ6IFN0cmluZ3NbIlRFWFRfVEVTVE5BTUUiXVswXSwKKyAgICAgICAgd2lkdGg6IDI3LAog
ICAgICAgICBjaGlsZHJlbjogW10KICAgICB9LAogICAgIHsKLSAgICAgICAgdGV4dDogIkFuaW1h
dGVkIEl0ZW1zIiwKLSAgICAgICAgd2lkdGg6IDI4LAorICAgICAgICB0ZXh0OiBTdHJpbmdzWyJU
RVhUX1NDT1JFIl1bMF0sCisgICAgICAgIHdpZHRoOiA3LAorICAgICAgICBjaGlsZHJlbjogW10K
KyAgICB9LAorICAgIHsKKyAgICAgICAgdGV4dDogU3RyaW5nc1siVEVYVF9FWFBFUklNRU5UUyJd
WzBdLAorICAgICAgICB3aWR0aDogMjcsCiAgICAgICAgIGNoaWxkcmVuOgogICAgICAgICBbCi0g
ICAgICAgICAgICB7IHRleHQ6ICAgIkF2Zy4iLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCi0g
ICAgICAgICAgICB7IHRleHQ6ICAgIlcuNSUiLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCi0g
ICAgICAgICAgICB7IHRleHQ6ICAgIlN0ZC4iLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCi0g
ICAgICAgICAgICB7IHRleHQ6ICAgICAgIiUiLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCisg
ICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRTIl1bMF0sIHdpZHRo
OiA3LCBjaGlsZHJlbjogW10gfSwKKyAgICAgICAgICAgIHsgdGV4dDogU3RyaW5nc1siVEVYVF9N
RUFTVVJFTUVOVFMiXVsxXSwgd2lkdGg6IDcsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAgICAg
eyB0ZXh0OiBTdHJpbmdzWyJURVhUX01FQVNVUkVNRU5UUyJdWzJdLCB3aWR0aDogNywgY2hpbGRy
ZW46IFtdIH0sCisgICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRT
Il1bM10sIHdpZHRoOiA2LCBjaGlsZHJlbjogW10gfSwKICAgICAgICAgXQogICAgIH0sCiAgICAg
ewotICAgICAgICB0ZXh0OiAiRlBTIiwKLSAgICAgICAgd2lkdGg6IDI4LAorICAgICAgICB0ZXh0
OiBTdHJpbmdzWyJURVhUX0VYUEVSSU1FTlRTIl1bMV0sCisgICAgICAgIHdpZHRoOiAyNCwKICAg
ICAgICAgY2hpbGRyZW46CiAgICAgICAgIFsKLSAgICAgICAgICAgIHsgdGV4dDogICAiQXZnLiIs
IHdpZHRoOiA3LCBjaGlsZHJlbjogW10gfSwKLSAgICAgICAgICAgIHsgdGV4dDogICAiVy41JSIs
IHdpZHRoOiA3LCBjaGlsZHJlbjogW10gfSwKLSAgICAgICAgICAgIHsgdGV4dDogICAiU3RkLiIs
IHdpZHRoOiA3LCBjaGlsZHJlbjogW10gfSwKLSAgICAgICAgICAgIHsgdGV4dDogICAgICAiJSIs
IHdpZHRoOiA3LCBjaGlsZHJlbjogW10gfSwKKyAgICAgICAgICAgIHsgdGV4dDogU3RyaW5nc1si
VEVYVF9NRUFTVVJFTUVOVFMiXVswXSwgd2lkdGg6IDYsIGNoaWxkcmVuOiBbXSB9LAorICAgICAg
ICAgICAgeyB0ZXh0OiBTdHJpbmdzWyJURVhUX01FQVNVUkVNRU5UUyJdWzFdLCB3aWR0aDogNiwg
Y2hpbGRyZW46IFtdIH0sCisgICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VS
RU1FTlRTIl1bMl0sIHdpZHRoOiA2LCBjaGlsZHJlbjogW10gfSwKKyAgICAgICAgICAgIHsgdGV4
dDogU3RyaW5nc1siVEVYVF9NRUFTVVJFTUVOVFMiXVszXSwgd2lkdGg6IDYsIGNoaWxkcmVuOiBb
XSB9LAogICAgICAgICBdCiAgICAgfSwKICAgICB7Ci0gICAgICAgIHRleHQ6ICJTY29yZSIsCi0g
ICAgICAgIHdpZHRoOiA4LAotICAgICAgICBjaGlsZHJlbjogW10KLSAgICB9LAotICAgIHsKLSAg
ICAgICAgdGV4dDogIlNhbXBsZXMiLAotICAgICAgICB3aWR0aDogOCwKLSAgICAgICAgY2hpbGRy
ZW46IFtdCisgICAgICAgIHRleHQ6IFN0cmluZ3NbIlRFWFRfU0FNUExFUyJdWzBdLAorICAgICAg
ICB3aWR0aDogMTUsCisgICAgICAgIGNoaWxkcmVuOgorICAgICAgICBbCisgICAgICAgICAgICB7
IHRleHQ6IFN0cmluZ3NbIlRFWFRfUkVTVUxUUyJdWzFdLCB3aWR0aDogOCwgY2hpbGRyZW46IFtd
IH0sCisgICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfUkVTVUxUUyJdWzJdLCB3aWR0
aDogNywgY2hpbGRyZW46IFtdIH0sCisgICAgICAgIF0KICAgICB9CiBdOwogCiB2YXIgU3VpdGUg
PSBmdW5jdGlvbihuYW1lLCB0ZXN0cykgewogICAgIHRoaXMubmFtZSA9IG5hbWU7Ci0gICAgdGhp
cy50aXRsZXMgPSBUaXRsZXM7CiAgICAgdGhpcy50ZXN0cyA9IHRlc3RzOwogfTsKIFN1aXRlLnBy
b3RvdHlwZS5wcmVwYXJlID0gZnVuY3Rpb24ocnVubmVyLCBjb250ZW50V2luZG93LCBjb250ZW50
RG9jdW1lbnQpCkBAIC01NCw3ICs1Nyw2IEBAIFN1aXRlLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlv
bihjb250ZW50V2kKICAgICByZXR1cm4gY29udGVudFdpbmRvdy5ydW5CZW5jaG1hcmsodGhpcywg
dGVzdCwgb3B0aW9ucywgcmVjb3JkVGFibGUsIHByb2dyZXNzQmFyKTsKIH07CiAKLQogdmFyIFN1
aXRlcyA9IFtdOwogCiBTdWl0ZXMucHVzaChuZXcgU3VpdGUoIkhUTUwgc3VpdGUiLApJbmRleDog
UGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xlcy9ib3Vu
Y2luZy1jYW52YXMtaW1hZ2VzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9B
bmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xlcy9ib3VuY2luZy1jYW52YXMtaW1hZ2Vz
Lmh0bWwJKHJldmlzaW9uIDE5MTQ1MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90
ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctY2FudmFzLWltYWdlcy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC05LDYgKzksNyBAQAogICAgIDwvc3R5bGU+CiAgICAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3VyY2VzL3N0YWdlLmNzcyI+
CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hbGdvcml0aG0uanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RyaW5ncy5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zYW1wbGVyLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2V4dGVuc2lvbnMuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5qcyI+PC9zY3JpcHQ+CkluZGV4
OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2Jv
dW5jaW5nLWNhbnZhcy1zaGFwZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3Rz
L0FuaW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLWNhbnZhcy1zaGFw
ZXMuaHRtbAkocmV2aXNpb24gMTkxNDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVy
L3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xlcy9ib3VuY2luZy1jYW52YXMtc2hhcGVzLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiA8aGVhZD4KICAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvc3RhZ2UuY3NzIj4KICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2FsZ29yaXRobS5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdHJpbmdzLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3NhbXBsZXIuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRoLmpzIj48L3NjcmlwdD4KSW5kZXg6IFBl
cmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNp
bmctY3NzLWltYWdlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9t
ZXRlci90ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctY3NzLWltYWdlcy5odG1sCShy
ZXZpc2lvbiAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvYm91
bmNpbmctcGFydGljbGVzL2JvdW5jaW5nLWNzcy1pbWFnZXMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtOCw2ICs4LDcgQEAKICAgICA8L3N0eWxlPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
dHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgogICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvYWxnb3JpdGhtLmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3N0cmluZ3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc2FtcGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9leHRlbnNpb25zLmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL21hdGguanMiPjwvc2NyaXB0PgpJbmRleDogUGVyZm9ybWFu
Y2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xlcy9ib3VuY2luZy1jc3Mt
c2hhcGVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rl
c3RzL2JvdW5jaW5nLXBhcnRpY2xlcy9ib3VuY2luZy1jc3Mtc2hhcGVzLmh0bWwJKHJldmlzaW9u
IDE5MTQ1MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9ib3VuY2luZy1w
YXJ0aWNsZXMvYm91bmNpbmctY3NzLXNoYXBlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOSw2
ICsxOSw3IEBACiAgICAgPC9zdHlsZT4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvc3RhZ2UuY3NzIj4KICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2FsZ29yaXRobS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9zdHJpbmdzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3NhbXBsZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9tYXRoLmpzIj48L3NjcmlwdD4KSW5kZXg6IFBlcmZvcm1hbmNlVGVz
dHMvQW5pbW9tZXRlci90ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctc3ZnLWltYWdl
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9i
b3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmctc3ZnLWltYWdlcy5odG1sCShyZXZpc2lvbiAxOTE0
NTMpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvYm91bmNpbmctcGFydGlj
bGVzL2JvdW5jaW5nLXN2Zy1pbWFnZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcg
QEAKIDxoZWFkPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
ZWY9Ii4uL3Jlc291cmNlcy9zdGFnZS5jc3MiPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvYWxnb3JpdGhtLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3N0cmluZ3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvc2FtcGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9leHRlbnNpb25zLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL21hdGguanMiPjwvc2NyaXB0PgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVy
L3Rlc3RzL2JvdW5jaW5nLXBhcnRpY2xlcy9ib3VuY2luZy1zdmctc2hhcGVzLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL2JvdW5jaW5nLXBhcnRp
Y2xlcy9ib3VuY2luZy1zdmctc2hhcGVzLmh0bWwJKHJldmlzaW9uIDE5MTQ1MykKKysrIFBlcmZv
cm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9ib3VuY2luZy1wYXJ0aWNsZXMvYm91bmNpbmct
c3ZnLXNoYXBlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAogPGhlYWQ+CiAg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3Vy
Y2VzL3N0YWdlLmNzcyI+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hbGdvcml0
aG0uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RyaW5n
cy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zYW1wbGVy
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2V4dGVuc2lv
bnMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5qcyI+
PC9zY3JpcHQ+CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvZXhhbXBs
ZXMvY2FudmFzLWVsZWN0cm9ucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMv
QW5pbW9tZXRlci90ZXN0cy9leGFtcGxlcy9jYW52YXMtZWxlY3Ryb25zLmh0bWwJKHJldmlzaW9u
IDE5MTQ1MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9leGFtcGxlcy9j
YW52YXMtZWxlY3Ryb25zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiA8aGVh
ZD4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9y
ZXNvdXJjZXMvc3RhZ2UuY3NzIj4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Fs
Z29yaXRobS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9z
dHJpbmdzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Nh
bXBsZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0
ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRo
LmpzIj48L3NjcmlwdD4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9l
eGFtcGxlcy9jYW52YXMtc3RhcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3Rz
L0FuaW1vbWV0ZXIvdGVzdHMvZXhhbXBsZXMvY2FudmFzLXN0YXJzLmh0bWwJKHJldmlzaW9uIDE5
MTQ1MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9leGFtcGxlcy9jYW52
YXMtc3RhcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKIDxoZWFkPgogICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Jlc291cmNl
cy9zdGFnZS5jc3MiPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvYWxnb3JpdGht
LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3N0cmluZ3Mu
anMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc2FtcGxlci5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9leHRlbnNpb25z
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21hdGguanMiPjwv
c2NyaXB0PgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL3Jlc291cmNl
cy9zdGFnZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVz
dHMvcmVzb3VyY2VzL3N0YWdlLmpzCShyZXZpc2lvbiAxOTE0NTMpCisrKyBQZXJmb3JtYW5jZVRl
c3RzL0FuaW1vbWV0ZXIvdGVzdHMvcmVzb3VyY2VzL3N0YWdlLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzQsMTEgKzE3NCwxMSBAQCBTdGFnZUJlbmNobWFyay5wcm90b3R5cGUuY2xlYXIgPSBmdW5j
dGlvCiAKIFN0YWdlQmVuY2htYXJrLnByb3RvdHlwZS5zaG93UmVzdWx0cyA9IGZ1bmN0aW9uKG1l
c3NhZ2UsIHByb2dyZXNzKQogewotICAgIGlmICghdGhpcy5fcmVjb3JkVGFibGUgfHwgIXRoaXMu
X3Byb2dyZXNzQmFyIHx8ICF0aGlzLl9zdWl0ZSB8fCAhdGhpcy5fdGVzdCkKKyAgICBpZiAoIXRo
aXMuX3JlY29yZFRhYmxlIHx8ICF0aGlzLl9wcm9ncmVzc0JhciB8fCAhdGhpcy5fdGVzdCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHRoaXMub3B0aW9ucy5zaG93UnVubmluZ1Jlc3VsdHMp
Ci0gICAgICAgIHRoaXMuX3JlY29yZFRhYmxlLnNob3dSZWNvcmQodGhpcy5fc3VpdGUsIHRoaXMu
X3Rlc3QsIHRoaXMuX3NhbXBsZXIsIG1lc3NhZ2UpOworICAgICAgICB0aGlzLl9yZWNvcmRUYWJs
ZS5zaG93UmVjb3JkKHRoaXMuX3Rlc3QubmFtZSwgbWVzc2FnZSwgdGhpcy5fc2FtcGxlci50b0pT
T04odHJ1ZSwgZmFsc2UpKTsKIAogICAgIHRoaXMuX3Byb2dyZXNzQmFyLnNldFBvcyhwcm9ncmVz
cyk7CiB9CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvc2ltcGxlL3Np
bXBsZS1jYW52YXMtcGF0aHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0Fu
aW1vbWV0ZXIvdGVzdHMvc2ltcGxlL3NpbXBsZS1jYW52YXMtcGF0aHMuaHRtbAkocmV2aXNpb24g
MTkxNDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL3NpbXBsZS9zaW1w
bGUtY2FudmFzLXBhdGhzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiA8aGVh
ZD4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9y
ZXNvdXJjZXMvc3RhZ2UuY3NzIj4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Fs
Z29yaXRobS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9z
dHJpbmdzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Nh
bXBsZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0
ZW5zaW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRo
LmpzIj48L3NjcmlwdD4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy90
ZW1wbGF0ZS90ZW1wbGF0ZS1jYW52YXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRl
c3RzL0FuaW1vbWV0ZXIvdGVzdHMvdGVtcGxhdGUvdGVtcGxhdGUtY2FudmFzLmh0bWwJKHJldmlz
aW9uIDE5MTQ1MykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy90ZW1wbGF0
ZS90ZW1wbGF0ZS1jYW52YXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKIDxo
ZWFkPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4u
L3Jlc291cmNlcy9zdGFnZS5jc3MiPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
YWxnb3JpdGhtLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3N0cmluZ3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
c2FtcGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9l
eHRlbnNpb25zLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21h
dGguanMiPjwvc2NyaXB0PgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3Rz
L3RlbXBsYXRlL3RlbXBsYXRlLWNzcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVz
dHMvQW5pbW9tZXRlci90ZXN0cy90ZW1wbGF0ZS90ZW1wbGF0ZS1jc3MuaHRtbAkocmV2aXNpb24g
MTkxNDUzKQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL3RlbXBsYXRlL3Rl
bXBsYXRlLWNzcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAogPGhlYWQ+CiAg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcmVzb3Vy
Y2VzL3N0YWdlLmNzcyI+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hbGdvcml0
aG0uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvc3RyaW5n
cy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zYW1wbGVy
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2V4dGVuc2lv
bnMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWF0aC5qcyI+
PC9zY3JpcHQ+CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvdGVtcGxh
dGUvdGVtcGxhdGUtc3ZnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmlt
b21ldGVyL3Rlc3RzL3RlbXBsYXRlL3RlbXBsYXRlLXN2Zy5odG1sCShyZXZpc2lvbiAxOTE0NTMp
CisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvdGVtcGxhdGUvdGVtcGxhdGUt
c3ZnLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiA8aGVhZD4KICAgICA8bGlu
ayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvc3Rh
Z2UuY3NzIj4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2FsZ29yaXRobS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdHJpbmdzLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3NhbXBsZXIuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRoLmpzIj48L3Njcmlw
dD4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy90ZXh0L2xheWVyaW5n
LXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVz
dHMvdGV4dC9sYXllcmluZy10ZXh0Lmh0bWwJKHJldmlzaW9uIDE5MTQ1MykKKysrIFBlcmZvcm1h
bmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy90ZXh0L2xheWVyaW5nLXRleHQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTMsNiArMTMsNyBAQAogICAgIDwvc3R5bGU+ICAKICAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9yZXNvdXJjZXMvc3RhZ2UuY3Nz
Ij4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2FsZ29yaXRobS5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9zdHJpbmdzLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3NhbXBsZXIuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYXRoLmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>