<?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>68348</bug_id>
          
          <creation_ts>2011-09-19 04:19:25 -0700</creation_ts>
          <short_desc>String#split is buggy</short_desc>
          <delta_ts>2011-09-19 18:41:00 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://stevenlevithan.com/demo/split.cfm</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mathias Bynens">mathias</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>mathias</cc>
    
    <cc>mrowe</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>469324</commentid>
    <comment_count>0</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2011-09-19 04:19:25 -0700</bug_when>
    <thetext>Spec: http://es5.github.com/x15.5.html#x15.5.4.14
Test case: http://stevenlevithan.com/demo/split.cfm

&apos;.&apos;.split(/()()/); // should return [&quot;.&quot;] but instead returns [&quot;&quot;, &quot;&quot;, &quot;.&quot;]
&apos;.&apos;.split(/(.??)(.??)/); // should return [&quot;.&quot;] but instead returns [&quot;&quot;, &quot;&quot;, &quot;.&quot;]
&apos;tesst&apos;.split(/(s)*/); // should return [&quot;t&quot;, undefined, &quot;e&quot;, &quot;s&quot;, &quot;t&quot;] but returns [undefined, &quot;t&quot;, undefined, &quot;e&quot;, &quot;s&quot;, undefined, &quot;t&quot;]
&apos;tesst&apos;.split(/(s)*?/); // should return [&quot;t&quot;, undefined, &quot;e&quot;, undefined, &quot;s&quot;, undefined, &quot;s&quot;, undefined, &quot;t&quot;] but returns [undefined, &quot;t&quot;, undefined, &quot;e&quot;, undefined, &quot;s&quot;, undefined, &quot;s&quot;, undefined, &quot;t&quot;]
&apos;tesst&apos;.split(/(s*)/); // should return [&quot;t&quot;, &quot;&quot;, &quot;e&quot;, &quot;ss&quot;, &quot;t&quot;] but returns [&quot;&quot;, &quot;t&quot;, &quot;&quot;, &quot;e&quot;, &quot;ss&quot;, &quot;&quot;, &quot;t&quot;]
&apos;tesst&apos;.split(/(s*?)/); // should return [&quot;t&quot;, &quot;&quot;, &quot;e&quot;, &quot;&quot;, &quot;s&quot;, &quot;&quot;, &quot;s&quot;, &quot;&quot;, &quot;t&quot;] but returns [&quot;&quot;, &quot;t&quot;, &quot;&quot;, &quot;e&quot;, &quot;&quot;, &quot;s&quot;, &quot;&quot;, &quot;s&quot;, &quot;&quot;, &quot;t&quot;]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469836</commentid>
    <comment_count>1</comment_count>
      <attachid>107951</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-19 18:03:18 -0700</bug_when>
    <thetext>Created attachment 107951
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469842</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-19 18:07:17 -0700</bug_when>
    <thetext>Attachment 107951 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/JavaScriptCore/runtime/StringPrototype.cpp:824:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/JavaScriptCore/runtime/StringPrototype.cpp:827:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/JavaScriptCore/runtime/StringPrototype.cpp:928:  Semicolon defining empty statement for this loop. Use { } instead.  [whitespace/semicolon] [5]
Total errors found: 3 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469843</commentid>
    <comment_count>3</comment_count>
      <attachid>107951</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-09-19 18:09:04 -0700</bug_when>
    <thetext>Comment on attachment 107951
Fix

View in context: https://bugs.webkit.org/attachment.cgi?id=107951&amp;action=review

&gt; Source/JavaScriptCore/runtime/StringPrototype.cpp:806
&gt; +    // 3. Let A be a new array created as if by the expression new Array()where Array is the

Weird spacing.

&gt; Source/JavaScriptCore/runtime/StringPrototype.cpp:813
&gt; +    // 5. If limit is undefined, let lim = 2^32â1; else let lim = ToUint32(limit).

I think you have a unicode!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469852</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-19 18:41:00 -0700</bug_when>
    <thetext>Fixed in r95504</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107951</attachid>
            <date>2011-09-19 18:03:18 -0700</date>
            <delta_ts>2011-09-19 18:09:04 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>68348.patch</filename>
            <type>text/plain</type>
            <size>25803</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTU0OTkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMDktMTkgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIFN0cmluZyNzcGxpdCBpcyBidWdneQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoKKyAg
