<?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>115022</bug_id>
          
          <creation_ts>2013-04-23 01:18:50 -0700</creation_ts>
          <short_desc>[SH4] Misc bugfix and cleaning in sh4 base JIT</short_desc>
          <delta_ts>2013-04-24 17:09:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Julien Brianceau">jbriance</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>mark.lam</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>879667</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-04-23 01:18:50 -0700</bug_when>
    <thetext>Misc bugfix and cleaning in sh4 base JIT:
- remove unused add32() and sub32() with scratchreg parameter to avoid confusion as this function prototype would mean another behaviour
- fix invalid offsets for load8 &amp; load16 used with r0
- remove unused void push(Address) function which seems quite buggy
- fix Jump branchAdd32(ResultCondition, TrustedImm32, AbsoluteAddress): result value must be stored before branch
- cosmetic changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879670</commentid>
    <comment_count>1</comment_count>
      <attachid>199170</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-04-23 01:23:23 -0700</bug_when>
    <thetext>Created attachment 199170
Misc bugfix and cleaning in sh4 base JIT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879789</commentid>
    <comment_count>2</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-04-23 04:52:08 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Misc bugfix and cleaning in sh4 base JIT:
&gt; - remove unused add32() and sub32() with scratchreg parameter to avoid confusion as this function prototype would mean another behaviour
&gt; - fix invalid offsets for load8 &amp; load16 used with r0
&gt; - remove unused void push(Address) function which seems quite buggy
&gt; - fix Jump branchAdd32(ResultCondition, TrustedImm32, AbsoluteAddress): result value must be stored before branch
&gt; - cosmetic changes

It would be nice if these things were mentioned in the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879794</commentid>
    <comment_count>3</comment_count>
      <attachid>199218</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-04-23 05:10:08 -0700</bug_when>
    <thetext>Created attachment 199218
