<?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>121364</bug_id>
          
          <creation_ts>2013-09-14 12:02:59 -0700</creation_ts>
          <short_desc>Shrink the listMarkerText function</short_desc>
          <delta_ts>2013-09-14 13:10:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>929268</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-14 12:02:59 -0700</bug_when>
    <thetext>Shrink the listMarkerText function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929276</commentid>
    <comment_count>1</comment_count>
      <attachid>211661</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-14 12:24:12 -0700</bug_when>
    <thetext>Created attachment 211661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929277</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-14 12:25:42 -0700</bug_when>
    <thetext>Attachment 211661 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/rendering/RenderListMarker.cpp&apos;]&quot; exit_code: 1
Source/WebCore/rendering/RenderListMarker.cpp:335:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 2 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>929291</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-14 13:10:01 -0700</bug_when>
    <thetext>Committed r155781: &lt;http://trac.webkit.org/changeset/155781&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211661</attachid>
            <date>2013-09-14 12:24:12 -0700</date>
            <delta_ts>2013-09-14 12:27:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121364-20130914122411.patch</filename>
            <type>text/plain</type>
            <size>33933</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1Nzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI2NTFiNTZiNDJlYjMw
NDg1MGMzMGRjMTZlYTFiYzY3Mjc5MGM5Mi4uNDc3NzQzNjdhMjdiODc1ZGE2YTMxNzQ5YWVlMGNm
Njc4MThlNGU4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDEzLTA5LTE0ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAorICAgICAgICBTaHJpbmsgdGhlIGxpc3RNYXJr
ZXJUZXh0IGZ1bmN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjEzNjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDaGFuZ2VkIGNvZGUgdG8gdXNlIFN0cmluZ0J1aWxkZXIsIHdoaWNoIGlzIGEgYmV0
dGVyIGZpdCBmb3Igd2hhdCB3ZSBhcmUKKyAgICAgICAgZG9pbmcgaGVyZS4gQnV0IG1haW5seSwg
aW5saW5pbmcgd2FzIG91dCBvZiBoYW5kLCBzbyBoaXQgdGhhdCB3aXRoIHRoZQorICAgICAgICBO
RVZFUl9JTkxJTkUgc3RpY2suIE1pZ2h0IGJlIHdvcnRoIHJldmlzaXRpbmcgdGhpcyB0byBvcHRp
bWl6ZSBmdXJ0aGVyIGZvcgorICAgICAgICBzcGVlZCBieSBtYWtpbmcgU3RyaW5nQnVpbGRlciBi
ZXR0ZXIgYXQgdGhpcy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnRvUm9tYW4pOiBORVZFUl9JTkxJTkUgYW5kIHVzZSBTdHJp
bmdCdWlsZGVyLgorICAgICAgICAoV2ViQ29yZTo6dG9BbHBoYWJldGljT3JOdW1lcmljKTogVXNl
IFN0cmluZ0J1aWxkZXIuCisgICAgICAgIChXZWJDb3JlOjp0b1N5bWJvbGljKTogTkVWRVJfSU5M
SU5FIGFuZCB1c2UgU3RyaW5nQnVpbGRlci4KKyAgICAgICAgKFdlYkNvcmU6OnRvQWxwaGFiZXRp
Yyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6dG9OdW1lcmljKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjp0b0hlYnJld1VuZGVyMTAwMCk6IE5FVkVSX0lOTElORS4KKyAgICAgICAgKFdl
YkNvcmU6OnRvSGVicmV3KTogTkVWRVJfSU5MSU5FIGFuZCB1c2UgU3RyaW5nQnVpbGRlci4KKyAg
ICAgICAgKFdlYkNvcmU6OnRvQXJtZW5pYW5VbmRlcjEwMDAwKTogTkVWRVJfSU5MSU5FLgorICAg
ICAgICAoV2ViQ29yZTo6dG9Bcm1lbmlhbik6IE5FVkVSX0lOTElORSBhbmQgdXNlIFN0cmluZ0J1
aWxkZXIuCisgICAgICAgIChXZWJDb3JlOjp0b0dlb3JnaWFuKTogTkVWRVJfSU5MSU5FIGFuZCB1
c2UgU3RyaW5nQnVpbGRlci4KKyAgICAgICAgKFdlYkNvcmU6OnRvQ0pLSWRlb2dyYXBoaWMpOiBO
RVZFUl9JTkxJTkUgYW5kIHVzZSBTdHJpbmdCdWlsZGVyLgorICAgICAgICAoV2ViQ29yZTo6bGlz
dE1hcmtlclRleHQpOiBVc2UgU3RyaW5nQnVpbGRlci4KKworMjAxMy0wOS0xNCAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKICAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdE1h
cmtlci5jcHA6IFJvbGwgb3V0IGFjY2lkZW50YWxseS1jaGVja2VkLWluLWNvZGUuCiAKIDIwMTMt
MDktMTQgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCmluZGV4IGFlN2MxODYxMzY5MjI3OThjNWU2
OWRmNzFmNDNmNDI1Y2JjMDhmZTMuLmJjOTZiZTZkYWM3ZTQyYzllMTk4ZTJjMWNkMDAyMzRiZjFj
ZTlhY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFy
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5j
cHAKQEAgLTQ1LDcgKzQ1LDcgQEAgY29uc3QgaW50IGNNYXJrZXJQYWRkaW5nID0gNzsKIAogZW51
bSBTZXF1ZW5jZVR5cGUgeyBOdW1lcmljU2VxdWVuY2UsIEFscGhhYmV0aWNTZXF1ZW5jZSB9Owog
Ci1zdGF0aWMgU3RyaW5nIHRvUm9tYW4oaW50IG51bWJlciwgYm9vbCB1cHBlcikKK3N0YXRpYyBO
RVZFUl9JTkxJTkUgdm9pZCB0b1JvbWFuKFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIsIGludCBudW1i
ZXIsIGJvb2wgdXBwZXIpCiB7CiAgICAgLy8gRklYTUU6IENTUzMgZGVzY3JpYmVzIGhvdyB0byBt
YWtlIHRoaXMgd29yayBmb3IgbXVjaCBsYXJnZXIgbnVtYmVycywKICAgICAvLyB1c2luZyBvdmVy
YmFycyBhbmQgc3BlY2lhbCBjaGFyYWN0ZXJzLiBJdCBhbHNvIHNwZWNpZmllcyB0aGUgY2hhcmFj
dGVycwpAQCAtNzgsMTkgKzc4LDE2IEBAIHN0YXRpYyBTdHJpbmcgdG9Sb21hbihpbnQgbnVtYmVy
LCBib29sIHVwcGVyKQogICAgIH0gd2hpbGUgKG51bWJlcik7CiAKICAgICBBU1NFUlQobGVuZ3Ro
IDw9IGxldHRlcnNTaXplKTsKLSAgICByZXR1cm4gU3RyaW5nKCZsZXR0ZXJzW2xldHRlcnNTaXpl
IC0gbGVuZ3RoXSwgbGVuZ3RoKTsKKyAgICBidWlsZGVyLmFwcGVuZCgmbGV0dGVyc1tsZXR0ZXJz
U2l6ZSAtIGxlbmd0aF0sIGxlbmd0aCk7CiB9CiAKLS8vIFRoZSB0eXBlZGVmIGlzIG5lZWRlZCBi
ZWNhdXNlIHRha2luZyBzaXplb2YobnVtYmVyKSBpbiB0aGUgY29uc3QgZXhwcmVzc2lvbiBiZWxv
dyBkb2Vzbid0IHdvcmsgd2l0aCBzb21lIGNvbXBpbGVycy4KLS8vIFRoaXMgaXMgbGlrZWx5IHRo
ZSBjYXNlIGJlY2F1c2Ugb2YgdGhlIHRlbXBsYXRlLgotdHlwZWRlZiBpbnQgbnVtYmVyVHlwZTsK
LQogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdGF0aWMgaW5saW5lIFN0cmlu
ZyB0b0FscGhhYmV0aWNPck51bWVyaWMobnVtYmVyVHlwZSBudW1iZXIsIGNvbnN0IENoYXJhY3Rl
clR5cGUqIHNlcXVlbmNlLCB1bnNpZ25lZCBzZXF1ZW5jZVNpemUsIFNlcXVlbmNlVHlwZSB0eXBl
KQorc3RhdGljIGlubGluZSB2b2lkIHRvQWxwaGFiZXRpY09yTnVtZXJpYyhTdHJpbmdCdWlsZGVy
JiBidWlsZGVyLCBpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzZXF1ZW5jZSwgdW5z
aWduZWQgc2VxdWVuY2VTaXplLCBTZXF1ZW5jZVR5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQoc2Vx
dWVuY2VTaXplID49IDIpOwogCi0gICAgY29uc3QgaW50IGxldHRlcnNTaXplID0gc2l6ZW9mKG51
bWJlclR5cGUpICogOCArIDE7IC8vIEJpbmFyeSBpcyB0aGUgd29yc3QgY2FzZTsgcmVxdWlyZXMg
b25lIGNoYXJhY3RlciBwZXIgYml0IHBsdXMgYSBtaW51cyBzaWduLgorICAgIC8vIFRha2luZyBz
aXplb2YobnVtYmVyKSBpbiB0aGUgZXhwcmVzc2lvbiBiZWxvdyBkb2Vzbid0IHdvcmsgd2l0aCBz
b21lIGNvbXBpbGVycy4KKyAgICBjb25zdCBpbnQgbGV0dGVyc1NpemUgPSBzaXplb2YoaW50KSAq
IDggKyAxOyAvLyBCaW5hcnkgaXMgdGhlIHdvcnN0IGNhc2U7IHJlcXVpcmVzIG9uZSBjaGFyYWN0
ZXIgcGVyIGJpdCBwbHVzIGEgbWludXMgc2lnbi4KIAogICAgIENoYXJhY3RlclR5cGUgbGV0dGVy
c1tsZXR0ZXJzU2l6ZV07CiAKQEAgLTExOSwxMSArMTE2LDExIEBAIHN0YXRpYyBpbmxpbmUgU3Ry
aW5nIHRvQWxwaGFiZXRpY09yTnVtZXJpYyhudW1iZXJUeXBlIG51bWJlciwgY29uc3QgQ2hhcmFj
dGVyVHlwCiAgICAgICAgIGxldHRlcnNbbGV0dGVyc1NpemUgLSArK2xlbmd0aF0gPSBoeXBoZW5N
aW51czsKIAogICAgIEFTU0VSVChsZW5ndGggPD0gbGV0dGVyc1NpemUpOwotICAgIHJldHVybiBT
dHJpbmcoJmxldHRlcnNbbGV0dGVyc1NpemUgLSBsZW5ndGhdLCBsZW5ndGgpOworICAgIGJ1aWxk
ZXIuYXBwZW5kKCZsZXR0ZXJzW2xldHRlcnNTaXplIC0gbGVuZ3RoXSwgbGVuZ3RoKTsKIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdGF0aWMgU3RyaW5nIHRvU3ltYm9s
aWMoaW50IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogc3ltYm9scywgdW5zaWduZWQgc3lt
Ym9sc1NpemUpCitzdGF0aWMgTkVWRVJfSU5MSU5FIHZvaWQgdG9TeW1ib2xpYyhTdHJpbmdCdWls
ZGVyJiBidWlsZGVyLCBpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzeW1ib2xzLCB1
bnNpZ25lZCBzeW1ib2xzU2l6ZSkKIHsKICAgICBBU1NFUlQobnVtYmVyID4gMCk7CiAgICAgQVNT
RVJUKHN5bWJvbHNTaXplID49IDEpOwpAQCAtMTMxLDQ1ICsxMjgsNDMgQEAgc3RhdGljIFN0cmlu
ZyB0b1N5bWJvbGljKGludCBudW1iZXIsIGNvbnN0IENoYXJhY3RlclR5cGUqIHN5bWJvbHMsIHVu
c2lnbmVkIHN5bWIKICAgICAtLW51bWJlclNoYWRvdzsKIAogICAgIC8vIFRoZSBhc3Rlcmlza3Mg
bGlzdC1zdHlsZS10eXBlIGlzIHRoZSB3b3JzdCBjYXNlOyB3ZSBzaG93IHxudW1iZXJTaGFkb3d8
IGFzdGVyaXNrcy4KLSAgICBTdHJpbmdCdWlsZGVyIGxldHRlcnM7Ci0gICAgbGV0dGVycy5hcHBl
bmQoc3ltYm9sc1tudW1iZXJTaGFkb3cgJSBzeW1ib2xzU2l6ZV0pOworICAgIGJ1aWxkZXIuYXBw
ZW5kKHN5bWJvbHNbbnVtYmVyU2hhZG93ICUgc3ltYm9sc1NpemVdKTsKICAgICB1bnNpZ25lZCBu
dW1TeW1ib2xzID0gbnVtYmVyU2hhZG93IC8gc3ltYm9sc1NpemU7CiAgICAgd2hpbGUgKG51bVN5
bWJvbHMtLSkKLSAgICAgICAgbGV0dGVycy5hcHBlbmQoc3ltYm9sc1tudW1iZXJTaGFkb3cgJSBz
eW1ib2xzU2l6ZV0pOwotICAgIHJldHVybiBsZXR0ZXJzLnRvU3RyaW5nKCk7CisgICAgICAgIGJ1
aWxkZXIuYXBwZW5kKHN5bWJvbHNbbnVtYmVyU2hhZG93ICUgc3ltYm9sc1NpemVdKTsKIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Ci1zdGF0aWMgU3RyaW5nIHRvQWxwaGFi
ZXRpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBhbHBoYWJldCwgdW5zaWduZWQg
YWxwaGFiZXRTaXplKQorc3RhdGljIE5FVkVSX0lOTElORSB2b2lkIHRvQWxwaGFiZXRpYyhTdHJp
bmdCdWlsZGVyJiBidWlsZGVyLCBpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBhbHBo
YWJldCwgdW5zaWduZWQgYWxwaGFiZXRTaXplKQogewotICAgIHJldHVybiB0b0FscGhhYmV0aWNP
ck51bWVyaWMobnVtYmVyLCBhbHBoYWJldCwgYWxwaGFiZXRTaXplLCBBbHBoYWJldGljU2VxdWVu
Y2UpOworICAgIHRvQWxwaGFiZXRpY09yTnVtZXJpYyhidWlsZGVyLCBudW1iZXIsIGFscGhhYmV0
LCBhbHBoYWJldFNpemUsIEFscGhhYmV0aWNTZXF1ZW5jZSk7CiB9CiAKIHRlbXBsYXRlIDx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgotc3RhdGljIFN0cmluZyB0b051bWVyaWMoaW50IG51bWJlciwg
Y29uc3QgQ2hhcmFjdGVyVHlwZSogbnVtZXJhbHMsIHVuc2lnbmVkIG51bWVyYWxzU2l6ZSkKK3N0
YXRpYyBORVZFUl9JTkxJTkUgdm9pZCB0b051bWVyaWMoU3RyaW5nQnVpbGRlciYgYnVpbGRlciwg
aW50IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogbnVtZXJhbHMsIHVuc2lnbmVkIG51bWVy
YWxzU2l6ZSkKIHsKLSAgICByZXR1cm4gdG9BbHBoYWJldGljT3JOdW1lcmljKG51bWJlciwgbnVt
ZXJhbHMsIG51bWVyYWxzU2l6ZSwgTnVtZXJpY1NlcXVlbmNlKTsKKyAgICB0b0FscGhhYmV0aWNP
ck51bWVyaWMoYnVpbGRlciwgbnVtYmVyLCBudW1lcmFscywgbnVtZXJhbHNTaXplLCBOdW1lcmlj
U2VxdWVuY2UpOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZSwgc2l6ZV90
IHNpemU+Ci1zdGF0aWMgaW5saW5lIFN0cmluZyB0b0FscGhhYmV0aWMoaW50IG51bWJlciwgY29u
c3QgQ2hhcmFjdGVyVHlwZSgmYWxwaGFiZXQpW3NpemVdKQorc3RhdGljIGlubGluZSB2b2lkIHRv
QWxwaGFiZXRpYyhTdHJpbmdCdWlsZGVyJiBidWlsZGVyLCBpbnQgbnVtYmVyLCBjb25zdCBDaGFy
YWN0ZXJUeXBlKCZhbHBoYWJldClbc2l6ZV0pCiB7Ci0gICAgcmV0dXJuIHRvQWxwaGFiZXRpYyhu
dW1iZXIsIGFscGhhYmV0LCBzaXplKTsKKyAgICB0b0FscGhhYmV0aWMoYnVpbGRlciwgbnVtYmVy
LCBhbHBoYWJldCwgc2l6ZSk7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
LCBzaXplX3Qgc2l6ZT4KLXN0YXRpYyBpbmxpbmUgU3RyaW5nIHRvTnVtZXJpYyhpbnQgbnVtYmVy
LCBjb25zdCBDaGFyYWN0ZXJUeXBlKCZhbHBoYWJldClbc2l6ZV0pCitzdGF0aWMgaW5saW5lIHZv
aWQgdG9OdW1lcmljKFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIsIGludCBudW1iZXIsIGNvbnN0IENo
YXJhY3RlclR5cGUoJmFscGhhYmV0KVtzaXplXSkKIHsKLSAgICByZXR1cm4gdG9OdW1lcmljKG51
bWJlciwgYWxwaGFiZXQsIHNpemUpOworICAgIHRvTnVtZXJpYyhidWlsZGVyLCBudW1iZXIsIGFs
cGhhYmV0LCBzaXplKTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGUsIHNp
emVfdCBzaXplPgotc3RhdGljIGlubGluZSBTdHJpbmcgdG9TeW1ib2xpYyhpbnQgbnVtYmVyLCBj
b25zdCBDaGFyYWN0ZXJUeXBlKCZhbHBoYWJldClbc2l6ZV0pCitzdGF0aWMgaW5saW5lIHZvaWQg
dG9TeW1ib2xpYyhTdHJpbmdCdWlsZGVyJiBidWlsZGVyLCBpbnQgbnVtYmVyLCBjb25zdCBDaGFy
YWN0ZXJUeXBlKCZhbHBoYWJldClbc2l6ZV0pCiB7ICAgIAotICAgIHJldHVybiB0b1N5bWJvbGlj
KG51bWJlciwgYWxwaGFiZXQsIHNpemUpOworICAgIHRvU3ltYm9saWMoYnVpbGRlciwgbnVtYmVy
LCBhbHBoYWJldCwgc2l6ZSk7CiB9CiAKLXN0YXRpYyBpbnQgdG9IZWJyZXdVbmRlcjEwMDAoaW50
IG51bWJlciwgVUNoYXIgbGV0dGVyc1s1XSkKK3N0YXRpYyBORVZFUl9JTkxJTkUgaW50IHRvSGVi
cmV3VW5kZXIxMDAwKGludCBudW1iZXIsIFVDaGFyIGxldHRlcnNbNV0pCiB7CiAgICAgLy8gRklY
TUU6IENTUzMgbWVudGlvbnMgdmFyaW91cyByZWZpbmVtZW50cyBub3QgaW1wbGVtZW50ZWQgaGVy
ZS4KICAgICAvLyBGSVhNRTogU2hvdWxkIHRha2UgYSBsb29rIGF0IE1vemlsbGEncyBIZWJyZXdU
b1RleHQgZnVuY3Rpb24gKGluIG5zQnVsbGV0RnJhbWUpLgpAQCAtMTk3LDE0ICsxOTIsMTUgQEAg
c3RhdGljIGludCB0b0hlYnJld1VuZGVyMTAwMChpbnQgbnVtYmVyLCBVQ2hhciBsZXR0ZXJzWzVd
KQogICAgIHJldHVybiBsZW5ndGg7CiB9CiAKLXN0YXRpYyBTdHJpbmcgdG9IZWJyZXcoaW50IG51
bWJlcikKK3N0YXRpYyBORVZFUl9JTkxJTkUgdm9pZCB0b0hlYnJldyhTdHJpbmdCdWlsZGVyJiBi
dWlsZGVyLCBpbnQgbnVtYmVyKQogewogICAgIC8vIEZJWE1FOiBDU1MzIG1lbnRpb25zIHdheXMg
dG8gbWFrZSB0aGlzIHdvcmsgZm9yIG11Y2ggbGFyZ2VyIG51bWJlcnMuCiAgICAgQVNTRVJUKG51
bWJlciA+PSAwICYmIG51bWJlciA8PSA5OTk5OTkpOwogCiAgICAgaWYgKG51bWJlciA9PSAwKSB7
CiAgICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBoZWJyZXdaZXJvWzNdID0geyAweDA1RDAsIDB4
MDVFNCwgMHgwNUUxIH07Ci0gICAgICAgIHJldHVybiBTdHJpbmcoaGVicmV3WmVybywgMyk7Cisg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKGhlYnJld1plcm8sIDMpOworICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgY29uc3QgaW50IGxldHRlcnNTaXplID0gMTE7IC8vIGJpZyBlbm91Z2ggZm9y
IHR3byA1LWRpZ2l0IHNlcXVlbmNlcyBwbHVzIGEgcXVvdGUgbWFyayBiZXR3ZWVuCkBAIC0yMjEs
MTAgKzIxNywxMCBAQCBzdGF0aWMgU3RyaW5nIHRvSGVicmV3KGludCBudW1iZXIpCiAgICAgbGVu
Z3RoICs9IHRvSGVicmV3VW5kZXIxMDAwKG51bWJlciwgbGV0dGVycyArIGxlbmd0aCk7CiAKICAg
ICBBU1NFUlQobGVuZ3RoIDw9IGxldHRlcnNTaXplKTsKLSAgICByZXR1cm4gU3RyaW5nKGxldHRl
cnMsIGxlbmd0aCk7CisgICAgYnVpbGRlci5hcHBlbmQobGV0dGVycywgbGVuZ3RoKTsKIH0KIAot
c3RhdGljIGludCB0b0FybWVuaWFuVW5kZXIxMDAwMChpbnQgbnVtYmVyLCBib29sIHVwcGVyLCBi
b29sIGFkZENpcmN1bWZsZXgsIFVDaGFyIGxldHRlcnNbOV0pCitzdGF0aWMgTkVWRVJfSU5MSU5F
IGludCB0b0FybWVuaWFuVW5kZXIxMDAwMChpbnQgbnVtYmVyLCBib29sIHVwcGVyLCBib29sIGFk
ZENpcmN1bWZsZXgsIFVDaGFyIGxldHRlcnNbOV0pCiB7CiAgICAgQVNTRVJUKG51bWJlciA+PSAw
ICYmIG51bWJlciA8IDEwMDAwKTsKICAgICBpbnQgbGVuZ3RoID0gMDsKQEAgLTI2NCw3ICsyNjAs
NyBAQCBzdGF0aWMgaW50IHRvQXJtZW5pYW5VbmRlcjEwMDAwKGludCBudW1iZXIsIGJvb2wgdXBw
ZXIsIGJvb2wgYWRkQ2lyY3VtZmxleCwgVUNoYQogICAgIHJldHVybiBsZW5ndGg7CiB9CiAKLXN0
YXRpYyBTdHJpbmcgdG9Bcm1lbmlhbihpbnQgbnVtYmVyLCBib29sIHVwcGVyKQorc3RhdGljIE5F
VkVSX0lOTElORSB2b2lkIHRvQXJtZW5pYW4oU3RyaW5nQnVpbGRlciYgYnVpbGRlciwgaW50IG51
bWJlciwgYm9vbCB1cHBlcikKIHsKICAgICBBU1NFUlQobnVtYmVyID49IDEgJiYgbnVtYmVyIDw9
IDk5OTk5OTk5KTsKIApAQCAtMjc1LDEwICsyNzEsMTAgQEAgc3RhdGljIFN0cmluZyB0b0FybWVu
aWFuKGludCBudW1iZXIsIGJvb2wgdXBwZXIpCiAgICAgbGVuZ3RoICs9IHRvQXJtZW5pYW5VbmRl
cjEwMDAwKG51bWJlciAlIDEwMDAwLCB1cHBlciwgZmFsc2UsIGxldHRlcnMgKyBsZW5ndGgpOwog
CiAgICAgQVNTRVJUKGxlbmd0aCA8PSBsZXR0ZXJzU2l6ZSk7Ci0gICAgcmV0dXJuIFN0cmluZyhs
ZXR0ZXJzLCBsZW5ndGgpOworICAgIGJ1aWxkZXIuYXBwZW5kKGxldHRlcnMsIGxlbmd0aCk7CiB9
CiAKLXN0YXRpYyBTdHJpbmcgdG9HZW9yZ2lhbihpbnQgbnVtYmVyKQorc3RhdGljIE5FVkVSX0lO
TElORSB2b2lkIHRvR2VvcmdpYW4oU3RyaW5nQnVpbGRlciYgYnVpbGRlciwgaW50IG51bWJlcikK
IHsKICAgICBBU1NFUlQobnVtYmVyID49IDEgJiYgbnVtYmVyIDw9IDE5OTk5KTsKIApAQCAtMzE5
LDEyICszMTUsMTIgQEAgc3RhdGljIFN0cmluZyB0b0dlb3JnaWFuKGludCBudW1iZXIpCiAgICAg
fQogCiAgICAgQVNTRVJUKGxlbmd0aCA8PSBsZXR0ZXJzU2l6ZSk7Ci0gICAgcmV0dXJuIFN0cmlu
ZyhsZXR0ZXJzLCBsZW5ndGgpOworICAgIGJ1aWxkZXIuYXBwZW5kKGxldHRlcnMsIGxlbmd0aCk7
CiB9CiAKIC8vIFRoZSB0YWJsZSB1c2VzIHRoZSBvcmRlciBmcm9tIHRoZSBDU1MzIHNwZWNpZmlj
YXRpb246CiAvLyBmaXJzdCAzIGdyb3VwIG1hcmtlcnMsIHRoZW4gMyBkaWdpdCBtYXJrZXJzLCB0
aGVuIHRlbiBkaWdpdHMuCi1zdGF0aWMgU3RyaW5nIHRvQ0pLSWRlb2dyYXBoaWMoaW50IG51bWJl
ciwgY29uc3QgVUNoYXIgdGFibGVbMTZdKQorc3RhdGljIE5FVkVSX0lOTElORSB2b2lkIHRvQ0pL
SWRlb2dyYXBoaWMoU3RyaW5nQnVpbGRlciYgYnVpbGRlciwgaW50IG51bWJlciwgY29uc3QgVUNo
YXIgdGFibGVbMTZdKQogewogICAgIEFTU0VSVChudW1iZXIgPj0gMCk7CiAKQEAgLTMzNiw4ICsz
MzIsMTAgQEAgc3RhdGljIFN0cmluZyB0b0NKS0lkZW9ncmFwaGljKGludCBudW1iZXIsIGNvbnN0
IFVDaGFyIHRhYmxlWzE2XSkKICAgICAgICAgZGlnaXQ1LCBkaWdpdDYsIGRpZ2l0NywgZGlnaXQ4
LCBkaWdpdDkKICAgICB9OwogCi0gICAgaWYgKG51bWJlciA9PSAwKQotICAgICAgICByZXR1cm4g
U3RyaW5nKCZ0YWJsZVtkaWdpdDAgLSAxXSwgMSk7CisgICAgaWYgKG51bWJlciA9PSAwKSB7Cisg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKHRhYmxlW2RpZ2l0MCAtIDFdKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KIAogICAgIGNvbnN0IGludCBncm91cExlbmd0aCA9IDg7IC8vIDQgZGlnaXRzLCAz
IGRpZ2l0IG1hcmtlcnMsIGFuZCBhIGdyb3VwIG1hcmtlcgogICAgIGNvbnN0IGludCBidWZmZXJM
ZW5ndGggPSA0ICogZ3JvdXBMZW5ndGg7CkBAIC00MDEsNyArMzk5LDcgQEAgc3RhdGljIFN0cmlu
ZyB0b0NKS0lkZW9ncmFwaGljKGludCBudW1iZXIsIGNvbnN0IFVDaGFyIHRhYmxlWzE2XSkKICAg
ICBpZiAobGFzdCA9PSBkaWdpdDApCiAgICAgICAgIC0tbGVuZ3RoOwogCi0gICAgcmV0dXJuIFN0
cmluZyhjaGFyYWN0ZXJzLCBsZW5ndGgpOworICAgIGJ1aWxkZXIuYXBwZW5kKGNoYXJhY3RlcnMs
IGxlbmd0aCk7CiB9CiAKIHN0YXRpYyBFTGlzdFN0eWxlVHlwZSBlZmZlY3RpdmVMaXN0TWFya2Vy
VHlwZShFTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCkBAIC02MDQsMTY1ICs2MDIsMTk4
IEBAIHN0YXRpYyBVQ2hhciBsaXN0TWFya2VyU3VmZml4KEVMaXN0U3R5bGVUeXBlIHR5cGUsIGlu
dCB2YWx1ZSkKIAogU3RyaW5nIGxpc3RNYXJrZXJUZXh0KEVMaXN0U3R5bGVUeXBlIHR5cGUsIGlu
dCB2YWx1ZSkKIHsKKyAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisKICAgICAvLyBJZiB0aGUg
bGlzdC1zdHlsZS10eXBlLCBzYXkgaGVicmV3LCBjYW5ub3QgcmVwcmVzZW50IHx2YWx1ZXwgYmVj
YXVzZSBpdCdzIG91dHNpZGUKICAgICAvLyBpdHMgb3JkaW5hbCByYW5nZSB0aGVuIHdlIGZhbGxi
YWNrIHRvIHNvbWUgbGlzdCBzdHlsZSB0aGF0IGNhbiByZXByZXNlbnQgfHZhbHVlfC4KICAgICBz
d2l0Y2ggKGVmZmVjdGl2ZUxpc3RNYXJrZXJUeXBlKHR5cGUsIHZhbHVlKSkgewogICAgICAgICBj
YXNlIE5vbmVMaXN0U3R5bGU6Ci0gICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAgICAgICBy
ZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgICAgICBjYXNlIEFzdGVyaXNrczogewotICAgICAg
ICAgICAgc3RhdGljIGNvbnN0IExDaGFyIGFzdGVyaXNrc1N5bWJvbHNbMV0gPSB7Ci0gICAgICAg
ICAgICAgICAgMHgyQQotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b1N5bWJv
bGljKHZhbHVlLCBhc3Rlcmlza3NTeW1ib2xzKTsKKyAgICAgICAgICAgIHN0YXRpYyBjb25zdCBM
Q2hhciBhc3Rlcmlza3NTeW1ib2xzWzFdID0geyAweDJBIH07CisgICAgICAgICAgICB0b1N5bWJv
bGljKGJ1aWxkZXIsIHZhbHVlLCBhc3Rlcmlza3NTeW1ib2xzKTsKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgICAgIC8vIFdlIHVzZSB0aGUgc2FtZSBjaGFyYWN0ZXJzIGZvciB0
ZXh0IHNlY3VyaXR5LgogICAgICAgICAvLyBTZWUgUmVuZGVyVGV4dDo6c2V0SW50ZXJuYWxTdHJp
bmcuCiAgICAgICAgIGNhc2UgQ2lyY2xlOgotICAgICAgICAgICAgcmV0dXJuIFN0cmluZygmd2hp
dGVCdWxsZXQsIDEpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQod2hpdGVCdWxsZXQpOwor
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRGlzYzoKLSAgICAgICAgICAgIHJldHVy
biBTdHJpbmcoJmJ1bGxldCwgMSk7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChidWxsZXQp
OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRm9vdG5vdGVzOiB7Ci0gICAgICAg
ICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZm9vdG5vdGVzU3ltYm9sc1s0XSA9IHsKLSAgICAgICAg
ICAgICAgICAweDAwMkEsIDB4MjA1MSwgMHgyMDIwLCAweDIwMjEKLSAgICAgICAgICAgIH07Ci0g
ICAgICAgICAgICByZXR1cm4gdG9TeW1ib2xpYyh2YWx1ZSwgZm9vdG5vdGVzU3ltYm9scyk7Cisg
ICAgICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZm9vdG5vdGVzU3ltYm9sc1s0XSA9IHsgMHgw
MDJBLCAweDIwNTEsIDB4MjAyMCwgMHgyMDIxIH07CisgICAgICAgICAgICB0b1N5bWJvbGljKGJ1
aWxkZXIsIHZhbHVlLCBmb290bm90ZXNTeW1ib2xzKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAgICAgICAgIGNhc2UgU3F1YXJlOgogICAgICAgICAgICAgLy8gVGhlIENTUyAyLjEg
dGVzdCBzdWl0ZSB1c2VzIFUrMjVFRSBCTEFDSyBNRURJVU0gU01BTEwgU1FVQVJFCiAgICAgICAg
ICAgICAvLyBpbnN0ZWFkLCBidXQgSSB0aGluayB0aGlzIGxvb2tzIGJldHRlci4KLSAgICAgICAg
ICAgIHJldHVybiBTdHJpbmcoJmJsYWNrU3F1YXJlLCAxKTsKKyAgICAgICAgICAgIGJ1aWxkZXIu
YXBwZW5kKGJsYWNrU3F1YXJlKTsKKyAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2Ug
RGVjaW1hbExpc3RTdHlsZToKLSAgICAgICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlcih2YWx1
ZSk7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcih2YWx1ZSk7CisgICAgICAgICAg
ICBicmVhazsKKwogICAgICAgICBjYXNlIERlY2ltYWxMZWFkaW5nWmVybzoKLSAgICAgICAgICAg
IGlmICh2YWx1ZSA8IC05IHx8IHZhbHVlID4gOSkKLSAgICAgICAgICAgICAgICByZXR1cm4gU3Ry
aW5nOjpudW1iZXIodmFsdWUpOwotICAgICAgICAgICAgaWYgKHZhbHVlIDwgMCkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gIi0wIiArIFN0cmluZzo6bnVtYmVyKC12YWx1ZSk7IC8vIC0wMSB0byAt
MDkKLSAgICAgICAgICAgIHJldHVybiAiMCIgKyBTdHJpbmc6Om51bWJlcih2YWx1ZSk7IC8vIDAw
IHRvIDA5CisgICAgICAgICAgICBpZiAodmFsdWUgPCAtOSB8fCB2YWx1ZSA+IDkpIHsKKyAgICAg
ICAgICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcih2YWx1ZSk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAodmFsdWUgPCAwKSB7CisgICAg
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoIi0wIik7CisgICAgICAgICAgICAgICAgYnVpbGRl
ci5hcHBlbmROdW1iZXIoLXZhbHVlKTsgLy8gLTAxIHRvIC0wOQorICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJzAnKTsKKyAg
ICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKHZhbHVlKTsgLy8gMDAgdG8gMDkKKyAgICAg
ICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgQXJhYmljSW5kaWM6IHsKICAgICAgICAgICAg
IHN0YXRpYyBjb25zdCBVQ2hhciBhcmFiaWNJbmRpY051bWVyYWxzWzEwXSA9IHsKICAgICAgICAg
ICAgICAgICAweDA2NjAsIDB4MDY2MSwgMHgwNjYyLCAweDA2NjMsIDB4MDY2NCwgMHgwNjY1LCAw
eDA2NjYsIDB4MDY2NywgMHgwNjY4LCAweDA2NjkKICAgICAgICAgICAgIH07Ci0gICAgICAgICAg
ICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBhcmFiaWNJbmRpY051bWVyYWxzKTsKKyAgICAgICAg
ICAgIHRvTnVtZXJpYyhidWlsZGVyLCB2YWx1ZSwgYXJhYmljSW5kaWNOdW1lcmFscyk7CisgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQorCiAgICAgICAgIGNhc2UgQmluYXJ5TGlzdFN0eWxl
OiB7Ci0gICAgICAgICAgICBzdGF0aWMgY29uc3QgTENoYXIgYmluYXJ5TnVtZXJhbHNbMl0gPSB7
Ci0gICAgICAgICAgICAgICAgJzAnLCAnMScKLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBy
ZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBiaW5hcnlOdW1lcmFscyk7CisgICAgICAgICAgICBzdGF0
aWMgY29uc3QgTENoYXIgYmluYXJ5TnVtZXJhbHNbMl0gPSB7ICcwJywgJzEnIH07CisgICAgICAg
ICAgICB0b051bWVyaWMoYnVpbGRlciwgdmFsdWUsIGJpbmFyeU51bWVyYWxzKTsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CisKICAgICAgICAgY2FzZSBCZW5nYWxpOiB7CiAgICAgICAg
ICAgICBzdGF0aWMgY29uc3QgVUNoYXIgYmVuZ2FsaU51bWVyYWxzWzEwXSA9IHsKICAgICAgICAg
ICAgICAgICAweDA5RTYsIDB4MDlFNywgMHgwOUU4LCAweDA5RTksIDB4MDlFQSwgMHgwOUVCLCAw
eDA5RUMsIDB4MDlFRCwgMHgwOUVFLCAweDA5RUYKICAgICAgICAgICAgIH07Ci0gICAgICAgICAg
ICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBiZW5nYWxpTnVtZXJhbHMpOworICAgICAgICAgICAg
dG9OdW1lcmljKGJ1aWxkZXIsIHZhbHVlLCBiZW5nYWxpTnVtZXJhbHMpOworICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KKwogICAgICAgICBjYXNlIENhbWJvZGlhbjoKICAgICAgICAgY2Fz
ZSBLaG1lcjogewogICAgICAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGtobWVyTnVtZXJhbHNb
MTBdID0gewogICAgICAgICAgICAgICAgIDB4MTdFMCwgMHgxN0UxLCAweDE3RTIsIDB4MTdFMywg
MHgxN0U0LCAweDE3RTUsIDB4MTdFNiwgMHgxN0U3LCAweDE3RTgsIDB4MTdFOQogICAgICAgICAg
ICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIGtobWVyTnVtZXJhbHMp
OworICAgICAgICAgICAgdG9OdW1lcmljKGJ1aWxkZXIsIHZhbHVlLCBraG1lck51bWVyYWxzKTsK
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRGV2YW5hZ2FyaTog
ewogICAgICAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIGRldmFuYWdhcmlOdW1lcmFsc1sxMF0g
PSB7CiAgICAgICAgICAgICAgICAgMHgwOTY2LCAweDA5NjcsIDB4MDk2OCwgMHgwOTY5LCAweDA5
NkEsIDB4MDk2QiwgMHgwOTZDLCAweDA5NkQsIDB4MDk2RSwgMHgwOTZGCiAgICAgICAgICAgICB9
OwotICAgICAgICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgZGV2YW5hZ2FyaU51bWVyYWxz
KTsKKyAgICAgICAgICAgIHRvTnVtZXJpYyhidWlsZGVyLCB2YWx1ZSwgZGV2YW5hZ2FyaU51bWVy
YWxzKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgR3VqYXJh
dGk6IHsKICAgICAgICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBndWphcmF0aU51bWVyYWxzWzEw
XSA9IHsKICAgICAgICAgICAgICAgICAweDBBRTYsIDB4MEFFNywgMHgwQUU4LCAweDBBRTksIDB4
MEFFQSwgMHgwQUVCLCAweDBBRUMsIDB4MEFFRCwgMHgwQUVFLCAweDBBRUYKICAgICAgICAgICAg
IH07Ci0gICAgICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBndWphcmF0aU51bWVyYWxz
KTsKKyAgICAgICAgICAgIHRvTnVtZXJpYyhidWlsZGVyLCB2YWx1ZSwgZ3VqYXJhdGlOdW1lcmFs
cyk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEd1cm11a2hp
OiB7CiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgZ3VybXVraGlOdW1lcmFsc1sxMF0g
PSB7CiAgICAgICAgICAgICAgICAgMHgwQTY2LCAweDBBNjcsIDB4MEE2OCwgMHgwQTY5LCAweDBB
NkEsIDB4MEE2QiwgMHgwQTZDLCAweDBBNkQsIDB4MEE2RSwgMHgwQTZGCiAgICAgICAgICAgICB9
OwotICAgICAgICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgZ3VybXVraGlOdW1lcmFscyk7
CisgICAgICAgICAgICB0b051bWVyaWMoYnVpbGRlciwgdmFsdWUsIGd1cm11a2hpTnVtZXJhbHMp
OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBLYW5uYWRhOiB7
CiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIga2FubmFkYU51bWVyYWxzWzEwXSA9IHsK
ICAgICAgICAgICAgICAgICAweDBDRTYsIDB4MENFNywgMHgwQ0U4LCAweDBDRTksIDB4MENFQSwg
MHgwQ0VCLCAweDBDRUMsIDB4MENFRCwgMHgwQ0VFLCAweDBDRUYKICAgICAgICAgICAgIH07Ci0g
ICAgICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBrYW5uYWRhTnVtZXJhbHMpOworICAg
ICAgICAgICAgdG9OdW1lcmljKGJ1aWxkZXIsIHZhbHVlLCBrYW5uYWRhTnVtZXJhbHMpOworICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBMb3dlckhleGFkZWNpbWFs
OiB7CiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgTENoYXIgbG93ZXJIZXhhZGVjaW1hbE51bWVy
YWxzWzE2XSA9IHsKICAgICAgICAgICAgICAgICAnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUn
LCAnNicsICc3JywgJzgnLCAnOScsICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicKICAgICAg
ICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBsb3dlckhleGFk
ZWNpbWFsTnVtZXJhbHMpOworICAgICAgICAgICAgdG9OdW1lcmljKGJ1aWxkZXIsIHZhbHVlLCBs
b3dlckhleGFkZWNpbWFsTnVtZXJhbHMpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ICAgICAgICAgY2FzZSBMYW86IHsKICAgICAgICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBsYW9O
dW1lcmFsc1sxMF0gPSB7CiAgICAgICAgICAgICAgICAgMHgwRUQwLCAweDBFRDEsIDB4MEVEMiwg
MHgwRUQzLCAweDBFRDQsIDB4MEVENSwgMHgwRUQ2LCAweDBFRDcsIDB4MEVEOCwgMHgwRUQ5CiAg
ICAgICAgICAgICB9OwotICAgICAgICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgbGFvTnVt
ZXJhbHMpOworICAgICAgICAgICAgdG9OdW1lcmljKGJ1aWxkZXIsIHZhbHVlLCBsYW9OdW1lcmFs
cyk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIE1hbGF5YWxh
bTogewogICAgICAgICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIG1hbGF5YWxhbU51bWVyYWxzWzEw
XSA9IHsKICAgICAgICAgICAgICAgICAweDBENjYsIDB4MEQ2NywgMHgwRDY4LCAweDBENjksIDB4
MEQ2QSwgMHgwRDZCLCAweDBENkMsIDB4MEQ2RCwgMHgwRDZFLCAweDBENkYKICAgICAgICAgICAg
IH07Ci0gICAgICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBtYWxheWFsYW1OdW1lcmFs
cyk7CisgICAgICAgICAgICB0b051bWVyaWMoYnVpbGRlciwgdmFsdWUsIG1hbGF5YWxhbU51bWVy
YWxzKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgTW9uZ29s
aWFuOiB7CiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgbW9uZ29saWFuTnVtZXJhbHNb
MTBdID0gewogICAgICAgICAgICAgICAgIDB4MTgxMCwgMHgxODExLCAweDE4MTIsIDB4MTgxMywg
MHgxODE0LCAweDE4MTUsIDB4MTgxNiwgMHgxODE3LCAweDE4MTgsIDB4MTgxOQogICAgICAgICAg
ICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIG1vbmdvbGlhbk51bWVy
YWxzKTsKKyAgICAgICAgICAgIHRvTnVtZXJpYyhidWlsZGVyLCB2YWx1ZSwgbW9uZ29saWFuTnVt
ZXJhbHMpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBNeWFu
bWFyOiB7CiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgbXlhbm1hck51bWVyYWxzWzEw
XSA9IHsKICAgICAgICAgICAgICAgICAweDEwNDAsIDB4MTA0MSwgMHgxMDQyLCAweDEwNDMsIDB4
MTA0NCwgMHgxMDQ1LCAweDEwNDYsIDB4MTA0NywgMHgxMDQ4LCAweDEwNDkKICAgICAgICAgICAg
IH07Ci0gICAgICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBteWFubWFyTnVtZXJhbHMp
OworICAgICAgICAgICAgdG9OdW1lcmljKGJ1aWxkZXIsIHZhbHVlLCBteWFubWFyTnVtZXJhbHMp
OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBPY3RhbDogewog
ICAgICAgICAgICAgc3RhdGljIGNvbnN0IExDaGFyIG9jdGFsTnVtZXJhbHNbOF0gPSB7CiAgICAg
ICAgICAgICAgICAgJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycKICAgICAg
ICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCBvY3RhbE51bWVy
YWxzKTsKKyAgICAgICAgICAgIHRvTnVtZXJpYyhidWlsZGVyLCB2YWx1ZSwgb2N0YWxOdW1lcmFs
cyk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIE9yaXlhOiB7
CiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgb3JpeWFOdW1lcmFsc1sxMF0gPSB7CiAg
ICAgICAgICAgICAgICAgMHgwQjY2LCAweDBCNjcsIDB4MEI2OCwgMHgwQjY5LCAweDBCNkEsIDB4
MEI2QiwgMHgwQjZDLCAweDBCNkQsIDB4MEI2RSwgMHgwQjZGCiAgICAgICAgICAgICB9OwotICAg
ICAgICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2YWx1ZSwgb3JpeWFOdW1lcmFscyk7CisgICAgICAg
ICAgICB0b051bWVyaWMoYnVpbGRlciwgdmFsdWUsIG9yaXlhTnVtZXJhbHMpOworICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBQZXJzaWFuOgogICAgICAgICBjYXNl
IFVyZHU6IHsKICAgICAgICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciB1cmR1TnVtZXJhbHNbMTBd
ID0gewogICAgICAgICAgICAgICAgIDB4MDZGMCwgMHgwNkYxLCAweDA2RjIsIDB4MDZGMywgMHgw
NkY0LCAweDA2RjUsIDB4MDZGNiwgMHgwNkY3LCAweDA2RjgsIDB4MDZGOQogICAgICAgICAgICAg
fTsKLSAgICAgICAgICAgIHJldHVybiB0b051bWVyaWModmFsdWUsIHVyZHVOdW1lcmFscyk7Cisg
ICAgICAgICAgICB0b051bWVyaWMoYnVpbGRlciwgdmFsdWUsIHVyZHVOdW1lcmFscyk7CisgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFRlbHVndTogewogICAgICAg
ICAgICAgc3RhdGljIGNvbnN0IFVDaGFyIHRlbHVndU51bWVyYWxzWzEwXSA9IHsKICAgICAgICAg
ICAgICAgICAweDBDNjYsIDB4MEM2NywgMHgwQzY4LCAweDBDNjksIDB4MEM2QSwgMHgwQzZCLCAw
eDBDNkMsIDB4MEM2RCwgMHgwQzZFLCAweDBDNkYKICAgICAgICAgICAgIH07Ci0gICAgICAgICAg
ICByZXR1cm4gdG9OdW1lcmljKHZhbHVlLCB0ZWx1Z3VOdW1lcmFscyk7CisgICAgICAgICAgICB0
b051bWVyaWMoYnVpbGRlciwgdmFsdWUsIHRlbHVndU51bWVyYWxzKTsKKyAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgVGliZXRhbjogewogICAgICAgICAgICAgc3Rh
dGljIGNvbnN0IFVDaGFyIHRpYmV0YW5OdW1lcmFsc1sxMF0gPSB7CiAgICAgICAgICAgICAgICAg
MHgwRjIwLCAweDBGMjEsIDB4MEYyMiwgMHgwRjIzLCAweDBGMjQsIDB4MEYyNSwgMHgwRjI2LCAw
eDBGMjcsIDB4MEYyOCwgMHgwRjI5CiAgICAgICAgICAgICB9OwotICAgICAgICAgICAgcmV0dXJu
IHRvTnVtZXJpYyh2YWx1ZSwgdGliZXRhbk51bWVyYWxzKTsKKyAgICAgICAgICAgIHRvTnVtZXJp
YyhidWlsZGVyLCB2YWx1ZSwgdGliZXRhbk51bWVyYWxzKTsKKyAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgIGNhc2UgVGhhaTogewogICAgICAgICAgICAgc3RhdGljIGNvbnN0
IFVDaGFyIHRoYWlOdW1lcmFsc1sxMF0gPSB7CiAgICAgICAgICAgICAgICAgMHgwRTUwLCAweDBF
NTEsIDB4MEU1MiwgMHgwRTUzLCAweDBFNTQsIDB4MEU1NSwgMHgwRTU2LCAweDBFNTcsIDB4MEU1
OCwgMHgwRTU5CiAgICAgICAgICAgICB9OwotICAgICAgICAgICAgcmV0dXJuIHRvTnVtZXJpYyh2
YWx1ZSwgdGhhaU51bWVyYWxzKTsKKyAgICAgICAgICAgIHRvTnVtZXJpYyhidWlsZGVyLCB2YWx1
ZSwgdGhhaU51bWVyYWxzKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAg
IGNhc2UgVXBwZXJIZXhhZGVjaW1hbDogewogICAgICAgICAgICAgc3RhdGljIGNvbnN0IExDaGFy
IHVwcGVySGV4YWRlY2ltYWxOdW1lcmFsc1sxNl0gPSB7CiAgICAgICAgICAgICAgICAgJzAnLCAn
MScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnQScsICdCJywgJ0Mn
LCAnRCcsICdFJywgJ0YnCiAgICAgICAgICAgICB9OwotICAgICAgICAgICAgcmV0dXJuIHRvTnVt
ZXJpYyh2YWx1ZSwgdXBwZXJIZXhhZGVjaW1hbE51bWVyYWxzKTsKKyAgICAgICAgICAgIHRvTnVt
ZXJpYyhidWlsZGVyLCB2YWx1ZSwgdXBwZXJIZXhhZGVjaW1hbE51bWVyYWxzKTsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgY2FzZSBMb3dlckFscGhhOgpAQCAtNzcx
LDcgKzgwMiw4IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChFTGlzdFN0eWxlVHlwZSB0eXBlLCBp
bnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywg
J2cnLCAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLAogICAgICAgICAgICAgICAgICduJywg
J28nLCAncCcsICdxJywgJ3InLCAncycsICd0JywgJ3UnLCAndicsICd3JywgJ3gnLCAneScsICd6
JwogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUs
IGxvd2VyTGF0aW5BbHBoYWJldCk7CisgICAgICAgICAgICB0b0FscGhhYmV0aWMoYnVpbGRlciwg
dmFsdWUsIGxvd2VyTGF0aW5BbHBoYWJldCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBjYXNlIFVwcGVyQWxwaGE6CiAgICAgICAgIGNhc2UgVXBwZXJMYXRpbjogewpA
QCAtNzc5LDcgKzgxMSw4IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChFTGlzdFN0eWxlVHlwZSB0
eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScs
ICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLAogICAgICAgICAgICAgICAg
ICdOJywgJ08nLCAnUCcsICdRJywgJ1InLCAnUycsICdUJywgJ1UnLCAnVicsICdXJywgJ1gnLCAn
WScsICdaJwogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWMo
dmFsdWUsIHVwcGVyTGF0aW5BbHBoYWJldCk7CisgICAgICAgICAgICB0b0FscGhhYmV0aWMoYnVp
bGRlciwgdmFsdWUsIHVwcGVyTGF0aW5BbHBoYWJldCk7CisgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogICAgICAgICBjYXNlIExvd2VyR3JlZWs6IHsKICAgICAgICAgICAgIHN0YXRpYyBj
b25zdCBVQ2hhciBsb3dlckdyZWVrQWxwaGFiZXRbMjRdID0gewpAQCAtNzg3LDcgKzgyMCw4IEBA
IFN0cmluZyBsaXN0TWFya2VyVGV4dChFTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAg
ICAgICAgICAgICAgICAgMHgwM0I5LCAweDAzQkEsIDB4MDNCQiwgMHgwM0JDLCAweDAzQkQsIDB4
MDNCRSwgMHgwM0JGLCAweDAzQzAsCiAgICAgICAgICAgICAgICAgMHgwM0MxLCAweDAzQzMsIDB4
MDNDNCwgMHgwM0M1LCAweDAzQzYsIDB4MDNDNywgMHgwM0M4LCAweDAzQzkKICAgICAgICAgICAg
IH07Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCBsb3dlckdyZWVrQWxw
aGFiZXQpOworICAgICAgICAgICAgdG9BbHBoYWJldGljKGJ1aWxkZXIsIHZhbHVlLCBsb3dlckdy
ZWVrQWxwaGFiZXQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAogICAgICAgICBj
YXNlIEhpcmFnYW5hOiB7CkBAIC04MDEsNyArODM1LDggQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0
KEVMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgICAgICAgICAweDMwODAs
IDB4MzA4MSwgMHgzMDgyLCAweDMwODQsIDB4MzA4NiwgMHgzMDg4LCAweDMwODksIDB4MzA4QSwK
ICAgICAgICAgICAgICAgICAweDMwOEIsIDB4MzA4QywgMHgzMDhELCAweDMwOEYsIDB4MzA5MCwg
MHgzMDkxLCAweDMwOTIsIDB4MzA5MwogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHJldHVy
biB0b0FscGhhYmV0aWModmFsdWUsIGhpcmFnYW5hQWxwaGFiZXQpOworICAgICAgICAgICAgdG9B
bHBoYWJldGljKGJ1aWxkZXIsIHZhbHVlLCBoaXJhZ2FuYUFscGhhYmV0KTsKKyAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgSGlyYWdhbmFJcm9oYTogewogICAgICAg
ICAgICAgLy8gRklYTUU6IFRoaXMgdGFibGUgY29tZXMgZnJvbSB0aGUgQ1NTMyBkcmFmdCwgYW5k
IGlzIHByb2JhYmx5CkBAIC04MTQsNyArODQ5LDggQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KEVM
aXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgICAgICAgICAweDMwNTMsIDB4
MzA0OCwgMHgzMDY2LCAweDMwNDIsIDB4MzA1NSwgMHgzMDRELCAweDMwODYsIDB4MzA4MSwKICAg
ICAgICAgICAgICAgICAweDMwN0YsIDB4MzA1NywgMHgzMDkxLCAweDMwNzIsIDB4MzA4MiwgMHgz
MDVCLCAweDMwNTkKICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJl
dGljKHZhbHVlLCBoaXJhZ2FuYUlyb2hhQWxwaGFiZXQpOworICAgICAgICAgICAgdG9BbHBoYWJl
dGljKGJ1aWxkZXIsIHZhbHVlLCBoaXJhZ2FuYUlyb2hhQWxwaGFiZXQpOworICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBLYXRha2FuYTogewogICAgICAgICAgICAg
Ly8gRklYTUU6IFRoaXMgdGFibGUgY29tZXMgZnJvbSB0aGUgQ1NTMyBkcmFmdCwgYW5kIGlzIHBy
b2JhYmx5CkBAIC04MjcsNyArODYzLDggQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KEVMaXN0U3R5
bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgICAgICAgICAweDMwRTAsIDB4MzBFMSwg
MHgzMEUyLCAweDMwRTQsIDB4MzBFNiwgMHgzMEU4LCAweDMwRTksIDB4MzBFQSwKICAgICAgICAg
ICAgICAgICAweDMwRUIsIDB4MzBFQywgMHgzMEVELCAweDMwRUYsIDB4MzBGMCwgMHgzMEYxLCAw
eDMwRjIsIDB4MzBGMwogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b0FscGhh
YmV0aWModmFsdWUsIGthdGFrYW5hQWxwaGFiZXQpOworICAgICAgICAgICAgdG9BbHBoYWJldGlj
KGJ1aWxkZXIsIHZhbHVlLCBrYXRha2FuYUFscGhhYmV0KTsKKyAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgIGNhc2UgS2F0YWthbmFJcm9oYTogewogICAgICAgICAgICAgLy8g
RklYTUU6IFRoaXMgdGFibGUgY29tZXMgZnJvbSB0aGUgQ1NTMyBkcmFmdCwgYW5kIGlzIHByb2Jh
Ymx5CkBAIC04NDAsNyArODc3LDggQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KEVMaXN0U3R5bGVU
eXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgICAgICAgICAweDMwQjMsIDB4MzBBOCwgMHgz
MEM2LCAweDMwQTIsIDB4MzBCNSwgMHgzMEFELCAweDMwRTYsIDB4MzBFMSwKICAgICAgICAgICAg
ICAgICAweDMwREYsIDB4MzBCNywgMHgzMEYxLCAweDMwRDIsIDB4MzBFMiwgMHgzMEJCLCAweDMw
QjkKICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVl
LCBrYXRha2FuYUlyb2hhQWxwaGFiZXQpOworICAgICAgICAgICAgdG9BbHBoYWJldGljKGJ1aWxk
ZXIsIHZhbHVlLCBrYXRha2FuYUlyb2hhQWxwaGFiZXQpOworICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KIAogICAgICAgICBjYXNlIEFmYXI6CkBAIC04NTAsNyArODg4LDggQEAgU3RyaW5n
IGxpc3RNYXJrZXJUZXh0KEVMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAg
ICAgICAgICAweDEyMDAsIDB4MTIwOCwgMHgxMjEwLCAweDEyMTgsIDB4MTIyOCwgMHgxMjMwLCAw
eDEyNjAsIDB4MTI3MCwgMHgxMjkwLAogICAgICAgICAgICAgICAgIDB4MTJBMCwgMHgxMkE4LCAw
eDEyQzgsIDB4MTJEMCwgMHgxMkU4LCAweDEyRjAsIDB4MTMwOCwgMHgxMzM4LCAweDEzNDgKICAg
ICAgICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCBldGhp
b3BpY0hhbGVoYW1lQWFFckFscGhhYmV0KTsKKyAgICAgICAgICAgIHRvQWxwaGFiZXRpYyhidWls
ZGVyLCB2YWx1ZSwgZXRoaW9waWNIYWxlaGFtZUFhRXJBbHBoYWJldCk7CisgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFtaGFyaWM6CiAgICAgICAgIGNhc2UgRXRo
aW9waWNIYWxlaGFtZUFtRXQ6IHsKQEAgLTg2MCw3ICs4OTksOCBAQCBTdHJpbmcgbGlzdE1hcmtl
clRleHQoRUxpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICAgICAgICAgIDB4
MTJDOCwgMHgxMkQwLCAweDEyRDgsIDB4MTJFMCwgMHgxMkU4LCAweDEyRjAsIDB4MTMwMCwgMHgx
MzA4LCAweDEzMjAsCiAgICAgICAgICAgICAgICAgMHgxMzI4LCAweDEzMzAsIDB4MTMzOCwgMHgx
MzQwLCAweDEzNDgsIDB4MTM1MAogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0
b0FscGhhYmV0aWModmFsdWUsIGV0aGlvcGljSGFsZWhhbWVBbUV0QWxwaGFiZXQpOworICAgICAg
ICAgICAgdG9BbHBoYWJldGljKGJ1aWxkZXIsIHZhbHVlLCBldGhpb3BpY0hhbGVoYW1lQW1FdEFs
cGhhYmV0KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQW1o
YXJpY0FiZWdlZGU6CiAgICAgICAgIGNhc2UgRXRoaW9waWNBYmVnZWRlQW1FdDogewpAQCAtODcw
LDIxICs5MTAsMjQgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KEVMaXN0U3R5bGVUeXBlIHR5cGUs
IGludCB2YWx1ZSkKICAgICAgICAgICAgICAgICAweDEyOTgsIDB4MTIyMCwgMHgxMkQwLCAweDEz
NDgsIDB4MTMzOCwgMHgxMjQwLCAweDEyMjgsIDB4MTIzMCwgMHgxMjM4LAogICAgICAgICAgICAg
ICAgIDB4MTI3MCwgMHgxMjc4LCAweDEyODAsIDB4MTM0MCwgMHgxMzMwLCAweDEzNTAKICAgICAg
ICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCBldGhpb3Bp
Y0FiZWdlZGVBbUV0QWxwaGFiZXQpOworICAgICAgICAgICAgdG9BbHBoYWJldGljKGJ1aWxkZXIs
IHZhbHVlLCBldGhpb3BpY0FiZWdlZGVBbUV0QWxwaGFiZXQpOworICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBDamtFYXJ0aGx5QnJhbmNoOiB7CiAgICAgICAgICAg
ICBzdGF0aWMgY29uc3QgVUNoYXIgY2prRWFydGhseUJyYW5jaEFscGhhYmV0WzEyXSA9IHsKICAg
ICAgICAgICAgICAgICAweDVCNTAsIDB4NEUxMSwgMHg1QkM1LCAweDUzNkYsIDB4OEZCMCwgMHg1
REYzLCAweDUzNDgsIDB4NjcyQSwgMHg3NTMzLAogICAgICAgICAgICAgICAgIDB4OTE0OSwgMHg2
MjBDLCAweDRFQTUKICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJl
dGljKHZhbHVlLCBjamtFYXJ0aGx5QnJhbmNoQWxwaGFiZXQpOworICAgICAgICAgICAgdG9BbHBo
YWJldGljKGJ1aWxkZXIsIHZhbHVlLCBjamtFYXJ0aGx5QnJhbmNoQWxwaGFiZXQpOworICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBDamtIZWF2ZW5seVN0ZW06IHsK
ICAgICAgICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBjamtIZWF2ZW5seVN0ZW1BbHBoYWJldFsx
MF0gPSB7CiAgICAgICAgICAgICAgICAgMHg3NTMyLCAweDRFNTksIDB4NEUxOSwgMHg0RTAxLCAw
eDYyMEEsIDB4NURGMSwgMHg1RTlBLCAweDhGOUIsIDB4NThFQywKICAgICAgICAgICAgICAgICAw
eDc2NzgKICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZh
bHVlLCBjamtIZWF2ZW5seVN0ZW1BbHBoYWJldCk7CisgICAgICAgICAgICB0b0FscGhhYmV0aWMo
YnVpbGRlciwgdmFsdWUsIGNqa0hlYXZlbmx5U3RlbUFscGhhYmV0KTsKKyAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRXRoaW9waWM6CiAgICAgICAgIGNhc2UgRXRo
aW9waWNIYWxlaGFtZUdlejogewpAQCAtODkzLDcgKzkzNiw4IEBAIFN0cmluZyBsaXN0TWFya2Vy
VGV4dChFTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgMHgx
MjcwLCAweDEyODAsIDB4MTI5MCwgMHgxMkEwLCAweDEyQTgsIDB4MTJDOCwgMHgxMkQwLCAweDEy
RDgsIDB4MTJFOCwKICAgICAgICAgICAgICAgICAweDEyRjAsIDB4MTMwOCwgMHgxMzIwLCAweDEz
MzAsIDB4MTMzOCwgMHgxMzQwLCAweDEzNDgsIDB4MTM1MAogICAgICAgICAgICAgfTsKLSAgICAg
ICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUsIGV0aGlvcGljSGFsZWhhbWVHZXpBbHBo
YWJldCk7CisgICAgICAgICAgICB0b0FscGhhYmV0aWMoYnVpbGRlciwgdmFsdWUsIGV0aGlvcGlj
SGFsZWhhbWVHZXpBbHBoYWJldCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAg
ICAgICBjYXNlIEV0aGlvcGljQWJlZ2VkZToKICAgICAgICAgY2FzZSBFdGhpb3BpY0FiZWdlZGVH
ZXo6IHsKQEAgLTkwMiwyMSArOTQ2LDI0IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChFTGlzdFN0
eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgMHgxMkU4LCAweDEyQTgs
IDB4MTIwOCwgMHgxMjE4LCAweDEyOTAsIDB4MTIyMCwgMHgxMkQwLCAweDEzNDgsIDB4MTMzOCwK
ICAgICAgICAgICAgICAgICAweDEyNDAsIDB4MTIyOCwgMHgxMjMwLCAweDEyNzAsIDB4MTI4MCwg
MHgxMzQwLCAweDEzMzAsIDB4MTM1MAogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHJldHVy
biB0b0FscGhhYmV0aWModmFsdWUsIGV0aGlvcGljQWJlZ2VkZUdlekFscGhhYmV0KTsKKyAgICAg
ICAgICAgIHRvQWxwaGFiZXRpYyhidWlsZGVyLCB2YWx1ZSwgZXRoaW9waWNBYmVnZWRlR2V6QWxw
aGFiZXQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBIYW5n
dWxDb25zb25hbnQ6IHsKICAgICAgICAgICAgIHN0YXRpYyBjb25zdCBVQ2hhciBoYW5ndWxDb25z
b25hbnRBbHBoYWJldFsxNF0gPSB7CiAgICAgICAgICAgICAgICAgMHgzMTMxLCAweDMxMzQsIDB4
MzEzNywgMHgzMTM5LCAweDMxNDEsIDB4MzE0MiwgMHgzMTQ1LCAweDMxNDcsIDB4MzE0OCwKICAg
ICAgICAgICAgICAgICAweDMxNEEsIDB4MzE0QiwgMHgzMTRDLCAweDMxNEQsIDB4MzE0RQogICAg
ICAgICAgICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUsIGhhbmd1
bENvbnNvbmFudEFscGhhYmV0KTsKKyAgICAgICAgICAgIHRvQWxwaGFiZXRpYyhidWlsZGVyLCB2
YWx1ZSwgaGFuZ3VsQ29uc29uYW50QWxwaGFiZXQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBIYW5ndWw6IHsKICAgICAgICAgICAgIHN0YXRpYyBjb25zdCBV
Q2hhciBoYW5ndWxBbHBoYWJldFsxNF0gPSB7CiAgICAgICAgICAgICAgICAgMHhBQzAwLCAweEIw
OTgsIDB4QjJFNCwgMHhCNzdDLCAweEI5QzgsIDB4QkMxNCwgMHhDMEFDLCAweEM1NDQsIDB4Qzc5
MCwKICAgICAgICAgICAgICAgICAweENDMjgsIDB4Q0U3NCwgMHhEMEMwLCAweEQzMEMsIDB4RDU1
OAogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUs
IGhhbmd1bEFscGhhYmV0KTsKKyAgICAgICAgICAgIHRvQWxwaGFiZXRpYyhidWlsZGVyLCB2YWx1
ZSwgaGFuZ3VsQWxwaGFiZXQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAg
ICAgY2FzZSBPcm9tbzoKICAgICAgICAgY2FzZSBFdGhpb3BpY0hhbGVoYW1lT21FdDogewpAQCAt
OTI1LDcgKzk3Miw4IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChFTGlzdFN0eWxlVHlwZSB0eXBl
LCBpbnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgMHgxMjc4LCAweDEyOTAsIDB4MTI5OCwgMHgx
MkEwLCAweDEyQTgsIDB4MTJDOCwgMHgxMkU4LCAweDEyRjAsIDB4MTJGOCwKICAgICAgICAgICAg
ICAgICAweDEzMDAsIDB4MTMwOCwgMHgxMzIwLCAweDEzMjgsIDB4MTMzOCwgMHgxMzMwLCAweDEz
NDgKICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVl
LCBldGhpb3BpY0hhbGVoYW1lT21FdEFscGhhYmV0KTsKKyAgICAgICAgICAgIHRvQWxwaGFiZXRp
YyhidWlsZGVyLCB2YWx1ZSwgZXRoaW9waWNIYWxlaGFtZU9tRXRBbHBoYWJldCk7CisgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFNpZGFtYToKICAgICAgICAgY2Fz
ZSBFdGhpb3BpY0hhbGVoYW1lU2lkRXQ6IHsKQEAgLTkzNCw3ICs5ODIsOCBAQCBTdHJpbmcgbGlz
dE1hcmtlclRleHQoRUxpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICAgICAg
ICAgIDB4MTI3MCwgMHgxMjc4LCAweDEyOTAsIDB4MTI5OCwgMHgxMkEwLCAweDEyQTgsIDB4MTJD
OCwgMHgxMkU4LCAweDEyRjAsCiAgICAgICAgICAgICAgICAgMHgxMkY4LCAweDEzMDAsIDB4MTMw
OCwgMHgxMzIwLCAweDEzMjgsIDB4MTMzOCwgMHgxMzMwLCAweDEzNDgKICAgICAgICAgICAgIH07
Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCBldGhpb3BpY0hhbGVoYW1l
U2lkRXRBbHBoYWJldCk7CisgICAgICAgICAgICB0b0FscGhhYmV0aWMoYnVpbGRlciwgdmFsdWUs
IGV0aGlvcGljSGFsZWhhbWVTaWRFdEFscGhhYmV0KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAgICAgICAgIGNhc2UgU29tYWxpOgogICAgICAgICBjYXNlIEV0aGlvcGljSGFsZWhh
bWVTb0V0OiB7CkBAIC05NDMsNyArOTkyLDggQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KEVMaXN0
U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgICAgICAgICAweDEyNzAsIDB4MTI5
MCwgMHgxMkEwLCAweDEyQTgsIDB4MTJCOCwgMHgxMkM4LCAweDEyRDAsIDB4MTJFOCwgMHgxMkYw
LAogICAgICAgICAgICAgICAgIDB4MTMwMCwgMHgxMzA4LCAweDEzMzgsIDB4MTM0OAogICAgICAg
ICAgICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUsIGV0aGlvcGlj
SGFsZWhhbWVTb0V0QWxwaGFiZXQpOworICAgICAgICAgICAgdG9BbHBoYWJldGljKGJ1aWxkZXIs
IHZhbHVlLCBldGhpb3BpY0hhbGVoYW1lU29FdEFscGhhYmV0KTsKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgICAgIGNhc2UgVGlncmU6CiAgICAgICAgIGNhc2UgRXRoaW9waWNI
YWxlaGFtZVRpZzogewpAQCAtOTUyLDcgKzEwMDIsOCBAQCBTdHJpbmcgbGlzdE1hcmtlclRleHQo
RUxpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICAgICAgICAgIDB4MTI3MCwg
MHgxMjc4LCAweDEyOTAsIDB4MTJBMCwgMHgxMkE4LCAweDEyQzgsIDB4MTJEMCwgMHgxMkQ4LCAw
eDEyRTgsCiAgICAgICAgICAgICAgICAgMHgxMkYwLCAweDEzMDAsIDB4MTMwOCwgMHgxMzIwLCAw
eDEzMjgsIDB4MTMzOCwgMHgxMzMwLCAweDEzNDgsIDB4MTM1MAogICAgICAgICAgICAgfTsKLSAg
ICAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUsIGV0aGlvcGljSGFsZWhhbWVUaWdB
bHBoYWJldCk7CisgICAgICAgICAgICB0b0FscGhhYmV0aWMoYnVpbGRlciwgdmFsdWUsIGV0aGlv
cGljSGFsZWhhbWVUaWdBbHBoYWJldCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICBjYXNlIFRpZ3JpbnlhRXI6CiAgICAgICAgIGNhc2UgRXRoaW9waWNIYWxlaGFtZVRp
RXI6IHsKQEAgLTk2Miw3ICsxMDEzLDggQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KEVMaXN0U3R5
bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICAgICAgICAgICAgICAweDEyRDAsIDB4MTJEOCwg
MHgxMkUwLCAweDEyRTgsIDB4MTJGMCwgMHgxMzAwLCAweDEzMDgsIDB4MTMyMCwgMHgxMzI4LAog
ICAgICAgICAgICAgICAgIDB4MTMzMCwgMHgxMzM4LCAweDEzNDgsIDB4MTM1MAogICAgICAgICAg
ICAgfTsKLSAgICAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUsIGV0aGlvcGljSGFs
ZWhhbWVUaUVyQWxwaGFiZXQpOworICAgICAgICAgICAgdG9BbHBoYWJldGljKGJ1aWxkZXIsIHZh
bHVlLCBldGhpb3BpY0hhbGVoYW1lVGlFckFscGhhYmV0KTsKKyAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgIGNhc2UgVGlncmlueWFFckFiZWdlZGU6CiAgICAgICAgIGNhc2Ug
RXRoaW9waWNBYmVnZWRlVGlFcjogewpAQCAtOTcyLDcgKzEwMjQsOCBAQCBTdHJpbmcgbGlzdE1h
cmtlclRleHQoRUxpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICAgICAgICAg
IDB4MTI5OCwgMHgxMkQwLCAweDEzNDgsIDB4MTMzOCwgMHgxMjQwLCAweDEyNTAsIDB4MTIyOCwg
MHgxMjMwLCAweDEyMzgsCiAgICAgICAgICAgICAgICAgMHgxMjcwLCAweDEyNzgsIDB4MTMzMCwg
MHgxMzUwCiAgICAgICAgICAgICB9OwotICAgICAgICAgICAgcmV0dXJuIHRvQWxwaGFiZXRpYyh2
YWx1ZSwgZXRoaW9waWNBYmVnZWRlVGlFckFscGhhYmV0KTsKKyAgICAgICAgICAgIHRvQWxwaGFi
ZXRpYyhidWlsZGVyLCB2YWx1ZSwgZXRoaW9waWNBYmVnZWRlVGlFckFscGhhYmV0KTsKKyAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgVGlncmlueWFFdDoKICAgICAg
ICAgY2FzZSBFdGhpb3BpY0hhbGVoYW1lVGlFdDogewpAQCAtOTgyLDcgKzEwMzUsOCBAQCBTdHJp
bmcgbGlzdE1hcmtlclRleHQoRUxpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAg
ICAgICAgICAgIDB4MTJCOCwgMHgxMkM4LCAweDEyRDAsIDB4MTJEOCwgMHgxMkUwLCAweDEyRTgs
IDB4MTJGMCwgMHgxMzAwLCAweDEzMDgsCiAgICAgICAgICAgICAgICAgMHgxMzIwLCAweDEzMjgs
IDB4MTMzMCwgMHgxMzM4LCAweDEzNDAsIDB4MTM0OCwgMHgxMzUwCiAgICAgICAgICAgICB9Owot
ICAgICAgICAgICAgcmV0dXJuIHRvQWxwaGFiZXRpYyh2YWx1ZSwgZXRoaW9waWNIYWxlaGFtZVRp
RXRBbHBoYWJldCk7CisgICAgICAgICAgICB0b0FscGhhYmV0aWMoYnVpbGRlciwgdmFsdWUsIGV0
aGlvcGljSGFsZWhhbWVUaUV0QWxwaGFiZXQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KICAgICAgICAgY2FzZSBUaWdyaW55YUV0QWJlZ2VkZToKICAgICAgICAgY2FzZSBFdGhpb3Bp
Y0FiZWdlZGVUaUV0OiB7CkBAIC05OTIsNyArMTA0Niw4IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4
dChFTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgMHgxMjk4
LCAweDEyMjAsIDB4MTJEMCwgMHgxMzQ4LCAweDEzMzgsIDB4MTI0MCwgMHgxMjUwLCAweDEyMjgs
IDB4MTIzMCwKICAgICAgICAgICAgICAgICAweDEyMzgsIDB4MTI3MCwgMHgxMjc4LCAweDEyODAs
IDB4MTM0MCwgMHgxMzMwLCAweDEzNTAKICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICByZXR1
cm4gdG9BbHBoYWJldGljKHZhbHVlLCBldGhpb3BpY0FiZWdlZGVUaUV0QWxwaGFiZXQpOworICAg
ICAgICAgICAgdG9BbHBoYWJldGljKGJ1aWxkZXIsIHZhbHVlLCBldGhpb3BpY0FiZWdlZGVUaUV0
QWxwaGFiZXQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBV
cHBlckdyZWVrOiB7CiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgVUNoYXIgdXBwZXJHcmVla0Fs
cGhhYmV0WzI0XSA9IHsKQEAgLTEwMDAsNyArMTA1NSw4IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4
dChFTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgMHgwMzlB
LCAweDAzOUIsIDB4MDM5QywgMHgwMzlELCAweDAzOUUsIDB4MDM5RiwgMHgwM0EwLCAweDAzQTEs
IDB4MDNBMywKICAgICAgICAgICAgICAgICAweDAzQTQsIDB4MDNBNSwgMHgwM0E2LCAweDAzQTcs
IDB4MDNBOCwgMHgwM0E5CiAgICAgICAgICAgICB9OwotICAgICAgICAgICAgcmV0dXJuIHRvQWxw
aGFiZXRpYyh2YWx1ZSwgdXBwZXJHcmVla0FscGhhYmV0KTsKKyAgICAgICAgICAgIHRvQWxwaGFi
ZXRpYyhidWlsZGVyLCB2YWx1ZSwgdXBwZXJHcmVla0FscGhhYmV0KTsKKyAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgTG93ZXJOb3J3ZWdpYW46IHsKICAgICAgICAg
ICAgIHN0YXRpYyBjb25zdCBMQ2hhciBsb3dlck5vcndlZ2lhbkFscGhhYmV0WzI5XSA9IHsKQEAg
LTEwMDksNyArMTA2NSw4IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChFTGlzdFN0eWxlVHlwZSB0
eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgMHg3MywgMHg3NCwgMHg3NSwgMHg3Niwg
MHg3NywgMHg3OCwgMHg3OSwgMHg3QSwgMHhFNiwKICAgICAgICAgICAgICAgICAweEY4LCAweEU1
CiAgICAgICAgICAgICB9OwotICAgICAgICAgICAgcmV0dXJuIHRvQWxwaGFiZXRpYyh2YWx1ZSwg
bG93ZXJOb3J3ZWdpYW5BbHBoYWJldCk7CisgICAgICAgICAgICB0b0FscGhhYmV0aWMoYnVpbGRl
ciwgdmFsdWUsIGxvd2VyTm9yd2VnaWFuQWxwaGFiZXQpOworICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KICAgICAgICAgY2FzZSBVcHBlck5vcndlZ2lhbjogewogICAgICAgICAgICAgc3Rh
dGljIGNvbnN0IExDaGFyIHVwcGVyTm9yd2VnaWFuQWxwaGFiZXRbMjldID0gewpAQCAtMTAxOCw3
ICsxMDc1LDggQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KEVMaXN0U3R5bGVUeXBlIHR5cGUsIGlu
dCB2YWx1ZSkKICAgICAgICAgICAgICAgICAweDUzLCAweDU0LCAweDU1LCAweDU2LCAweDU3LCAw
eDU4LCAweDU5LCAweDVBLCAweEM2LAogICAgICAgICAgICAgICAgIDB4RDgsIDB4QzUKICAgICAg
ICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9BbHBoYWJldGljKHZhbHVlLCB1cHBlck5v
cndlZ2lhbkFscGhhYmV0KTsKKyAgICAgICAgICAgIHRvQWxwaGFiZXRpYyhidWlsZGVyLCB2YWx1
ZSwgdXBwZXJOb3J3ZWdpYW5BbHBoYWJldCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBjYXNlIENKS0lkZW9ncmFwaGljOiB7CiAgICAgICAgICAgICBzdGF0aWMgY29u
c3QgVUNoYXIgdHJhZGl0aW9uYWxDaGluZXNlSW5mb3JtYWxUYWJsZVsxNl0gPSB7CkBAIC0xMDI3
LDMwICsxMDg1LDM2IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChFTGlzdFN0eWxlVHlwZSB0eXBl
LCBpbnQgdmFsdWUpCiAgICAgICAgICAgICAgICAgMHg5NkY2LCAweDRFMDAsIDB4NEU4QywgMHg0
RTA5LCAweDU2REIsCiAgICAgICAgICAgICAgICAgMHg0RTk0LCAweDUxNkQsIDB4NEUwMywgMHg1
MTZCLCAweDRFNUQKICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICByZXR1cm4gdG9DSktJZGVv
Z3JhcGhpYyh2YWx1ZSwgdHJhZGl0aW9uYWxDaGluZXNlSW5mb3JtYWxUYWJsZSk7CisgICAgICAg
ICAgICB0b0NKS0lkZW9ncmFwaGljKGJ1aWxkZXIsIHZhbHVlLCB0cmFkaXRpb25hbENoaW5lc2VJ
bmZvcm1hbFRhYmxlKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAg
Y2FzZSBMb3dlclJvbWFuOgotICAgICAgICAgICAgcmV0dXJuIHRvUm9tYW4odmFsdWUsIGZhbHNl
KTsKKyAgICAgICAgICAgIHRvUm9tYW4oYnVpbGRlciwgdmFsdWUsIGZhbHNlKTsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIFVwcGVyUm9tYW46Ci0gICAgICAgICAgICByZXR1cm4g
dG9Sb21hbih2YWx1ZSwgdHJ1ZSk7CisgICAgICAgICAgICB0b1JvbWFuKGJ1aWxkZXIsIHZhbHVl
LCB0cnVlKTsKKyAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgQXJtZW5pYW46CiAg
ICAgICAgIGNhc2UgVXBwZXJBcm1lbmlhbjoKICAgICAgICAgICAgIC8vIENTUzMgc2F5cyAiYXJt
ZW5pYW4iIG1lYW5zICJsb3dlci1hcm1lbmlhbiIuCiAgICAgICAgICAgICAvLyBCdXQgdGhlIENT
UzIuMSB0ZXN0IHN1aXRlIGNvbnRhaW5zIHVwcGVyY2FzZSB0ZXN0IHJlc3VsdHMgZm9yICJhcm1l
bmlhbiIsCiAgICAgICAgICAgICAvLyBzbyB3ZSdsbCBtYXRjaCB0aGUgdGVzdCBzdWl0ZS4KLSAg
ICAgICAgICAgIHJldHVybiB0b0FybWVuaWFuKHZhbHVlLCB0cnVlKTsKKyAgICAgICAgICAgIHRv
QXJtZW5pYW4oYnVpbGRlciwgdmFsdWUsIHRydWUpOworICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgTG93ZXJBcm1lbmlhbjoKLSAgICAgICAgICAgIHJldHVybiB0b0FybWVuaWFuKHZh
bHVlLCBmYWxzZSk7CisgICAgICAgICAgICB0b0FybWVuaWFuKGJ1aWxkZXIsIHZhbHVlLCBmYWxz
ZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHZW9yZ2lhbjoKLSAgICAgICAg
ICAgIHJldHVybiB0b0dlb3JnaWFuKHZhbHVlKTsKKyAgICAgICAgICAgIHRvR2VvcmdpYW4oYnVp
bGRlciwgdmFsdWUpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSGVicmV3Ogot
ICAgICAgICAgICAgcmV0dXJuIHRvSGVicmV3KHZhbHVlKTsKKyAgICAgICAgICAgIHRvSGVicmV3
KGJ1aWxkZXIsIHZhbHVlKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAiIjsKKyAgICByZXR1cm4gYnVpbGRlci50b1N0
cmluZygpOwogfQogCiBSZW5kZXJMaXN0TWFya2VyOjpSZW5kZXJMaXN0TWFya2VyKFJlbmRlckxp
c3RJdGVtJiBsaXN0SXRlbSkK
</data>
<flag name="review"
          id="233780"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>