ICAgICAgKEpTQzo6anNTdHJpbmdXaXRoUmV1c2UpOgorICAgICAgICAgICAgLSBhZGRlZCBoZWxw
ZXIgZnVuY3Rpb24gdG8gcmV1c2Ugb3JpZ2luYWwgSlNTdHJpbmcgdmFsdWUuCisgICAgICAgIChK
U0M6OnN0cmluZ1Byb3RvRnVuY1NwbGl0KToKKyAgICAgICAgICAgIC0gUmV3cml0dGVuIGZyb20g
dGhlIHNwZWMuCisgICAgICAgICogdGVzdHMvbW96aWxsYS9lY21hL1N0cmluZy8xNS41LjQuOC0y
LmpzOgorICAgICAgICAoZ2V0VGVzdENhc2VzKToKKyAgICAgICAgICAgIC0gVGhpcyB0ZXN0IGlz
IG5vdCBFUzUgY29tcGxpYW50LgorCiAyMDExLTA5LTE5ICBFbGkgRmlkbGVyICA8ZWZpZGxlckBy
aW0uY29tPgogCiAgICAgICAgIEVuYWJsZSBKU0NfTVVMVElQTEVfVEhSRUFEUyBmb3IgT1MoUU5Y
KS4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJv
dG90eXBlLmNwcAkocmV2aXNpb24gOTU0NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNiArMTU3LDE4
IEBAIGJvb2wgU3RyaW5nUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eURlc2MKIAogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogCisvLyBIZWxwZXIgZm9yIHByb2R1Y2luZyBhIEpTU3RyaW5nIGZvciAnc3RyaW5nJywg
d2hlcmUgJ3N0cmluZycgd2FzIGJlZW4gcHJvZHVjZWQgYnkKKy8vIGNhbGxpbmcgVG9TdHJpbmcg
b24gJ29yaWdpbmFsVmFsdWUnLiBJbiBjYXNlcyB3aGVyZSAnb3JpZ2luYWxWYWx1ZScgYWxyZWFk
eSB3YXMgYQorLy8gc3RyaW5nIHByaW1pdGl2ZSB3ZSBjYW4ganVzdCB1c2UgdGhpcywgb3RoZXJ3
aXNlIHdlIG5lZWQgdG8gYWxsb2NhdGUgYSBuZXcgSlNTdHJpbmcuCitzdGF0aWMgaW5saW5lIEpT
U3RyaW5nKiBqc1N0cmluZ1dpdGhSZXVzZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgb3JpZ2lu
YWxWYWx1ZSwgY29uc3QgVVN0cmluZyYgc3RyaW5nKQoreworICAgIGlmIChvcmlnaW5hbFZhbHVl
LmlzU3RyaW5nKCkpIHsKKyAgICAgICAgQVNTRVJUKGFzU3RyaW5nKG9yaWdpbmFsVmFsdWUpLT52
YWx1ZShleGVjKSA9PSBzdHJpbmcpOworICAgICAgICByZXR1cm4gYXNTdHJpbmcob3JpZ2luYWxW
YWx1ZSk7CisgICAgfQorICAgIHJldHVybiBqc1N0cmluZyhleGVjLCBzdHJpbmcpOworfQorCiBz
dGF0aWMgTkVWRVJfSU5MSU5FIFVTdHJpbmcgc3Vic3RpdHV0ZUJhY2tyZWZlcmVuY2VzU2xvdyhj
b25zdCBVU3RyaW5nJiByZXBsYWNlbWVudCwgY29uc3QgVVN0cmluZyYgc291cmNlLCBjb25zdCBp
bnQqIG92ZWN0b3IsIFJlZ0V4cCogcmVnLCBzaXplX3QgaSkKIHsKICAgICBWZWN0b3I8VUNoYXI+
IHN1YnN0aXR1dGVkUmVwbGFjZW1lbnQ7CkBAIC03NzksNjkgKzc5MSwxNzYgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90bwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNFbXB0eVN0cmluZyhleGVjKSk7CiB9CiAKKy8vIEVTIDUuMSAtIDE1LjUuNC4xNCBTdHJp
bmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KQogRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNTcGxpdChFeGVjU3RhdGUqIGV4ZWMpCiB7CisgICAg
Ly8gMS4gQ2FsbCBDaGVja09iamVjdENvZXJjaWJsZSBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFz
IGl0cyBhcmd1bWVudC4KICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFs
dWUoKTsKLSAgICBpZiAodGhpc1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIC8vIENoZWNrT2Jq
ZWN0Q29lcmNpYmxlCisgICAgaWYgKHRoaXNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKQogICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKLSAgICBVU3RyaW5nIHMgPSB0aGlz
VmFsdWUudG9TdHJpbmcoZXhlYyk7Ci0gICAgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gJmV4
ZWMtPmdsb2JhbERhdGEoKTsKIAotICAgIEpTVmFsdWUgYTAgPSBleGVjLT5hcmd1bWVudCgwKTsK
LSAgICBKU1ZhbHVlIGExID0gZXhlYy0+YXJndW1lbnQoMSk7CisgICAgLy8gMi4gTGV0IFMgYmUg
dGhlIHJlc3VsdCBvZiBjYWxsaW5nIFRvU3RyaW5nLCBnaXZpbmcgaXQgdGhlIHRoaXMgdmFsdWUg
YXMgaXRzIGFyZ3VtZW50LgorICAgIC8vIDYuIExldCBzIGJlIHRoZSBudW1iZXIgb2YgY2hhcmFj
dGVycyBpbiBTLgorICAgIFVTdHJpbmcgaW5wdXQgPSB0aGlzVmFsdWUudG9TdHJpbmcoZXhlYyk7
CiAKKyAgICAvLyAzLiBMZXQgQSBiZSBhIG5ldyBhcnJheSBjcmVhdGVkIGFzIGlmIGJ5IHRoZSBl
eHByZXNzaW9uIG5ldyBBcnJheSgpd2hlcmUgQXJyYXkgaXMgdGhlCisgICAgLy8gICAgc3RhbmRh
cmQgYnVpbHQtaW4gY29uc3RydWN0b3Igd2l0aCB0aGF0IG5hbWUuCiAgICAgSlNBcnJheSogcmVz
dWx0ID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjKTsKLSAgICB1bnNpZ25lZCBpID0gMDsKLSAg
ICB1bnNpZ25lZCBwMCA9IDA7Ci0gICAgdW5zaWduZWQgbGltaXQgPSBhMS5pc1VuZGVmaW5lZCgp
ID8gMHhGRkZGRkZGRlUgOiBhMS50b1VJbnQzMihleGVjKTsKLSAgICBpZiAoYTAuaW5oZXJpdHMo
JlJlZ0V4cE9iamVjdDo6c19pbmZvKSkgewotICAgICAgICBSZWdFeHAqIHJlZyA9IGFzUmVnRXhw
T2JqZWN0KGEwKS0+cmVnRXhwKCk7Ci0gICAgICAgIGlmIChzLmlzRW1wdHkoKSAmJiByZWctPm1h
dGNoKCpnbG9iYWxEYXRhLCBzLCAwKSA+PSAwKSB7Ci0gICAgICAgICAgICAvLyBlbXB0eSBzdHJp
bmcgbWF0Y2hlZCBieSByZWdleHAgLT4gZW1wdHkgYXJyYXkKKworICAgIC8vIDQuIExldCBsZW5n
dGhBIGJlIDAuCisgICAgdW5zaWduZWQgcmVzdWx0TGVuZ3RoID0gMDsKKworICAgIC8vIDUuIElm
IGxpbWl0IGlzIHVuZGVmaW5lZCwgbGV0IGxpbSA9IDJeMzLigJMxOyBlbHNlIGxldCBsaW0gPSBU
b1VpbnQzMihsaW1pdCkuCisgICAgSlNWYWx1ZSBsaW1pdFZhbHVlID0gZXhlYy0+YXJndW1lbnQo
MSk7CisgICAgdW5zaWduZWQgbGltaXQgPSBsaW1pdFZhbHVlLmlzVW5kZWZpbmVkKCkgPyAweEZG
RkZGRkZGdSA6IGxpbWl0VmFsdWUudG9VSW50MzIoZXhlYyk7CisKKyAgICAvLyA5LiBJZiBsaW0g
PT0gMCwgcmV0dXJuIEEuCisgICAgaWYgKCFsaW1pdCkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShyZXN1bHQpOworCisgICAgLy8gMTAuIElmIHNlcGFyYXRvciBpcyB1bmRlZmluZWQs
IHRoZW4KKyAgICBKU1ZhbHVlIHNlcGFyYXRvclZhbHVlID0gZXhlYy0+YXJndW1lbnQoMCk7Cisg
ICAgaWYgKHNlcGFyYXRvclZhbHVlLmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgLy8gYS4gIENh
bGwgdGhlIFtbRGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb2YgQSB3aXRoIGFy
Z3VtZW50cyAiMCIsCisgICAgICAgIC8vICAgICBQcm9wZXJ0eSBEZXNjcmlwdG9yIHtbW1ZhbHVl
XV06IFMsIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmln
dXJhYmxlXV06IHRydWV9LCBhbmQgZmFsc2UuCisgICAgICAgIHJlc3VsdC0+cHV0KGV4ZWMsIDAs
IGpzU3RyaW5nV2l0aFJldXNlKGV4ZWMsIHRoaXNWYWx1ZSwgaW5wdXQpKTsKKyAgICAgICAgLy8g
Yi4gIFJldHVybiBBLgorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cisg
ICAgfQorCisgICAgLy8gNy4gTGV0IHAgPSAwLgorICAgIHNpemVfdCBwb3NpdGlvbiA9IDA7CisK
KyAgICAvLyA4LiBJZiBzZXBhcmF0b3IgaXMgYSBSZWdFeHAgb2JqZWN0IChpdHMgW1tDbGFzc11d
IGlzICJSZWdFeHAiKSwgbGV0IFIgPSBzZXBhcmF0b3I7CisgICAgLy8gICAgb3RoZXJ3aXNlIGxl
dCBSID0gVG9TdHJpbmcoc2VwYXJhdG9yKS4KKyAgICBpZiAoc2VwYXJhdG9yVmFsdWUuaW5oZXJp
dHMoJlJlZ0V4cE9iamVjdDo6c19pbmZvKSkgeworICAgICAgICBKU0dsb2JhbERhdGEqIGdsb2Jh
bERhdGEgPSAmZXhlYy0+Z2xvYmFsRGF0YSgpOworICAgICAgICBSZWdFeHAqIHJlZyA9IGFzUmVn
RXhwT2JqZWN0KHNlcGFyYXRvclZhbHVlKS0+cmVnRXhwKCk7CisKKyAgICAgICAgLy8gMTEuIElm
IHMgPT0gMCwgdGhlbgorICAgICAgICBpZiAoaW5wdXQuaXNFbXB0eSgpKSB7CisgICAgICAgICAg
ICAvLyBhLiBDYWxsIFNwbGl0TWF0Y2goUywgMCwgUikgYW5kIGxldCB6IGJlIGl0cyBNYXRjaFJl
c3VsdCByZXN1bHQuCisgICAgICAgICAgICAvLyBiLiBJZiB6IGlzIG5vdCBmYWlsdXJlLCByZXR1
cm4gQS4KKyAgICAgICAgICAgIC8vIGMuIENhbGwgdGhlIFtbRGVmaW5lT3duUHJvcGVydHldXSBp
bnRlcm5hbCBtZXRob2Qgb2YgQSB3aXRoIGFyZ3VtZW50cyAiMCIsCisgICAgICAgICAgICAvLyAg
ICBQcm9wZXJ0eSBEZXNjcmlwdG9yIHtbW1ZhbHVlXV06IFMsIFtbV3JpdGFibGVdXTogdHJ1ZSwg
W1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9LCBhbmQgZmFsc2Uu
CisgICAgICAgICAgICAvLyBkLiBSZXR1cm4gQS4KKyAgICAgICAgICAgIGlmIChyZWctPm1hdGNo
KCpnbG9iYWxEYXRhLCBpbnB1dCwgMCkgPCAwKQorICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0
KGV4ZWMsIDAsIGpzU3RyaW5nV2l0aFJldXNlKGV4ZWMsIHRoaXNWYWx1ZSwgaW5wdXQpKTsKICAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKICAgICAgICAgfQotICAg
ICAgICB1bnNpZ25lZCBwb3MgPSAwOwotICAgICAgICB3aGlsZSAoaSAhPSBsaW1pdCAmJiBwb3Mg
PCBzLmxlbmd0aCgpKSB7CisKKyAgICAgICAgLy8gMTIuIExldCBxID0gcC4KKyAgICAgICAgc2l6
ZV90IG1hdGNoUG9zaXRpb24gPSAwOworICAgICAgICAvLyAxMy4gUmVwZWF0LCB3aGlsZSBxICE9
IHMKKyAgICAgICAgd2hpbGUgKG1hdGNoUG9zaXRpb24gPCBpbnB1dC5sZW5ndGgoKSkgeworICAg
ICAgICAgICAgLy8gYS4gQ2FsbCBTcGxpdE1hdGNoKFMsIHEsIFIpIGFuZCBsZXQgeiBiZSBpdHMg
TWF0Y2hSZXN1bHQgcmVzdWx0LgogICAgICAgICAgICAgVmVjdG9yPGludCwgMzI+IG92ZWN0b3I7
Ci0gICAgICAgICAgICBpbnQgbXBvcyA9IHJlZy0+bWF0Y2goKmdsb2JhbERhdGEsIHMsIHBvcywg
Jm92ZWN0b3IpOworICAgICAgICAgICAgaW50IG1wb3MgPSByZWctPm1hdGNoKCpnbG9iYWxEYXRh
LCBpbnB1dCwgbWF0Y2hQb3NpdGlvbiwgJm92ZWN0b3IpOworICAgICAgICAgICAgLy8gYi4gSWYg
eiBpcyBmYWlsdXJlLCB0aGVuIGxldCBxID0gcSArIDEuCiAgICAgICAgICAgICBpZiAobXBvcyA8
IDApCiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBpbnQgbWxlbiA9IG92ZWN0
b3JbMV0gLSBvdmVjdG9yWzBdOwotICAgICAgICAgICAgcG9zID0gbXBvcyArIChtbGVuID09IDAg
PyAxIDogbWxlbik7Ci0gICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1wb3Mp
ICE9IHAwIHx8IG1sZW4pIHsKLSAgICAgICAgICAgICAgICByZXN1bHQtPnB1dChleGVjLCBpKyss
IGpzU3Vic3RyaW5nKGV4ZWMsIHMsIHAwLCBtcG9zIC0gcDApKTsKLSAgICAgICAgICAgICAgICBw
MCA9IG1wb3MgKyBtbGVuOworICAgICAgICAgICAgbWF0Y2hQb3NpdGlvbiA9IG1wb3M7CisKKyAg
ICAgICAgICAgIC8vIGMuIEVsc2UsIHogaXMgbm90IGZhaWx1cmUKKyAgICAgICAgICAgIC8vIGku
IHogbXVzdCBiZSBhIFN0YXRlLiBMZXQgZSBiZSB6J3MgZW5kSW5kZXggYW5kIGxldCBjYXAgYmUg
eidzIGNhcHR1cmVzIGFycmF5LgorICAgICAgICAgICAgc2l6ZV90IG1hdGNoRW5kID0gb3ZlY3Rv
clsxXTsKKworICAgICAgICAgICAgLy8gaWkuIElmIGUgPT0gcCwgdGhlbiBsZXQgcSA9IHEgKyAx
LgorICAgICAgICAgICAgaWYgKG1hdGNoRW5kID09IHBvc2l0aW9uKSB7CisgICAgICAgICAgICAg
ICAgKyttYXRjaFBvc2l0aW9uOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBzaSA9IDE7IHNpIDw9IHJlZy0+bnVtU3Vi
cGF0dGVybnMoKTsgKytzaSkgewotICAgICAgICAgICAgICAgIGludCBzcG9zID0gb3ZlY3Rvcltz
aSAqIDJdOwotICAgICAgICAgICAgICAgIGlmIChzcG9zIDwgMCkKLSAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0LT5wdXQoZXhlYywgaSsrLCBqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0KGV4ZWMsIGkrKywganNTdWJz
dHJpbmcoZXhlYywgcywgc3Bvcywgb3ZlY3RvcltzaSAqIDIgKyAxXSAtIHNwb3MpKTsKKyAgICAg
ICAgICAgIC8vIGlpaS4gRWxzZSwgZSAhPSBwCisKKyAgICAgICAgICAgIC8vIDEuIExldCBUIGJl
IGEgU3RyaW5nIHZhbHVlIGVxdWFsIHRvIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9m
IHRoZSBjaGFyYWN0ZXJzIGF0IHBvc2l0aW9ucyBwIChpbmNsdXNpdmUpCisgICAgICAgICAgICAv
LyAgICB0aHJvdWdoIHEgKGV4Y2x1c2l2ZSkuCisgICAgICAgICAgICAvLyAyLiBDYWxsIHRoZSBb
W0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kIG9mIEEgd2l0aCBhcmd1bWVudHMg
VG9TdHJpbmcobGVuZ3RoQSksCisgICAgICAgICAgICAvLyAgICBQcm9wZXJ0eSBEZXNjcmlwdG9y
IHtbW1ZhbHVlXV06IFQsIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUs
IFtbQ29uZmlndXJhYmxlXV06IHRydWV9LCBhbmQgZmFsc2UuCisgICAgICAgICAgICByZXN1bHQt
PnB1dChleGVjLCByZXN1bHRMZW5ndGgsIGpzU3Vic3RyaW5nKGV4ZWMsIGlucHV0LCBwb3NpdGlv
biwgbWF0Y2hQb3NpdGlvbiAtIHBvc2l0aW9uKSk7CisgICAgICAgICAgICAvLyAzLiBJbmNyZW1l
bnQgbGVuZ3RoQSBieSAxLgorICAgICAgICAgICAgLy8gNC4gSWYgbGVuZ3RoQSA9PSBsaW0sIHJl
dHVybiBBLgorICAgICAgICAgICAgaWYgKCsrcmVzdWx0TGVuZ3RoID09IGxpbWl0KQorICAgICAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKKworICAgICAgICAgICAg
Ly8gNS4gTGV0IHAgPSBlLgorICAgICAgICAgICAgLy8gOC4gTGV0IHEgPSBwLgorICAgICAgICAg
ICAgcG9zaXRpb24gPSBtYXRjaEVuZDsKKyAgICAgICAgICAgIG1hdGNoUG9zaXRpb24gPSBtYXRj
aEVuZDsKKworICAgICAgICAgICAgLy8gNi4gTGV0IGkgPSAwLgorICAgICAgICAgICAgLy8gNy4g
UmVwZWF0LCB3aGlsZSBpIGlzIG5vdCBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGlu
IGNhcC4KKyAgICAgICAgICAgIC8vICBhIExldCBpID0gaSArIDEuCisgICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAxOyBpIDw9IHJlZy0+bnVtU3VicGF0dGVybnMoKTsgKytpKSB7CisgICAg
ICAgICAgICAgICAgLy8gYiBDYWxsIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwg
bWV0aG9kIG9mIEEgd2l0aCBhcmd1bWVudHMKKyAgICAgICAgICAgICAgICAvLyAgIFRvU3RyaW5n
KGxlbmd0aEEpLCBQcm9wZXJ0eSBEZXNjcmlwdG9yIHtbW1ZhbHVlXV06IGNhcFtpXSwgW1tXcml0
YWJsZV1dOgorICAgICAgICAgICAgICAgIC8vICAgdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUs
IFtbQ29uZmlndXJhYmxlXV06IHRydWV9LCBhbmQgZmFsc2UuCisgICAgICAgICAgICAgICAgaW50
IHN1YiA9IG92ZWN0b3JbaSAqIDJdOworICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0KGV4ZWMs
IHJlc3VsdExlbmd0aCwgc3ViIDwgMCA/IGpzVW5kZWZpbmVkKCkgOiBqc1N1YnN0cmluZyhleGVj
LCBpbnB1dCwgc3ViLCBvdmVjdG9yW2kgKiAyICsgMV0gLSBzdWIpKTsKKyAgICAgICAgICAgICAg
ICAvLyBjIEluY3JlbWVudCBsZW5ndGhBIGJ5IDEuCisgICAgICAgICAgICAgICAgLy8gZCBJZiBs
ZW5ndGhBID09IGxpbSwgcmV0dXJuIEEuCisgICAgICAgICAgICAgICAgaWYgKCsrcmVzdWx0TGVu
Z3RoID09IGxpbWl0KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHJlc3VsdCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAg
ICBVU3RyaW5nIHUyID0gYTAudG9TdHJpbmcoZXhlYyk7Ci0gICAgICAgIGlmICh1Mi5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgIGlmIChzLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgICAgIC8v
IGVtcHR5IHNlcGFyYXRvciBtYXRjaGVzIGVtcHR5IHN0cmluZyAtPiBlbXB0eSBhcnJheQorICAg
ICAgICBVU3RyaW5nIHNlcGFyYXRvciA9IHNlcGFyYXRvclZhbHVlLnRvU3RyaW5nKGV4ZWMpOwor
CisgICAgICAgIC8vIDExLiBJZiBzID09IDAsIHRoZW4KKyAgICAgICAgaWYgKGlucHV0LmlzRW1w
dHkoKSkgeworICAgICAgICAgICAgLy8gYS4gQ2FsbCBTcGxpdE1hdGNoKFMsIDAsIFIpIGFuZCBs
ZXQgeiBiZSBpdHMgTWF0Y2hSZXN1bHQgcmVzdWx0LgorICAgICAgICAgICAgLy8gYi4gSWYgeiBp
cyBub3QgZmFpbHVyZSwgcmV0dXJuIEEuCisgICAgICAgICAgICAvLyBjLiBDYWxsIHRoZSBbW0Rl
ZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kIG9mIEEgd2l0aCBhcmd1bWVudHMgIjAi
LAorICAgICAgICAgICAgLy8gICAgUHJvcGVydHkgRGVzY3JpcHRvciB7W1tWYWx1ZV1dOiBTLCBb
W1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1d
OiB0cnVlfSwgYW5kIGZhbHNlLgorICAgICAgICAgICAgLy8gZC4gUmV0dXJuIEEuCisgICAgICAg
ICAgICBpZiAoIXNlcGFyYXRvci5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgcmVzdWx0LT5w
dXQoZXhlYywgMCwganNTdHJpbmdXaXRoUmV1c2UoZXhlYywgdGhpc1ZhbHVlLCBpbnB1dCkpOwor
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworICAgICAgICB9CisK
KyAgICAgICAgLy8gT3B0aW1pemVkIGNhc2UgZm9yIHNwbGl0dGluZyBvbiB0aGUgZW1wdHkgc3Ry
aW5nLgorICAgICAgICBpZiAoc2VwYXJhdG9yLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgbGlt
aXQgPSBzdGQ6Om1pbihsaW1pdCwgaW5wdXQubGVuZ3RoKCkpOworICAgICAgICAgICAgLy8gWmVy
byBsaW10L2lucHV0IGxlbmd0aCBoYW5kbGVkIGluIHN0ZXBzIDkvMTEgcmVzcGVjdGl2ZWx5LCBh
Ym92ZS4KKyAgICAgICAgICAgIEFTU0VSVChsaW1pdCk7CisKKyAgICAgICAgICAgIGRvCisgICAg
ICAgICAgICAgICAgcmVzdWx0LT5wdXQoZXhlYywgcG9zaXRpb24sIGpzU2luZ2xlQ2hhcmFjdGVy
U3Vic3RyaW5nKGV4ZWMsIGlucHV0LCBwb3NpdGlvbikpOworICAgICAgICAgICAgd2hpbGUgKCsr
cG9zaXRpb24gPCBsaW1pdCk7CisKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
cmVzdWx0KTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIDEyLiBMZXQgcSA9IHAuCisgICAgICAg
IHNpemVfdCBtYXRjaFBvc2l0aW9uOworCisgICAgICAgIC8vIDEzLiBSZXBlYXQsIHdoaWxlIHEg
IT0gcworICAgICAgICAvLyAgIGEuIENhbGwgU3BsaXRNYXRjaChTLCBxLCBSKSBhbmQgbGV0IHog
YmUgaXRzIE1hdGNoUmVzdWx0IHJlc3VsdC4KKyAgICAgICAgLy8gICBiLiBJZiB6IGlzIGZhaWx1
cmUsIHRoZW4gbGV0IHEgPSBxKzEuCisgICAgICAgIC8vICAgYy4gRWxzZSwgeiBpcyBub3QgZmFp
bHVyZQorICAgICAgICB3aGlsZSAoKG1hdGNoUG9zaXRpb24gPSBpbnB1dC5maW5kKHNlcGFyYXRv
ciwgcG9zaXRpb24pKSAhPSBub3RGb3VuZCkgeworICAgICAgICAgICAgLy8gMS4gTGV0IFQgYmUg
YSBTdHJpbmcgdmFsdWUgZXF1YWwgdG8gdGhlIHN1YnN0cmluZyBvZiBTIGNvbnNpc3Rpbmcgb2Yg
dGhlIGNoYXJhY3RlcnMgYXQgcG9zaXRpb25zIHAgKGluY2x1c2l2ZSkKKyAgICAgICAgICAgIC8v
ICAgIHRocm91Z2ggcSAoZXhjbHVzaXZlKS4KKyAgICAgICAgICAgIC8vIDIuIENhbGwgdGhlIFtb
RGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb2YgQSB3aXRoIGFyZ3VtZW50cyBU
b1N0cmluZyhsZW5ndGhBKSwKKyAgICAgICAgICAgIC8vICAgIFByb3BlcnR5IERlc2NyaXB0b3Ig
e1tbVmFsdWVdXTogVCwgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwg
W1tDb25maWd1cmFibGVdXTogdHJ1ZX0sIGFuZCBmYWxzZS4KKyAgICAgICAgICAgIHJlc3VsdC0+
cHV0KGV4ZWMsIHJlc3VsdExlbmd0aCwganNTdWJzdHJpbmcoZXhlYywgaW5wdXQsIHBvc2l0aW9u
LCBtYXRjaFBvc2l0aW9uIC0gcG9zaXRpb24pKTsKKyAgICAgICAgICAgIC8vIDMuIEluY3JlbWVu
dCBsZW5ndGhBIGJ5IDEuCisgICAgICAgICAgICAvLyA0LiBJZiBsZW5ndGhBID09IGxpbSwgcmV0
dXJuIEEuCisgICAgICAgICAgICBpZiAoKytyZXN1bHRMZW5ndGggPT0gbGltaXQpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgd2hpbGUgKGkgIT0gbGltaXQgJiYgcDAgPCBzLmxlbmd0aCgpIC0gMSkKLSAg
ICAgICAgICAgICAgICByZXN1bHQtPnB1dChleGVjLCBpKyssIGpzU2luZ2xlQ2hhcmFjdGVyU3Vi
c3RyaW5nKGV4ZWMsIHMsIHAwKyspKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHNp
emVfdCBwb3M7Ci0gICAgICAgICAgICB3aGlsZSAoaSAhPSBsaW1pdCAmJiAocG9zID0gcy5maW5k
KHUyLCBwMCkpICE9IG5vdEZvdW5kKSB7Ci0gICAgICAgICAgICAgICAgcmVzdWx0LT5wdXQoZXhl
YywgaSsrLCBqc1N1YnN0cmluZyhleGVjLCBzLCBwMCwgcG9zIC0gcDApKTsKLSAgICAgICAgICAg
ICAgICBwMCA9IHBvcyArIHUyLmxlbmd0aCgpOwotICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAvLyA1LiBMZXQgcCA9IGUuCisgICAgICAgICAgICBwb3NpdGlvbiA9IG1hdGNoUG9zaXRpb24g
KyBzZXBhcmF0b3IubGVuZ3RoKCk7CisgICAgICAgICAgICAvLyA4LiBMZXQgcSA9IHAuCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICAvLyBhZGQgcmVtYWluaW5nIHN0cmluZwotICAgIGlmIChpICE9
IGxpbWl0KQotICAgICAgICByZXN1bHQtPnB1dChleGVjLCBpKyssIGpzU3Vic3RyaW5nKGV4ZWMs
IHMsIHAwLCBzLmxlbmd0aCgpIC0gcDApKTsKKyAgICAvLyAxNC4gTGV0IFQgYmUgYSBTdHJpbmcg
dmFsdWUgZXF1YWwgdG8gdGhlIHN1YnN0cmluZyBvZiBTIGNvbnNpc3Rpbmcgb2YgdGhlIGNoYXJh
Y3RlcnMgYXQgcG9zaXRpb25zIHAgKGluY2x1c2l2ZSkKKyAgICAvLyAgICAgdGhyb3VnaCBzIChl
eGNsdXNpdmUpLgorICAgIC8vIDE1LiBDYWxsIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50
ZXJuYWwgbWV0aG9kIG9mIEEgd2l0aCBhcmd1bWVudHMgVG9TdHJpbmcobGVuZ3RoQSksIFByb3Bl
cnR5IERlc2NyaXB0b3IKKyAgICAvLyAgICAge1tbVmFsdWVdXTogVCwgW1tXcml0YWJsZV1dOiB0
cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0sIGFuZCBm
YWxzZS4KKyAgICByZXN1bHQtPnB1dChleGVjLCByZXN1bHRMZW5ndGgrKywganNTdWJzdHJpbmco
ZXhlYywgaW5wdXQsIHBvc2l0aW9uLCBpbnB1dC5sZW5ndGgoKSAtIHBvc2l0aW9uKSk7CiAKKyAg
ICAvLyAxNi4gUmV0dXJuIEEuCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwog
fQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL1N0cmlu
Zy8xNS41LjQuOC0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9tb3ppbGxhL2VjbWEvU3RyaW5nLzE1LjUuNC44LTIuanMJKHJldmlzaW9uIDk1NDU0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZWNtYS9TdHJpbmcvMTUuNS40Ljgt
Mi5qcwkod29ya2luZyBjb3B5KQpAQCAtMTA3LDExICsxMDcsMTEgQEAgZnVuY3Rpb24gZ2V0VGVz
dENhc2VzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbCgidmFy
IHMgPSBuZXcgU3RyaW5nKCBURVNUX1NUUklORyApOyBzLnNwbGl0KCcnKVsiK2krIl0iKSApOwog
ICAgIH0KIAotICAgIC8vIGNhc2Ugd2hlcmUgdGhlIHZhbHVlIG9mIHRoZSBzZXBhcmF0b3IgaXMg
dW5kZWZpbmVkLiAgaW4gdGhpcyBjYXNlLiB0aGUgdmFsdWUgb2YgdGhlIHNlcGFyYXRvcgotICAg
IC8vIHNob3VsZCBiZSBUb1N0cmluZyggc2VwYXJhdG9yICksIG9yICJ1bmRlZmluZWQiLgorICAg
IC8vIENhc2Ugd2hlcmUgdGhlIHZhbHVlIG9mIHRoZSBzZXBhcmF0b3IgaXMgdW5kZWZpbmVkLgor
ICAgIC8vIFBlciBFUzUgMTUuNS40LjE0IHN0ZXAgMTAgdGhpcyByZXR1cm5zIHRoZSBpbnB1dCAo
dW5sZXNzIGxpbWl0IGlzIG5vbi16ZXJvKS4KIAogICAgIHZhciBURVNUX1NUUklORyA9ICJ0aGlz
dW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IjsKLSAg
ICB2YXIgRVhQRUNUX1NUUklORyA9IG5ldyBBcnJheSggInRoaXMiLCAiaXMiLCAiYSIsICJzdHJp
bmciLCAib2JqZWN0IiApOworICAgIHZhciBFWFBFQ1RfU1RSSU5HID0gbmV3IEFycmF5KCAidGhp
c3VuZGVmaW5lZGlzdW5kZWZpbmVkYXVuZGVmaW5lZHN0cmluZ3VuZGVmaW5lZG9iamVjdCIgKTsK
IAogICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoICAgU0VDVElPTiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YXIgcyA9IG5ldyBTdHJpbmcoICIrIFRFU1Rf
U1RSSU5HICsiICk7IHMuc3BsaXQodm9pZCAwKS5sZW5ndGgiLApJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
OTU1MDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyMyBAQAorMjAxMS0wOS0xOSAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgU3RyaW5nI3NwbGl0IGlzIGJ1Z2d5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM0OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvc3Ry
aW5nLXNwbGl0LWNvbmZvcm1hbmNlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3N0cmlu
Zy1zcGxpdC1jb25mb3JtYW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
anMvc3RyaW5nLXNwbGl0LWNvbmZvcm1hbmNlLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgLSBB
ZGRlZCBuZXcgTGF5b3V0IHRlc3QgYmFzZWQgb246CisgICAgICAgICAgICAgICAgaHR0cDovL3N0
ZXZlbmxldml0aGFuLmNvbS9kZW1vL3NwbGl0LmNmbQorICAgICAgICAqIHNwdXRuaWsvQ29uZm9y
bWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJp
bmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDYtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUu
NS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDctZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVj
dHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1Mx
NS41LjQuMTRfQTFfVDgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFu
Y2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcu
cHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40
LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTJfVDctZXhwZWN0
ZWQudHh0OgorICAgICAgICAgICAgLSBDaGVjayBpbiBmYWlsaW5nIHJlc3VsdHMgZm9yIHRoZXNl
IDUgdGVzdHM7IHRoZXkgYXJlIGFsbCB3cm9uZworICAgICAgICAgICAgICAoc2VlIGh0dHBzOi8v
YnVncy5lY21hc2NyaXB0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEpLgorCiAyMDExLTA5LTE5ICBT
aGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByOTU0ODIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3N0
cmluZy1zcGxpdC1jb25mb3JtYW5jZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9zdHJpbmctc3BsaXQtY29uZm9ybWFuY2UtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zdHJpbmctc3BsaXQtY29uZm9ybWFuY2Ut
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY1IEBACitUaGlzIHRlc3QgY2hl
Y2tzIGZvciBhIHJlZ3Jlc3Npb24gYWdhaW5zdCBTdHJpbmcjc3BsaXQgaXMgYnVnZ3kuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICcnLnNwbGl0KCkgaXMgdGVzdENvZGVb
aV1bMV0KK1BBU1MgJycuc3BsaXQoLy4vKSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAnJy5zcGxp
dCgvLj8vKSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAnJy5zcGxpdCgvLj8/LykgaXMgdGVzdENv
ZGVbaV1bMV0KK1BBU1MgJ2FiJy5zcGxpdCgvYSovKSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAn
YWInLnNwbGl0KC9hKj8vKSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAnYWInLnNwbGl0KC8oPzph
YikvKSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAnYWInLnNwbGl0KC8oPzphYikqLykgaXMgdGVz
dENvZGVbaV1bMV0KK1BBU1MgJ2FiJy5zcGxpdCgvKD86YWIpKj8vKSBpcyB0ZXN0Q29kZVtpXVsx
XQorUEFTUyAndGVzdCcuc3BsaXQoJycpIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICd0ZXN0Jy5z
cGxpdCgpIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICcxMTEnLnNwbGl0KDEpIGlzIHRlc3RDb2Rl
W2ldWzFdCitQQVNTICd0ZXN0Jy5zcGxpdCgvKD86KS8sIDIpIGlzIHRlc3RDb2RlW2ldWzFdCitQ
QVNTICd0ZXN0Jy5zcGxpdCgvKD86KS8sIC0xKSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAndGVz
dCcuc3BsaXQoLyg/OikvLCB1bmRlZmluZWQpIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICd0ZXN0
Jy5zcGxpdCgvKD86KS8sIG51bGwpIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICd0ZXN0Jy5zcGxp
dCgvKD86KS8sIE5hTikgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ3Rlc3QnLnNwbGl0KC8oPzop
LywgdHJ1ZSkgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ3Rlc3QnLnNwbGl0KC8oPzopLywgJzIn
KSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAndGVzdCcuc3BsaXQoLyg/OikvLCAndHdvJykgaXMg
dGVzdENvZGVbaV1bMV0KK1BBU1MgJ2EnLnNwbGl0KC8tLykgaXMgdGVzdENvZGVbaV1bMV0KK1BB
U1MgJ2EnLnNwbGl0KC8tPy8pIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICdhJy5zcGxpdCgvLT8/
LykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ2EnLnNwbGl0KC9hLykgaXMgdGVzdENvZGVbaV1b
MV0KK1BBU1MgJ2EnLnNwbGl0KC9hPy8pIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICdhJy5zcGxp
dCgvYT8/LykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ2FiJy5zcGxpdCgvLS8pIGlzIHRlc3RD
b2RlW2ldWzFdCitQQVNTICdhYicuc3BsaXQoLy0/LykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1Mg
J2FiJy5zcGxpdCgvLT8/LykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ2EtYicuc3BsaXQoLy0v
KSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAnYS1iJy5zcGxpdCgvLT8vKSBpcyB0ZXN0Q29kZVtp
XVsxXQorUEFTUyAnYS1iJy5zcGxpdCgvLT8/LykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ2Et
LWInLnNwbGl0KC8tLykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ2EtLWInLnNwbGl0KC8tPy8p
IGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICdhLS1iJy5zcGxpdCgvLT8/LykgaXMgdGVzdENvZGVb
aV1bMV0KK1BBU1MgJycuc3BsaXQoLygpKCkvKSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAnLicu
c3BsaXQoLygpKCkvKSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAnLicuc3BsaXQoLyguPykoLj8p
LykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJy4nLnNwbGl0KC8oLj8/KSguPz8pLykgaXMgdGVz
dENvZGVbaV1bMV0KK1BBU1MgJy4nLnNwbGl0KC8oLik/KC4pPy8pIGlzIHRlc3RDb2RlW2ldWzFd
CitQQVNTICdBPEI+Ym9sZDwvQj5hbmQ8Q09ERT5jb2RlZDwvQ09ERT4nLnNwbGl0KGVjbWFTYW1w
bGVSZSkgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ3Rlc3N0Jy5zcGxpdCgvKHMpKi8pIGlzIHRl
c3RDb2RlW2ldWzFdCitQQVNTICd0ZXNzdCcuc3BsaXQoLyhzKSo/LykgaXMgdGVzdENvZGVbaV1b
MV0KK1BBU1MgJ3Rlc3N0Jy5zcGxpdCgvKHMqKS8pIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICd0
ZXNzdCcuc3BsaXQoLyhzKj8pLykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ3Rlc3N0Jy5zcGxp
dCgvKD86cykqLykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ3Rlc3N0Jy5zcGxpdCgvKD89cysp
LykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJ3Rlc3QnLnNwbGl0KCd0JykgaXMgdGVzdENvZGVb
aV1bMV0KK1BBU1MgJ3Rlc3QnLnNwbGl0KCdlcycpIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICd0
ZXN0Jy5zcGxpdCgvdC8pIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICd0ZXN0Jy5zcGxpdCgvZXMv
KSBpcyB0ZXN0Q29kZVtpXVsxXQorUEFTUyAndGVzdCcuc3BsaXQoLyh0KS8pIGlzIHRlc3RDb2Rl
W2ldWzFdCitQQVNTICd0ZXN0Jy5zcGxpdCgvKGVzKS8pIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNT
ICd0ZXN0Jy5zcGxpdCgvKHQpKGUpKHMpKHQpLykgaXMgdGVzdENvZGVbaV1bMV0KK1BBU1MgJy4n
LnNwbGl0KC8oKCguKCguPz8pKSkpKS8pIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTICcuJy5zcGxp
dCgvKCgoKCguPz8pKSkpKS8pIGlzIHRlc3RDb2RlW2ldWzFdCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9q
cy9zdHJpbmctc3BsaXQtY29uZm9ybWFuY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2pzL3N0cmluZy1zcGxpdC1jb25mb3JtYW5jZS5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9qcy9zdHJpbmctc3BsaXQtY29uZm9ybWFuY2UuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9zdHJpbmctc3BsaXQtY29uZm9ybWFuY2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvc3RyaW5nLXNwbGl0LWNv
bmZvcm1hbmNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRl
c3RzL3N0cmluZy1zcGxpdC1jb25mb3JtYW5jZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3N0cmluZy1zcGxpdC1jb25mb3JtYW5jZS5qcwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw3MCBAQAorZGVzY3JpcHRpb24oCisnVGhpcyB0ZXN0IGNoZWNr
cyBmb3IgYSByZWdyZXNzaW9uIGFnYWluc3QgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY4MzQ4Ij5TdHJpbmcjc3BsaXQgaXMgYnVnZ3k8L2E+LicKKyk7
CisKKy8vIFRoZSBmb2xsb3dpbmcgSmF2YVNjcmlwdCBjb2RlIChpbmNsdWRpbmcgIiIuc3BsaXQg
dGVzdHMpIGlzIGNvcHlyaWdodCBieSBTdGV2ZW4gTGV2aXRoYW4sCisvLyBhbmQgcmVsZWFzZWQg
dW5kZXIgdGhlIE1JVCBMaWNlbnNlCit2YXIgdGVzdENvZGUgPSBbCisgICAgWyInJy5zcGxpdCgp
IiwJCQlbIiJdXSwKKyAgICBbIicnLnNwbGl0KC8uLykiLAkJWyIiXV0sCisgICAgWyInJy5zcGxp
dCgvLj8vKSIsCQlbXV0sCisgICAgWyInJy5zcGxpdCgvLj8/LykiLAkJW11dLAorICAgIFsiJ2Fi
Jy5zcGxpdCgvYSovKSIsCQlbIiIsICJiIl1dLAorICAgIFsiJ2FiJy5zcGxpdCgvYSo/LykiLAkJ
WyJhIiwgImIiXV0sCisgICAgWyInYWInLnNwbGl0KC8oPzphYikvKSIsCVsiIiwgIiJdXSwKKyAg
ICBbIidhYicuc3BsaXQoLyg/OmFiKSovKSIsCVsiIiwgIiJdXSwKKyAgICBbIidhYicuc3BsaXQo
Lyg/OmFiKSo/LykiLAlbImEiLCAiYiJdXSwKKyAgICBbIid0ZXN0Jy5zcGxpdCgnJykiLAkJWyJ0
IiwgImUiLCAicyIsICJ0Il1dLAorICAgIFsiJ3Rlc3QnLnNwbGl0KCkiLAkJWyJ0ZXN0Il1dLAor
ICAgIFsiJzExMScuc3BsaXQoMSkiLAkJWyIiLCAiIiwgIiIsICIiXV0sCisgICAgWyIndGVzdCcu
c3BsaXQoLyg/OikvLCAyKSIsCQlbInQiLCAiZSJdXSwKKyAgICBbIid0ZXN0Jy5zcGxpdCgvKD86
KS8sIC0xKSIsCVsidCIsICJlIiwgInMiLCAidCJdXSwKKyAgICBbIid0ZXN0Jy5zcGxpdCgvKD86
KS8sIHVuZGVmaW5lZCkiLAlbInQiLCAiZSIsICJzIiwgInQiXV0sCisgICAgWyIndGVzdCcuc3Bs
aXQoLyg/OikvLCBudWxsKSIsCVtdXSwKKyAgICBbIid0ZXN0Jy5zcGxpdCgvKD86KS8sIE5hTiki
LAlbXV0sCisgICAgWyIndGVzdCcuc3BsaXQoLyg/OikvLCB0cnVlKSIsCVsidCJdXSwKKyAgICBb
Iid0ZXN0Jy5zcGxpdCgvKD86KS8sICcyJykiLAlbInQiLCAiZSJdXSwKKyAgICBbIid0ZXN0Jy5z
cGxpdCgvKD86KS8sICd0d28nKSIsCVtdXSwKKyAgICBbIidhJy5zcGxpdCgvLS8pIiwJCVsiYSJd
XSwKKyAgICBbIidhJy5zcGxpdCgvLT8vKSIsCQlbImEiXV0sCisgICAgWyInYScuc3BsaXQoLy0/
Py8pIiwJCVsiYSJdXSwKKyAgICBbIidhJy5zcGxpdCgvYS8pIiwJCVsiIiwgIiJdXSwKKyAgICBb
IidhJy5zcGxpdCgvYT8vKSIsCQlbIiIsICIiXV0sCisgICAgWyInYScuc3BsaXQoL2E/Py8pIiwJ
CVsiYSJdXSwKKyAgICBbIidhYicuc3BsaXQoLy0vKSIsCQlbImFiIl1dLAorICAgIFsiJ2FiJy5z
cGxpdCgvLT8vKSIsCQlbImEiLCAiYiJdXSwKKyAgICBbIidhYicuc3BsaXQoLy0/Py8pIiwJCVsi
YSIsICJiIl1dLAorICAgIFsiJ2EtYicuc3BsaXQoLy0vKSIsCQlbImEiLCAiYiJdXSwKKyAgICBb
IidhLWInLnNwbGl0KC8tPy8pIiwJCVsiYSIsICJiIl1dLAorICAgIFsiJ2EtYicuc3BsaXQoLy0/
Py8pIiwJCVsiYSIsICItIiwgImIiXV0sCisgICAgWyInYS0tYicuc3BsaXQoLy0vKSIsCQlbImEi
LCAiIiwgImIiXV0sCisgICAgWyInYS0tYicuc3BsaXQoLy0/LykiLAkJWyJhIiwgIiIsICJiIl1d
LAorICAgIFsiJ2EtLWInLnNwbGl0KC8tPz8vKSIsCQlbImEiLCAiLSIsICItIiwgImIiXV0sCisg
ICAgWyInJy5zcGxpdCgvKCkoKS8pIiwJCVtdXSwKKyAgICBbIicuJy5zcGxpdCgvKCkoKS8pIiwJ
CVsiLiJdXSwKKyAgICBbIicuJy5zcGxpdCgvKC4/KSguPykvKSIsCVsiIiwgIi4iLCAiIiwgIiJd
XSwKKyAgICBbIicuJy5zcGxpdCgvKC4/PykoLj8/KS8pIiwJWyIuIl1dLAorICAgIFsiJy4nLnNw
bGl0KC8oLik/KC4pPy8pIiwJWyIiLCAiLiIsIHVuZGVmaW5lZCwgIiJdXSwKKyAgICBbIidBPEI+
Ym9sZDwvQj5hbmQ8Q09ERT5jb2RlZDwvQ09ERT4nLnNwbGl0KGVjbWFTYW1wbGVSZSkiLCBbIkEi
LCB1bmRlZmluZWQsICJCIiwgImJvbGQiLCAiLyIsICJCIiwgImFuZCIsIHVuZGVmaW5lZCwgIkNP
REUiLCAiY29kZWQiLCAiLyIsICJDT0RFIiwgIiJdXSwKKyAgICBbIid0ZXNzdCcuc3BsaXQoLyhz
KSovKSIsCVsidCIsIHVuZGVmaW5lZCwgImUiLCAicyIsICJ0Il1dLAorICAgIFsiJ3Rlc3N0Jy5z
cGxpdCgvKHMpKj8vKSIsCVsidCIsIHVuZGVmaW5lZCwgImUiLCB1bmRlZmluZWQsICJzIiwgdW5k
ZWZpbmVkLCAicyIsIHVuZGVmaW5lZCwgInQiXV0sCisgICAgWyIndGVzc3QnLnNwbGl0KC8ocyop
LykiLAlbInQiLCAiIiwgImUiLCAic3MiLCAidCJdXSwKKyAgICBbIid0ZXNzdCcuc3BsaXQoLyhz
Kj8pLykiLAlbInQiLCAiIiwgImUiLCAiIiwgInMiLCAiIiwgInMiLCAiIiwgInQiXV0sCisgICAg
WyIndGVzc3QnLnNwbGl0KC8oPzpzKSovKSIsCVsidCIsICJlIiwgInQiXV0sCisgICAgWyIndGVz
c3QnLnNwbGl0KC8oPz1zKykvKSIsCVsidGUiLCAicyIsICJzdCJdXSwKKyAgICBbIid0ZXN0Jy5z
cGxpdCgndCcpIiwJCVsiIiwgImVzIiwgIiJdXSwKKyAgICBbIid0ZXN0Jy5zcGxpdCgnZXMnKSIs
CQlbInQiLCAidCJdXSwKKyAgICBbIid0ZXN0Jy5zcGxpdCgvdC8pIiwJCVsiIiwgImVzIiwgIiJd
XSwKKyAgICBbIid0ZXN0Jy5zcGxpdCgvZXMvKSIsCQlbInQiLCAidCJdXSwKKyAgICBbIid0ZXN0
Jy5zcGxpdCgvKHQpLykiLAkJWyIiLCAidCIsICJlcyIsICJ0IiwgIiJdXSwKKyAgICBbIid0ZXN0
Jy5zcGxpdCgvKGVzKS8pIiwJWyJ0IiwgImVzIiwgInQiXV0sCisgICAgWyIndGVzdCcuc3BsaXQo
Lyh0KShlKShzKSh0KS8pIixbIiIsICJ0IiwgImUiLCAicyIsICJ0IiwgIiJdXSwKKyAgICBbIicu
Jy5zcGxpdCgvKCgoLigoLj8/KSkpKSkvKSIsCVsiIiwgIi4iLCAiLiIsICIuIiwgIiIsICIiLCAi
Il1dLAorICAgIFsiJy4nLnNwbGl0KC8oKCgoKC4/PykpKSkpLykiLAlbIi4iXV0KK107Cit2YXIg
ZWNtYVNhbXBsZVJlID0gLzwoXC8pPyhbXjw+XSspPi87CisKK2ZvciAodmFyIGkgaW4gdGVzdENv
ZGUpCisgICAgc2hvdWxkQmUodGVzdENvZGVbaV1bMF0sICd0ZXN0Q29kZVtpXVsxXScpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsv
Q29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4x
NF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDYtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09i
amVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0
L1MxNS41LjQuMTRfQTFfVDYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5NTQ1NCkKKysrIExheW91
dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcv
MTUuNS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDYt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xNF9B
MV9UNgogCi1QQVNTIAorRkFJTCBTcHV0bmlrRXJyb3I6ICMzOiB2YXIgeDsgX19zcGxpdCA9IG5l
dyBTdHJpbmcoIjF1bmRlZmluZWQiKS5zcGxpdCh4KTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFj
dHVhbDogMQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29u
Zm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9T
dHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDctZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVj
dHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1Mx
NS41LjQuMTRfQTFfVDctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5NTQ1NCkKKysrIExheW91dFRl
c3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUu
NS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDctZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xNF9BMV9U
NwogCi1QQVNTIAorRkFJTCBTcHV0bmlrRXJyb3I6ICMzOiBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRl
ZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDog
MQogCiBURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFu
Y2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcu
cHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUu
NV9TdHJpbmcvMTUuNS40LzE1LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQu
MTRfQTFfVDgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5NTQ1NCkKKysrIExheW91dFRlc3RzL3Nw
dXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNV9TdHJpbmcvMTUuNS40LzE1
LjUuNC4xNF9TdHJpbmcucHJvdG90eXBlLnNwbGl0L1MxNS41LjQuMTRfQTFfVDgtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogUzE1LjUuNC4xNF9BMV9UOAogCi1Q
QVNTIAorRkFJTCBTcHV0bmlrRXJyb3I6ICMzOiBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigp
e319OyBfX3NwbGl0ID0gU3RyaW5nKF9fb2JqKS5zcGxpdCh2b2lkIDApOyBfX3NwbGl0Lmxlbmd0
aCA9PT0gMi4gQWN0dWFsOiAxCiAKIFRFU1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMv
c3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQv
MTUuNS40LjE0X1N0cmluZy5wcm90b3R5cGUuc3BsaXQvUzE1LjUuNC4xNF9BMV9UOS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9O
YXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjE0X1N0cmluZy5wcm90b3R5
cGUuc3BsaXQvUzE1LjUuNC4xNF9BMV9UOS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk1NDU0KQor
KysgTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41
X1N0cmluZy8xNS41LjQvMTUuNS40LjE0X1N0cmluZy5wcm90b3R5cGUuc3BsaXQvUzE1LjUuNC4x
NF9BMV9UOS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBTMTUu
NS40LjE0X0ExX1Q5CiAKLVBBU1MgCitGQUlMIFNwdXRuaWtFcnJvcjogIzM6IF9fb2JqID0ge3Zh
bHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmlu
ZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0
dWFsOiAxCiAKIFRFU1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMvc3B1dG5pay9Db25m
b3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjE0X1N0
cmluZy5wcm90b3R5cGUuc3BsaXQvUzE1LjUuNC4xNF9BMl9UNy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0
cy8xNS41X1N0cmluZy8xNS41LjQvMTUuNS40LjE0X1N0cmluZy5wcm90b3R5cGUuc3BsaXQvUzE1
LjUuNC4xNF9BMl9UNy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk1NDU0KQorKysgTGF5b3V0VGVz
dHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS41X1N0cmluZy8xNS41
LjQvMTUuNS40LjE0X1N0cmluZy5wcm90b3R5cGUuc3BsaXQvUzE1LjUuNC4xNF9BMl9UNy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBTMTUuNS40LjE0X0EyX1Q3
CiAKLVBBU1MgCitGQUlMIFNwdXRuaWtFcnJvcjogIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzdW5k
ZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IjsgdmFyIF9f
ZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07IF9fc3Bs
aXQgPSBfX3N0cmluZy5zcGxpdCh2b2lkIDApOyBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3Rl
ZC5sZW5ndGguIEFjdHVhbDogMQogCiBURVNUIENPTVBMRVRFCiAK
</data>
<flag name="review"
          id="104783"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>