<?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>239998</bug_id>
          
          <creation_ts>2022-05-03 01:05:20 -0700</creation_ts>
          <short_desc>[RISCV64] Implement MacroAssemblerRISCV64 move-conditionally methods</short_desc>
          <delta_ts>2022-05-03 23:15:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>237775</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1866065</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-03 01:05:20 -0700</bug_when>
    <thetext>[RISCV64] Implement MacroAssemblerRISCV64 move-conditionally methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866068</commentid>
    <comment_count>1</comment_count>
      <attachid>458725</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-03 01:09:24 -0700</bug_when>
    <thetext>Created attachment 458725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866369</commentid>
    <comment_count>2</comment_count>
      <attachid>458725</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-03 23:14:34 -0700</bug_when>
    <thetext>Comment on attachment 458725
Patch

Clearing flags on attachment: 458725

Committed r293759 (250238@trunk): &lt;https://commits.webkit.org/250238@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866370</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-03 23:14:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866371</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-03 23:15:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/92714947&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458725</attachid>
            <date>2022-05-03 01:09:24 -0700</date>
            <delta_ts>2022-05-03 23:14:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239998-20220503100922.patch</filename>
            <type>text/plain</type>
            <size>20400</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NzI0Mjg0Njk0ZGRmNWE5NjQ3M2NlNjEwZWU1NmEwYzlkMmFiODE3Li5kZGZkZTBkZjg0MmVmNmVl
