<?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>233256</bug_id>
          
          <creation_ts>2021-11-17 07:58:14 -0800</creation_ts>
          <short_desc>[RISCV64] Populate RISCV64Assembler with instruction-generation methods</short_desc>
          <delta_ts>2022-03-11 05:33:46 -0800</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>1815937</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2021-11-17 07:58:14 -0800</bug_when>
    <thetext>[RISCV64] Populate RISCV64Assembler with instruction-generation methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815942</commentid>
    <comment_count>1</comment_count>
      <attachid>444523</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2021-11-17 08:09:48 -0800</bug_when>
    <thetext>Created attachment 444523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817648</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-24 07:59:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/85728741&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818203</commentid>
    <comment_count>3</comment_count>
      <attachid>444523</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-11-29 07:19:06 -0800</bug_when>
    <thetext>Comment on attachment 444523
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818210</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-29 07:34:28 -0800</bug_when>
    <thetext>Committed r286212 (244594@main): &lt;https://commits.webkit.org/244594@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444523.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444523</attachid>
            <date>2021-11-17 08:09:48 -0800</date>
            <delta_ts>2021-11-29 07:34:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233256-20211117170947.patch</filename>
            <type>text/plain</type>
            <size>30591</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MWU4ZjJhMTY2MGE0NDU5M2E2Njk0Y2JkNjk0MjU5YjY2MDk0ZjUzLi43Mzc1ZDAyZTg3ZmMwOWU4
