<?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>101479</bug_id>
          
          <creation_ts>2012-11-07 08:32:02 -0800</creation_ts>
          <short_desc>[sh4] JavaScriptCore JIT build is broken for sh4 arch</short_desc>
          <delta_ts>2012-11-23 05:12:16 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Julien Brianceau">jbriance</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>760734</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2012-11-07 08:32:02 -0800</bug_when>
    <thetext>Implementation of the following functions are missing from JavaScriptCore sh4 JIT :
    void load8Signed(BaseIndex address, RegisterID dest)
    void load16Signed(BaseIndex address, RegisterID dest)
    void store8(RegisterID src, BaseIndex address)
    void store16(RegisterID src, BaseIndex address)
    void moveDoubleToInts(FPRegisterID src, RegisterID dest1, RegisterID dest2)
    void moveIntsToDouble(RegisterID src1, RegisterID src2, FPRegisterID dest, FPRegisterID scratch)
    void loadFloat(BaseIndex address, FPRegisterID dest)
    void loadDouble(BaseIndex address, FPRegisterID dest)
    void storeFloat(FPRegisterID src, BaseIndex address)
    void storeDouble(FPRegisterID src, BaseIndex address)
    void addDouble(FPRegisterID op1, FPRegisterID op2, FPRegisterID dest)
    void addDouble(AbsoluteAddress address, FPRegisterID dest)
    void convertFloatToDouble(FPRegisterID src, FPRegisterID dst)
    void convertDoubleToFloat(FPRegisterID src, FPRegisterID dst)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774270</commentid>
    <comment_count>1</comment_count>
      <attachid>175742</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2012-11-23 00:31:43 -0800</bug_when>
    <thetext>Created attachment 175742
New function implementation in SH4 JIT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774274</commentid>
    <comment_count>2</comment_count>
      <attachid>175743</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2012-11-23 00:34:22 -0800</bug_when>
    <thetext>Created attachment 175743
Add missing implementation in SH4 JIT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774276</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-23 00:36:47 -0800</bug_when>
    <thetext>Attachment 175743 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/assembler/SH4Assembler.h:2097:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/JavaScriptCore/assembler/SH4Assembler.h:2098:  Omit int when using unsigned  [runtime/unsigned] [1]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774344</commentid>
    <comment_count>4</comment_count>
      <attachid>175743</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-23 02:57:44 -0800</bug_when>
    <thetext>Comment on attachment 175743
Add missing implementation in SH4 JIT

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

&gt;&gt; Source/JavaScriptCore/assembler/SH4Assembler.h:2097
&gt;&gt; +    static void printInstr(uint16_t opc, unsigned int size, bool isdoubleInst = true) { };
&gt; 
&gt; Omit int when using unsigned  [runtime/unsigned] [1]

The style queue is right.  Can you fix this style bug and submit for cq? (or commit if you have the privileges).  R=me other than the style.

&gt;&gt; Source/JavaScriptCore/assembler/SH4Assembler.h:2098
&gt;&gt; +    static void printBlockInstr(uint16_t* first, unsigned int offset, int nbInstr) { };
&gt; 
&gt; Omit int when using unsigned  [runtime/unsigned] [1]

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774353</commentid>
    <comment_count>5</comment_count>
      <attachid>175764</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2012-11-23 03:07:59 -0800</bug_when>
    <thetext>Created attachment 175764
Add missing implementation in SH4 JIT (with style fix)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774467</commentid>
    <comment_count>6</comment_count>
      <attachid>175764</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-23 05:12:12 -0800</bug_when>
    <thetext>Comment on attachment 175764
Add missing implementation in SH4 JIT (with style fix)

Clearing flags on attachment: 175764

Committed r135597: &lt;http://trac.webkit.org/changeset/135597&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774468</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-23 05:12:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175742</attachid>
            <date>2012-11-23 00:31:43 -0800</date>
            <delta_ts>2012-11-23 00:34:47 -0800</delta_ts>
            <desc>New function implementation in SH4 JIT</desc>
            <filename>javascript_sh4_jit_build_fix.patch</filename>
            <type>text/plain</type>
            <size>14968</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM1NTY0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDEyLTExLTIzICBKdWxpZW4gQlJJQU5DRUFVICAgPGpicmlhbmNlYXVAbmRzLmNvbT4KKwor