NzM5ZDY3Y2I1ZmIxMzA5YmFhNDQ0YTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAyMi0wNS0wMyAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW1JJU0NWNjRdIEltcGxlbWVudCBNYWNyb0Fzc2VtYmxlclJJU0NWNjQg
bW92ZS1jb25kaXRpb25hbGx5IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzOTk5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgdmFyaWFu
dHMgb2YgdGhlIG1vdmUtY29uZGl0aW9uYWxseQorICAgICAgICBvcGVyYXRpb24gaW4gTWFjcm9B
c3NlbWJsZXJSSVNDVjY0LiBUaGVzZSBhcmUgdHJ1ZSBtYWNybyBvcGVyYXRpb25zLAorICAgICAg
ICBvZnRlbiByZXF1aXJpbmcgc2NyYXRjaCByZWdpc3RlcnMgYW5kIGJyYW5jaGVzIHRvIGltcGxl
bWVudCB0aGUKKyAgICAgICAgYmVoYXZpb3Igc2luY2UgdGhlIFJJU0MtViBJU0EgZG9lc24ndCBw
cm92aWRlIGFwcHJvcHJpYXRlIGluc3RydWN0aW9ucworICAgICAgICBvdXQtb2YtdGhlLWJveC4K
KworICAgICAgICBUZXN0IGNhc2VzIGluIHRlc3RtYXNtIGFyZSBhbHNvIGVuYWJsZWQsIGluY2x1
ZGluZyBzb21lIGFkZGl0aW9uYWwKKyAgICAgICAgZ3VhcmRzIHRvIGF2b2lkIHVudXNlZC12YXJp
YWJsZSB3YXJuaW5ncyBhdCBidWlsZC10aW1lLgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyUklTQ1Y2NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJU0NWNjQ6
Om1vdmVDb25kaXRpb25hbGx5MzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJU0NW
NjQ6Om1vdmVDb25kaXRpb25hbGx5NjQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJ
U0NWNjQ6Om1vdmVDb25kaXRpb25hbGx5RmxvYXQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2Vt
YmxlclJJU0NWNjQ6Om1vdmVDb25kaXRpb25hbGx5RG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJSSVNDVjY0Ojptb3ZlQ29uZGl0aW9uYWxseVRlc3QzMik6CisgICAgICAgIChK
U0M6Ok1hY3JvQXNzZW1ibGVyUklTQ1Y2NDo6bW92ZUNvbmRpdGlvbmFsbHlUZXN0NjQpOgorICAg
ICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJU0NWNjQ6Om1vdmVEb3VibGVDb25kaXRpb25hbGx5
MzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJU0NWNjQ6Om1vdmVEb3VibGVDb25k
aXRpb25hbGx5NjQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJU0NWNjQ6Om1vdmVE
b3VibGVDb25kaXRpb25hbGx5RmxvYXQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJ
U0NWNjQ6Om1vdmVEb3VibGVDb25kaXRpb25hbGx5RG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJSSVNDVjY0Ojptb3ZlRG91YmxlQ29uZGl0aW9uYWxseVRlc3QzMik6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyUklTQ1Y2NDo6bW92ZURvdWJsZUNvbmRpdGlvbmFsbHlU
ZXN0NjQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJU0NWNjQ6OmJyYW5jaEZvck1v
dmVDb25kaXRpb25hbGx5KToKKyAgICAgICAgKiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgorICAg
ICAgICAoSlNDOjp0ZXN0UHJvYmVNb2RpZmllc1N0YWNrUG9pbnRlcik6CisgICAgICAgIChKU0M6
OnRlc3RQcm9iZU1vZGlmaWVzU3RhY2tWYWx1ZXMpOgorCiAyMDIyLTA0LTI5ICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSW50cm9kdWNlIHVubGlu
a2VkIHZlcnNpb24gb2YgaW52YWxpZGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyUklTQ1Y2NC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclJJU0NWNjQuaAppbmRleCAwNTMyMjVmYzQ5
YTA5YWY4OTAwMDNhOWNjZDIwNTE2YTg1MWVjMzY4Li5mYzk4ZjliNTIyMTQ5NzY3MjkxYzM2NTYx
YjYwYWIwYTQ3NGY0N2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyUklTQ1Y2NC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJSSVNDVjY0LmgKQEAgLTM0MzUsMTggKzM0MzUsMjg0IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGZhaWx1cmU7CiAgICAgfQogCi0gICAgTUFDUk9fQVNT
RU1CTEVSX1JJU0NWNjRfVEVNUExBVEVEX05PT1BfTUVUSE9EKG1vdmVDb25kaXRpb25hbGx5MzIp
OwotICAgIE1BQ1JPX0FTU0VNQkxFUl9SSVNDVjY0X1RFTVBMQVRFRF9OT09QX01FVEhPRChtb3Zl
Q29uZGl0aW9uYWxseTY0KTsKLSAgICBNQUNST19BU1NFTUJMRVJfUklTQ1Y2NF9URU1QTEFURURf
Tk9PUF9NRVRIT0QobW92ZUNvbmRpdGlvbmFsbHlGbG9hdCk7Ci0gICAgTUFDUk9fQVNTRU1CTEVS
X1JJU0NWNjRfVEVNUExBVEVEX05PT1BfTUVUSE9EKG1vdmVDb25kaXRpb25hbGx5RG91YmxlKTsK
LSAgICBNQUNST19BU1NFTUJMRVJfUklTQ1Y2NF9URU1QTEFURURfTk9PUF9NRVRIT0QobW92ZUNv
bmRpdGlvbmFsbHlUZXN0MzIpOwotICAgIE1BQ1JPX0FTU0VNQkxFUl9SSVNDVjY0X1RFTVBMQVRF
RF9OT09QX01FVEhPRChtb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NCk7Ci0gICAgTUFDUk9fQVNTRU1C
TEVSX1JJU0NWNjRfVEVNUExBVEVEX05PT1BfTUVUSE9EKG1vdmVEb3VibGVDb25kaXRpb25hbGx5
MzIpOwotICAgIE1BQ1JPX0FTU0VNQkxFUl9SSVNDVjY0X1RFTVBMQVRFRF9OT09QX01FVEhPRCht
b3ZlRG91YmxlQ29uZGl0aW9uYWxseTY0KTsKLSAgICBNQUNST19BU1NFTUJMRVJfUklTQ1Y2NF9U
RU1QTEFURURfTk9PUF9NRVRIT0QobW92ZURvdWJsZUNvbmRpdGlvbmFsbHlGbG9hdCk7Ci0gICAg
TUFDUk9fQVNTRU1CTEVSX1JJU0NWNjRfVEVNUExBVEVEX05PT1BfTUVUSE9EKG1vdmVEb3VibGVD
b25kaXRpb25hbGx5RG91YmxlKTsKLSAgICBNQUNST19BU1NFTUJMRVJfUklTQ1Y2NF9URU1QTEFU
RURfTk9PUF9NRVRIT0QobW92ZURvdWJsZUNvbmRpdGlvbmFsbHlUZXN0MzIpOwotICAgIE1BQ1JP
X0FTU0VNQkxFUl9SSVNDVjY0X1RFTVBMQVRFRF9OT09QX01FVEhPRChtb3ZlRG91YmxlQ29uZGl0
aW9uYWxseVRlc3Q2NCk7CisgICAgdm9pZCBtb3ZlQ29uZGl0aW9uYWxseTMyKFJlbGF0aW9uYWxD
b25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCBsaHMsIFJlZ2lzdGVySUQgcmhzLCBSZWdpc3RlcklE
IHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgYXV0byB0ZW1wID0gdGVtcHM8
RGF0YSwgTWVtb3J5PigpOworICAgICAgICBtX2Fzc2VtYmxlci5zaWduRXh0ZW5kPDMyPih0ZW1w
LmRhdGEoKSwgbGhzKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2lnbkV4dGVuZDwzMj4odGVtcC5t
ZW1vcnkoKSwgcmhzKTsKKworICAgICAgICBicmFuY2hGb3JNb3ZlQ29uZGl0aW9uYWxseShpbnZl
cnQoY29uZCksIHRlbXAuZGF0YSgpLCB0ZW1wLm1lbW9yeSgpLCBJbW06OkI8OD4oKSk7CisgICAg
ICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNuKGRlc3QsIHNyYywgSW1tOjpJPDA+KCkpOworICAgIH0K
KworICAgIHZvaWQgbW92ZUNvbmRpdGlvbmFsbHkzMihSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQs
IFJlZ2lzdGVySUQgbGhzLCBSZWdpc3RlcklEIHJocywgUmVnaXN0ZXJJRCB0cnVlU3JjLCBSZWdp
c3RlcklEIGZhbHNlU3JjLCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBhdXRvIHRl
bXAgPSB0ZW1wczxEYXRhLCBNZW1vcnk+KCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnNpZ25FeHRl
bmQ8MzI+KHRlbXAuZGF0YSgpLCBsaHMpOworICAgICAgICBtX2Fzc2VtYmxlci5zaWduRXh0ZW5k
PDMyPih0ZW1wLm1lbW9yeSgpLCByaHMpOworCisgICAgICAgIGJyYW5jaEZvck1vdmVDb25kaXRp
b25hbGx5KGludmVydChjb25kKSwgdGVtcC5kYXRhKCksIHRlbXAubWVtb3J5KCksIEltbTo6Qjwx
Mj4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNuKGRlc3QsIHRydWVTcmMsIEltbTo6
STwwPigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuamFsSW5zbihSSVNDVjY0UmVnaXN0ZXJzOjp6
ZXJvLCBJbW06Oko8OD4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNuKGRlc3QsIGZh
bHNlU3JjLCBJbW06Okk8MD4oKSk7CisgICAgfQorCisgICAgdm9pZCBtb3ZlQ29uZGl0aW9uYWxs
eTMyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCBsaHMsIFRydXN0ZWRJbW0z
MiBpbW0sIFJlZ2lzdGVySUQgdHJ1ZVNyYywgUmVnaXN0ZXJJRCBmYWxzZVNyYywgUmVnaXN0ZXJJ
RCBkZXN0KQorICAgIHsKKyAgICAgICAgYXV0byB0ZW1wID0gdGVtcHM8RGF0YSwgTWVtb3J5Pigp
OworICAgICAgICBtX2Fzc2VtYmxlci5zaWduRXh0ZW5kPDMyPih0ZW1wLmRhdGEoKSwgbGhzKTsK
KyAgICAgICAgbG9hZEltbWVkaWF0ZShpbW0sIHRlbXAubWVtb3J5KCkpOworCisgICAgICAgIGJy
YW5jaEZvck1vdmVDb25kaXRpb25hbGx5KGludmVydChjb25kKSwgdGVtcC5kYXRhKCksIHRlbXAu
bWVtb3J5KCksIEltbTo6QjwxMj4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNuKGRl
c3QsIHRydWVTcmMsIEltbTo6STwwPigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuamFsSW5zbihS
SVNDVjY0UmVnaXN0ZXJzOjp6ZXJvLCBJbW06Oko8OD4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVy
LmFkZGlJbnNuKGRlc3QsIGZhbHNlU3JjLCBJbW06Okk8MD4oKSk7CisgICAgfQorCisgICAgdm9p
ZCBtb3ZlQ29uZGl0aW9uYWxseTY0KFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJ
RCBsaHMsIFJlZ2lzdGVySUQgcmhzLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQor
ICAgIHsKKyAgICAgICAgYnJhbmNoRm9yTW92ZUNvbmRpdGlvbmFsbHkoaW52ZXJ0KGNvbmQpLCBs
aHMsIHJocywgSW1tOjpCPDg+KCkpOworICAgICAgICBtX2Fzc2VtYmxlci5hZGRpSW5zbihkZXN0
LCBzcmMsIEltbTo6STwwPigpKTsKKyAgICB9CisKKyAgICB2b2lkIG1vdmVDb25kaXRpb25hbGx5
NjQoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxocywgUmVnaXN0ZXJJRCBy
aHMsIFJlZ2lzdGVySUQgdHJ1ZVNyYywgUmVnaXN0ZXJJRCBmYWxzZVNyYywgUmVnaXN0ZXJJRCBk
ZXN0KQorICAgIHsKKyAgICAgICAgYnJhbmNoRm9yTW92ZUNvbmRpdGlvbmFsbHkoaW52ZXJ0KGNv
bmQpLCBsaHMsIHJocywgSW1tOjpCPDEyPigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYWRkaUlu
c24oZGVzdCwgdHJ1ZVNyYywgSW1tOjpJPDA+KCkpOworICAgICAgICBtX2Fzc2VtYmxlci5qYWxJ
bnNuKFJJU0NWNjRSZWdpc3RlcnM6Onplcm8sIEltbTo6Sjw4PigpKTsKKyAgICAgICAgbV9hc3Nl
bWJsZXIuYWRkaUluc24oZGVzdCwgZmFsc2VTcmMsIEltbTo6STwwPigpKTsKKyAgICB9CisKKyAg
ICB2b2lkIG1vdmVDb25kaXRpb25hbGx5NjQoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdp
c3RlcklEIGxocywgVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCB0cnVlU3JjLCBSZWdpc3Rl
cklEIGZhbHNlU3JjLCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBhdXRvIHRlbXAg
PSB0ZW1wczxEYXRhPigpOworICAgICAgICBsb2FkSW1tZWRpYXRlKGltbSwgdGVtcC5kYXRhKCkp
OworICAgICAgICBicmFuY2hGb3JNb3ZlQ29uZGl0aW9uYWxseShpbnZlcnQoY29uZCksIGxocywg
dGVtcC5kYXRhKCksIEltbTo6QjwxMj4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNu
KGRlc3QsIHRydWVTcmMsIEltbTo6STwwPigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuamFsSW5z
bihSSVNDVjY0UmVnaXN0ZXJzOjp6ZXJvLCBJbW06Oko8OD4oKSk7CisgICAgICAgIG1fYXNzZW1i
bGVyLmFkZGlJbnNuKGRlc3QsIGZhbHNlU3JjLCBJbW06Okk8MD4oKSk7CisgICAgfQorCisgICAg
dm9pZCBtb3ZlQ29uZGl0aW9uYWxseUZsb2F0KERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lz
dGVySUQgbGhzLCBGUFJlZ2lzdGVySUQgcmhzLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBk
ZXN0KQorICAgIHsKKyAgICAgICAgSnVtcCBpbnZjb25kQnJhbmNoID0gYnJhbmNoRlA8MzIsIHRy
dWU+KGNvbmQsIGxocywgcmhzKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYWRkaUluc24oZGVzdCwg
c3JjLCBJbW06Okk8MD4oKSk7CisgICAgICAgIGludmNvbmRCcmFuY2gubGluayh0aGlzKTsKKyAg
ICB9CisKKyAgICB2b2lkIG1vdmVDb25kaXRpb25hbGx5RmxvYXQoRG91YmxlQ29uZGl0aW9uIGNv
bmQsIEZQUmVnaXN0ZXJJRCBsaHMsIEZQUmVnaXN0ZXJJRCByaHMsIFJlZ2lzdGVySUQgdHJ1ZVNy
YywgUmVnaXN0ZXJJRCBmYWxzZVNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAg
SnVtcCBpbnZjb25kQnJhbmNoID0gYnJhbmNoRlA8MzIsIHRydWU+KGNvbmQsIGxocywgcmhzKTsK
KyAgICAgICAgbV9hc3NlbWJsZXIuYWRkaUluc24oZGVzdCwgdHJ1ZVNyYywgSW1tOjpJPDA+KCkp
OworICAgICAgICBKdW1wIGVuZCA9IGp1bXAoKTsKKyAgICAgICAgaW52Y29uZEJyYW5jaC5saW5r
KHRoaXMpOworICAgICAgICBtX2Fzc2VtYmxlci5hZGRpSW5zbihkZXN0LCBmYWxzZVNyYywgSW1t
OjpJPDA+KCkpOworICAgICAgICBlbmQubGluayh0aGlzKTsKKyAgICB9CisKKyAgICB2b2lkIG1v
dmVDb25kaXRpb25hbGx5RG91YmxlKERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQg
bGhzLCBGUFJlZ2lzdGVySUQgcmhzLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQor
ICAgIHsKKyAgICAgICAgSnVtcCBpbnZjb25kQnJhbmNoID0gYnJhbmNoRlA8NjQsIHRydWU+KGNv
bmQsIGxocywgcmhzKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYWRkaUluc24oZGVzdCwgc3JjLCBJ
bW06Okk8MD4oKSk7CisgICAgICAgIGludmNvbmRCcmFuY2gubGluayh0aGlzKTsKKyAgICB9CisK
KyAgICB2b2lkIG1vdmVDb25kaXRpb25hbGx5RG91YmxlKERvdWJsZUNvbmRpdGlvbiBjb25kLCBG
UFJlZ2lzdGVySUQgbGhzLCBGUFJlZ2lzdGVySUQgcmhzLCBSZWdpc3RlcklEIHRydWVTcmMsIFJl
Z2lzdGVySUQgZmFsc2VTcmMsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIEp1bXAg
aW52Y29uZEJyYW5jaCA9IGJyYW5jaEZQPDY0LCB0cnVlPihjb25kLCBsaHMsIHJocyk7CisgICAg
ICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNuKGRlc3QsIHRydWVTcmMsIEltbTo6STwwPigpKTsKKyAg
ICAgICAgSnVtcCBlbmQgPSBqdW1wKCk7CisgICAgICAgIGludmNvbmRCcmFuY2gubGluayh0aGlz
KTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYWRkaUluc24oZGVzdCwgZmFsc2VTcmMsIEltbTo6STww
PigpKTsKKyAgICAgICAgZW5kLmxpbmsodGhpcyk7CisgICAgfQorCisgICAgdm9pZCBtb3ZlQ29u
ZGl0aW9uYWxseVRlc3QzMihSZXN1bHRDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCB2YWx1ZSwg
UmVnaXN0ZXJJRCBtYXNrLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsK
KyAgICAgICAgYXV0byB0ZW1wID0gdGVtcHM8RGF0YT4oKTsKKyAgICAgICAgbV9hc3NlbWJsZXIu
YW5kSW5zbih0ZW1wLmRhdGEoKSwgdmFsdWUsIG1hc2spOworICAgICAgICBtX2Fzc2VtYmxlci5z
aWduRXh0ZW5kPDMyPih0ZW1wLmRhdGEoKSk7CisgICAgICAgIHRlc3RGaW5hbGl6ZShjb25kLCB0
ZW1wLmRhdGEoKSwgdGVtcC5kYXRhKCkpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmJlcUluc24o
dGVtcC5kYXRhKCksIFJJU0NWNjRSZWdpc3RlcnM6Onplcm8sIEltbTo6Qjw4PigpKTsKKyAgICAg
ICAgbV9hc3NlbWJsZXIuYWRkaUluc24oZGVzdCwgc3JjLCBJbW06Okk8MD4oKSk7CisgICAgfQor
CisgICAgdm9pZCBtb3ZlQ29uZGl0aW9uYWxseVRlc3QzMihSZXN1bHRDb25kaXRpb24gY29uZCwg
UmVnaXN0ZXJJRCB2YWx1ZSwgUmVnaXN0ZXJJRCBtYXNrLCBSZWdpc3RlcklEIHRydWVTcmMsIFJl
Z2lzdGVySUQgZmFsc2VTcmMsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIGF1dG8g
dGVtcCA9IHRlbXBzPERhdGE+KCk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFuZEluc24odGVtcC5k
YXRhKCksIHZhbHVlLCBtYXNrKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2lnbkV4dGVuZDwzMj4o
dGVtcC5kYXRhKCkpOworICAgICAgICB0ZXN0RmluYWxpemUoY29uZCwgdGVtcC5kYXRhKCksIHRl
bXAuZGF0YSgpKTsKKworICAgICAgICBtX2Fzc2VtYmxlci5iZXFJbnNuKHRlbXAuZGF0YSgpLCBS
SVNDVjY0UmVnaXN0ZXJzOjp6ZXJvLCBJbW06OkI8MTI+KCkpOworICAgICAgICBtX2Fzc2VtYmxl
ci5hZGRpSW5zbihkZXN0LCB0cnVlU3JjLCBJbW06Okk8MD4oKSk7CisgICAgICAgIG1fYXNzZW1i
bGVyLmphbEluc24oUklTQ1Y2NFJlZ2lzdGVyczo6emVybywgSW1tOjpKPDg+KCkpOworICAgICAg
ICBtX2Fzc2VtYmxlci5hZGRpSW5zbihkZXN0LCBmYWxzZVNyYywgSW1tOjpJPDA+KCkpOworICAg
IH0KKworICAgIHZvaWQgbW92ZUNvbmRpdGlvbmFsbHlUZXN0MzIoUmVzdWx0Q29uZGl0aW9uIGNv
bmQsIFJlZ2lzdGVySUQgdmFsdWUsIFRydXN0ZWRJbW0zMiBtYXNrLCBSZWdpc3RlcklEIHRydWVT
cmMsIFJlZ2lzdGVySUQgZmFsc2VTcmMsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAg
IGF1dG8gdGVtcCA9IHRlbXBzPERhdGE+KCk7CisgICAgICAgIGxvYWRJbW1lZGlhdGUobWFzaywg
dGVtcC5kYXRhKCkpOworICAgICAgICBtX2Fzc2VtYmxlci5hbmRJbnNuKHRlbXAuZGF0YSgpLCB2
YWx1ZSwgdGVtcC5kYXRhKCkpOworICAgICAgICBtX2Fzc2VtYmxlci5zaWduRXh0ZW5kPDMyPih0
ZW1wLmRhdGEoKSk7CisgICAgICAgIHRlc3RGaW5hbGl6ZShjb25kLCB0ZW1wLmRhdGEoKSwgdGVt
cC5kYXRhKCkpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmJlcUluc24odGVtcC5kYXRhKCksIFJJ
U0NWNjRSZWdpc3RlcnM6Onplcm8sIEltbTo6QjwxMj4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVy
LmFkZGlJbnNuKGRlc3QsIHRydWVTcmMsIEltbTo6STwwPigpKTsKKyAgICAgICAgbV9hc3NlbWJs
ZXIuamFsSW5zbihSSVNDVjY0UmVnaXN0ZXJzOjp6ZXJvLCBJbW06Oko8OD4oKSk7CisgICAgICAg
IG1fYXNzZW1ibGVyLmFkZGlJbnNuKGRlc3QsIGZhbHNlU3JjLCBJbW06Okk8MD4oKSk7CisgICAg
fQorCisgICAgdm9pZCBtb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NChSZXN1bHRDb25kaXRpb24gY29u
ZCwgUmVnaXN0ZXJJRCB2YWx1ZSwgUmVnaXN0ZXJJRCBtYXNrLCBSZWdpc3RlcklEIHNyYywgUmVn
aXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgYXV0byB0ZW1wID0gdGVtcHM8RGF0YT4oKTsK
KyAgICAgICAgbV9hc3NlbWJsZXIuYW5kSW5zbih0ZW1wLmRhdGEoKSwgdmFsdWUsIG1hc2spOwor
ICAgICAgICB0ZXN0RmluYWxpemUoY29uZCwgdGVtcC5kYXRhKCksIHRlbXAuZGF0YSgpKTsKKwor
ICAgICAgICBtX2Fzc2VtYmxlci5iZXFJbnNuKHRlbXAuZGF0YSgpLCBSSVNDVjY0UmVnaXN0ZXJz
Ojp6ZXJvLCBJbW06OkI8OD4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNuKGRlc3Qs
IHNyYywgSW1tOjpJPDA+KCkpOworICAgIH0KKworICAgIHZvaWQgbW92ZUNvbmRpdGlvbmFsbHlU
ZXN0NjQoUmVzdWx0Q29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgdmFsdWUsIFJlZ2lzdGVySUQg
bWFzaywgUmVnaXN0ZXJJRCB0cnVlU3JjLCBSZWdpc3RlcklEIGZhbHNlU3JjLCBSZWdpc3RlcklE
IGRlc3QpCisgICAgeworICAgICAgICBhdXRvIHRlbXAgPSB0ZW1wczxEYXRhPigpOworICAgICAg
ICBtX2Fzc2VtYmxlci5hbmRJbnNuKHRlbXAuZGF0YSgpLCB2YWx1ZSwgbWFzayk7CisgICAgICAg
IHRlc3RGaW5hbGl6ZShjb25kLCB0ZW1wLmRhdGEoKSwgdGVtcC5kYXRhKCkpOworCisgICAgICAg
IG1fYXNzZW1ibGVyLmJlcUluc24odGVtcC5kYXRhKCksIFJJU0NWNjRSZWdpc3RlcnM6Onplcm8s
IEltbTo6QjwxMj4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNuKGRlc3QsIHRydWVT
cmMsIEltbTo6STwwPigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuamFsSW5zbihSSVNDVjY0UmVn
aXN0ZXJzOjp6ZXJvLCBJbW06Oko8OD4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNu
KGRlc3QsIGZhbHNlU3JjLCBJbW06Okk8MD4oKSk7CisgICAgfQorCisgICAgdm9pZCBtb3ZlQ29u
ZGl0aW9uYWxseVRlc3Q2NChSZXN1bHRDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCB2YWx1ZSwg
VHJ1c3RlZEltbTMyIG1hc2ssIFJlZ2lzdGVySUQgdHJ1ZVNyYywgUmVnaXN0ZXJJRCBmYWxzZVNy
YywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgYXV0byB0ZW1wID0gdGVtcHM8RGF0
YT4oKTsKKyAgICAgICAgbG9hZEltbWVkaWF0ZShtYXNrLCB0ZW1wLmRhdGEoKSk7CisgICAgICAg
IG1fYXNzZW1ibGVyLmFuZEluc24odGVtcC5kYXRhKCksIHZhbHVlLCB0ZW1wLmRhdGEoKSk7Cisg
ICAgICAgIHRlc3RGaW5hbGl6ZShjb25kLCB0ZW1wLmRhdGEoKSwgdGVtcC5kYXRhKCkpOworCisg
ICAgICAgIG1fYXNzZW1ibGVyLmJlcUluc24odGVtcC5kYXRhKCksIFJJU0NWNjRSZWdpc3RlcnM6
Onplcm8sIEltbTo6QjwxMj4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNuKGRlc3Qs
IHRydWVTcmMsIEltbTo6STwwPigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuamFsSW5zbihSSVND
VjY0UmVnaXN0ZXJzOjp6ZXJvLCBJbW06Oko8OD4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFk
ZGlJbnNuKGRlc3QsIGZhbHNlU3JjLCBJbW06Okk8MD4oKSk7CisgICAgfQorCisgICAgdm9pZCBt
b3ZlRG91YmxlQ29uZGl0aW9uYWxseTMyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgUmVnaXN0
ZXJJRCBsaHMsIFJlZ2lzdGVySUQgcmhzLCBGUFJlZ2lzdGVySUQgdHJ1ZVNyYywgRlBSZWdpc3Rl
cklEIGZhbHNlU3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIGF1dG8gdGVt
cCA9IHRlbXBzPERhdGEsIE1lbW9yeT4oKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2lnbkV4dGVu
ZDwzMj4odGVtcC5kYXRhKCksIGxocyk7CisgICAgICAgIG1fYXNzZW1ibGVyLnNpZ25FeHRlbmQ8
MzI+KHRlbXAubWVtb3J5KCksIHJocyk7CisKKyAgICAgICAgYnJhbmNoRm9yTW92ZUNvbmRpdGlv
bmFsbHkoaW52ZXJ0KGNvbmQpLCB0ZW1wLmRhdGEoKSwgdGVtcC5tZW1vcnkoKSwgSW1tOjpCPDEy
PigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZnNnbmpJbnNuPDY0PihkZXN0LCB0cnVlU3JjLCB0
cnVlU3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuamFsSW5zbihSSVNDVjY0UmVnaXN0ZXJzOjp6
ZXJvLCBJbW06Oko8OD4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmZzZ25qSW5zbjw2ND4oZGVz
dCwgZmFsc2VTcmMsIGZhbHNlU3JjKTsKKyAgICB9CisKKyAgICB2b2lkIG1vdmVEb3VibGVDb25k
aXRpb25hbGx5MzIoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxocywgVHJ1
c3RlZEltbTMyIGltbSwgRlBSZWdpc3RlcklEIHRydWVTcmMsIEZQUmVnaXN0ZXJJRCBmYWxzZVNy
YywgRlBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBhdXRvIHRlbXAgPSB0ZW1wczxE
YXRhLCBNZW1vcnk+KCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnNpZ25FeHRlbmQ8MzI+KHRlbXAu
ZGF0YSgpLCBsaHMpOworICAgICAgICBsb2FkSW1tZWRpYXRlKGltbSwgdGVtcC5tZW1vcnkoKSk7
CisKKyAgICAgICAgYnJhbmNoRm9yTW92ZUNvbmRpdGlvbmFsbHkoaW52ZXJ0KGNvbmQpLCB0ZW1w
LmRhdGEoKSwgdGVtcC5tZW1vcnkoKSwgSW1tOjpCPDEyPigpKTsKKyAgICAgICAgbV9hc3NlbWJs
ZXIuZnNnbmpJbnNuPDY0PihkZXN0LCB0cnVlU3JjLCB0cnVlU3JjKTsKKyAgICAgICAgbV9hc3Nl
bWJsZXIuamFsSW5zbihSSVNDVjY0UmVnaXN0ZXJzOjp6ZXJvLCBJbW06Oko8OD4oKSk7CisgICAg
ICAgIG1fYXNzZW1ibGVyLmZzZ25qSW5zbjw2ND4oZGVzdCwgZmFsc2VTcmMsIGZhbHNlU3JjKTsK
KyAgICB9CisKKyAgICB2b2lkIG1vdmVEb3VibGVDb25kaXRpb25hbGx5NjQoUmVsYXRpb25hbENv
bmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxocywgUmVnaXN0ZXJJRCByaHMsIEZQUmVnaXN0ZXJJ
RCB0cnVlU3JjLCBGUFJlZ2lzdGVySUQgZmFsc2VTcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQorICAg
IHsKKyAgICAgICAgYnJhbmNoRm9yTW92ZUNvbmRpdGlvbmFsbHkoaW52ZXJ0KGNvbmQpLCBsaHMs
IHJocywgSW1tOjpCPDEyPigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZnNnbmpJbnNuPDY0Pihk
ZXN0LCB0cnVlU3JjLCB0cnVlU3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuamFsSW5zbihSSVND
VjY0UmVnaXN0ZXJzOjp6ZXJvLCBJbW06Oko8OD4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmZz
Z25qSW5zbjw2ND4oZGVzdCwgZmFsc2VTcmMsIGZhbHNlU3JjKTsKKyAgICB9CisKKyAgICB2b2lk
IG1vdmVEb3VibGVDb25kaXRpb25hbGx5NjQoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdp
c3RlcklEIGxocywgVHJ1c3RlZEltbTMyIGltbSwgRlBSZWdpc3RlcklEIHRydWVTcmMsIEZQUmVn
aXN0ZXJJRCBmYWxzZVNyYywgRlBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBhdXRv
IHRlbXAgPSB0ZW1wczxEYXRhPigpOworICAgICAgICBsb2FkSW1tZWRpYXRlKGltbSwgdGVtcC5k
YXRhKCkpOworICAgICAgICBicmFuY2hGb3JNb3ZlQ29uZGl0aW9uYWxseShpbnZlcnQoY29uZCks
IGxocywgdGVtcC5kYXRhKCksIEltbTo6QjwxMj4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmZz
Z25qSW5zbjw2ND4oZGVzdCwgdHJ1ZVNyYywgdHJ1ZVNyYyk7CisgICAgICAgIG1fYXNzZW1ibGVy
LmphbEluc24oUklTQ1Y2NFJlZ2lzdGVyczo6emVybywgSW1tOjpKPDg+KCkpOworICAgICAgICBt
X2Fzc2VtYmxlci5mc2duakluc248NjQ+KGRlc3QsIGZhbHNlU3JjLCBmYWxzZVNyYyk7CisgICAg
fQorCisgICAgdm9pZCBtb3ZlRG91YmxlQ29uZGl0aW9uYWxseUZsb2F0KERvdWJsZUNvbmRpdGlv
biBjb25kLCBGUFJlZ2lzdGVySUQgbGhzLCBGUFJlZ2lzdGVySUQgcmhzLCBGUFJlZ2lzdGVySUQg
dHJ1ZVNyYywgRlBSZWdpc3RlcklEIGZhbHNlU3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7
CisgICAgICAgIEp1bXAgaW52Y29uZEJyYW5jaCA9IGJyYW5jaEZQPDMyLCB0cnVlPihjb25kLCBs
aHMsIHJocyk7CisgICAgICAgIG1fYXNzZW1ibGVyLmZzZ25qSW5zbjw2ND4oZGVzdCwgdHJ1ZVNy
YywgdHJ1ZVNyYyk7CisgICAgICAgIEp1bXAgZW5kID0ganVtcCgpOworICAgICAgICBpbnZjb25k
QnJhbmNoLmxpbmsodGhpcyk7CisgICAgICAgIG1fYXNzZW1ibGVyLmZzZ25qSW5zbjw2ND4oZGVz
dCwgZmFsc2VTcmMsIGZhbHNlU3JjKTsKKyAgICAgICAgZW5kLmxpbmsodGhpcyk7CisgICAgfQor
CisgICAgdm9pZCBtb3ZlRG91YmxlQ29uZGl0aW9uYWxseURvdWJsZShEb3VibGVDb25kaXRpb24g
Y29uZCwgRlBSZWdpc3RlcklEIGxocywgRlBSZWdpc3RlcklEIHJocywgRlBSZWdpc3RlcklEIHRy
dWVTcmMsIEZQUmVnaXN0ZXJJRCBmYWxzZVNyYywgRlBSZWdpc3RlcklEIGRlc3QpCisgICAgewor
ICAgICAgICBKdW1wIGludmNvbmRCcmFuY2ggPSBicmFuY2hGUDw2NCwgdHJ1ZT4oY29uZCwgbGhz
LCByaHMpOworICAgICAgICBtX2Fzc2VtYmxlci5mc2duakluc248NjQ+KGRlc3QsIHRydWVTcmMs
IHRydWVTcmMpOworICAgICAgICBKdW1wIGVuZCA9IGp1bXAoKTsKKyAgICAgICAgaW52Y29uZEJy
YW5jaC5saW5rKHRoaXMpOworICAgICAgICBtX2Fzc2VtYmxlci5mc2duakluc248NjQ+KGRlc3Qs
IGZhbHNlU3JjLCBmYWxzZVNyYyk7CisgICAgICAgIGVuZC5saW5rKHRoaXMpOworICAgIH0KKwor
ICAgIHZvaWQgbW92ZURvdWJsZUNvbmRpdGlvbmFsbHlUZXN0MzIoUmVzdWx0Q29uZGl0aW9uIGNv
bmQsIFJlZ2lzdGVySUQgdmFsdWUsIFJlZ2lzdGVySUQgbWFzaywgRlBSZWdpc3RlcklEIHRydWVT
cmMsIEZQUmVnaXN0ZXJJRCBmYWxzZVNyYywgRlBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAg
ICAgICBhdXRvIHRlbXAgPSB0ZW1wczxEYXRhPigpOworICAgICAgICBtX2Fzc2VtYmxlci5hbmRJ
bnNuKHRlbXAuZGF0YSgpLCB2YWx1ZSwgbWFzayk7CisgICAgICAgIG1fYXNzZW1ibGVyLnNpZ25F
eHRlbmQ8MzI+KHRlbXAuZGF0YSgpKTsKKyAgICAgICAgdGVzdEZpbmFsaXplKGNvbmQsIHRlbXAu
ZGF0YSgpLCB0ZW1wLmRhdGEoKSk7CisKKyAgICAgICAgbV9hc3NlbWJsZXIuYmVxSW5zbih0ZW1w
LmRhdGEoKSwgUklTQ1Y2NFJlZ2lzdGVyczo6emVybywgSW1tOjpCPDEyPigpKTsKKyAgICAgICAg
bV9hc3NlbWJsZXIuZnNnbmpJbnNuPDY0PihkZXN0LCB0cnVlU3JjLCB0cnVlU3JjKTsKKyAgICAg
ICAgbV9hc3NlbWJsZXIuamFsSW5zbihSSVNDVjY0UmVnaXN0ZXJzOjp6ZXJvLCBJbW06Oko8OD4o
KSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmZzZ25qSW5zbjw2ND4oZGVzdCwgZmFsc2VTcmMsIGZh
bHNlU3JjKTsKKyAgICB9CisKKyAgICB2b2lkIG1vdmVEb3VibGVDb25kaXRpb25hbGx5VGVzdDMy
KFJlc3VsdENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIHZhbHVlLCBUcnVzdGVkSW1tMzIgbWFz
aywgRlBSZWdpc3RlcklEIHRydWVTcmMsIEZQUmVnaXN0ZXJJRCBmYWxzZVNyYywgRlBSZWdpc3Rl
cklEIGRlc3QpCisgICAgeworICAgICAgICBhdXRvIHRlbXAgPSB0ZW1wczxEYXRhPigpOworICAg
ICAgICBsb2FkSW1tZWRpYXRlKG1hc2ssIHRlbXAuZGF0YSgpKTsKKyAgICAgICAgbV9hc3NlbWJs
ZXIuYW5kSW5zbih0ZW1wLmRhdGEoKSwgdmFsdWUsIHRlbXAuZGF0YSgpKTsKKyAgICAgICAgbV9h
c3NlbWJsZXIuc2lnbkV4dGVuZDwzMj4odGVtcC5kYXRhKCkpOworICAgICAgICB0ZXN0RmluYWxp
emUoY29uZCwgdGVtcC5kYXRhKCksIHRlbXAuZGF0YSgpKTsKKworICAgICAgICBtX2Fzc2VtYmxl
ci5iZXFJbnNuKHRlbXAuZGF0YSgpLCBSSVNDVjY0UmVnaXN0ZXJzOjp6ZXJvLCBJbW06OkI8MTI+
KCkpOworICAgICAgICBtX2Fzc2VtYmxlci5mc2duakluc248NjQ+KGRlc3QsIHRydWVTcmMsIHRy
dWVTcmMpOworICAgICAgICBtX2Fzc2VtYmxlci5qYWxJbnNuKFJJU0NWNjRSZWdpc3RlcnM6Onpl
cm8sIEltbTo6Sjw4PigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZnNnbmpJbnNuPDY0PihkZXN0
LCBmYWxzZVNyYywgZmFsc2VTcmMpOworICAgIH0KKworICAgIHZvaWQgbW92ZURvdWJsZUNvbmRp
dGlvbmFsbHlUZXN0NjQoUmVzdWx0Q29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgdmFsdWUsIFJl
Z2lzdGVySUQgbWFzaywgRlBSZWdpc3RlcklEIHRydWVTcmMsIEZQUmVnaXN0ZXJJRCBmYWxzZVNy
YywgRlBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBhdXRvIHRlbXAgPSB0ZW1wczxE
YXRhPigpOworICAgICAgICBtX2Fzc2VtYmxlci5hbmRJbnNuKHRlbXAuZGF0YSgpLCB2YWx1ZSwg
bWFzayk7CisgICAgICAgIHRlc3RGaW5hbGl6ZShjb25kLCB0ZW1wLmRhdGEoKSwgdGVtcC5kYXRh
KCkpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmJlcUluc24odGVtcC5kYXRhKCksIFJJU0NWNjRS
ZWdpc3RlcnM6Onplcm8sIEltbTo6QjwxMj4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmZzZ25q
SW5zbjw2ND4oZGVzdCwgdHJ1ZVNyYywgdHJ1ZVNyYyk7CisgICAgICAgIG1fYXNzZW1ibGVyLmph
bEluc24oUklTQ1Y2NFJlZ2lzdGVyczo6emVybywgSW1tOjpKPDg+KCkpOworICAgICAgICBtX2Fz
c2VtYmxlci5mc2duakluc248NjQ+KGRlc3QsIGZhbHNlU3JjLCBmYWxzZVNyYyk7CisgICAgfQor
CisgICAgdm9pZCBtb3ZlRG91YmxlQ29uZGl0aW9uYWxseVRlc3Q2NChSZXN1bHRDb25kaXRpb24g
Y29uZCwgUmVnaXN0ZXJJRCB2YWx1ZSwgVHJ1c3RlZEltbTMyIG1hc2ssIEZQUmVnaXN0ZXJJRCB0
cnVlU3JjLCBGUFJlZ2lzdGVySUQgZmFsc2VTcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsK
KyAgICAgICAgYXV0byB0ZW1wID0gdGVtcHM8RGF0YT4oKTsKKyAgICAgICAgbG9hZEltbWVkaWF0
ZShtYXNrLCB0ZW1wLmRhdGEoKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFuZEluc24odGVtcC5k
YXRhKCksIHZhbHVlLCB0ZW1wLmRhdGEoKSk7CisgICAgICAgIHRlc3RGaW5hbGl6ZShjb25kLCB0
ZW1wLmRhdGEoKSwgdGVtcC5kYXRhKCkpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmJlcUluc24o
dGVtcC5kYXRhKCksIFJJU0NWNjRSZWdpc3RlcnM6Onplcm8sIEltbTo6QjwxMj4oKSk7CisgICAg
ICAgIG1fYXNzZW1ibGVyLmZzZ25qSW5zbjw2ND4oZGVzdCwgdHJ1ZVNyYywgdHJ1ZVNyYyk7Cisg
ICAgICAgIG1fYXNzZW1ibGVyLmphbEluc24oUklTQ1Y2NFJlZ2lzdGVyczo6emVybywgSW1tOjpK
PDg+KCkpOworICAgICAgICBtX2Fzc2VtYmxlci5mc2duakluc248NjQ+KGRlc3QsIGZhbHNlU3Jj
LCBmYWxzZVNyYyk7CisgICAgfQogCiBwcml2YXRlOgogICAgIGVudW0gY2xhc3MgQXJpdGhtZXRp
Y09wZXJhdGlvbiB7CkBAIC0zNzM0LDYgKzQwMDAsMzQgQEAgcHJpdmF0ZToKICAgICAgICAgfQog
ICAgIH0KIAorICAgIHZvaWQgYnJhbmNoRm9yTW92ZUNvbmRpdGlvbmFsbHkoUmVsYXRpb25hbENv
bmRpdGlvbiBjb25kaXRpb24sIFJlZ2lzdGVySUQgbGhzLCBSZWdpc3RlcklEIHJocywgUklTQ1Y2
NEFzc2VtYmxlcjo6QkltbWVkaWF0ZSBvZmZzZXQpCisgICAgeworICAgICAgICBzd2l0Y2ggKGNv
bmRpdGlvbikgeworICAgICAgICBjYXNlIEVxdWFsOgorICAgICAgICAgICAgcmV0dXJuIG1fYXNz
ZW1ibGVyLmJlcUluc24obGhzLCByaHMsIG9mZnNldCk7CisgICAgICAgIGNhc2UgTm90RXF1YWw6
CisgICAgICAgICAgICByZXR1cm4gbV9hc3NlbWJsZXIuYm5lSW5zbihsaHMsIHJocywgb2Zmc2V0
KTsKKyAgICAgICAgY2FzZSBBYm92ZToKKyAgICAgICAgICAgIHJldHVybiBtX2Fzc2VtYmxlci5i
bHR1SW5zbihyaHMsIGxocywgb2Zmc2V0KTsKKyAgICAgICAgY2FzZSBBYm92ZU9yRXF1YWw6Cisg
ICAgICAgICAgICByZXR1cm4gbV9hc3NlbWJsZXIuYmdldUluc24obGhzLCByaHMsIG9mZnNldCk7
CisgICAgICAgIGNhc2UgQmVsb3c6CisgICAgICAgICAgICByZXR1cm4gbV9hc3NlbWJsZXIuYmx0
dUluc24obGhzLCByaHMsIG9mZnNldCk7CisgICAgICAgIGNhc2UgQmVsb3dPckVxdWFsOgorICAg
ICAgICAgICAgcmV0dXJuIG1fYXNzZW1ibGVyLmJnZXVJbnNuKHJocywgbGhzLCBvZmZzZXQpOwor
ICAgICAgICBjYXNlIEdyZWF0ZXJUaGFuOgorICAgICAgICAgICAgcmV0dXJuIG1fYXNzZW1ibGVy
LmJsdEluc24ocmhzLCBsaHMsIG9mZnNldCk7CisgICAgICAgIGNhc2UgR3JlYXRlclRoYW5PckVx
dWFsOgorICAgICAgICAgICAgcmV0dXJuIG1fYXNzZW1ibGVyLmJnZUluc24obGhzLCByaHMsIG9m
ZnNldCk7CisgICAgICAgIGNhc2UgTGVzc1RoYW46CisgICAgICAgICAgICByZXR1cm4gbV9hc3Nl
bWJsZXIuYmx0SW5zbihsaHMsIHJocywgb2Zmc2V0KTsKKyAgICAgICAgY2FzZSBMZXNzVGhhbk9y
RXF1YWw6CisgICAgICAgICAgICByZXR1cm4gbV9hc3NlbWJsZXIuYmdlSW5zbihyaHMsIGxocywg
b2Zmc2V0KTsKKyAgICAgICAgfQorCisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgfQorCiAgICAgdm9pZCBjb21wYXJlRmluYWxpemUoUmVsYXRpb25hbENvbmRpdGlv
biBjb25kLCBSZWdpc3RlcklEIGxocywgUmVnaXN0ZXJJRCByaHMsIFJlZ2lzdGVySUQgZGVzdCkK
ICAgICB7CiAgICAgICAgIHN3aXRjaCAoY29uZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFzbS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL3Rlc3RtYXNtLmNwcAppbmRleCA0ZGU0N2Y4NDVmZjA0ZjQwY2JiNmMwM2ZiN2E1
MzdiNzJhNmFkZDhmLi4zZjQwOWJlMDk2NzdhZjg3NDU4YjNkOGJmY2U5YTg3NzhiYThkMzUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcApAQCAtMzAx
MSw3ICszMDExLDcgQEAgdm9pZCB0ZXN0Q29tcGFyZUZsb2F0KE1hY3JvQXNzZW1ibGVyOjpEb3Vi
bGVDb25kaXRpb24gY29uZGl0aW9uKQogfQogI2VuZGlmIC8vIENQVShYODYpIHx8IENQVShYODZf
NjQpIHx8IENQVShBUk02NCkKIAotI2lmIENQVShYODZfNjQpIHx8IENQVShBUk02NCkKKyNpZiBD
UFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpIHx8IENQVShSSVNDVjY0KQogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBTZWxlY3Rpb25UeXBlPgogdm9pZCB0ZXN0TW92ZUNvbmRpdGlvbmFs
bHlGbG9hdGluZ1BvaW50KE1hY3JvQXNzZW1ibGVyOjpEb3VibGVDb25kaXRpb24gY29uZGl0aW9u
LCBjb25zdCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SlNFbnRyeVB0clRhZz4mIHRlc3RDb2RlLCBU
JiBhcmcxLCBUJiBhcmcyLCBjb25zdCBWZWN0b3I8VD4gb3BlcmFuZHMsIFNlbGVjdGlvblR5cGUg
c2VsZWN0aW9uQSwgU2VsZWN0aW9uVHlwZSBzZWxlY3Rpb25CKQpAQCAtMzc3Miw3ICszNzcyLDcg
QEAgdm9pZCB0ZXN0TW92ZURvdWJsZUNvbmRpdGlvbmFsbHlGbG9hdFNhbWVBcmcoTWFjcm9Bc3Nl
bWJsZXI6OkRvdWJsZUNvbmRpdGlvbiBjb24KICAgICB0ZXN0TW92ZUNvbmRpdGlvbmFsbHlGbG9h
dGluZ1BvaW50U2FtZUFyZyhjb25kaXRpb24sIHRlc3RDb2RlLCBhcmcxLCBmbG9hdE9wZXJhbmRz
KCksIHNlbGVjdGlvbkEsIHNlbGVjdGlvbkIpOwogfQogCi0jZW5kaWYgLy8gQ1BVKFg4Nl82NCkg
fHwgQ1BVKEFSTTY0KQorI2VuZGlmIC8vIENQVShYODZfNjQpIHx8IENQVShBUk02NCkgfHwgQ1BV
KFJJU0NWNjQpCiAKICNpZiBDUFUoQVJNNjRFKQogCkBAIC00NzU0LDcgKzQ3NTQsNyBAQCB2b2lk
IHRlc3RQcm9iZU1vZGlmaWVzU3RhY2tQb2ludGVyKFdURjo6RnVuY3Rpb248dm9pZCooUHJvYmU6
OkNvbnRleHQmKT4gY29tcHV0ZQogICAgIENQVVN0YXRlIG9yaWdpbmFsU3RhdGU7CiAgICAgdm9p
ZCogb3JpZ2luYWxTUCB7IG51bGxwdHIgfTsKICAgICB2b2lkKiBtb2RpZmllZFNQIHsgbnVsbHB0
ciB9OwotI2lmICEoQ1BVKE1JUFMpKQorI2lmICEoQ1BVKE1JUFMpIHx8IENQVShSSVNDVjY0KSkK
ICAgICB1aW50cHRyX3QgbW9kaWZpZWRGbGFncyB7IDAgfTsKICNlbmRpZgogICAgIApAQCAtNDkz
NSw3ICs0OTM1LDcgQEAgdm9pZCB0ZXN0UHJvYmVNb2RpZmllc1N0YWNrVmFsdWVzKCkKICAgICBD
UFVTdGF0ZSBvcmlnaW5hbFN0YXRlOwogICAgIHZvaWQqIG9yaWdpbmFsU1AgeyBudWxscHRyIH07
CiAgICAgdm9pZCogbmV3U1AgeyBudWxscHRyIH07Ci0jaWYgIUNQVShNSVBTKQorI2lmICEoQ1BV
KE1JUFMpIHx8IENQVShSSVNDVjY0KSkKICAgICB1aW50cHRyX3QgbW9kaWZpZWRGbGFncyB7IDAg
fTsKICNlbmRpZgogICAgIHNpemVfdCBudW1iZXJPZkV4dHJhRW50cmllc1RvV3JpdGUgeyAxMCB9
OyAvLyBBUk02NCByZXF1aXJlcyB0aGF0IHRoaXMgYmUgMiB3b3JkIGFsaWduZWQuCkBAIC01OTAz
LDcgKzU5MDMsNyBAQCB2b2lkIHJ1bihjb25zdCBjaGFyKiBmaWx0ZXIpIFdURl9JR05PUkVTX1RI
UkVBRF9TQUZFVFlfQU5BTFlTSVMKICAgICBGT1JfRUFDSF9ET1VCTEVfQ09ORElUSU9OX1JVTih0
ZXN0Q29tcGFyZUZsb2F0KTsKICNlbmRpZgogCi0jaWYgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0
KQorI2lmIENQVShYODZfNjQpIHx8IENQVShBUk02NCkgfHwgQ1BVKFJJU0NWNjQpCiAgICAgLy8g
Q29tcGFyaW5nIDIgZGlmZmVyZW50IHJlZ2lzdGVycy4KICAgICBGT1JfRUFDSF9ET1VCTEVfQ09O
RElUSU9OX1JVTih0ZXN0TW92ZUNvbmRpdGlvbmFsbHlEb3VibGUyKTsKICAgICBGT1JfRUFDSF9E
T1VCTEVfQ09ORElUSU9OX1JVTih0ZXN0TW92ZUNvbmRpdGlvbmFsbHlEb3VibGUzKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>