NDJkZjEwMzIzZjQ4ZjBlZTM1NThjZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNDUgQEAKKzIwMjEtMTEtMTcgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtSSVNDVjY0XSBQb3B1bGF0ZSBSSVNDVjY0QXNzZW1ibGVyIHdpdGgg
aW5zdHJ1Y3Rpb24tZ2VuZXJhdGlvbiBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTcHJpbmtsZSBSSVNDVjY0QXNzZW1ibGVyIGNsYXNzIHdp
dGggaGVscGVyIG1ldGhvZHMgZm9yIGdlbmVyYXRpbmcgdGhlCisgICAgICAgIGRlc2lyZWQgaW5z
dHJ1Y3Rpb24gdmFsdWVzLgorCisgICAgICAgIEltbWVkaWF0ZSB0eXBlcyBmcm9tIHRoZSBSSVND
VjY0SW5zdHJ1Y3Rpb25zIG5hbWVzcGFjZSBhcmUgaW50cm9kdWNlZAorICAgICAgICBpbnRvIHRo
ZSBjbGFzcyBmb3IgZWFzaWVyIHVzYWdlIGhlcmUgYW5kIGluIHRoZSBNYWNyb0Fzc2VtYmxlclJJ
U0NWNjQKKyAgICAgICAgY2xhc3MuIEluc3RydWN0aW9uLWdlbmVyYXRpbmcgbWV0aG9kcyByb3Vn
aGx5IG1hdGNoIHRoZSBkaWZmZXJlbnQKKyAgICAgICAgaW5zdHJ1Y3Rpb24gdHlwZXMgaW4gdGhl
IFJJU0NWNjRJbnN0cnVjdGlvbnMgbmFtZXNwYWNlLgorCisgICAgICAgIEEgZmV3IG9wdGltaXph
dGlvbnMgYXJlIGRvbmUgYXJvdW5kIGZsb2F0aW5nLXBvaW50IGluc3RydWN0aW9ucy4gV2UgY2Fu
CisgICAgICAgIHVzZSBvbmUgYmFzZSBtZXRob2Qgd2hpY2ggZXhwZWN0cyB0aGUgZGVzaXJlZCBG
UCBzaXplIGFzIGEgdGVtcGxhdGUKKyAgICAgICAgcGFyYW1ldGVyLCBhbmQgdGhlIGFwcHJvcHJp
YXRlIFJJU0NWNjRJbnN0cnVjdGlvbnMgdHlwZSBjYW4gdGhlbiBiZQorICAgICAgICBzZWxlY3Rl
ZCBiYXNlZCBvbiB0aGF0IHNpemUgdmFsdWUuIERpZmZlcmVudCBjb21iaW5hdGlvbnMgZm9yIEZQ
IG1vdmUKKyAgICAgICAgYW5kIGNvbnZlcnNpb24gaW5zdHJ1Y3Rpb25zIGFyZSBhbHNvIGdyb3Vw
ZWQgYmVoaW5kIGEgc2luZ2xlIG1ldGhvZCwKKyAgICAgICAgd2l0aCB0aG9yb3VnaCBjb21waWxl
LXRpbWUgdmFsaWRhdGlvbiBkb25lIHRvIHByZXZlbnQgZ2VuZXJhdGluZworICAgICAgICBpbnZh
bGlkIGluc3RydWN0aW9ucy4KKworICAgICAgICBBIGZldyBoZWxwZXIgbWV0aG9kcyBpbnRlbmRl
ZCBmb3IgbWFza2luZywgc2lnbi1leHRlbnNpb24gYW5kCisgICAgICAgIHplcm8tZXh0ZW5zaW9u
IGFyZSBhbHNvIGFkZGVkLiBUaGUgQ29uZGl0aW9uIGVudW0gaXMgZml4ZWQgdG8gbGlzdCBvbmx5
CisgICAgICAgIFJJU0NWLXZpYWJsZSBjb25kaXRpb25zLCB3aXRoIHRoZSB2YWx1ZXMgb3JkZXJl
ZCBzbyB0aGF0IGEgc2ltcGxlCisgICAgICAgIFhPUi1ieS1vbmUgb2YgYSBnaXZlbiB2YWx1ZSB3
aWxsIHByb2R1Y2UgdGhlIHZhbHVlIG9mIHRoZSBpbnZlcnRlZAorICAgICAgICBjb25kaXRpb24u
CisKKyAgICAgICAgKiBhc3NlbWJsZXIvUklTQ1Y2NEFzc2VtYmxlci5oOgorICAgICAgICAoSlND
OjpSSVNDVjY0QXNzZW1ibGVyOjppbnZlcnQpOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1i
bGVyOjpsdWlJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6YXVpcGNJbnNu
KToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6amFsSW5zbik6CisgICAgICAgIChK
U0M6OlJJU0NWNjRBc3NlbWJsZXI6OmphbHJJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFz
c2VtYmxlcjo6YmVxSW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmJuZUlu
c24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpibHRJbnNuKToKKyAgICAgICAg
KEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6YmdlSW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRB
c3NlbWJsZXI6OmJsdHVJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6Ymdl
dUluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpsYkluc24pOgorICAgICAg
ICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpsaEluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0
QXNzZW1ibGVyOjpsd0luc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpsZElu
c24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpsYnVJbnNuKToKKyAgICAgICAg
KEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6bGh1SW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRB
c3NlbWJsZXI6Omx3dUluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpzYklu
c24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpzaEluc24pOgorICAgICAgICAo
SlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpzd0luc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNz
ZW1ibGVyOjpzZEluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjphZGRpSW5z
bik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OnNsdGlJbnNuKToKKyAgICAgICAg
KEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6c2x0aXVJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2
NEFzc2VtYmxlcjo6eG9yaUluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpv
cmlJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6YW5kaUluc24pOgorICAg
ICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpzbGxpSW5zbik6CisgICAgICAgIChKU0M6OlJJ
U0NWNjRBc3NlbWJsZXI6OnNybGlJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxl
cjo6c3JhaUluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjphZGRJbnNuKToK
KyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6c3ViSW5zbik6CisgICAgICAgIChKU0M6
OlJJU0NWNjRBc3NlbWJsZXI6OnNsbEluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1i
bGVyOjpzbHRJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6c2x0dUluc24p
OgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjp4b3JJbnNuKToKKyAgICAgICAgKEpT
Qzo6UklTQ1Y2NEFzc2VtYmxlcjo6c3JsSW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3Nl
bWJsZXI6OnNyYUluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpvckluc24p
OgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjphbmRJbnNuKToKKyAgICAgICAgKEpT
Qzo6UklTQ1Y2NEFzc2VtYmxlcjo6ZWNhbGxJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFz
c2VtYmxlcjo6ZWJyZWFrSW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmFk
ZGl3SW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OnNsbGl3SW5zbik6Cisg
ICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OnNybGl3SW5zbik6CisgICAgICAgIChKU0M6
OlJJU0NWNjRBc3NlbWJsZXI6OnNyYWl3SW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3Nl
bWJsZXI6OmFkZHdJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6c3Vid0lu
c24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpzbGx3SW5zbik6CisgICAgICAg
IChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OnNybHdJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2
NEFzc2VtYmxlcjo6c3Jhd0luc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpt
dWxJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6bXVsaEluc24pOgorICAg
ICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjptdWxoc3VJbnNuKToKKyAgICAgICAgKEpTQzo6
UklTQ1Y2NEFzc2VtYmxlcjo6bXVsaHVJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2Vt
Ymxlcjo6ZGl2SW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmRpdnVJbnNu
KToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6cmVtSW5zbik6CisgICAgICAgIChK
U0M6OlJJU0NWNjRBc3NlbWJsZXI6OnJlbXVJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFz
c2VtYmxlcjo6bXVsd0luc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpkaXZ3
SW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmRpdnV3SW5zbik6CisgICAg
ICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OnJlbXdJbnNuKToKKyAgICAgICAgKEpTQzo6UklT
Q1Y2NEFzc2VtYmxlcjo6cmVtdXdJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxl
cjo6Zmx3SW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmZsZEluc24pOgor
ICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpmc3dJbnNuKToKKyAgICAgICAgKEpTQzo6
UklTQ1Y2NEFzc2VtYmxlcjo6ZnNkSW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJs
ZXI6OmZtYWRkSW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmZtc3ViSW5z
bik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmZubXN1Ykluc24pOgorICAgICAg
ICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpmbm1hZGRJbnNuKToKKyAgICAgICAgKEpTQzo6UklT
Q1Y2NEFzc2VtYmxlcjo6ZmFkZEluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVy
Ojpmc3ViSW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmZtdWxJbnNuKToK
KyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6ZmRpdkluc24pOgorICAgICAgICAoSlND
OjpSSVNDVjY0QXNzZW1ibGVyOjpmc3FydEluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNz
ZW1ibGVyOjpmc2duakluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpmc2du
am5JbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6ZnNnbmp4SW5zbik6Cisg
ICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmZtaW5JbnNuKToKKyAgICAgICAgKEpTQzo6
UklTQ1Y2NEFzc2VtYmxlcjo6Zm1heEluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1i
bGVyOjpmZXFJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6Zmx0SW5zbik6
CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmZsZUluc24pOgorICAgICAgICAoSlND
OjpSSVNDVjY0QXNzZW1ibGVyOjpmY2xhc3NJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFz
c2VtYmxlcjo6ZmN2dEluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjpmbXZJ
bnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6ZmVuY2VJbnNuKToKKyAgICAg
ICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6bHJ3SW5zbik6CisgICAgICAgIChKU0M6OlJJU0NW
NjRBc3NlbWJsZXI6OnNjd0luc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjps
cmRJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6c2NkSW5zbik6CisgICAg
ICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmFtb3N3YXB3SW5zbik6CisgICAgICAgIChKU0M6
OlJJU0NWNjRBc3NlbWJsZXI6OmFtb2FkZHdJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFz
c2VtYmxlcjo6YW1veG9yd0luc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjph
bW9hbmR3SW5zbik6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJsZXI6OmFtb29yd0luc24p
OgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjphbW9zd2FwZEluc24pOgorICAgICAg
ICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjphbW9hZGRkSW5zbik6CisgICAgICAgIChKU0M6OlJJ
U0NWNjRBc3NlbWJsZXI6OmFtb3hvcmRJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2Vt
Ymxlcjo6YW1vYW5kZEluc24pOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjphbW9v
cmRJbnNuKToKKyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6bm9wKToKKyAgICAgICAg
KEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6bWFza1JlZ2lzdGVyKToKKyAgICAgICAgKEpTQzo6UklT
Q1Y2NEFzc2VtYmxlcjo6c2lnbkV4dGVuZCk6CisgICAgICAgIChKU0M6OlJJU0NWNjRBc3NlbWJs
ZXI6Onplcm9FeHRlbmQpOgorICAgICAgICAoSlNDOjpSSVNDVjY0QXNzZW1ibGVyOjppbnNuKToK
KyAgICAgICAgKEpTQzo6UklTQ1Y2NEFzc2VtYmxlcjo6aW5zbkZQKToKKyAgICAgICAgKEpTQzo6
UklTQ1Y2NEFzc2VtYmxlcjo6aXNWYWxpZFNoaWZ0QW1vdW50KToKKwogMjAyMS0xMS0xNSAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFVzZSBvcGVy
YXRpb24gcGF0aCB3aGVuIFB1dEJ5VmFsIGNoaWxkMSBpcyBub3Qgc3BlY3VsYXRlZCBhcyBhIENl
bGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUklTQ1Y2NEFz
c2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SSVNDVjY0QXNzZW1i
bGVyLmgKaW5kZXggZDA2Y2FmYzk4ZmRhNWFhMTE4ZDk1M2ZmMWZlNTRlYzczODJmNWZiNC4uYmUx
OTYzMmU5NWQzOGJiMmY5NWU5MGE4NTM3ODEzZDdlZjhhODFlZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SSVNDVjY0QXNzZW1ibGVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SSVNDVjY0QXNzZW1ibGVyLmgKQEAgLTE0OTcsMzAg
KzE0OTcsNiBAQCBwdWJsaWM6CiAKICAgICBBc3NlbWJsZXJCdWZmZXImIGJ1ZmZlcigpIHsgcmV0
dXJuIG1fYnVmZmVyOyB9CiAKLSAgICB0eXBlZGVmIGVudW0gewotICAgICAgICBDb25kaXRpb25F
USwKLSAgICAgICAgQ29uZGl0aW9uTkUsCi0gICAgICAgIENvbmRpdGlvbkhTLCBDb25kaXRpb25D
UyA9IENvbmRpdGlvbkhTLAotICAgICAgICBDb25kaXRpb25MTywgQ29uZGl0aW9uQ0MgPSBDb25k
aXRpb25MTywKLSAgICAgICAgQ29uZGl0aW9uTUksCi0gICAgICAgIENvbmRpdGlvblBMLAotICAg
ICAgICBDb25kaXRpb25WUywKLSAgICAgICAgQ29uZGl0aW9uVkMsCi0gICAgICAgIENvbmRpdGlv
bkhJLAotICAgICAgICBDb25kaXRpb25MUywKLSAgICAgICAgQ29uZGl0aW9uR0UsCi0gICAgICAg
IENvbmRpdGlvbkxULAotICAgICAgICBDb25kaXRpb25HVCwKLSAgICAgICAgQ29uZGl0aW9uTEUs
Ci0gICAgICAgIENvbmRpdGlvbkFMLAotICAgICAgICBDb25kaXRpb25JbnZhbGlkCi0gICAgfSBD
b25kaXRpb247Ci0KLSAgICBzdGF0aWMgQ29uZGl0aW9uIGludmVydChDb25kaXRpb24gY29uZCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxDb25kaXRpb24+KGNvbmQgXiAxKTsK
LSAgICB9Ci0KICAgICBzdGF0aWMgdm9pZCogZ2V0UmVsb2NhdGVkQWRkcmVzcyh2b2lkKiBjb2Rl
LCBBc3NlbWJsZXJMYWJlbCBsYWJlbCkKICAgICB7CiAgICAgICAgIEFTU0VSVChsYWJlbC5pc1Nl
dCgpKTsKQEAgLTE1NjcsNiArMTU0Myw0NzAgQEAgcHVibGljOgogICAgIHRlbXBsYXRlIDxDb3B5
RnVuY3Rpb24gY29weT4KICAgICBzdGF0aWMgdm9pZCBmaWxsTm9wcyh2b2lkKiwgc2l6ZV90KSB7
IH0KIAorICAgIHR5cGVkZWYgZW51bSB7CisgICAgICAgIENvbmRpdGlvbkVRLAorICAgICAgICBD
b25kaXRpb25ORSwKKyAgICAgICAgQ29uZGl0aW9uR1RVLAorICAgICAgICBDb25kaXRpb25MRVUs
CisgICAgICAgIENvbmRpdGlvbkdFVSwKKyAgICAgICAgQ29uZGl0aW9uTFRVLAorICAgICAgICBD
b25kaXRpb25HVCwKKyAgICAgICAgQ29uZGl0aW9uTEUsCisgICAgICAgIENvbmRpdGlvbkdFLAor
ICAgICAgICBDb25kaXRpb25MVCwKKyAgICB9IENvbmRpdGlvbjsKKworICAgIHN0YXRpYyBjb25z
dGV4cHIgQ29uZGl0aW9uIGludmVydChDb25kaXRpb24gY29uZCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxDb25kaXRpb24+KGNvbmQgXiAxKTsKKyAgICB9CisKKyAgICB0ZW1w
bGF0ZTx1bnNpZ25lZCBpbW1lZGlhdGVTaXplPiB1c2luZyBJbW1lZGlhdGVCYXNlID0gUklTQ1Y2
NEluc3RydWN0aW9uczo6SW1tZWRpYXRlQmFzZTxpbW1lZGlhdGVTaXplPjsKKyAgICB1c2luZyBJ
SW1tZWRpYXRlID0gUklTQ1Y2NEluc3RydWN0aW9uczo6SUltbWVkaWF0ZTsKKyAgICB1c2luZyBT
SW1tZWRpYXRlID0gUklTQ1Y2NEluc3RydWN0aW9uczo6U0ltbWVkaWF0ZTsKKyAgICB1c2luZyBC
SW1tZWRpYXRlID0gUklTQ1Y2NEluc3RydWN0aW9uczo6QkltbWVkaWF0ZTsKKyAgICB1c2luZyBV
SW1tZWRpYXRlID0gUklTQ1Y2NEluc3RydWN0aW9uczo6VUltbWVkaWF0ZTsKKyAgICB1c2luZyBK
SW1tZWRpYXRlID0gUklTQ1Y2NEluc3RydWN0aW9uczo6SkltbWVkaWF0ZTsKKworICAgIHZvaWQg
bHVpSW5zbihSZWdpc3RlcklEIHJkLCBVSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0
cnVjdGlvbnM6OkxVSTo6Y29uc3RydWN0KHJkLCBpbW0pKTsgfQorICAgIHZvaWQgYXVpcGNJbnNu
KFJlZ2lzdGVySUQgcmQsIFVJbW1lZGlhdGUgaW1tKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9u
czo6QVVJUEM6OmNvbnN0cnVjdChyZCwgaW1tKSk7IH0KKyAgICB2b2lkIGphbEluc24oUmVnaXN0
ZXJJRCByZCwgSkltbWVkaWF0ZSBpbW0pIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpKQUw6
OmNvbnN0cnVjdChyZCwgaW1tKSk7IH0KKyAgICB2b2lkIGphbHJJbnNuKFJlZ2lzdGVySUQgcmQs
IFJlZ2lzdGVySUQgcnMxLCBJSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlv
bnM6OkpBTFI6OmNvbnN0cnVjdChyZCwgcnMxLCBpbW0pKTsgfQorICAgIHZvaWQgYmVxSW5zbihS
ZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIsIEJJbW1lZGlhdGUgaW1tKSB7IGluc24oUklT
Q1Y2NEluc3RydWN0aW9uczo6QkVROjpjb25zdHJ1Y3QocnMxLCByczIsIGltbSkpOyB9CisgICAg
dm9pZCBibmVJbnNuKFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMiwgQkltbWVkaWF0ZSBp
bW0pIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpCTkU6OmNvbnN0cnVjdChyczEsIHJzMiwg
aW1tKSk7IH0KKyAgICB2b2lkIGJsdEluc24oUmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMy
LCBCSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkJMVDo6Y29uc3Ry
dWN0KHJzMSwgcnMyLCBpbW0pKTsgfQorICAgIHZvaWQgYmdlSW5zbihSZWdpc3RlcklEIHJzMSwg
UmVnaXN0ZXJJRCByczIsIEJJbW1lZGlhdGUgaW1tKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9u
czo6QkdFOjpjb25zdHJ1Y3QocnMxLCByczIsIGltbSkpOyB9CisgICAgdm9pZCBibHR1SW5zbihS
ZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIsIEJJbW1lZGlhdGUgaW1tKSB7IGluc24oUklT
Q1Y2NEluc3RydWN0aW9uczo6QkxUVTo6Y29uc3RydWN0KHJzMSwgcnMyLCBpbW0pKTsgfQorICAg
IHZvaWQgYmdldUluc24oUmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyLCBCSW1tZWRpYXRl
IGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkJHRVU6OmNvbnN0cnVjdChyczEsIHJz
MiwgaW1tKSk7IH0KKyAgICB2b2lkIGxiSW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJz
MSwgSUltbWVkaWF0ZSBpbW0pIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpMQjo6Y29uc3Ry
dWN0KHJkLCByczEsIGltbSkpOyB9CisgICAgdm9pZCBsaEluc24oUmVnaXN0ZXJJRCByZCwgUmVn
aXN0ZXJJRCByczEsIElJbW1lZGlhdGUgaW1tKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6
TEg6OmNvbnN0cnVjdChyZCwgcnMxLCBpbW0pKTsgfQorICAgIHZvaWQgbHdJbnNuKFJlZ2lzdGVy
SUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBJSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0
cnVjdGlvbnM6OkxXOjpjb25zdHJ1Y3QocmQsIHJzMSwgaW1tKSk7IH0KKyAgICB2b2lkIGxkSW5z
bihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgSUltbWVkaWF0ZSBpbW0pIHsgaW5zbihS
SVNDVjY0SW5zdHJ1Y3Rpb25zOjpMRDo6Y29uc3RydWN0KHJkLCByczEsIGltbSkpOyB9CisgICAg
dm9pZCBsYnVJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBJSW1tZWRpYXRlIGlt
bSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkxCVTo6Y29uc3RydWN0KHJkLCByczEsIGlt
bSkpOyB9CisgICAgdm9pZCBsaHVJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBJ
SW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkxIVTo6Y29uc3RydWN0
KHJkLCByczEsIGltbSkpOyB9CisgICAgdm9pZCBsd3VJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lz
dGVySUQgcnMxLCBJSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkxX
VTo6Y29uc3RydWN0KHJkLCByczEsIGltbSkpOyB9CisgICAgdm9pZCBzYkluc24oUmVnaXN0ZXJJ
RCByczEsIFJlZ2lzdGVySUQgcnMyLCBTSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0
cnVjdGlvbnM6OlNCOjpjb25zdHJ1Y3QocnMxLCByczIsIGltbSkpOyB9CisgICAgdm9pZCBzaElu
c24oUmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyLCBTSW1tZWRpYXRlIGltbSkgeyBpbnNu
KFJJU0NWNjRJbnN0cnVjdGlvbnM6OlNIOjpjb25zdHJ1Y3QocnMxLCByczIsIGltbSkpOyB9Cisg
ICAgdm9pZCBzd0luc24oUmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyLCBTSW1tZWRpYXRl
IGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlNXOjpjb25zdHJ1Y3QocnMxLCByczIs
IGltbSkpOyB9CisgICAgdm9pZCBzZEluc24oUmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMy
LCBTSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlNEOjpjb25zdHJ1
Y3QocnMxLCByczIsIGltbSkpOyB9CisgICAgdm9pZCBhZGRpSW5zbihSZWdpc3RlcklEIHJkLCBS
ZWdpc3RlcklEIHJzMSwgSUltbWVkaWF0ZSBpbW0pIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25z
OjpBRERJOjpjb25zdHJ1Y3QocmQsIHJzMSwgaW1tKSk7IH0KKyAgICB2b2lkIHNsdGlJbnNuKFJl
Z2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBJSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NW
NjRJbnN0cnVjdGlvbnM6OlNMVEk6OmNvbnN0cnVjdChyZCwgcnMxLCBpbW0pKTsgfQorICAgIHZv
aWQgc2x0aXVJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBJSW1tZWRpYXRlIGlt
bSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlNMVElVOjpjb25zdHJ1Y3QocmQsIHJzMSwg
aW1tKSk7IH0KKyAgICB2b2lkIHhvcmlJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMx
LCBJSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlhPUkk6OmNvbnN0
cnVjdChyZCwgcnMxLCBpbW0pKTsgfQorICAgIHZvaWQgb3JpSW5zbihSZWdpc3RlcklEIHJkLCBS
ZWdpc3RlcklEIHJzMSwgSUltbWVkaWF0ZSBpbW0pIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25z
OjpPUkk6OmNvbnN0cnVjdChyZCwgcnMxLCBpbW0pKTsgfQorICAgIHZvaWQgYW5kaUluc24oUmVn
aXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIElJbW1lZGlhdGUgaW1tKSB7IGluc24oUklTQ1Y2
NEluc3RydWN0aW9uczo6QU5ESTo6Y29uc3RydWN0KHJkLCByczEsIGltbSkpOyB9CisgICAgdm9p
ZCBzbGxpSW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgdWludDMyX3Qgc2hhbXQp
CisgICAgeworICAgICAgICBBU1NFUlQoaXNWYWxpZFNoaWZ0QW1vdW50PDY+KHNoYW10KSk7Cisg
ICAgICAgIGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6U0xMSTo6Y29uc3RydWN0KHJkLCByczEs
IElJbW1lZGlhdGUoKDBiMDAwMDAwIDw8IDYpIHwgc2hhbXQpKSk7CisgICAgfQorICAgIHZvaWQg
c3JsaUluc24oUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIHVpbnQzMl90IHNoYW10KQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmFsaWRTaGlmdEFtb3VudDw2PihzaGFtdCkpOworICAg
ICAgICBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlNSTEk6OmNvbnN0cnVjdChyZCwgcnMxLCBJ
SW1tZWRpYXRlKCgwYjAwMDAwMCA8PCA2KSB8IHNoYW10KSkpOworICAgIH0KKyAgICB2b2lkIHNy
YWlJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCB1aW50MzJfdCBzaGFtdCkKKyAg
ICB7CisgICAgICAgIEFTU0VSVChpc1ZhbGlkU2hpZnRBbW91bnQ8Nj4oc2hhbXQpKTsKKyAgICAg
ICAgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpTUkFJOjpjb25zdHJ1Y3QocmQsIHJzMSwgSUlt
bWVkaWF0ZSgoMGIwMTAwMDAgPDwgNikgfCBzaGFtdCkpKTsKKyAgICB9CisgICAgdm9pZCBhZGRJ
bnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMikgeyBpbnNu
KFJJU0NWNjRJbnN0cnVjdGlvbnM6OkFERDo6Y29uc3RydWN0KHJkLCByczEsIHJzMikpOyB9Cisg
ICAgdm9pZCBzdWJJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklE
IHJzMikgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlNVQjo6Y29uc3RydWN0KHJkLCByczEs
IHJzMikpOyB9CisgICAgdm9pZCBzbGxJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMx
LCBSZWdpc3RlcklEIHJzMikgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlNMTDo6Y29uc3Ry
dWN0KHJkLCByczEsIHJzMikpOyB9CisgICAgdm9pZCBzbHRJbnNuKFJlZ2lzdGVySUQgcmQsIFJl
Z2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMikgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6
OlNMVDo6Y29uc3RydWN0KHJkLCByczEsIHJzMikpOyB9CisgICAgdm9pZCBzbHR1SW5zbihSZWdp
c3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIpIHsgaW5zbihSSVNDVjY0
SW5zdHJ1Y3Rpb25zOjpTTFRVOjpjb25zdHJ1Y3QocmQsIHJzMSwgcnMyKSk7IH0KKyAgICB2b2lk
IHhvckluc24oUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyKSB7
IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6WE9SOjpjb25zdHJ1Y3QocmQsIHJzMSwgcnMyKSk7
IH0KKyAgICB2b2lkIHNybEluc24oUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIFJlZ2lz
dGVySUQgcnMyKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6U1JMOjpjb25zdHJ1Y3QocmQs
IHJzMSwgcnMyKSk7IH0KKyAgICB2b2lkIHNyYUluc24oUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJ
RCByczEsIFJlZ2lzdGVySUQgcnMyKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6U1JBOjpj
b25zdHJ1Y3QocmQsIHJzMSwgcnMyKSk7IH0KKyAgICB2b2lkIG9ySW5zbihSZWdpc3RlcklEIHJk
LCBSZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIpIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rp
b25zOjpPUjo6Y29uc3RydWN0KHJkLCByczEsIHJzMikpOyB9CisgICAgdm9pZCBhbmRJbnNuKFJl
Z2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMikgeyBpbnNuKFJJU0NW
NjRJbnN0cnVjdGlvbnM6OkFORDo6Y29uc3RydWN0KHJkLCByczEsIHJzMikpOyB9CisgICAgdm9p
ZCBlY2FsbEluc24oKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6RUNBTEw6OmNvbnN0cnVj
dChSZWdpc3RlcklEOjp6ZXJvLCBSZWdpc3RlcklEOjp6ZXJvLCBJSW1tZWRpYXRlOjp2PElJbW1l
ZGlhdGUsIDA+KCkpKTsgfQorICAgIHZvaWQgZWJyZWFrSW5zbigpIHsgaW5zbihSSVNDVjY0SW5z
dHJ1Y3Rpb25zOjpFQlJFQUs6OmNvbnN0cnVjdChSZWdpc3RlcklEOjp6ZXJvLCBSZWdpc3RlcklE
Ojp6ZXJvLCBJSW1tZWRpYXRlOjp2PElJbW1lZGlhdGUsIDE+KCkpKTsgfQorICAgIHZvaWQgYWRk
aXdJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBJSW1tZWRpYXRlIGltbSkgeyBp
bnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkFERElXOjpjb25zdHJ1Y3QocmQsIHJzMSwgaW1tKSk7
IH0KKyAgICB2b2lkIHNsbGl3SW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgdWlu
dDMyX3Qgc2hhbXQpCisgICAgeworICAgICAgICBBU1NFUlQoaXNWYWxpZFNoaWZ0QW1vdW50PDU+
KHNoYW10KSk7CisgICAgICAgIGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6U0xMSVc6OmNvbnN0
cnVjdChyZCwgcnMxLCBJSW1tZWRpYXRlKCgwYjAwMDAwMDAgPDwgNSkgfCBzaGFtdCkpKTsKKyAg
ICB9CisgICAgdm9pZCBzcmxpd0luc24oUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIHVp
bnQzMl90IHNoYW10KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzVmFsaWRTaGlmdEFtb3VudDw1
PihzaGFtdCkpOworICAgICAgICBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlNSTElXOjpjb25z
dHJ1Y3QocmQsIHJzMSwgSUltbWVkaWF0ZSgoMGIwMDAwMDAwIDw8IDUpIHwgc2hhbXQpKSk7Cisg
ICAgfQorICAgIHZvaWQgc3JhaXdJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCB1
aW50MzJfdCBzaGFtdCkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc1ZhbGlkU2hpZnRBbW91bnQ8
NT4oc2hhbXQpKTsKKyAgICAgICAgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpTUkFJVzo6Y29u
c3RydWN0KHJkLCByczEsIElJbW1lZGlhdGUoKDBiMDEwMDAwMCA8PCA1KSB8IHNoYW10KSkpOwor
ICAgIH0KKyAgICB2b2lkIGFkZHdJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBS
ZWdpc3RlcklEIHJzMikgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkFERFc6OmNvbnN0cnVj
dChyZCwgcnMxLCByczIpKTsgfQorICAgIHZvaWQgc3Vid0luc24oUmVnaXN0ZXJJRCByZCwgUmVn
aXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6
U1VCVzo6Y29uc3RydWN0KHJkLCByczEsIHJzMikpOyB9CisgICAgdm9pZCBzbGx3SW5zbihSZWdp
c3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIpIHsgaW5zbihSSVNDVjY0
SW5zdHJ1Y3Rpb25zOjpTTExXOjpjb25zdHJ1Y3QocmQsIHJzMSwgcnMyKSk7IH0KKyAgICB2b2lk
IHNybHdJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMikg
eyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlNSTFc6OmNvbnN0cnVjdChyZCwgcnMxLCByczIp
KTsgfQorICAgIHZvaWQgc3Jhd0luc24oUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIFJl
Z2lzdGVySUQgcnMyKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6U1JBVzo6Y29uc3RydWN0
KHJkLCByczEsIHJzMikpOyB9CisKKyAgICB2b2lkIG11bEluc24oUmVnaXN0ZXJJRCByZCwgUmVn
aXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6
TVVMOjpjb25zdHJ1Y3QocmQsIHJzMSwgcnMyKSk7IH0KKyAgICB2b2lkIG11bGhJbnNuKFJlZ2lz
dGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMikgeyBpbnNuKFJJU0NWNjRJ
bnN0cnVjdGlvbnM6Ok1VTEg6OmNvbnN0cnVjdChyZCwgcnMxLCByczIpKTsgfQorICAgIHZvaWQg
bXVsaHN1SW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIp
IHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpNVUxIU1U6OmNvbnN0cnVjdChyZCwgcnMxLCBy
czIpKTsgfQorICAgIHZvaWQgbXVsaHVJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMx
LCBSZWdpc3RlcklEIHJzMikgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6Ok1VTEhVOjpjb25z
dHJ1Y3QocmQsIHJzMSwgcnMyKSk7IH0KKworICAgIHZvaWQgZGl2SW5zbihSZWdpc3RlcklEIHJk
LCBSZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIpIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rp
b25zOjpESVY6OmNvbnN0cnVjdChyZCwgcnMxLCByczIpKTsgfQorICAgIHZvaWQgZGl2dUluc24o
UmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyKSB7IGluc24oUklT
Q1Y2NEluc3RydWN0aW9uczo6RElWVTo6Y29uc3RydWN0KHJkLCByczEsIHJzMikpOyB9CisgICAg
dm9pZCByZW1JbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJz
MikgeyBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OlJFTTo6Y29uc3RydWN0KHJkLCByczEsIHJz
MikpOyB9CisgICAgdm9pZCByZW11SW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwg
UmVnaXN0ZXJJRCByczIpIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpSRU1VOjpjb25zdHJ1
Y3QocmQsIHJzMSwgcnMyKSk7IH0KKworICAgIHZvaWQgbXVsd0luc24oUmVnaXN0ZXJJRCByZCwg
UmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9u
czo6TVVMVzo6Y29uc3RydWN0KHJkLCByczEsIHJzMikpOyB9CisgICAgdm9pZCBkaXZ3SW5zbihS
ZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIpIHsgaW5zbihSSVND
VjY0SW5zdHJ1Y3Rpb25zOjpESVZXOjpjb25zdHJ1Y3QocmQsIHJzMSwgcnMyKSk7IH0KKyAgICB2
b2lkIGRpdnV3SW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCBy
czIpIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpESVZVVzo6Y29uc3RydWN0KHJkLCByczEs
IHJzMikpOyB9CisgICAgdm9pZCByZW13SW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJz
MSwgUmVnaXN0ZXJJRCByczIpIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpSRU1XOjpjb25z
dHJ1Y3QocmQsIHJzMSwgcnMyKSk7IH0KKyAgICB2b2lkIHJlbXV3SW5zbihSZWdpc3RlcklEIHJk
LCBSZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIpIHsgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rp
b25zOjpSRU1VVzo6Y29uc3RydWN0KHJkLCByczEsIHJzMikpOyB9CisKKyAgICB1c2luZyBGQ1ZU
VHlwZSA9IFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZDVlRUeXBlOworICAgIHVzaW5nIEZNVlR5cGUg
PSBSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpGTVZUeXBlOworCisgICAgdXNpbmcgRlBSb3VuZGluZ01v
ZGUgPSBSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpGUFJvdW5kaW5nTW9kZTsKKworICAgIHZvaWQgZmx3
SW5zbihGUFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBJSW1tZWRpYXRlIGltbSkgeyBp
bnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZMVzo6Y29uc3RydWN0KHJkLCByczEsIGltbSkpOyB9
CisgICAgdm9pZCBmbGRJbnNuKEZQUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIElJbW1l
ZGlhdGUgaW1tKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6RkxEOjpjb25zdHJ1Y3QocmQs
IHJzMSwgaW1tKSk7IH0KKyAgICB2b2lkIGZzd0luc24oUmVnaXN0ZXJJRCByczEsIEZQUmVnaXN0
ZXJJRCByczIsIFNJbW1lZGlhdGUgaW1tKSB7IGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6RlNX
Ojpjb25zdHJ1Y3QocnMxLCByczIsIGltbSkpOyB9CisgICAgdm9pZCBmc2RJbnNuKFJlZ2lzdGVy
SUQgcnMxLCBGUFJlZ2lzdGVySUQgcnMyLCBTSW1tZWRpYXRlIGltbSkgeyBpbnNuKFJJU0NWNjRJ
bnN0cnVjdGlvbnM6OkZTRDo6Y29uc3RydWN0KHJzMSwgcnMyLCBpbW0pKTsgfQorCisgICAgdGVt
cGxhdGU8dW5zaWduZWQgZnBTaXplPgorICAgIHZvaWQgZm1hZGRJbnNuKEZQUmVnaXN0ZXJJRCBy
ZCwgRlBSZWdpc3RlcklEIHJzMSwgRlBSZWdpc3RlcklEIHJzMiwgRlBSZWdpc3RlcklEIHJzMykK
KyAgICB7CisgICAgICAgIGluc25GUDxmcFNpemUsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZNQURE
X1MsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZNQUREX0Q+KHJkLCByczEsIHJzMiwgcnMzLCBGUFJv
dW5kaW5nTW9kZTo6RFlOKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBmcFNpemU+
CisgICAgdm9pZCBmbXN1Ykluc24oRlBSZWdpc3RlcklEIHJkLCBGUFJlZ2lzdGVySUQgcnMxLCBG
UFJlZ2lzdGVySUQgcnMyLCBGUFJlZ2lzdGVySUQgcnMzKQorICAgIHsKKyAgICAgICAgaW5zbkZQ
PGZwU2l6ZSwgUklTQ1Y2NEluc3RydWN0aW9uczo6Rk1TVUJfUywgUklTQ1Y2NEluc3RydWN0aW9u
czo6Rk1TVUJfRD4ocmQsIHJzMSwgcnMyLCByczMsIEZQUm91bmRpbmdNb2RlOjpEWU4pOworICAg
IH0KKworICAgIHRlbXBsYXRlPHVuc2lnbmVkIGZwU2l6ZT4KKyAgICB2b2lkIGZubXN1Ykluc24o
RlBSZWdpc3RlcklEIHJkLCBGUFJlZ2lzdGVySUQgcnMxLCBGUFJlZ2lzdGVySUQgcnMyLCBGUFJl
Z2lzdGVySUQgcnMzKQorICAgIHsKKyAgICAgICAgaW5zbkZQPGZwU2l6ZSwgUklTQ1Y2NEluc3Ry
dWN0aW9uczo6Rk5NU1VCX1MsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZOTVNVQl9EPihyZCwgcnMx
LCByczIsIHJzMywgRlBSb3VuZGluZ01vZGU6OkRZTik7CisgICAgfQorCisgICAgdGVtcGxhdGU8
dW5zaWduZWQgZnBTaXplPgorICAgIHZvaWQgZm5tYWRkSW5zbihGUFJlZ2lzdGVySUQgcmQsIEZQ
UmVnaXN0ZXJJRCByczEsIEZQUmVnaXN0ZXJJRCByczIsIEZQUmVnaXN0ZXJJRCByczMpCisgICAg
eworICAgICAgICBpbnNuRlA8ZnBTaXplLCBSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpGTk1BRERfUywg
UklTQ1Y2NEluc3RydWN0aW9uczo6Rk5NQUREX0Q+KHJkLCByczEsIHJzMiwgcnMzLCBGUFJvdW5k
aW5nTW9kZTo6RFlOKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBmcFNpemU+Cisg
ICAgdm9pZCBmYWRkSW5zbihGUFJlZ2lzdGVySUQgcmQsIEZQUmVnaXN0ZXJJRCByczEsIEZQUmVn
aXN0ZXJJRCByczIpCisgICAgeworICAgICAgICBpbnNuRlA8ZnBTaXplLCBSSVNDVjY0SW5zdHJ1
Y3Rpb25zOjpGQUREX1MsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZBRERfRD4ocmQsIHJzMSwgcnMy
LCBGUFJvdW5kaW5nTW9kZTo6RFlOKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBm
cFNpemU+CisgICAgdm9pZCBmc3ViSW5zbihGUFJlZ2lzdGVySUQgcmQsIEZQUmVnaXN0ZXJJRCBy
czEsIEZQUmVnaXN0ZXJJRCByczIpCisgICAgeworICAgICAgICBpbnNuRlA8ZnBTaXplLCBSSVND
VjY0SW5zdHJ1Y3Rpb25zOjpGU1VCX1MsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZTVUJfRD4ocmQs
IHJzMSwgcnMyLCBGUFJvdW5kaW5nTW9kZTo6RFlOKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1
bnNpZ25lZCBmcFNpemU+CisgICAgdm9pZCBmbXVsSW5zbihGUFJlZ2lzdGVySUQgcmQsIEZQUmVn
aXN0ZXJJRCByczEsIEZQUmVnaXN0ZXJJRCByczIpCisgICAgeworICAgICAgICBpbnNuRlA8ZnBT
aXplLCBSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpGTVVMX1MsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZN
VUxfRD4ocmQsIHJzMSwgcnMyLCBGUFJvdW5kaW5nTW9kZTo6RFlOKTsKKyAgICB9CisKKyAgICB0
ZW1wbGF0ZTx1bnNpZ25lZCBmcFNpemU+CisgICAgdm9pZCBmZGl2SW5zbihGUFJlZ2lzdGVySUQg
cmQsIEZQUmVnaXN0ZXJJRCByczEsIEZQUmVnaXN0ZXJJRCByczIpCisgICAgeworICAgICAgICBp
bnNuRlA8ZnBTaXplLCBSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpGRElWX1MsIFJJU0NWNjRJbnN0cnVj
dGlvbnM6OkZESVZfRD4ocmQsIHJzMSwgcnMyLCBGUFJvdW5kaW5nTW9kZTo6RFlOKTsKKyAgICB9
CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBmcFNpemU+CisgICAgdm9pZCBmc3FydEluc24oRlBS
ZWdpc3RlcklEIHJkLCBGUFJlZ2lzdGVySUQgcnMxKQorICAgIHsKKyAgICAgICAgaW5zbkZQPGZw
U2l6ZSwgUklTQ1Y2NEluc3RydWN0aW9uczo6RlNRUlRfUywgUklTQ1Y2NEluc3RydWN0aW9uczo6
RlNRUlRfRD4ocmQsIHJzMSwgRlBSZWdpc3RlcklEKDApLCBGUFJvdW5kaW5nTW9kZTo6RFlOKTsK
KyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBmcFNpemU+CisgICAgdm9pZCBmc2duaklu
c24oRlBSZWdpc3RlcklEIHJkLCBGUFJlZ2lzdGVySUQgcnMxLCBGUFJlZ2lzdGVySUQgcnMyKQor
ICAgIHsKKyAgICAgICAgaW5zbkZQPGZwU2l6ZSwgUklTQ1Y2NEluc3RydWN0aW9uczo6RlNHTkpf
UywgUklTQ1Y2NEluc3RydWN0aW9uczo6RlNHTkpfRD4ocmQsIHJzMSwgcnMyKTsKKyAgICB9CisK
KyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBmcFNpemU+CisgICAgdm9pZCBmc2duam5JbnNuKEZQUmVn
aXN0ZXJJRCByZCwgRlBSZWdpc3RlcklEIHJzMSwgRlBSZWdpc3RlcklEIHJzMikKKyAgICB7Cisg
ICAgICAgIGluc25GUDxmcFNpemUsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZTR05KTl9TLCBSSVND
VjY0SW5zdHJ1Y3Rpb25zOjpGU0dOSk5fRD4ocmQsIHJzMSwgcnMyKTsKKyAgICB9CisKKyAgICB0
ZW1wbGF0ZTx1bnNpZ25lZCBmcFNpemU+CisgICAgdm9pZCBmc2duanhJbnNuKEZQUmVnaXN0ZXJJ
RCByZCwgRlBSZWdpc3RlcklEIHJzMSwgRlBSZWdpc3RlcklEIHJzMikKKyAgICB7CisgICAgICAg
IGluc25GUDxmcFNpemUsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZTR05KWF9TLCBSSVNDVjY0SW5z
dHJ1Y3Rpb25zOjpGU0dOSlhfRD4ocmQsIHJzMSwgcnMyKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0
ZTx1bnNpZ25lZCBmcFNpemU+CisgICAgdm9pZCBmbWluSW5zbihGUFJlZ2lzdGVySUQgcmQsIEZQ
UmVnaXN0ZXJJRCByczEsIEZQUmVnaXN0ZXJJRCByczIpCisgICAgeworICAgICAgICBpbnNuRlA8
ZnBTaXplLCBSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpGTUlOX1MsIFJJU0NWNjRJbnN0cnVjdGlvbnM6
OkZNSU5fRD4ocmQsIHJzMSwgcnMyKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBm
cFNpemU+CisgICAgdm9pZCBmbWF4SW5zbihGUFJlZ2lzdGVySUQgcmQsIEZQUmVnaXN0ZXJJRCBy
czEsIEZQUmVnaXN0ZXJJRCByczIpCisgICAgeworICAgICAgICBpbnNuRlA8ZnBTaXplLCBSSVND
VjY0SW5zdHJ1Y3Rpb25zOjpGTUFYX1MsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZNQVhfRD4ocmQs
IHJzMSwgcnMyKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBmcFNpemU+CisgICAg
dm9pZCBmZXFJbnNuKFJlZ2lzdGVySUQgcmQsIEZQUmVnaXN0ZXJJRCByczEsIEZQUmVnaXN0ZXJJ
RCByczIpCisgICAgeworICAgICAgICBpbnNuRlA8ZnBTaXplLCBSSVNDVjY0SW5zdHJ1Y3Rpb25z
OjpGRVFfUywgUklTQ1Y2NEluc3RydWN0aW9uczo6RkVRX0Q+KHJkLCByczEsIHJzMik7CisgICAg
fQorCisgICAgdGVtcGxhdGU8dW5zaWduZWQgZnBTaXplPgorICAgIHZvaWQgZmx0SW5zbihSZWdp
c3RlcklEIHJkLCBGUFJlZ2lzdGVySUQgcnMxLCBGUFJlZ2lzdGVySUQgcnMyKQorICAgIHsKKyAg
ICAgICAgaW5zbkZQPGZwU2l6ZSwgUklTQ1Y2NEluc3RydWN0aW9uczo6RkxUX1MsIFJJU0NWNjRJ
bnN0cnVjdGlvbnM6OkZMVF9EPihyZCwgcnMxLCByczIpOworICAgIH0KKworICAgIHRlbXBsYXRl
PHVuc2lnbmVkIGZwU2l6ZT4KKyAgICB2b2lkIGZsZUluc24oUmVnaXN0ZXJJRCByZCwgRlBSZWdp
c3RlcklEIHJzMSwgRlBSZWdpc3RlcklEIHJzMikKKyAgICB7CisgICAgICAgIGluc25GUDxmcFNp
emUsIFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZMRV9TLCBSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpGTEVf
RD4ocmQsIHJzMSwgcnMyKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBmcFNpemU+
CisgICAgdm9pZCBmY2xhc3NJbnNuKFJlZ2lzdGVySUQgcmQsIEZQUmVnaXN0ZXJJRCByczEpCisg
ICAgeworICAgICAgICBpbnNuRlA8ZnBTaXplLCBSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpGQ0xBU1Nf
UywgUklTQ1Y2NEluc3RydWN0aW9uczo6RkNMQVNTX0Q+KHJkLCByczEsIEZQUmVnaXN0ZXJJRCgw
KSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8RlBSb3VuZGluZ01vZGUgUk0sIEZDVlRUeXBlIFRv
VHlwZSwgRkNWVFR5cGUgRnJvbVR5cGUsIHR5cGVuYW1lIFJEVHlwZSwgdHlwZW5hbWUgUlMxVHlw
ZT4KKyAgICB2b2lkIGZjdnRJbnNuKFJEVHlwZSByZCwgUlMxVHlwZSByczEpCisgICAgeworICAg
ICAgICB1c2luZyBGQ1ZUVHlwZSA9IFJJU0NWNjRJbnN0cnVjdGlvbnM6OkZDVlRCYXNlPFRvVHlw
ZSwgRnJvbVR5cGU+OworICAgICAgICBzdGF0aWNfYXNzZXJ0KEZDVlRUeXBlOjp2YWxpZCk7Cisg
ICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19zYW1lX3Y8c3RkOjpkZWNheV90PFJEVHlwZT4s
IHR5cGVuYW1lIEZDVlRUeXBlOjpSRFR5cGU+KTsKKyAgICAgICAgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX3NhbWVfdjxzdGQ6OmRlY2F5X3Q8UlMxVHlwZT4sIHR5cGVuYW1lIEZDVlRUeXBlOjpSUzFU
eXBlPik7CisKKyAgICAgICAgaW5zbihGQ1ZUVHlwZTo6Y29uc3RydWN0KHJkLCByczEsIFJNKSk7
CisgICAgfQorCisgICAgdGVtcGxhdGU8RkNWVFR5cGUgVG9UeXBlLCBGQ1ZUVHlwZSBGcm9tVHlw
ZSwgdHlwZW5hbWUgUkRUeXBlLCB0eXBlbmFtZSBSUzFUeXBlPgorICAgIHZvaWQgZmN2dEluc24o
UkRUeXBlIHJkLCBSUzFUeXBlIHJzMSkKKyAgICB7CisgICAgICAgIGZjdnRJbnNuPEZQUm91bmRp
bmdNb2RlOjpEWU4sIFRvVHlwZSwgRnJvbVR5cGUsIFJEVHlwZSwgUlMxVHlwZT4ocmQsIHJzMSk7
CisgICAgfQorCisgICAgdGVtcGxhdGU8Rk1WVHlwZSBUb1R5cGUsIEZNVlR5cGUgRnJvbVR5cGUs
IHR5cGVuYW1lIFJEVHlwZSwgdHlwZW5hbWUgUlMxVHlwZT4KKyAgICB2b2lkIGZtdkluc24oUkRU
eXBlIHJkLCBSUzFUeXBlIHJzMSkKKyAgICB7CisgICAgICAgIHVzaW5nIEZNVlR5cGUgPSBSSVND
VjY0SW5zdHJ1Y3Rpb25zOjpGTVZCYXNlPFRvVHlwZSwgRnJvbVR5cGU+OworICAgICAgICBzdGF0
aWNfYXNzZXJ0KEZNVlR5cGU6OnZhbGlkKTsKKyAgICAgICAgc3RhdGljX2Fzc2VydChzdGQ6Omlz
X3NhbWVfdjxzdGQ6OmRlY2F5X3Q8UkRUeXBlPiwgdHlwZW5hbWUgRk1WVHlwZTo6UkRUeXBlPik7
CisgICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19zYW1lX3Y8c3RkOjpkZWNheV90PFJTMVR5
cGU+LCB0eXBlbmFtZSBGTVZUeXBlOjpSUzFUeXBlPik7CisKKyAgICAgICAgaW5zbihGTVZUeXBl
Ojpjb25zdHJ1Y3QocmQsIHJzMSkpOworICAgIH0KKworICAgIHVzaW5nIE1lbW9yeU9wZXJhdGlv
biA9IFJJU0NWNjRJbnN0cnVjdGlvbnM6Ok1lbW9yeU9wZXJhdGlvbjsKKyAgICB1c2luZyBNZW1v
cnlBY2Nlc3MgPSBSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpNZW1vcnlBY2Nlc3M7CisKKyAgICB2b2lk
IGZlbmNlSW5zbihzdGQ6OmluaXRpYWxpemVyX2xpc3Q8TWVtb3J5T3BlcmF0aW9uPiBwcmVkZWNl
c3Nvciwgc3RkOjppbml0aWFsaXplcl9saXN0PE1lbW9yeU9wZXJhdGlvbj4gc3VjY2Vzc29yKQor
ICAgIHsKKyAgICAgICAgdW5zaWduZWQgcHJlZGVjZXNzb3JWYWx1ZSA9IDA7CisgICAgICAgIGZv
ciAoYXV0byYgb3AgOiBwcmVkZWNlc3NvcikKKyAgICAgICAgICAgIHByZWRlY2Vzc29yVmFsdWUg
fD0gdW5zaWduZWQob3ApOworICAgICAgICB1bnNpZ25lZCBzdWNjZXNzb3JWYWx1ZSA9IDA7Cisg
ICAgICAgIGZvciAoYXV0byYgb3AgOiBzdWNjZXNzb3IpCisgICAgICAgICAgICBzdWNjZXNzb3JW
YWx1ZSB8PSB1bnNpZ25lZChvcCk7CisKKyAgICAgICAgdWludDMyX3QgaW1tZWRpYXRlID0gMAor
ICAgICAgICAgICAgfCAoMGIwMDAwIDw8IDgpCisgICAgICAgICAgICB8ICgocHJlZGVjZXNzb3JW
YWx1ZSAmICgoMSA8PCA0KSAtIDEpKSA8PCA0KQorICAgICAgICAgICAgfCAoKHN1Y2Nlc3NvclZh
bHVlICYgKCgxIDw8IDQpIC0gMSkpIDw8IDApOworICAgICAgICBpbnNuKFJJU0NWNjRJbnN0cnVj
dGlvbnM6OkZFTkNFOjpjb25zdHJ1Y3QoUklTQ1Y2NFJlZ2lzdGVyczo6emVybywgUklTQ1Y2NFJl
Z2lzdGVyczo6emVybywgSUltbWVkaWF0ZShpbW1lZGlhdGUpKSk7CisgICAgfQorCisgICAgdm9p
ZCBscndJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBzdGQ6OmluaXRpYWxpemVy
X2xpc3Q8TWVtb3J5QWNjZXNzPiBhY2Nlc3MpCisgICAgeworICAgICAgICBpbnNuKFJJU0NWNjRJ
bnN0cnVjdGlvbnM6OkxSX1c6OmNvbnN0cnVjdChyZCwgcnMxLCBSSVNDVjY0UmVnaXN0ZXJzOjp6
ZXJvLCBhY2Nlc3MpKTsKKyAgICB9CisKKyAgICB2b2lkIHNjd0luc24oUmVnaXN0ZXJJRCByZCwg
UmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyLCBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8TWVt
b3J5QWNjZXNzPiBhY2Nlc3MpCisgICAgeworICAgICAgICBpbnNuKFJJU0NWNjRJbnN0cnVjdGlv
bnM6OlNDX1c6OmNvbnN0cnVjdChyZCwgcnMxLCByczIsIGFjY2VzcykpOworICAgIH0KKworICAg
IHZvaWQgbHJkSW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgc3RkOjppbml0aWFs
aXplcl9saXN0PE1lbW9yeUFjY2Vzcz4gYWNjZXNzKQorICAgIHsKKyAgICAgICAgaW5zbihSSVND
VjY0SW5zdHJ1Y3Rpb25zOjpMUl9EOjpjb25zdHJ1Y3QocmQsIHJzMSwgUklTQ1Y2NFJlZ2lzdGVy
czo6emVybywgYWNjZXNzKSk7CisgICAgfQorCisgICAgdm9pZCBzY2RJbnNuKFJlZ2lzdGVySUQg
cmQsIFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMiwgc3RkOjppbml0aWFsaXplcl9saXN0
PE1lbW9yeUFjY2Vzcz4gYWNjZXNzKQorICAgIHsKKyAgICAgICAgaW5zbihSSVNDVjY0SW5zdHJ1
Y3Rpb25zOjpTQ19EOjpjb25zdHJ1Y3QocmQsIHJzMSwgcnMyLCBhY2Nlc3MpKTsKKyAgICB9CisK
KyAgICB2b2lkIGFtb3N3YXB3SW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgUmVn
aXN0ZXJJRCByczIsIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxNZW1vcnlBY2Nlc3M+IGFjY2VzcykK
KyAgICB7CisgICAgICAgIGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6QU1PU1dBUF9XOjpjb25z
dHJ1Y3QocmQsIHJzMSwgcnMyLCBhY2Nlc3MpKTsKKyAgICB9CisKKyAgICB2b2lkIGFtb2FkZHdJ
bnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMiwgc3RkOjpp
bml0aWFsaXplcl9saXN0PE1lbW9yeUFjY2Vzcz4gYWNjZXNzKQorICAgIHsKKyAgICAgICAgaW5z
bihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpBTU9BRERfVzo6Y29uc3RydWN0KHJkLCByczEsIHJzMiwg
YWNjZXNzKSk7CisgICAgfQorCisgICAgdm9pZCBhbW94b3J3SW5zbihSZWdpc3RlcklEIHJkLCBS
ZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCByczIsIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxNZW1v
cnlBY2Nlc3M+IGFjY2VzcykKKyAgICB7CisgICAgICAgIGluc24oUklTQ1Y2NEluc3RydWN0aW9u
czo6QU1PWE9SX1c6OmNvbnN0cnVjdChyZCwgcnMxLCByczIsIGFjY2VzcykpOworICAgIH0KKwor
ICAgIHZvaWQgYW1vYW5kd0luc24oUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIFJlZ2lz
dGVySUQgcnMyLCBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8TWVtb3J5QWNjZXNzPiBhY2Nlc3MpCisg
ICAgeworICAgICAgICBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkFNT0FORF9XOjpjb25zdHJ1
Y3QocmQsIHJzMSwgcnMyLCBhY2Nlc3MpKTsKKyAgICB9CisKKyAgICB2b2lkIGFtb29yd0luc24o
UmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVySUQgcnMyLCBzdGQ6OmluaXRp
YWxpemVyX2xpc3Q8TWVtb3J5QWNjZXNzPiBhY2Nlc3MpCisgICAgeworICAgICAgICBpbnNuKFJJ
U0NWNjRJbnN0cnVjdGlvbnM6OkFNT09SX1c6OmNvbnN0cnVjdChyZCwgcnMxLCByczIsIGFjY2Vz
cykpOworICAgIH0KKworICAgIHZvaWQgYW1vc3dhcGRJbnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lz
dGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMiwgc3RkOjppbml0aWFsaXplcl9saXN0PE1lbW9yeUFj
Y2Vzcz4gYWNjZXNzKQorICAgIHsKKyAgICAgICAgaW5zbihSSVNDVjY0SW5zdHJ1Y3Rpb25zOjpB
TU9TV0FQX0Q6OmNvbnN0cnVjdChyZCwgcnMxLCByczIsIGFjY2VzcykpOworICAgIH0KKworICAg
IHZvaWQgYW1vYWRkZEluc24oUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCByczEsIFJlZ2lzdGVy
SUQgcnMyLCBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8TWVtb3J5QWNjZXNzPiBhY2Nlc3MpCisgICAg
eworICAgICAgICBpbnNuKFJJU0NWNjRJbnN0cnVjdGlvbnM6OkFNT0FERF9EOjpjb25zdHJ1Y3Qo
cmQsIHJzMSwgcnMyLCBhY2Nlc3MpKTsKKyAgICB9CisKKyAgICB2b2lkIGFtb3hvcmRJbnNuKFJl
Z2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxLCBSZWdpc3RlcklEIHJzMiwgc3RkOjppbml0aWFs
aXplcl9saXN0PE1lbW9yeUFjY2Vzcz4gYWNjZXNzKQorICAgIHsKKyAgICAgICAgaW5zbihSSVND
VjY0SW5zdHJ1Y3Rpb25zOjpBTU9YT1JfRDo6Y29uc3RydWN0KHJkLCByczEsIHJzMiwgYWNjZXNz
KSk7CisgICAgfQorCisgICAgdm9pZCBhbW9hbmRkSW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3Rl
cklEIHJzMSwgUmVnaXN0ZXJJRCByczIsIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxNZW1vcnlBY2Nl
c3M+IGFjY2VzcykKKyAgICB7CisgICAgICAgIGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6QU1P
QU5EX0Q6OmNvbnN0cnVjdChyZCwgcnMxLCByczIsIGFjY2VzcykpOworICAgIH0KKworICAgIHZv
aWQgYW1vb3JkSW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSwgUmVnaXN0ZXJJRCBy
czIsIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxNZW1vcnlBY2Nlc3M+IGFjY2VzcykKKyAgICB7Cisg
ICAgICAgIGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6QU1PT1JfRDo6Y29uc3RydWN0KHJkLCBy
czEsIHJzMiwgYWNjZXNzKSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dW5zaWduZWQgc2hpZnRB
bW91bnQ+CisgICAgdm9pZCBzbGxpSW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSkK
KyAgICB7CisgICAgICAgIGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6U0xMSTo6Y29uc3RydWN0
PHNoaWZ0QW1vdW50PihyZCwgcnMxKSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dW5zaWduZWQg
c2hpZnRBbW91bnQ+CisgICAgdm9pZCBzcmxpSW5zbihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklE
IHJzMSkKKyAgICB7CisgICAgICAgIGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6U1JMSTo6Y29u
c3RydWN0PHNoaWZ0QW1vdW50PihyZCwgcnMxKSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dW5z
aWduZWQgc2hpZnRBbW91bnQ+CisgICAgdm9pZCBzcmFpSW5zbihSZWdpc3RlcklEIHJkLCBSZWdp
c3RlcklEIHJzMSkKKyAgICB7CisgICAgICAgIGluc24oUklTQ1Y2NEluc3RydWN0aW9uczo6U1JB
STo6Y29uc3RydWN0PHNoaWZ0QW1vdW50PihyZCwgcnMxKSk7CisgICAgfQorCisgICAgdGVtcGxh
dGU8dW5zaWduZWQgc2hpZnRBbW91bnQ+CisgICAgdm9pZCBzbGxpd0luc24oUmVnaXN0ZXJJRCBy
ZCwgUmVnaXN0ZXJJRCByczEpCisgICAgeworICAgICAgICBpbnNuKFJJU0NWNjRJbnN0cnVjdGlv
bnM6OlNMTElXOjpjb25zdHJ1Y3Q8c2hpZnRBbW91bnQ+KHJkLCByczEpKTsKKyAgICB9CisKKyAg
ICB0ZW1wbGF0ZTx1bnNpZ25lZCBzaGlmdEFtb3VudD4KKyAgICB2b2lkIHNybGl3SW5zbihSZWdp
c3RlcklEIHJkLCBSZWdpc3RlcklEIHJzMSkKKyAgICB7CisgICAgICAgIGluc24oUklTQ1Y2NElu
c3RydWN0aW9uczo6U1JMSVc6OmNvbnN0cnVjdDxzaGlmdEFtb3VudD4ocmQsIHJzMSkpOworICAg
IH0KKworICAgIHRlbXBsYXRlPHVuc2lnbmVkIHNoaWZ0QW1vdW50PgorICAgIHZvaWQgc3JhaXdJ
bnNuKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMxKQorICAgIHsKKyAgICAgICAgaW5zbihS
SVNDVjY0SW5zdHJ1Y3Rpb25zOjpTUkFJVzo6Y29uc3RydWN0PHNoaWZ0QW1vdW50PihyZCwgcnMx
KSk7CisgICAgfQorCisgICAgdm9pZCBub3AoKQorICAgIHsKKyAgICAgICAgYWRkaUluc24oUklT
Q1Y2NFJlZ2lzdGVyczo6emVybywgUklTQ1Y2NFJlZ2lzdGVyczo6emVybywgSUltbWVkaWF0ZTo6
djxJSW1tZWRpYXRlLCAwPigpKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBtYXNr
U2l6ZT4KKyAgICB2b2lkIG1hc2tSZWdpc3RlcihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJz
KQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2VydChtYXNrU2l6ZSA8IDY0KTsKKyAgICAgICAg
c2xsaUluc248NjQgLSBtYXNrU2l6ZT4ocmQsIHJzKTsKKyAgICAgICAgc3JsaUluc248NjQgLSBt
YXNrU2l6ZT4ocmQsIHJkKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBtYXNrU2l6
ZT4KKyAgICB2b2lkIG1hc2tSZWdpc3RlcihSZWdpc3RlcklEIHJkKQorICAgIHsKKyAgICAgICAg
bWFza1JlZ2lzdGVyPG1hc2tTaXplPihyZCwgcmQpOworICAgIH0KKworICAgIHRlbXBsYXRlPHVu
c2lnbmVkIGJpdFNpemU+CisgICAgdm9pZCBzaWduRXh0ZW5kKFJlZ2lzdGVySUQgcmQpCisgICAg
eworICAgICAgICBzaWduRXh0ZW5kPGJpdFNpemU+KHJkLCByZCk7CisgICAgfQorCisgICAgdGVt
cGxhdGU8dW5zaWduZWQgYml0U2l6ZSwgdHlwZW5hbWUgPSBzdGQ6OmVuYWJsZV9pZl90PGJpdFNp
emUgPT0gOCB8fCBiaXRTaXplID09IDE2IHx8IGJpdFNpemUgPT0gMzIgfHwgYml0U2l6ZSA9PSA2
ND4+CisgICAgdm9pZCBzaWduRXh0ZW5kKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcnMpCisg
ICAgeworICAgICAgICBpZiBjb25zdGV4cHIgKGJpdFNpemUgPT0gNjQpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgaWYgY29uc3RleHByIChiaXRTaXplID09IDMyKSB7CisgICAgICAg
ICAgICBhZGRpd0luc24ocmQsIHJzLCBJSW1tZWRpYXRlOjp2PElJbW1lZGlhdGUsIDA+KCkpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgc2xsaUluc248NjQgLSBi
aXRTaXplPihyZCwgcnMpOworICAgICAgICBzcmFpSW5zbjw2NCAtIGJpdFNpemU+KHJkLCByZCk7
CisgICAgfQorCisgICAgdGVtcGxhdGU8dW5zaWduZWQgYml0U2l6ZT4KKyAgICB2b2lkIHplcm9F
eHRlbmQoUmVnaXN0ZXJJRCByZCkKKyAgICB7CisgICAgICAgIHplcm9FeHRlbmQ8Yml0U2l6ZT4o
cmQsIHJkKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBiaXRTaXplLCB0eXBlbmFt
ZSA9IHN0ZDo6ZW5hYmxlX2lmX3Q8Yml0U2l6ZSA9PSA4IHx8IGJpdFNpemUgPT0gMTYgfHwgYml0
U2l6ZSA9PSAzMiB8fCBiaXRTaXplID09IDY0Pj4KKyAgICB2b2lkIHplcm9FeHRlbmQoUmVnaXN0
ZXJJRCByZCwgUmVnaXN0ZXJJRCBycykKKyAgICB7CisgICAgICAgIGlmIGNvbnN0ZXhwciAoYml0
U2l6ZSA9PSA2NCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzbGxpSW5zbjw2NCAt
IGJpdFNpemU+KHJkLCBycyk7CisgICAgICAgIHNybGlJbnNuPDY0IC0gYml0U2l6ZT4ocmQsIHJk
KTsKKyAgICB9CisKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGluc24odWludDMyX3QgaW5zdHJ1Y3Rp
b24pCisgICAgeworICAgICAgICBtX2J1ZmZlci5wdXRJbnQoaW5zdHJ1Y3Rpb24pOworICAgIH0K
KworICAgIHRlbXBsYXRlPHVuc2lnbmVkIGZwU2l6ZSwgdHlwZW5hbWUgRlAzMlR5cGUsIHR5cGVu
YW1lIEZQNjRUeXBlLCB0eXBlbmFtZS4uLiBBcmdzPgorICAgIHZvaWQgaW5zbkZQKEFyZ3MmJi4u
LiBhcmdzKQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2VydChmcFNpemUgPT0gMzIgfHwgZnBT
aXplID09IDY0KTsKKyAgICAgICAgdXNpbmcgSW5zdHJ1Y3Rpb25UeXBlID0gc3RkOjpjb25kaXRp
b25hbF90PChmcFNpemUgPT0gMzIpLCBGUDMyVHlwZSwgRlA2NFR5cGU+OworICAgICAgICBpbnNu
KEluc3RydWN0aW9uVHlwZTo6Y29uc3RydWN0KHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikp
OworICAgIH0KKworICAgIHRlbXBsYXRlPHVuc2lnbmVkIHNoaWZ0Qml0c2l6ZT4KKyAgICBzdGF0
aWMgY29uc3RleHByIGJvb2wgaXNWYWxpZFNoaWZ0QW1vdW50KHVuc2lnbmVkIGFtb3VudCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhbW91bnQgPCAoMSA8PCBzaGlmdEJpdHNpemUpOworICAgIH0K
KwogICAgIEFzc2VtYmxlckJ1ZmZlciBtX2J1ZmZlcjsKIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>