ICAgICAgICBbc2g0XSBKYXZhU2NyaXB0Q29yZSBKSVQgYnVpbGQgaXMgYnJva2VuIHNpbmNlIHIx
MzA4MzkKKyAgICAgICAgQWRkIG1pc3NpbmcgaW1wbGVtZW50YXRpb24gZm9yIHNoNCBhcmNoLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNDc5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6
OmxvYWQ4U2lnbmVkKToKKyAgICAgICAgKE1hY3JvQXNzZW1ibGVyU0g0KToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmxvYWQxNlNpZ25lZCk6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyU0g0OjpzdG9yZTgpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6
c3RvcmUxNik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0Ojptb3ZlRG91YmxlVG9J
bnRzKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6Om1vdmVJbnRzVG9Eb3VibGUp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZEZsb2F0KToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmxvYWREb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlclNINDo6c3RvcmVGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
U0g0OjpzdG9yZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0OjphZGRE
b3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6Y29udmVydEZsb2F0VG9E
b3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6Y29udmVydERvdWJsZVRv
RmxvYXQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6dXJzaGlmdDMyKToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvU0g0QXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6OlNINEFzc2Vt
Ymxlcjo6c3VibFJlZ1JlZyk6CisgICAgICAgIChKU0M6OlNINEFzc2VtYmxlcjo6c3VidmxSZWdS
ZWcpOgorICAgICAgICAoSlNDOjpTSDRBc3NlbWJsZXI6OmZsb2F0ZnB1bGZybik6CisgICAgICAg
IChKU0M6OlNINEFzc2VtYmxlcjo6Zmxkc2ZwdWwpOgorICAgICAgICAoSlNDOjpTSDRBc3NlbWJs
ZXI6OmZzdHNmcHVsKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjpkY252c2QpOgorICAg
ICAgICAoU0g0QXNzZW1ibGVyKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjptb3ZiUmVn
TWVtKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjpzaXplT2ZDb25zdGFudFBvb2wpOgor
ICAgICAgICAoSlNDOjpTSDRBc3NlbWJsZXI6OmxpbmtKdW1wKToKKyAgICAgICAgKEpTQzo6U0g0
QXNzZW1ibGVyOjpwcmludEJsb2NrSW5zdHIpOgorICAgICAgICAoSlNDOjpTSDRBc3NlbWJsZXI6
OnByaW50SW5zdHIpOgorCiAyMDEyLTExLTIyICBCYWxhenMgS2lsdmFkeSAgPGtpbHZhZHliQGhv
bWVqaW5uaS5jb20+CiAKICAgICAgICAgRml4IHRoZSBNSVBTIGJ1aWxkIGFmdGVyIHIxMzUzMzAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyU0g0LmgJKHJldmlzaW9uIDEzNTUyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaAkod29ya2luZyBjb3B5KQpAQCAtNjAyLDYgKzYw
MiwxNiBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAg
IHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAgfQogCisgICAgdm9pZCBsb2FkOFNpZ25lZChCYXNl
SW5kZXggYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJ
RCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKyAgICAgICAgbW92ZShhZGRyZXNzLmluZGV4LCBzY3Ip
OworICAgICAgICBsc2hpZnQzMihUcnVzdGVkSW1tMzIoYWRkcmVzcy5zY2FsZSksIHNjcik7Cisg
ICAgICAgIGFkZDMyKGFkZHJlc3MuYmFzZSwgc2NyKTsKKyAgICAgICAgbG9hZDhTaWduZWQoc2Ny
LCBhZGRyZXNzLm9mZnNldCwgZGVzdCk7CisgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7Cisg
ICAgfQorCiAgICAgdm9pZCBsb2FkMzIoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVz
dCkKICAgICB7CiAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7CkBAIC02
NDksNiArNjU5LDMyIEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMK
ICAgICAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAgfQogCisgICAgdm9pZCBsb2Fk
OFNpZ25lZChSZWdpc3RlcklEIGJhc2UsIGludCBvZmZzZXQsIFJlZ2lzdGVySUQgZGVzdCkKKyAg
ICB7CisgICAgICAgIGlmICghb2Zmc2V0KSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3Zi
TWVtUmVnKGJhc2UsIGRlc3QpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKChvZmZzZXQgPiAwKSAmJiAob2Zmc2V0IDwgNjQpICYmIChkZXN0ID09IFNINFJl
Z2lzdGVyczo6cjApKSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKG9mZnNl
dCwgYmFzZSwgZGVzdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoYmFzZSAhPSBkZXN0KSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3Rh
bnQoKG9mZnNldCksIGRlc3QpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhi
YXNlLCBkZXN0KTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmJNZW1SZWcoZGVzdCwgZGVz
dCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBSZWdpc3RlcklE
IHNjciA9IGNsYWltU2NyYXRjaCgpOworICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQo
KG9mZnNldCksIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdSZWcoYmFzZSwgc2Ny
KTsKKyAgICAgICAgbV9hc3NlbWJsZXIubW92Yk1lbVJlZyhzY3IsIGRlc3QpOworICAgICAgICBy
ZWxlYXNlU2NyYXRjaChzY3IpOworICAgIH0KKwogICAgIHZvaWQgbG9hZDgoUmVnaXN0ZXJJRCBi
YXNlLCBpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBpZiAoIW9m
ZnNldCkgewpAQCAtNzQ5LDYgKzc4NSwxMSBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwg
UmVnaXN0ZXJJRCBzCiAgICAgICAgIGV4dHV3KGRlc3QsIGRlc3QpOwogICAgIH0KIAorICAgIHZv
aWQgbG9hZDE2U2lnbmVkKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCisgICAgewor
ICAgICAgICBtX2Fzc2VtYmxlci5tb3Z3TWVtUmVnKHNyYywgZGVzdCk7CisgICAgfQorCiAgICAg
dm9pZCBsb2FkMTYoUmVnaXN0ZXJJRCByMCwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVz
dCkKICAgICB7CiAgICAgICAgIEFTU0VSVChyMCA9PSBTSDRSZWdpc3RlcnM6OnIwKTsKQEAgLTc1
Niw2ICs3OTcsMTIgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwog
ICAgICAgICBleHR1dyhkZXN0LCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIGxvYWQxNlNpZ25l
ZChSZWdpc3RlcklEIHIwLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsK
KyAgICAgICAgQVNTRVJUKHIwID09IFNINFJlZ2lzdGVyczo6cjApOworICAgICAgICBtX2Fzc2Vt
Ymxlci5tb3Z3UjBtcihzcmMsIGRlc3QpOworICAgIH0KKwogICAgIHZvaWQgbG9hZDE2KEJhc2VJ
bmRleCBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBSZWdpc3RlcklE
IHNjciA9IGNsYWltU2NyYXRjaCgpOwpAQCAtNzc1LDYgKzgyMiw1MSBAQCB2b2lkIG9yMzIoVHJ1
c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7
CiAgICAgfQogCisgICAgdm9pZCBsb2FkMTZTaWduZWQoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lz
dGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNo
KCk7CisKKyAgICAgICAgbW92ZShhZGRyZXNzLmluZGV4LCBzY3IpOworICAgICAgICBsc2hpZnQz
MihUcnVzdGVkSW1tMzIoYWRkcmVzcy5zY2FsZSksIHNjcik7CisKKyAgICAgICAgaWYgKGFkZHJl
c3Mub2Zmc2V0KQorICAgICAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKGFkZHJlc3Mub2Zmc2V0
KSwgc2NyKTsKKyAgICAgICAgaWYgKGFkZHJlc3MuYmFzZSA9PSBTSDRSZWdpc3RlcnM6OnIwKQor
ICAgICAgICAgICAgbG9hZDE2U2lnbmVkKGFkZHJlc3MuYmFzZSwgc2NyLCBkZXN0KTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBhZGQzMihhZGRyZXNzLmJhc2UsIHNjcik7CisgICAgICAg
ICAgICBsb2FkMTZTaWduZWQoc2NyLCBkZXN0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlbGVh
c2VTY3JhdGNoKHNjcik7CisgICAgfQorCisgICAgdm9pZCBzdG9yZTgoUmVnaXN0ZXJJRCBzcmMs
IEJhc2VJbmRleCBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFp
bVNjcmF0Y2goKTsKKworICAgICAgICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CisgICAgICAg
IGxzaGlmdDMyKFRydXN0ZWRJbW0zMihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKKyAgICAgICAgYWRk
MzIoYWRkcmVzcy5iYXNlLCBzY3IpOworCisgICAgICAgIG1fYXNzZW1ibGVyLm1vdmJSZWdNZW0o
c3JjLCBzY3IpOworCisgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CisgICAgfQorCisgICAg
dm9pZCBzdG9yZTE2KFJlZ2lzdGVySUQgc3JjLCBCYXNlSW5kZXggYWRkcmVzcykKKyAgICB7Cisg
ICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7CisKKyAgICAgICAgbW92ZShh
ZGRyZXNzLmluZGV4LCBzY3IpOworICAgICAgICBsc2hpZnQzMihUcnVzdGVkSW1tMzIoYWRkcmVz
cy5zY2FsZSksIHNjcik7CisgICAgICAgIGFkZDMyKGFkZHJlc3MuYmFzZSwgc2NyKTsKKworICAg
ICAgICBtX2Fzc2VtYmxlci5tb3Z3UmVnTWVtKHNyYywgc2NyKTsKKworICAgICAgICByZWxlYXNl
U2NyYXRjaChzY3IpOworICAgIH0KKwogICAgIHZvaWQgc3RvcmUzMihSZWdpc3RlcklEIHNyYywg
SW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHNjciA9
IGNsYWltU2NyYXRjaCgpOwpAQCAtOTAwLDEzICs5OTIsNTkgQEAgdm9pZCBvcjMyKFRydXN0ZWRJ
bW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAot
ICAgICAvLyBGbG9hdGluZy1wb2ludCBvcGVyYXRpb25zCisgICAgLy8gRmxvYXRpbmctcG9pbnQg
b3BlcmF0aW9ucwogCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGluZ1BvaW50KCkgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5j
YXRlKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQ
b2ludFNxcnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGbG9h
dGluZ1BvaW50QWJzKCkgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZvaWQgbW92ZURvdWJsZVRv
SW50cyhGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRlc3Qy
KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIuZmxkc2ZwdWwoKEZQUmVnaXN0ZXJJRCkoc3Jj
ICsgMSkpOworICAgICAgICBtX2Fzc2VtYmxlci5zdHNmcHVsUmVnKGRlc3QxKTsKKyAgICAgICAg
bV9hc3NlbWJsZXIuZmxkc2ZwdWwoc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc3RzZnB1bFJl
ZyhkZXN0Mik7CisgICAgfQorCisgICAgdm9pZCBtb3ZlSW50c1RvRG91YmxlKFJlZ2lzdGVySUQg
c3JjMSwgUmVnaXN0ZXJJRCBzcmMyLCBGUFJlZ2lzdGVySUQgZGVzdCwgRlBSZWdpc3RlcklEIHNj
cmF0Y2gpCisgICAgeworICAgICAgICBVTlVTRURfUEFSQU0oc2NyYXRjaCk7CisgICAgICAgIG1f
YXNzZW1ibGVyLmxkc3JtZnB1bChzcmMxKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZnN0c2ZwdWwo
KEZQUmVnaXN0ZXJJRCkoZGVzdCArIDEpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubGRzcm1mcHVs
KHNyYzIpOworICAgICAgICBtX2Fzc2VtYmxlci5mc3RzZnB1bChkZXN0KTsKKyAgICB9CisKKyAg
ICB2b2lkIGxvYWRGbG9hdChCYXNlSW5kZXggYWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCisg
ICAgeworICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOworCisgICAgICAg
IG1vdmUoYWRkcmVzcy5pbmRleCwgc2NyKTsKKyAgICAgICAgbHNoaWZ0MzIoVHJ1c3RlZEltbTMy
KGFkZHJlc3Muc2NhbGUpLCBzY3IpOworICAgICAgICBhZGQzMihhZGRyZXNzLmJhc2UsIHNjcik7
CisgICAgICAgIGlmIChhZGRyZXNzLm9mZnNldCkKKyAgICAgICAgICAgIGFkZDMyKFRydXN0ZWRJ
bW0zMihhZGRyZXNzLm9mZnNldCksIHNjcik7CisKKyAgICAgICAgbV9hc3NlbWJsZXIuZm1vdnNS
ZWFkcm0oc2NyLCBkZXN0KTsKKyAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKKyAgICB9CisK
KyAgICB2b2lkIGxvYWREb3VibGUoQmFzZUluZGV4IGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0
KQorICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKworICAg
ICAgICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CisgICAgICAgIGxzaGlmdDMyKFRydXN0ZWRJ
bW0zMihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKKyAgICAgICAgYWRkMzIoYWRkcmVzcy5iYXNlLCBz
Y3IpOworICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQpCisgICAgICAgICAgICBhZGQzMihUcnVz
dGVkSW1tMzIoYWRkcmVzcy5vZmZzZXQpLCBzY3IpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmZt
b3ZzUmVhZHJtaW5jKHNjciwgKEZQUmVnaXN0ZXJJRCkoZGVzdCArIDEpKTsKKyAgICAgICAgbV9h
c3NlbWJsZXIuZm1vdnNSZWFkcm0oc2NyLCBkZXN0KTsKKyAgICAgICAgcmVsZWFzZVNjcmF0Y2go
c2NyKTsKKyAgICB9CisKICAgICB2b2lkIGxvYWREb3VibGUoSW1wbGljaXRBZGRyZXNzIGFkZHJl
c3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBj
bGFpbVNjcmF0Y2goKTsKQEAgLTkzNSw2ICsxMDczLDIxIEBAIHZvaWQgb3IzMihUcnVzdGVkSW1t
MzIgaW1tLCBSZWdpc3RlcklEIHMKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICB9
CiAKKyAgICB2b2lkIHN0b3JlRmxvYXQoRlBSZWdpc3RlcklEIHNyYywgQmFzZUluZGV4IGFkZHJl
c3MpCisgICAgeworICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOworCisg
ICAgICAgIG1vdmUoYWRkcmVzcy5pbmRleCwgc2NyKTsKKyAgICAgICAgbHNoaWZ0MzIoVHJ1c3Rl
ZEltbTMyKGFkZHJlc3Muc2NhbGUpLCBzY3IpOworICAgICAgICBhZGQzMihhZGRyZXNzLmJhc2Us
IHNjcik7CisgICAgICAgIGlmIChhZGRyZXNzLm9mZnNldCkKKyAgICAgICAgICAgIGFkZDMyKFRy
dXN0ZWRJbW0zMihhZGRyZXNzLm9mZnNldCksIHNjcik7CisKKyAgICAgICAgbV9hc3NlbWJsZXIu
Zm1vdnNXcml0ZXJtKHNyYywgc2NyKTsKKworICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IpOwor
ICAgIH0KKwogICAgIHZvaWQgc3RvcmVEb3VibGUoRlBSZWdpc3RlcklEIHNyYywgSW1wbGljaXRB
ZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2Ny
YXRjaCgpOwpAQCAtOTQ2LDExICsxMDk5LDQ0IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1t
LCBSZWdpc3RlcklEIHMKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICB9CiAKKyAg
ICB2b2lkIHN0b3JlRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEJhc2VJbmRleCBhZGRyZXNzKQor
ICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKworICAgICAg
ICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CisgICAgICAgIGxzaGlmdDMyKFRydXN0ZWRJbW0z
MihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKKyAgICAgICAgYWRkMzIoYWRkcmVzcy5iYXNlLCBzY3Ip
OworICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQpCisgICAgICAgICAgICBhZGQzMihUcnVzdGVk
SW1tMzIoYWRkcmVzcy5vZmZzZXQpLCBzY3IpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmZtb3Zz
V3JpdGVybSgoRlBSZWdpc3RlcklEKShzcmMgKyAxKSwgc2NyKTsKKyAgICAgICAgbV9hc3NlbWJs
ZXIuYWRkbEltbThyKDQsIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmZtb3ZzV3JpdGVybShz
cmMsIHNjcik7CisKKyAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKKyAgICB9CisKKyAgICB2
b2lkIGFkZERvdWJsZShGUFJlZ2lzdGVySUQgb3AxLCBGUFJlZ2lzdGVySUQgb3AyLCBGUFJlZ2lz
dGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIGlmIChvcDEgPT0gZGVzdCkKKyAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmRhZGRSZWdSZWcob3AyLCBkZXN0KTsKKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBtX2Fzc2VtYmxlci5kbW92UmVnUmVnKG9wMSwgZGVzdCk7CisgICAgICAgICAgICBt
X2Fzc2VtYmxlci5kYWRkUmVnUmVnKG9wMiwgZGVzdCk7CisgICAgICAgIH0KKyAgICB9CisKICAg
ICB2b2lkIGFkZERvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAg
ICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmRhZGRSZWdSZWcoc3JjLCBkZXN0KTsKICAgICB9CiAK
KyAgICB2b2lkIGFkZERvdWJsZShBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgRlBSZWdpc3RlcklE
IGRlc3QpCisgICAgeworICAgICAgICBsb2FkRG91YmxlKGFkZHJlc3MubV9wdHIsIGZzY3JhdGNo
KTsKKyAgICAgICAgYWRkRG91YmxlKGZzY3JhdGNoLCBkZXN0KTsKKyAgICB9CisKICAgICB2b2lk
IGFkZERvdWJsZShBZGRyZXNzIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAg
ICAgICAgbG9hZERvdWJsZShhZGRyZXNzLCBmc2NyYXRjaCk7CkBAIC05ODQsNiArMTE3MCwxOCBA
QCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIG1fYXNz
ZW1ibGVyLmRkaXZSZWdSZWcoc3JjLCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIGNvbnZlcnRG
bG9hdFRvRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkc3QpCisgICAgewor
ICAgICAgICBtX2Fzc2VtYmxlci5mbGRzZnB1bChzcmMpOworICAgICAgICBtX2Fzc2VtYmxlci5k
Y252c2QoZHN0KTsKKyAgICB9CisKKyAgICB2b2lkIGNvbnZlcnREb3VibGVUb0Zsb2F0KEZQUmVn
aXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxl
ci5kY252ZHMoc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZnN0c2ZwdWwoZHN0KTsKKyAgICB9
CisKICAgICB2b2lkIGNvbnZlcnRJbnQzMlRvRG91YmxlKFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lz
dGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmxkc3JtZnB1bChzcmMpOwpA
QCAtMTg5Myw3ICsyMDkxLDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVy
SUQgcwogICAgIHZvaWQgdXJzaGlmdDMyKFJlZ2lzdGVySUQgc3JjLCBUcnVzdGVkSW1tMzIgc2hp
ZnRhbW91bnQsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmIChzcmMgIT0gZGVz
dCkKLSAgICAgICAgICAgbW92ZShzcmMsIGRlc3QpOworICAgICAgICAgICAgbW92ZShzcmMsIGRl
c3QpOwogCiAgICAgICAgIHVyc2hpZnQzMihzaGlmdGFtb3VudCwgZGVzdCk7CiAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9TSDRBc3NlbWJsZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1NINEFzc2VtYmxlci5oCShy
ZXZpc2lvbiAxMzU1MjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1NINEFz
c2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsNiArMTY2LDcgQEAgZW51bSB7CiAgICAg
Rk1PVlNfV1JJVEVfUk5fREVDX09QQ09ERSA9IDB4ZjAwYiwKICAgICBGTU9WU19XUklURV9SMFJO
X09QQ09ERSA9IDB4ZjAwNywKICAgICBGQ05WRFNfRFJNX0ZQVUxfT1BDT0RFID0gMHhmMGJkLAor
ICAgIEZDTlZTRF9GUFVMX0RSTl9PUENPREUgPSAweGYwYWQsCiAgICAgTERTX1JNX0ZQVUxfT1BD
T0RFID0gMHg0MDVhLAogICAgIEZMRFNfRlJNX0ZQVUxfT1BDT0RFID0gMHhmMDFkLAogICAgIFNU
U19GUFVMX1JOX09QQ09ERSA9IDB4MDA1YSwKQEAgLTQ5MSwxNCArNDkyLDE0IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgc3VibFJlZ1JlZyhSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCiAg
ICAgewotICAgICAgICAgdWludDE2X3Qgb3BjID0gZ2V0T3Bjb2RlR3JvdXAxKFNVQl9PUENPREUs
IGRzdCwgc3JjKTsKLSAgICAgICAgIG9uZVNob3J0T3Aob3BjKTsKKyAgICAgICAgdWludDE2X3Qg
b3BjID0gZ2V0T3Bjb2RlR3JvdXAxKFNVQl9PUENPREUsIGRzdCwgc3JjKTsKKyAgICAgICAgb25l
U2hvcnRPcChvcGMpOwogICAgIH0KIAogICAgIHZvaWQgc3VidmxSZWdSZWcoUmVnaXN0ZXJJRCBz
cmMsIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAgIHVpbnQxNl90IG9wYyA9IGdldE9w
Y29kZUdyb3VwMShTVUJWX09QQ09ERSwgZHN0LCBzcmMpOwotICAgICAgICAgb25lU2hvcnRPcChv
cGMpOworICAgICAgICB1aW50MTZfdCBvcGMgPSBnZXRPcGNvZGVHcm91cDEoU1VCVl9PUENPREUs
IGRzdCwgc3JjKTsKKyAgICAgICAgb25lU2hvcnRPcChvcGMpOwogICAgIH0KIAogICAgIHZvaWQg
eG9ybFJlZ1JlZyhSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCkBAIC04MDMsNyArODA0
LDcgQEAgcHVibGljOgogICAgICAgICBvbmVTaG9ydE9wKG9wYyk7CiAgICAgfQogCi0gICAgdm9p
ZCBmbG9hdGZwdWxmcm4oUmVnaXN0ZXJJRCBzcmMpCisgICAgdm9pZCBmbG9hdGZwdWxmcm4oRlBS
ZWdpc3RlcklEIHNyYykKICAgICB7CiAgICAgICAgIHVpbnQxNl90IG9wYyA9IGdldE9wY29kZUdy
b3VwMihGTE9BVF9PUENPREUsIHNyYyk7CiAgICAgICAgIG9uZVNob3J0T3Aob3BjLCB0cnVlLCBm
YWxzZSk7CkBAIC04NTcsMTMgKzg1OCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIG9uZVNob3J0T3Ao
b3BjLCB0cnVlLCBmYWxzZSk7CiAgICAgfQogCi0gICAgdm9pZCBmbGRzZnB1bChSZWdpc3RlcklE
IHNyYykKKyAgICB2b2lkIGZsZHNmcHVsKEZQUmVnaXN0ZXJJRCBzcmMpCiAgICAgewogICAgICAg
ICB1aW50MTZfdCBvcGMgPSBnZXRPcGNvZGVHcm91cDIoRkxEU19GUk1fRlBVTF9PUENPREUsIHNy
Yyk7CiAgICAgICAgIG9uZVNob3J0T3Aob3BjKTsKICAgICB9CiAKLSAgICB2b2lkIGZzdHNmcHVs
KFJlZ2lzdGVySUQgc3JjKQorICAgIHZvaWQgZnN0c2ZwdWwoRlBSZWdpc3RlcklEIHNyYykKICAg
ICB7CiAgICAgICAgIHVpbnQxNl90IG9wYyA9IGdldE9wY29kZUdyb3VwMihGU1RTX0ZQVUxfRlJO
X09QQ09ERSwgc3JjKTsKICAgICAgICAgb25lU2hvcnRPcChvcGMpOwpAQCAtODg5LDYgKzg5MCwx
MiBAQCBwdWJsaWM6CiAgICAgICAgIG9uZVNob3J0T3Aob3BjKTsKICAgICB9CiAKKyAgICB2b2lk
IGRjbnZzZChGUFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgdWludDE2X3Qgb3BjID0g
Z2V0T3Bjb2RlR3JvdXA3KEZDTlZTRF9GUFVMX0RSTl9PUENPREUsIGRzdCA+PiAxKTsKKyAgICAg
ICAgb25lU2hvcnRPcChvcGMpOworICAgIH0KKwogICAgIHZvaWQgZGNtcHBlcShGUFJlZ2lzdGVy
SUQgc3JjLCBGUFJlZ2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgdWludDE2X3Qgb3BjID0g
Z2V0T3Bjb2RlR3JvdXA4KEZDTVBFUV9PUENPREUsIGRzdCA+PiAxLCBzcmMgPj4gMSk7CkBAIC0x
MDgyLDYgKzEwODksMTIgQEAgcHVibGljOgogICAgICAgICBvbmVTaG9ydE9wKGdldE9wY29kZUdy
b3VwNChNT1ZMX1JFQURfT0ZGUk1fT1BDT0RFLCBkc3QsIGJhc2UsIG9mZnNldCkpOwogICAgIH0K
IAorICAgIHZvaWQgbW92YlJlZ01lbShSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBiYXNlKQor
ICAgIHsKKyAgICAgICAgdWludDE2X3Qgb3BjID0gZ2V0T3Bjb2RlR3JvdXAxKE1PVkJfV1JJVEVf
Uk5fT1BDT0RFLCBiYXNlLCBzcmMpOworICAgICAgICBvbmVTaG9ydE9wKG9wYyk7CisgICAgfQor
CiAgICAgdm9pZCBtb3ZiTWVtUmVnKGludCBvZmZzZXQsIFJlZ2lzdGVySUQgYmFzZSwgUmVnaXN0
ZXJJRCBkc3QpCiAgICAgewogICAgICAgICBBU1NFUlQoZHN0ID09IFNINFJlZ2lzdGVyczo6cjAp
OwpAQCAtMTI1Myw3ICsxMjY2LDcgQEAgcHVibGljOgogCiAgICAgaW50IHNpemVPZkNvbnN0YW50
UG9vbCgpCiAgICAgewotICAgICAgICAgcmV0dXJuIG1fYnVmZmVyLnNpemVPZkNvbnN0YW50UG9v
bCgpOworICAgICAgICByZXR1cm4gbV9idWZmZXIuc2l6ZU9mQ29uc3RhbnRQb29sKCk7CiAgICAg
fQogCiAgICAgQXNzZW1ibGVyTGFiZWwgYWxpZ24oaW50IGFsaWdubWVudCkKQEAgLTEzMDUsNyAr
MTMxOCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICppbnN0cnVjdGlvblB0ciA9IGluc3RydWN0
aW9uOwogICAgICAgICAgICAgcHJpbnRCbG9ja0luc3RyKGluc3RydWN0aW9uUHRyIC0gMiwgZnJv
bS5tX29mZnNldCwgMyk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICB9CisgICAgICAg
IH0KIAogICAgICAgICAgLyogTU9WICNpbW0sIHJlZyA9PiBMRFIgcmVnCiAgICAgICAgICAgICBi
cmFmIEByZWcgICAgICAgIGJyYWYgQHJlZwpAQCAtMjA3NywxMiArMjA5MCwxMiBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBwcmludGZTdGRvdXRJbnN0cigiPj4gcmVwYXRjaCBpbnN0cnVjdGlv
bnMgYWZ0ZXIgbGlua1xuIik7CiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IG5iSW5zdHI7
IGkrKykKLSAgICAgICAgICAgcHJpbnRJbnN0cigqKGZpcnN0ICsgaSksIG9mZnNldCArIGkpOwor
ICAgICAgICAgICAgcHJpbnRJbnN0cigqKGZpcnN0ICsgaSksIG9mZnNldCArIGkpOwogICAgICAg
ICBwcmludGZTdGRvdXRJbnN0cigiPj4gZW5kIHJlcGF0Y2hcbiIpOwogICAgIH0KICNlbHNlCi0g
ICAgc3RhdGljIHZvaWQgcHJpbnRJbnN0cih1aW50MTZfdCBvcGMsIHVuc2lnbmVkIGludCBzaXpl
LCBib29sIGlzZG91YmxlSW5zdCA9IHRydWUpIHt9OwotICAgIHN0YXRpYyB2b2lkIHByaW50Qmxv
Y2tJbnN0cih1aW50MTZfdCogZmlyc3QsIHVuc2lnbmVkIGludCBvZmZzZXQsIGludCBuYkluc3Ry
KSB7fTsKKyAgICBzdGF0aWMgdm9pZCBwcmludEluc3RyKHVpbnQxNl90IG9wYywgdW5zaWduZWQg
aW50IHNpemUsIGJvb2wgaXNkb3VibGVJbnN0ID0gdHJ1ZSkgeyB9OworICAgIHN0YXRpYyB2b2lk
IHByaW50QmxvY2tJbnN0cih1aW50MTZfdCogZmlyc3QsIHVuc2lnbmVkIGludCBvZmZzZXQsIGlu
dCBuYkluc3RyKSB7IH07CiAjZW5kaWYKIAogICAgIHN0YXRpYyB2b2lkIHJlcGxhY2VXaXRoTG9h
ZCh2b2lkKiBpbnN0cnVjdGlvblN0YXJ0KQpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM1NTY0
KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTItMTEtMjMgIEp1bGllbiBCUklBTkNFQVUgICA8amJyaWFuY2VhdUBuZHMuY29t
PgorCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiAoT09QUyEpLgorICAgICAgICBO
ZWVkIHRoZSBidWcgVVJMIChPT1BTISkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1
Y2ggYXMgYXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3Jp
cHRpb25zIGJlbG93IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisK
KyAgICAgICAgKiBicmlkZ2UvbnBydW50aW1lLmNwcDoKKyAgICAgICAgKE5QTl9Jbml0aWFsaXpl
VmFyaWFudFdpdGhTdHJpbmdDb3B5KToKKwogMjAxMi0xMS0yMyAgVGhpYWdvIE1hcmNvcyBQLiBT
YW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAogICAgICAgICBFeHBvc2UgRE9NIGlu
dGVyZmFjZSBmb3IgQ1NTIERldmljZSBBZGFwdGF0aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175743</attachid>
            <date>2012-11-23 00:34:22 -0800</date>
            <delta_ts>2012-11-23 03:08:48 -0800</delta_ts>
            <desc>Add missing implementation in SH4 JIT</desc>
            <filename>javascript_sh4_jit_build_fix2.patch</filename>
            <type>text/plain</type>
            <size>14219</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM1NTY0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDEyLTExLTIzICBKdWxpZW4gQlJJQU5DRUFVICAgPGpicmlhbmNlYXVAbmRzLmNvbT4KKwor