Misc bugfix and cleaning in sh4 base JIT (2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879796</commentid>
    <comment_count>4</comment_count>
      <attachid>199219</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-04-23 05:14:21 -0700</bug_when>
    <thetext>Created attachment 199219
Misc bugfix and cleaning in sh4 base JIT (3)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879893</commentid>
    <comment_count>5</comment_count>
      <attachid>199219</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-04-23 09:44:59 -0700</bug_when>
    <thetext>Comment on attachment 199219
Misc bugfix and cleaning in sh4 base JIT (3)

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

Overall, it looks good to me, but I don’t know how SH4 works.  Have you run any tests after these changes?  For example, &quot;Tools/Scripts/run-javascriptcode-tests&quot; and “Tools/Scripts/run-webkit-tests fast/js/ fast/regex/ ietestcenter/Javascript/ sputnik/“.

&gt; Source/JavaScriptCore/assembler/MacroAssemblerSH4.h:1920
&gt; +                result = (cond == NonZero) ? false : true;

I’d suggest simplifying this to &quot;result = (cond != NonZero);”.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879954</commentid>
    <comment_count>6</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-04-23 10:06:49 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 199219 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=199219&amp;action=review
&gt; 
&gt; Overall, it looks good to me, but I don’t know how SH4 works.  Have you run any tests after these changes?  For example, &quot;Tools/Scripts/run-javascriptcode-tests&quot; and “Tools/Scripts/run-webkit-tests fast/js/ fast/regex/ ietestcenter/Javascript/ sputnik/“.
Current state of SH4 port is not very good: I have to disable the regexp JIT (through JSC_useRegExpJIT env variable) to get something stable.

I use to run Tools/Scripts/run-javascriptcode-tests and QtTestBrowser with SunSpider 0.9.1 (http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html) on my STi7105 board to check that my patch doesn&apos;t introduce regressions.


&gt; &gt; Source/JavaScriptCore/assembler/MacroAssemblerSH4.h:1920
&gt; &gt; +                result = (cond == NonZero) ? false : true;
&gt; 
&gt; I’d suggest simplifying this to &quot;result = (cond != NonZero);”.
I thought of that, but I think it&apos;s easier to read and understand with the current version: if (cond == NonZero) we get a branchFalse, and a branchTrue otherwise. Of course I&apos;m not opposed to change that if you think this is better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880787</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-04-24 14:20:07 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; &gt; Source/JavaScriptCore/assembler/MacroAssemblerSH4.h:1920
&gt; &gt; &gt; +                result = (cond == NonZero) ? false : true;
&gt; &gt; 
&gt; &gt; I’d suggest simplifying this to &quot;result = (cond != NonZero);”.
&gt; I thought of that, but I think it&apos;s easier to read and understand with the current version: if (cond == NonZero) we get a branchFalse, and a branchTrue otherwise. Of course I&apos;m not opposed to change that if you think this is better.

I re-checked the coding style guide and didn&apos;t see anything about this.  So, I&apos;m ok with leaving it as is.  As for the correctness of the SH4 implementation, I&apos;ll have to trust someone else&apos;s judgement on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880798</commentid>
    <comment_count>8</comment_count>
      <attachid>199219</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-04-24 14:34:06 -0700</bug_when>
    <thetext>Comment on attachment 199219
Misc bugfix and cleaning in sh4 base JIT (3)

I&apos;ve taken another look at the SH4 parts.  It looks reasonable to me.  But need someone else to r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880804</commentid>
    <comment_count>9</comment_count>
      <attachid>199219</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-04-24 14:38:58 -0700</bug_when>
    <thetext>Comment on attachment 199219
Misc bugfix and cleaning in sh4 base JIT (3)

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

&gt;&gt;&gt; Source/JavaScriptCore/assembler/MacroAssemblerSH4.h:1920
&gt;&gt;&gt; +                result = (cond == NonZero) ? false : true;
&gt;&gt; 
&gt;&gt; I’d suggest simplifying this to &quot;result = (cond != NonZero);”.
&gt; 
&gt; I thought of that, but I think it&apos;s easier to read and understand with the current version: if (cond == NonZero) we get a branchFalse, and a branchTrue otherwise. Of course I&apos;m not opposed to change that if you think this is better.

I disagree, result = cond != NonZero; is much clearer (there aren&apos;t other places where we use ?: on a boolean operation to distinguish true from false

An alternative would be
enum { BranchTrue, BranchFalse } result;
...
return result == BranchTrue ? branchTrue() : branchFalse();

That might be the cleanest and clearest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880811</commentid>
    <comment_count>10</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-04-24 14:49:33 -0700</bug_when>
    <thetext>Thank you for your review.

(In reply to comment #9)
&gt; I disagree, result = cond != NonZero; is much clearer (there aren&apos;t other places where we use ?: on a boolean operation to distinguish true from false

I see. According ASSERT() and previous branches, we know that (cond == Zero) or (cond == NonZero) at this point, so may I put this instead:

    result = (cond == Zero);

It would be clear for me if (cond == Zero) branchTrue() else branchFalse() and it would fit your style guidelines. Please let me know if you&apos;re ok with that, then I&apos;ll submit a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880823</commentid>
    <comment_count>11</comment_count>
      <attachid>199522</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-04-24 15:23:14 -0700</bug_when>
    <thetext>Created attachment 199522
 Misc bugfix and cleaning in sh4 base JIT (4)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880885</commentid>
    <comment_count>12</comment_count>
      <attachid>199522</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-24 17:09:08 -0700</bug_when>
    <thetext>Comment on attachment 199522
 Misc bugfix and cleaning in sh4 base JIT (4)

Clearing flags on attachment: 199522

Committed r149078: &lt;http://trac.webkit.org/changeset/149078&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880886</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-24 17:09:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199170</attachid>
            <date>2013-04-23 01:23:23 -0700</date>
            <delta_ts>2013-04-23 05:09:47 -0700</delta_ts>
            <desc>Misc bugfix and cleaning in sh4 base JIT</desc>
            <filename>bug-115022.patch</filename>
            <type>text/plain</type>
            <size>11901</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ4OTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDEzLTA0LTIzICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VhdUBuZHMuY29tPgorCisg
ICAgICAgIE1pc2MgYnVnZml4IGFuZCBjbGVhbmluZyBpbiBzaDQgYmFzZSBKSVQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUwMjIuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJTSDQuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmFuZDMy
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmxzaGlmdDMyKToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6Om9yMzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2Vt
YmxlclNINDo6eG9yMzIpOgorICAgICAgICAoTWFjcm9Bc3NlbWJsZXJTSDQpOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJTSDQ6OmxvYWQ4U2lnbmVkKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6
OmxvYWQ4KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6OmxvYWQxNik6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0OjpzdG9yZTMyKToKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJTSDQ6OmJyYW5jaEFkZDMyKToKKwogMjAxMy0wNC0yMiAgTWFyayBMYW0gIDxt
YXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGEgdHlwbyBpbiBNYWNyb0Fzc2VtYmxl
ckFSTXY3LmguCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyU0g0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlclNINC5oCShyZXZpc2lvbiAxNDg5NDYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyU0g0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTE2NSw3ICsxNjUsNyBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgICAgICBSZWdpc3RlcklE
IHNjciA9IGNsYWltU2NyYXRjaCgpOwotICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQo
KGltbS5tX3ZhbHVlKSwgc2NyKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KGlt
bS5tX3ZhbHVlLCBzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5hbmRsUmVnUmVnKHNjciwgZGVz
dCk7CiAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAgfQpAQCAtMjEzLDcgKzIxMyw3
IEBAIHB1YmxpYzoKICAgICAgICAgfQogCiAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1T
Y3JhdGNoKCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgoaW1tLm1fdmFsdWUg
JiAweDFmKSAsIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92
YWx1ZSAmIDB4MWYsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVyLnNobGxSZWdSZWcoZGVzdCwg
c2NyKTsKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICB9CkBAIC0yNzIsMTAgKzI3
Miw5IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH0KIAotICAgIAotdm9pZCBvcjMyKFRydXN0
ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCisgICAgdm9pZCBv
cjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAg
ICAgewotICAgICAgICBpZiAgKHNyYyAhPSBkZXN0KSB7CisgICAgICAgIGlmIChzcmMgIT0gZGVz
dCkgewogICAgICAgICAgICAgbW92ZShpbW0sIGRlc3QpOwogICAgICAgICAgICAgb3IzMihzcmMs
IGRlc3QpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjg2LDcgKzI4NSw3IEBAIHZvaWQgb3Iz
MihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKIAogICAgIHZvaWQgeG9yMzIoVHJ1c3Rl
ZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAg
ICAgIGlmICAoc3JjICE9IGRlc3QpIHsKKyAgICAgICAgaWYgKHNyYyAhPSBkZXN0KSB7CiAgICAg
ICAgICAgICBtb3ZlKGltbSwgZGVzdCk7CiAgICAgICAgICAgICB4b3IzMihzcmMsIGRlc3QpOwog
ICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzI3LDI0ICszMjYsNiBAQCB2b2lkIG9yMzIoVHJ1c3Rl
ZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIG1fYXNzZW1ibGVyLnN1YmxSZWdSZWco
c3JjLCBkZXN0KTsKICAgICB9CiAKLSAgICB2b2lkIHN1YjMyKFRydXN0ZWRJbW0zMiBpbW0sIEFi
c29sdXRlQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIHNjcmF0Y2hSZWcpCi0gICAgewotICAg
ICAgICBSZWdpc3RlcklEIHJlc3VsdCA9IGNsYWltU2NyYXRjaCgpOwotCi0gICAgICAgIG1fYXNz
ZW1ibGVyLmxvYWRDb25zdGFudChyZWludGVycHJldF9jYXN0PHVpbnQzMl90PihhZGRyZXNzLm1f
cHRyKSwgc2NyYXRjaFJlZyk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLm1vdmxNZW1SZWcoc2NyYXRj
aFJlZywgcmVzdWx0KTsKLQotICAgICAgICBpZiAobV9hc3NlbWJsZXIuaXNJbW1lZGlhdGUoLWlt
bS5tX3ZhbHVlKSkKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxJbW04cigtaW1tLm1fdmFs
dWUsIHJlc3VsdCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgbV9hc3NlbWJsZXIubG9h
ZENvbnN0YW50KGltbS5tX3ZhbHVlLCBzY3JhdGNoUmVnMyk7Ci0gICAgICAgICAgICBtX2Fzc2Vt
Ymxlci5zdWJsUmVnUmVnKHNjcmF0Y2hSZWczLCByZXN1bHQpOwotICAgICAgICB9Ci0KLSAgICAg
ICAgc3RvcmUzMihyZXN1bHQsIHNjcmF0Y2hSZWcpOwotICAgICAgICByZWxlYXNlU2NyYXRjaChy
ZXN1bHQpOwotICAgIH0KLQogICAgIHZvaWQgc3ViMzIoVHJ1c3RlZEltbTMyIGltbSwgQWJzb2x1
dGVBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHJlc3VsdCA9IGNs
YWltU2NyYXRjaCgpOwpAQCAtMzY1LDI0ICszNDYsNiBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMy
IGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcmF0Y2hSZWcpOwog
ICAgIH0KIAotICAgIHZvaWQgYWRkMzIoVHJ1c3RlZEltbTMyIGltbSwgQWJzb2x1dGVBZGRyZXNz
IGFkZHJlc3MsIFJlZ2lzdGVySUQgc2NyYXRjaFJlZykKLSAgICB7Ci0gICAgICAgIFJlZ2lzdGVy
SUQgcmVzdWx0ID0gY2xhaW1TY3JhdGNoKCk7Ci0KLSAgICAgICAgbV9hc3NlbWJsZXIubG9hZENv
bnN0YW50KHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Q+KGFkZHJlc3MubV9wdHIpLCBzY3JhdGNo
UmVnKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubW92bE1lbVJlZyhzY3JhdGNoUmVnLCByZXN1bHQp
OwotCi0gICAgICAgIGlmIChtX2Fzc2VtYmxlci5pc0ltbWVkaWF0ZShpbW0ubV92YWx1ZSkpCi0g
ICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRsSW1tOHIoaW1tLm1fdmFsdWUsIHJlc3VsdCk7Ci0g
ICAgICAgIGVsc2UgewotICAgICAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KGltbS5t
X3ZhbHVlLCBzY3JhdGNoUmVnMyk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVn
KHNjcmF0Y2hSZWczLCByZXN1bHQpOwotICAgICAgICB9Ci0KLSAgICAgICAgc3RvcmUzMihyZXN1
bHQsIHNjcmF0Y2hSZWcpOwotICAgICAgICByZWxlYXNlU2NyYXRjaChyZXN1bHQpOwotICAgIH0K
LQogICAgIHZvaWQgYWRkMzIoVHJ1c3RlZEltbTMyIGltbSwgQWJzb2x1dGVBZGRyZXNzIGFkZHJl
c3MpCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHJlc3VsdCA9IGNsYWltU2NyYXRjaCgpOwpA
QCAtNDY2LDcgKzQyOSw3IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklE
IHMKIAogICAgICAgICBpZiAoKHNyY0Rlc3QgIT0gU0g0UmVnaXN0ZXJzOjpyMCkgfHwgKGltbS5t
X3ZhbHVlID4gMjU1KSB8fCAoaW1tLm1fdmFsdWUgPCAwKSkgewogICAgICAgICAgICAgUmVnaXN0
ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRD
b25zdGFudCgoaW1tLm1fdmFsdWUpLCBzY3IpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIubG9h
ZENvbnN0YW50KGltbS5tX3ZhbHVlLCBzY3IpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIueG9y
bFJlZ1JlZyhzY3IsIHNyY0Rlc3QpOwogICAgICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsK
ICAgICAgICAgICAgIHJldHVybjsKQEAgLTY4MCw3ICs2NDMsNyBAQCB2b2lkIG9yMzIoVHJ1c3Rl
ZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgICAgICBzY3IgPSBjbGFpbVNjcmF0Y2go
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgc2NyID0gZGVzdDsKLSAgICAgICAgbV9hc3Nl
bWJsZXIubG9hZENvbnN0YW50KChvZmZzZXQpLCBzY3IpOworICAgICAgICBtX2Fzc2VtYmxlci5s
b2FkQ29uc3RhbnQob2Zmc2V0LCBzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVn
KGJhc2UsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxNZW1SZWcoc2NyLCBkZXN0KTsK
IApAQCAtNjk1LDIwICs2NTgsMjAgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lz
dGVySUQgcwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKChv
ZmZzZXQgPiAwKSAmJiAob2Zmc2V0IDwgNjQpICYmIChkZXN0ID09IFNINFJlZ2lzdGVyczo6cjAp
KSB7CisgICAgICAgIGlmICgob2Zmc2V0ID4gMCkgJiYgKG9mZnNldCA8PSAxNSkgJiYgKGRlc3Qg
PT0gU0g0UmVnaXN0ZXJzOjpyMCkpIHsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmJNZW1S
ZWcob2Zmc2V0LCBiYXNlLCBkZXN0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
CiAgICAgICAgIGlmIChiYXNlICE9IGRlc3QpIHsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxv
YWRDb25zdGFudCgob2Zmc2V0KSwgZGVzdCk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2Fk
Q29uc3RhbnQob2Zmc2V0LCBkZXN0KTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdS
ZWcoYmFzZSwgZGVzdCk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKGRlc3Qs
IGRlc3QpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgUmVnaXN0
ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0
YW50KChvZmZzZXQpLCBzY3IpOworICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQob2Zm
c2V0LCBzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVnKGJhc2UsIHNjcik7CiAg
ICAgICAgIG1fYXNzZW1ibGVyLm1vdmJNZW1SZWcoc2NyLCBkZXN0KTsKICAgICAgICAgcmVsZWFz
ZVNjcmF0Y2goc2NyKTsKQEAgLTcxNiwzMiArNjc5LDggQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0z
MiBpbW0sIFJlZ2lzdGVySUQgcwogCiAgICAgdm9pZCBsb2FkOChSZWdpc3RlcklEIGJhc2UsIGlu
dCBvZmZzZXQsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIGlmICghb2Zmc2V0KSB7
Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKGJhc2UsIGRlc3QpOwotICAgICAg
ICAgICAgbV9hc3NlbWJsZXIuZXh0dWIoZGVzdCwgZGVzdCk7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoKG9mZnNldCA+IDApICYmIChvZmZzZXQgPCA2NCkg
JiYgKGRlc3QgPT0gU0g0UmVnaXN0ZXJzOjpyMCkpIHsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVy
Lm1vdmJNZW1SZWcob2Zmc2V0LCBiYXNlLCBkZXN0KTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVy
LmV4dHViKGRlc3QsIGRlc3QpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaWYgKGJhc2UgIT0gZGVzdCkgewotICAgICAgICAgICAgbV9hc3NlbWJsZXIubG9hZENv
bnN0YW50KChvZmZzZXQpLCBkZXN0KTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdS
ZWcoYmFzZSwgZGVzdCk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKGRlc3Qs
IGRlc3QpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuZXh0dWIoZGVzdCwgZGVzdCk7Ci0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNs
YWltU2NyYXRjaCgpOwotICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoKG9mZnNldCks
IHNjcik7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdSZWcoYmFzZSwgc2NyKTsKLSAgICAg
ICAgbV9hc3NlbWJsZXIubW92Yk1lbVJlZyhzY3IsIGRlc3QpOworICAgICAgICBsb2FkOFNpZ25l
ZChiYXNlLCBvZmZzZXQsIGRlc3QpOwogICAgICAgICBtX2Fzc2VtYmxlci5leHR1YihkZXN0LCBk
ZXN0KTsKLSAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICB9CiAKICAgICB2b2lkIGxv
YWQzMihSZWdpc3RlcklEIHIwLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCkBAIC03
NjMsMTQgKzcwMiwxNCBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBz
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoKGFkZHJlc3Mu
b2Zmc2V0ID4gMCkgJiYgKGFkZHJlc3Mub2Zmc2V0IDwgNjQpICYmIChkZXN0ID09IFNINFJlZ2lz
dGVyczo6cjApKSB7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3Z3TWVtUmVnKGFkZHJlc3Mu
b2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGRlc3QpOworICAgICAgICBpZiAoKGFkZHJlc3Mub2Zmc2V0
ID4gMCkgJiYgKGFkZHJlc3Mub2Zmc2V0IDw9IDMwKSAmJiAoZGVzdCA9PSBTSDRSZWdpc3RlcnM6
OnIwKSkgeworICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92d01lbVJlZyhhZGRyZXNzLm9mZnNl
dCA+PiAxLCBhZGRyZXNzLmJhc2UsIGRlc3QpOwogICAgICAgICAgICAgZXh0dXcoZGVzdCwgZGVz
dCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYWRkcmVz
cy5iYXNlICE9IGRlc3QpIHsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgo
YWRkcmVzcy5vZmZzZXQpLCBkZXN0KTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25z
dGFudChhZGRyZXNzLm9mZnNldCwgZGVzdCk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRs
UmVnUmVnKGFkZHJlc3MuYmFzZSwgZGVzdCk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3Z3
TWVtUmVnKGRlc3QsIGRlc3QpOwogICAgICAgICAgICAgZXh0dXcoZGVzdCwgZGVzdCk7CkBAIC03
NzgsNyArNzE3LDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwog
ICAgICAgICB9CiAKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAg
ICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KChhZGRyZXNzLm9mZnNldCksIHNjcik7Cisg
ICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChhZGRyZXNzLm9mZnNldCwgc2NyKTsKICAg
ICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhhZGRyZXNzLmJhc2UsIHNjcik7CiAgICAgICAg
IG1fYXNzZW1ibGVyLm1vdndNZW1SZWcoc2NyLCBkZXN0KTsKICAgICAgICAgZXh0dXcoZGVzdCwg
ZGVzdCk7CkBAIC05MTAsMTIgKzg0OSwxMiBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwg
UmVnaXN0ZXJJRCBzCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBp
ZiAoKG9mZnNldCA+PTApICYmIChvZmZzZXQgPCA2NCkpIHsKKyAgICAgICAgaWYgKChvZmZzZXQg
Pj0gMCkgJiYgKG9mZnNldCA8IDY0KSkgewogICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92bFJl
Z01lbShzcmMsIG9mZnNldCA+PiAyLCBiYXNlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCi0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgob2Zmc2V0KSwgc2NyKTsK
KyAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KG9mZnNldCwgc2NyKTsKICAgICAgICAg
aWYgKHNjciA9PSBTSDRSZWdpc3RlcnM6OnIwKSB7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5t
b3ZsUmVnTWVtcjAoc3JjLCBiYXNlKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTk0MCw3ICs4
NzksNyBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgewog
ICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOwogICAgICAgICBSZWdpc3Rl
cklEIHNjcjEgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0
YW50KChpbW0ubV92YWx1ZSksIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFu
dChpbW0ubV92YWx1ZSwgc2NyKTsKICAgICAgICAgc3RvcmUzMihzY3IsIGFkZHJlc3Mub2Zmc2V0
LCBhZGRyZXNzLmJhc2UsIHNjcjEpOwogICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IpOwogICAg
ICAgICByZWxlYXNlU2NyYXRjaChzY3IxKTsKQEAgLTk2Miw3ICs5MDEsNyBAQCB2b2lkIG9yMzIo
VHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgewogICAgICAgICBSZWdpc3RlcklE
IHNjciA9IGNsYWltU2NyYXRjaCgpOwogICAgICAgICBSZWdpc3RlcklEIHNjcjEgPSBjbGFpbVNj
cmF0Y2goKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KChpbW0ubV92YWx1ZSks
IHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwgc2Ny
KTsKICAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KHJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dDMyX3Q+KGFkZHJlc3MpLCBzY3IxKTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92bFJlZ01lbShz
Y3IsIHNjcjEpOwogICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IpOwpAQCAtMTYwNCwyNyArMTU0
Myw2IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKICAgICAgICAg
bV9hc3NlbWJsZXIucHVzaFJlZyhzcmMpOwogICAgIH0KIAotICAgIHZvaWQgcHVzaChBZGRyZXNz
IGFkZHJlc3MpCi0gICAgewotICAgICAgICBpZiAoIWFkZHJlc3Mub2Zmc2V0KSB7Ci0gICAgICAg
ICAgICBwdXNoKGFkZHJlc3MuYmFzZSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LQotICAgICAgICBpZiAoKGFkZHJlc3Mub2Zmc2V0IDwgMCkgfHwgKGFkZHJlc3Mub2Zmc2V0ID49
IDY0KSkgewotICAgICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChhZGRyZXNzLm9mZnNldCwgc2NyKTsK
LSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdSZWcoYWRkcmVzcy5iYXNlLCBzY3IpOwot
ICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92bE1lbVJlZyhzY3IsIFNINFJlZ2lzdGVyczo6c3Ap
OwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbEltbThyKC00LCBTSDRSZWdpc3RlcnM6OnNw
KTsKLSAgICAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLQotICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsTWVtUmVnKGFkZHJlc3Mub2Zm
c2V0ID4+IDIsIGFkZHJlc3MuYmFzZSwgU0g0UmVnaXN0ZXJzOjpzcCk7Ci0gICAgICAgIG1fYXNz
ZW1ibGVyLmFkZGxJbW04cigtNCwgU0g0UmVnaXN0ZXJzOjpzcCk7Ci0gICAgfQotCiAgICAgdm9p
ZCBwdXNoKFRydXN0ZWRJbW0zMiBpbW0pCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHNjciA9
IGNsYWltU2NyYXRjaCgpOwpAQCAtMTk3OCw3ICsxODk2LDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJ
bW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgIEp1bXAgYnJhbmNoQWRkMzIoUmVzdWx0Q29uZGl0
aW9uIGNvbmQsIFRydXN0ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBkZXN0KQogICAgIHsK
ICAgICAgICAgQVNTRVJUKChjb25kID09IE92ZXJmbG93KSB8fCAoY29uZCA9PSBTaWduZWQpIHx8
IChjb25kID09IFBvc2l0aXZlT3JaZXJvKSB8fCAoY29uZCA9PSBaZXJvKSB8fCAoY29uZCA9PSBO
b25aZXJvKSk7Ci0gICAgICAgIEp1bXAgcmVzdWx0OworICAgICAgICBib29sIHJlc3VsdDsKIAog
ICAgICAgICBtb3ZlKGltbSwgc2NyYXRjaFJlZzMpOwogICAgICAgICBSZWdpc3RlcklEIGRlc3Rw
dHIgPSBjbGFpbVNjcmF0Y2goKTsKQEAgLTE5ODcsMjYgKzE5MDUsMjUgQEAgdm9pZCBvcjMyKFRy
dXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsTWVt
UmVnKGRlc3RwdHIsIGRlc3R2YWwpOwogICAgICAgICBpZiAoY29uZCA9PSBPdmVyZmxvdykgewog
ICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkdmxSZWdSZWcoc2NyYXRjaFJlZzMsIGRlc3R2YWwp
OwotICAgICAgICAgICAgcmVzdWx0ID0gYnJhbmNoVHJ1ZSgpOworICAgICAgICAgICAgcmVzdWx0
ID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxS
ZWdSZWcoc2NyYXRjaFJlZzMsIGRlc3R2YWwpOwotCiAgICAgICAgICAgICBpZiAoY29uZCA9PSBT
aWduZWQpIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXBweihkZXN0dmFsKTsKLSAg
ICAgICAgICAgICAgICByZXN1bHQgPSBicmFuY2hGYWxzZSgpOworICAgICAgICAgICAgICAgIHJl
c3VsdCA9IGZhbHNlOwogICAgICAgICAgICAgfSBlbHNlIGlmIChjb25kID09IFBvc2l0aXZlT3Ja
ZXJvKSB7CiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIuY21wcHooZGVzdHZhbCk7Ci0gICAg
ICAgICAgICAgICAgcmVzdWx0ID0gYnJhbmNoVHJ1ZSgpOworICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IHRydWU7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIG1fYXNzZW1i
bGVyLm1vdkltbTgoMCwgc2NyYXRjaFJlZzMpOwogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVy
LmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMsIGRlc3R2YWwsIFNINENvbmRpdGlvbihjb25kKSk7Ci0g
ICAgICAgICAgICAgICAgcmVzdWx0ID0gKGNvbmQgPT0gTm9uWmVybykgPyBicmFuY2hGYWxzZSgp
IDogYnJhbmNoVHJ1ZSgpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IChjb25kID09IE5vblpl
cm8pID8gZmFsc2UgOiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIG1f
YXNzZW1ibGVyLm1vdmxSZWdNZW0oZGVzdHZhbCwgZGVzdHB0cik7CiAgICAgICAgIHJlbGVhc2VT
Y3JhdGNoKGRlc3R2YWwpOwogICAgICAgICByZWxlYXNlU2NyYXRjaChkZXN0cHRyKTsKLSAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdCA/IGJyYW5jaFRydWUoKSA6
IGJyYW5jaEZhbHNlKCk7CiAgICAgfQogCiAgICAgSnVtcCBicmFuY2hNdWwzMihSZXN1bHRDb25k
aXRpb24gY29uZCwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199218</attachid>
            <date>2013-04-23 05:10:08 -0700</date>
            <delta_ts>2013-04-23 05:12:56 -0700</delta_ts>
            <desc>Misc bugfix and cleaning in sh4 base JIT (2)</desc>
            <filename>bug-115022_2.patch</filename>
            <type>text/plain</type>
            <size>12505</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ4OTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDEzLTA0LTIzICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VhdUBuZHMuY29tPgorCisg
ICAgICAgIE1pc2MgYnVnZml4IGFuZCBjbGVhbmluZyBpbiBzaDQgYmFzZSBKSVQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUwMjIuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHVudXNlZCBh
ZGQzMigpIGFuZCBzdWIzMigpIHdpdGggc2NyYXRjaHJlZyBwYXJhbWV0ZXIgdG8gYXZvaWQKKyAg
ICAgICAgYXZvaWQgY29uZnVzaW9uIGFzIHRoaXMgZnVuY3Rpb24gcHJvdG90eXBlIHdvdWxkIG1l
YW4gYmVoYXZpb3VyLgorICAgICAgICBSZW1vdmUgdW51c2VkICJ2b2lkIHB1c2goQWRkcmVzcyki
IGZ1bmN0aW9uIHdoaWNoIHNlZW1zIHF1aXRlIGJ1Z2d5LgorCisgICAgICAgICogYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyU0g0Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0Ojph
bmQzMik6IENvc21ldGljIGNoYW5nZS4KKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6
OmxzaGlmdDMyKTogQ29zbWV0aWMgY2hhbmdlLgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clNINDo6b3IzMik6IENvc21ldGljIGNoYW5nZS4KKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJTSDQ6OnhvcjMyKTogQ29zbWV0aWMgY2hhbmdlLgorICAgICAgICAoTWFjcm9Bc3NlbWJsZXJT
SDQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZDMyKTogQ29zbWV0aWMg
Y2hhbmdlLgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZDhTaWduZWQpOiBG
aXggaW52YWxpZCBvZmZzZXQgdXBwZXIgbGltaXQKKyAgICAgICAgd2hlbiB1c2luZyByMCByZWdp
c3RlciBhbmQgY29zbWV0aWMgY2hhbmdlcy4KKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJT
SDQ6OmxvYWQ4KTogUmV1c2UgbG9hZDhTaWduZWQgdG8gYXZvaWQgZHVwbGljYXRpb24uCisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0Ojpsb2FkMTYpOiBGaXggaW52YWxpZCBvZmZzZXQg
dXBwZXIgbGltaXQgd2hlbgorICAgICAgICB1c2luZyByMCByZWdpc3RlciwgZml4IG1pc3Npbmcg
b2Zmc2V0IHNoaWZ0IGFuZCBjb3NtZXRpYyBjaGFuZ2VzLgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlclNINDo6c3RvcmUzMik6IENvc21ldGljIGNoYW5nZS4KKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJTSDQ6OmJyYW5jaEFkZDMyKTogU3RvcmUgcmVzdWx0IHZhbHVlIGJlZm9yZSBi
cmFuY2guCisKIDIwMTMtMDQtMjIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIEZpeCBhIHR5cG8gaW4gTWFjcm9Bc3NlbWJsZXJBUk12Ny5oLgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclNINC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaAko
cmV2aXNpb24gMTQ4OTQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlclNINC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjUsNyArMTY1LDcgQEAgcHVibGlj
OgogICAgICAgICB9CiAKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsK
LSAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KChpbW0ubV92YWx1ZSksIHNjcik7Cisg
ICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwgc2NyKTsKICAgICAg
ICAgbV9hc3NlbWJsZXIuYW5kbFJlZ1JlZyhzY3IsIGRlc3QpOwogICAgICAgICByZWxlYXNlU2Ny
YXRjaChzY3IpOwogICAgIH0KQEAgLTIxMyw3ICsyMTMsNyBAQCBwdWJsaWM6CiAgICAgICAgIH0K
IAogICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOwotICAgICAgICBtX2Fz
c2VtYmxlci5sb2FkQ29uc3RhbnQoKGltbS5tX3ZhbHVlICYgMHgxZikgLCBzY3IpOworICAgICAg
ICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoaW1tLm1fdmFsdWUgJiAweDFmLCBzY3IpOwogICAg
ICAgICBtX2Fzc2VtYmxlci5zaGxsUmVnUmVnKGRlc3QsIHNjcik7CiAgICAgICAgIHJlbGVhc2VT
Y3JhdGNoKHNjcik7CiAgICAgfQpAQCAtMjcyLDEwICsyNzIsOSBAQCBwdWJsaWM6CiAgICAgICAg
IH0KICAgICB9CiAKLSAgICAKLXZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklE
IHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBS
ZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgaWYgIChzcmMg
IT0gZGVzdCkgeworICAgICAgICBpZiAoc3JjICE9IGRlc3QpIHsKICAgICAgICAgICAgIG1vdmUo
aW1tLCBkZXN0KTsKICAgICAgICAgICAgIG9yMzIoc3JjLCBkZXN0KTsKICAgICAgICAgICAgIHJl
dHVybjsKQEAgLTI4Niw3ICsyODUsNyBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVn
aXN0ZXJJRCBzCiAKICAgICB2b2lkIHhvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQg
c3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBpZiAgKHNyYyAhPSBkZXN0KSB7
CisgICAgICAgIGlmIChzcmMgIT0gZGVzdCkgewogICAgICAgICAgICAgbW92ZShpbW0sIGRlc3Qp
OwogICAgICAgICAgICAgeG9yMzIoc3JjLCBkZXN0KTsKICAgICAgICAgICAgIHJldHVybjsKQEAg
LTMyNywyNCArMzI2LDYgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQg
cwogICAgICAgICBtX2Fzc2VtYmxlci5zdWJsUmVnUmVnKHNyYywgZGVzdCk7CiAgICAgfQogCi0g
ICAgdm9pZCBzdWIzMihUcnVzdGVkSW1tMzIgaW1tLCBBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywg
UmVnaXN0ZXJJRCBzY3JhdGNoUmVnKQotICAgIHsKLSAgICAgICAgUmVnaXN0ZXJJRCByZXN1bHQg
PSBjbGFpbVNjcmF0Y2goKTsKLQotICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQocmVp
bnRlcnByZXRfY2FzdDx1aW50MzJfdD4oYWRkcmVzcy5tX3B0ciksIHNjcmF0Y2hSZWcpOwotICAg
ICAgICBtX2Fzc2VtYmxlci5tb3ZsTWVtUmVnKHNjcmF0Y2hSZWcsIHJlc3VsdCk7Ci0KLSAgICAg
ICAgaWYgKG1fYXNzZW1ibGVyLmlzSW1tZWRpYXRlKC1pbW0ubV92YWx1ZSkpCi0gICAgICAgICAg
ICBtX2Fzc2VtYmxlci5hZGRsSW1tOHIoLWltbS5tX3ZhbHVlLCByZXN1bHQpOwotICAgICAgICBl
bHNlIHsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwg
c2NyYXRjaFJlZzMpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuc3VibFJlZ1JlZyhzY3JhdGNo
UmVnMywgcmVzdWx0KTsKLSAgICAgICAgfQotCi0gICAgICAgIHN0b3JlMzIocmVzdWx0LCBzY3Jh
dGNoUmVnKTsKLSAgICAgICAgcmVsZWFzZVNjcmF0Y2gocmVzdWx0KTsKLSAgICB9Ci0KICAgICB2
b2lkIHN1YjMyKFRydXN0ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBhZGRyZXNzKQogICAg
IHsKICAgICAgICAgUmVnaXN0ZXJJRCByZXN1bHQgPSBjbGFpbVNjcmF0Y2goKTsKQEAgLTM2NSwy
NCArMzQ2LDYgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAg
ICAgICByZWxlYXNlU2NyYXRjaChzY3JhdGNoUmVnKTsKICAgICB9CiAKLSAgICB2b2lkIGFkZDMy
KFRydXN0ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIHNj
cmF0Y2hSZWcpCi0gICAgewotICAgICAgICBSZWdpc3RlcklEIHJlc3VsdCA9IGNsYWltU2NyYXRj
aCgpOwotCi0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChyZWludGVycHJldF9jYXN0
PHVpbnQzMl90PihhZGRyZXNzLm1fcHRyKSwgc2NyYXRjaFJlZyk7Ci0gICAgICAgIG1fYXNzZW1i
bGVyLm1vdmxNZW1SZWcoc2NyYXRjaFJlZywgcmVzdWx0KTsKLQotICAgICAgICBpZiAobV9hc3Nl
bWJsZXIuaXNJbW1lZGlhdGUoaW1tLm1fdmFsdWUpKQotICAgICAgICAgICAgbV9hc3NlbWJsZXIu
YWRkbEltbThyKGltbS5tX3ZhbHVlLCByZXN1bHQpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwgc2NyYXRjaFJlZzMpOwot
ICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhzY3JhdGNoUmVnMywgcmVzdWx0KTsK
LSAgICAgICAgfQotCi0gICAgICAgIHN0b3JlMzIocmVzdWx0LCBzY3JhdGNoUmVnKTsKLSAgICAg
ICAgcmVsZWFzZVNjcmF0Y2gocmVzdWx0KTsKLSAgICB9Ci0KICAgICB2b2lkIGFkZDMyKFRydXN0
ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBhZGRyZXNzKQogICAgIHsKICAgICAgICAgUmVn
aXN0ZXJJRCByZXN1bHQgPSBjbGFpbVNjcmF0Y2goKTsKQEAgLTQ2Niw3ICs0MjksNyBAQCB2b2lk
IG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAKICAgICAgICAgaWYgKChzcmNE
ZXN0ICE9IFNINFJlZ2lzdGVyczo6cjApIHx8IChpbW0ubV92YWx1ZSA+IDI1NSkgfHwgKGltbS5t
X3ZhbHVlIDwgMCkpIHsKICAgICAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNo
KCk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoKGltbS5tX3ZhbHVlKSwg
c2NyKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwg
c2NyKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnhvcmxSZWdSZWcoc2NyLCBzcmNEZXN0KTsK
ICAgICAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAgICAgICAgICByZXR1cm47CkBA
IC02ODAsNyArNjQzLDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQg
cwogICAgICAgICAgICAgc2NyID0gY2xhaW1TY3JhdGNoKCk7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIHNjciA9IGRlc3Q7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgob2Zm
c2V0KSwgc2NyKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KG9mZnNldCwgc2Ny
KTsKICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhiYXNlLCBzY3IpOwogICAgICAgICBt
X2Fzc2VtYmxlci5tb3ZsTWVtUmVnKHNjciwgZGVzdCk7CiAKQEAgLTY5NSwyMCArNjU4LDIwIEBA
IHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGlmICgob2Zmc2V0ID4gMCkgJiYgKG9mZnNldCA8
IDY0KSAmJiAoZGVzdCA9PSBTSDRSZWdpc3RlcnM6OnIwKSkgeworICAgICAgICBpZiAoKG9mZnNl
dCA+IDApICYmIChvZmZzZXQgPD0gMTUpICYmIChkZXN0ID09IFNINFJlZ2lzdGVyczo6cjApKSB7
CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKG9mZnNldCwgYmFzZSwgZGVzdCk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYmFzZSAhPSBk
ZXN0KSB7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoKG9mZnNldCksIGRl
c3QpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KG9mZnNldCwgZGVzdCk7
CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVnKGJhc2UsIGRlc3QpOwogICAgICAg
ICAgICAgbV9hc3NlbWJsZXIubW92Yk1lbVJlZyhkZXN0LCBkZXN0KTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogCiAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNo
KCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgob2Zmc2V0KSwgc2NyKTsKKyAg
ICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KG9mZnNldCwgc2NyKTsKICAgICAgICAgbV9h
c3NlbWJsZXIuYWRkbFJlZ1JlZyhiYXNlLCBzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3Zi
TWVtUmVnKHNjciwgZGVzdCk7CiAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CkBAIC03MTYs
MzIgKzY3OSw4IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKIAog
ICAgIHZvaWQgbG9hZDgoUmVnaXN0ZXJJRCBiYXNlLCBpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGRl
c3QpCiAgICAgewotICAgICAgICBpZiAoIW9mZnNldCkgewotICAgICAgICAgICAgbV9hc3NlbWJs
ZXIubW92Yk1lbVJlZyhiYXNlLCBkZXN0KTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmV4dHVi
KGRlc3QsIGRlc3QpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKChvZmZzZXQgPiAwKSAmJiAob2Zmc2V0IDwgNjQpICYmIChkZXN0ID09IFNINFJlZ2lzdGVy
czo6cjApKSB7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKG9mZnNldCwgYmFz
ZSwgZGVzdCk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5leHR1YihkZXN0LCBkZXN0KTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChiYXNlICE9IGRlc3Qp
IHsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgob2Zmc2V0KSwgZGVzdCk7
Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVnKGJhc2UsIGRlc3QpOwotICAgICAg
ICAgICAgbV9hc3NlbWJsZXIubW92Yk1lbVJlZyhkZXN0LCBkZXN0KTsKLSAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmV4dHViKGRlc3QsIGRlc3QpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB9Ci0KLSAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAg
bV9hc3NlbWJsZXIubG9hZENvbnN0YW50KChvZmZzZXQpLCBzY3IpOwotICAgICAgICBtX2Fzc2Vt
Ymxlci5hZGRsUmVnUmVnKGJhc2UsIHNjcik7Ci0gICAgICAgIG1fYXNzZW1ibGVyLm1vdmJNZW1S
ZWcoc2NyLCBkZXN0KTsKKyAgICAgICAgbG9hZDhTaWduZWQoYmFzZSwgb2Zmc2V0LCBkZXN0KTsK
ICAgICAgICAgbV9hc3NlbWJsZXIuZXh0dWIoZGVzdCwgZGVzdCk7Ci0gICAgICAgIHJlbGVhc2VT
Y3JhdGNoKHNjcik7CiAgICAgfQogCiAgICAgdm9pZCBsb2FkMzIoUmVnaXN0ZXJJRCByMCwgUmVn
aXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZHN0KQpAQCAtNzYzLDE0ICs3MDIsMTQgQEAgdm9pZCBv
cjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgaWYgKChhZGRyZXNzLm9mZnNldCA+IDApICYmIChhZGRyZXNz
Lm9mZnNldCA8IDY0KSAmJiAoZGVzdCA9PSBTSDRSZWdpc3RlcnM6OnIwKSkgewotICAgICAgICAg
ICAgbV9hc3NlbWJsZXIubW92d01lbVJlZyhhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBk
ZXN0KTsKKyAgICAgICAgaWYgKChhZGRyZXNzLm9mZnNldCA+IDApICYmIChhZGRyZXNzLm9mZnNl
dCA8PSAzMCkgJiYgKGRlc3QgPT0gU0g0UmVnaXN0ZXJzOjpyMCkpIHsKKyAgICAgICAgICAgIG1f
YXNzZW1ibGVyLm1vdndNZW1SZWcoYWRkcmVzcy5vZmZzZXQgPj4gMSwgYWRkcmVzcy5iYXNlLCBk
ZXN0KTsKICAgICAgICAgICAgIGV4dHV3KGRlc3QsIGRlc3QpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGFkZHJlc3MuYmFzZSAhPSBkZXN0KSB7Ci0gICAg
ICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoKGFkZHJlc3Mub2Zmc2V0KSwgZGVzdCk7
CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoYWRkcmVzcy5vZmZzZXQsIGRl
c3QpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhhZGRyZXNzLmJhc2UsIGRl
c3QpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92d01lbVJlZyhkZXN0LCBkZXN0KTsKICAg
ICAgICAgICAgIGV4dHV3KGRlc3QsIGRlc3QpOwpAQCAtNzc4LDcgKzcxNyw3IEBAIHZvaWQgb3Iz
MihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKICAgICAgICAgfQogCiAgICAgICAgIFJl
Z2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRD
b25zdGFudCgoYWRkcmVzcy5vZmZzZXQpLCBzY3IpOworICAgICAgICBtX2Fzc2VtYmxlci5sb2Fk
Q29uc3RhbnQoYWRkcmVzcy5vZmZzZXQsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxS
ZWdSZWcoYWRkcmVzcy5iYXNlLCBzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3Z3TWVtUmVn
KHNjciwgZGVzdCk7CiAgICAgICAgIGV4dHV3KGRlc3QsIGRlc3QpOwpAQCAtOTEwLDEyICs4NDks
MTIgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKChvZmZzZXQgPj0wKSAmJiAob2Zm
c2V0IDwgNjQpKSB7CisgICAgICAgIGlmICgob2Zmc2V0ID49IDApICYmIChvZmZzZXQgPCA2NCkp
IHsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxSZWdNZW0oc3JjLCBvZmZzZXQgPj4gMiwg
YmFzZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBtX2Fzc2Vt
Ymxlci5sb2FkQ29uc3RhbnQoKG9mZnNldCksIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmxv
YWRDb25zdGFudChvZmZzZXQsIHNjcik7CiAgICAgICAgIGlmIChzY3IgPT0gU0g0UmVnaXN0ZXJz
OjpyMCkgewogICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92bFJlZ01lbXIwKHNyYywgYmFzZSk7
CiAgICAgICAgICAgICByZXR1cm47CkBAIC05NDAsNyArODc5LDcgQEAgdm9pZCBvcjMyKFRydXN0
ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgIHsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3Ig
PSBjbGFpbVNjcmF0Y2goKTsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IxID0gY2xhaW1TY3JhdGNo
KCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgoaW1tLm1fdmFsdWUpLCBzY3Ip
OworICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoaW1tLm1fdmFsdWUsIHNjcik7CiAg
ICAgICAgIHN0b3JlMzIoc2NyLCBhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBzY3IxKTsK
ICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2Ny
MSk7CkBAIC05NjIsNyArOTAxLDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lz
dGVySUQgcwogICAgIHsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsK
ICAgICAgICAgUmVnaXN0ZXJJRCBzY3IxID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgIG1fYXNz
ZW1ibGVyLmxvYWRDb25zdGFudCgoaW1tLm1fdmFsdWUpLCBzY3IpOworICAgICAgICBtX2Fzc2Vt
Ymxlci5sb2FkQ29uc3RhbnQoaW1tLm1fdmFsdWUsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVy
LmxvYWRDb25zdGFudChyZWludGVycHJldF9jYXN0PHVpbnQzMl90PihhZGRyZXNzKSwgc2NyMSk7
CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxSZWdNZW0oc2NyLCBzY3IxKTsKICAgICAgICAgcmVs
ZWFzZVNjcmF0Y2goc2NyKTsKQEAgLTE2MDQsMjcgKzE1NDMsNiBAQCB2b2lkIG9yMzIoVHJ1c3Rl
ZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIG1fYXNzZW1ibGVyLnB1c2hSZWcoc3Jj
KTsKICAgICB9CiAKLSAgICB2b2lkIHB1c2goQWRkcmVzcyBhZGRyZXNzKQotICAgIHsKLSAgICAg
ICAgaWYgKCFhZGRyZXNzLm9mZnNldCkgewotICAgICAgICAgICAgcHVzaChhZGRyZXNzLmJhc2Up
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKChhZGRyZXNz
Lm9mZnNldCA8IDApIHx8IChhZGRyZXNzLm9mZnNldCA+PSA2NCkpIHsKLSAgICAgICAgICAgIFJl
Z2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5s
b2FkQ29uc3RhbnQoYWRkcmVzcy5vZmZzZXQsIHNjcik7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxl
ci5hZGRsUmVnUmVnKGFkZHJlc3MuYmFzZSwgc2NyKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVy
Lm1vdmxNZW1SZWcoc2NyLCBTSDRSZWdpc3RlcnM6OnNwKTsKLSAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmFkZGxJbW04cigtNCwgU0g0UmVnaXN0ZXJzOjpzcCk7Ci0gICAgICAgICAgICByZWxlYXNl
U2NyYXRjaChzY3IpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAg
bV9hc3NlbWJsZXIubW92bE1lbVJlZyhhZGRyZXNzLm9mZnNldCA+PiAyLCBhZGRyZXNzLmJhc2Us
IFNINFJlZ2lzdGVyczo6c3ApOwotICAgICAgICBtX2Fzc2VtYmxlci5hZGRsSW1tOHIoLTQsIFNI
NFJlZ2lzdGVyczo6c3ApOwotICAgIH0KLQogICAgIHZvaWQgcHVzaChUcnVzdGVkSW1tMzIgaW1t
KQogICAgIHsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKQEAgLTE5
NzgsNyArMTg5Niw3IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMK
ICAgICBKdW1wIGJyYW5jaEFkZDMyKFJlc3VsdENvbmRpdGlvbiBjb25kLCBUcnVzdGVkSW1tMzIg
aW1tLCBBYnNvbHV0ZUFkZHJlc3MgZGVzdCkKICAgICB7CiAgICAgICAgIEFTU0VSVCgoY29uZCA9
PSBPdmVyZmxvdykgfHwgKGNvbmQgPT0gU2lnbmVkKSB8fCAoY29uZCA9PSBQb3NpdGl2ZU9yWmVy
bykgfHwgKGNvbmQgPT0gWmVybykgfHwgKGNvbmQgPT0gTm9uWmVybykpOwotICAgICAgICBKdW1w
IHJlc3VsdDsKKyAgICAgICAgYm9vbCByZXN1bHQ7CiAKICAgICAgICAgbW92ZShpbW0sIHNjcmF0
Y2hSZWczKTsKICAgICAgICAgUmVnaXN0ZXJJRCBkZXN0cHRyID0gY2xhaW1TY3JhdGNoKCk7CkBA
IC0xOTg3LDI2ICsxOTA1LDI1IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3Rl
cklEIHMKICAgICAgICAgbV9hc3NlbWJsZXIubW92bE1lbVJlZyhkZXN0cHRyLCBkZXN0dmFsKTsK
ICAgICAgICAgaWYgKGNvbmQgPT0gT3ZlcmZsb3cpIHsKICAgICAgICAgICAgIG1fYXNzZW1ibGVy
LmFkZHZsUmVnUmVnKHNjcmF0Y2hSZWczLCBkZXN0dmFsKTsKLSAgICAgICAgICAgIHJlc3VsdCA9
IGJyYW5jaFRydWUoKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVnKHNjcmF0Y2hSZWczLCBkZXN0
dmFsKTsKLQogICAgICAgICAgICAgaWYgKGNvbmQgPT0gU2lnbmVkKSB7CiAgICAgICAgICAgICAg
ICAgbV9hc3NlbWJsZXIuY21wcHooZGVzdHZhbCk7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0g
YnJhbmNoRmFsc2UoKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoY29uZCA9PSBQb3NpdGl2ZU9yWmVybykgewogICAgICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmNtcHB6KGRlc3R2YWwpOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9IGJy
YW5jaFRydWUoKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOwogICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZJbW04KDAsIHNjcmF0Y2hS
ZWczKTsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXBsUmVnUmVnKHNjcmF0Y2hSZWcz
LCBkZXN0dmFsLCBTSDRDb25kaXRpb24oY29uZCkpOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9
IChjb25kID09IE5vblplcm8pID8gYnJhbmNoRmFsc2UoKSA6IGJyYW5jaFRydWUoKTsKKyAgICAg
ICAgICAgICAgICByZXN1bHQgPSAoY29uZCA9PSBOb25aZXJvKSA/IGZhbHNlIDogdHJ1ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsUmVnTWVtKGRl
c3R2YWwsIGRlc3RwdHIpOwogICAgICAgICByZWxlYXNlU2NyYXRjaChkZXN0dmFsKTsKICAgICAg
ICAgcmVsZWFzZVNjcmF0Y2goZGVzdHB0cik7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
ICAgIHJldHVybiByZXN1bHQgPyBicmFuY2hUcnVlKCkgOiBicmFuY2hGYWxzZSgpOwogICAgIH0K
IAogICAgIEp1bXAgYnJhbmNoTXVsMzIoUmVzdWx0Q29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQg
c3JjLCBSZWdpc3RlcklEIGRlc3QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199219</attachid>
            <date>2013-04-23 05:14:21 -0700</date>
            <delta_ts>2013-04-24 15:24:23 -0700</delta_ts>
            <desc>Misc bugfix and cleaning in sh4 base JIT (3)</desc>
            <filename>bug-115022_3.patch</filename>
            <type>text/plain</type>
            <size>12502</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ4OTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDEzLTA0LTIzICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VhdUBuZHMuY29tPgorCisg
ICAgICAgIE1pc2MgYnVnZml4IGFuZCBjbGVhbmluZyBpbiBzaDQgYmFzZSBKSVQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUwMjIuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHVudXNlZCBh
ZGQzMigpIGFuZCBzdWIzMigpIHdpdGggc2NyYXRjaHJlZyBwYXJhbWV0ZXIgdG8gYXZvaWQKKyAg
ICAgICAgY29uZnVzaW9uIGFzIHRoaXMgZnVuY3Rpb24gcHJvdG90eXBlIG1lYW5zIGFub3RoZXIg
YmVoYXZpb3VyLgorICAgICAgICBSZW1vdmUgdW51c2VkICJ2b2lkIHB1c2goQWRkcmVzcykiIGZ1
bmN0aW9uIHdoaWNoIHNlZW1zIHF1aXRlIGJ1Z2d5LgorCisgICAgICAgICogYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyU0g0Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0OjphbmQz
Mik6IENvc21ldGljIGNoYW5nZS4KKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6Omxz
aGlmdDMyKTogQ29zbWV0aWMgY2hhbmdlLgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNI
NDo6b3IzMik6IENvc21ldGljIGNoYW5nZS4KKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJT
SDQ6OnhvcjMyKTogQ29zbWV0aWMgY2hhbmdlLgorICAgICAgICAoTWFjcm9Bc3NlbWJsZXJTSDQp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZDMyKTogQ29zbWV0aWMgY2hh
bmdlLgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZDhTaWduZWQpOiBGaXgg
aW52YWxpZCBvZmZzZXQgdXBwZXIgbGltaXQKKyAgICAgICAgd2hlbiB1c2luZyByMCByZWdpc3Rl
ciBhbmQgY29zbWV0aWMgY2hhbmdlcy4KKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6
OmxvYWQ4KTogUmV1c2UgbG9hZDhTaWduZWQgdG8gYXZvaWQgZHVwbGljYXRpb24uCisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0Ojpsb2FkMTYpOiBGaXggaW52YWxpZCBvZmZzZXQgdXBw
ZXIgbGltaXQgd2hlbgorICAgICAgICB1c2luZyByMCByZWdpc3RlciwgZml4IG1pc3Npbmcgb2Zm
c2V0IHNoaWZ0IGFuZCBjb3NtZXRpYyBjaGFuZ2VzLgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2Vt
YmxlclNINDo6c3RvcmUzMik6IENvc21ldGljIGNoYW5nZS4KKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJTSDQ6OmJyYW5jaEFkZDMyKTogU3RvcmUgcmVzdWx0IHZhbHVlIGJlZm9yZSBicmFu
Y2guCisKIDIwMTMtMDQtMjIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIEZpeCBhIHR5cG8gaW4gTWFjcm9Bc3NlbWJsZXJBUk12Ny5oLgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclNINC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJTSDQuaAkocmV2
aXNpb24gMTQ4OTQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlclNINC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjUsNyArMTY1LDcgQEAgcHVibGljOgog
ICAgICAgICB9CiAKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAg
ICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KChpbW0ubV92YWx1ZSksIHNjcik7CisgICAg
ICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwgc2NyKTsKICAgICAgICAg
bV9hc3NlbWJsZXIuYW5kbFJlZ1JlZyhzY3IsIGRlc3QpOwogICAgICAgICByZWxlYXNlU2NyYXRj
aChzY3IpOwogICAgIH0KQEAgLTIxMyw3ICsyMTMsNyBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAog
ICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOwotICAgICAgICBtX2Fzc2Vt
Ymxlci5sb2FkQ29uc3RhbnQoKGltbS5tX3ZhbHVlICYgMHgxZikgLCBzY3IpOworICAgICAgICBt
X2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoaW1tLm1fdmFsdWUgJiAweDFmLCBzY3IpOwogICAgICAg
ICBtX2Fzc2VtYmxlci5zaGxsUmVnUmVnKGRlc3QsIHNjcik7CiAgICAgICAgIHJlbGVhc2VTY3Jh
dGNoKHNjcik7CiAgICAgfQpAQCAtMjcyLDEwICsyNzIsOSBAQCBwdWJsaWM6CiAgICAgICAgIH0K
ICAgICB9CiAKLSAgICAKLXZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHNy
YywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdp
c3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgaWYgIChzcmMgIT0g
ZGVzdCkgeworICAgICAgICBpZiAoc3JjICE9IGRlc3QpIHsKICAgICAgICAgICAgIG1vdmUoaW1t
LCBkZXN0KTsKICAgICAgICAgICAgIG9yMzIoc3JjLCBkZXN0KTsKICAgICAgICAgICAgIHJldHVy
bjsKQEAgLTI4Niw3ICsyODUsNyBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0
ZXJJRCBzCiAKICAgICB2b2lkIHhvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgc3Jj
LCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBpZiAgKHNyYyAhPSBkZXN0KSB7Cisg
ICAgICAgIGlmIChzcmMgIT0gZGVzdCkgewogICAgICAgICAgICAgbW92ZShpbW0sIGRlc3QpOwog
ICAgICAgICAgICAgeG9yMzIoc3JjLCBkZXN0KTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMy
NywyNCArMzI2LDYgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwog
ICAgICAgICBtX2Fzc2VtYmxlci5zdWJsUmVnUmVnKHNyYywgZGVzdCk7CiAgICAgfQogCi0gICAg
dm9pZCBzdWIzMihUcnVzdGVkSW1tMzIgaW1tLCBBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgUmVn
aXN0ZXJJRCBzY3JhdGNoUmVnKQotICAgIHsKLSAgICAgICAgUmVnaXN0ZXJJRCByZXN1bHQgPSBj
bGFpbVNjcmF0Y2goKTsKLQotICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQocmVpbnRl
cnByZXRfY2FzdDx1aW50MzJfdD4oYWRkcmVzcy5tX3B0ciksIHNjcmF0Y2hSZWcpOwotICAgICAg
ICBtX2Fzc2VtYmxlci5tb3ZsTWVtUmVnKHNjcmF0Y2hSZWcsIHJlc3VsdCk7Ci0KLSAgICAgICAg
aWYgKG1fYXNzZW1ibGVyLmlzSW1tZWRpYXRlKC1pbW0ubV92YWx1ZSkpCi0gICAgICAgICAgICBt
X2Fzc2VtYmxlci5hZGRsSW1tOHIoLWltbS5tX3ZhbHVlLCByZXN1bHQpOwotICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwgc2Ny
YXRjaFJlZzMpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuc3VibFJlZ1JlZyhzY3JhdGNoUmVn
MywgcmVzdWx0KTsKLSAgICAgICAgfQotCi0gICAgICAgIHN0b3JlMzIocmVzdWx0LCBzY3JhdGNo
UmVnKTsKLSAgICAgICAgcmVsZWFzZVNjcmF0Y2gocmVzdWx0KTsKLSAgICB9Ci0KICAgICB2b2lk
IHN1YjMyKFRydXN0ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBhZGRyZXNzKQogICAgIHsK
ICAgICAgICAgUmVnaXN0ZXJJRCByZXN1bHQgPSBjbGFpbVNjcmF0Y2goKTsKQEAgLTM2NSwyNCAr
MzQ2LDYgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAg
ICByZWxlYXNlU2NyYXRjaChzY3JhdGNoUmVnKTsKICAgICB9CiAKLSAgICB2b2lkIGFkZDMyKFRy
dXN0ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIHNjcmF0
Y2hSZWcpCi0gICAgewotICAgICAgICBSZWdpc3RlcklEIHJlc3VsdCA9IGNsYWltU2NyYXRjaCgp
OwotCi0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChyZWludGVycHJldF9jYXN0PHVp
bnQzMl90PihhZGRyZXNzLm1fcHRyKSwgc2NyYXRjaFJlZyk7Ci0gICAgICAgIG1fYXNzZW1ibGVy
Lm1vdmxNZW1SZWcoc2NyYXRjaFJlZywgcmVzdWx0KTsKLQotICAgICAgICBpZiAobV9hc3NlbWJs
ZXIuaXNJbW1lZGlhdGUoaW1tLm1fdmFsdWUpKQotICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRk
bEltbThyKGltbS5tX3ZhbHVlLCByZXN1bHQpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwgc2NyYXRjaFJlZzMpOwotICAg
ICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhzY3JhdGNoUmVnMywgcmVzdWx0KTsKLSAg
ICAgICAgfQotCi0gICAgICAgIHN0b3JlMzIocmVzdWx0LCBzY3JhdGNoUmVnKTsKLSAgICAgICAg
cmVsZWFzZVNjcmF0Y2gocmVzdWx0KTsKLSAgICB9Ci0KICAgICB2b2lkIGFkZDMyKFRydXN0ZWRJ
bW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBhZGRyZXNzKQogICAgIHsKICAgICAgICAgUmVnaXN0
ZXJJRCByZXN1bHQgPSBjbGFpbVNjcmF0Y2goKTsKQEAgLTQ2Niw3ICs0MjksNyBAQCB2b2lkIG9y
MzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAKICAgICAgICAgaWYgKChzcmNEZXN0
ICE9IFNINFJlZ2lzdGVyczo6cjApIHx8IChpbW0ubV92YWx1ZSA+IDI1NSkgfHwgKGltbS5tX3Zh
bHVlIDwgMCkpIHsKICAgICAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7
Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoKGltbS5tX3ZhbHVlKSwgc2Ny
KTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwgc2Ny
KTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnhvcmxSZWdSZWcoc2NyLCBzcmNEZXN0KTsKICAg
ICAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAgICAgICAgICByZXR1cm47CkBAIC02
ODAsNyArNjQzLDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwog
ICAgICAgICAgICAgc2NyID0gY2xhaW1TY3JhdGNoKCk7CiAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgIHNjciA9IGRlc3Q7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgob2Zmc2V0
KSwgc2NyKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KG9mZnNldCwgc2NyKTsK
ICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhiYXNlLCBzY3IpOwogICAgICAgICBtX2Fz
c2VtYmxlci5tb3ZsTWVtUmVnKHNjciwgZGVzdCk7CiAKQEAgLTY5NSwyMCArNjU4LDIwIEBAIHZv
aWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogCi0gICAgICAgIGlmICgob2Zmc2V0ID4gMCkgJiYgKG9mZnNldCA8IDY0
KSAmJiAoZGVzdCA9PSBTSDRSZWdpc3RlcnM6OnIwKSkgeworICAgICAgICBpZiAoKG9mZnNldCA+
IDApICYmIChvZmZzZXQgPD0gMTUpICYmIChkZXN0ID09IFNINFJlZ2lzdGVyczo6cjApKSB7CiAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKG9mZnNldCwgYmFzZSwgZGVzdCk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYmFzZSAhPSBkZXN0
KSB7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoKG9mZnNldCksIGRlc3Qp
OworICAgICAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KG9mZnNldCwgZGVzdCk7CiAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVnKGJhc2UsIGRlc3QpOwogICAgICAgICAg
ICAgbV9hc3NlbWJsZXIubW92Yk1lbVJlZyhkZXN0LCBkZXN0KTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogCiAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7
Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgob2Zmc2V0KSwgc2NyKTsKKyAgICAg
ICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KG9mZnNldCwgc2NyKTsKICAgICAgICAgbV9hc3Nl
bWJsZXIuYWRkbFJlZ1JlZyhiYXNlLCBzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVt
UmVnKHNjciwgZGVzdCk7CiAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CkBAIC03MTYsMzIg
KzY3OSw4IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKIAogICAg
IHZvaWQgbG9hZDgoUmVnaXN0ZXJJRCBiYXNlLCBpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGRlc3Qp
CiAgICAgewotICAgICAgICBpZiAoIW9mZnNldCkgewotICAgICAgICAgICAgbV9hc3NlbWJsZXIu
bW92Yk1lbVJlZyhiYXNlLCBkZXN0KTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmV4dHViKGRl
c3QsIGRlc3QpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYg
KChvZmZzZXQgPiAwKSAmJiAob2Zmc2V0IDwgNjQpICYmIChkZXN0ID09IFNINFJlZ2lzdGVyczo6
cjApKSB7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKG9mZnNldCwgYmFzZSwg
ZGVzdCk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5leHR1YihkZXN0LCBkZXN0KTsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChiYXNlICE9IGRlc3QpIHsK
LSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgob2Zmc2V0KSwgZGVzdCk7Ci0g
ICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVnKGJhc2UsIGRlc3QpOwotICAgICAgICAg
ICAgbV9hc3NlbWJsZXIubW92Yk1lbVJlZyhkZXN0LCBkZXN0KTsKLSAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLmV4dHViKGRlc3QsIGRlc3QpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0KLSAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAgbV9h
c3NlbWJsZXIubG9hZENvbnN0YW50KChvZmZzZXQpLCBzY3IpOwotICAgICAgICBtX2Fzc2VtYmxl
ci5hZGRsUmVnUmVnKGJhc2UsIHNjcik7Ci0gICAgICAgIG1fYXNzZW1ibGVyLm1vdmJNZW1SZWco
c2NyLCBkZXN0KTsKKyAgICAgICAgbG9hZDhTaWduZWQoYmFzZSwgb2Zmc2V0LCBkZXN0KTsKICAg
ICAgICAgbV9hc3NlbWJsZXIuZXh0dWIoZGVzdCwgZGVzdCk7Ci0gICAgICAgIHJlbGVhc2VTY3Jh
dGNoKHNjcik7CiAgICAgfQogCiAgICAgdm9pZCBsb2FkMzIoUmVnaXN0ZXJJRCByMCwgUmVnaXN0
ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZHN0KQpAQCAtNzYzLDE0ICs3MDIsMTQgQEAgdm9pZCBvcjMy
KFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKLSAgICAgICAgaWYgKChhZGRyZXNzLm9mZnNldCA+IDApICYmIChhZGRyZXNzLm9m
ZnNldCA8IDY0KSAmJiAoZGVzdCA9PSBTSDRSZWdpc3RlcnM6OnIwKSkgewotICAgICAgICAgICAg
bV9hc3NlbWJsZXIubW92d01lbVJlZyhhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBkZXN0
KTsKKyAgICAgICAgaWYgKChhZGRyZXNzLm9mZnNldCA+IDApICYmIChhZGRyZXNzLm9mZnNldCA8
PSAzMCkgJiYgKGRlc3QgPT0gU0g0UmVnaXN0ZXJzOjpyMCkpIHsKKyAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLm1vdndNZW1SZWcoYWRkcmVzcy5vZmZzZXQgPj4gMSwgYWRkcmVzcy5iYXNlLCBkZXN0
KTsKICAgICAgICAgICAgIGV4dHV3KGRlc3QsIGRlc3QpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKGFkZHJlc3MuYmFzZSAhPSBkZXN0KSB7Ci0gICAgICAg
ICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoKGFkZHJlc3Mub2Zmc2V0KSwgZGVzdCk7Cisg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoYWRkcmVzcy5vZmZzZXQsIGRlc3Qp
OwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhhZGRyZXNzLmJhc2UsIGRlc3Qp
OwogICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92d01lbVJlZyhkZXN0LCBkZXN0KTsKICAgICAg
ICAgICAgIGV4dHV3KGRlc3QsIGRlc3QpOwpAQCAtNzc4LDcgKzcxNyw3IEBAIHZvaWQgb3IzMihU
cnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKICAgICAgICAgfQogCiAgICAgICAgIFJlZ2lz
dGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25z
dGFudCgoYWRkcmVzcy5vZmZzZXQpLCBzY3IpOworICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29u
c3RhbnQoYWRkcmVzcy5vZmZzZXQsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdS
ZWcoYWRkcmVzcy5iYXNlLCBzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3Z3TWVtUmVnKHNj
ciwgZGVzdCk7CiAgICAgICAgIGV4dHV3KGRlc3QsIGRlc3QpOwpAQCAtOTEwLDEyICs4NDksMTIg
QEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKChvZmZzZXQgPj0wKSAmJiAob2Zmc2V0
IDwgNjQpKSB7CisgICAgICAgIGlmICgob2Zmc2V0ID49IDApICYmIChvZmZzZXQgPCA2NCkpIHsK
ICAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxSZWdNZW0oc3JjLCBvZmZzZXQgPj4gMiwgYmFz
ZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBtX2Fzc2VtYmxl
ci5sb2FkQ29uc3RhbnQoKG9mZnNldCksIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRD
b25zdGFudChvZmZzZXQsIHNjcik7CiAgICAgICAgIGlmIChzY3IgPT0gU0g0UmVnaXN0ZXJzOjpy
MCkgewogICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92bFJlZ01lbXIwKHNyYywgYmFzZSk7CiAg
ICAgICAgICAgICByZXR1cm47CkBAIC05NDAsNyArODc5LDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJ
bW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgIHsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBj
bGFpbVNjcmF0Y2goKTsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IxID0gY2xhaW1TY3JhdGNoKCk7
Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgoaW1tLm1fdmFsdWUpLCBzY3IpOwor
ICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoaW1tLm1fdmFsdWUsIHNjcik7CiAgICAg
ICAgIHN0b3JlMzIoc2NyLCBhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBzY3IxKTsKICAg
ICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyMSk7
CkBAIC05NjIsNyArOTAxLDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVy
SUQgcwogICAgIHsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKICAg
ICAgICAgUmVnaXN0ZXJJRCBzY3IxID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgIG1fYXNzZW1i
bGVyLmxvYWRDb25zdGFudCgoaW1tLm1fdmFsdWUpLCBzY3IpOworICAgICAgICBtX2Fzc2VtYmxl
ci5sb2FkQ29uc3RhbnQoaW1tLm1fdmFsdWUsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVyLmxv
YWRDb25zdGFudChyZWludGVycHJldF9jYXN0PHVpbnQzMl90PihhZGRyZXNzKSwgc2NyMSk7CiAg
ICAgICAgIG1fYXNzZW1ibGVyLm1vdmxSZWdNZW0oc2NyLCBzY3IxKTsKICAgICAgICAgcmVsZWFz
ZVNjcmF0Y2goc2NyKTsKQEAgLTE2MDQsMjcgKzE1NDMsNiBAQCB2b2lkIG9yMzIoVHJ1c3RlZElt
bTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIG1fYXNzZW1ibGVyLnB1c2hSZWcoc3JjKTsK
ICAgICB9CiAKLSAgICB2b2lkIHB1c2goQWRkcmVzcyBhZGRyZXNzKQotICAgIHsKLSAgICAgICAg
aWYgKCFhZGRyZXNzLm9mZnNldCkgewotICAgICAgICAgICAgcHVzaChhZGRyZXNzLmJhc2UpOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKChhZGRyZXNzLm9m
ZnNldCA8IDApIHx8IChhZGRyZXNzLm9mZnNldCA+PSA2NCkpIHsKLSAgICAgICAgICAgIFJlZ2lz
dGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2Fk
Q29uc3RhbnQoYWRkcmVzcy5vZmZzZXQsIHNjcik7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5h
ZGRsUmVnUmVnKGFkZHJlc3MuYmFzZSwgc2NyKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1v
dmxNZW1SZWcoc2NyLCBTSDRSZWdpc3RlcnM6OnNwKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVy
LmFkZGxJbW04cigtNCwgU0g0UmVnaXN0ZXJzOjpzcCk7Ci0gICAgICAgICAgICByZWxlYXNlU2Ny
YXRjaChzY3IpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgbV9h
c3NlbWJsZXIubW92bE1lbVJlZyhhZGRyZXNzLm9mZnNldCA+PiAyLCBhZGRyZXNzLmJhc2UsIFNI
NFJlZ2lzdGVyczo6c3ApOwotICAgICAgICBtX2Fzc2VtYmxlci5hZGRsSW1tOHIoLTQsIFNINFJl
Z2lzdGVyczo6c3ApOwotICAgIH0KLQogICAgIHZvaWQgcHVzaChUcnVzdGVkSW1tMzIgaW1tKQog
ICAgIHsKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKQEAgLTE5Nzgs
NyArMTg5Niw3IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKICAg
ICBKdW1wIGJyYW5jaEFkZDMyKFJlc3VsdENvbmRpdGlvbiBjb25kLCBUcnVzdGVkSW1tMzIgaW1t
LCBBYnNvbHV0ZUFkZHJlc3MgZGVzdCkKICAgICB7CiAgICAgICAgIEFTU0VSVCgoY29uZCA9PSBP
dmVyZmxvdykgfHwgKGNvbmQgPT0gU2lnbmVkKSB8fCAoY29uZCA9PSBQb3NpdGl2ZU9yWmVybykg
fHwgKGNvbmQgPT0gWmVybykgfHwgKGNvbmQgPT0gTm9uWmVybykpOwotICAgICAgICBKdW1wIHJl
c3VsdDsKKyAgICAgICAgYm9vbCByZXN1bHQ7CiAKICAgICAgICAgbW92ZShpbW0sIHNjcmF0Y2hS
ZWczKTsKICAgICAgICAgUmVnaXN0ZXJJRCBkZXN0cHRyID0gY2xhaW1TY3JhdGNoKCk7CkBAIC0x
OTg3LDI2ICsxOTA1LDI1IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklE
IHMKICAgICAgICAgbV9hc3NlbWJsZXIubW92bE1lbVJlZyhkZXN0cHRyLCBkZXN0dmFsKTsKICAg
ICAgICAgaWYgKGNvbmQgPT0gT3ZlcmZsb3cpIHsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFk
ZHZsUmVnUmVnKHNjcmF0Y2hSZWczLCBkZXN0dmFsKTsKLSAgICAgICAgICAgIHJlc3VsdCA9IGJy
YW5jaFRydWUoKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7CiAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVnKHNjcmF0Y2hSZWczLCBkZXN0dmFs
KTsKLQogICAgICAgICAgICAgaWYgKGNvbmQgPT0gU2lnbmVkKSB7CiAgICAgICAgICAgICAgICAg
bV9hc3NlbWJsZXIuY21wcHooZGVzdHZhbCk7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gYnJh
bmNoRmFsc2UoKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAg
IH0gZWxzZSBpZiAoY29uZCA9PSBQb3NpdGl2ZU9yWmVybykgewogICAgICAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmNtcHB6KGRlc3R2YWwpOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9IGJyYW5j
aFRydWUoKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOwogICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZJbW04KDAsIHNjcmF0Y2hSZWcz
KTsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXBsUmVnUmVnKHNjcmF0Y2hSZWczLCBk
ZXN0dmFsLCBTSDRDb25kaXRpb24oY29uZCkpOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9IChj
b25kID09IE5vblplcm8pID8gYnJhbmNoRmFsc2UoKSA6IGJyYW5jaFRydWUoKTsKKyAgICAgICAg
ICAgICAgICByZXN1bHQgPSAoY29uZCA9PSBOb25aZXJvKSA/IGZhbHNlIDogdHJ1ZTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsUmVnTWVtKGRlc3R2
YWwsIGRlc3RwdHIpOwogICAgICAgICByZWxlYXNlU2NyYXRjaChkZXN0dmFsKTsKICAgICAgICAg
cmVsZWFzZVNjcmF0Y2goZGVzdHB0cik7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAg
IHJldHVybiByZXN1bHQgPyBicmFuY2hUcnVlKCkgOiBicmFuY2hGYWxzZSgpOwogICAgIH0KIAog
ICAgIEp1bXAgYnJhbmNoTXVsMzIoUmVzdWx0Q29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgc3Jj
LCBSZWdpc3RlcklEIGRlc3QpCg==
</data>
<flag name="review"
          id="220859"
          type_id="1"
          status="-"
          setter="oliver"
    />
    <flag name="commit-queue"
          id="220860"
          type_id="3"
          status="-"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199522</attachid>
            <date>2013-04-24 15:23:14 -0700</date>
            <delta_ts>2013-04-24 17:09:08 -0700</delta_ts>
            <desc> Misc bugfix and cleaning in sh4 base JIT (4)</desc>
            <filename>bug-115022_4.patch</filename>
            <type>text/plain</type>
            <size>12528</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ5MDY4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDEzLTA0LTI0ICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VhdUBuZHMuY29tPgorCisg
ICAgICAgIE1pc2MgYnVnZml4IGFuZCBjbGVhbmluZyBpbiBzaDQgYmFzZSBKSVQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUwMjIuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHVudXNlZCBh
ZGQzMigpIGFuZCBzdWIzMigpIHdpdGggc2NyYXRjaHJlZyBwYXJhbWV0ZXIgdG8gYXZvaWQKKyAg
ICAgICAgY29uZnVzaW9uIGFzIHRoaXMgZnVuY3Rpb24gcHJvdG90eXBlIG1lYW5zIGFub3RoZXIg
YmVoYXZpb3VyLgorICAgICAgICBSZW1vdmUgdW51c2VkICJ2b2lkIHB1c2goQWRkcmVzcykiIGZ1
bmN0aW9uIHdoaWNoIHNlZW1zIHF1aXRlIGJ1Z2d5LgorCisgICAgICAgICogYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyU0g0Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0OjphbmQz
Mik6IENvc21ldGljIGNoYW5nZS4KKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6Omxz
aGlmdDMyKTogQ29zbWV0aWMgY2hhbmdlLgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNI
NDo6b3IzMik6IENvc21ldGljIGNoYW5nZS4KKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJT
SDQ6OnhvcjMyKTogQ29zbWV0aWMgY2hhbmdlLgorICAgICAgICAoTWFjcm9Bc3NlbWJsZXJTSDQp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZDMyKTogQ29zbWV0aWMgY2hh
bmdlLgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6bG9hZDhTaWduZWQpOiBGaXgg
aW52YWxpZCBvZmZzZXQgdXBwZXIgbGltaXQKKyAgICAgICAgd2hlbiB1c2luZyByMCByZWdpc3Rl
ciBhbmQgY29zbWV0aWMgY2hhbmdlcy4KKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJTSDQ6
OmxvYWQ4KTogUmV1c2UgbG9hZDhTaWduZWQgdG8gYXZvaWQgZHVwbGljYXRpb24uCisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyU0g0Ojpsb2FkMTYpOiBGaXggaW52YWxpZCBvZmZzZXQgdXBw
ZXIgbGltaXQgd2hlbgorICAgICAgICB1c2luZyByMCByZWdpc3RlciwgZml4IG1pc3Npbmcgb2Zm
c2V0IHNoaWZ0IGFuZCBjb3NtZXRpYyBjaGFuZ2VzLgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2Vt
YmxlclNINDo6c3RvcmUzMik6IENvc21ldGljIGNoYW5nZS4KKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJTSDQ6OmJyYW5jaEFkZDMyKTogU3RvcmUgcmVzdWx0IHZhbHVlIGJlZm9yZSBicmFu
Y2guCisKIDIwMTMtMDQtMjQgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAog
ICAgICAgICBIYXZlIFZTMjAxMCBXZWJLaXQgc29sdXRpb24gbG9vayBpbiBXZWJLaXRfTGlicmFy
aWVzL2xpYjMyIGZvciBkZXBlbmRlbmNpZXMuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyU0g0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclNINC5oCShyZXZpc2lvbiAxNDkwNjcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyU0g0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE2NSw3ICsxNjUsNyBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAog
ICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOwotICAgICAgICBtX2Fzc2Vt
Ymxlci5sb2FkQ29uc3RhbnQoKGltbS5tX3ZhbHVlKSwgc2NyKTsKKyAgICAgICAgbV9hc3NlbWJs
ZXIubG9hZENvbnN0YW50KGltbS5tX3ZhbHVlLCBzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5h
bmRsUmVnUmVnKHNjciwgZGVzdCk7CiAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7CiAgICAg
fQpAQCAtMjEzLDcgKzIxMyw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogCiAgICAgICAgIFJlZ2lz
dGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25z
dGFudCgoaW1tLm1fdmFsdWUgJiAweDFmKSAsIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmxv
YWRDb25zdGFudChpbW0ubV92YWx1ZSAmIDB4MWYsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVy
LnNobGxSZWdSZWcoZGVzdCwgc2NyKTsKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAg
ICB9CkBAIC0yNzIsMTAgKzI3Miw5IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH0KIAotICAg
IAotdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklE
IGRlc3QpCisgICAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgc3JjLCBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBpZiAgKHNyYyAhPSBkZXN0KSB7CisgICAg
ICAgIGlmIChzcmMgIT0gZGVzdCkgewogICAgICAgICAgICAgbW92ZShpbW0sIGRlc3QpOwogICAg
ICAgICAgICAgb3IzMihzcmMsIGRlc3QpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjg2LDcg
KzI4NSw3IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHMKIAogICAg
IHZvaWQgeG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQg
ZGVzdCkKICAgICB7Ci0gICAgICAgIGlmICAoc3JjICE9IGRlc3QpIHsKKyAgICAgICAgaWYgKHNy
YyAhPSBkZXN0KSB7CiAgICAgICAgICAgICBtb3ZlKGltbSwgZGVzdCk7CiAgICAgICAgICAgICB4
b3IzMihzcmMsIGRlc3QpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzI3LDI0ICszMjYsNiBA
QCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIG1fYXNz
ZW1ibGVyLnN1YmxSZWdSZWcoc3JjLCBkZXN0KTsKICAgICB9CiAKLSAgICB2b2lkIHN1YjMyKFRy
dXN0ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIHNjcmF0
Y2hSZWcpCi0gICAgewotICAgICAgICBSZWdpc3RlcklEIHJlc3VsdCA9IGNsYWltU2NyYXRjaCgp
OwotCi0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChyZWludGVycHJldF9jYXN0PHVp
bnQzMl90PihhZGRyZXNzLm1fcHRyKSwgc2NyYXRjaFJlZyk7Ci0gICAgICAgIG1fYXNzZW1ibGVy
Lm1vdmxNZW1SZWcoc2NyYXRjaFJlZywgcmVzdWx0KTsKLQotICAgICAgICBpZiAobV9hc3NlbWJs
ZXIuaXNJbW1lZGlhdGUoLWltbS5tX3ZhbHVlKSkKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFk
ZGxJbW04cigtaW1tLm1fdmFsdWUsIHJlc3VsdCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAg
ICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KGltbS5tX3ZhbHVlLCBzY3JhdGNoUmVnMyk7Ci0g
ICAgICAgICAgICBtX2Fzc2VtYmxlci5zdWJsUmVnUmVnKHNjcmF0Y2hSZWczLCByZXN1bHQpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgc3RvcmUzMihyZXN1bHQsIHNjcmF0Y2hSZWcpOwotICAgICAg
ICByZWxlYXNlU2NyYXRjaChyZXN1bHQpOwotICAgIH0KLQogICAgIHZvaWQgc3ViMzIoVHJ1c3Rl
ZEltbTMyIGltbSwgQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBSZWdp
c3RlcklEIHJlc3VsdCA9IGNsYWltU2NyYXRjaCgpOwpAQCAtMzY1LDI0ICszNDYsNiBAQCB2b2lk
IG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgIHJlbGVhc2VTY3Jh
dGNoKHNjcmF0Y2hSZWcpOwogICAgIH0KIAotICAgIHZvaWQgYWRkMzIoVHJ1c3RlZEltbTMyIGlt
bSwgQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQgc2NyYXRjaFJlZykKLSAgICB7
Ci0gICAgICAgIFJlZ2lzdGVySUQgcmVzdWx0ID0gY2xhaW1TY3JhdGNoKCk7Ci0KLSAgICAgICAg
bV9hc3NlbWJsZXIubG9hZENvbnN0YW50KHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Q+KGFkZHJl
c3MubV9wdHIpLCBzY3JhdGNoUmVnKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubW92bE1lbVJlZyhz
Y3JhdGNoUmVnLCByZXN1bHQpOwotCi0gICAgICAgIGlmIChtX2Fzc2VtYmxlci5pc0ltbWVkaWF0
ZShpbW0ubV92YWx1ZSkpCi0gICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRsSW1tOHIoaW1tLm1f
dmFsdWUsIHJlc3VsdCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgbV9hc3NlbWJsZXIu
bG9hZENvbnN0YW50KGltbS5tX3ZhbHVlLCBzY3JhdGNoUmVnMyk7Ci0gICAgICAgICAgICBtX2Fz
c2VtYmxlci5hZGRsUmVnUmVnKHNjcmF0Y2hSZWczLCByZXN1bHQpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgc3RvcmUzMihyZXN1bHQsIHNjcmF0Y2hSZWcpOwotICAgICAgICByZWxlYXNlU2NyYXRj
aChyZXN1bHQpOwotICAgIH0KLQogICAgIHZvaWQgYWRkMzIoVHJ1c3RlZEltbTMyIGltbSwgQWJz
b2x1dGVBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHJlc3VsdCA9
IGNsYWltU2NyYXRjaCgpOwpAQCAtNDY2LDcgKzQyOSw3IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1t
MzIgaW1tLCBSZWdpc3RlcklEIHMKIAogICAgICAgICBpZiAoKHNyY0Rlc3QgIT0gU0g0UmVnaXN0
ZXJzOjpyMCkgfHwgKGltbS5tX3ZhbHVlID4gMjU1KSB8fCAoaW1tLm1fdmFsdWUgPCAwKSkgewog
ICAgICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgoaW1tLm1fdmFsdWUpLCBzY3IpOworICAgICAgICAg
ICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KGltbS5tX3ZhbHVlLCBzY3IpOwogICAgICAgICAg
ICAgbV9hc3NlbWJsZXIueG9ybFJlZ1JlZyhzY3IsIHNyY0Rlc3QpOwogICAgICAgICAgICAgcmVs
ZWFzZVNjcmF0Y2goc2NyKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTY4MCw3ICs2NDMsNyBA
QCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgICAgICBz
Y3IgPSBjbGFpbVNjcmF0Y2goKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgc2NyID0gZGVz
dDsKLSAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KChvZmZzZXQpLCBzY3IpOworICAg
ICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQob2Zmc2V0LCBzY3IpOwogICAgICAgICBtX2Fz
c2VtYmxlci5hZGRsUmVnUmVnKGJhc2UsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxN
ZW1SZWcoc2NyLCBkZXN0KTsKIApAQCAtNjk1LDIwICs2NTgsMjAgQEAgdm9pZCBvcjMyKFRydXN0
ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKLSAgICAgICAgaWYgKChvZmZzZXQgPiAwKSAmJiAob2Zmc2V0IDwgNjQpICYmIChkZXN0ID09
IFNINFJlZ2lzdGVyczo6cjApKSB7CisgICAgICAgIGlmICgob2Zmc2V0ID4gMCkgJiYgKG9mZnNl
dCA8PSAxNSkgJiYgKGRlc3QgPT0gU0g0UmVnaXN0ZXJzOjpyMCkpIHsKICAgICAgICAgICAgIG1f
YXNzZW1ibGVyLm1vdmJNZW1SZWcob2Zmc2V0LCBiYXNlLCBkZXN0KTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChiYXNlICE9IGRlc3QpIHsKLSAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudCgob2Zmc2V0KSwgZGVzdCk7CisgICAgICAgICAg
ICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQob2Zmc2V0LCBkZXN0KTsKICAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmFkZGxSZWdSZWcoYmFzZSwgZGVzdCk7CiAgICAgICAgICAgICBtX2Fzc2VtYmxl
ci5tb3ZiTWVtUmVnKGRlc3QsIGRlc3QpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAgbV9h
c3NlbWJsZXIubG9hZENvbnN0YW50KChvZmZzZXQpLCBzY3IpOworICAgICAgICBtX2Fzc2VtYmxl
ci5sb2FkQ29uc3RhbnQob2Zmc2V0LCBzY3IpOwogICAgICAgICBtX2Fzc2VtYmxlci5hZGRsUmVn
UmVnKGJhc2UsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmJNZW1SZWcoc2NyLCBkZXN0
KTsKICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKQEAgLTcxNiwzMiArNjc5LDggQEAgdm9p
ZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogCiAgICAgdm9pZCBsb2FkOChS
ZWdpc3RlcklEIGJhc2UsIGludCBvZmZzZXQsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAg
ICAgIGlmICghb2Zmc2V0KSB7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiTWVtUmVnKGJh
c2UsIGRlc3QpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuZXh0dWIoZGVzdCwgZGVzdCk7Ci0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoKG9mZnNldCA+IDAp
ICYmIChvZmZzZXQgPCA2NCkgJiYgKGRlc3QgPT0gU0g0UmVnaXN0ZXJzOjpyMCkpIHsKLSAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLm1vdmJNZW1SZWcob2Zmc2V0LCBiYXNlLCBkZXN0KTsKLSAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLmV4dHViKGRlc3QsIGRlc3QpOwotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGJhc2UgIT0gZGVzdCkgewotICAgICAgICAgICAg
bV9hc3NlbWJsZXIubG9hZENvbnN0YW50KChvZmZzZXQpLCBkZXN0KTsKLSAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmFkZGxSZWdSZWcoYmFzZSwgZGVzdCk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxl
ci5tb3ZiTWVtUmVnKGRlc3QsIGRlc3QpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuZXh0dWIo
ZGVzdCwgZGVzdCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBS
ZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOwotICAgICAgICBtX2Fzc2VtYmxlci5sb2Fk
Q29uc3RhbnQoKG9mZnNldCksIHNjcik7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdSZWco
YmFzZSwgc2NyKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubW92Yk1lbVJlZyhzY3IsIGRlc3QpOwor
ICAgICAgICBsb2FkOFNpZ25lZChiYXNlLCBvZmZzZXQsIGRlc3QpOwogICAgICAgICBtX2Fzc2Vt
Ymxlci5leHR1YihkZXN0LCBkZXN0KTsKLSAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAg
ICB9CiAKICAgICB2b2lkIGxvYWQzMihSZWdpc3RlcklEIHIwLCBSZWdpc3RlcklEIHNyYywgUmVn
aXN0ZXJJRCBkc3QpCkBAIC03NjMsMTQgKzcwMiwxNCBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMy
IGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAg
ICAgICBpZiAoKGFkZHJlc3Mub2Zmc2V0ID4gMCkgJiYgKGFkZHJlc3Mub2Zmc2V0IDwgNjQpICYm
IChkZXN0ID09IFNINFJlZ2lzdGVyczo6cjApKSB7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5t
b3Z3TWVtUmVnKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGRlc3QpOworICAgICAgICBp
ZiAoKGFkZHJlc3Mub2Zmc2V0ID4gMCkgJiYgKGFkZHJlc3Mub2Zmc2V0IDw9IDMwKSAmJiAoZGVz
dCA9PSBTSDRSZWdpc3RlcnM6OnIwKSkgeworICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92d01l
bVJlZyhhZGRyZXNzLm9mZnNldCA+PiAxLCBhZGRyZXNzLmJhc2UsIGRlc3QpOwogICAgICAgICAg
ICAgZXh0dXcoZGVzdCwgZGVzdCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAoYWRkcmVzcy5iYXNlICE9IGRlc3QpIHsKLSAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmxvYWRDb25zdGFudCgoYWRkcmVzcy5vZmZzZXQpLCBkZXN0KTsKKyAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmxvYWRDb25zdGFudChhZGRyZXNzLm9mZnNldCwgZGVzdCk7CiAgICAgICAgICAg
ICBtX2Fzc2VtYmxlci5hZGRsUmVnUmVnKGFkZHJlc3MuYmFzZSwgZGVzdCk7CiAgICAgICAgICAg
ICBtX2Fzc2VtYmxlci5tb3Z3TWVtUmVnKGRlc3QsIGRlc3QpOwogICAgICAgICAgICAgZXh0dXco
ZGVzdCwgZGVzdCk7CkBAIC03NzgsNyArNzE3LDcgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBp
bW0sIFJlZ2lzdGVySUQgcwogICAgICAgICB9CiAKICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBj
bGFpbVNjcmF0Y2goKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KChhZGRyZXNz
Lm9mZnNldCksIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChhZGRyZXNz
Lm9mZnNldCwgc2NyKTsKICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbFJlZ1JlZyhhZGRyZXNzLmJh
c2UsIHNjcik7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdndNZW1SZWcoc2NyLCBkZXN0KTsKICAg
ICAgICAgZXh0dXcoZGVzdCwgZGVzdCk7CkBAIC05MTAsMTIgKzg0OSwxMiBAQCB2b2lkIG9yMzIo
VHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIAotICAgICAgICBpZiAoKG9mZnNldCA+PTApICYmIChvZmZzZXQgPCA2NCkpIHsKKyAg
ICAgICAgaWYgKChvZmZzZXQgPj0gMCkgJiYgKG9mZnNldCA8IDY0KSkgewogICAgICAgICAgICAg
bV9hc3NlbWJsZXIubW92bFJlZ01lbShzcmMsIG9mZnNldCA+PiAyLCBiYXNlKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFu
dCgob2Zmc2V0KSwgc2NyKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KG9mZnNl
dCwgc2NyKTsKICAgICAgICAgaWYgKHNjciA9PSBTSDRSZWdpc3RlcnM6OnIwKSB7CiAgICAgICAg
ICAgICBtX2Fzc2VtYmxlci5tb3ZsUmVnTWVtcjAoc3JjLCBiYXNlKTsKICAgICAgICAgICAgIHJl
dHVybjsKQEAgLTk0MCw3ICs4NzksNyBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVn
aXN0ZXJJRCBzCiAgICAgewogICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgp
OwogICAgICAgICBSZWdpc3RlcklEIHNjcjEgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAgbV9h
c3NlbWJsZXIubG9hZENvbnN0YW50KChpbW0ubV92YWx1ZSksIHNjcik7CisgICAgICAgIG1fYXNz
ZW1ibGVyLmxvYWRDb25zdGFudChpbW0ubV92YWx1ZSwgc2NyKTsKICAgICAgICAgc3RvcmUzMihz
Y3IsIGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIHNjcjEpOwogICAgICAgICByZWxlYXNl
U2NyYXRjaChzY3IpOwogICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IxKTsKQEAgLTk2Miw3ICs5
MDEsNyBAQCB2b2lkIG9yMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzCiAgICAgewog
ICAgICAgICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOwogICAgICAgICBSZWdpc3Rl
cklEIHNjcjEgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0
YW50KChpbW0ubV92YWx1ZSksIHNjcik7CisgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFu
dChpbW0ubV92YWx1ZSwgc2NyKTsKICAgICAgICAgbV9hc3NlbWJsZXIubG9hZENvbnN0YW50KHJl
aW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Q+KGFkZHJlc3MpLCBzY3IxKTsKICAgICAgICAgbV9hc3Nl
bWJsZXIubW92bFJlZ01lbShzY3IsIHNjcjEpOwogICAgICAgICByZWxlYXNlU2NyYXRjaChzY3Ip
OwpAQCAtMTYwNCwyNyArMTU0Myw2IEBAIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBSZWdp
c3RlcklEIHMKICAgICAgICAgbV9hc3NlbWJsZXIucHVzaFJlZyhzcmMpOwogICAgIH0KIAotICAg
IHZvaWQgcHVzaChBZGRyZXNzIGFkZHJlc3MpCi0gICAgewotICAgICAgICBpZiAoIWFkZHJlc3Mu
b2Zmc2V0KSB7Ci0gICAgICAgICAgICBwdXNoKGFkZHJlc3MuYmFzZSk7Ci0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoKGFkZHJlc3Mub2Zmc2V0IDwgMCkgfHwg
KGFkZHJlc3Mub2Zmc2V0ID49IDY0KSkgewotICAgICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBj
bGFpbVNjcmF0Y2goKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFudChhZGRy
ZXNzLm9mZnNldCwgc2NyKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZGxSZWdSZWcoYWRk
cmVzcy5iYXNlLCBzY3IpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92bE1lbVJlZyhzY3Is
IFNINFJlZ2lzdGVyczo6c3ApOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkbEltbThyKC00
LCBTSDRSZWdpc3RlcnM6OnNwKTsKLSAgICAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7Ci0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBtX2Fzc2VtYmxlci5tb3Zs
TWVtUmVnKGFkZHJlc3Mub2Zmc2V0ID4+IDIsIGFkZHJlc3MuYmFzZSwgU0g0UmVnaXN0ZXJzOjpz
cCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmFkZGxJbW04cigtNCwgU0g0UmVnaXN0ZXJzOjpzcCk7
Ci0gICAgfQotCiAgICAgdm9pZCBwdXNoKFRydXN0ZWRJbW0zMiBpbW0pCiAgICAgewogICAgICAg
ICBSZWdpc3RlcklEIHNjciA9IGNsYWltU2NyYXRjaCgpOwpAQCAtMTk3OCw3ICsxODk2LDcgQEAg
dm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgIEp1bXAgYnJhbmNo
QWRkMzIoUmVzdWx0Q29uZGl0aW9uIGNvbmQsIFRydXN0ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRk
cmVzcyBkZXN0KQogICAgIHsKICAgICAgICAgQVNTRVJUKChjb25kID09IE92ZXJmbG93KSB8fCAo
Y29uZCA9PSBTaWduZWQpIHx8IChjb25kID09IFBvc2l0aXZlT3JaZXJvKSB8fCAoY29uZCA9PSBa
ZXJvKSB8fCAoY29uZCA9PSBOb25aZXJvKSk7Ci0gICAgICAgIEp1bXAgcmVzdWx0OworICAgICAg
ICBib29sIHJlc3VsdDsKIAogICAgICAgICBtb3ZlKGltbSwgc2NyYXRjaFJlZzMpOwogICAgICAg
ICBSZWdpc3RlcklEIGRlc3RwdHIgPSBjbGFpbVNjcmF0Y2goKTsKQEAgLTE5ODcsMjYgKzE5MDUs
MjUgQEAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBpbW0sIFJlZ2lzdGVySUQgcwogICAgICAgICBt
X2Fzc2VtYmxlci5tb3ZsTWVtUmVnKGRlc3RwdHIsIGRlc3R2YWwpOwogICAgICAgICBpZiAoY29u
ZCA9PSBPdmVyZmxvdykgewogICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkdmxSZWdSZWcoc2Ny
YXRjaFJlZzMsIGRlc3R2YWwpOwotICAgICAgICAgICAgcmVzdWx0ID0gYnJhbmNoVHJ1ZSgpOwor
ICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmFkZGxSZWdSZWcoc2NyYXRjaFJlZzMsIGRlc3R2YWwpOwotCiAgICAgICAg
ICAgICBpZiAoY29uZCA9PSBTaWduZWQpIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5j
bXBweihkZXN0dmFsKTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBicmFuY2hGYWxzZSgpOwor
ICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICAgICAgICAgfSBlbHNlIGlmIChj
b25kID09IFBvc2l0aXZlT3JaZXJvKSB7CiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIuY21w
cHooZGVzdHZhbCk7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gYnJhbmNoVHJ1ZSgpOworICAg
ICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdkltbTgoMCwgc2NyYXRjaFJlZzMpOwogICAgICAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMsIGRlc3R2YWwsIFNINENv
bmRpdGlvbihjb25kKSk7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gKGNvbmQgPT0gTm9uWmVy
bykgPyBicmFuY2hGYWxzZSgpIDogYnJhbmNoVHJ1ZSgpOworICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IChjb25kID09IFplcm8pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIG1f
YXNzZW1ibGVyLm1vdmxSZWdNZW0oZGVzdHZhbCwgZGVzdHB0cik7CiAgICAgICAgIHJlbGVhc2VT
Y3JhdGNoKGRlc3R2YWwpOwogICAgICAgICByZWxlYXNlU2NyYXRjaChkZXN0cHRyKTsKLSAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdCA/IGJyYW5jaFRydWUoKSA6
IGJyYW5jaEZhbHNlKCk7CiAgICAgfQogCiAgICAgSnVtcCBicmFuY2hNdWwzMihSZXN1bHRDb25k
aXRpb24gY29uZCwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>