<?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>199642</bug_id>
          
          <creation_ts>2019-07-09 15:07:19 -0700</creation_ts>
          <short_desc>[WHLSL] Add another group of WHLSL JS reference spec tests</short_desc>
          <delta_ts>2019-07-09 16:09:04 -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>WebGPU</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>
          
          <blocked>199595</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jonlee</cc>
    
    <cc>justin_fan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rmorisset</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1551453</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-07-09 15:07:19 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551467</commentid>
    <comment_count>1</comment_count>
      <attachid>373777</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-07-09 15:18:52 -0700</bug_when>
    <thetext>Created attachment 373777
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551469</commentid>
    <comment_count>2</comment_count>
      <attachid>373777</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-07-09 15:22:13 -0700</bug_when>
    <thetext>Comment on attachment 373777
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551500</commentid>
    <comment_count>3</comment_count>
      <attachid>373777</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-09 16:05:51 -0700</bug_when>
    <thetext>Comment on attachment 373777
patch

Clearing flags on attachment: 373777

Committed r247284: &lt;https://trac.webkit.org/changeset/247284&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551501</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-09 16:05:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551502</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-09 16:09:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/52857317&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373777</attachid>
            <date>2019-07-09 15:18:52 -0700</date>
            <delta_ts>2019-07-09 16:05:51 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>30096</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI0NzI4MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA3LTA5ICBTYWFtIEJhcmF0aSAgPHNi
YXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFtXSExTTF0gQWRkIGFub3RoZXIgZ3JvdXAgb2Yg
V0hMU0wgSlMgcmVmZXJlbmNlIHNwZWMgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogd2ViZ3B1L3dobHNsLWFycmF5LXNwZWMtdGVzdHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wtYXJyYXktc3BlYy10ZXN0
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wtZW51bS1zcGVjLXRlc3RzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsLWVudW0tc3BlYy10ZXN0
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wtZXF1YWxpdHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wtZXF1YWxpdHkuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ3B1L3dobHNsLW1hdHJpY2VzLXNwZWMtdGVzdHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wtbWF0cmljZXMtc3BlYy10ZXN0cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wtcmV0dXJuLXNwZWMtdGVzdHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wtcmV0dXJuLXNwZWMtdGVzdHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsLXNpbXBsZS1nZXR0ZXItc2V0dGVy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L3dobHNsLXNpbXBsZS1nZXR0
ZXItc2V0dGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC1zaW1wbGUtd2hp
bGUtbG9vcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS93aGxzbC1zaW1w
bGUtd2hpbGUtbG9vcC5odG1sOiBBZGRlZC4KKwogMjAxOS0wNy0wOSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgWEhSIENPUlMgcmVxdWVzdHMgbG9nZ2VkIHR3
aWNlIGluIHRoZSBzZXJ2ZXIKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1hcnJheS1z
cGVjLXRlc3RzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wtYXJyYXktc3BlYy10ZXN0cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvd2ViZ3B1L3dobHNsLWFycmF5LXNwZWMtdGVzdHMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNyBAQAorCitQQVNTIGFycmF5UmVmVG9BcnJheVJlZiAKK1BB
U1MgYXNzaWduTGVuZ3RoIAorUEFTUyBhc3NpZ25MZW5ndGhIZWxwZXIgCitQQVNTIGJ1aWxkQXJy
YXlUaGVuU3VtSXQgCitQQVNTIGJ1aWxkQXJyYXlUaGVuU3VtSXRVc2luZ0FycmF5UmVmZXJlbmNl
IAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtYXJyYXktc3BlYy10ZXN0cy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1hcnJheS1zcGVjLXRlc3Rz
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLWFycmF5LXNw
ZWMtdGVzdHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwMCBAQAorPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6V2ViR1BVRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPSJ0
aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5UZXN0IHRoZSBXSExTTCB0ZXN0IGhhcm5l
c3MuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJqcy93aGxzbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9ImpzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+Citjb25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNsVGVzdHMuYXJyYXlSZWZUb0FycmF5
UmVmID0gYXN5bmMgKCkgPT4geworICAgIGxldCBwcm9ncmFtID0gYAorICAgICAgICBpbnQgZm9v
KCkKKyAgICAgICAgeworICAgICAgICAgICAgaW50IHg7CisgICAgICAgICAgICB0aHJlYWQgaW50
W10gcCA9IEB4OworICAgICAgICAgICAgdGhyZWFkIGludFtdW10gcHAgPSBAcDsKKyAgICAgICAg
ICAgIGludFtddGhyZWFkW110aHJlYWQgcXEgPSBwcDsKKyAgICAgICAgICAgIGludCByZXN1bHQg
PSAwOworICAgICAgICAgICAgeCA9IDQyOworICAgICAgICAgICAgcFswXSA9IDc2OworICAgICAg
ICAgICAgcmVzdWx0ICs9IHg7CisgICAgICAgICAgICBwcFswXVswXSA9IDM5OworICAgICAgICAg
ICAgcmVzdWx0ICs9IHg7CisgICAgICAgICAgICBxcVswXVswXSA9IDgzOworICAgICAgICAgICAg
cmVzdWx0ICs9IHg7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAg
YDsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10pLCA3NiArIDM5ICsgODMpOworfQorCit3aGxzbFRlc3RzLmFzc2lnbkxlbmd0aCA9IGFz
eW5jICgpID0+IHsKKyAgICBhd2FpdCBjaGVja0ZhaWwoCisgICAgICAgIGAKKyAgICAgICAgICAg
IHZvaWQgZm9vKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmbG9hdFs3NTRdIGFy
cmF5OworICAgICAgICAgICAgICAgIChAYXJyYXkpLmxlbmd0aCA9IDQyOworICAgICAgICAgICAg
fQorICAgICAgICBgKTsKKyAgICAgICAgCit9CisKK3dobHNsVGVzdHMuYXNzaWduTGVuZ3RoSGVs
cGVyID0gYXN5bmMgKCkgPT4geworICAgIGF3YWl0IGNoZWNrRmFpbCgKKyAgICAgICAgYAorICAg
ICAgICAgICAgdm9pZCBiYXIodGhyZWFkIGZsb2F0W10gYXJyYXkpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgYXJyYXkubGVuZ3RoID0gNDI7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICB2b2lkIGZvbygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZmxvYXRbNzU0
XSBhcnJheTsKKyAgICAgICAgICAgICAgICBiYXIoQGFycmF5KTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgYCk7Cit9CisKK3dobHNsVGVzdHMuYnVpbGRBcnJheVRoZW5TdW1JdCA9IGFzeW5jICgp
ID0+IHsKKyAgICBsZXQgcHJvZ3JhbSA9IGAKKyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGludFs0Ml0gYXJyYXk7CisgICAgICAgICAgICBmb3IgKHVpbnQgaSA9IDA7
IGkgPCA0MjsgaSA9IGkgKyAxKQorICAgICAgICAgICAgICAgIGFycmF5W2ldID0gaW50KGkgKyA1
KTsKKyAgICAgICAgICAgIGludCByZXN1bHQ7CisgICAgICAgICAgICBmb3IgKHVpbnQgaSA9IDA7
IGkgPCA0MjsgaSA9IGkgKyAxKQorICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCArIGFy
cmF5W2ldOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgIGA7Cisg
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
KSwgNDIgKiA1ICsgNDIgKiA0MSAvIDIpOworfQorCit3aGxzbFRlc3RzLmJ1aWxkQXJyYXlUaGVu
U3VtSXRVc2luZ0FycmF5UmVmZXJlbmNlID0gYXN5bmMgKCkgPT4geworICAgIGxldCBwcm9ncmFt
ID0gYAorICAgICAgICBpbnQgYmFyKHRocmVhZCBpbnRbXSBhcnJheSkKKyAgICAgICAgeworICAg
ICAgICAgICAgZm9yICh1aW50IGkgPSAwOyBpIDwgNDI7IGkgPSBpICsgMSkKKyAgICAgICAgICAg
ICAgICBhcnJheVtpXSA9IGludChpICsgNSk7CisgICAgICAgICAgICBpbnQgcmVzdWx0OworICAg
ICAgICAgICAgZm9yICh1aW50IGkgPSAwOyBpIDwgNDI7IGkgPSBpICsgMSkKKyAgICAgICAgICAg
ICAgICByZXN1bHQgPSByZXN1bHQgKyBhcnJheVtpXTsKKyAgICAgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgICAgIH0KKyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGludFs0Ml0gYXJyYXk7CisgICAgICAgICAgICByZXR1cm4gYmFyKEBhcnJheSk7CisgICAgICAg
IH0KKyAgICBgOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbXSksIDQyICogNSArIDQyICogNDEgLyAyKTsKK30KKworcnVuVGVzdHMod2hs
c2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93
aGxzbC1lbnVtLXNwZWMtdGVzdHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC1lbnVtLXNwZWMtdGVzdHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1lbnVtLXNwZWMtdGVzdHMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorCitQQVNTIGVudW1EdXBsaWNhdGVz
IAorUEFTUyBkZWZhdWx0RW51bUNvbnN0cnVjdG9yIAorUEFTUyBlbnVtQXJyYXlSZWZCYXNlIAor
UEFTUyBlbnVtRmxvYXRCYXNlIAorUEFTUyBlbnVtUHRyQmFzZSAKK1BBU1MgZW51bVN0cnVjdEJh
c2UgCitQQVNTIGVudW1Ob01lbWJlcnMgCisKSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC1lbnVtLXNwZWMtdGVzdHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wtZW51bS1zcGVjLXRlc3RzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
d2ViZ3B1L3dobHNsLWVudW0tc3BlYy10ZXN0cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsODkgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJp
bWVudGFsOldlYkdQVUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04PgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8dGl0bGU+VGVzdCB0
aGUgV0hMU0wgdGVzdCBoYXJuZXNzLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0ianMvd2hsc2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rpb25z
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc3Qgd2hsc2xUZXN0cyA9IHt9OworCit3aGxzbFRl
c3RzLmVudW1EdXBsaWNhdGVzID0gYXN5bmMgKCkgPT4geworICAgIGF3YWl0IGNoZWNrRmFpbChg
CisgICAgICAgICAgICBlbnVtIEZvbyB7CisgICAgICAgICAgICAgICAgV2FyID0gNDIsCisgICAg
ICAgICAgICAgICAgRmFtaW5lID0gMCwKKyAgICAgICAgICAgICAgICBQZXN0aWxlbmNlID0gMjMs
CisgICAgICAgICAgICAgICAgRGVhdGggPSA0MgorICAgICAgICAgICAgfQorICAgICAgICBgKTsK
K307CisKK3dobHNsVGVzdHMuZGVmYXVsdEVudW1Db25zdHJ1Y3RvciA9IGFzeW5jICgpID0+IHsK
KyAgICBjb25zdCBwcm9ncmFtID0gYAorICAgICAgICBlbnVtIFdlZWtkYXkgeworICAgICAgICAg
ICAgTW9uZGF5LAorICAgICAgICAgICAgVHVlc2RheSwKKyAgICAgICAgICAgIFdlZG5lc2RheSwK
KyAgICAgICAgICAgIFRodXJzZGF5LAorICAgICAgICAgICAgUGl6emFkYXkKKyAgICAgICAgfQor
ICAgICAgICBpbnQgZm9vKCkKKyAgICAgICAgeworICAgICAgICAgICAgV2Vla2RheSB4ID0gV2Vl
a2RheSgpOworICAgICAgICAgICAgcmV0dXJuIDQyOworICAgICAgICB9CisgICAgYDsKKworICAg
IGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSks
IDQyKTsKK307CisKK3dobHNsVGVzdHMuZW51bUFycmF5UmVmQmFzZSA9IGFzeW5jICgpID0+IHsK
KyAgICBhd2FpdCBjaGVja0ZhaWwoCisgICAgICAgIGAKKyAgICAgICAgICAgIGVudW0gRm9vIDog
dGhyZWFkIGludFtdIHsKKyAgICAgICAgICAgICAgICBCYXIKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgYCk7Cit9CisKK3dobHNsVGVzdHMuZW51bUZsb2F0QmFzZSA9IGFzeW5jICgpID0+IHsKKyAg
ICBhd2FpdCBjaGVja0ZhaWwoCisgICAgICAgIGAKKyAgICAgICAgICAgIGVudW0gRm9vIDogZmxv
YXQgeworICAgICAgICAgICAgICAgIEJhcgorICAgICAgICAgICAgfQorICAgICAgICBgKTsKK30K
Kword2hsc2xUZXN0cy5lbnVtUHRyQmFzZSA9IGFzeW5jICgpID0+IHsKKyAgICBhd2FpdCBjaGVj
a0ZhaWwoCisgICAgICAgIGAKKyAgICAgICAgICAgIGVudW0gRm9vIDogdGhyZWFkIGludCogewor
ICAgICAgICAgICAgICAgIEJhcgorICAgICAgICAgICAgfQorICAgICAgICBgKTsKK30KKword2hs
c2xUZXN0cy5lbnVtU3RydWN0QmFzZSA9IGFzeW5jICgpID0+IHsKKyAgICBhd2FpdCBjaGVja0Zh
aWwoCisgICAgICAgIGAKKyAgICAgICAgICAgIHN0cnVjdCBUaGluZ3kgeyB9CisgICAgICAgICAg
ICBlbnVtIEZvbyA6IFRoaW5neSB7CisgICAgICAgICAgICAgICAgQmFyCisgICAgICAgICAgICB9
CisgICAgICAgIGApOworfTsKKword2hsc2xUZXN0cy5lbnVtTm9NZW1iZXJzID0gYXN5bmMgKCkg
PT4geworICAgIGF3YWl0IGNoZWNrRmFpbCgKKyAgICAgICAgYAorICAgICAgICAgICAgZW51bSBG
b28geyB9CisgICAgICAgIGApOworfTsKKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3Njcmlw
dD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1lcXVhbGl0eS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLWVxdWFsaXR5
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wt
ZXF1YWxpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKKwor
UEFTUyBlcXVhbGl0eSAKK1BBU1Mgbm90RXF1YWxpdHkgCitQQVNTIGVxdWFsaXR5VHlwZUZhaWx1
cmUgCitQQVNTIGVxdWFsc1dyb25nQXJndW1lbnRMZW5ndGggCitQQVNTIGVxdWFsc1dyb25nUmV0
dXJuVHlwZSAKK1BBU1MgbGVzc0VxdWFsV3JvbmdBcmd1bWVudExlbmd0aCAKK1BBU1MgbGVzc0Vx
dWFsV3JvbmdSZXR1cm5UeXBlIAorUEFTUyBsZXNzVGhhbldyb25nQXJndW1lbnRMZW5ndGggCitQ
QVNTIGxlc3NUaGFuV3JvbmdSZXR1cm5UeXBlIAorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJncHUv
d2hsc2wtZXF1YWxpdHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wtZXF1YWxpdHkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hs
c2wtZXF1YWxpdHkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExOSBAQAorPCFET0NU
WVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6V2ViR1BVRW5h
YmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5UZXN0IHRoZSBXSExTTCB0ZXN0IGhh
cm5lc3MuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJqcy93aGxzbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9ImpzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+Citjb25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNsVGVzdHMuZXF1YWxpdHkgPSBh
c3luYyAoKSA9PiB7CisgICAgbGV0IHByb2dyYW0gPSAiYm9vbCBmb28odWludCB4LCB1aW50IHkp
IHsgcmV0dXJuIHggPT0geTsgfSI7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQoNyksIG1ha2VVaW50KDUpXSksIGZhbHNl
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFttYWtlVWludCg3KSwgbWFrZVVpbnQoNyldKSwgdHJ1ZSk7CisgICAgcHJvZ3JhbSA9ICJi
b29sIGZvbyhpbnQgeCwgaW50IHkpIHsgcmV0dXJuIHggPT0geTsgfSI7CisgICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludCg3KSwg
bWFrZUludCg1KV0pLCBmYWxzZSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludCg3KSwgbWFrZUludCg3KV0pLCB0cnVlKTsK
KyAgICBwcm9ncmFtID0gImJvb2wgZm9vKGJvb2wgeCwgYm9vbCB5KSB7IHJldHVybiB4ID09IHk7
IH0iOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW21ha2VCb29sKGZhbHNlKSwgbWFrZUJvb2wodHJ1ZSldKSwgZmFsc2UpOworICAgIGFz
c2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VC
b29sKHRydWUpLCBtYWtlQm9vbChmYWxzZSldKSwgZmFsc2UpOworICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VCb29sKGZhbHNlKSwg
bWFrZUJvb2woZmFsc2UpXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJv
b2xGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VCb29sKHRydWUpLCBtYWtlQm9vbCh0cnVl
KV0pLCB0cnVlKTsKK30KKword2hsc2xUZXN0cy5ub3RFcXVhbGl0eSA9IGFzeW5jICgpID0+IHsK
KyAgICBsZXQgcHJvZ3JhbSA9ICJib29sIGZvbyh1aW50IHgsIHVpbnQgeSkgeyByZXR1cm4geCAh
PSB5OyB9IjsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFttYWtlVWludCg3KSwgbWFrZVVpbnQoNSldKSwgdHJ1ZSk7CisgICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQo
NyksIG1ha2VVaW50KDcpXSksIGZhbHNlKTsKKyAgICBwcm9ncmFtID0gImJvb2wgZm9vKGludCB4
LCBpbnQgeSkgeyByZXR1cm4geCAhPSB5OyB9IjsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KDcpLCBtYWtlSW50KDUpXSks
IHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VJbnQoNyksIG1ha2VJbnQoNyldKSwgZmFsc2UpOworICAgIHByb2dyYW0g
PSAiYm9vbCBmb28oYm9vbCB4LCBib29sIHkpIHsgcmV0dXJuIHggIT0geTsgfSI7CisgICAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUJv
b2woZmFsc2UpLCBtYWtlQm9vbCh0cnVlKV0pLCB0cnVlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3
YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9vbCh0cnVlKSwgbWFr
ZUJvb2woZmFsc2UpXSksIHRydWUpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEJvb2xG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VCb29sKGZhbHNlKSwgbWFrZUJvb2woZmFsc2Up
XSksIGZhbHNlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxCb29sRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFttYWtlQm9vbCh0cnVlKSwgbWFrZUJvb2wodHJ1ZSldKSwgZmFsc2UpOwor
fTsKKword2hsc2xUZXN0cy5lcXVhbGl0eVR5cGVGYWlsdXJlID0gYXN5bmMgKCkgPT4geworICAg
IGF3YWl0IGNoZWNrRmFpbCgiYm9vbCBmb28oaW50IHgsIHVpbnQgeSkgeyByZXR1cm4geCA9PSB5
OyB9Iik7Cit9OworCit3aGxzbFRlc3RzLmVxdWFsc1dyb25nQXJndW1lbnRMZW5ndGggPSBhc3lu
YyAoKSA9PiB7CisgICAgYXdhaXQgY2hlY2tGYWlsKAorICAgICAgICBgCisgICAgICAgICAgICBi
b29sIG9wZXJhdG9yPT0oKSB7IHJldHVybiB0cnVlOyB9CisgICAgICAgIGApOworCisgICAgYXdh
aXQgY2hlY2tGYWlsKAorICAgICAgICBgCisgICAgICAgICAgICBib29sIG9wZXJhdG9yPT0oaW50
KSB7IHJldHVybiB0cnVlOyB9CisgICAgICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKAor
ICAgICAgICBgCisgICAgICAgICAgICBib29sIG9wZXJhdG9yPT0oaW50LCBpbnQsIGludCkgeyBy
ZXR1cm4gdHJ1ZTsgfQorICAgICAgICBgKTsKK307CisKK3dobHNsVGVzdHMuZXF1YWxzV3JvbmdS
ZXR1cm5UeXBlID0gYXN5bmMgKCkgPT4geworICAgIGF3YWl0IGNoZWNrRmFpbCgKKyAgICAgICAg
YAorICAgICAgICAgICAgc3RydWN0IEZvbyB7IH0KKyAgICAgICAgICAgIGludCBvcGVyYXRvcj09
KEZvbywgRm9vKSB7IHJldHVybiA0MjsgfQorICAgICAgICBgKTsKK30KKword2hsc2xUZXN0cy5s
ZXNzRXF1YWxXcm9uZ0FyZ3VtZW50TGVuZ3RoID0gYXN5bmMgKCkgPT4geworICAgIGF3YWl0IGNo
ZWNrRmFpbCgKKyAgICAgICAgYAorICAgICAgICAgICAgYm9vbCBvcGVyYXRvcjw9KCkgeyByZXR1
cm4gdHJ1ZTsgfQorICAgICAgICBgKTsKKyAgICBhd2FpdCBjaGVja0ZhaWwoCisgICAgICAgIGAK
KyAgICAgICAgICAgIGJvb2wgb3BlcmF0b3I8PShpbnQpIHsgcmV0dXJuIHRydWU7IH0KKyAgICAg
ICAgYCk7CisKKyAgICBhd2FpdCBjaGVja0ZhaWwoCisgICAgICAgIGAKKyAgICAgICAgICAgIGJv
b2wgb3BlcmF0b3I8PShpbnQsIGludCwgaW50KSB7IHJldHVybiB0cnVlOyB9CisgICAgICAgIGAp
OworfQorCit3aGxzbFRlc3RzLmxlc3NFcXVhbFdyb25nUmV0dXJuVHlwZSA9IGFzeW5jICgpID0+
IHsKKyAgICBjaGVja0ZhaWwoCisgICAgICAgIGAKKyAgICAgICAgICAgIHN0cnVjdCBGb28geyB9
CisgICAgICAgICAgICBpbnQgb3BlcmF0b3I8PShGb28sIEZvbykgeyByZXR1cm4gNDI7IH0KKyAg
ICAgICAgYCk7Cit9CisKK3dobHNsVGVzdHMubGVzc1RoYW5Xcm9uZ0FyZ3VtZW50TGVuZ3RoID0g
YXN5bmMgKCkgPT4geworICAgIGF3YWl0IGNoZWNrRmFpbCgKKyAgICAgICAgYAorICAgICAgICAg
ICAgYm9vbCBvcGVyYXRvcjwoKSB7IHJldHVybiB0cnVlOyB9CisgICAgICAgIGApOworICAgIGF3
YWl0IGNoZWNrRmFpbCgKKyAgICAgICAgYAorICAgICAgICAgICAgYm9vbCBvcGVyYXRvcjwoaW50
KSB7IHJldHVybiB0cnVlOyB9CisgICAgICAgIGApOworICAgIGF3YWl0IGNoZWNrRmFpbCgKKyAg
ICAgICAgYAorICAgICAgICAgICAgYm9vbCBvcGVyYXRvcjwoaW50LCBpbnQsIGludCkgeyByZXR1
cm4gdHJ1ZTsgfQorICAgICAgICBgKTsKK30KKword2hsc2xUZXN0cy5sZXNzVGhhbldyb25nUmV0
dXJuVHlwZSA9IGFzeW5jICgpID0+IHsKKyAgICBhd2FpdCBjaGVja0ZhaWwoCisgICAgICAgIGAK
KyAgICAgICAgICAgIHN0cnVjdCBGb28geyB9CisgICAgICAgICAgICBpbnQgb3BlcmF0b3I8KEZv
bywgRm9vKSB7IHJldHVybiA0MjsgfQorICAgICAgICBgKTsKK30KKworcnVuVGVzdHMod2hsc2xU
ZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxz
bC1tYXRyaWNlcy1zcGVjLXRlc3RzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wtbWF0cmljZXMtc3BlYy10ZXN0cy1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLW1hdHJpY2VzLXNwZWMtdGVzdHMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIGJ1aWx0
aW5NYXRyaWNlcyAKK1BBU1MgbWF0cml4TXVsdGlwbGljYXRpb24gCisKSW5kZXg6IExheW91dFRl
c3RzL3dlYmdwdS93aGxzbC1tYXRyaWNlcy1zcGVjLXRlc3RzLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLW1hdHJpY2VzLXNwZWMtdGVzdHMuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtbWF0cmljZXMtc3BlYy10ZXN0cy5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjA0IEBACis8IURPQ1RZUEUgaHRtbD48IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpXZWJHUFVFbmFibGVkPXRydWUgXSAt
LT4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgorPHRpdGxlPlRlc3QgdGhlIFdITFNMIHRlc3QgaGFybmVzcy48L3RpdGxl
PgorPHNjcmlwdCBzcmM9ImpzL3dobHNsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0
IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5idWlsdGluTWF0cmljZXMgPSBhc3luYyAo
KSA9PiB7CisgICAgbGV0IHByb2dyYW0gPSBgCisgICAgICAgIGZsb2F0IGZvbygpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGZsb2F0MngyIGE7CisgICAgICAgICAgICBhWzBdWzBdID0gMTsKKyAg
ICAgICAgICAgIGFbMF1bMV0gPSAyOworICAgICAgICAgICAgYVsxXVswXSA9IDM7CisgICAgICAg
ICAgICBhWzFdWzFdID0gNDsKKyAgICAgICAgICAgIHJldHVybiBhWzBdWzBdOworICAgICAgICB9
CisgICAgICAgIGZsb2F0IGZvbzIoKQorICAgICAgICB7CisgICAgICAgICAgICBmbG9hdDJ4MyBh
OworICAgICAgICAgICAgYVswXVswXSA9IDE7CisgICAgICAgICAgICBhWzBdWzFdID0gMjsKKyAg
ICAgICAgICAgIGFbMF1bMl0gPSAzOworICAgICAgICAgICAgYVsxXVswXSA9IDQ7CisgICAgICAg
ICAgICBhWzFdWzFdID0gNTsKKyAgICAgICAgICAgIGFbMV1bMl0gPSA2OworICAgICAgICAgICAg
cmV0dXJuIGFbMV1bMl07CisgICAgICAgIH0KKyAgICAgICAgZmxvYXQgZm9vMygpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGZsb2F0MngyIGE7CisgICAgICAgICAgICByZXR1cm4gYVswXVswXTsK
KyAgICAgICAgfQorICAgICAgICBib29sIGZvbzQoKQorICAgICAgICB7CisgICAgICAgICAgICBm
bG9hdDJ4MiBhOworICAgICAgICAgICAgYVswXVswXSA9IDE7CisgICAgICAgICAgICBhWzBdWzFd
ID0gMjsKKyAgICAgICAgICAgIGFbMV1bMF0gPSAzOworICAgICAgICAgICAgYVsxXVsxXSA9IDQ7
CisgICAgICAgICAgICBmbG9hdDJ4MiBiOworICAgICAgICAgICAgYlswXVswXSA9IDU7CisgICAg
ICAgICAgICBiWzBdWzFdID0gNjsKKyAgICAgICAgICAgIGJbMV1bMF0gPSA3OworICAgICAgICAg
ICAgYlsxXVsxXSA9IDg7CisgICAgICAgICAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCAyOyArK2kp
IHsKKyAgICAgICAgICAgICAgICBmb3IgKHVpbnQgaiA9IDA7IGogPCAyOyArK2opIHsKKyAgICAg
ICAgICAgICAgICAgICAgYVtpXVtqXSArPSA0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIHJldHVybiBhID09IGI7CisgICAgICAgIH0KKyAgICAgICAgYm9v
bCBmb281KCkKKyAgICAgICAgeworICAgICAgICAgICAgZmxvYXQyeDIgYTsKKyAgICAgICAgICAg
IGFbMF0gPSBmbG9hdDIoMSwgMik7CisgICAgICAgICAgICBhWzFdID0gZmxvYXQyKDMsIDQpOwor
ICAgICAgICAgICAgZmxvYXQyeDIgYjsKKyAgICAgICAgICAgIGJbMF1bMF0gPSAxOworICAgICAg
ICAgICAgYlswXVsxXSA9IDI7CisgICAgICAgICAgICBiWzFdWzBdID0gMzsKKyAgICAgICAgICAg
IGJbMV1bMV0gPSA0OworICAgICAgICAgICAgcmV0dXJuIGEgPT0gYjsKKyAgICAgICAgfQorICAg
ICAgICBib29sIGZvbzYoKQorICAgICAgICB7CisgICAgICAgICAgICBmbG9hdDJ4MiBhOworICAg
ICAgICAgICAgYVswXVswXSA9IDE7CisgICAgICAgICAgICBhWzBdWzFdID0gMjsKKyAgICAgICAg
ICAgIGFbMV1bMF0gPSAzOworICAgICAgICAgICAgYVsxXVsxXSA9IDQ7CisgICAgICAgICAgICBm
bG9hdDJ4MiBiOworICAgICAgICAgICAgYlswXVswXSA9IDU7CisgICAgICAgICAgICBiWzBdWzFd
ID0gMTA7CisgICAgICAgICAgICBiWzFdWzBdID0gMTg7CisgICAgICAgICAgICBiWzFdWzFdID0g
MjQ7CisgICAgICAgICAgICBhWzBdICo9IDU7CisgICAgICAgICAgICBhWzFdICo9IDY7CisgICAg
ICAgICAgICByZXR1cm4gYSA9PSBiOworICAgICAgICB9CisgICAgICAgIGZsb2F0IGZvbzcoKQor
ICAgICAgICB7CisgICAgICAgICAgICBmbG9hdDJ4MyBhID0gZmxvYXQyeDMoZmxvYXQzKDMsIDQs
IDUpLCBmbG9hdDMoNiwgNywgOCkpOworICAgICAgICAgICAgcmV0dXJuIGFbMF1bMl07CisgICAg
ICAgIH0KKyAgICBgOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEZsb2F0RnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdKSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsRmxv
YXRGdW5jdGlvbihwcm9ncmFtLCAiZm9vMiIsIFtdKSwgNik7CisgICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsRmxvYXRGdW5jdGlvbihwcm9ncmFtLCAiZm9vMyIsIFtdKSwgMCk7CisgICAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0sICAiZm9vNCIsIFtdKSwg
dHJ1ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1bmN0aW9uKHByb2dyYW0s
ICAiZm9vNSIsIFtdKSwgdHJ1ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsQm9vbEZ1
bmN0aW9uKHByb2dyYW0sICAiZm9vNiIsIFtdKSwgdHJ1ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsRmxvYXRGdW5jdGlvbihwcm9ncmFtLCAiZm9vNyIsIFtdKSwgNSk7Cit9OworCit3
aGxzbFRlc3RzLm1hdHJpeE11bHRpcGxpY2F0aW9uID0gYXN5bmMgKCkgPT4geworICAgIGxldCBw
cm9ncmFtID0gYAorICAgICAgICBmbG9hdDJ4NCBtdWx0aXBseShmbG9hdDJ4MyB4LCBmbG9hdDN4
NCB5KSB7CisgICAgICAgICAgICAvLyBDb3BpZWQgYW5kIHBhc3RlZCBmcm9tIHRoZSBzdGFuZGFy
ZCBsaWJyYXJ5CisgICAgICAgICAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgICAgICAgICByZXN1
bHRbMF1bMF0gPSAwOworICAgICAgICAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMF0gKiB5WzBd
WzBdOworICAgICAgICAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAg
ICAgICAgICAgcmVzdWx0WzBdWzBdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgICAgICAgICAg
cmVzdWx0WzBdWzFdID0gMDsKKyAgICAgICAgICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzBdICog
eVswXVsxXTsKKyAgICAgICAgICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzFdICogeVsxXVsxXTsK
KyAgICAgICAgICAgIHJlc3VsdFswXVsxXSArPSB4WzBdWzJdICogeVsyXVsxXTsKKyAgICAgICAg
ICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgICAgICAgICByZXN1bHRbMF1bMl0gKz0geFswXVsw
XSAqIHlbMF1bMl07CisgICAgICAgICAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1b
Ml07CisgICAgICAgICAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAg
ICAgICAgICByZXN1bHRbMF1bM10gPSAwOworICAgICAgICAgICAgcmVzdWx0WzBdWzNdICs9IHhb
MF1bMF0gKiB5WzBdWzNdOworICAgICAgICAgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5
WzFdWzNdOworICAgICAgICAgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzNdOwor
ICAgICAgICAgICAgcmVzdWx0WzFdWzBdID0gMDsKKyAgICAgICAgICAgIHJlc3VsdFsxXVswXSAr
PSB4WzFdWzBdICogeVswXVswXTsKKyAgICAgICAgICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzFd
ICogeVsxXVswXTsKKyAgICAgICAgICAgIHJlc3VsdFsxXVswXSArPSB4WzFdWzJdICogeVsyXVsw
XTsKKyAgICAgICAgICAgIHJlc3VsdFsxXVsxXSA9IDA7CisgICAgICAgICAgICByZXN1bHRbMV1b
MV0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgICAgICAgICByZXN1bHRbMV1bMV0gKz0geFsx
XVsxXSAqIHlbMV1bMV07CisgICAgICAgICAgICByZXN1bHRbMV1bMV0gKz0geFsxXVsyXSAqIHlb
Ml1bMV07CisgICAgICAgICAgICByZXN1bHRbMV1bMl0gPSAwOworICAgICAgICAgICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAgICAgICAgICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMV0gKiB5WzFdWzJdOworICAgICAgICAgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0g
KiB5WzJdWzJdOworICAgICAgICAgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICAgICAgICAgIHJl
c3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVszXTsKKyAgICAgICAgICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzFdICogeVsxXVszXTsKKyAgICAgICAgICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzJdICogeVsyXVszXTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAg
ICAgICAgZmxvYXQyeDMgbWF0cml4MSgpIHsKKyAgICAgICAgICAgIGZsb2F0MngzIHg7CisgICAg
ICAgICAgICB4WzBdWzBdID0gMjsKKyAgICAgICAgICAgIHhbMF1bMV0gPSAzOworICAgICAgICAg
ICAgeFswXVsyXSA9IDU7CisgICAgICAgICAgICB4WzFdWzBdID0gNzsKKyAgICAgICAgICAgIHhb
MV1bMV0gPSAxMTsKKyAgICAgICAgICAgIHhbMV1bMl0gPSAxMzsKKyAgICAgICAgICAgIHJldHVy
biB4OworICAgICAgICB9CisgICAgICAgIGZsb2F0M3g0IG1hdHJpeDIoKSB7CisgICAgICAgICAg
ICBmbG9hdDN4NCB5OworICAgICAgICAgICAgeVswXVswXSA9IDE3OworICAgICAgICAgICAgeVsw
XVsxXSA9IDE5OworICAgICAgICAgICAgeVswXVsyXSA9IDIzOworICAgICAgICAgICAgeVswXVsz
XSA9IDI5OworICAgICAgICAgICAgeVsxXVswXSA9IDMxOworICAgICAgICAgICAgeVsxXVsxXSA9
IDM3OworICAgICAgICAgICAgeVsxXVsyXSA9IDQxOworICAgICAgICAgICAgeVsxXVszXSA9IDQz
OworICAgICAgICAgICAgeVsyXVswXSA9IDQ3OworICAgICAgICAgICAgeVsyXVsxXSA9IDUzOwor
ICAgICAgICAgICAgeVsyXVsyXSA9IDU5OworICAgICAgICAgICAgeVsyXVszXSA9IDYxOworICAg
ICAgICAgICAgcmV0dXJuIHk7CisgICAgICAgIH0KKyAgICAgICAgZmxvYXQgZm9vMDAoKSB7Cisg
ICAgICAgICAgICByZXR1cm4gbXVsdGlwbHkobWF0cml4MSgpLCBtYXRyaXgyKCkpWzBdWzBdOwor
ICAgICAgICB9CisgICAgICAgIGZsb2F0IGZvbzAxKCkgeworICAgICAgICAgICAgcmV0dXJuIG11
bHRpcGx5KG1hdHJpeDEoKSwgbWF0cml4MigpKVswXVsxXTsKKyAgICAgICAgfQorICAgICAgICBm
bG9hdCBmb28wMigpIHsKKyAgICAgICAgICAgIHJldHVybiBtdWx0aXBseShtYXRyaXgxKCksIG1h
dHJpeDIoKSlbMF1bMl07CisgICAgICAgIH0KKyAgICAgICAgZmxvYXQgZm9vMDMoKSB7CisgICAg
ICAgICAgICByZXR1cm4gbXVsdGlwbHkobWF0cml4MSgpLCBtYXRyaXgyKCkpWzBdWzNdOworICAg
ICAgICB9CisgICAgICAgIGZsb2F0IGZvbzEwKCkgeworICAgICAgICAgICAgcmV0dXJuIG11bHRp
cGx5KG1hdHJpeDEoKSwgbWF0cml4MigpKVsxXVswXTsKKyAgICAgICAgfQorICAgICAgICBmbG9h
dCBmb28xMSgpIHsKKyAgICAgICAgICAgIHJldHVybiBtdWx0aXBseShtYXRyaXgxKCksIG1hdHJp
eDIoKSlbMV1bMV07CisgICAgICAgIH0KKyAgICAgICAgZmxvYXQgZm9vMTIoKSB7CisgICAgICAg
ICAgICByZXR1cm4gbXVsdGlwbHkobWF0cml4MSgpLCBtYXRyaXgyKCkpWzFdWzJdOworICAgICAg
ICB9CisgICAgICAgIGZsb2F0IGZvbzEzKCkgeworICAgICAgICAgICAgcmV0dXJuIG11bHRpcGx5
KG1hdHJpeDEoKSwgbWF0cml4MigpKVsxXVszXTsKKyAgICAgICAgfQorICAgIGA7CisgICAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCBjYWxsRmxvYXRGdW5jdGlvbihwcm9ncmFtLCAiZm9vMDAiLCBbXSks
IDE3ICogMiArIDMxICogMyArIDQ3ICogNSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
RmxvYXRGdW5jdGlvbihwcm9ncmFtLCAiZm9vMDEiLCBbXSksIDE5ICogMiArIDM3ICogMyArIDUz
ICogNSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsRmxvYXRGdW5jdGlvbihwcm9ncmFt
LCAiZm9vMDIiLCBbXSksIDIzICogMiArIDQxICogMyArIDU5ICogNSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCBjYWxsRmxvYXRGdW5jdGlvbihwcm9ncmFtLCAiZm9vMDMiLCBbXSksIDI5ICog
MiArIDQzICogMyArIDYxICogNSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsRmxvYXRG
dW5jdGlvbihwcm9ncmFtLCAiZm9vMTAiLCBbXSksIDE3ICogNyArIDMxICogMTEgKyA0NyAqIDEz
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxGbG9hdEZ1bmN0aW9uKHByb2dyYW0sICJm
b28xMSIsIFtdKSwgMTkgKiA3ICsgMzcgKiAxMSArIDUzICogMTMpOworICAgIGFzc2VydF9lcXVh
bHMoYXdhaXQgY2FsbEZsb2F0RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzEyIiwgW10pLCAyMyAqIDcg
KyA0MSAqIDExICsgNTkgKiAxMyk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsRmxvYXRG
dW5jdGlvbihwcm9ncmFtLCAiZm9vMTMiLCBbXSksIDI5ICogNyArIDQzICogMTEgKyA2MSAqIDEz
KTsKK307CisKK3J1blRlc3RzKHdobHNsVGVzdHMpOworPC9zY3JpcHQ+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtcmV0dXJuLXNwZWMtdGVzdHMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1yZXR1cm4tc3BlYy10ZXN0
cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNs
LXJldHVybi1zcGVjLXRlc3RzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEwIEBACisKK1BBU1MgcmV0dXJuSWYgCitQQVNTIHJldHVyblJlZmVyZW5jZVRvU2FtZVBhcmFt
ZXRlciAKK1BBU1MgcmV0dXJuUmVmZXJlbmNlVG9QYXJhbWV0ZXJXaXRoRGlmZmVyZW50RnVuY3Rp
b25zIAorUEFTUyByZXR1cm5SZWZlcmVuY2VUb1BhcmFtZXRlciAKK1BBU1MgcmV0dXJuUmVmZXJl
bmNlVG9Mb2NhbFZhcmlhYmxlV2l0aE5lc3RpbmcgCitQQVNTIHJldHVyblJlZmVyZW5jZVRvTG9j
YWxWYXJpYWJsZSAKK1BBU1MgcmV0dXJuSW50TGl0ZXJhbFVpbnQgCitQQVNTIHJldHVybkludExp
dGVyYWxGbG9hdCAKKwpJbmRleDogTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXJldHVybi1zcGVj
LXRlc3RzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXJldHVy
bi1zcGVjLXRlc3RzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsLXJldHVybi1zcGVjLXRlc3RzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMzgg
QEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFs
OldlYkdQVUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04Pgor
PG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8dGl0bGU+VGVzdCB0aGUgV0hM
U0wgdGVzdCBoYXJuZXNzLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0ianMvd2hsc2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJqcy93ZWJncHUtZnVuY3Rpb25zLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorY29uc3Qgd2hsc2xUZXN0cyA9IHt9OworCit3aGxzbFRlc3RzLnJl
dHVybklmID0gYXN5bmMgKCkgPT4geworICAgIGF3YWl0IGNoZWNrRmFpbCgKKyAgICAgICAgYAor
ICAgICAgICAgICAgaW50IGZvbyhpbnQgeCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBpbnQgeSA9IDY7CisgICAgICAgICAgICAgICAgaWYgKHggPT0gNykgeworICAgICAgICAgICAg
ICAgICAgICByZXR1cm4geTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgIGApOworCisgICAgYXdhaXQgY2hlY2tGYWlsKAorICAgICAgICBgCisgICAgICAgICAgICBp
bnQgZm9vKGludCB4KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGludCB5ID0gNjsK
KyAgICAgICAgICAgICAgICBpZiAoeCA9PSA3KSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVy
biB5OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHkgPSA4
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgYCk7CisKKyAgICBh
d2FpdCBjaGVja0ZhaWwoCisgICAgICAgIGAKKyAgICAgICAgICAgIGludCBmb28oaW50IHgpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaW50IHkgPSA2OworICAgICAgICAgICAgICAg
IGlmICh4ID09IDcpIHsKKyAgICAgICAgICAgICAgICAgICAgeSA9IDg7CisgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICBgKTsKKworICAgIGxldCBwcm9ncmFtID0gYAor
ICAgICAgICBpbnQgZm9vKGludCB4KQorICAgICAgICB7CisgICAgICAgICAgICBpbnQgeSA9IDY7
CisgICAgICAgICAgICBpZiAoeCA9PSA3KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIDg7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJldHVybiAxMDsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIGA7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KDMpXSksIDEwKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQoNCld
KSwgMTApOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZUludCg1KV0pLCAxMCk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxs
SW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KDYpXSksIDEwKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQo
NyldKSwgOCk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFttYWtlSW50KDgpXSksIDEwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNh
bGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQoOSldKSwgMTApOworCisgICAg
YXdhaXQgY2hlY2tGYWlsKAorICAgICAgICBgCisgICAgICAgICAgICBpbnQgZm9vKGludCB4KQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGludCB5ID0gNjsKKyAgICAgICAgICAgICAg
ICBpZiAoeCA9PSA3KSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiA4OworICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoeCA9PSA5KSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAx
MDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIGApOworICAgIHBy
b2dyYW0gPSBgCisgICAgICAgIGludCBmb28oaW50IHgpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGludCB5ID0gNjsKKyAgICAgICAgICAgIGlmICh4ID09IDcpIHsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gODsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgeSA9IDk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4geTsKKyAgICAgICAgfQorICAgIGA7Cisg
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtt
YWtlSW50KDMpXSksIDkpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZUludCg0KV0pLCA5KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3
YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQoNSldKSwgOSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtt
YWtlSW50KDYpXSksIDkpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZUludCg3KV0pLCA4KTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3
YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQoOCldKSwgOSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtt
YWtlSW50KDkpXSksIDkpOworICAgIGF3YWl0IGNoZWNrRmFpbCgKKyAgICAgICAgYAorICAgICAg
ICAgICAgaW50IGZvbyhpbnQgeCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpbnQg
eSA9IDY7CisgICAgICAgICAgICAgICAgaWYgKHggPT0gNykgeworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gODsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gMTA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVybiAx
MTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgYCk7CisKKyAgICBwcm9ncmFtID0gYAorICAgICAg
ICBpbnQgZm9vKGludCB4KQorICAgICAgICB7CisgICAgICAgICAgICBpbnQgeSA9IDY7CisgICAg
ICAgICAgICBpZiAoeCA9PSA3KQorICAgICAgICAgICAgICAgIGludCB5ID0gODsKKyAgICAgICAg
ICAgIHJldHVybiB5OworICAgICAgICB9CisgICAgYDsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQoNyldKSwgNik7Cit9Owor
Cit3aGxzbFRlc3RzLnJldHVyblJlZmVyZW5jZVRvU2FtZVBhcmFtZXRlciA9IGFzeW5jICgpID0+
IHsKKyAgICBsZXQgcHJvZ3JhbSA9IGAKKyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHJldHVybiBwbHVzKGJhcig1KSwgYmFyKDcpKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGludCBwbHVzKHRocmVhZCBpbnQqIHgsIHRocmVhZCBpbnQqIHkpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHJldHVybiAqeCArICp5OworICAgICAgICB9CisKKyAgICAgICAgdGhyZWFkIGlu
dCogYmFyKGludCB4KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gJng7CisgICAgICAg
IH0KKyAgICBgOworCisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFtdKSwgMTQpOworfTsKKword2hsc2xUZXN0cy5yZXR1cm5SZWZlcmVuY2VU
b1BhcmFtZXRlcldpdGhEaWZmZXJlbnRGdW5jdGlvbnMgPSBhc3luYyAoKSA9PiB7CisgICAgbGV0
IHByb2dyYW0gPSBgCisgICAgICAgIGludCBmb28oKQorICAgICAgICB7CisgICAgICAgICAgICBy
ZXR1cm4gKmJhcigxMCkgKyAqYmF6KDIwKTsKKyAgICAgICAgfQorCisgICAgICAgIHRocmVhZCBp
bnQqIGJhcihpbnQgeCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuICZ4OworICAgICAg
ICB9CisKKyAgICAgICAgdGhyZWFkIGludCogYmF6KGludCB5KQorICAgICAgICB7CisgICAgICAg
ICAgICByZXR1cm4gJnk7CisgICAgICAgIH0KKyAgICBgOworCisgICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgMzApOworfTsKKword2hs
c2xUZXN0cy5yZXR1cm5SZWZlcmVuY2VUb1BhcmFtZXRlciA9IGFzeW5jICgpID0+IHsKKyAgICBs
ZXQgcHJvZ3JhbSA9IGAKKyAgICAgICAgaW50IGZvbyhib29sIGNvbmRpdGlvbikKKyAgICAgICAg
eworICAgICAgICAgICAgcmV0dXJuICpiYXIoY29uZGl0aW9uLCAxLCAyKTsKKyAgICAgICAgfQor
CisgICAgICAgIHRocmVhZCBpbnQqIGJhcihib29sIGNvbmRpdGlvbiwgaW50IGEsIGludCBiKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gY29uZGl0aW9uID8gJmEgOiAmYjsKKyAgICAg
ICAgfQorICAgIGA7CisKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW21ha2VCb29sKHRydWUpXSksIDEpOworICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUJvb2woZmFsc2UpXSks
IDIpOworfTsKKword2hsc2xUZXN0cy5yZXR1cm5SZWZlcmVuY2VUb0xvY2FsVmFyaWFibGVXaXRo
TmVzdGluZyA9IGFzeW5jICgpID0+IHsKKyAgICBsZXQgcHJvZ3JhbSA9IGAKKyAgICAgICAgaW50
IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAqYmFyKCkgKyAqYmF6KCk7Cisg
ICAgICAgIH0KKworICAgICAgICB0aHJlYWQgaW50KiBiYXIoKQorICAgICAgICB7CisgICAgICAg
ICAgICBpbnQgYSA9IDIwOworICAgICAgICAgICAgcmV0dXJuICZhOworICAgICAgICB9CisKKyAg
ICAgICAgdGhyZWFkIGludCogYmF6KCkKKyAgICAgICAgeworICAgICAgICAgICAgaW50IGEgPSAy
MjsKKyAgICAgICAgICAgIHJldHVybiAmYTsKKyAgICAgICAgfQorICAgIGA7CisKKyAgICBhc3Nl
cnRfZXF1YWxzKGF3YWl0IGNhbGxJbnRGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0Mik7
Cit9OworCit3aGxzbFRlc3RzLnJldHVyblJlZmVyZW5jZVRvTG9jYWxWYXJpYWJsZSA9IGFzeW5j
ICgpID0+IHsKKyAgICBsZXQgcHJvZ3JhbSA9IGAKKyAgICAgICAgaW50IGZvbygpCisgICAgICAg
IHsKKyAgICAgICAgICAgIHJldHVybiAqYmFyKCk7CisgICAgICAgIH0KKworICAgICAgICB0aHJl
YWQgaW50KiBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICBpbnQgYSA9IDQyOworICAgICAg
ICAgICAgcmV0dXJuICZhOworICAgICAgICB9CisgICAgYDsKKworICAgIGFzc2VydF9lcXVhbHMo
YXdhaXQgY2FsbEludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDQyKTsKK307CisKK3do
bHNsVGVzdHMucmV0dXJuSW50TGl0ZXJhbFVpbnQgPSBhc3luYyAoKSA9PiB7CisgICAgbGV0IHBy
b2dyYW0gPSAidWludCBmb28oKSB7IHJldHVybiA0MjsgfSI7CisgICAgYXNzZXJ0X2VxdWFscyhh
d2FpdCBjYWxsVWludEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDQyKTsKK307CisKK3do
bHNsVGVzdHMucmV0dXJuSW50TGl0ZXJhbEZsb2F0ID0gYXN5bmMgKCkgPT4geworICAgIGxldCBw
cm9ncmFtID0gImZsb2F0IGZvbygpIHsgcmV0dXJuIDQyOyB9IjsKKyAgICBhc3NlcnRfZXF1YWxz
KGF3YWl0IGNhbGxGbG9hdEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDQyKTsKK307CisK
K3J1blRlc3RzKHdobHNsVGVzdHMpOworPC9zY3JpcHQ+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy93ZWJncHUvd2hsc2wtc2ltcGxlLWdldHRlci1zZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1zaW1wbGUtZ2V0dGVyLXNldHRlci1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXNp
bXBsZS1nZXR0ZXItc2V0dGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQgQEAKKworUEFTUyBzaW1wbGVHZXR0ZXIgCitQQVNTIHNpbXBsZVNldHRlciAKKwpJbmRleDog
TGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXNpbXBsZS1nZXR0ZXItc2V0dGVyLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXNpbXBsZS1nZXR0ZXItc2V0dGVyLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLXNpbXBsZS1nZXR0
ZXItc2V0dGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6V2ViR1BVRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPSJ0
aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5UZXN0IHRoZSBXSExTTCB0ZXN0IGhhcm5l
c3MuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJqcy93aGxzbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9ImpzL3dlYmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+Citjb25zdCB3aGxzbFRlc3RzID0ge307CisKK3dobHNsVGVzdHMuc2ltcGxlR2V0dGVyID0g
YXN5bmMgKCkgPT4geworICAgIGxldCBwcm9ncmFtID0gYAorICAgICAgICBzdHJ1Y3QgRm9vIHsK
KyAgICAgICAgICAgIGludCB4OworICAgICAgICB9CisgICAgICAgIGludCBvcGVyYXRvci55KEZv
byBmb28pCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBmb28ueDsKKyAgICAgICAgfQor
ICAgICAgICBpbnQgZm9vKCkKKyAgICAgICAgeworICAgICAgICAgICAgRm9vIGZvbzsKKyAgICAg
ICAgICAgIGZvby54ID0gNzgwNDsKKyAgICAgICAgICAgIHJldHVybiBmb28ueTsKKyAgICAgICAg
fQorICAgIGA7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdKSwgNzgwNCk7Cit9OworCit3aGxzbFRlc3RzLnNpbXBsZVNldHRlciA9IGFz
eW5jICgpID0+IHsKKyAgICBsZXQgcHJvZ3JhbSA9IGAKKyAgICAgICAgc3RydWN0IEZvbyB7Cisg
ICAgICAgICAgICBpbnQgeDsKKyAgICAgICAgfQorICAgICAgICBpbnQgb3BlcmF0b3IueShGb28g
Zm9vKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZm9vLng7CisgICAgICAgIH0KKyAg
ICAgICAgRm9vIG9wZXJhdG9yLnk9KEZvbyBmb28sIGludCB2YWx1ZSkKKyAgICAgICAgeworICAg
ICAgICAgICAgZm9vLnggPSB2YWx1ZTsKKyAgICAgICAgICAgIHJldHVybiBmb287CisgICAgICAg
IH0KKyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIEZvbyBmb287Cisg
ICAgICAgICAgICBmb28ueSA9IDc4MDQ7CisgICAgICAgICAgICByZXR1cm4gZm9vLng7CisgICAg
ICAgIH0KKyAgICBgOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgY2FsbEludEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbXSksIDc4MDQpOworfTsKKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8
L3NjcmlwdD4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3dlYmdwdS93aGxzbC1zaW1wbGUt
d2hpbGUtbG9vcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsLXNpbXBsZS13aGlsZS1sb29wLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtc2ltcGxlLXdoaWxlLWxvb3AtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHNpbXBsZVdoaWxlIAorCkluZGV4
OiBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtc2ltcGxlLXdoaWxlLWxvb3AuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtc2ltcGxlLXdoaWxlLWxvb3AuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wtc2ltcGxlLXdoaWxlLWxv
b3AuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD48
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpXZWJHUFVFbmFibGVkPXRydWUg
XSAtLT4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9InRpbWVvdXQi
IGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPlRlc3QgdGhlIFdITFNMIHRlc3QgaGFybmVzcy48L3Rp
dGxlPgorPHNjcmlwdCBzcmM9ImpzL3dobHNsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Nv
bnN0IHdobHNsVGVzdHMgPSB7fTsKKword2hsc2xUZXN0cy5zaW1wbGVXaGlsZSA9IGFzeW5jICgp
ID0+IHsKKyAgICBsZXQgcHJvZ3JhbSA9IGAKKyAgICAgICAgaW50IGZvbyhpbnQgeCkKKyAgICAg
ICAgeworICAgICAgICAgICAgd2hpbGUgKHggPCAxMykKKyAgICAgICAgICAgICAgICB4ID0geCAq
IDI7CisgICAgICAgICAgICByZXR1cm4geDsKKyAgICAgICAgfQorICAgIGA7CisgICAgYXNzZXJ0
X2VxdWFscyhhd2FpdCBjYWxsSW50RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KDEp
XSksIDE2KTsKK30KKworcnVuVGVzdHMod2hsc2xUZXN0cyk7Cis8L3NjcmlwdD4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>