ICAgICAgICBbc2g0XSBKYXZhU2NyaXB0Q29yZSBKSVQgYnVpbGQgaXMgYnJva2VuIHNpbmNlIHIx
MzA4MzkKKyAgICAgICAgQWRkIG1pc3NpbmcgaW1wbGVtZW50YXRpb24gZm9yIHNoNCBhcmNoLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNDc5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6
OmxvYWQ4U2lnbmVkKToKKyAgICAgICAgKE1hY3JvQXNzZW1ibGVyU0g0KToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmxvYWQxNlNpZ25lZCk6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyU0g0OjpzdG9yZTgpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6
c3RvcmUxNik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0Ojptb3ZlRG91YmxlVG9J
bnRzKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6Om1vdmVJbnRzVG9Eb3VibGUp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZEZsb2F0KToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmxvYWREb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlclNINDo6c3RvcmVGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
U0g0OjpzdG9yZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0OjphZGRE
b3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6Y29udmVydEZsb2F0VG9E
b3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6Y29udmVydERvdWJsZVRv
RmxvYXQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6dXJzaGlmdDMyKToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvU0g0QXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6OlNINEFzc2Vt
Ymxlcjo6c3VibFJlZ1JlZyk6CisgICAgICAgIChKU0M6OlNINEFzc2VtYmxlcjo6c3VidmxSZWdS
ZWcpOgorICAgICAgICAoSlNDOjpTSDRBc3NlbWJsZXI6OmZsb2F0ZnB1bGZybik6CisgICAgICAg
IChKU0M6OlNINEFzc2VtYmxlcjo6Zmxkc2ZwdWwpOgorICAgICAgICAoSlNDOjpTSDRBc3NlbWJs
ZXI6OmZzdHNmcHVsKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjpkY252c2QpOgorICAg
ICAgICAoU0g0QXNzZW1ibGVyKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjptb3ZiUmVn
TWVtKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjpzaXplT2ZDb25zdGFudFBvb2wpOgor
ICAgICAgICAoSlNDOjpTSDRBc3NlbWJsZXI6OmxpbmtKdW1wKToKKyAgICAgICAgKEpTQzo6U0g0
QXNzZW1ibGVyOjpwcmludEJsb2NrSW5zdHIpOgorICAgICAgICAoSlNDOjpTSDRBc3NlbWJsZXI6
OnByaW50SW5zdHIpOgorCiAyMDEyLTExLTIyICBCYWxhenMgS2lsdmFkeSAgPGtpbHZhZHliQGhv
bWVqaW5uaS5jb20+CiAKICAgICAgICAgRml4IHRoZSBNSVBTIGJ1aWxkIGFmdGVyIHIxMzUzMzAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyU0g0LmgJKHJldmlzaW9uIDEzNTUyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaAkod29ya2luZyBjb3B5KQpAQCAtNjAyLDYgKzYw
MiwxNiBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAg
IHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAgfQogCisgICAgdm9pZCBsb2FkOFNpZ25lZChCYXNl
SW5kZXggYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJ
RCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKyAgICAgICAgbW92ZShhZGRyZXNzLmluZGV4LCBzY3Ip
OworICAgICAgICBsc2hpZnQzMihUcnVzdGVkSW1tMzIoYWRkcmVzcy5zY2FsZSksIHNjcik7Cisg
ICAgICAgIGFkZDMyKGFkZHJlc3MuYmFzZSwgc2NyKTsKKyAgICAgICAgbG9hZDhTaWduZWQoc2Ny
LCBhZGRyZXNzLm9mZnNldCwgZGVzdCk7CisgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7Cisg
ICAgfQorCiAgICAgdm9pZCBsb2FkMzIoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVz
dCkKICAgICB7CiAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7CkBAIC02
NDksNiArNjU5LDMyIEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMK
ICAgICAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAgfQogCisgICAgdm9pZCBsb2Fk
OFNpZ25lZChSZWdpc3RlcklEIGJhc2UsIGludCBvZmZzZXQsIFJlZ2lzdGVySUQgZGVzdCkKKyAg
ICB7CisgICAgICAgIGlmICghb2Zmc2V0KSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3Zi
TWVtUmVnKGJhc2UsIGRlc3QpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKChvZmZzZXQgPiAwKSAmJiAob2Zmc2V0IDwgNjQpICYmIChkZXN0ID09IFNINFJl
Z2lzdGVyczo6cjApKSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKG9mZnNl
dCwgYmFzZSwgZGVzdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoYmFzZSAhPSBkZXN0KSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3Rh
bnQoKG9mZnNldCksIGRlc3QpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhi
YXNlLCBkZXN0KTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmJNZW1SZWcoZGVzdCwgZGVz
dCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBSZWdpc3RlcklE
IHNjciA9IGNsYWltU2NyYXRjaCgpOworICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQo
KG9mZnNldCksIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdSZWcoYmFzZSwgc2Ny
KTsKKyAgICAgICAgbV9hc3NlbWJsZXIubW92Yk1lbVJlZyhzY3IsIGRlc3QpOworICAgICAgICBy
ZWxlYXNlU2NyYXRjaChzY3IpOworICAgIH0KKwogICAgIHZvaWQgbG9hZDgoUmVnaXN0ZXJJRCBi
YXNlLCBpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBpZiAoIW9m
ZnNldCkgewpAQCAtNzQ5LDYgKzc4NSwxMSBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwg
UmVnaXN0ZXJJRCBzCiAgICAgICAgIGV4dHV3KGRlc3QsIGRlc3QpOwogICAgIH0KIAorICAgIHZv
aWQgbG9hZDE2U2lnbmVkKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCisgICAgewor
ICAgICAgICBtX2Fzc2VtYmxlci5tb3Z3TWVtUmVnKHNyYywgZGVzdCk7CisgICAgfQorCiAgICAg
dm9pZCBsb2FkMTYoUmVnaXN0ZXJJRCByMCwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVz
dCkKICAgICB7CiAgICAgICAgIEFTU0VSVChyMCA9PSBTSDRSZWdpc3RlcnM6OnIwKTsKQEAgLTc1
Niw2ICs3OTcsMTIgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwog
ICAgICAgICBleHR1dyhkZXN0LCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIGxvYWQxNlNpZ25l
ZChSZWdpc3RlcklEIHIwLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsK
KyAgICAgICAgQVNTRVJUKHIwID09IFNINFJlZ2lzdGVyczo6cjApOworICAgICAgICBtX2Fzc2Vt
Ymxlci5tb3Z3UjBtcihzcmMsIGRlc3QpOworICAgIH0KKwogICAgIHZvaWQgbG9hZDE2KEJhc2VJ
bmRleCBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBSZWdpc3RlcklE
IHNjciA9IGNsYWltU2NyYXRjaCgpOwpAQCAtNzc1LDYgKzgyMiw1MSBAQCB2b2lkIG9yMzIoVHJ1
c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7
CiAgICAgfQogCisgICAgdm9pZCBsb2FkMTZTaWduZWQoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lz
dGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNo
KCk7CisKKyAgICAgICAgbW92ZShhZGRyZXNzLmluZGV4LCBzY3IpOworICAgICAgICBsc2hpZnQz
MihUcnVzdGVkSW1tMzIoYWRkcmVzcy5zY2FsZSksIHNjcik7CisKKyAgICAgICAgaWYgKGFkZHJl
c3Mub2Zmc2V0KQorICAgICAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKGFkZHJlc3Mub2Zmc2V0
KSwgc2NyKTsKKyAgICAgICAgaWYgKGFkZHJlc3MuYmFzZSA9PSBTSDRSZWdpc3RlcnM6OnIwKQor
ICAgICAgICAgICAgbG9hZDE2U2lnbmVkKGFkZHJlc3MuYmFzZSwgc2NyLCBkZXN0KTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBhZGQzMihhZGRyZXNzLmJhc2UsIHNjcik7CisgICAgICAg
ICAgICBsb2FkMTZTaWduZWQoc2NyLCBkZXN0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlbGVh
c2VTY3JhdGNoKHNjcik7CisgICAgfQorCisgICAgdm9pZCBzdG9yZTgoUmVnaXN0ZXJJRCBzcmMs
IEJhc2VJbmRleCBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFp
bVNjcmF0Y2goKTsKKworICAgICAgICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CisgICAgICAg
IGxzaGlmdDMyKFRydXN0ZWRJbW0zMihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKKyAgICAgICAgYWRk
MzIoYWRkcmVzcy5iYXNlLCBzY3IpOworCisgICAgICAgIG1fYXNzZW1ibGVyLm1vdmJSZWdNZW0o
c3JjLCBzY3IpOworCisgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CisgICAgfQorCisgICAg
dm9pZCBzdG9yZTE2KFJlZ2lzdGVySUQgc3JjLCBCYXNlSW5kZXggYWRkcmVzcykKKyAgICB7Cisg
ICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7CisKKyAgICAgICAgbW92ZShh
ZGRyZXNzLmluZGV4LCBzY3IpOworICAgICAgICBsc2hpZnQzMihUcnVzdGVkSW1tMzIoYWRkcmVz
cy5zY2FsZSksIHNjcik7CisgICAgICAgIGFkZDMyKGFkZHJlc3MuYmFzZSwgc2NyKTsKKworICAg
ICAgICBtX2Fzc2VtYmxlci5tb3Z3UmVnTWVtKHNyYywgc2NyKTsKKworICAgICAgICByZWxlYXNl
U2NyYXRjaChzY3IpOworICAgIH0KKwogICAgIHZvaWQgc3RvcmUzMihSZWdpc3RlcklEIHNyYywg
SW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHNjciA9
IGNsYWltU2NyYXRjaCgpOwpAQCAtOTAwLDEzICs5OTIsNTkgQEAgdm9pZCBvcjMyKFRydXN0ZWRJ
bW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAot
ICAgICAvLyBGbG9hdGluZy1wb2ludCBvcGVyYXRpb25zCisgICAgLy8gRmxvYXRpbmctcG9pbnQg
b3BlcmF0aW9ucwogCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGluZ1BvaW50KCkgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5j
YXRlKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQ
b2ludFNxcnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGbG9h
dGluZ1BvaW50QWJzKCkgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZvaWQgbW92ZURvdWJsZVRv
SW50cyhGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRlc3Qy
KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIuZmxkc2ZwdWwoKEZQUmVnaXN0ZXJJRCkoc3Jj
ICsgMSkpOworICAgICAgICBtX2Fzc2VtYmxlci5zdHNmcHVsUmVnKGRlc3QxKTsKKyAgICAgICAg
bV9hc3NlbWJsZXIuZmxkc2ZwdWwoc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc3RzZnB1bFJl
ZyhkZXN0Mik7CisgICAgfQorCisgICAgdm9pZCBtb3ZlSW50c1RvRG91YmxlKFJlZ2lzdGVySUQg
c3JjMSwgUmVnaXN0ZXJJRCBzcmMyLCBGUFJlZ2lzdGVySUQgZGVzdCwgRlBSZWdpc3RlcklEIHNj
cmF0Y2gpCisgICAgeworICAgICAgICBVTlVTRURfUEFSQU0oc2NyYXRjaCk7CisgICAgICAgIG1f
YXNzZW1ibGVyLmxkc3JtZnB1bChzcmMxKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZnN0c2ZwdWwo
KEZQUmVnaXN0ZXJJRCkoZGVzdCArIDEpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubGRzcm1mcHVs
KHNyYzIpOworICAgICAgICBtX2Fzc2VtYmxlci5mc3RzZnB1bChkZXN0KTsKKyAgICB9CisKKyAg
ICB2b2lkIGxvYWRGbG9hdChCYXNlSW5kZXggYWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCisg
ICAgeworICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOworCisgICAgICAg
IG1vdmUoYWRkcmVzcy5pbmRleCwgc2NyKTsKKyAgICAgICAgbHNoaWZ0MzIoVHJ1c3RlZEltbTMy
KGFkZHJlc3Muc2NhbGUpLCBzY3IpOworICAgICAgICBhZGQzMihhZGRyZXNzLmJhc2UsIHNjcik7
CisgICAgICAgIGlmIChhZGRyZXNzLm9mZnNldCkKKyAgICAgICAgICAgIGFkZDMyKFRydXN0ZWRJ
bW0zMihhZGRyZXNzLm9mZnNldCksIHNjcik7CisKKyAgICAgICAgbV9hc3NlbWJsZXIuZm1vdnNS
ZWFkcm0oc2NyLCBkZXN0KTsKKyAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKKyAgICB9CisK
KyAgICB2b2lkIGxvYWREb3VibGUoQmFzZUluZGV4IGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0
KQorICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKworICAg
ICAgICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CisgICAgICAgIGxzaGlmdDMyKFRydXN0ZWRJ
bW0zMihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKKyAgICAgICAgYWRkMzIoYWRkcmVzcy5iYXNlLCBz
Y3IpOworICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQpCisgICAgICAgICAgICBhZGQzMihUcnVz
dGVkSW1tMzIoYWRkcmVzcy5vZmZzZXQpLCBzY3IpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmZt
b3ZzUmVhZHJtaW5jKHNjciwgKEZQUmVnaXN0ZXJJRCkoZGVzdCArIDEpKTsKKyAgICAgICAgbV9h
c3NlbWJsZXIuZm1vdnNSZWFkcm0oc2NyLCBkZXN0KTsKKyAgICAgICAgcmVsZWFzZVNjcmF0Y2go
c2NyKTsKKyAgICB9CisKICAgICB2b2lkIGxvYWREb3VibGUoSW1wbGljaXRBZGRyZXNzIGFkZHJl
c3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBj
bGFpbVNjcmF0Y2goKTsKQEAgLTkzNSw2ICsxMDczLDIxIEBAIHZvaWQgb3IzMihUcnVzdGVkSW1t
MzIgaW1tLCBSZWdpc3RlcklEIHMKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICB9
CiAKKyAgICB2b2lkIHN0b3JlRmxvYXQoRlBSZWdpc3RlcklEIHNyYywgQmFzZUluZGV4IGFkZHJl
c3MpCisgICAgeworICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOworCisg
ICAgICAgIG1vdmUoYWRkcmVzcy5pbmRleCwgc2NyKTsKKyAgICAgICAgbHNoaWZ0MzIoVHJ1c3Rl
ZEltbTMyKGFkZHJlc3Muc2NhbGUpLCBzY3IpOworICAgICAgICBhZGQzMihhZGRyZXNzLmJhc2Us
IHNjcik7CisgICAgICAgIGlmIChhZGRyZXNzLm9mZnNldCkKKyAgICAgICAgICAgIGFkZDMyKFRy
dXN0ZWRJbW0zMihhZGRyZXNzLm9mZnNldCksIHNjcik7CisKKyAgICAgICAgbV9hc3NlbWJsZXIu
Zm1vdnNXcml0ZXJtKHNyYywgc2NyKTsKKworICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IpOwor
ICAgIH0KKwogICAgIHZvaWQgc3RvcmVEb3VibGUoRlBSZWdpc3RlcklEIHNyYywgSW1wbGljaXRB
ZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2Ny
YXRjaCgpOwpAQCAtOTQ2LDExICsxMDk5LDQ0IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1t
LCBSZWdpc3RlcklEIHMKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICB9CiAKKyAg
ICB2b2lkIHN0b3JlRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEJhc2VJbmRleCBhZGRyZXNzKQor
ICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKworICAgICAg
ICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CisgICAgICAgIGxzaGlmdDMyKFRydXN0ZWRJbW0z
MihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKKyAgICAgICAgYWRkMzIoYWRkcmVzcy5iYXNlLCBzY3Ip
OworICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQpCisgICAgICAgICAgICBhZGQzMihUcnVzdGVk
SW1tMzIoYWRkcmVzcy5vZmZzZXQpLCBzY3IpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmZtb3Zz
V3JpdGVybSgoRlBSZWdpc3RlcklEKShzcmMgKyAxKSwgc2NyKTsKKyAgICAgICAgbV9hc3NlbWJs
ZXIuYWRkbEltbThyKDQsIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmZtb3ZzV3JpdGVybShz
cmMsIHNjcik7CisKKyAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKKyAgICB9CisKKyAgICB2
b2lkIGFkZERvdWJsZShGUFJlZ2lzdGVySUQgb3AxLCBGUFJlZ2lzdGVySUQgb3AyLCBGUFJlZ2lz
dGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIGlmIChvcDEgPT0gZGVzdCkKKyAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmRhZGRSZWdSZWcob3AyLCBkZXN0KTsKKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBtX2Fzc2VtYmxlci5kbW92UmVnUmVnKG9wMSwgZGVzdCk7CisgICAgICAgICAgICBt
X2Fzc2VtYmxlci5kYWRkUmVnUmVnKG9wMiwgZGVzdCk7CisgICAgICAgIH0KKyAgICB9CisKICAg
ICB2b2lkIGFkZERvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAg
ICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmRhZGRSZWdSZWcoc3JjLCBkZXN0KTsKICAgICB9CiAK
KyAgICB2b2lkIGFkZERvdWJsZShBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgRlBSZWdpc3RlcklE
IGRlc3QpCisgICAgeworICAgICAgICBsb2FkRG91YmxlKGFkZHJlc3MubV9wdHIsIGZzY3JhdGNo
KTsKKyAgICAgICAgYWRkRG91YmxlKGZzY3JhdGNoLCBkZXN0KTsKKyAgICB9CisKICAgICB2b2lk
IGFkZERvdWJsZShBZGRyZXNzIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAg
ICAgICAgbG9hZERvdWJsZShhZGRyZXNzLCBmc2NyYXRjaCk7CkBAIC05ODQsNiArMTE3MCwxOCBA
QCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIG1fYXNz
ZW1ibGVyLmRkaXZSZWdSZWcoc3JjLCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIGNvbnZlcnRG
bG9hdFRvRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkc3QpCisgICAgewor
ICAgICAgICBtX2Fzc2VtYmxlci5mbGRzZnB1bChzcmMpOworICAgICAgICBtX2Fzc2VtYmxlci5k
Y252c2QoZHN0KTsKKyAgICB9CisKKyAgICB2b2lkIGNvbnZlcnREb3VibGVUb0Zsb2F0KEZQUmVn
aXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxl
ci5kY252ZHMoc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZnN0c2ZwdWwoZHN0KTsKKyAgICB9
CisKICAgICB2b2lkIGNvbnZlcnRJbnQzMlRvRG91YmxlKFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lz
dGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmxkc3JtZnB1bChzcmMpOwpA
QCAtMTg5Myw3ICsyMDkxLDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVy
SUQgcwogICAgIHZvaWQgdXJzaGlmdDMyKFJlZ2lzdGVySUQgc3JjLCBUcnVzdGVkSW1tMzIgc2hp
ZnRhbW91bnQsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmIChzcmMgIT0gZGVz
dCkKLSAgICAgICAgICAgbW92ZShzcmMsIGRlc3QpOworICAgICAgICAgICAgbW92ZShzcmMsIGRl
c3QpOwogCiAgICAgICAgIHVyc2hpZnQzMihzaGlmdGFtb3VudCwgZGVzdCk7CiAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9TSDRBc3NlbWJsZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1NINEFzc2VtYmxlci5oCShy
ZXZpc2lvbiAxMzU1MjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1NINEFz
c2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsNiArMTY2LDcgQEAgZW51bSB7CiAgICAg
Rk1PVlNfV1JJVEVfUk5fREVDX09QQ09ERSA9IDB4ZjAwYiwKICAgICBGTU9WU19XUklURV9SMFJO
X09QQ09ERSA9IDB4ZjAwNywKICAgICBGQ05WRFNfRFJNX0ZQVUxfT1BDT0RFID0gMHhmMGJkLAor
ICAgIEZDTlZTRF9GUFVMX0RSTl9PUENPREUgPSAweGYwYWQsCiAgICAgTERTX1JNX0ZQVUxfT1BD
T0RFID0gMHg0MDVhLAogICAgIEZMRFNfRlJNX0ZQVUxfT1BDT0RFID0gMHhmMDFkLAogICAgIFNU
U19GUFVMX1JOX09QQ09ERSA9IDB4MDA1YSwKQEAgLTQ5MSwxNCArNDkyLDE0IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgc3VibFJlZ1JlZyhSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCiAg
ICAgewotICAgICAgICAgdWludDE2X3Qgb3BjID0gZ2V0T3Bjb2RlR3JvdXAxKFNVQl9PUENPREUs
IGRzdCwgc3JjKTsKLSAgICAgICAgIG9uZVNob3J0T3Aob3BjKTsKKyAgICAgICAgdWludDE2X3Qg
b3BjID0gZ2V0T3Bjb2RlR3JvdXAxKFNVQl9PUENPREUsIGRzdCwgc3JjKTsKKyAgICAgICAgb25l
U2hvcnRPcChvcGMpOwogICAgIH0KIAogICAgIHZvaWQgc3VidmxSZWdSZWcoUmVnaXN0ZXJJRCBz
cmMsIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAgIHVpbnQxNl90IG9wYyA9IGdldE9w
Y29kZUdyb3VwMShTVUJWX09QQ09ERSwgZHN0LCBzcmMpOwotICAgICAgICAgb25lU2hvcnRPcChv
cGMpOworICAgICAgICB1aW50MTZfdCBvcGMgPSBnZXRPcGNvZGVHcm91cDEoU1VCVl9PUENPREUs
IGRzdCwgc3JjKTsKKyAgICAgICAgb25lU2hvcnRPcChvcGMpOwogICAgIH0KIAogICAgIHZvaWQg
eG9ybFJlZ1JlZyhSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCkBAIC04MDMsNyArODA0
LDcgQEAgcHVibGljOgogICAgICAgICBvbmVTaG9ydE9wKG9wYyk7CiAgICAgfQogCi0gICAgdm9p
ZCBmbG9hdGZwdWxmcm4oUmVnaXN0ZXJJRCBzcmMpCisgICAgdm9pZCBmbG9hdGZwdWxmcm4oRlBS
ZWdpc3RlcklEIHNyYykKICAgICB7CiAgICAgICAgIHVpbnQxNl90IG9wYyA9IGdldE9wY29kZUdy
b3VwMihGTE9BVF9PUENPREUsIHNyYyk7CiAgICAgICAgIG9uZVNob3J0T3Aob3BjLCB0cnVlLCBm
YWxzZSk7CkBAIC04NTcsMTMgKzg1OCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIG9uZVNob3J0T3Ao
b3BjLCB0cnVlLCBmYWxzZSk7CiAgICAgfQogCi0gICAgdm9pZCBmbGRzZnB1bChSZWdpc3RlcklE
IHNyYykKKyAgICB2b2lkIGZsZHNmcHVsKEZQUmVnaXN0ZXJJRCBzcmMpCiAgICAgewogICAgICAg
ICB1aW50MTZfdCBvcGMgPSBnZXRPcGNvZGVHcm91cDIoRkxEU19GUk1fRlBVTF9PUENPREUsIHNy
Yyk7CiAgICAgICAgIG9uZVNob3J0T3Aob3BjKTsKICAgICB9CiAKLSAgICB2b2lkIGZzdHNmcHVs
KFJlZ2lzdGVySUQgc3JjKQorICAgIHZvaWQgZnN0c2ZwdWwoRlBSZWdpc3RlcklEIHNyYykKICAg
ICB7CiAgICAgICAgIHVpbnQxNl90IG9wYyA9IGdldE9wY29kZUdyb3VwMihGU1RTX0ZQVUxfRlJO
X09QQ09ERSwgc3JjKTsKICAgICAgICAgb25lU2hvcnRPcChvcGMpOwpAQCAtODg5LDYgKzg5MCwx
MiBAQCBwdWJsaWM6CiAgICAgICAgIG9uZVNob3J0T3Aob3BjKTsKICAgICB9CiAKKyAgICB2b2lk
IGRjbnZzZChGUFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgdWludDE2X3Qgb3BjID0g
Z2V0T3Bjb2RlR3JvdXA3KEZDTlZTRF9GUFVMX0RSTl9PUENPREUsIGRzdCA+PiAxKTsKKyAgICAg
ICAgb25lU2hvcnRPcChvcGMpOworICAgIH0KKwogICAgIHZvaWQgZGNtcHBlcShGUFJlZ2lzdGVy
SUQgc3JjLCBGUFJlZ2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgdWludDE2X3Qgb3BjID0g
Z2V0T3Bjb2RlR3JvdXA4KEZDTVBFUV9PUENPREUsIGRzdCA+PiAxLCBzcmMgPj4gMSk7CkBAIC0x
MDgyLDYgKzEwODksMTIgQEAgcHVibGljOgogICAgICAgICBvbmVTaG9ydE9wKGdldE9wY29kZUdy
b3VwNChNT1ZMX1JFQURfT0ZGUk1fT1BDT0RFLCBkc3QsIGJhc2UsIG9mZnNldCkpOwogICAgIH0K
IAorICAgIHZvaWQgbW92YlJlZ01lbShSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBiYXNlKQor
ICAgIHsKKyAgICAgICAgdWludDE2X3Qgb3BjID0gZ2V0T3Bjb2RlR3JvdXAxKE1PVkJfV1JJVEVf
Uk5fT1BDT0RFLCBiYXNlLCBzcmMpOworICAgICAgICBvbmVTaG9ydE9wKG9wYyk7CisgICAgfQor
CiAgICAgdm9pZCBtb3ZiTWVtUmVnKGludCBvZmZzZXQsIFJlZ2lzdGVySUQgYmFzZSwgUmVnaXN0
ZXJJRCBkc3QpCiAgICAgewogICAgICAgICBBU1NFUlQoZHN0ID09IFNINFJlZ2lzdGVyczo6cjAp
OwpAQCAtMTI1Myw3ICsxMjY2LDcgQEAgcHVibGljOgogCiAgICAgaW50IHNpemVPZkNvbnN0YW50
UG9vbCgpCiAgICAgewotICAgICAgICAgcmV0dXJuIG1fYnVmZmVyLnNpemVPZkNvbnN0YW50UG9v
bCgpOworICAgICAgICByZXR1cm4gbV9idWZmZXIuc2l6ZU9mQ29uc3RhbnRQb29sKCk7CiAgICAg
fQogCiAgICAgQXNzZW1ibGVyTGFiZWwgYWxpZ24oaW50IGFsaWdubWVudCkKQEAgLTEzMDUsNyAr
MTMxOCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICppbnN0cnVjdGlvblB0ciA9IGluc3RydWN0
aW9uOwogICAgICAgICAgICAgcHJpbnRCbG9ja0luc3RyKGluc3RydWN0aW9uUHRyIC0gMiwgZnJv
bS5tX29mZnNldCwgMyk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICB9CisgICAgICAg
IH0KIAogICAgICAgICAgLyogTU9WICNpbW0sIHJlZyA9PiBMRFIgcmVnCiAgICAgICAgICAgICBi
cmFmIEByZWcgICAgICAgIGJyYWYgQHJlZwpAQCAtMjA3NywxMiArMjA5MCwxMiBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBwcmludGZTdGRvdXRJbnN0cigiPj4gcmVwYXRjaCBpbnN0cnVjdGlv
bnMgYWZ0ZXIgbGlua1xuIik7CiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IG5iSW5zdHI7
IGkrKykKLSAgICAgICAgICAgcHJpbnRJbnN0cigqKGZpcnN0ICsgaSksIG9mZnNldCArIGkpOwor
ICAgICAgICAgICAgcHJpbnRJbnN0cigqKGZpcnN0ICsgaSksIG9mZnNldCArIGkpOwogICAgICAg
ICBwcmludGZTdGRvdXRJbnN0cigiPj4gZW5kIHJlcGF0Y2hcbiIpOwogICAgIH0KICNlbHNlCi0g
ICAgc3RhdGljIHZvaWQgcHJpbnRJbnN0cih1aW50MTZfdCBvcGMsIHVuc2lnbmVkIGludCBzaXpl
LCBib29sIGlzZG91YmxlSW5zdCA9IHRydWUpIHt9OwotICAgIHN0YXRpYyB2b2lkIHByaW50Qmxv
Y2tJbnN0cih1aW50MTZfdCogZmlyc3QsIHVuc2lnbmVkIGludCBvZmZzZXQsIGludCBuYkluc3Ry
KSB7fTsKKyAgICBzdGF0aWMgdm9pZCBwcmludEluc3RyKHVpbnQxNl90IG9wYywgdW5zaWduZWQg
aW50IHNpemUsIGJvb2wgaXNkb3VibGVJbnN0ID0gdHJ1ZSkgeyB9OworICAgIHN0YXRpYyB2b2lk
IHByaW50QmxvY2tJbnN0cih1aW50MTZfdCogZmlyc3QsIHVuc2lnbmVkIGludCBvZmZzZXQsIGlu
dCBuYkluc3RyKSB7IH07CiAjZW5kaWYKIAogICAgIHN0YXRpYyB2b2lkIHJlcGxhY2VXaXRoTG9h
ZCh2b2lkKiBpbnN0cnVjdGlvblN0YXJ0KQo=
</data>
<flag name="review"
          id="191287"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
    <flag name="commit-queue"
          id="191288"
          type_id="3"
          status="-"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175764</attachid>
            <date>2012-11-23 03:07:59 -0800</date>
            <delta_ts>2012-11-23 05:12:11 -0800</delta_ts>
            <desc>Add missing implementation in SH4 JIT (with style fix)</desc>
            <filename>javascript_sh4_jit_build_fix3.patch</filename>
            <type>text/plain</type>
            <size>15017</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM1NTc4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDEyLTExLTIzICBKdWxpZW4gQlJJQU5DRUFVICAgPGpicmlhbmNlYXVAbmRzLmNvbT4KKwor
ICAgICAgICBbc2g0XSBKYXZhU2NyaXB0Q29yZSBKSVQgYnVpbGQgaXMgYnJva2VuIHNpbmNlIHIx
MzA4MzkKKyAgICAgICAgQWRkIG1pc3NpbmcgaW1wbGVtZW50YXRpb24gZm9yIHNoNCBhcmNoLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNDc5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6
OmxvYWQ4U2lnbmVkKToKKyAgICAgICAgKE1hY3JvQXNzZW1ibGVyU0g0KToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmxvYWQxNlNpZ25lZCk6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyU0g0OjpzdG9yZTgpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6
c3RvcmUxNik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0Ojptb3ZlRG91YmxlVG9J
bnRzKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6Om1vdmVJbnRzVG9Eb3VibGUp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZEZsb2F0KToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmxvYWREb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlclNINDo6c3RvcmVGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
U0g0OjpzdG9yZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0OjphZGRE
b3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6Y29udmVydEZsb2F0VG9E
b3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6Y29udmVydERvdWJsZVRv
RmxvYXQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6dXJzaGlmdDMyKToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvU0g0QXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6OlNINEFzc2Vt
Ymxlcjo6c3VibFJlZ1JlZyk6CisgICAgICAgIChKU0M6OlNINEFzc2VtYmxlcjo6c3VidmxSZWdS
ZWcpOgorICAgICAgICAoSlNDOjpTSDRBc3NlbWJsZXI6OmZsb2F0ZnB1bGZybik6CisgICAgICAg
IChKU0M6OlNINEFzc2VtYmxlcjo6Zmxkc2ZwdWwpOgorICAgICAgICAoSlNDOjpTSDRBc3NlbWJs
ZXI6OmZzdHNmcHVsKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjpkY252c2QpOgorICAg
ICAgICAoU0g0QXNzZW1ibGVyKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjptb3ZiUmVn
TWVtKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjpzaXplT2ZDb25zdGFudFBvb2wpOgor
ICAgICAgICAoSlNDOjpTSDRBc3NlbWJsZXI6OmxpbmtKdW1wKToKKyAgICAgICAgKEpTQzo6U0g0
QXNzZW1ibGVyOjpwcmludEluc3RyKToKKyAgICAgICAgKEpTQzo6U0g0QXNzZW1ibGVyOjpwcmlu
dEJsb2NrSW5zdHIpOgorCiAyMDEyLTExLTIyICBCYWxhenMgS2lsdmFkeSAgPGtpbHZhZHliQGhv
bWVqaW5uaS5jb20+CiAKICAgICAgICAgRml4IHRoZSBNSVBTIGJ1aWxkIGFmdGVyIHIxMzUzMzAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyU0g0LmgJKHJldmlzaW9uIDEzNTUyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaAkod29ya2luZyBjb3B5KQpAQCAtNjAyLDYgKzYw
MiwxNiBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAg
IHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAgfQogCisgICAgdm9pZCBsb2FkOFNpZ25lZChCYXNl
SW5kZXggYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJ
RCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKyAgICAgICAgbW92ZShhZGRyZXNzLmluZGV4LCBzY3Ip
OworICAgICAgICBsc2hpZnQzMihUcnVzdGVkSW1tMzIoYWRkcmVzcy5zY2FsZSksIHNjcik7Cisg
ICAgICAgIGFkZDMyKGFkZHJlc3MuYmFzZSwgc2NyKTsKKyAgICAgICAgbG9hZDhTaWduZWQoc2Ny
LCBhZGRyZXNzLm9mZnNldCwgZGVzdCk7CisgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7Cisg
ICAgfQorCiAgICAgdm9pZCBsb2FkMzIoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVz
dCkKICAgICB7CiAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7CkBAIC02
NDksNiArNjU5LDMyIEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMK
ICAgICAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAgfQogCisgICAgdm9pZCBsb2Fk
OFNpZ25lZChSZWdpc3RlcklEIGJhc2UsIGludCBvZmZzZXQsIFJlZ2lzdGVySUQgZGVzdCkKKyAg
ICB7CisgICAgICAgIGlmICghb2Zmc2V0KSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3Zi
TWVtUmVnKGJhc2UsIGRlc3QpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKChvZmZzZXQgPiAwKSAmJiAob2Zmc2V0IDwgNjQpICYmIChkZXN0ID09IFNINFJl
Z2lzdGVyczo6cjApKSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKG9mZnNl
dCwgYmFzZSwgZGVzdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoYmFzZSAhPSBkZXN0KSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3Rh
bnQoKG9mZnNldCksIGRlc3QpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhi
YXNlLCBkZXN0KTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmJNZW1SZWcoZGVzdCwgZGVz
dCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBSZWdpc3RlcklE
IHNjciA9IGNsYWltU2NyYXRjaCgpOworICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQo
KG9mZnNldCksIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdSZWcoYmFzZSwgc2Ny
KTsKKyAgICAgICAgbV9hc3NlbWJsZXIubW92Yk1lbVJlZyhzY3IsIGRlc3QpOworICAgICAgICBy
ZWxlYXNlU2NyYXRjaChzY3IpOworICAgIH0KKwogICAgIHZvaWQgbG9hZDgoUmVnaXN0ZXJJRCBi
YXNlLCBpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBpZiAoIW9m
ZnNldCkgewpAQCAtNzQ5LDYgKzc4NSwxMSBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwg
UmVnaXN0ZXJJRCBzCiAgICAgICAgIGV4dHV3KGRlc3QsIGRlc3QpOwogICAgIH0KIAorICAgIHZv
aWQgbG9hZDE2U2lnbmVkKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCisgICAgewor
ICAgICAgICBtX2Fzc2VtYmxlci5tb3Z3TWVtUmVnKHNyYywgZGVzdCk7CisgICAgfQorCiAgICAg
dm9pZCBsb2FkMTYoUmVnaXN0ZXJJRCByMCwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVz
dCkKICAgICB7CiAgICAgICAgIEFTU0VSVChyMCA9PSBTSDRSZWdpc3RlcnM6OnIwKTsKQEAgLTc1
Niw2ICs3OTcsMTIgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwog
ICAgICAgICBleHR1dyhkZXN0LCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIGxvYWQxNlNpZ25l
ZChSZWdpc3RlcklEIHIwLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsK
KyAgICAgICAgQVNTRVJUKHIwID09IFNINFJlZ2lzdGVyczo6cjApOworICAgICAgICBtX2Fzc2Vt
Ymxlci5tb3Z3UjBtcihzcmMsIGRlc3QpOworICAgIH0KKwogICAgIHZvaWQgbG9hZDE2KEJhc2VJ
bmRleCBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBSZWdpc3RlcklE
IHNjciA9IGNsYWltU2NyYXRjaCgpOwpAQCAtNzc1LDYgKzgyMiw1MSBAQCB2b2lkIG9yMzIoVHJ1
c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7
CiAgICAgfQogCisgICAgdm9pZCBsb2FkMTZTaWduZWQoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lz
dGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNo
KCk7CisKKyAgICAgICAgbW92ZShhZGRyZXNzLmluZGV4LCBzY3IpOworICAgICAgICBsc2hpZnQz
MihUcnVzdGVkSW1tMzIoYWRkcmVzcy5zY2FsZSksIHNjcik7CisKKyAgICAgICAgaWYgKGFkZHJl
c3Mub2Zmc2V0KQorICAgICAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKGFkZHJlc3Mub2Zmc2V0
KSwgc2NyKTsKKyAgICAgICAgaWYgKGFkZHJlc3MuYmFzZSA9PSBTSDRSZWdpc3RlcnM6OnIwKQor
ICAgICAgICAgICAgbG9hZDE2U2lnbmVkKGFkZHJlc3MuYmFzZSwgc2NyLCBkZXN0KTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBhZGQzMihhZGRyZXNzLmJhc2UsIHNjcik7CisgICAgICAg
ICAgICBsb2FkMTZTaWduZWQoc2NyLCBkZXN0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlbGVh
c2VTY3JhdGNoKHNjcik7CisgICAgfQorCisgICAgdm9pZCBzdG9yZTgoUmVnaXN0ZXJJRCBzcmMs
IEJhc2VJbmRleCBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFp
bVNjcmF0Y2goKTsKKworICAgICAgICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CisgICAgICAg
IGxzaGlmdDMyKFRydXN0ZWRJbW0zMihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKKyAgICAgICAgYWRk
MzIoYWRkcmVzcy5iYXNlLCBzY3IpOworCisgICAgICAgIG1fYXNzZW1ibGVyLm1vdmJSZWdNZW0o
c3JjLCBzY3IpOworCisgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CisgICAgfQorCisgICAg
dm9pZCBzdG9yZTE2KFJlZ2lzdGVySUQgc3JjLCBCYXNlSW5kZXggYWRkcmVzcykKKyAgICB7Cisg
ICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7CisKKyAgICAgICAgbW92ZShh
ZGRyZXNzLmluZGV4LCBzY3IpOworICAgICAgICBsc2hpZnQzMihUcnVzdGVkSW1tMzIoYWRkcmVz
cy5zY2FsZSksIHNjcik7CisgICAgICAgIGFkZDMyKGFkZHJlc3MuYmFzZSwgc2NyKTsKKworICAg
ICAgICBtX2Fzc2VtYmxlci5tb3Z3UmVnTWVtKHNyYywgc2NyKTsKKworICAgICAgICByZWxlYXNl
U2NyYXRjaChzY3IpOworICAgIH0KKwogICAgIHZvaWQgc3RvcmUzMihSZWdpc3RlcklEIHNyYywg
SW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHNjciA9
IGNsYWltU2NyYXRjaCgpOwpAQCAtOTAwLDEzICs5OTIsNTkgQEAgdm9pZCBvcjMyKFRydXN0ZWRJ
bW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAot
ICAgICAvLyBGbG9hdGluZy1wb2ludCBvcGVyYXRpb25zCisgICAgLy8gRmxvYXRpbmctcG9pbnQg
b3BlcmF0aW9ucwogCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGluZ1BvaW50KCkgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5j
YXRlKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQ
b2ludFNxcnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGbG9h
dGluZ1BvaW50QWJzKCkgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZvaWQgbW92ZURvdWJsZVRv
SW50cyhGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRlc3Qy
KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIuZmxkc2ZwdWwoKEZQUmVnaXN0ZXJJRCkoc3Jj
ICsgMSkpOworICAgICAgICBtX2Fzc2VtYmxlci5zdHNmcHVsUmVnKGRlc3QxKTsKKyAgICAgICAg
bV9hc3NlbWJsZXIuZmxkc2ZwdWwoc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc3RzZnB1bFJl
ZyhkZXN0Mik7CisgICAgfQorCisgICAgdm9pZCBtb3ZlSW50c1RvRG91YmxlKFJlZ2lzdGVySUQg
c3JjMSwgUmVnaXN0ZXJJRCBzcmMyLCBGUFJlZ2lzdGVySUQgZGVzdCwgRlBSZWdpc3RlcklEIHNj
cmF0Y2gpCisgICAgeworICAgICAgICBVTlVTRURfUEFSQU0oc2NyYXRjaCk7CisgICAgICAgIG1f
YXNzZW1ibGVyLmxkc3JtZnB1bChzcmMxKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZnN0c2ZwdWwo
KEZQUmVnaXN0ZXJJRCkoZGVzdCArIDEpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubGRzcm1mcHVs
KHNyYzIpOworICAgICAgICBtX2Fzc2VtYmxlci5mc3RzZnB1bChkZXN0KTsKKyAgICB9CisKKyAg
ICB2b2lkIGxvYWRGbG9hdChCYXNlSW5kZXggYWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCisg
ICAgeworICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOworCisgICAgICAg
IG1vdmUoYWRkcmVzcy5pbmRleCwgc2NyKTsKKyAgICAgICAgbHNoaWZ0MzIoVHJ1c3RlZEltbTMy
KGFkZHJlc3Muc2NhbGUpLCBzY3IpOworICAgICAgICBhZGQzMihhZGRyZXNzLmJhc2UsIHNjcik7
CisgICAgICAgIGlmIChhZGRyZXNzLm9mZnNldCkKKyAgICAgICAgICAgIGFkZDMyKFRydXN0ZWRJ
bW0zMihhZGRyZXNzLm9mZnNldCksIHNjcik7CisKKyAgICAgICAgbV9hc3NlbWJsZXIuZm1vdnNS
ZWFkcm0oc2NyLCBkZXN0KTsKKyAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKKyAgICB9CisK
KyAgICB2b2lkIGxvYWREb3VibGUoQmFzZUluZGV4IGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0
KQorICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKworICAg
ICAgICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CisgICAgICAgIGxzaGlmdDMyKFRydXN0ZWRJ
bW0zMihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKKyAgICAgICAgYWRkMzIoYWRkcmVzcy5iYXNlLCBz
Y3IpOworICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQpCisgICAgICAgICAgICBhZGQzMihUcnVz
dGVkSW1tMzIoYWRkcmVzcy5vZmZzZXQpLCBzY3IpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmZt
b3ZzUmVhZHJtaW5jKHNjciwgKEZQUmVnaXN0ZXJJRCkoZGVzdCArIDEpKTsKKyAgICAgICAgbV9h
c3NlbWJsZXIuZm1vdnNSZWFkcm0oc2NyLCBkZXN0KTsKKyAgICAgICAgcmVsZWFzZVNjcmF0Y2go
c2NyKTsKKyAgICB9CisKICAgICB2b2lkIGxvYWREb3VibGUoSW1wbGljaXRBZGRyZXNzIGFkZHJl
c3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBj
bGFpbVNjcmF0Y2goKTsKQEAgLTkzNSw2ICsxMDczLDIxIEBAIHZvaWQgb3IzMihUcnVzdGVkSW1t
MzIgaW1tLCBSZWdpc3RlcklEIHMKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICB9
CiAKKyAgICB2b2lkIHN0b3JlRmxvYXQoRlBSZWdpc3RlcklEIHNyYywgQmFzZUluZGV4IGFkZHJl
c3MpCisgICAgeworICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOworCisg
ICAgICAgIG1vdmUoYWRkcmVzcy5pbmRleCwgc2NyKTsKKyAgICAgICAgbHNoaWZ0MzIoVHJ1c3Rl
ZEltbTMyKGFkZHJlc3Muc2NhbGUpLCBzY3IpOworICAgICAgICBhZGQzMihhZGRyZXNzLmJhc2Us
IHNjcik7CisgICAgICAgIGlmIChhZGRyZXNzLm9mZnNldCkKKyAgICAgICAgICAgIGFkZDMyKFRy
dXN0ZWRJbW0zMihhZGRyZXNzLm9mZnNldCksIHNjcik7CisKKyAgICAgICAgbV9hc3NlbWJsZXIu
Zm1vdnNXcml0ZXJtKHNyYywgc2NyKTsKKworICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IpOwor
ICAgIH0KKwogICAgIHZvaWQgc3RvcmVEb3VibGUoRlBSZWdpc3RlcklEIHNyYywgSW1wbGljaXRB
ZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2Ny
YXRjaCgpOwpAQCAtOTQ2LDExICsxMDk5LDQ0IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1t
LCBSZWdpc3RlcklEIHMKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICB9CiAKKyAg
ICB2b2lkIHN0b3JlRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEJhc2VJbmRleCBhZGRyZXNzKQor
ICAgIHsKKyAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKKworICAgICAg
ICBtb3ZlKGFkZHJlc3MuaW5kZXgsIHNjcik7CisgICAgICAgIGxzaGlmdDMyKFRydXN0ZWRJbW0z
MihhZGRyZXNzLnNjYWxlKSwgc2NyKTsKKyAgICAgICAgYWRkMzIoYWRkcmVzcy5iYXNlLCBzY3Ip
OworICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQpCisgICAgICAgICAgICBhZGQzMihUcnVzdGVk
SW1tMzIoYWRkcmVzcy5vZmZzZXQpLCBzY3IpOworCisgICAgICAgIG1fYXNzZW1ibGVyLmZtb3Zz
V3JpdGVybSgoRlBSZWdpc3RlcklEKShzcmMgKyAxKSwgc2NyKTsKKyAgICAgICAgbV9hc3NlbWJs
ZXIuYWRkbEltbThyKDQsIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmZtb3ZzV3JpdGVybShz
cmMsIHNjcik7CisKKyAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKKyAgICB9CisKKyAgICB2
b2lkIGFkZERvdWJsZShGUFJlZ2lzdGVySUQgb3AxLCBGUFJlZ2lzdGVySUQgb3AyLCBGUFJlZ2lz
dGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIGlmIChvcDEgPT0gZGVzdCkKKyAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmRhZGRSZWdSZWcob3AyLCBkZXN0KTsKKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBtX2Fzc2VtYmxlci5kbW92UmVnUmVnKG9wMSwgZGVzdCk7CisgICAgICAgICAgICBt
X2Fzc2VtYmxlci5kYWRkUmVnUmVnKG9wMiwgZGVzdCk7CisgICAgICAgIH0KKyAgICB9CisKICAg
ICB2b2lkIGFkZERvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAg
ICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmRhZGRSZWdSZWcoc3JjLCBkZXN0KTsKICAgICB9CiAK
KyAgICB2b2lkIGFkZERvdWJsZShBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgRlBSZWdpc3RlcklE
IGRlc3QpCisgICAgeworICAgICAgICBsb2FkRG91YmxlKGFkZHJlc3MubV9wdHIsIGZzY3JhdGNo
KTsKKyAgICAgICAgYWRkRG91YmxlKGZzY3JhdGNoLCBkZXN0KTsKKyAgICB9CisKICAgICB2b2lk
IGFkZERvdWJsZShBZGRyZXNzIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAg
ICAgICAgbG9hZERvdWJsZShhZGRyZXNzLCBmc2NyYXRjaCk7CkBAIC05ODQsNiArMTE3MCwxOCBA
QCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIG1fYXNz
ZW1ibGVyLmRkaXZSZWdSZWcoc3JjLCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lkIGNvbnZlcnRG
bG9hdFRvRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkc3QpCisgICAgewor
ICAgICAgICBtX2Fzc2VtYmxlci5mbGRzZnB1bChzcmMpOworICAgICAgICBtX2Fzc2VtYmxlci5k
Y252c2QoZHN0KTsKKyAgICB9CisKKyAgICB2b2lkIGNvbnZlcnREb3VibGVUb0Zsb2F0KEZQUmVn
aXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxl
ci5kY252ZHMoc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZnN0c2ZwdWwoZHN0KTsKKyAgICB9
CisKICAgICB2b2lkIGNvbnZlcnRJbnQzMlRvRG91YmxlKFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lz
dGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmxkc3JtZnB1bChzcmMpOwpA
QCAtMTg5Myw3ICsyMDkxLDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVy
SUQgcwogICAgIHZvaWQgdXJzaGlmdDMyKFJlZ2lzdGVySUQgc3JjLCBUcnVzdGVkSW1tMzIgc2hp
ZnRhbW91bnQsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGlmIChzcmMgIT0gZGVz
dCkKLSAgICAgICAgICAgbW92ZShzcmMsIGRlc3QpOworICAgICAgICAgICAgbW92ZShzcmMsIGRl
c3QpOwogCiAgICAgICAgIHVyc2hpZnQzMihzaGlmdGFtb3VudCwgZGVzdCk7CiAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9TSDRBc3NlbWJsZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1NINEFzc2VtYmxlci5oCShy
ZXZpc2lvbiAxMzU1MjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1NINEFz
c2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsNiArMTY2LDcgQEAgZW51bSB7CiAgICAg
Rk1PVlNfV1JJVEVfUk5fREVDX09QQ09ERSA9IDB4ZjAwYiwKICAgICBGTU9WU19XUklURV9SMFJO
X09QQ09ERSA9IDB4ZjAwNywKICAgICBGQ05WRFNfRFJNX0ZQVUxfT1BDT0RFID0gMHhmMGJkLAor
ICAgIEZDTlZTRF9GUFVMX0RSTl9PUENPREUgPSAweGYwYWQsCiAgICAgTERTX1JNX0ZQVUxfT1BD
T0RFID0gMHg0MDVhLAogICAgIEZMRFNfRlJNX0ZQVUxfT1BDT0RFID0gMHhmMDFkLAogICAgIFNU
U19GUFVMX1JOX09QQ09ERSA9IDB4MDA1YSwKQEAgLTMyNiw4ICszMjcsOSBAQCBwdWJsaWM6CiAg
ICAgICAgIHBhZEZvckFsaWduMzIgPSAweDAwMDkwMDA5LAogICAgIH07CiAKLSAgICBlbnVtIEp1
bXBUeXBlIHsgSnVtcEZhciwKLSAgICAgICAgICAgICAgICAgICAgSnVtcE5lYXIKKyAgICBlbnVt
IEp1bXBUeXBlIHsKKyAgICAgICAgSnVtcEZhciwKKyAgICAgICAgSnVtcE5lYXIKICAgICB9Owog
CiAgICAgU0g0QXNzZW1ibGVyKCkKQEAgLTQ5MSwxNCArNDkzLDE0IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgc3VibFJlZ1JlZyhSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCiAgICAgewot
ICAgICAgICAgdWludDE2X3Qgb3BjID0gZ2V0T3Bjb2RlR3JvdXAxKFNVQl9PUENPREUsIGRzdCwg
c3JjKTsKLSAgICAgICAgIG9uZVNob3J0T3Aob3BjKTsKKyAgICAgICAgdWludDE2X3Qgb3BjID0g
Z2V0T3Bjb2RlR3JvdXAxKFNVQl9PUENPREUsIGRzdCwgc3JjKTsKKyAgICAgICAgb25lU2hvcnRP
cChvcGMpOwogICAgIH0KIAogICAgIHZvaWQgc3VidmxSZWdSZWcoUmVnaXN0ZXJJRCBzcmMsIFJl
Z2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAgIHVpbnQxNl90IG9wYyA9IGdldE9wY29kZUdy
b3VwMShTVUJWX09QQ09ERSwgZHN0LCBzcmMpOwotICAgICAgICAgb25lU2hvcnRPcChvcGMpOwor
ICAgICAgICB1aW50MTZfdCBvcGMgPSBnZXRPcGNvZGVHcm91cDEoU1VCVl9PUENPREUsIGRzdCwg
c3JjKTsKKyAgICAgICAgb25lU2hvcnRPcChvcGMpOwogICAgIH0KIAogICAgIHZvaWQgeG9ybFJl
Z1JlZyhSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCkBAIC04MDMsNyArODA1LDcgQEAg
cHVibGljOgogICAgICAgICBvbmVTaG9ydE9wKG9wYyk7CiAgICAgfQogCi0gICAgdm9pZCBmbG9h
dGZwdWxmcm4oUmVnaXN0ZXJJRCBzcmMpCisgICAgdm9pZCBmbG9hdGZwdWxmcm4oRlBSZWdpc3Rl
cklEIHNyYykKICAgICB7CiAgICAgICAgIHVpbnQxNl90IG9wYyA9IGdldE9wY29kZUdyb3VwMihG
TE9BVF9PUENPREUsIHNyYyk7CiAgICAgICAgIG9uZVNob3J0T3Aob3BjLCB0cnVlLCBmYWxzZSk7
CkBAIC04NTcsMTMgKzg1OSwxMyBAQCBwdWJsaWM6CiAgICAgICAgIG9uZVNob3J0T3Aob3BjLCB0
cnVlLCBmYWxzZSk7CiAgICAgfQogCi0gICAgdm9pZCBmbGRzZnB1bChSZWdpc3RlcklEIHNyYykK
KyAgICB2b2lkIGZsZHNmcHVsKEZQUmVnaXN0ZXJJRCBzcmMpCiAgICAgewogICAgICAgICB1aW50
MTZfdCBvcGMgPSBnZXRPcGNvZGVHcm91cDIoRkxEU19GUk1fRlBVTF9PUENPREUsIHNyYyk7CiAg
ICAgICAgIG9uZVNob3J0T3Aob3BjKTsKICAgICB9CiAKLSAgICB2b2lkIGZzdHNmcHVsKFJlZ2lz
dGVySUQgc3JjKQorICAgIHZvaWQgZnN0c2ZwdWwoRlBSZWdpc3RlcklEIHNyYykKICAgICB7CiAg
ICAgICAgIHVpbnQxNl90IG9wYyA9IGdldE9wY29kZUdyb3VwMihGU1RTX0ZQVUxfRlJOX09QQ09E
RSwgc3JjKTsKICAgICAgICAgb25lU2hvcnRPcChvcGMpOwpAQCAtODg5LDYgKzg5MSwxMiBAQCBw
dWJsaWM6CiAgICAgICAgIG9uZVNob3J0T3Aob3BjKTsKICAgICB9CiAKKyAgICB2b2lkIGRjbnZz
ZChGUFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgdWludDE2X3Qgb3BjID0gZ2V0T3Bj
b2RlR3JvdXA3KEZDTlZTRF9GUFVMX0RSTl9PUENPREUsIGRzdCA+PiAxKTsKKyAgICAgICAgb25l
U2hvcnRPcChvcGMpOworICAgIH0KKwogICAgIHZvaWQgZGNtcHBlcShGUFJlZ2lzdGVySUQgc3Jj
LCBGUFJlZ2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgdWludDE2X3Qgb3BjID0gZ2V0T3Bj
b2RlR3JvdXA4KEZDTVBFUV9PUENPREUsIGRzdCA+PiAxLCBzcmMgPj4gMSk7CkBAIC0xMDgyLDYg
KzEwOTAsMTIgQEAgcHVibGljOgogICAgICAgICBvbmVTaG9ydE9wKGdldE9wY29kZUdyb3VwNChN
T1ZMX1JFQURfT0ZGUk1fT1BDT0RFLCBkc3QsIGJhc2UsIG9mZnNldCkpOwogICAgIH0KIAorICAg
IHZvaWQgbW92YlJlZ01lbShSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBiYXNlKQorICAgIHsK
KyAgICAgICAgdWludDE2X3Qgb3BjID0gZ2V0T3Bjb2RlR3JvdXAxKE1PVkJfV1JJVEVfUk5fT1BD
T0RFLCBiYXNlLCBzcmMpOworICAgICAgICBvbmVTaG9ydE9wKG9wYyk7CisgICAgfQorCiAgICAg
dm9pZCBtb3ZiTWVtUmVnKGludCBvZmZzZXQsIFJlZ2lzdGVySUQgYmFzZSwgUmVnaXN0ZXJJRCBk
c3QpCiAgICAgewogICAgICAgICBBU1NFUlQoZHN0ID09IFNINFJlZ2lzdGVyczo6cjApOwpAQCAt
MTI1Myw3ICsxMjY3LDcgQEAgcHVibGljOgogCiAgICAgaW50IHNpemVPZkNvbnN0YW50UG9vbCgp
CiAgICAgewotICAgICAgICAgcmV0dXJuIG1fYnVmZmVyLnNpemVPZkNvbnN0YW50UG9vbCgpOwor
ICAgICAgICByZXR1cm4gbV9idWZmZXIuc2l6ZU9mQ29uc3RhbnRQb29sKCk7CiAgICAgfQogCiAg
ICAgQXNzZW1ibGVyTGFiZWwgYWxpZ24oaW50IGFsaWdubWVudCkKQEAgLTEzMDUsNyArMTMxOSw3
IEBAIHB1YmxpYzoKICAgICAgICAgICAgICppbnN0cnVjdGlvblB0ciA9IGluc3RydWN0aW9uOwog
ICAgICAgICAgICAgcHJpbnRCbG9ja0luc3RyKGluc3RydWN0aW9uUHRyIC0gMiwgZnJvbS5tX29m
ZnNldCwgMyk7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICB9CisgICAgICAgIH0KIAog
ICAgICAgICAgLyogTU9WICNpbW0sIHJlZyA9PiBMRFIgcmVnCiAgICAgICAgICAgICBicmFmIEBy
ZWcgICAgICAgIGJyYWYgQHJlZwpAQCAtMTU5Miw3ICsxNjA2LDcgQEAgcHVibGljOgogICAgIHNp
emVfdCBjb2RlU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLmNvZGVTaXplKCk7IH0KIAog
I2lmZGVmIFNINF9BU1NFTUJMRVJfVFJBQ0lORwotICAgIHN0YXRpYyB2b2lkIHByaW50SW5zdHIo
dWludDE2X3Qgb3BjLCB1bnNpZ25lZCBpbnQgc2l6ZSwgYm9vbCBpc2RvdWJsZUluc3QgPSB0cnVl
KQorICAgIHN0YXRpYyB2b2lkIHByaW50SW5zdHIodWludDE2X3Qgb3BjLCB1bnNpZ25lZCBzaXpl
LCBib29sIGlzZG91YmxlSW5zdCA9IHRydWUpCiAgICAgewogICAgICAgICBpZiAoIWdldGVudigi
SmF2YVNjcmlwdENvcmVEdW1wSklUIikpCiAgICAgICAgICAgICByZXR1cm47CkBAIC0yMDczLDE2
ICsyMDg3LDE2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIFdURjo6ZGF0YUxvZ0ZWKGZvcm1hdCwg
YXJncyk7CiAgICAgfQogCi0gICAgc3RhdGljIHZvaWQgcHJpbnRCbG9ja0luc3RyKHVpbnQxNl90
KiBmaXJzdCwgdW5zaWduZWQgaW50IG9mZnNldCwgaW50IG5iSW5zdHIpCisgICAgc3RhdGljIHZv
aWQgcHJpbnRCbG9ja0luc3RyKHVpbnQxNl90KiBmaXJzdCwgdW5zaWduZWQgb2Zmc2V0LCBpbnQg
bmJJbnN0cikKICAgICB7CiAgICAgICAgIHByaW50ZlN0ZG91dEluc3RyKCI+PiByZXBhdGNoIGlu
c3RydWN0aW9ucyBhZnRlciBsaW5rXG4iKTsKICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPD0g
bmJJbnN0cjsgaSsrKQotICAgICAgICAgICBwcmludEluc3RyKCooZmlyc3QgKyBpKSwgb2Zmc2V0
ICsgaSk7CisgICAgICAgICAgICBwcmludEluc3RyKCooZmlyc3QgKyBpKSwgb2Zmc2V0ICsgaSk7
CiAgICAgICAgIHByaW50ZlN0ZG91dEluc3RyKCI+PiBlbmQgcmVwYXRjaFxuIik7CiAgICAgfQog
I2Vsc2UKLSAgICBzdGF0aWMgdm9pZCBwcmludEluc3RyKHVpbnQxNl90IG9wYywgdW5zaWduZWQg
aW50IHNpemUsIGJvb2wgaXNkb3VibGVJbnN0ID0gdHJ1ZSkge307Ci0gICAgc3RhdGljIHZvaWQg
cHJpbnRCbG9ja0luc3RyKHVpbnQxNl90KiBmaXJzdCwgdW5zaWduZWQgaW50IG9mZnNldCwgaW50
IG5iSW5zdHIpIHt9OworICAgIHN0YXRpYyB2b2lkIHByaW50SW5zdHIodWludDE2X3Qgb3BjLCB1
bnNpZ25lZCBzaXplLCBib29sIGlzZG91YmxlSW5zdCA9IHRydWUpIHsgfTsKKyAgICBzdGF0aWMg
dm9pZCBwcmludEJsb2NrSW5zdHIodWludDE2X3QqIGZpcnN0LCB1bnNpZ25lZCBvZmZzZXQsIGlu
dCBuYkluc3RyKSB7IH07CiAjZW5kaWYKIAogICAgIHN0YXRpYyB2b2lkIHJlcGxhY2VXaXRoTG9h
ZCh2b2lkKiBpbnN0cnVjdGlvblN0YXJ0KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>