<?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>31050</bug_id>
          
          <creation_ts>2009-11-03 04:04:30 -0800</creation_ts>
          <short_desc>[Multipatch] JSVALUE32_64 support on ARM</short_desc>
          <delta_ts>2009-11-20 03:35:20 -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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>31159</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Zoltan Herczeg">zherczeg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>loki</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>160025</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-11-03 04:04:30 -0800</bug_when>
    <thetext>I started this work some weeks ago, but I had to go abroad, and only recently find time to finnish the first patch.

Notes:
  - JSVALUE32_64 is not enabled by default
    - and all optimizations are disabled (as usual for all enhancements).
  - emitPutJITStub... functions are ugly. Somehow stackIndexStart should be propagated from JITStubCall.h. Besides stackIndexStart should be machine dependent constant, defined by the assembler
  - emit_op_div contains x86 code, not looks nice.

And still not found a nice solution for branchDouble with NaN arguments. x86 says anything compared to NaN is &lt;= (set both equal and carry flag). Now branchDouble on ARM has an x86 unordered flag (default true), which just a partial solution, since it sets only the equal flag in case of comparing to NaN. Do you know what ECMA says about double comparison?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160026</commentid>
    <comment_count>1</comment_count>
      <attachid>42365</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-11-03 04:20:07 -0800</bug_when>
    <thetext>Created attachment 42365
Proposed patch for JSValue32_64 on ARM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160373</commentid>
    <comment_count>2</comment_count>
      <attachid>42365</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-11-04 01:24:49 -0800</bug_when>
    <thetext>Comment on attachment 42365
Proposed patch for JSValue32_64 on ARM

As per our conversation on IRC, It will help this change to clean up some of the existing code in svn first, so let&apos;s hold this off for:

https://bugs.webkit.org/show_bug.cgi?id=31104

to land first.  I&apos;m going to r- this patch, since these changes will conflict, please resubmit after 31104 is in &amp; you&apos;ve updated.

ECMA says that math is IEEE754 compliant, and IEEE754 specifies that comparisons between unordered operands (i.e. when either operand is NaN) evaluates to false.  The MacroAssembler interface in ToT is a mess in its handling of unordered operands, I&apos;ve addressed this in the patch on bug 31104 by making the required handling of unordered operands explicit in the DoubleCondition.

r-, will review a new patch post 31104.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160803</commentid>
    <comment_count>3</comment_count>
      <attachid>42566</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-11-05 06:03:49 -0800</bug_when>
    <thetext>Created attachment 42566
Second patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161112</commentid>
    <comment_count>4</comment_count>
      <attachid>42566</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-11-06 01:59:08 -0800</bug_when>
    <thetext>Comment on attachment 42566
Second patch

As discussed in irc, I&apos;ve landed a version of the OBJECT_OFFSETOF(struct JITStackFrame, args) change in r50594.
Also, I&apos;ve changed the shift behaviour in r50595, so the extra and32&apos;s on the shifts should no longer be required.

Also as discussed in irc, some ASSERTs to guard THUNK_RETURN_ADDRESS_OFFSET would be a great improvement.

The empty &apos;#elif PLATFORM(ARM_TRADITIONAL)&apos; in JIT.h was a little confusing, would be great to add a quick comment explaining why this section is empty (something like &quot;// patchOffset... values should go here; JIT optimizations currently not supported on ARM with JSVALUE32_64.&quot;).

Otherwise looks good to go, r- since you&apos;ll need to update to r50594, r50595, but should be a straight r+ after that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161126</commentid>
    <comment_count>5</comment_count>
      <attachid>42648</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-11-06 05:32:19 -0800</bug_when>
    <thetext>Created attachment 42648
Another patch

The patch contains buildfix for lshift/rsfhift. (rshiftPtr is not exists anymore) Reason: our commiter was away, and on the #irc channel no-one helped us to commit the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161304</commentid>
    <comment_count>6</comment_count>
      <attachid>42648</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-11-06 22:56:52 -0800</bug_when>
    <thetext>Comment on attachment 42648
Another patch

Hey Zoltan,

I haven&apos;t spotted an ASSERT / COMPILE_ASSERT guarding that THUNK_RETURN_ADDRESS_OFFSET  matches the offset of thunkReturnAddress, did that get missed?

Also, could we rename STRINGIZE_HELPER to STRINGIZE, and STRINGIZE to something like STRINGIZE_VALUE, STRINGIZE_VALUE_OF, STRINGIZE_PREPROCESSED.  I think the STRINGIZE macro should match the functionality of the stringize operator (#), in just stringifying the token passed to it, and this is a useful macro in its own right.  The version that doubly nests the macro to extract the value (if it is a preprocessor token) is doing something more than the standard stringize functionality, and I think it needs calling out as such.

Ah, now i see also the comment in JIT.h is also missing - so I&apos;m guessing you just hadn&apos;t got around to fixing the last review comments yet. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161515</commentid>
    <comment_count>7</comment_count>
      <attachid>42737</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-11-09 00:11:37 -0800</bug_when>
    <thetext>Created attachment 42737
Never ending story</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161567</commentid>
    <comment_count>8</comment_count>
      <attachid>42750</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-11-09 07:23:13 -0800</bug_when>
    <thetext>Created attachment 42750
First patch for JSValue32_64 optimizations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162022</commentid>
    <comment_count>9</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-11-10 05:20:00 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=42750) [details]
&gt; First patch for JSValue32_64 optimizations

Preliminary results:

SunSpider: 7442.9ms +/- 0.2% (was: 9546 ms, 28% speedup)
V8: 35815.8ms +/- 0.4% (was: 22866 ms, 56% slowdown)
WindScorpion: N/A</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163495</commentid>
    <comment_count>10</comment_count>
      <attachid>42737</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-11-13 14:01:18 -0800</bug_when>
    <thetext>Comment on attachment 42737
Never ending story

Awesome, r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163498</commentid>
    <comment_count>11</comment_count>
      <attachid>42750</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-11-13 14:02:58 -0800</bug_when>
    <thetext>Comment on attachment 42750
First patch for JSValue32_64 optimizations

All looks good to me, r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163594</commentid>
    <comment_count>12</comment_count>
      <attachid>42737</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-11-13 16:49:49 -0800</bug_when>
    <thetext>Comment on attachment 42737
Never ending story

Landed in 50981. 
http://trac.webkit.org/changeset/50981

Clearing review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163601</commentid>
    <comment_count>13</comment_count>
      <attachid>42750</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-11-13 17:08:34 -0800</bug_when>
    <thetext>Comment on attachment 42750
First patch for JSValue32_64 optimizations

Landed in 50982.
http://trac.webkit.org/changeset/50982
Clearing review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163921</commentid>
    <comment_count>14</comment_count>
      <attachid>43285</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-11-16 03:19:20 -0800</bug_when>
    <thetext>Created attachment 43285
Minor fixes for JSValue32_64 on ARM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164164</commentid>
    <comment_count>15</comment_count>
      <attachid>43285</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-11-16 23:18:12 -0800</bug_when>
    <thetext>Comment on attachment 43285
Minor fixes for JSValue32_64 on ARM

Landed in 51067.
http://trac.webkit.org/changeset/51067
Clearing review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165266</commentid>
    <comment_count>16</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-11-20 03:35:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.
Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42365</attachid>
            <date>2009-11-03 04:20:07 -0800</date>
            <delta_ts>2009-11-06 05:33:01 -0800</delta_ts>
            <desc>Proposed patch for JSValue32_64 on ARM</desc>
            <filename>0001-JSVALUE32_64-support.patch</filename>
            <type>text/plain</type>
            <size>23299</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSBkYWFmNmE1ZjI3ZjY5M2QyYzEyZDFkNmFjZWEyZjAwYzRiN2M5YTYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBUdWUsIDMgTm92IDIwMDkgMTM6MTI6MzMgKzAxMDAKU3ViamVjdDogW1BBVENI
XSBKU1ZBTFVFMzJfNjQgc3VwcG9ydAoKU2lnbmVkLW9mZi1ieTogWm9sdGFuIEhlcmN6ZWcgPHpo
ZXJjemVnQGluZi51LXN6ZWdlZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICB8ICAgNDIgKysrKysrKysrKysrCiBKYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQVJNQXNzZW1ibGVyLmggICAgICB8ICAgMTggKysrKysKIEphdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oIHwgICA4OSArKysrKysrKysrKysrKysrKysrKysr
KysrLQogSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oICAgICAgICAgICAgICAgICAgICAgfCAgICAx
ICsKIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljLmNwcCAgICAgICAgIHwgICAxOCAr
KysrKwogSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaCAgICAgICAgfCAgIDI4
ICsrKysrKysrCiBKYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgICAgICAgICAgICB8
ICAgNjMgKysrKysrKysrKysrKysrKysrLQogSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJDYWxs
LmggICAgICAgICAgICAgfCAgICA0ICsKIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAg
ICAgICAgICAgICAgIHwgICA0NCArKysrKysrKysrKystCiA5IGZpbGVzIGNoYW5nZWQsIDMwMyBp
bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBmZDczY2Y5Li5iMWIw
MzhmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMDktMTEtMDMgIFpvbHRhbiBIZXJj
emVnICA8emhlcmN6ZWdAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMTA1MAorCisgICAgICAgIEFkZGluZyBKU1ZBTFVFMzJfNjQgc3VwcG9ydCBmb3Ig
QVJNIChidXQgbm90IHR1cm5pbmcgaXQKKyAgICAgICAgb24gYnkgZGVmYXVsdCkuIEFsbCBvcHRp
bWl6YXRpb25zIG11c3QgYmUgZGlzYWJsZWQsIHNpbmNlCisgICAgICAgIHRoaXMgcGF0Y2ggaXMg
b25seSB0aGUgZmlyc3Qgb2YgYSBzZXJpZXMgb2YgcGF0Y2hlcy4KKworICAgICAgICAqIGFzc2Vt
Ymxlci9BUk1Bc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjopOgorICAg
ICAgICAoSlNDOjpBUk1Bc3NlbWJsZXI6OmZkaXZkX3IpOgorICAgICAgICAoSlNDOjpBUk1Bc3Nl
bWJsZXI6OmZtcnNfcik6CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6ZnRvc2lkX3IpOgor
ICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlckFSTTo6KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06Om5l
ZzMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmJyYW5jaE9yMzIpOgorICAg
ICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6c2V0OCk6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyQVJNOjpzZXRUZXN0OCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJN
Ojpsb2FkRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmRpdkRvdWJs
ZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpjb252ZXJ0SW50MzJUb0RvdWJs
ZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpjb252ZXJ0RG91YmxlVG9JbnQz
Mik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpicmFuY2hEb3VibGUpOgorICAg
ICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6emVyb0RvdWJsZSk6CisgICAgICAgICogaml0
L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRBcml0aG1ldGljLmNwcDoKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0X29wX2xzaGlmdCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9yc2hpZnQp
OgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZGl2KToKKyAgICAgICAgKiBqaXQvSklUSW5s
aW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRQdXRKSVRTdHViQXJnKToKKyAg
ICAgICAgKEpTQzo6SklUOjplbWl0UHV0SklUU3R1YkFyZ0NvbnN0YW50KToKKyAgICAgICAgKEpT
Qzo6SklUOjplbWl0R2V0SklUU3R1YkFyZyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFB1dEpJ
VFN0dWJBcmdGcm9tVmlydHVhbFJlZ2lzdGVyKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5j
cHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGlu
ZXMpOgorICAgICAgICAqIGppdC9KSVRTdHViQ2FsbC5oOgorICAgICAgICAqIGppdC9KSVRTdHVi
cy5jcHA6CisKIDIwMDktMTAtMzAgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BUk1Bc3NlbWJsZXIuaAppbmRleCA5ZjlhNDUwLi4yZWI3MTFmIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oCkBAIC0xMjEsNiArMTIxLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgICAgICBNVUwgPSAweDAwMDAwMDkwLAogICAgICAgICAgICAgTVVMTCA9IDB4
MDBjMDAwOTAsCiAgICAgICAgICAgICBGQURERCA9IDB4MGUzMDBiMDAsCisgICAgICAgICAgICBG
RElWRCA9IDB4MGU4MDBiMDAsCiAgICAgICAgICAgICBGU1VCRCA9IDB4MGUzMDBiNDAsCiAgICAg
ICAgICAgICBGTVVMRCA9IDB4MGUyMDBiMDAsCiAgICAgICAgICAgICBGQ01QRCA9IDB4MGViNDBi
NDAsCkBAIC0xMzMsNyArMTM0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBCID0g
MHgwYTAwMDAwMCwKICAgICAgICAgICAgIEJMID0gMHgwYjAwMDAwMCwKICAgICAgICAgICAgIEZN
U1IgPSAweDBlMDAwYTEwLAorICAgICAgICAgICAgRk1SUyA9IDB4MGUxMDBhMTAsCiAgICAgICAg
ICAgICBGU0lUT0QgPSAweDBlYjgwYmMwLAorICAgICAgICAgICAgRlRPU0lEID0gMHgwZWJkMGI0
MCwKICAgICAgICAgICAgIEZNU1RBVCA9IDB4MGVmMWZhMTAsCiAjaWYgQVJNX0FSQ0hfVkVSU0lP
TiA+PSA1CiAgICAgICAgICAgICBDTFogPSAweDAxNmYwZjEwLApAQCAtMzc4LDYgKzM4MSwxMSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdv
cmQ+KGNjKSB8IEZBRERELCBkZCwgZG4sIGRtKTsKICAgICAgICAgfQogCisgICAgICAgIHZvaWQg
ZmRpdmRfcihpbnQgZGQsIGludCBkbiwgaW50IGRtLCBDb25kaXRpb24gY2MgPSBBTCkKKyAgICAg
ICAgeworICAgICAgICAgICAgZW1pdEluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgRkRJ
VkQsIGRkLCBkbiwgZG0pOworICAgICAgICB9CisKICAgICAgICAgdm9pZCBmc3ViZF9yKGludCBk
ZCwgaW50IGRuLCBpbnQgZG0sIENvbmRpdGlvbiBjYyA9IEFMKQogICAgICAgICB7CiAgICAgICAg
ICAgICBlbWl0SW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBGU1VCRCwgZGQsIGRuLCBk
bSk7CkBAIC00ODIsMTEgKzQ5MCwyMSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIGVt
aXRJbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZNU1IsIHJuLCBkZCwgMCk7CiAgICAg
ICAgIH0KIAorICAgICAgICB2b2lkIGZtcnNfcihpbnQgZGQsIGludCBybiwgQ29uZGl0aW9uIGNj
ID0gQUwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdv
cmQ+KGNjKSB8IEZNUlMsIHJuLCBkZCwgMCk7CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIGZz
aXRvZF9yKGludCBkZCwgaW50IGRtLCBDb25kaXRpb24gY2MgPSBBTCkKICAgICAgICAgewogICAg
ICAgICAgICAgZW1pdEluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgRlNJVE9ELCBkZCwg
MCwgZG0pOwogICAgICAgICB9CiAKKyAgICAgICAgdm9pZCBmdG9zaWRfcihpbnQgZmQsIGludCBk
bSwgQ29uZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGVtaXRJbnN0KHN0
YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZUT1NJRCwgZmQsIDAsIGRtKTsKKyAgICAgICAgfQor
CiAgICAgICAgIHZvaWQgZm1zdGF0KENvbmRpdGlvbiBjYyA9IEFMKQogICAgICAgICB7CiAgICAg
ICAgICAgICBtX2J1ZmZlci5wdXRJbnQoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgRk1TVEFU
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TS5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKaW5kZXgg
N2E3MmIwNi4uNWI1YzZhZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyQVJNLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNLmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogCiAgICAgZW51bSBEb3VibGVD
b25kaXRpb24gewogICAgICAgICBEb3VibGVFcXVhbCA9IEFSTUFzc2VtYmxlcjo6RVEsCisgICAg
ICAgIERvdWJsZU5vdEVxdWFsID0gQVJNQXNzZW1ibGVyOjpORSwKICAgICAgICAgRG91YmxlR3Jl
YXRlclRoYW4gPSBBUk1Bc3NlbWJsZXI6OkdULAogICAgICAgICBEb3VibGVHcmVhdGVyVGhhbk9y
RXF1YWwgPSBBUk1Bc3NlbWJsZXI6OkdFLAogICAgICAgICBEb3VibGVMZXNzVGhhbiA9IEFSTUFz
c2VtYmxlcjo6TFQsCkBAIC0xMzEsNiArMTMyLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3Nl
bWJsZXIubXVsc19yKGRlc3QsIHNyYywgQVJNUmVnaXN0ZXJzOjpTMCk7CiAgICAgfQogCisgICAg
dm9pZCBuZWczMihSZWdpc3RlcklEIHNyY0Rlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxl
ci5yc2JzX3Ioc3JjRGVzdCwgc3JjRGVzdCwgQVJNQXNzZW1ibGVyOjpnZXRPcDIoMCkpOworICAg
IH0KKwogICAgIHZvaWQgbm90MzIoUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAgbV9h
c3NlbWJsZXIubXZuc19yKGRlc3QsIGRlc3QpOwpAQCAtNTA1LDYgKzUxMSwxMyBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmptcChBUk1Db25kaXRpb24oY29uZCkp
KTsKICAgICB9CiAKKyAgICBKdW1wIGJyYW5jaE9yMzIoQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVy
SUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBBU1NFUlQoKGNvbmQgPT0g
U2lnbmVkKSB8fCAoY29uZCA9PSBaZXJvKSB8fCAoY29uZCA9PSBOb25aZXJvKSk7CisgICAgICAg
IG9yMzIoc3JjLCBkZXN0KTsKKyAgICAgICAgcmV0dXJuIEp1bXAobV9hc3NlbWJsZXIuam1wKEFS
TUNvbmRpdGlvbihjb25kKSkpOworICAgIH0KKwogICAgIHZvaWQgYnJlYWtwb2ludCgpCiAgICAg
ewogICAgICAgICBtX2Fzc2VtYmxlci5ia3B0KDApOwpAQCAtNTQ4LDYgKzU2MSwyNSBAQCBwdWJs
aWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdl9yKGRlc3QsIEFSTUFzc2VtYmxlcjo6Z2V0T3Ay
KDEpLCBBUk1Db25kaXRpb24oY29uZCkpOwogICAgIH0KIAorICAgIHZvaWQgc2V0OChDb25kaXRp
b24gY29uZCwgUmVnaXN0ZXJJRCBsZWZ0LCBSZWdpc3RlcklEIHJpZ2h0LCBSZWdpc3RlcklEIGRl
c3QpCisgICAgeworICAgICAgICAvLyBBUk0gZG9lc24ndCBoYXZlIGJ5dGUgcmVnaXN0ZXJzCisg
ICAgICAgIHNldDMyKGNvbmQsIGxlZnQsIHJpZ2h0LCBkZXN0KTsKKyAgICB9CisKKyAgICB2b2lk
IHNldDgoQ29uZGl0aW9uIGNvbmQsIEFkZHJlc3MgbGVmdCwgUmVnaXN0ZXJJRCByaWdodCwgUmVn
aXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgLy8gQVJNIGRvZXNuJ3QgaGF2ZSBieXRlIHJl
Z2lzdGVycworICAgICAgICBsb2FkMzIobGVmdCwgQVJNUmVnaXN0ZXJzOjpTMSk7CisgICAgICAg
IHNldDMyKGNvbmQsIEFSTVJlZ2lzdGVyczo6UzEsIHJpZ2h0LCBkZXN0KTsKKyAgICB9CisKKyAg
ICB2b2lkIHNldDgoQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgbGVmdCwgSW1tMzIgcmlnaHQs
IFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIC8vIEFSTSBkb2Vzbid0IGhhdmUgYnl0
ZSByZWdpc3RlcnMKKyAgICAgICAgc2V0MzIoY29uZCwgbGVmdCwgcmlnaHQsIGRlc3QpOworICAg
IH0KKwogICAgIHZvaWQgc2V0VGVzdDMyKENvbmRpdGlvbiBjb25kLCBBZGRyZXNzIGFkZHJlc3Ms
IEltbTMyIG1hc2ssIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGxvYWQzMihhZGRy
ZXNzLCBBUk1SZWdpc3RlcnM6OlMxKTsKQEAgLTU1OSw2ICs1OTEsMTIgQEAgcHVibGljOgogICAg
ICAgICBtX2Fzc2VtYmxlci5tb3ZfcihkZXN0LCBBUk1Bc3NlbWJsZXI6OmdldE9wMigxKSwgQVJN
Q29uZGl0aW9uKGNvbmQpKTsKICAgICB9CiAKKyAgICB2b2lkIHNldFRlc3Q4KENvbmRpdGlvbiBj
b25kLCBBZGRyZXNzIGFkZHJlc3MsIEltbTMyIG1hc2ssIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7
CisgICAgICAgIC8vIEFSTSBkb2Vzbid0IGhhdmUgYnl0ZSByZWdpc3RlcnMKKyAgICAgICAgc2V0
VGVzdDMyKGNvbmQsIGFkZHJlc3MsIG1hc2ssIGRlc3QpOworICAgIH0KKwogICAgIHZvaWQgYWRk
MzIoSW1tMzIgaW1tLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAg
ICAgICAgbV9hc3NlbWJsZXIuYWRkX3IoZGVzdCwgc3JjLCBtX2Fzc2VtYmxlci5nZXRJbW0oaW1t
Lm1fdmFsdWUsIEFSTVJlZ2lzdGVyczo6UzApKTsKQEAgLTY2Niw2ICs3MDQsMTIgQEAgcHVibGlj
OgogICAgICAgICBtX2Fzc2VtYmxlci5kb3VibGVUcmFuc2Zlcih0cnVlLCBkZXN0LCBhZGRyZXNz
LmJhc2UsIGFkZHJlc3Mub2Zmc2V0KTsKICAgICB9CiAKKyAgICB2b2lkIGxvYWREb3VibGUodm9p
ZCogYWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxl
ci5sZHJfdW5faW1tKEFSTVJlZ2lzdGVyczo6UzAsIChBUk1Xb3JkKWFkZHJlc3MpOworICAgICAg
ICBtX2Fzc2VtYmxlci5mZHRyX3UodHJ1ZSwgZGVzdCwgQVJNUmVnaXN0ZXJzOjpTMCwgMCk7Cisg
ICAgfQorCiAgICAgdm9pZCBzdG9yZURvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBJbXBsaWNpdEFk
ZHJlc3MgYWRkcmVzcykKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmRvdWJsZVRyYW5zZmVy
KGZhbHNlLCBzcmMsIGFkZHJlc3MuYmFzZSwgYWRkcmVzcy5vZmZzZXQpOwpAQCAtNjgyLDYgKzcy
NiwxOCBAQCBwdWJsaWM6CiAgICAgICAgIGFkZERvdWJsZShBUk1SZWdpc3RlcnM6OlNEMCwgZGVz
dCk7CiAgICAgfQogCisgICAgdm9pZCBkaXZEb3VibGUoRlBSZWdpc3RlcklEIHNyYywgRlBSZWdp
c3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5mZGl2ZF9yKGRlc3QsIGRl
c3QsIHNyYyk7CisgICAgfQorCisgICAgdm9pZCBkaXZEb3VibGUoQWRkcmVzcyBzcmMsIEZQUmVn
aXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIGxvYWREb3VibGUoc3JjLCBBUk1SZWdpc3RlcnM6OlNEMCk7CisgICAgICAgIGRpdkRvdWJs
ZShBUk1SZWdpc3RlcnM6OlNEMCwgZGVzdCk7CisgICAgfQorCiAgICAgdm9pZCBzdWJEb3VibGUo
RlBSZWdpc3RlcklEIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fz
c2VtYmxlci5mc3ViZF9yKGRlc3QsIGRlc3QsIHNyYyk7CkBAIC03MTAsMTAgKzc2NiwzNSBAQCBw
dWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmZzaXRvZF9yKGRlc3QsIGRlc3QpOwogICAgIH0K
IAotICAgIEp1bXAgYnJhbmNoRG91YmxlKERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVy
SUQgbGVmdCwgRlBSZWdpc3RlcklEIHJpZ2h0KQorICAgIHZvaWQgY29udmVydEludDMyVG9Eb3Vi
bGUoQWRkcmVzcyBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8vIGZsZHMgZG9lcyBub3Qgd29ydGggdGhlIGVmZm9y
dCBoZXJlCisgICAgICAgIGxvYWQzMihzcmMsIEFSTVJlZ2lzdGVyczo6UzEpOworICAgICAgICBj
b252ZXJ0SW50MzJUb0RvdWJsZShBUk1SZWdpc3RlcnM6OlMxLCBkZXN0KTsKKyAgICB9CisKKyAg
ICB2b2lkIGNvbnZlcnRJbnQzMlRvRG91YmxlKEFic29sdXRlQWRkcmVzcyBzcmMsIEZQUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
IC8vIGZsZHMgZG9lcyBub3Qgd29ydGggdGhlIGVmZm9ydCBoZXJlCisgICAgICAgIG1fYXNzZW1i
bGVyLmxkcl91bl9pbW0oQVJNUmVnaXN0ZXJzOjpTMSwgKEFSTVdvcmQpc3JjLm1fcHRyKTsKKyAg
ICAgICAgbV9hc3NlbWJsZXIuZHRyX3UodHJ1ZSwgQVJNUmVnaXN0ZXJzOjpTMSwgQVJNUmVnaXN0
ZXJzOjpTMSwgMCk7CisgICAgICAgIGNvbnZlcnRJbnQzMlRvRG91YmxlKEFSTVJlZ2lzdGVyczo6
UzEsIGRlc3QpOworICAgIH0KKworICAgIHZvaWQgY29udmVydERvdWJsZVRvSW50MzIoRlBSZWdp
c3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIu
ZnRvc2lkX3Ioc3JjLCBBUk1SZWdpc3RlcnM6OlNEMCk7CisgICAgICAgIG1fYXNzZW1ibGVyLmZt
cnNfcihBUk1SZWdpc3RlcnM6OlNEMCwgZGVzdCk7CisgICAgfQorCisgICAgSnVtcCBicmFuY2hE
b3VibGUoRG91YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVy
SUQgcmlnaHQsIGJvb2wgeDg2VW5vcmRlcmVkID0gdHJ1ZSkKICAgICB7CiAgICAgICAgIG1fYXNz
ZW1ibGVyLmZjbXBkX3IobGVmdCwgcmlnaHQpOwogICAgICAgICBtX2Fzc2VtYmxlci5mbXN0YXQo
KTsKKyAgICAgICAgaWYgKHg4NlVub3JkZXJlZCkKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNt
cF9yKEFSTVJlZ2lzdGVyczo6U0QwLCBBUk1SZWdpc3RlcnM6OlNEMCwgQVJNQXNzZW1ibGVyOjpW
Uyk7CiAgICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmptcChzdGF0aWNfY2FzdDxBUk1B
c3NlbWJsZXI6OkNvbmRpdGlvbj4oY29uZCkpKTsKICAgICB9CiAKQEAgLTcyOSw2ICs4MTAsMTIg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4ganVtcCgpOwogICAgIH0KIAorICAgIHZvaWQgemVy
b0RvdWJsZShGUFJlZ2lzdGVySUQgc3JjRGVzdCkKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVy
Lm1vdl9yKEFSTVJlZ2lzdGVyczo6UzAsIEFSTUFzc2VtYmxlcjo6Z2V0T3AyKDApKTsKKyAgICAg
ICAgY29udmVydEludDMyVG9Eb3VibGUoQVJNUmVnaXN0ZXJzOjpTMCwgc3JjRGVzdCk7CisgICAg
fQorCiBwcm90ZWN0ZWQ6CiAgICAgQVJNQXNzZW1ibGVyOjpDb25kaXRpb24gQVJNQ29uZGl0aW9u
KENvbmRpdGlvbiBjb25kKQogICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBlMTllYTE3Li5mY2MwOGFjIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCkBAIC00NjUsNiArNDY1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0
YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvT2JqID0gMTE7CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvU3RydWN0ID0g
MTg7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1B1dEZ1
bmN0aW9uID0gMjk7CisjZWxpZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCiAjZWxzZQogI2Vy
cm9yICJKU1ZBTFVFMzJfNjQgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiIKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwIGIvSmF2
YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCmluZGV4IDhjZGE0ODIuLjBiMTc0NDgg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljLmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAKQEAgLTIzMSw2ICsyMzEsMTEgQEAg
dm9pZCBKSVQ6OmVtaXRfb3BfbHNoaWZ0KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
CiAgICAgaWYgKCFpc09wZXJhbmRDb25zdGFudEltbWVkaWF0ZUludChvcDEpKQogICAgICAgICBh
ZGRTbG93Q2FzZShicmFuY2gzMihOb3RFcXVhbCwgcmVnVDEsIEltbTMyKEpTVmFsdWU6OkludDMy
VGFnKSkpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKE5vdEVxdWFsLCByZWdUMywgSW1tMzIo
SlNWYWx1ZTo6SW50MzJUYWcpKSk7CisjaWYgIVBMQVRGT1JNKFg4NikKKyAgICAvLyBNYXNrIHdp
dGggMHgxZiBhcyBwZXIgZWNtYS0yNjIgMTEuNy4yIHN0ZXAgNy4KKyAgICAvLyBPbiAzMi1iaXQg
eDg2IHRoaXMgaXMgbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhlIHNoaWZ0IGFub3VudCBpcyBpbXBs
aWNpdGx5IG1hc2tlZCBpbiB0aGUgaW5zdHJ1Y3Rpb24uCisgICAgYW5kMzIoSW1tMzIoMHgxZiks
IHJlZ1QyKTsKKyNlbmRpZgogICAgIGxzaGlmdDMyKHJlZ1QyLCByZWdUMCk7CiAgICAgZW1pdFN0
b3JlSW50MzIoZHN0LCByZWdUMCwgZHN0ID09IG9wMSB8fCBkc3QgPT0gb3AyKTsKIH0KQEAgLTI3
MSw2ICsyNzYsMTEgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcnNoaWZ0KEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24pCiAgICAgaWYgKCFpc09wZXJhbmRDb25zdGFudEltbWVkaWF0ZUludChv
cDEpKQogICAgICAgICBhZGRTbG93Q2FzZShicmFuY2gzMihOb3RFcXVhbCwgcmVnVDEsIEltbTMy
KEpTVmFsdWU6OkludDMyVGFnKSkpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKE5vdEVxdWFs
LCByZWdUMywgSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpKSk7CisjaWYgIVBMQVRGT1JNKFg4NikK
KyAgICAvLyBNYXNrIHdpdGggMHgxZiBhcyBwZXIgZWNtYS0yNjIgMTEuNy4yIHN0ZXAgNy4KKyAg
ICAvLyBPbiAzMi1iaXQgeDg2IHRoaXMgaXMgbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhlIHNoaWZ0
IGFub3VudCBpcyBpbXBsaWNpdGx5IG1hc2tlZCBpbiB0aGUgaW5zdHJ1Y3Rpb24uCisgICAgYW5k
MzIoSW1tMzIoMHgxZiksIHJlZ1QyKTsKKyNlbmRpZgogICAgIHJzaGlmdDMyKHJlZ1QyLCByZWdU
MCk7CiAgICAgZW1pdFN0b3JlSW50MzIoZHN0LCByZWdUMCwgZHN0ID09IG9wMSB8fCBkc3QgPT0g
b3AyKTsKIH0KQEAgLTEwMDEsMTIgKzEwMTEsMjAgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZGl2KElu
c3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAKICAgICBKdW1wTGlzdCBkb3VibGVSZXN1
bHQ7CiAgICAgaWYgKCFpc09wZXJhbmRDb25zdGFudEltbWVkaWF0ZUludChvcDEpIHx8IGdldENv
bnN0YW50T3BlcmFuZChvcDEpLmFzSW50MzIoKSA+IDEpIHsKKyNpZiAhUExBVEZPUk0oQVJNX1RS
QURJVElPTkFMKQogICAgICAgICBtX2Fzc2VtYmxlci5jdnR0c2Qyc2lfcnIoZnBSZWdUMCwgcmVn
VDApOworI2Vsc2UKKyAgICAgICAgY29udmVydERvdWJsZVRvSW50MzIoZnBSZWdUMCwgcmVnVDAp
OworI2VuZGlmCiAgICAgICAgIGNvbnZlcnRJbnQzMlRvRG91YmxlKHJlZ1QwLCBmcFJlZ1QxKTsK
KyNpZiAhUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogICAgICAgICBtX2Fzc2VtYmxlci51Y29t
aXNkX3JyKGZwUmVnVDEsIGZwUmVnVDApOwogCiAgICAgICAgIGRvdWJsZVJlc3VsdC5hcHBlbmQo
bV9hc3NlbWJsZXIuam5lKCkpOwogICAgICAgICBkb3VibGVSZXN1bHQuYXBwZW5kKG1fYXNzZW1i
bGVyLmpwKCkpOworI2Vsc2UKKyAgICAgICAgZG91YmxlUmVzdWx0LmFwcGVuZChicmFuY2hEb3Vi
bGUoRG91YmxlTm90RXF1YWwsIGZwUmVnVDEsIGZwUmVnVDAsIGZhbHNlKSk7CisjZW5kaWYKICAg
ICAgICAgCiAgICAgICAgIGRvdWJsZVJlc3VsdC5hcHBlbmQoYnJhbmNoVGVzdDMyKFplcm8sIHJl
Z1QwKSk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2Rz
LmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCmluZGV4IDkzZDZjZTcu
LmU0YjJmMGIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2Rz
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaApAQCAtMzcsNyAr
MzcsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyBwdXRzIGFuIGFyZyBvbnRvIHRoZSBzdGFjaywg
YXMgYW4gYXJnIHRvIGEgY29udGV4dCB0aHJlYWRlZCBmdW5jdGlvbi4KIEFMV0FZU19JTkxJTkUg
dm9pZCBKSVQ6OmVtaXRQdXRKSVRTdHViQXJnKFJlZ2lzdGVySUQgc3JjLCB1bnNpZ25lZCBhcmd1
bWVudE51bWJlcikKIHsKKyNpZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpICYmIFVTRShKU1ZB
TFVFMzJfNjQpCisgICAgdW5zaWduZWQgYXJndW1lbnRTdGFja09mZnNldCA9IChhcmd1bWVudE51
bWJlciAqIChzaXplb2YoSlNWYWx1ZSkgLyBzaXplb2Yodm9pZCopKSkgKyAyOworI2Vsc2UKICAg
ICB1bnNpZ25lZCBhcmd1bWVudFN0YWNrT2Zmc2V0ID0gKGFyZ3VtZW50TnVtYmVyICogKHNpemVv
ZihKU1ZhbHVlKSAvIHNpemVvZih2b2lkKikpKSArIDE7CisjZW5kaWYKICAgICBwb2tlKHNyYywg
YXJndW1lbnRTdGFja09mZnNldCk7CiB9CiAKQEAgLTQ1LDcgKzQ5LDExIEBAIEFMV0FZU19JTkxJ
TkUgdm9pZCBKSVQ6OmVtaXRQdXRKSVRTdHViQXJnKFJlZ2lzdGVySUQgc3JjLCB1bnNpZ25lZCBh
cmd1bWVudE51bWJlCiAKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OmVtaXRQdXRKSVRTdHViQXJn
Q29uc3RhbnQodW5zaWduZWQgdmFsdWUsIHVuc2lnbmVkIGFyZ3VtZW50TnVtYmVyKQogeworI2lm
IFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkgJiYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICB1bnNp
Z25lZCBhcmd1bWVudFN0YWNrT2Zmc2V0ID0gKGFyZ3VtZW50TnVtYmVyICogKHNpemVvZihKU1Zh
bHVlKSAvIHNpemVvZih2b2lkKikpKSArIDI7CisjZWxzZQogICAgIHVuc2lnbmVkIGFyZ3VtZW50
U3RhY2tPZmZzZXQgPSAoYXJndW1lbnROdW1iZXIgKiAoc2l6ZW9mKEpTVmFsdWUpIC8gc2l6ZW9m
KHZvaWQqKSkpICsgMTsKKyNlbmRpZgogICAgIHBva2UoSW1tMzIodmFsdWUpLCBhcmd1bWVudFN0
YWNrT2Zmc2V0KTsKIH0KIApAQCAtNTMsNyArNjEsMTEgQEAgQUxXQVlTX0lOTElORSB2b2lkIEpJ
VDo6ZW1pdFB1dEpJVFN0dWJBcmdDb25zdGFudCh1bnNpZ25lZCB2YWx1ZSwgdW5zaWduZWQgYXJn
dW0KIAogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdFB1dEpJVFN0dWJBcmdDb25zdGFudCh2
b2lkKiB2YWx1ZSwgdW5zaWduZWQgYXJndW1lbnROdW1iZXIpCiB7CisjaWYgUExBVEZPUk0oQVJN
X1RSQURJVElPTkFMKSAmJiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIHVuc2lnbmVkIGFyZ3VtZW50
U3RhY2tPZmZzZXQgPSAoYXJndW1lbnROdW1iZXIgKiAoc2l6ZW9mKEpTVmFsdWUpIC8gc2l6ZW9m
KHZvaWQqKSkpICsgMjsKKyNlbHNlCiAgICAgdW5zaWduZWQgYXJndW1lbnRTdGFja09mZnNldCA9
IChhcmd1bWVudE51bWJlciAqIChzaXplb2YoSlNWYWx1ZSkgLyBzaXplb2Yodm9pZCopKSkgKyAx
OworI2VuZGlmCiAgICAgcG9rZShJbW1QdHIodmFsdWUpLCBhcmd1bWVudFN0YWNrT2Zmc2V0KTsK
IH0KIApAQCAtNjEsNyArNzMsMTEgQEAgQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdFB1dEpJ
VFN0dWJBcmdDb25zdGFudCh2b2lkKiB2YWx1ZSwgdW5zaWduZWQgYXJndW1lbnQKIAogQUxXQVlT
X0lOTElORSB2b2lkIEpJVDo6ZW1pdEdldEpJVFN0dWJBcmcodW5zaWduZWQgYXJndW1lbnROdW1i
ZXIsIFJlZ2lzdGVySUQgZHN0KQogeworI2lmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkgJiYg
VVNFKEpTVkFMVUUzMl82NCkKKyAgICB1bnNpZ25lZCBhcmd1bWVudFN0YWNrT2Zmc2V0ID0gKGFy
Z3VtZW50TnVtYmVyICogKHNpemVvZihKU1ZhbHVlKSAvIHNpemVvZih2b2lkKikpKSArIDI7Cisj
ZWxzZQogICAgIHVuc2lnbmVkIGFyZ3VtZW50U3RhY2tPZmZzZXQgPSAoYXJndW1lbnROdW1iZXIg
KiAoc2l6ZW9mKEpTVmFsdWUpIC8gc2l6ZW9mKHZvaWQqKSkpICsgMTsKKyNlbmRpZgogICAgIHBl
ZWsoZHN0LCBhcmd1bWVudFN0YWNrT2Zmc2V0KTsKIH0KIApAQCAtNTg1LDcgKzYwMSwxMSBAQCBB
TFdBWVNfSU5MSU5FIGJvb2wgSklUOjpnZXRPcGVyYW5kQ29uc3RhbnRJbW1lZGlhdGVJbnQodW5z
aWduZWQgb3AxLCB1bnNpZ25lZCBvcAogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0UHV0
SklUU3R1YkFyZyhSZWdpc3RlcklEIHRhZywgUmVnaXN0ZXJJRCBwYXlsb2FkLCB1bnNpZ25lZCBh
cmd1bWVudE51bWJlcikKIHsKKyNpZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpICYmIFVTRShK
U1ZBTFVFMzJfNjQpCisgICAgdW5zaWduZWQgYXJndW1lbnRTdGFja09mZnNldCA9IChhcmd1bWVu
dE51bWJlciAqIChzaXplb2YoSlNWYWx1ZSkgLyBzaXplb2Yodm9pZCopKSkgKyAyOworI2Vsc2UK
ICAgICB1bnNpZ25lZCBhcmd1bWVudFN0YWNrT2Zmc2V0ID0gKGFyZ3VtZW50TnVtYmVyICogKHNp
emVvZihKU1ZhbHVlKSAvIHNpemVvZih2b2lkKikpKSArIDE7CisjZW5kaWYKICAgICBwb2tlKHBh
eWxvYWQsIGFyZ3VtZW50U3RhY2tPZmZzZXQpOwogICAgIHBva2UodGFnLCBhcmd1bWVudFN0YWNr
T2Zmc2V0ICsgMSk7CiB9CkBAIC01OTQsNyArNjE0LDExIEBAIEFMV0FZU19JTkxJTkUgdm9pZCBK
SVQ6OmVtaXRQdXRKSVRTdHViQXJnKFJlZ2lzdGVySUQgdGFnLCBSZWdpc3RlcklEIHBheWxvYWQs
IHVuCiAKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OmVtaXRQdXRKSVRTdHViQXJnRnJvbVZpcnR1
YWxSZWdpc3Rlcih1bnNpZ25lZCBzcmMsIHVuc2lnbmVkIGFyZ3VtZW50TnVtYmVyLCBSZWdpc3Rl
cklEIHNjcmF0Y2gxLCBSZWdpc3RlcklEIHNjcmF0Y2gyKQogeworI2lmIFBMQVRGT1JNKEFSTV9U
UkFESVRJT05BTCkgJiYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICB1bnNpZ25lZCBhcmd1bWVudFN0
YWNrT2Zmc2V0ID0gKGFyZ3VtZW50TnVtYmVyICogKHNpemVvZihKU1ZhbHVlKSAvIHNpemVvZih2
b2lkKikpKSArIDI7CisjZWxzZQogICAgIHVuc2lnbmVkIGFyZ3VtZW50U3RhY2tPZmZzZXQgPSAo
YXJndW1lbnROdW1iZXIgKiAoc2l6ZW9mKEpTVmFsdWUpIC8gc2l6ZW9mKHZvaWQqKSkpICsgMTsK
KyNlbmRpZgogICAgIGlmIChtX2NvZGVCbG9jay0+aXNDb25zdGFudFJlZ2lzdGVySW5kZXgoc3Jj
KSkgewogICAgICAgICBKU1ZhbHVlIGNvbnN0YW50ID0gbV9jb2RlQmxvY2stPmdldENvbnN0YW50
KHNyYyk7CiAgICAgICAgIHBva2UoSW1tMzIoY29uc3RhbnQucGF5bG9hZCgpKSwgYXJndW1lbnRT
dGFja09mZnNldCk7CkBAIC04NDYsNyArODcwLDExIEBAIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6
OmVtaXRUYWdBc0Jvb2xJbW1lZGlhdGUoUmVnaXN0ZXJJRCByZWcpCiAvLyBnZXQgYXJnIHB1dHMg
YW4gYXJnIGZyb20gdGhlIFNGIHJlZ2lzdGVyIGFycmF5IG9udG8gdGhlIHN0YWNrLCBhcyBhbiBh
cmcgdG8gYSBjb250ZXh0IHRocmVhZGVkIGZ1bmN0aW9uLgogQUxXQVlTX0lOTElORSB2b2lkIEpJ
VDo6ZW1pdFB1dEpJVFN0dWJBcmdGcm9tVmlydHVhbFJlZ2lzdGVyKHVuc2lnbmVkIHNyYywgdW5z
aWduZWQgYXJndW1lbnROdW1iZXIsIFJlZ2lzdGVySUQgc2NyYXRjaCkKIHsKKyNpZiBQTEFURk9S
TShBUk1fVFJBRElUSU9OQUwpICYmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgdW5zaWduZWQgYXJn
dW1lbnRTdGFja09mZnNldCA9IChhcmd1bWVudE51bWJlciAqIChzaXplb2YoSlNWYWx1ZSkgLyBz
aXplb2Yodm9pZCopKSkgKyAyOworI2Vsc2UKICAgICB1bnNpZ25lZCBhcmd1bWVudFN0YWNrT2Zm
c2V0ID0gKGFyZ3VtZW50TnVtYmVyICogKHNpemVvZihKU1ZhbHVlKSAvIHNpemVvZih2b2lkKikp
KSArIDE7CisjZW5kaWYKICAgICBpZiAobV9jb2RlQmxvY2stPmlzQ29uc3RhbnRSZWdpc3Rlcklu
ZGV4KHNyYykpIHsKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fY29kZUJsb2NrLT5nZXRDb25z
dGFudChzcmMpOwogICAgICAgICBwb2tlKEltbVB0cihKU1ZhbHVlOjplbmNvZGUodmFsdWUpKSwg
YXJndW1lbnRTdGFja09mZnNldCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggMTQ3
MzZjZi4uNTBiYjhhNyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtMTM4LDcgKzEz
OCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhSZWZQ
dHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1Qy
LCBPQkpFQ1RfT0ZGU0VUT0YoRnVuY3Rpb25FeGVjdXRhYmxlLCBtX2ppdENvZGUpKSwgcmVnVDAp
OwogICAgIGp1bXAocmVnVDApOwogCi0jaWYgUExBVEZPUk0oWDg2KQorI2lmIFBMQVRGT1JNKFg4
NikgfHwgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogICAgIExhYmVsIG5hdGl2ZUNhbGxUaHVu
ayA9IGFsaWduKCk7CiAgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKHJlZ1QwKTsK
ICAgICBlbWl0UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDAsIFJlZ2lzdGVyRmlsZTo6UmV0dXJu
UEMpOyAvLyBQdXNoIHJldHVybiBhZGRyZXNzCkBAIC0xNDksNiArMTQ5LDcgQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKFJlZlB0cjxFeGVjdXRhYmxlUG9v
bD4qIGV4ZWN1dGFibGUKICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3Rl
ckZpbGU6OlNjb3BlQ2hhaW4sIHJlZ1QxLCByZWdUMSk7CiAgICAgZW1pdFB1dFRvQ2FsbEZyYW1l
SGVhZGVyKHJlZ1QxLCBSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4pOwogICAgIAorI2lmIFBMQVRG
T1JNKFg4NikKICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlcjMyKFJlZ2lzdGVyRmlsZTo6
QXJndW1lbnRDb3VudCwgcmVnVDApOwogCiAgICAgLyogV2UgaGF2ZSB0d28gc3RydWN0cyB0aGF0
IHdlIHVzZSB0byBkZXNjcmliZSB0aGUgc3RhY2tmcmFtZSB3ZSBzZXQgdXAgZm9yIG91cgpAQCAt
MjQ4LDYgKzI0OSw2NiBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBv
bGluZXMoUmVmUHRyPEV4ZWN1dGFibGVQb29sPiogZXhlY3V0YWJsZQogICAgIC8vIHNvIHB1bGwg
dGhlbSBvZmYgbm93CiAgICAgYWRkUHRyKEltbTMyKE5hdGl2ZUNhbGxGcmFtZVNpemUgLSBzaXpl
b2YoTmF0aXZlRnVuY3Rpb25DYWxsZWVTaWduYXR1cmUpKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIp
OwogCisjZWxpZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCisgICAgZW1pdEdldEZyb21DYWxs
RnJhbWVIZWFkZXIzMihSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQsIHJlZ1QwKTsKKworICAg
IC8vIEFsbG9jYXRlIHN0YWNrIHNwYWNlIGZvciBvdXIgYXJnbGlzdAorICAgIENPTVBJTEVfQVNT
RVJUKChzaXplb2YoQXJnTGlzdCkgJiAweDcpID09IDAgJiYgc2l6ZW9mKEpTVmFsdWUpID09IDgg
JiYgc2l6ZW9mKFJlZ2lzdGVyKSA9PSA4LCBBcmdMaXN0X3Nob3VsZF9ieV84Ynl0ZV9hbGlnbmVk
KTsKKyAgICBzdWJQdHIoSW1tMzIoc2l6ZW9mKEFyZ0xpc3QpKSwgc3RhY2tQb2ludGVyUmVnaXN0
ZXIpOworCisgICAgLy8gU2V0IHVwIGFyZ3VtZW50cworICAgIHN1YlB0cihJbW0zMigxKSwgcmVn
VDApOyAvLyBEb24ndCBpbmNsdWRlICd0aGlzJyBpbiBhcmdjb3VudAorCisgICAgLy8gUHVzaCBh
cmdjb3VudAorICAgIHN0b3JlUHRyKHJlZ1QwLCBBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVy
LCBPQkpFQ1RfT0ZGU0VUT0YoQXJnTGlzdCwgbV9hcmdDb3VudCkpKTsKKworICAgIC8vIENhbGN1
bGF0ZSB0aGUgc3RhcnQgb2YgdGhlIGNhbGxmcmFtZSBoZWFkZXIsIGFuZCBzdG9yZSBpbiByZWdU
MQorICAgIG1vdmUoY2FsbEZyYW1lUmVnaXN0ZXIsIHJlZ1QxKTsKKyAgICBzdWIzMihJbW0zMihS
ZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlclNpemUgKiAoaW50MzJfdClzaXplb2YoUmVnaXN0
ZXIpKSwgcmVnVDEpOworCisgICAgLy8gQ2FsY3VsYXRlIHN0YXJ0IG9mIGFyZ3VtZW50cyBhcyBj
YWxsZnJhbWUgaGVhZGVyIC0gc2l6ZW9mKFJlZ2lzdGVyKSAqIGFyZ2NvdW50IChyZWdUMSkKKyAg
ICBtdWwzMihJbW0zMihzaXplb2YoUmVnaXN0ZXIpKSwgcmVnVDAsIHJlZ1QwKTsKKyAgICBzdWJQ
dHIocmVnVDAsIHJlZ1QxKTsKKworICAgIC8vIHB1c2ggcG9pbnRlciB0byBhcmd1bWVudHMKKyAg
ICBzdG9yZVB0cihyZWdUMSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgT0JKRUNUX09G
RlNFVE9GKEFyZ0xpc3QsIG1fYXJncykpKTsKKworICAgIC8vIEFyZ3VtZW50IHBhc3NpbmcgbWV0
aG9kOgorICAgIC8vIHIwIC0gcG9pbnRzIHRvIHJldHVybiB2YWx1ZQorICAgIC8vIHIxIC0gY2Fs
bEZyYW1lCisgICAgLy8gcjIgLSBjYWxsZWUKKyAgICAvLyBzdGFjazogdGhpcyhKU1ZhbHVlKSBh
bmQgYSBwb2ludGVyIHRvIEFyZ0xpc3QKKworICAgIG1vdmUoc3RhY2tQb2ludGVyUmVnaXN0ZXIs
IHJlZ1QzKTsKKyAgICBzdWJQdHIoSW1tMzIoOCksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAg
ICBtb3ZlKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCByZWdUMCk7CisgICAgc3ViUHRyKEltbTMyKDgg
KyA0ICsgNCAvKiBwYWRkaW5nICovKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworCisgICAgLy8g
U2V0dXAgYXJnNDoKKyAgICBzdG9yZVB0cihyZWdUMywgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdp
c3RlciwgOCkpOworCisgICAgLy8gU2V0dXAgYXJnMworICAgIC8vIHJlZ1QxIGN1cnJlbnRseSBw
b2ludHMgdG8gdGhlIGZpcnN0IGFyZ3VtZW50LCByZWdUMS1zaXplb2YoUmVnaXN0ZXIpIHBvaW50
cyB0byAndGhpcycKKyAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMSwgLShpbnQzMl90KXNpemVvZih2
b2lkKikgKiAyKSwgcmVnVDMpOworICAgIHN0b3JlUHRyKHJlZ1QzLCBBZGRyZXNzKHN0YWNrUG9p
bnRlclJlZ2lzdGVyLCAwKSk7CisgICAgbG9hZDMyKEFkZHJlc3MocmVnVDEsIC0oaW50MzJfdClz
aXplb2Yodm9pZCopKSwgcmVnVDMpOworICAgIHN0b3JlUHRyKHJlZ1QzLCBBZGRyZXNzKHN0YWNr
UG9pbnRlclJlZ2lzdGVyLCA0KSk7CisKKyAgICAvLyBTZXR1cCBhcmcyOgorICAgIGVtaXRHZXRG
cm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVlLCByZWdUMik7CisKKyAg
ICAvLyBTZXR1cCBhcmcxOgorICAgIG1vdmUoY2FsbEZyYW1lUmVnaXN0ZXIsIHJlZ1QxKTsKKwor
ICAgIGNhbGwoQWRkcmVzcyhyZWdUMiwgT0JKRUNUX09GRlNFVE9GKEpTRnVuY3Rpb24sIG1fZGF0
YSkpKTsKKworICAgIC8vIExvYWQgcmV0dXJuIHZhbHVlCisgICAgbG9hZDMyKEFkZHJlc3Moc3Rh
Y2tQb2ludGVyUmVnaXN0ZXIsIDE2KSwgcmVnVDApOworICAgIGxvYWQzMihBZGRyZXNzKHN0YWNr
UG9pbnRlclJlZ2lzdGVyLCAyMCksIHJlZ1QxKTsKKworICAgIGFkZFB0cihJbW0zMihzaXplb2Yo
QXJnTGlzdCkgKyAxNiArIDgpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisjZW5kaWYKKwogICAg
IC8vIENoZWNrIGZvciBhbiBleGNlcHRpb24KICAgICBtb3ZlKEltbVB0cigmZ2xvYmFsRGF0YS0+
ZXhjZXB0aW9uKSwgcmVnVDIpOwogICAgIEp1bXAgc2F3RXhjZXB0aW9uID0gYnJhbmNoMzIoTm90
RXF1YWwsIHRhZ0ZvcigwLCByZWdUMiksIEltbTMyKEpTVmFsdWU6OkVtcHR5VmFsdWVUYWcpKTsK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHViQ2FsbC5oIGIvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJDYWxsLmgKaW5kZXggYzVlZDllMy4uMDgwMjA2MiAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJDYWxsLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFN0dWJDYWxsLmgKQEAgLTIyMiw3ICsyMjIsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHN0YWNrSW5kZXhTdGVw
ID0gc2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSA9PSAyICogc2l6ZW9mKHZvaWQqKSA/IDIgOiAxOwor
I2lmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkgJiYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAg
ICAgc3RhdGljIGNvbnN0IHNpemVfdCBzdGFja0luZGV4U3RhcnQgPSAyOyAvLyBJbmRleCAwIGlz
IGEgZHVtbXkgdmFsdWUKKyNlbHNlCiAgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3Qgc3RhY2tJ
bmRleFN0YXJ0ID0gMTsgLy8gSW5kZXggMCBpcyByZXNlcnZlZCBmb3IgcmVzdG9yZUFyZ3VtZW50
UmVmZXJlbmNlKCkuCisjZW5kaWYKIAogICAgICAgICBKSVQqIG1faml0OwogICAgICAgICBGdW5j
dGlvblB0ciBtX3N0dWI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMu
Y3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAppbmRleCBjOTk5NjE4Li5jNjA0
MDFiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKQEAgLTI2OSw2ICsyNjksNDAgQEAgU1lNQk9M
X1NUUklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIlxuIgogICAgICJieCBsciIgIlxuIgog
KTsKIAorI2VsaWYgQ09NUElMRVIoR0NDKSAmJiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCisK
K2FzbSB2b2xhdGlsZSAoCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAi
XG4iCitTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCisgICAgInN0bWRiIHNw
ISwge3IxLXIzfSIgIlxuIgorICAgICJzdG1kYiBzcCEsIHtyNC1yOCwgbHJ9IiAiXG4iCisgICAg
InN1YiBzcCwgc3AsICM2OCIgIlxuIgorICAgICJtb3YgcjQsIHIyIiAiXG4iCisgICAgIm1vdiBy
NSwgIzUxMiIgIlxuIgorICAgIC8vIHIwIGNvbnRhaW5zIHRoZSBjb2RlCisgICAgIm1vdiBsciwg
cGMiICJcbiIKKyAgICAibW92IHBjLCByMCIgIlxuIgorICAgICJhZGQgc3AsIHNwLCAjNjgiICJc
biIKKyAgICAibGRtaWEgc3AhLCB7cjQtcjgsIGxyfSIgIlxuIgorICAgICJhZGQgc3AsIHNwLCAj
MTIiICJcbiIKKyAgICAibW92IHBjLCBsciIgIlxuIgorKTsKKworYXNtIHZvbGF0aWxlICgKKyIu
Z2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiXG4iCitTWU1CT0xf
U1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgorICAgICJtb3YgcjAsIHNwIiAi
XG4iCisgICAgImJsICIgU1lNQk9MX1NUUklORyhjdGlfdm1fdGhyb3cpICJcbiIKKworLy8gQm90
aCBoYXMgdGhlIHNhbWUgcmV0dXJuIHNlcXVlbmNlCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhj
dGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCitTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVn
aHQpICI6IiAiXG4iCisgICAgImFkZCBzcCwgc3AsICM2OCIgIlxuIgorICAgICJsZG1pYSBzcCEs
IHtyNC1yOCwgbHJ9IiAiXG4iCisgICAgImFkZCBzcCwgc3AsICMxMiIgIlxuIgorICAgICJtb3Yg
cGMsIGxyIiAiXG4iCispOworCiAjZWxpZiBDT01QSUxFUihNU1ZDKQogCiAjaWYgVVNFKEpJVF9T
VFVCX0FSR1VNRU5UX1ZBX0xJU1QpCkBAIC05MDAsNiArOTM0LDEyIEBAIHN0YXRpYyBORVZFUl9J
TkxJTkUgdm9pZCB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihDYWxsRnJhbWUqIGNhbGxGcmFtZSwg
SlNHbG9iYWxECiAKICNlbGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIo
R0NDKQogCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyNkZWZpbmUgVEhVTktfUkVUVVJOX0FERFJF
U1NfT0ZGU0VUICI2NCIKKyNlbHNlCisjZGVmaW5lIFRIVU5LX1JFVFVSTl9BRERSRVNTX09GRlNF
VCAiMzIiCisjZW5kaWYKKwogI2RlZmluZSBERUZJTkVfU1RVQl9GVU5DVElPTihydHlwZSwgb3Ap
IFwKICAgICBleHRlcm4gIkMiIHsgXAogICAgICAgICBydHlwZSBKSVRTdHViVGh1bmtlZF8jI29w
KFNUVUJfQVJHU19ERUNMQVJBVElPTik7IFwKQEAgLTkwNyw5ICs5NDcsOSBAQCBzdGF0aWMgTkVW
RVJfSU5MSU5FIHZvaWQgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEpTR2xvYmFsRAogICAgIGFzbSB2b2xhdGlsZSAoIFwKICAgICAgICAgIi5nbG9ibCAiIFNZ
TUJPTF9TVFJJTkcoY3RpXyMjb3ApICJcbiIgXAogICAgICAgICBTWU1CT0xfU1RSSU5HKGN0aV8j
I29wKSAiOiIgIlxuIiBcCi0gICAgICAgICJzdHIgbHIsIFtzcCwgIzMyXSIgIlxuIiBcCisgICAg
ICAgICJzdHIgbHIsIFtzcCwgIyIgVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUICJdIiAiXG4i
IFwKICAgICAgICAgImJsICIgU1lNQk9MX1NUUklORyhKSVRTdHViVGh1bmtlZF8jI29wKSAiXG4i
IFwKLSAgICAgICAgImxkciBsciwgW3NwLCAjMzJdIiAiXG4iIFwKKyAgICAgICAgImxkciBsciwg
W3NwLCAjIiBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQgIl0iICJcbiIgXAogICAgICAgICAi
bW92IHBjLCBsciIgIlxuIiBcCiAgICAgICAgICk7IFwKICAgICBydHlwZSBKSVRTdHViVGh1bmtl
ZF8jI29wKFNUVUJfQVJHU19ERUNMQVJBVElPTikKLS0gCjEuNi4wLjQKCg==
</data>
<flag name="review"
          id="23884"
          type_id="1"
          status="-"
          setter="barraclough"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42566</attachid>
            <date>2009-11-05 06:03:49 -0800</date>
            <delta_ts>2009-11-06 05:32:48 -0800</delta_ts>
            <desc>Second patch</desc>
            <filename>0002-JSVALUE32_64-support.patch</filename>
            <type>text/plain</type>
            <size>21120</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSAxZDVkM2RhYzdlMzYyZTc1NDdhZWVlNzZkZjBmZDU3ZmM4NTc5NmE3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBUaHUsIDUgTm92IDIwMDkgMTQ6NTM6MzYgKzAxMDAKU3ViamVjdDogW1BBVENI
XSBKU1ZBTFVFMzJfNjQgc3VwcG9ydAoKU2lnbmVkLW9mZi1ieTogWm9sdGFuIEhlcmN6ZWcgPHpo
ZXJjemVnQGluZi51LXN6ZWdlZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICB8ICAgMzcgKysrKysrKysrKysrCiBKYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQVJNQXNzZW1ibGVyLmggICAgICB8ICAgIDYgKysKIEphdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTS5oIHwgICA3OCArKysrKysrKysrKysrKysrKysrKysrKysr
KwogSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgICAgICAgICAgICAgICAgICAgfCAgICAxIC0K
IEphdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBK
YXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAgICAgICAgICB8ICAgMTAgKysrCiBK
YXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oICAgICAgICB8ICAgMTQgKystLQog
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwICAgICAgICAgICAgfCAgIDYzICsrKysr
KysrKysrKysrKysrKysrLQogSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJDYWxsLmggICAgICAg
ICAgICAgfCAgICA1ICsrCiBKYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwICAgICAgICAg
ICAgICB8ICAgNDQgKysrKysrKysrKysrKystCiAxMCBmaWxlcyBjaGFuZ2VkLCAyNDggaW5zZXJ0
aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDBlNDgxNDMuLjhjZWQ5MDAg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiw0MyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgogCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zMTA1MAorCisgICAgICAgIEFkZGluZyBKU1ZBTFVFMzJfNjQgc3VwcG9ydCBmb3IgQVJN
IChidXQgbm90IHR1cm5pbmcgaXQKKyAgICAgICAgb24gYnkgZGVmYXVsdCkuIEFsbCBvcHRpbWl6
YXRpb25zIG11c3QgYmUgZGlzYWJsZWQsIHNpbmNlCisgICAgICAgIHRoaXMgcGF0Y2ggaXMgb25s
eSB0aGUgZmlyc3Qgb2YgYSBzZXJpZXMgb2YgcGF0Y2hlcy4KKworICAgICAgICAqIGFzc2VtYmxl
ci9BUk1Bc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjopOgorICAgICAg
ICAoSlNDOjpBUk1Bc3NlbWJsZXI6OmZkaXZkX3IpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6bmVnMzIp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6YnJhbmNoT3IzMik6CisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpzZXQ4KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJBUk06OnNldFRlc3Q4KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06Omxv
YWREb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6ZGl2RG91YmxlKToK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmNvbnZlcnRJbnQzMlRvRG91YmxlKToK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06Onplcm9Eb3VibGUpOgorICAgICAgICAq
IGppdC9KSVQuY3BwOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUQXJp
dGhtZXRpYy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9sc2hpZnQpOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRfb3BfcnNoaWZ0KToKKyAgICAgICAgKiBqaXQvSklUSW5saW5lTWV0
aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRQdXRKSVRTdHViQXJnKToKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0UHV0SklUU3R1YkFyZ0NvbnN0YW50KToKKyAgICAgICAgKEpTQzo6SklU
OjplbWl0R2V0SklUU3R1YkFyZyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFB1dEpJVFN0dWJB
cmdGcm9tVmlydHVhbFJlZ2lzdGVyKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6Cisg
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMpOgor
ICAgICAgICAqIGppdC9KSVRTdHViQ2FsbC5oOgorICAgICAgICAqIGppdC9KSVRTdHVicy5jcHA6
CisKKzIwMDktMTEtMDUgIFpvbHRhbiBIZXJjemVnICA8emhlcmN6ZWdAaW5mLnUtc3plZ2VkLmh1
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTE1OQogICAgICAgICBGaXggYnJh
bmNoRG91YmxlIGJlaGF2aW91ciBvbiBBUk0gVEhVTUIyIEpJVC4KIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0FSTUFzc2VtYmxlci5oCmluZGV4IDZhODY3MzQuLjUwMGQ3NDMgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKQEAgLTEyMSw2ICsxMjEsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgICAgIE1VTCA9IDB4MDAwMDAwOTAsCiAgICAgICAgICAgICBNVUxM
ID0gMHgwMGMwMDA5MCwKICAgICAgICAgICAgIEZBREREID0gMHgwZTMwMGIwMCwKKyAgICAgICAg
ICAgIEZESVZEID0gMHgwZTgwMGIwMCwKICAgICAgICAgICAgIEZTVUJEID0gMHgwZTMwMGI0MCwK
ICAgICAgICAgICAgIEZNVUxEID0gMHgwZTIwMGIwMCwKICAgICAgICAgICAgIEZDTVBEID0gMHgw
ZWI0MGI0MCwKQEAgLTQwMCw2ICs0MDEsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAg
ICBlbWl0SW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBGQURERCwgZGQsIGRuLCBkbSk7
CiAgICAgICAgIH0KIAorICAgICAgICB2b2lkIGZkaXZkX3IoaW50IGRkLCBpbnQgZG4sIGludCBk
bSwgQ29uZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGVtaXRJbnN0KHN0
YXRpY19jYXN0PEFSTVdvcmQ+KGNjKSB8IEZESVZELCBkZCwgZG4sIGRtKTsKKyAgICAgICAgfQor
CiAgICAgICAgIHZvaWQgZnN1YmRfcihpbnQgZGQsIGludCBkbiwgaW50IGRtLCBDb25kaXRpb24g
Y2MgPSBBTCkKICAgICAgICAgewogICAgICAgICAgICAgZW1pdEluc3Qoc3RhdGljX2Nhc3Q8QVJN
V29yZD4oY2MpIHwgRlNVQkQsIGRkLCBkbiwgZG0pOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAppbmRleCAzNGFlYTIwLi44ZjNlZDMyIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaApAQCAtMTQzLDYgKzE0Mywx
MSBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLm11bHNfcihkZXN0LCBzcmMsIEFSTVJl
Z2lzdGVyczo6UzApOwogICAgIH0KIAorICAgIHZvaWQgbmVnMzIoUmVnaXN0ZXJJRCBzcmNEZXN0
KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIucnNic19yKHNyY0Rlc3QsIHNyY0Rlc3QsIEFS
TUFzc2VtYmxlcjo6Z2V0T3AyKDApKTsKKyAgICB9CisKICAgICB2b2lkIG5vdDMyKFJlZ2lzdGVy
SUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLm12bnNfcihkZXN0LCBkZXN0KTsK
QEAgLTUxNyw2ICs1MjIsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gSnVtcChtX2Fzc2Vt
Ymxlci5qbXAoQVJNQ29uZGl0aW9uKGNvbmQpKSk7CiAgICAgfQogCisgICAgSnVtcCBicmFuY2hP
cjMyKENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAg
IHsKKyAgICAgICAgQVNTRVJUKChjb25kID09IFNpZ25lZCkgfHwgKGNvbmQgPT0gWmVybykgfHwg
KGNvbmQgPT0gTm9uWmVybykpOworICAgICAgICBvcjMyKHNyYywgZGVzdCk7CisgICAgICAgIHJl
dHVybiBKdW1wKG1fYXNzZW1ibGVyLmptcChBUk1Db25kaXRpb24oY29uZCkpKTsKKyAgICB9CisK
ICAgICB2b2lkIGJyZWFrcG9pbnQoKQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIuYmtwdCgw
KTsKQEAgLTU2MCw2ICs1NzIsMjUgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5tb3Zf
cihkZXN0LCBBUk1Bc3NlbWJsZXI6OmdldE9wMigxKSwgQVJNQ29uZGl0aW9uKGNvbmQpKTsKICAg
ICB9CiAKKyAgICB2b2lkIHNldDgoQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgbGVmdCwgUmVn
aXN0ZXJJRCByaWdodCwgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgLy8gQVJNIGRv
ZXNuJ3QgaGF2ZSBieXRlIHJlZ2lzdGVycworICAgICAgICBzZXQzMihjb25kLCBsZWZ0LCByaWdo
dCwgZGVzdCk7CisgICAgfQorCisgICAgdm9pZCBzZXQ4KENvbmRpdGlvbiBjb25kLCBBZGRyZXNz
IGxlZnQsIFJlZ2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAg
IC8vIEFSTSBkb2Vzbid0IGhhdmUgYnl0ZSByZWdpc3RlcnMKKyAgICAgICAgbG9hZDMyKGxlZnQs
IEFSTVJlZ2lzdGVyczo6UzEpOworICAgICAgICBzZXQzMihjb25kLCBBUk1SZWdpc3RlcnM6OlMx
LCByaWdodCwgZGVzdCk7CisgICAgfQorCisgICAgdm9pZCBzZXQ4KENvbmRpdGlvbiBjb25kLCBS
ZWdpc3RlcklEIGxlZnQsIEltbTMyIHJpZ2h0LCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAg
ICAgICAvLyBBUk0gZG9lc24ndCBoYXZlIGJ5dGUgcmVnaXN0ZXJzCisgICAgICAgIHNldDMyKGNv
bmQsIGxlZnQsIHJpZ2h0LCBkZXN0KTsKKyAgICB9CisKICAgICB2b2lkIHNldFRlc3QzMihDb25k
aXRpb24gY29uZCwgQWRkcmVzcyBhZGRyZXNzLCBJbW0zMiBtYXNrLCBSZWdpc3RlcklEIGRlc3Qp
CiAgICAgewogICAgICAgICBsb2FkMzIoYWRkcmVzcywgQVJNUmVnaXN0ZXJzOjpTMSk7CkBAIC01
NzEsNiArNjAyLDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJsZXIubW92X3IoZGVzdCwg
QVJNQXNzZW1ibGVyOjpnZXRPcDIoMSksIEFSTUNvbmRpdGlvbihjb25kKSk7CiAgICAgfQogCisg
ICAgdm9pZCBzZXRUZXN0OChDb25kaXRpb24gY29uZCwgQWRkcmVzcyBhZGRyZXNzLCBJbW0zMiBt
YXNrLCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICAvLyBBUk0gZG9lc24ndCBoYXZl
IGJ5dGUgcmVnaXN0ZXJzCisgICAgICAgIHNldFRlc3QzMihjb25kLCBhZGRyZXNzLCBtYXNrLCBk
ZXN0KTsKKyAgICB9CisKICAgICB2b2lkIGFkZDMyKEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzcmMs
IFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmFkZF9yKGRlc3Qs
IHNyYywgbV9hc3NlbWJsZXIuZ2V0SW1tKGltbS5tX3ZhbHVlLCBBUk1SZWdpc3RlcnM6OlMwKSk7
CkBAIC02NzgsNiArNzE1LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJsZXIuZG91Ymxl
VHJhbnNmZXIodHJ1ZSwgZGVzdCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNzLm9mZnNldCk7CiAgICAg
fQogCisgICAgdm9pZCBsb2FkRG91YmxlKHZvaWQqIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0
KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIubGRyX3VuX2ltbShBUk1SZWdpc3RlcnM6OlMw
LCAoQVJNV29yZClhZGRyZXNzKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZmR0cl91KHRydWUsIGRl
c3QsIEFSTVJlZ2lzdGVyczo6UzAsIDApOworICAgIH0KKwogICAgIHZvaWQgc3RvcmVEb3VibGUo
RlBSZWdpc3RlcklEIHNyYywgSW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAg
ICBtX2Fzc2VtYmxlci5kb3VibGVUcmFuc2ZlcihmYWxzZSwgc3JjLCBhZGRyZXNzLmJhc2UsIGFk
ZHJlc3Mub2Zmc2V0KTsKQEAgLTY5NCw2ICs3MzcsMTggQEAgcHVibGljOgogICAgICAgICBhZGRE
b3VibGUoQVJNUmVnaXN0ZXJzOjpTRDAsIGRlc3QpOwogICAgIH0KIAorICAgIHZvaWQgZGl2RG91
YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAg
bV9hc3NlbWJsZXIuZmRpdmRfcihkZXN0LCBkZXN0LCBzcmMpOworICAgIH0KKworICAgIHZvaWQg
ZGl2RG91YmxlKEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBsb2FkRG91YmxlKHNyYywgQVJNUmVnaXN0
ZXJzOjpTRDApOworICAgICAgICBkaXZEb3VibGUoQVJNUmVnaXN0ZXJzOjpTRDAsIGRlc3QpOwor
ICAgIH0KKwogICAgIHZvaWQgc3ViRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJ
RCBkZXN0KQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIuZnN1YmRfcihkZXN0LCBkZXN0LCBz
cmMpOwpAQCAtNzIyLDYgKzc3NywyMyBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmZz
aXRvZF9yKGRlc3QsIGRlc3QpOwogICAgIH0KIAorICAgIHZvaWQgY29udmVydEludDMyVG9Eb3Vi
bGUoQWRkcmVzcyBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIC8vIGZsZHMgZG9lcyBub3Qgd29ydGggdGhlIGVmZm9y
dCBoZXJlCisgICAgICAgIGxvYWQzMihzcmMsIEFSTVJlZ2lzdGVyczo6UzEpOworICAgICAgICBj
b252ZXJ0SW50MzJUb0RvdWJsZShBUk1SZWdpc3RlcnM6OlMxLCBkZXN0KTsKKyAgICB9CisKKyAg
ICB2b2lkIGNvbnZlcnRJbnQzMlRvRG91YmxlKEFic29sdXRlQWRkcmVzcyBzcmMsIEZQUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
IC8vIGZsZHMgZG9lcyBub3Qgd29ydGggdGhlIGVmZm9ydCBoZXJlCisgICAgICAgIG1fYXNzZW1i
bGVyLmxkcl91bl9pbW0oQVJNUmVnaXN0ZXJzOjpTMSwgKEFSTVdvcmQpc3JjLm1fcHRyKTsKKyAg
ICAgICAgbV9hc3NlbWJsZXIuZHRyX3UodHJ1ZSwgQVJNUmVnaXN0ZXJzOjpTMSwgQVJNUmVnaXN0
ZXJzOjpTMSwgMCk7CisgICAgICAgIGNvbnZlcnRJbnQzMlRvRG91YmxlKEFSTVJlZ2lzdGVyczo6
UzEsIGRlc3QpOworICAgIH0KKwogICAgIEp1bXAgYnJhbmNoRG91YmxlKERvdWJsZUNvbmRpdGlv
biBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklEIHJpZ2h0KQogICAgIHsKICAg
ICAgICAgbV9hc3NlbWJsZXIuZmNtcGRfcihsZWZ0LCByaWdodCk7CkBAIC03NjAsNiArODMyLDEy
IEBAIHB1YmxpYzoKICAgICAgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChicmFuY2hUZXN0MzIoWmVy
bywgZGVzdCkpOwogICAgIH0KIAorICAgIHZvaWQgemVyb0RvdWJsZShGUFJlZ2lzdGVySUQgc3Jj
RGVzdCkKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLm1vdl9yKEFSTVJlZ2lzdGVyczo6UzAs
IEFSTUFzc2VtYmxlcjo6Z2V0T3AyKDApKTsKKyAgICAgICAgY29udmVydEludDMyVG9Eb3VibGUo
QVJNUmVnaXN0ZXJzOjpTMCwgc3JjRGVzdCk7CisgICAgfQorCiBwcm90ZWN0ZWQ6CiAgICAgQVJN
QXNzZW1ibGVyOjpDb25kaXRpb24gQVJNQ29uZGl0aW9uKENvbmRpdGlvbiBjb25kKQogICAgIHsK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5jcHAKaW5kZXggMDAwZTRiOC4uYzBkMTI1OCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTM3
LDcgKzM3LDYgQEAgSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6U1NFMkNoZWNrU3RhdGUg
SlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c19zc2UKICNpbmNsdWRlICJDb2RlQmxvY2su
aCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVElubGluZU1ldGhvZHMu
aCIKLSNpbmNsdWRlICJKSVRTdHVicy5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5j
bHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBl
MTllYTE3Li5mY2MwOGFjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC00NjUsNiArNDY1LDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1By
b3RvT2JqID0gMTE7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RD
aGVja1Byb3RvU3RydWN0ID0gMTg7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZz
ZXRNZXRob2RDaGVja1B1dEZ1bmN0aW9uID0gMjk7CisjZWxpZiBQTEFURk9STShBUk1fVFJBRElU
SU9OQUwpCiAjZWxzZQogI2Vycm9yICJKU1ZBTFVFMzJfNjQgbm90IHN1cHBvcnRlZCBvbiB0aGlz
IHBsYXRmb3JtLiIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFy
aXRobWV0aWMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCmluZGV4
IGU2ZGYzMzQuLmJjNmQwNTAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0
aG1ldGljLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAKQEAg
LTIzMSw2ICsyMzEsMTEgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbHNoaWZ0KEluc3RydWN0aW9uKiBj
dXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgaWYgKCFpc09wZXJhbmRDb25zdGFudEltbWVkaWF0ZUlu
dChvcDEpKQogICAgICAgICBhZGRTbG93Q2FzZShicmFuY2gzMihOb3RFcXVhbCwgcmVnVDEsIElt
bTMyKEpTVmFsdWU6OkludDMyVGFnKSkpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKE5vdEVx
dWFsLCByZWdUMywgSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpKSk7CisjaWYgIVBMQVRGT1JNKFg4
NikKKyAgICAvLyBNYXNrIHdpdGggMHgxZiBhcyBwZXIgZWNtYS0yNjIgMTEuNy4yIHN0ZXAgNy4K
KyAgICAvLyBPbiAzMi1iaXQgeDg2IHRoaXMgaXMgbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhlIHNo
aWZ0IGFub3VudCBpcyBpbXBsaWNpdGx5IG1hc2tlZCBpbiB0aGUgaW5zdHJ1Y3Rpb24uCisgICAg
YW5kMzIoSW1tMzIoMHgxZiksIHJlZ1QyKTsKKyNlbmRpZgogICAgIGxzaGlmdDMyKHJlZ1QyLCBy
ZWdUMCk7CiAgICAgZW1pdFN0b3JlSW50MzIoZHN0LCByZWdUMCwgZHN0ID09IG9wMSB8fCBkc3Qg
PT0gb3AyKTsKIH0KQEAgLTI3MSw2ICsyNzYsMTEgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcnNoaWZ0
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgaWYgKCFpc09wZXJhbmRDb25z
dGFudEltbWVkaWF0ZUludChvcDEpKQogICAgICAgICBhZGRTbG93Q2FzZShicmFuY2gzMihOb3RF
cXVhbCwgcmVnVDEsIEltbTMyKEpTVmFsdWU6OkludDMyVGFnKSkpOwogICAgIGFkZFNsb3dDYXNl
KGJyYW5jaDMyKE5vdEVxdWFsLCByZWdUMywgSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpKSk7Cisj
aWYgIVBMQVRGT1JNKFg4NikKKyAgICAvLyBNYXNrIHdpdGggMHgxZiBhcyBwZXIgZWNtYS0yNjIg
MTEuNy4yIHN0ZXAgNy4KKyAgICAvLyBPbiAzMi1iaXQgeDg2IHRoaXMgaXMgbm90IG5lY2Vzc2Fy
eSwgc2luY2UgdGhlIHNoaWZ0IGFub3VudCBpcyBpbXBsaWNpdGx5IG1hc2tlZCBpbiB0aGUgaW5z
dHJ1Y3Rpb24uCisgICAgYW5kMzIoSW1tMzIoMHgxZiksIHJlZ1QyKTsKKyNlbmRpZgogICAgIHJz
aGlmdDMyKHJlZ1QyLCByZWdUMCk7CiAgICAgZW1pdFN0b3JlSW50MzIoZHN0LCByZWdUMCwgZHN0
ID09IG9wMSB8fCBkc3QgPT0gb3AyKTsKIH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRJbmxpbmVNZXRob2RzLmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9k
cy5oCmluZGV4IDkzZDZjZTcuLmU0NWMxMzUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRJbmxpbmVNZXRob2RzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1l
dGhvZHMuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIC8vIHB1dHMgYW4gYXJn
IG9udG8gdGhlIHN0YWNrLCBhcyBhbiBhcmcgdG8gYSBjb250ZXh0IHRocmVhZGVkIGZ1bmN0aW9u
LgogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdFB1dEpJVFN0dWJBcmcoUmVnaXN0ZXJJRCBz
cmMsIHVuc2lnbmVkIGFyZ3VtZW50TnVtYmVyKQogewotICAgIHVuc2lnbmVkIGFyZ3VtZW50U3Rh
Y2tPZmZzZXQgPSAoYXJndW1lbnROdW1iZXIgKiAoc2l6ZW9mKEpTVmFsdWUpIC8gc2l6ZW9mKHZv
aWQqKSkpICsgMTsKKyAgICB1bnNpZ25lZCBhcmd1bWVudFN0YWNrT2Zmc2V0ID0gKGFyZ3VtZW50
TnVtYmVyICogKHNpemVvZihKU1ZhbHVlKSAvIHNpemVvZih2b2lkKikpKSArIChPQkpFQ1RfT0ZG
U0VUT0Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIGFyZ3MpIC8gc2l6ZW9mKHZvaWQqKSk7CiAgICAg
cG9rZShzcmMsIGFyZ3VtZW50U3RhY2tPZmZzZXQpOwogfQogCkBAIC00NSw3ICs0NSw3IEBAIEFM
V0FZU19JTkxJTkUgdm9pZCBKSVQ6OmVtaXRQdXRKSVRTdHViQXJnKFJlZ2lzdGVySUQgc3JjLCB1
bnNpZ25lZCBhcmd1bWVudE51bWJlCiAKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OmVtaXRQdXRK
SVRTdHViQXJnQ29uc3RhbnQodW5zaWduZWQgdmFsdWUsIHVuc2lnbmVkIGFyZ3VtZW50TnVtYmVy
KQogewotICAgIHVuc2lnbmVkIGFyZ3VtZW50U3RhY2tPZmZzZXQgPSAoYXJndW1lbnROdW1iZXIg
KiAoc2l6ZW9mKEpTVmFsdWUpIC8gc2l6ZW9mKHZvaWQqKSkpICsgMTsKKyAgICB1bnNpZ25lZCBh
cmd1bWVudFN0YWNrT2Zmc2V0ID0gKGFyZ3VtZW50TnVtYmVyICogKHNpemVvZihKU1ZhbHVlKSAv
IHNpemVvZih2b2lkKikpKSArIChPQkpFQ1RfT0ZGU0VUT0Yoc3RydWN0IEpJVFN0YWNrRnJhbWUs
IGFyZ3MpIC8gc2l6ZW9mKHZvaWQqKSk7CiAgICAgcG9rZShJbW0zMih2YWx1ZSksIGFyZ3VtZW50
U3RhY2tPZmZzZXQpOwogfQogCkBAIC01Myw3ICs1Myw3IEBAIEFMV0FZU19JTkxJTkUgdm9pZCBK
SVQ6OmVtaXRQdXRKSVRTdHViQXJnQ29uc3RhbnQodW5zaWduZWQgdmFsdWUsIHVuc2lnbmVkIGFy
Z3VtCiAKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OmVtaXRQdXRKSVRTdHViQXJnQ29uc3RhbnQo
dm9pZCogdmFsdWUsIHVuc2lnbmVkIGFyZ3VtZW50TnVtYmVyKQogewotICAgIHVuc2lnbmVkIGFy
Z3VtZW50U3RhY2tPZmZzZXQgPSAoYXJndW1lbnROdW1iZXIgKiAoc2l6ZW9mKEpTVmFsdWUpIC8g
c2l6ZW9mKHZvaWQqKSkpICsgMTsKKyAgICB1bnNpZ25lZCBhcmd1bWVudFN0YWNrT2Zmc2V0ID0g
KGFyZ3VtZW50TnVtYmVyICogKHNpemVvZihKU1ZhbHVlKSAvIHNpemVvZih2b2lkKikpKSArIChP
QkpFQ1RfT0ZGU0VUT0Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIGFyZ3MpIC8gc2l6ZW9mKHZvaWQq
KSk7CiAgICAgcG9rZShJbW1QdHIodmFsdWUpLCBhcmd1bWVudFN0YWNrT2Zmc2V0KTsKIH0KIApA
QCAtNjEsNyArNjEsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0UHV0SklUU3R1YkFy
Z0NvbnN0YW50KHZvaWQqIHZhbHVlLCB1bnNpZ25lZCBhcmd1bWVudAogCiBBTFdBWVNfSU5MSU5F
IHZvaWQgSklUOjplbWl0R2V0SklUU3R1YkFyZyh1bnNpZ25lZCBhcmd1bWVudE51bWJlciwgUmVn
aXN0ZXJJRCBkc3QpCiB7Ci0gICAgdW5zaWduZWQgYXJndW1lbnRTdGFja09mZnNldCA9IChhcmd1
bWVudE51bWJlciAqIChzaXplb2YoSlNWYWx1ZSkgLyBzaXplb2Yodm9pZCopKSkgKyAxOworICAg
IHVuc2lnbmVkIGFyZ3VtZW50U3RhY2tPZmZzZXQgPSAoYXJndW1lbnROdW1iZXIgKiAoc2l6ZW9m
KEpTVmFsdWUpIC8gc2l6ZW9mKHZvaWQqKSkpICsgKE9CSkVDVF9PRkZTRVRPRihzdHJ1Y3QgSklU
U3RhY2tGcmFtZSwgYXJncykgLyBzaXplb2Yodm9pZCopKTsKICAgICBwZWVrKGRzdCwgYXJndW1l
bnRTdGFja09mZnNldCk7CiB9CiAKQEAgLTU4NSw3ICs1ODUsNyBAQCBBTFdBWVNfSU5MSU5FIGJv
b2wgSklUOjpnZXRPcGVyYW5kQ29uc3RhbnRJbW1lZGlhdGVJbnQodW5zaWduZWQgb3AxLCB1bnNp
Z25lZCBvcAogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0UHV0SklUU3R1YkFyZyhSZWdp
c3RlcklEIHRhZywgUmVnaXN0ZXJJRCBwYXlsb2FkLCB1bnNpZ25lZCBhcmd1bWVudE51bWJlcikK
IHsKLSAgICB1bnNpZ25lZCBhcmd1bWVudFN0YWNrT2Zmc2V0ID0gKGFyZ3VtZW50TnVtYmVyICog
KHNpemVvZihKU1ZhbHVlKSAvIHNpemVvZih2b2lkKikpKSArIDE7CisgICAgdW5zaWduZWQgYXJn
dW1lbnRTdGFja09mZnNldCA9IChhcmd1bWVudE51bWJlciAqIChzaXplb2YoSlNWYWx1ZSkgLyBz
aXplb2Yodm9pZCopKSkgKyAoT0JKRUNUX09GRlNFVE9GKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBh
cmdzKSAvIHNpemVvZih2b2lkKikpOwogICAgIHBva2UocGF5bG9hZCwgYXJndW1lbnRTdGFja09m
ZnNldCk7CiAgICAgcG9rZSh0YWcsIGFyZ3VtZW50U3RhY2tPZmZzZXQgKyAxKTsKIH0KQEAgLTU5
NCw3ICs1OTQsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0UHV0SklUU3R1YkFyZyhS
ZWdpc3RlcklEIHRhZywgUmVnaXN0ZXJJRCBwYXlsb2FkLCB1bgogCiBBTFdBWVNfSU5MSU5FIHZv
aWQgSklUOjplbWl0UHV0SklUU3R1YkFyZ0Zyb21WaXJ0dWFsUmVnaXN0ZXIodW5zaWduZWQgc3Jj
LCB1bnNpZ25lZCBhcmd1bWVudE51bWJlciwgUmVnaXN0ZXJJRCBzY3JhdGNoMSwgUmVnaXN0ZXJJ
RCBzY3JhdGNoMikKIHsKLSAgICB1bnNpZ25lZCBhcmd1bWVudFN0YWNrT2Zmc2V0ID0gKGFyZ3Vt
ZW50TnVtYmVyICogKHNpemVvZihKU1ZhbHVlKSAvIHNpemVvZih2b2lkKikpKSArIDE7CisgICAg
dW5zaWduZWQgYXJndW1lbnRTdGFja09mZnNldCA9IChhcmd1bWVudE51bWJlciAqIChzaXplb2Yo
SlNWYWx1ZSkgLyBzaXplb2Yodm9pZCopKSkgKyAoT0JKRUNUX09GRlNFVE9GKHN0cnVjdCBKSVRT
dGFja0ZyYW1lLCBhcmdzKSAvIHNpemVvZih2b2lkKikpOwogICAgIGlmIChtX2NvZGVCbG9jay0+
aXNDb25zdGFudFJlZ2lzdGVySW5kZXgoc3JjKSkgewogICAgICAgICBKU1ZhbHVlIGNvbnN0YW50
ID0gbV9jb2RlQmxvY2stPmdldENvbnN0YW50KHNyYyk7CiAgICAgICAgIHBva2UoSW1tMzIoY29u
c3RhbnQucGF5bG9hZCgpKSwgYXJndW1lbnRTdGFja09mZnNldCk7CkBAIC04NDYsNyArODQ2LDcg
QEAgQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdFRhZ0FzQm9vbEltbWVkaWF0ZShSZWdpc3Rl
cklEIHJlZykKIC8vIGdldCBhcmcgcHV0cyBhbiBhcmcgZnJvbSB0aGUgU0YgcmVnaXN0ZXIgYXJy
YXkgb250byB0aGUgc3RhY2ssIGFzIGFuIGFyZyB0byBhIGNvbnRleHQgdGhyZWFkZWQgZnVuY3Rp
b24uCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0UHV0SklUU3R1YkFyZ0Zyb21WaXJ0dWFs
UmVnaXN0ZXIodW5zaWduZWQgc3JjLCB1bnNpZ25lZCBhcmd1bWVudE51bWJlciwgUmVnaXN0ZXJJ
RCBzY3JhdGNoKQogewotICAgIHVuc2lnbmVkIGFyZ3VtZW50U3RhY2tPZmZzZXQgPSAoYXJndW1l
bnROdW1iZXIgKiAoc2l6ZW9mKEpTVmFsdWUpIC8gc2l6ZW9mKHZvaWQqKSkpICsgMTsKKyAgICB1
bnNpZ25lZCBhcmd1bWVudFN0YWNrT2Zmc2V0ID0gKGFyZ3VtZW50TnVtYmVyICogKHNpemVvZihK
U1ZhbHVlKSAvIHNpemVvZih2b2lkKikpKSArIChPQkpFQ1RfT0ZGU0VUT0Yoc3RydWN0IEpJVFN0
YWNrRnJhbWUsIGFyZ3MpIC8gc2l6ZW9mKHZvaWQqKSk7CiAgICAgaWYgKG1fY29kZUJsb2NrLT5p
c0NvbnN0YW50UmVnaXN0ZXJJbmRleChzcmMpKSB7CiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBt
X2NvZGVCbG9jay0+Z2V0Q29uc3RhbnQoc3JjKTsKICAgICAgICAgcG9rZShJbW1QdHIoSlNWYWx1
ZTo6ZW5jb2RlKHZhbHVlKSksIGFyZ3VtZW50U3RhY2tPZmZzZXQpOwpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwCmluZGV4IGQ0MDNlMzUuLjg3ZTg0NWUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNo
aW5lVHJhbXBvbGluZXMoUmVmUHRyPEV4ZWN1dGFibGVQb29sPiogZXhlY3V0YWJsZQogICAgIGxv
YWRQdHIoQWRkcmVzcyhyZWdUMiwgT0JKRUNUX09GRlNFVE9GKEZ1bmN0aW9uRXhlY3V0YWJsZSwg
bV9qaXRDb2RlKSksIHJlZ1QwKTsKICAgICBqdW1wKHJlZ1QwKTsKIAotI2lmIFBMQVRGT1JNKFg4
NikKKyNpZiBQTEFURk9STShYODYpIHx8IFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKICAgICBM
YWJlbCBuYXRpdmVDYWxsVGh1bmsgPSBhbGlnbigpOwogICAgIHByZXNlcnZlUmV0dXJuQWRkcmVz
c0FmdGVyQ2FsbChyZWdUMCk7CiAgICAgZW1pdFB1dFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QwLCBS
ZWdpc3RlckZpbGU6OlJldHVyblBDKTsgLy8gUHVzaCByZXR1cm4gYWRkcmVzcwpAQCAtMTQ5LDYg
KzE0OSw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhS
ZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgZW1pdEdldEZyb21DYWxsRnJh
bWVIZWFkZXJQdHIoUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluLCByZWdUMSwgcmVnVDEpOwogICAg
IGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWlu
KTsKICAgICAKKyNpZiBQTEFURk9STShYODYpCiAgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFk
ZXIzMihSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQsIHJlZ1QwKTsKIAogICAgIC8qIFdlIGhh
dmUgdHdvIHN0cnVjdHMgdGhhdCB3ZSB1c2UgdG8gZGVzY3JpYmUgdGhlIHN0YWNrZnJhbWUgd2Ug
c2V0IHVwIGZvciBvdXIKQEAgLTI0OCw2ICsyNDksNjYgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21w
aWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKFJlZlB0cjxFeGVjdXRhYmxlUG9vbD4qIGV4ZWN1dGFi
bGUKICAgICAvLyBzbyBwdWxsIHRoZW0gb2ZmIG5vdwogICAgIGFkZFB0cihJbW0zMihOYXRpdmVD
YWxsRnJhbWVTaXplIC0gc2l6ZW9mKE5hdGl2ZUZ1bmN0aW9uQ2FsbGVlU2lnbmF0dXJlKSksIHN0
YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAorI2VsaWYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQor
ICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyMzIoUmVnaXN0ZXJGaWxlOjpBcmd1bWVudENv
dW50LCByZWdUMCk7CisKKyAgICAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3Igb3VyIGFyZ2xp
c3QKKyAgICBDT01QSUxFX0FTU0VSVCgoc2l6ZW9mKEFyZ0xpc3QpICYgMHg3KSA9PSAwICYmIHNp
emVvZihKU1ZhbHVlKSA9PSA4ICYmIHNpemVvZihSZWdpc3RlcikgPT0gOCwgQXJnTGlzdF9zaG91
bGRfYnlfOGJ5dGVfYWxpZ25lZCk7CisgICAgc3ViUHRyKEltbTMyKHNpemVvZihBcmdMaXN0KSks
IHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKworICAgIC8vIFNldCB1cCBhcmd1bWVudHMKKyAgICBz
dWJQdHIoSW1tMzIoMSksIHJlZ1QwKTsgLy8gRG9uJ3QgaW5jbHVkZSAndGhpcycgaW4gYXJnY291
bnQKKworICAgIC8vIFB1c2ggYXJnY291bnQKKyAgICBzdG9yZVB0cihyZWdUMCwgQWRkcmVzcyhz
dGFja1BvaW50ZXJSZWdpc3RlciwgT0JKRUNUX09GRlNFVE9GKEFyZ0xpc3QsIG1fYXJnQ291bnQp
KSk7CisKKyAgICAvLyBDYWxjdWxhdGUgdGhlIHN0YXJ0IG9mIHRoZSBjYWxsZnJhbWUgaGVhZGVy
LCBhbmQgc3RvcmUgaW4gcmVnVDEKKyAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMSk7
CisgICAgc3ViMzIoSW1tMzIoUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplICogKGlu
dDMyX3Qpc2l6ZW9mKFJlZ2lzdGVyKSksIHJlZ1QxKTsKKworICAgIC8vIENhbGN1bGF0ZSBzdGFy
dCBvZiBhcmd1bWVudHMgYXMgY2FsbGZyYW1lIGhlYWRlciAtIHNpemVvZihSZWdpc3RlcikgKiBh
cmdjb3VudCAocmVnVDEpCisgICAgbXVsMzIoSW1tMzIoc2l6ZW9mKFJlZ2lzdGVyKSksIHJlZ1Qw
LCByZWdUMCk7CisgICAgc3ViUHRyKHJlZ1QwLCByZWdUMSk7CisKKyAgICAvLyBwdXNoIHBvaW50
ZXIgdG8gYXJndW1lbnRzCisgICAgc3RvcmVQdHIocmVnVDEsIEFkZHJlc3Moc3RhY2tQb2ludGVy
UmVnaXN0ZXIsIE9CSkVDVF9PRkZTRVRPRihBcmdMaXN0LCBtX2FyZ3MpKSk7CisKKyAgICAvLyBB
cmd1bWVudCBwYXNzaW5nIG1ldGhvZDoKKyAgICAvLyByMCAtIHBvaW50cyB0byByZXR1cm4gdmFs
dWUKKyAgICAvLyByMSAtIGNhbGxGcmFtZQorICAgIC8vIHIyIC0gY2FsbGVlCisgICAgLy8gc3Rh
Y2s6IHRoaXMoSlNWYWx1ZSkgYW5kIGEgcG9pbnRlciB0byBBcmdMaXN0CisKKyAgICBtb3ZlKHN0
YWNrUG9pbnRlclJlZ2lzdGVyLCByZWdUMyk7CisgICAgc3ViUHRyKEltbTMyKDgpLCBzdGFja1Bv
aW50ZXJSZWdpc3Rlcik7CisgICAgbW92ZShzdGFja1BvaW50ZXJSZWdpc3RlciwgcmVnVDApOwor
ICAgIHN1YlB0cihJbW0zMig4ICsgNCArIDQgLyogcGFkZGluZyAqLyksIHN0YWNrUG9pbnRlclJl
Z2lzdGVyKTsKKworICAgIC8vIFNldHVwIGFyZzQ6CisgICAgc3RvcmVQdHIocmVnVDMsIEFkZHJl
c3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIDgpKTsKKworICAgIC8vIFNldHVwIGFyZzMKKyAgICAv
LyByZWdUMSBjdXJyZW50bHkgcG9pbnRzIHRvIHRoZSBmaXJzdCBhcmd1bWVudCwgcmVnVDEtc2l6
ZW9mKFJlZ2lzdGVyKSBwb2ludHMgdG8gJ3RoaXMnCisgICAgbG9hZDMyKEFkZHJlc3MocmVnVDEs
IC0oaW50MzJfdClzaXplb2Yodm9pZCopICogMiksIHJlZ1QzKTsKKyAgICBzdG9yZVB0cihyZWdU
MywgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgMCkpOworICAgIGxvYWQzMihBZGRyZXNz
KHJlZ1QxLCAtKGludDMyX3Qpc2l6ZW9mKHZvaWQqKSksIHJlZ1QzKTsKKyAgICBzdG9yZVB0cihy
ZWdUMywgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgNCkpOworCisgICAgLy8gU2V0dXAg
YXJnMjoKKyAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OkNh
bGxlZSwgcmVnVDIpOworCisgICAgLy8gU2V0dXAgYXJnMToKKyAgICBtb3ZlKGNhbGxGcmFtZVJl
Z2lzdGVyLCByZWdUMSk7CisKKyAgICBjYWxsKEFkZHJlc3MocmVnVDIsIE9CSkVDVF9PRkZTRVRP
RihKU0Z1bmN0aW9uLCBtX2RhdGEpKSk7CisKKyAgICAvLyBMb2FkIHJldHVybiB2YWx1ZQorICAg
IGxvYWQzMihBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCAxNiksIHJlZ1QwKTsKKyAgICBs
b2FkMzIoQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgMjApLCByZWdUMSk7CisKKyAgICBh
ZGRQdHIoSW1tMzIoc2l6ZW9mKEFyZ0xpc3QpICsgMTYgKyA4KSwgc3RhY2tQb2ludGVyUmVnaXN0
ZXIpOworI2VuZGlmCisKICAgICAvLyBDaGVjayBmb3IgYW4gZXhjZXB0aW9uCiAgICAgbW92ZShJ
bW1QdHIoJmdsb2JhbERhdGEtPmV4Y2VwdGlvbiksIHJlZ1QyKTsKICAgICBKdW1wIHNhd0V4Y2Vw
dGlvbiA9IGJyYW5jaDMyKE5vdEVxdWFsLCB0YWdGb3IoMCwgcmVnVDIpLCBJbW0zMihKU1ZhbHVl
OjpFbXB0eVZhbHVlVGFnKSk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YkNhbGwuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHViQ2FsbC5oCmluZGV4IGM1ZWQ5ZTMu
LmE3N2Y0NTggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHViQ2FsbC5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHViQ2FsbC5oCkBAIC0yMjIsNyArMjIyLDEyIEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNvbnN0IHNp
emVfdCBzdGFja0luZGV4U3RlcCA9IHNpemVvZihFbmNvZGVkSlNWYWx1ZSkgPT0gMiAqIHNpemVv
Zih2b2lkKikgPyAyIDogMTsKKyNpZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpICYmIFVTRShK
U1ZBTFVFMzJfNjQpCisgICAgICAgIC8vIE11c3QgdXNlIGFuICNpZiBoZXJlLCBiZWNhdXNlIE9C
SkVDVF9PRkZTRVRPRiBjYXVzZXMgYSBjb21waWxlciBlcnJvcgorICAgICAgICBzdGF0aWMgY29u
c3Qgc2l6ZV90IHN0YWNrSW5kZXhTdGFydCA9IDI7IC8vIEluZGV4IDAgaXMgYSBkdW1teSB2YWx1
ZQorI2Vsc2UKICAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBzdGFja0luZGV4U3RhcnQgPSAx
OyAvLyBJbmRleCAwIGlzIHJlc2VydmVkIGZvciByZXN0b3JlQXJndW1lbnRSZWZlcmVuY2UoKS4K
KyNlbmRpZgogCiAgICAgICAgIEpJVCogbV9qaXQ7CiAgICAgICAgIEZ1bmN0aW9uUHRyIG1fc3R1
YjsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCmluZGV4IDdhY2QwNGMuLjQ0ODZhMmYgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFN0dWJzLmNwcApAQCAtMjY5LDYgKzI2OSw0MCBAQCBTWU1CT0xfU1RSSU5HKGN0aU9w
VGhyb3dOb3RDYXVnaHQpICI6IiAiXG4iCiAgICAgImJ4IGxyIiAiXG4iCiApOwogCisjZWxpZiBD
T01QSUxFUihHQ0MpICYmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKKworYXNtIHZvbGF0aWxl
ICgKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICJcbiIKK1NZTUJPTF9T
VFJJTkcoY3RpVHJhbXBvbGluZSkgIjoiICJcbiIKKyAgICAic3RtZGIgc3AhLCB7cjEtcjN9IiAi
XG4iCisgICAgInN0bWRiIHNwISwge3I0LXI4LCBscn0iICJcbiIKKyAgICAic3ViIHNwLCBzcCwg
IzY4IiAiXG4iCisgICAgIm1vdiByNCwgcjIiICJcbiIKKyAgICAibW92IHI1LCAjNTEyIiAiXG4i
CisgICAgLy8gcjAgY29udGFpbnMgdGhlIGNvZGUKKyAgICAibW92IGxyLCBwYyIgIlxuIgorICAg
ICJtb3YgcGMsIHIwIiAiXG4iCisgICAgImFkZCBzcCwgc3AsICM2OCIgIlxuIgorICAgICJsZG1p
YSBzcCEsIHtyNC1yOCwgbHJ9IiAiXG4iCisgICAgImFkZCBzcCwgc3AsICMxMiIgIlxuIgorICAg
ICJtb3YgcGMsIGxyIiAiXG4iCispOworCithc20gdm9sYXRpbGUgKAorIi5nbG9ibCAiIFNZTUJP
TF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKK1NZTUJPTF9TVFJJTkcoY3RpVk1U
aHJvd1RyYW1wb2xpbmUpICI6IiAiXG4iCisgICAgIm1vdiByMCwgc3AiICJcbiIKKyAgICAiYmwg
IiBTWU1CT0xfU1RSSU5HKGN0aV92bV90aHJvdykgIlxuIgorCisvLyBCb3RoIGhhcyB0aGUgc2Ft
ZSByZXR1cm4gc2VxdWVuY2UKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RD
YXVnaHQpICJcbiIKK1NZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICJcbiIK
KyAgICAiYWRkIHNwLCBzcCwgIzY4IiAiXG4iCisgICAgImxkbWlhIHNwISwge3I0LXI4LCBscn0i
ICJcbiIKKyAgICAiYWRkIHNwLCBzcCwgIzEyIiAiXG4iCisgICAgIm1vdiBwYywgbHIiICJcbiIK
Kyk7CisKICNlbGlmIENPTVBJTEVSKE1TVkMpCiAKICNpZiBVU0UoSklUX1NUVUJfQVJHVU1FTlRf
VkFfTElTVCkKQEAgLTkwNSw2ICs5MzksMTIgQEAgc3RhdGljIE5FVkVSX0lOTElORSB2b2lkIHRo
cm93U3RhY2tPdmVyZmxvd0Vycm9yKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbEQKIAog
I2VsaWYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKSAmJiBDT01QSUxFUihHQ0MpCiAKKyNpZiBV
U0UoSlNWQUxVRTMyXzY0KQorI2RlZmluZSBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQgIjY0
IgorI2Vsc2UKKyNkZWZpbmUgVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUICIzMiIKKyNlbmRp
ZgorCiAjZGVmaW5lIERFRklORV9TVFVCX0ZVTkNUSU9OKHJ0eXBlLCBvcCkgXAogICAgIGV4dGVy
biAiQyIgeyBcCiAgICAgICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RF
Q0xBUkFUSU9OKTsgXApAQCAtOTEyLDkgKzk1Miw5IEBAIHN0YXRpYyBORVZFUl9JTkxJTkUgdm9p
ZCB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxE
CiAgICAgYXNtIHZvbGF0aWxlICggXAogICAgICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhj
dGlfIyNvcCkgIlxuIiBcCiAgICAgICAgIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICI6IiAiXG4i
IFwKLSAgICAgICAgInN0ciBsciwgW3NwLCAjMzJdIiAiXG4iIFwKKyAgICAgICAgInN0ciBsciwg
W3NwLCAjIiBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQgIl0iICJcbiIgXAogICAgICAgICAi
YmwgIiBTWU1CT0xfU1RSSU5HKEpJVFN0dWJUaHVua2VkXyMjb3ApICJcbiIgXAotICAgICAgICAi
bGRyIGxyLCBbc3AsICMzMl0iICJcbiIgXAorICAgICAgICAibGRyIGxyLCBbc3AsICMiIFRIVU5L
X1JFVFVSTl9BRERSRVNTX09GRlNFVCAiXSIgIlxuIiBcCiAgICAgICAgICJtb3YgcGMsIGxyIiAi
XG4iIFwKICAgICAgICAgKTsgXAogICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9B
UkdTX0RFQ0xBUkFUSU9OKQotLSAKMS42LjAuNAoK
</data>
<flag name="review"
          id="24115"
          type_id="1"
          status="-"
          setter="barraclough"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42648</attachid>
            <date>2009-11-06 05:32:19 -0800</date>
            <delta_ts>2009-11-09 00:11:37 -0800</delta_ts>
            <desc>Another patch</desc>
            <filename>0001-JSVALUE32_64-support.patch</filename>
            <type>text/plain</type>
            <size>18115</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSBhYmIzODBlN2QzNmRjMzI0YzAxNjlkNmRkNjA1MTkxNGRmZDc2OTIyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBGcmksIDYgTm92IDIwMDkgMTQ6MTM6NTEgKzAxMDAKU3ViamVjdDogW1BBVENI
XSBKU1ZBTFVFMzJfNjQgc3VwcG9ydAoKU2lnbmVkLW9mZi1ieTogWm9sdGFuIEhlcmN6ZWcgPHpo
ZXJjemVnQGluZi51LXN6ZWdlZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICB8ICAgNDAgKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BUk1Bc3NlbWJsZXIuaCAgICAgIHwgICAgNiArKwogSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyQVJNLmggfCAgIDkwICsrKysrKysrKysrKysrKysrKysrKysrKy0t
CiBKYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCAgICAgICAgICAgICAgICAgICB8ICAgIDEgLQog
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5oICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIEph
dmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljLmNwcCAgICAgICAgIHwgICAgNCAtCiBKYXZh
U2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oICAgICAgICB8ICAgIDIgKy0KIEphdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAgIHwgICA2MyArKysrKysrKysr
KysrKysrKystCiBKYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwICAgICAgICAgICAgICB8
ICAgNDUgKysrKysrKysrKysrLQogSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oICAg
ICAgICAgICAgfCAgICA0ICsKIDEwIGZpbGVzIGNoYW5nZWQsIDI0MSBpbnNlcnRpb25zKCspLCAx
NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNzA4OThmMy4uZGFhMzMyOSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQzIEBACisyMDA5LTExLTA2ICBab2x0YW4gSGVyY3plZyAgPHpoZXJjemVn
QGluZi51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzEwNTAK
KworICAgICAgICBBZGRpbmcgSlNWQUxVRTMyXzY0IHN1cHBvcnQgZm9yIEFSTSAoYnV0IG5vdCB0
dXJuaW5nIGl0CisgICAgICAgIG9uIGJ5IGRlZmF1bHQpLiBBbGwgb3B0aW1pemF0aW9ucyBtdXN0
IGJlIGRpc2FibGVkLCBzaW5jZQorICAgICAgICB0aGlzIHBhdGNoIGlzIG9ubHkgdGhlIGZpcnN0
IG9mIGEgc2VyaWVzIG9mIHBhdGNoZXMuCisKKyAgICAgICAgRHVyaW5nIHRoZSB3b3JrLCBhIGxv
dCBvZiB4ODYgc3BlY2lmaWMgY29kZSByZXZlYWxlZCBhbmQKKyAgICAgICAgbWFkZSBwbGF0Zm9y
bSBpbmRlcGVuZGVudC4gVGhlIHBhdGNoIGNvbnRhaW5zIHNvbWUgbWlub3IKKyAgICAgICAgZml4
ZXMgZm9yIGxlZnQvcmlnaHQgc2hpZnQzMiBjaGFuZ2VzIGFzIHdlbGwuCisgICAgICAgIFNlZSBy
ZXZpc2lvbnM6IDUwNTMxIDUwNTQxIDUwNTkzIDUwNTk0IDUwNTk1CisKKyAgICAgICAgKiBhc3Nl
bWJsZXIvQVJNQXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6KToKKyAg
ICAgICAgKEpTQzo6QVJNQXNzZW1ibGVyOjpmZGl2ZF9yKToKKyAgICAgICAgKiBhc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk0uaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06Omxz
aGlmdDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06Om5lZzMyKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OnJzaGlmdDMyKToKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJBUk06OmJyYW5jaE9yMzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
ckFSTTo6c2V0OCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpzZXRUZXN0OCk6
CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpsb2FkRG91YmxlKToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmRpdkRvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyQVJNOjpjb252ZXJ0SW50MzJUb0RvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyQVJNOjp6ZXJvRG91YmxlKToKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAg
ICAgKiBqaXQvSklULmg6CisgICAgICAgICogaml0L0pJVEFyaXRobWV0aWMuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRfb3BfcnNoaWZ0KToKKyAgICAgICAgKiBqaXQvSklUSW5saW5lTWV0
aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRGYXN0QXJpdGhJbW1Ub0ludCk6CisgICAg
ICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21w
aWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKToKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgor
ICAgICAgICAqIHd0Zi9TdGRMaWJFeHRyYXMuaDoKKwogMjAwOS0xMS0wNiAgR2F2aW4gQmFycmFj
bG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xp
dmVyIEh1bnQuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1i
bGVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKaW5kZXggNmE4
NjczNC4uNTAwZDc0MyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFz
c2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaApA
QCAtMTIxLDYgKzEyMSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgTVVMID0gMHgw
MDAwMDA5MCwKICAgICAgICAgICAgIE1VTEwgPSAweDAwYzAwMDkwLAogICAgICAgICAgICAgRkFE
REQgPSAweDBlMzAwYjAwLAorICAgICAgICAgICAgRkRJVkQgPSAweDBlODAwYjAwLAogICAgICAg
ICAgICAgRlNVQkQgPSAweDBlMzAwYjQwLAogICAgICAgICAgICAgRk1VTEQgPSAweDBlMjAwYjAw
LAogICAgICAgICAgICAgRkNNUEQgPSAweDBlYjQwYjQwLApAQCAtNDAwLDYgKzQwMSwxMSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdvcmQ+
KGNjKSB8IEZBRERELCBkZCwgZG4sIGRtKTsKICAgICAgICAgfQogCisgICAgICAgIHZvaWQgZmRp
dmRfcihpbnQgZGQsIGludCBkbiwgaW50IGRtLCBDb25kaXRpb24gY2MgPSBBTCkKKyAgICAgICAg
eworICAgICAgICAgICAgZW1pdEluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgRkRJVkQs
IGRkLCBkbiwgZG0pOworICAgICAgICB9CisKICAgICAgICAgdm9pZCBmc3ViZF9yKGludCBkZCwg
aW50IGRuLCBpbnQgZG0sIENvbmRpdGlvbiBjYyA9IEFMKQogICAgICAgICB7CiAgICAgICAgICAg
ICBlbWl0SW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBGU1VCRCwgZGQsIGRuLCBkbSk7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0u
aCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCmluZGV4IDRk
MTNiMGYuLmVkMTZkYjUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTS5oCkBAIC0xMjAsOSArMTIwLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBsc2hpZnQz
MihSZWdpc3RlcklEIHNoaWZ0X2Ftb3VudCwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAg
ICAgQVJNV29yZCB3ID0gbV9hc3NlbWJsZXIuZ2V0SW1tKDB4MWYsIEFSTVJlZ2lzdGVyczo6UzAs
IHRydWUpOwotICAgICAgICBBU1NFUlQoISh3ICYgQVJNQXNzZW1ibGVyOjpPUDJfSU5WX0lNTSkp
OwotICAgICAgICBtX2Fzc2VtYmxlci5hbmRzX3IoQVJNUmVnaXN0ZXJzOjpTMCwgc2hpZnRfYW1v
dW50LCB3KTsKKyAgICAgICAgQVJNV29yZCB3ID0gQVJNQXNzZW1ibGVyOjpnZXRPcDIoMHgxZik7
CisgICAgICAgIEFTU0VSVCh3ICE9IEFSTUFzc2VtYmxlcjo6SU5WQUxJRF9JTU0pOworICAgICAg
ICBtX2Fzc2VtYmxlci5hbmRfcihBUk1SZWdpc3RlcnM6OlMwLCBzaGlmdF9hbW91bnQsIHcpOwog
CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNfcihkZXN0LCBtX2Fzc2VtYmxlci5sc2xfcihkZXN0
LCBBUk1SZWdpc3RlcnM6OlMwKSk7CiAgICAgfQpAQCAtMTQ3LDYgKzE0NywxMSBAQCBwdWJsaWM6
CiAgICAgICAgIG1fYXNzZW1ibGVyLm11bHNfcihkZXN0LCBzcmMsIEFSTVJlZ2lzdGVyczo6UzAp
OwogICAgIH0KIAorICAgIHZvaWQgbmVnMzIoUmVnaXN0ZXJJRCBzcmNEZXN0KQorICAgIHsKKyAg
ICAgICAgbV9hc3NlbWJsZXIucnNic19yKHNyY0Rlc3QsIHNyY0Rlc3QsIEFSTUFzc2VtYmxlcjo6
Z2V0T3AyKDApKTsKKyAgICB9CisKICAgICB2b2lkIG5vdDMyKFJlZ2lzdGVySUQgZGVzdCkKICAg
ICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLm12bnNfcihkZXN0LCBkZXN0KTsKQEAgLTE2NCw5ICsx
NjksOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJzaGlmdDMyKFJlZ2lzdGVySUQgc2hpZnRfYW1v
dW50LCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBUk1Xb3JkIHcgPSBtX2Fzc2Vt
Ymxlci5nZXRJbW0oMHgxZiwgQVJNUmVnaXN0ZXJzOjpTMCwgdHJ1ZSk7Ci0gICAgICAgIEFTU0VS
VCghKHcgJiBBUk1Bc3NlbWJsZXI6Ok9QMl9JTlZfSU1NKSk7Ci0gICAgICAgIG1fYXNzZW1ibGVy
LmFuZHNfcihBUk1SZWdpc3RlcnM6OlMwLCBzaGlmdF9hbW91bnQsIHcpOworICAgICAgICBBUk1X
b3JkIHcgPSBBUk1Bc3NlbWJsZXI6OmdldE9wMigweDFmKTsKKyAgICAgICAgQVNTRVJUKHcgIT0g
QVJNQXNzZW1ibGVyOjpJTlZBTElEX0lNTSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFuZF9yKEFS
TVJlZ2lzdGVyczo6UzAsIHNoaWZ0X2Ftb3VudCwgdyk7CiAKICAgICAgICAgbV9hc3NlbWJsZXIu
bW92c19yKGRlc3QsIG1fYXNzZW1ibGVyLmFzcl9yKGRlc3QsIEFSTVJlZ2lzdGVyczo6UzApKTsK
ICAgICB9CkBAIC01MjUsNiArNTMwLDEzIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEp1bXAo
bV9hc3NlbWJsZXIuam1wKEFSTUNvbmRpdGlvbihjb25kKSkpOwogICAgIH0KIAorICAgIEp1bXAg
YnJhbmNoT3IzMihDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVz
dCkKKyAgICB7CisgICAgICAgIEFTU0VSVCgoY29uZCA9PSBTaWduZWQpIHx8IChjb25kID09IFpl
cm8pIHx8IChjb25kID09IE5vblplcm8pKTsKKyAgICAgICAgb3IzMihzcmMsIGRlc3QpOworICAg
ICAgICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5qbXAoQVJNQ29uZGl0aW9uKGNvbmQpKSk7Cisg
ICAgfQorCiAgICAgdm9pZCBicmVha3BvaW50KCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVy
LmJrcHQoMCk7CkBAIC01NjgsNiArNTgwLDI1IEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJs
ZXIubW92X3IoZGVzdCwgQVJNQXNzZW1ibGVyOjpnZXRPcDIoMSksIEFSTUNvbmRpdGlvbihjb25k
KSk7CiAgICAgfQogCisgICAgdm9pZCBzZXQ4KENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxl
ZnQsIFJlZ2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIC8v
IEFSTSBkb2Vzbid0IGhhdmUgYnl0ZSByZWdpc3RlcnMKKyAgICAgICAgc2V0MzIoY29uZCwgbGVm
dCwgcmlnaHQsIGRlc3QpOworICAgIH0KKworICAgIHZvaWQgc2V0OChDb25kaXRpb24gY29uZCwg
QWRkcmVzcyBsZWZ0LCBSZWdpc3RlcklEIHJpZ2h0LCBSZWdpc3RlcklEIGRlc3QpCisgICAgewor
ICAgICAgICAvLyBBUk0gZG9lc24ndCBoYXZlIGJ5dGUgcmVnaXN0ZXJzCisgICAgICAgIGxvYWQz
MihsZWZ0LCBBUk1SZWdpc3RlcnM6OlMxKTsKKyAgICAgICAgc2V0MzIoY29uZCwgQVJNUmVnaXN0
ZXJzOjpTMSwgcmlnaHQsIGRlc3QpOworICAgIH0KKworICAgIHZvaWQgc2V0OChDb25kaXRpb24g
Y29uZCwgUmVnaXN0ZXJJRCBsZWZ0LCBJbW0zMiByaWdodCwgUmVnaXN0ZXJJRCBkZXN0KQorICAg
IHsKKyAgICAgICAgLy8gQVJNIGRvZXNuJ3QgaGF2ZSBieXRlIHJlZ2lzdGVycworICAgICAgICBz
ZXQzMihjb25kLCBsZWZ0LCByaWdodCwgZGVzdCk7CisgICAgfQorCiAgICAgdm9pZCBzZXRUZXN0
MzIoQ29uZGl0aW9uIGNvbmQsIEFkZHJlc3MgYWRkcmVzcywgSW1tMzIgbWFzaywgUmVnaXN0ZXJJ
RCBkZXN0KQogICAgIHsKICAgICAgICAgbG9hZDMyKGFkZHJlc3MsIEFSTVJlZ2lzdGVyczo6UzEp
OwpAQCAtNTc5LDYgKzYxMCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdl9y
KGRlc3QsIEFSTUFzc2VtYmxlcjo6Z2V0T3AyKDEpLCBBUk1Db25kaXRpb24oY29uZCkpOwogICAg
IH0KIAorICAgIHZvaWQgc2V0VGVzdDgoQ29uZGl0aW9uIGNvbmQsIEFkZHJlc3MgYWRkcmVzcywg
SW1tMzIgbWFzaywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgLy8gQVJNIGRvZXNu
J3QgaGF2ZSBieXRlIHJlZ2lzdGVycworICAgICAgICBzZXRUZXN0MzIoY29uZCwgYWRkcmVzcywg
bWFzaywgZGVzdCk7CisgICAgfQorCiAgICAgdm9pZCBhZGQzMihJbW0zMiBpbW0sIFJlZ2lzdGVy
SUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5hZGRf
cihkZXN0LCBzcmMsIG1fYXNzZW1ibGVyLmdldEltbShpbW0ubV92YWx1ZSwgQVJNUmVnaXN0ZXJz
OjpTMCkpOwpAQCAtNjg2LDYgKzcyMywxMiBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVy
LmRvdWJsZVRyYW5zZmVyKHRydWUsIGRlc3QsIGFkZHJlc3MuYmFzZSwgYWRkcmVzcy5vZmZzZXQp
OwogICAgIH0KIAorICAgIHZvaWQgbG9hZERvdWJsZSh2b2lkKiBhZGRyZXNzLCBGUFJlZ2lzdGVy
SUQgZGVzdCkKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLmxkcl91bl9pbW0oQVJNUmVnaXN0
ZXJzOjpTMCwgKEFSTVdvcmQpYWRkcmVzcyk7CisgICAgICAgIG1fYXNzZW1ibGVyLmZkdHJfdSh0
cnVlLCBkZXN0LCBBUk1SZWdpc3RlcnM6OlMwLCAwKTsKKyAgICB9CisKICAgICB2b2lkIHN0b3Jl
RG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEltcGxpY2l0QWRkcmVzcyBhZGRyZXNzKQogICAgIHsK
ICAgICAgICAgbV9hc3NlbWJsZXIuZG91YmxlVHJhbnNmZXIoZmFsc2UsIHNyYywgYWRkcmVzcy5i
YXNlLCBhZGRyZXNzLm9mZnNldCk7CkBAIC03MDIsNiArNzQ1LDE4IEBAIHB1YmxpYzoKICAgICAg
ICAgYWRkRG91YmxlKEFSTVJlZ2lzdGVyczo6U0QwLCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lk
IGRpdkRvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7Cisg
ICAgICAgIG1fYXNzZW1ibGVyLmZkaXZkX3IoZGVzdCwgZGVzdCwgc3JjKTsKKyAgICB9CisKKyAg
ICB2b2lkIGRpdkRvdWJsZShBZGRyZXNzIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCisgICAgewor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gVW50ZXN0ZWQKKyAgICAgICAgbG9hZERv
dWJsZShzcmMsIEFSTVJlZ2lzdGVyczo6U0QwKTsKKyAgICAgICAgZGl2RG91YmxlKEFSTVJlZ2lz
dGVyczo6U0QwLCBkZXN0KTsKKyAgICB9CisKICAgICB2b2lkIHN1YkRvdWJsZShGUFJlZ2lzdGVy
SUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmZz
dWJkX3IoZGVzdCwgZGVzdCwgc3JjKTsKQEAgLTczMCw2ICs3ODUsMjMgQEAgcHVibGljOgogICAg
ICAgICBtX2Fzc2VtYmxlci5mc2l0b2RfcihkZXN0LCBkZXN0KTsKICAgICB9CiAKKyAgICB2b2lk
IGNvbnZlcnRJbnQzMlRvRG91YmxlKEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKKyAg
ICB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBVbnRlc3RlZAorICAgICAgICAv
LyBmbGRzIGRvZXMgbm90IHdvcnRoIHRoZSBlZmZvcnQgaGVyZQorICAgICAgICBsb2FkMzIoc3Jj
LCBBUk1SZWdpc3RlcnM6OlMxKTsKKyAgICAgICAgY29udmVydEludDMyVG9Eb3VibGUoQVJNUmVn
aXN0ZXJzOjpTMSwgZGVzdCk7CisgICAgfQorCisgICAgdm9pZCBjb252ZXJ0SW50MzJUb0RvdWJs
ZShBYnNvbHV0ZUFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBVbnRlc3RlZAorICAgICAgICAvLyBmbGRzIGRvZXMg
bm90IHdvcnRoIHRoZSBlZmZvcnQgaGVyZQorICAgICAgICBtX2Fzc2VtYmxlci5sZHJfdW5faW1t
KEFSTVJlZ2lzdGVyczo6UzEsIChBUk1Xb3JkKXNyYy5tX3B0cik7CisgICAgICAgIG1fYXNzZW1i
bGVyLmR0cl91KHRydWUsIEFSTVJlZ2lzdGVyczo6UzEsIEFSTVJlZ2lzdGVyczo6UzEsIDApOwor
ICAgICAgICBjb252ZXJ0SW50MzJUb0RvdWJsZShBUk1SZWdpc3RlcnM6OlMxLCBkZXN0KTsKKyAg
ICB9CisKICAgICBKdW1wIGJyYW5jaERvdWJsZShEb3VibGVDb25kaXRpb24gY29uZCwgRlBSZWdp
c3RlcklEIGxlZnQsIEZQUmVnaXN0ZXJJRCByaWdodCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1i
bGVyLmZjbXBkX3IobGVmdCwgcmlnaHQpOwpAQCAtNzY4LDYgKzg0MCwxMiBAQCBwdWJsaWM6CiAg
ICAgICAgIGZhaWx1cmVDYXNlcy5hcHBlbmQoYnJhbmNoVGVzdDMyKFplcm8sIGRlc3QpKTsKICAg
ICB9CiAKKyAgICB2b2lkIHplcm9Eb3VibGUoRlBSZWdpc3RlcklEIHNyY0Rlc3QpCisgICAgewor
ICAgICAgICBtX2Fzc2VtYmxlci5tb3ZfcihBUk1SZWdpc3RlcnM6OlMwLCBBUk1Bc3NlbWJsZXI6
OmdldE9wMigwKSk7CisgICAgICAgIGNvbnZlcnRJbnQzMlRvRG91YmxlKEFSTVJlZ2lzdGVyczo6
UzAsIHNyY0Rlc3QpOworICAgIH0KKwogcHJvdGVjdGVkOgogICAgIEFSTUFzc2VtYmxlcjo6Q29u
ZGl0aW9uIEFSTUNvbmRpdGlvbihDb25kaXRpb24gY29uZCkKICAgICB7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCmlu
ZGV4IDAwMGU0YjguLmMwZDEyNTggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0zNyw3ICszNyw2IEBAIEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OlNTRTJDaGVja1N0YXRlIEpTQzo6TWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246OnNfc3NlCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAi
SW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVRJbmxpbmVNZXRob2RzLmgiCi0jaW5jbHVkZSAi
SklUU3R1YnMuaCIKICNpbmNsdWRlICJKSVRTdHViQ2FsbC5oIgogI2luY2x1ZGUgIkpTQXJyYXku
aCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZTE5ZWExNy4uZmNjMDhh
YyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuaApAQCAtNDY1LDYgKzQ2NSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQcm90b09iaiA9IDExOwog
ICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQcm90b1N0cnVj
dCA9IDE4OwogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQ
dXRGdW5jdGlvbiA9IDI5OworI2VsaWYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogI2Vsc2UK
ICNlcnJvciAiSlNWQUxVRTMyXzY0IG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljLmNwcCBi
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljLmNwcAppbmRleCA0ZTRlNGJiLi44MjFl
YzBmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAKKysr
IGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCkBAIC0xMTg5LDExICsxMTg5
LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcnNoaWZ0KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1
Y3Rpb24pCiAgICAgICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIob3AxLCByZWdUMCk7CiAgICAg
ICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEltbWVkaWF0ZUludGVnZXIocmVnVDApOwogICAgICAg
ICAvLyBNYXNrIHdpdGggMHgxZiBhcyBwZXIgZWNtYS0yNjIgMTEuNy4yIHN0ZXAgNy4KLSNpZiBV
U0UoSlNWQUxVRTY0KQogICAgICAgICByc2hpZnQzMihJbW0zMihnZXRDb25zdGFudE9wZXJhbmRJ
bW1lZGlhdGVJbnQob3AyKSAmIDB4MWYpLCByZWdUMCk7Ci0jZWxzZQotICAgICAgICByc2hpZnRQ
dHIoSW1tMzIoZ2V0Q29uc3RhbnRPcGVyYW5kSW1tZWRpYXRlSW50KG9wMikgJiAweDFmKSwgcmVn
VDApOwotI2VuZGlmCiAgICAgfSBlbHNlIHsKICAgICAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rl
cnMob3AxLCByZWdUMCwgb3AyLCByZWdUMik7CiAgICAgICAgIGlmIChzdXBwb3J0c0Zsb2F0aW5n
UG9pbnRUcnVuY2F0ZSgpKSB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lTWV0aG9kcy5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaAppbmRl
eCBlOGIxN2VkLi4xY2U2ODg5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lTWV0aG9kcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2RzLmgK
QEAgLTgxNyw3ICs4MTcsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0RmFzdEFyaXRo
SW1tVG9JbnQoUmVnaXN0ZXJJRCByZWcpCiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBVTlVTRURf
UEFSQU0ocmVnKTsKICNlbHNlCi0gICAgcnNoaWZ0UHRyKEltbTMyKEpTSW1tZWRpYXRlOjpJbnRl
Z2VyUGF5bG9hZFNoaWZ0KSwgcmVnKTsKKyAgICByc2hpZnQzMihJbW0zMihKU0ltbWVkaWF0ZTo6
SW50ZWdlclBheWxvYWRTaGlmdCksIHJlZyk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwCmluZGV4IGQ0MDNlMzUuLjg3ZTg0NWUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNo
aW5lVHJhbXBvbGluZXMoUmVmUHRyPEV4ZWN1dGFibGVQb29sPiogZXhlY3V0YWJsZQogICAgIGxv
YWRQdHIoQWRkcmVzcyhyZWdUMiwgT0JKRUNUX09GRlNFVE9GKEZ1bmN0aW9uRXhlY3V0YWJsZSwg
bV9qaXRDb2RlKSksIHJlZ1QwKTsKICAgICBqdW1wKHJlZ1QwKTsKIAotI2lmIFBMQVRGT1JNKFg4
NikKKyNpZiBQTEFURk9STShYODYpIHx8IFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKICAgICBM
YWJlbCBuYXRpdmVDYWxsVGh1bmsgPSBhbGlnbigpOwogICAgIHByZXNlcnZlUmV0dXJuQWRkcmVz
c0FmdGVyQ2FsbChyZWdUMCk7CiAgICAgZW1pdFB1dFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QwLCBS
ZWdpc3RlckZpbGU6OlJldHVyblBDKTsgLy8gUHVzaCByZXR1cm4gYWRkcmVzcwpAQCAtMTQ5LDYg
KzE0OSw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhS
ZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgZW1pdEdldEZyb21DYWxsRnJh
bWVIZWFkZXJQdHIoUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWluLCByZWdUMSwgcmVnVDEpOwogICAg
IGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgUmVnaXN0ZXJGaWxlOjpTY29wZUNoYWlu
KTsKICAgICAKKyNpZiBQTEFURk9STShYODYpCiAgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFk
ZXIzMihSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQsIHJlZ1QwKTsKIAogICAgIC8qIFdlIGhh
dmUgdHdvIHN0cnVjdHMgdGhhdCB3ZSB1c2UgdG8gZGVzY3JpYmUgdGhlIHN0YWNrZnJhbWUgd2Ug
c2V0IHVwIGZvciBvdXIKQEAgLTI0OCw2ICsyNDksNjYgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21w
aWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKFJlZlB0cjxFeGVjdXRhYmxlUG9vbD4qIGV4ZWN1dGFi
bGUKICAgICAvLyBzbyBwdWxsIHRoZW0gb2ZmIG5vdwogICAgIGFkZFB0cihJbW0zMihOYXRpdmVD
YWxsRnJhbWVTaXplIC0gc2l6ZW9mKE5hdGl2ZUZ1bmN0aW9uQ2FsbGVlU2lnbmF0dXJlKSksIHN0
YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAorI2VsaWYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQor
ICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyMzIoUmVnaXN0ZXJGaWxlOjpBcmd1bWVudENv
dW50LCByZWdUMCk7CisKKyAgICAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3Igb3VyIGFyZ2xp
c3QKKyAgICBDT01QSUxFX0FTU0VSVCgoc2l6ZW9mKEFyZ0xpc3QpICYgMHg3KSA9PSAwICYmIHNp
emVvZihKU1ZhbHVlKSA9PSA4ICYmIHNpemVvZihSZWdpc3RlcikgPT0gOCwgQXJnTGlzdF9zaG91
bGRfYnlfOGJ5dGVfYWxpZ25lZCk7CisgICAgc3ViUHRyKEltbTMyKHNpemVvZihBcmdMaXN0KSks
IHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKworICAgIC8vIFNldCB1cCBhcmd1bWVudHMKKyAgICBz
dWJQdHIoSW1tMzIoMSksIHJlZ1QwKTsgLy8gRG9uJ3QgaW5jbHVkZSAndGhpcycgaW4gYXJnY291
bnQKKworICAgIC8vIFB1c2ggYXJnY291bnQKKyAgICBzdG9yZVB0cihyZWdUMCwgQWRkcmVzcyhz
dGFja1BvaW50ZXJSZWdpc3RlciwgT0JKRUNUX09GRlNFVE9GKEFyZ0xpc3QsIG1fYXJnQ291bnQp
KSk7CisKKyAgICAvLyBDYWxjdWxhdGUgdGhlIHN0YXJ0IG9mIHRoZSBjYWxsZnJhbWUgaGVhZGVy
LCBhbmQgc3RvcmUgaW4gcmVnVDEKKyAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMSk7
CisgICAgc3ViMzIoSW1tMzIoUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplICogKGlu
dDMyX3Qpc2l6ZW9mKFJlZ2lzdGVyKSksIHJlZ1QxKTsKKworICAgIC8vIENhbGN1bGF0ZSBzdGFy
dCBvZiBhcmd1bWVudHMgYXMgY2FsbGZyYW1lIGhlYWRlciAtIHNpemVvZihSZWdpc3RlcikgKiBh
cmdjb3VudCAocmVnVDEpCisgICAgbXVsMzIoSW1tMzIoc2l6ZW9mKFJlZ2lzdGVyKSksIHJlZ1Qw
LCByZWdUMCk7CisgICAgc3ViUHRyKHJlZ1QwLCByZWdUMSk7CisKKyAgICAvLyBwdXNoIHBvaW50
ZXIgdG8gYXJndW1lbnRzCisgICAgc3RvcmVQdHIocmVnVDEsIEFkZHJlc3Moc3RhY2tQb2ludGVy
UmVnaXN0ZXIsIE9CSkVDVF9PRkZTRVRPRihBcmdMaXN0LCBtX2FyZ3MpKSk7CisKKyAgICAvLyBB
cmd1bWVudCBwYXNzaW5nIG1ldGhvZDoKKyAgICAvLyByMCAtIHBvaW50cyB0byByZXR1cm4gdmFs
dWUKKyAgICAvLyByMSAtIGNhbGxGcmFtZQorICAgIC8vIHIyIC0gY2FsbGVlCisgICAgLy8gc3Rh
Y2s6IHRoaXMoSlNWYWx1ZSkgYW5kIGEgcG9pbnRlciB0byBBcmdMaXN0CisKKyAgICBtb3ZlKHN0
YWNrUG9pbnRlclJlZ2lzdGVyLCByZWdUMyk7CisgICAgc3ViUHRyKEltbTMyKDgpLCBzdGFja1Bv
aW50ZXJSZWdpc3Rlcik7CisgICAgbW92ZShzdGFja1BvaW50ZXJSZWdpc3RlciwgcmVnVDApOwor
ICAgIHN1YlB0cihJbW0zMig4ICsgNCArIDQgLyogcGFkZGluZyAqLyksIHN0YWNrUG9pbnRlclJl
Z2lzdGVyKTsKKworICAgIC8vIFNldHVwIGFyZzQ6CisgICAgc3RvcmVQdHIocmVnVDMsIEFkZHJl
c3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIDgpKTsKKworICAgIC8vIFNldHVwIGFyZzMKKyAgICAv
LyByZWdUMSBjdXJyZW50bHkgcG9pbnRzIHRvIHRoZSBmaXJzdCBhcmd1bWVudCwgcmVnVDEtc2l6
ZW9mKFJlZ2lzdGVyKSBwb2ludHMgdG8gJ3RoaXMnCisgICAgbG9hZDMyKEFkZHJlc3MocmVnVDEs
IC0oaW50MzJfdClzaXplb2Yodm9pZCopICogMiksIHJlZ1QzKTsKKyAgICBzdG9yZVB0cihyZWdU
MywgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgMCkpOworICAgIGxvYWQzMihBZGRyZXNz
KHJlZ1QxLCAtKGludDMyX3Qpc2l6ZW9mKHZvaWQqKSksIHJlZ1QzKTsKKyAgICBzdG9yZVB0cihy
ZWdUMywgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgNCkpOworCisgICAgLy8gU2V0dXAg
YXJnMjoKKyAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OkNh
bGxlZSwgcmVnVDIpOworCisgICAgLy8gU2V0dXAgYXJnMToKKyAgICBtb3ZlKGNhbGxGcmFtZVJl
Z2lzdGVyLCByZWdUMSk7CisKKyAgICBjYWxsKEFkZHJlc3MocmVnVDIsIE9CSkVDVF9PRkZTRVRP
RihKU0Z1bmN0aW9uLCBtX2RhdGEpKSk7CisKKyAgICAvLyBMb2FkIHJldHVybiB2YWx1ZQorICAg
IGxvYWQzMihBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCAxNiksIHJlZ1QwKTsKKyAgICBs
b2FkMzIoQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgMjApLCByZWdUMSk7CisKKyAgICBh
ZGRQdHIoSW1tMzIoc2l6ZW9mKEFyZ0xpc3QpICsgMTYgKyA4KSwgc3RhY2tQb2ludGVyUmVnaXN0
ZXIpOworI2VuZGlmCisKICAgICAvLyBDaGVjayBmb3IgYW4gZXhjZXB0aW9uCiAgICAgbW92ZShJ
bW1QdHIoJmdsb2JhbERhdGEtPmV4Y2VwdGlvbiksIHJlZ1QyKTsKICAgICBKdW1wIHNhd0V4Y2Vw
dGlvbiA9IGJyYW5jaDMyKE5vdEVxdWFsLCB0YWdGb3IoMCwgcmVnVDIpLCBJbW0zMihKU1ZhbHVl
OjpFbXB0eVZhbHVlVGFnKSk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YnMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAppbmRleCA3YWNkMDRjLi43
Mjk4MDE2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCisrKyBi
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNs
dWRlICJSZWdFeHBQcm90b3R5cGUuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5oIgogI2luY2x1ZGUg
IlNhbXBsaW5nVG9vbC5oIgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRl
IDxzdGRhcmcuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogCkBAIC0yNjksNiArMjcwLDQwIEBAIFNZ
TUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICJcbiIKICAgICAiYnggbHIiICJc
biIKICk7CiAKKyNlbGlmIENPTVBJTEVSKEdDQykgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFM
KQorCithc20gdm9sYXRpbGUgKAorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGlu
ZSkgIlxuIgorU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiOiIgIlxuIgorICAgICJzdG1k
YiBzcCEsIHtyMS1yM30iICJcbiIKKyAgICAic3RtZGIgc3AhLCB7cjQtcjgsIGxyfSIgIlxuIgor
ICAgICJzdWIgc3AsIHNwLCAjNjgiICJcbiIKKyAgICAibW92IHI0LCByMiIgIlxuIgorICAgICJt
b3YgcjUsICM1MTIiICJcbiIKKyAgICAvLyByMCBjb250YWlucyB0aGUgY29kZQorICAgICJtb3Yg
bHIsIHBjIiAiXG4iCisgICAgIm1vdiBwYywgcjAiICJcbiIKKyAgICAiYWRkIHNwLCBzcCwgIzY4
IiAiXG4iCisgICAgImxkbWlhIHNwISwge3I0LXI4LCBscn0iICJcbiIKKyAgICAiYWRkIHNwLCBz
cCwgIzEyIiAiXG4iCisgICAgIm1vdiBwYywgbHIiICJcbiIKKyk7CisKK2FzbSB2b2xhdGlsZSAo
CisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIlxuIgorU1lN
Qk9MX1NUUklORyhjdGlWTVRocm93VHJhbXBvbGluZSkgIjoiICJcbiIKKyAgICAibW92IHIwLCBz
cCIgIlxuIgorICAgICJibCAiIFNZTUJPTF9TVFJJTkcoY3RpX3ZtX3Rocm93KSAiXG4iCisKKy8v
IEJvdGggaGFzIHRoZSBzYW1lIHJldHVybiBzZXF1ZW5jZQorIi5nbG9ibCAiIFNZTUJPTF9TVFJJ
TkcoY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgorU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90
Q2F1Z2h0KSAiOiIgIlxuIgorICAgICJhZGQgc3AsIHNwLCAjNjgiICJcbiIKKyAgICAibGRtaWEg
c3AhLCB7cjQtcjgsIGxyfSIgIlxuIgorICAgICJhZGQgc3AsIHNwLCAjMTIiICJcbiIKKyAgICAi
bW92IHBjLCBsciIgIlxuIgorKTsKKwogI2VsaWYgQ09NUElMRVIoTVNWQykKIAogI2lmIFVTRShK
SVRfU1RVQl9BUkdVTUVOVF9WQV9MSVNUKQpAQCAtOTA1LDYgKzk0MCwxMiBAQCBzdGF0aWMgTkVW
RVJfSU5MSU5FIHZvaWQgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEpTR2xvYmFsRAogCiAjZWxpZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpICYmIENPTVBJ
TEVSKEdDQykKIAorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisjZGVmaW5lIFRIVU5LX1JFVFVSTl9B
RERSRVNTX09GRlNFVCA2NAorI2Vsc2UKKyNkZWZpbmUgVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZG
U0VUIDMyCisjZW5kaWYKKwogI2RlZmluZSBERUZJTkVfU1RVQl9GVU5DVElPTihydHlwZSwgb3Ap
IFwKICAgICBleHRlcm4gIkMiIHsgXAogICAgICAgICBydHlwZSBKSVRTdHViVGh1bmtlZF8jI29w
KFNUVUJfQVJHU19ERUNMQVJBVElPTik7IFwKQEAgLTkxMiw5ICs5NTMsOSBAQCBzdGF0aWMgTkVW
RVJfSU5MSU5FIHZvaWQgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEpTR2xvYmFsRAogICAgIGFzbSB2b2xhdGlsZSAoIFwKICAgICAgICAgIi5nbG9ibCAiIFNZ
TUJPTF9TVFJJTkcoY3RpXyMjb3ApICJcbiIgXAogICAgICAgICBTWU1CT0xfU1RSSU5HKGN0aV8j
I29wKSAiOiIgIlxuIiBcCi0gICAgICAgICJzdHIgbHIsIFtzcCwgIzMyXSIgIlxuIiBcCisgICAg
ICAgICJzdHIgbHIsIFtzcCwgIyIgU1RSSU5HSVpFKFRIVU5LX1JFVFVSTl9BRERSRVNTX09GRlNF
VCkgIl0iICJcbiIgXAogICAgICAgICAiYmwgIiBTWU1CT0xfU1RSSU5HKEpJVFN0dWJUaHVua2Vk
XyMjb3ApICJcbiIgXAotICAgICAgICAibGRyIGxyLCBbc3AsICMzMl0iICJcbiIgXAorICAgICAg
ICAibGRyIGxyLCBbc3AsICMiIFNUUklOR0laRShUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQp
ICJdIiAiXG4iIFwKICAgICAgICAgIm1vdiBwYywgbHIiICJcbiIgXAogICAgICAgICApOyBcCiAg
ICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0cmFzLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvU3RkTGliRXh0cmFzLmgKaW5kZXggYzliNTc0Mi4uOGY1MGQ1NyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9TdGRMaWJFeHRyYXMuaApAQCAtNDgsNiArNDgsMTAgQEAKIC8vIE5VTEwgY2FuIGNhdXNlIGNv
bXBpbGVyIHByb2JsZW1zLCBlc3BlY2lhbGx5IGluIGNhc2VzIG9mIG11bHRpcGxlIGluaGVyaXRh
bmNlLgogI2RlZmluZSBPQkpFQ1RfT0ZGU0VUT0YoY2xhc3MsIGZpZWxkKSAocmVpbnRlcnByZXRf
Y2FzdDxwdHJkaWZmX3Q+KCYocmVpbnRlcnByZXRfY2FzdDxjbGFzcyo+KDB4NDAwMCktPmZpZWxk
KSkgLSAweDQwMDApCiAKKy8vIFNUUklOR0laRTogQ2FuIGNvbnZlcnQgYW55IHZhbHVlIHRvIHF1
b3RlZCBzdHJpbmcsIGV2ZW4gZXhwYW5kYWJsZSBtYWNyb3MKKyNkZWZpbmUgU1RSSU5HSVpFX0hF
TFBFUihleHApICNleHAKKyNkZWZpbmUgU1RSSU5HSVpFKGV4cCkgU1RSSU5HSVpFX0hFTFBFUihl
eHApCisKIG5hbWVzcGFjZSBXVEYgewogCiAgICAgLyoKLS0gCjEuNi4wLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42737</attachid>
            <date>2009-11-09 00:11:37 -0800</date>
            <delta_ts>2009-11-13 16:49:49 -0800</delta_ts>
            <desc>Never ending story</desc>
            <filename>0001-JSVALUE32_64-support.patch</filename>
            <type>text/plain</type>
            <size>16848</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSBjODYzNWVmNGM2NDNkOGE2NWM0NjU4ODNmZDhlYWI5MWUxY2U5NGYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBNb24sIDkgTm92IDIwMDkgMDk6MDU6NDIgKzAxMDAKU3ViamVjdDogW1BBVENI
XSBKU1ZBTFVFMzJfNjQgc3VwcG9ydAoKU2lnbmVkLW9mZi1ieTogWm9sdGFuIEhlcmN6ZWcgPHpo
ZXJjemVnQGluZi51LXN6ZWdlZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICB8ICAgMzUgKysrKysrKysrKwogSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0FSTUFzc2VtYmxlci5oICAgICAgfCAgICA2ICsrCiBKYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaCB8ICAgOTAgKysrKysrKysrKysrKysrKysrKysrKysrLS0K
IEphdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwICAgICAgICAgICAgICAgICAgIHwgICAgMSAtCiBK
YXZhU2NyaXB0Q29yZS9qaXQvSklULmggICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwICAgICAgICAgICAgfCAgIDYzICsrKysrKysr
KysrKysrKysrKy0KIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAgICAgICAgICAgICAg
IHwgICA0NyArKysrKysrKysrKysrLQogSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5o
ICAgICAgICAgICAgfCAgICA0ICsKIDggZmlsZXMgY2hhbmdlZCwgMjM4IGluc2VydGlvbnMoKyks
IDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBi
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAwM2ZjMWVmLi44Y2Y2Nzg1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMDktMTEtMDkgIFpvbHRhbiBIZXJjemVnICA8emhlcmN6
ZWdAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTA1
MAorCisgICAgICAgIEFkZGluZyBKU1ZBTFVFMzJfNjQgc3VwcG9ydCBmb3IgQVJNIChidXQgbm90
IHR1cm5pbmcgaXQKKyAgICAgICAgb24gYnkgZGVmYXVsdCkuIEFsbCBvcHRpbWl6YXRpb25zIG11
c3QgYmUgZGlzYWJsZWQsIHNpbmNlCisgICAgICAgIHRoaXMgcGF0Y2ggaXMgb25seSB0aGUgZmly
c3Qgb2YgYSBzZXJpZXMgb2YgcGF0Y2hlcy4KKworICAgICAgICBEdXJpbmcgdGhlIHdvcmssIGEg
bG90IG9mIHg4NiBzcGVjaWZpYyBjb2RlIHJldmVhbGVkIGFuZAorICAgICAgICBtYWRlIHBsYXRm
b3JtIGluZGVwZW5kZW50LgorICAgICAgICBTZWUgcmV2aXNpb25zOiA1MDUzMSA1MDU0MSA1MDU5
MyA1MDU5NCA1MDU5NQorCisgICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAg
ICAgICAoSlNDOjpBUk1Bc3NlbWJsZXI6Oik6CisgICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6
ZmRpdmRfcik6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmg6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpsc2hpZnQzMik6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyQVJNOjpuZWczMik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJN
Ojpyc2hpZnQzMik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpicmFuY2hPcjMy
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OnNldDgpOgorICAgICAgICAoSlND
OjpNYWNyb0Fzc2VtYmxlckFSTTo6c2V0VGVzdDgpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2Vt
YmxlckFSTTo6bG9hZERvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpk
aXZEb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6Y29udmVydEludDMy
VG9Eb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6emVyb0RvdWJsZSk6
CisgICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAq
IGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUNU
SU1hY2hpbmVUcmFtcG9saW5lcyk6CisgICAgICAgICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAg
ICAgKiB3dGYvU3RkTGliRXh0cmFzLmg6CisKIDIwMDktMTEtMDggIERhdmlkIExldmluICA8bGV2
aW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoc3BlY3VsYXRp
dmUgc25vdyBsZW9wYXJkIGFuZCB3aW5kb3dzIGJ1aWxkIGZpeGVzKS4KZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9BUk1Bc3NlbWJsZXIuaAppbmRleCA2YTg2NzM0Li41MDBkNzQzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oCkBAIC0xMjEsNiArMTIxLDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgICAgICBNVUwgPSAweDAwMDAwMDkwLAogICAgICAgICAgICAgTVVM
TCA9IDB4MDBjMDAwOTAsCiAgICAgICAgICAgICBGQURERCA9IDB4MGUzMDBiMDAsCisgICAgICAg
ICAgICBGRElWRCA9IDB4MGU4MDBiMDAsCiAgICAgICAgICAgICBGU1VCRCA9IDB4MGUzMDBiNDAs
CiAgICAgICAgICAgICBGTVVMRCA9IDB4MGUyMDBiMDAsCiAgICAgICAgICAgICBGQ01QRCA9IDB4
MGViNDBiNDAsCkBAIC00MDAsNiArNDAxLDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAg
ICAgZW1pdEluc3Qoc3RhdGljX2Nhc3Q8QVJNV29yZD4oY2MpIHwgRkFEREQsIGRkLCBkbiwgZG0p
OwogICAgICAgICB9CiAKKyAgICAgICAgdm9pZCBmZGl2ZF9yKGludCBkZCwgaW50IGRuLCBpbnQg
ZG0sIENvbmRpdGlvbiBjYyA9IEFMKQorICAgICAgICB7CisgICAgICAgICAgICBlbWl0SW5zdChz
dGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBGRElWRCwgZGQsIGRuLCBkbSk7CisgICAgICAgIH0K
KwogICAgICAgICB2b2lkIGZzdWJkX3IoaW50IGRkLCBpbnQgZG4sIGludCBkbSwgQ29uZGl0aW9u
IGNjID0gQUwpCiAgICAgICAgIHsKICAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFS
TVdvcmQ+KGNjKSB8IEZTVUJELCBkZCwgZG4sIGRtKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKaW5kZXggNGQxM2IwZi4uZWQxNmRiNSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKQEAgLTEyMCw5ICsxMjAs
OSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGxzaGlmdDMyKFJlZ2lzdGVySUQgc2hpZnRfYW1vdW50
LCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBUk1Xb3JkIHcgPSBtX2Fzc2VtYmxl
ci5nZXRJbW0oMHgxZiwgQVJNUmVnaXN0ZXJzOjpTMCwgdHJ1ZSk7Ci0gICAgICAgIEFTU0VSVCgh
KHcgJiBBUk1Bc3NlbWJsZXI6Ok9QMl9JTlZfSU1NKSk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmFu
ZHNfcihBUk1SZWdpc3RlcnM6OlMwLCBzaGlmdF9hbW91bnQsIHcpOworICAgICAgICBBUk1Xb3Jk
IHcgPSBBUk1Bc3NlbWJsZXI6OmdldE9wMigweDFmKTsKKyAgICAgICAgQVNTRVJUKHcgIT0gQVJN
QXNzZW1ibGVyOjpJTlZBTElEX0lNTSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFuZF9yKEFSTVJl
Z2lzdGVyczo6UzAsIHNoaWZ0X2Ftb3VudCwgdyk7CiAKICAgICAgICAgbV9hc3NlbWJsZXIubW92
c19yKGRlc3QsIG1fYXNzZW1ibGVyLmxzbF9yKGRlc3QsIEFSTVJlZ2lzdGVyczo6UzApKTsKICAg
ICB9CkBAIC0xNDcsNiArMTQ3LDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJsZXIubXVs
c19yKGRlc3QsIHNyYywgQVJNUmVnaXN0ZXJzOjpTMCk7CiAgICAgfQogCisgICAgdm9pZCBuZWcz
MihSZWdpc3RlcklEIHNyY0Rlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5yc2JzX3Io
c3JjRGVzdCwgc3JjRGVzdCwgQVJNQXNzZW1ibGVyOjpnZXRPcDIoMCkpOworICAgIH0KKwogICAg
IHZvaWQgbm90MzIoUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIu
bXZuc19yKGRlc3QsIGRlc3QpOwpAQCAtMTY0LDkgKzE2OSw5IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgcnNoaWZ0MzIoUmVnaXN0ZXJJRCBzaGlmdF9hbW91bnQsIFJlZ2lzdGVySUQgZGVzdCkKICAg
ICB7Ci0gICAgICAgIEFSTVdvcmQgdyA9IG1fYXNzZW1ibGVyLmdldEltbSgweDFmLCBBUk1SZWdp
c3RlcnM6OlMwLCB0cnVlKTsKLSAgICAgICAgQVNTRVJUKCEodyAmIEFSTUFzc2VtYmxlcjo6T1Ay
X0lOVl9JTU0pKTsKLSAgICAgICAgbV9hc3NlbWJsZXIuYW5kc19yKEFSTVJlZ2lzdGVyczo6UzAs
IHNoaWZ0X2Ftb3VudCwgdyk7CisgICAgICAgIEFSTVdvcmQgdyA9IEFSTUFzc2VtYmxlcjo6Z2V0
T3AyKDB4MWYpOworICAgICAgICBBU1NFUlQodyAhPSBBUk1Bc3NlbWJsZXI6OklOVkFMSURfSU1N
KTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYW5kX3IoQVJNUmVnaXN0ZXJzOjpTMCwgc2hpZnRfYW1v
dW50LCB3KTsKIAogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZzX3IoZGVzdCwgbV9hc3NlbWJsZXIu
YXNyX3IoZGVzdCwgQVJNUmVnaXN0ZXJzOjpTMCkpOwogICAgIH0KQEAgLTUyNSw2ICs1MzAsMTMg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5qbXAoQVJNQ29uZGl0
aW9uKGNvbmQpKSk7CiAgICAgfQogCisgICAgSnVtcCBicmFuY2hPcjMyKENvbmRpdGlvbiBjb25k
LCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgQVNTRVJU
KChjb25kID09IFNpZ25lZCkgfHwgKGNvbmQgPT0gWmVybykgfHwgKGNvbmQgPT0gTm9uWmVybykp
OworICAgICAgICBvcjMyKHNyYywgZGVzdCk7CisgICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1i
bGVyLmptcChBUk1Db25kaXRpb24oY29uZCkpKTsKKyAgICB9CisKICAgICB2b2lkIGJyZWFrcG9p
bnQoKQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIuYmtwdCgwKTsKQEAgLTU2OCw2ICs1ODAs
MjUgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZfcihkZXN0LCBBUk1Bc3NlbWJs
ZXI6OmdldE9wMigxKSwgQVJNQ29uZGl0aW9uKGNvbmQpKTsKICAgICB9CiAKKyAgICB2b2lkIHNl
dDgoQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgbGVmdCwgUmVnaXN0ZXJJRCByaWdodCwgUmVn
aXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgLy8gQVJNIGRvZXNuJ3QgaGF2ZSBieXRlIHJl
Z2lzdGVycworICAgICAgICBzZXQzMihjb25kLCBsZWZ0LCByaWdodCwgZGVzdCk7CisgICAgfQor
CisgICAgdm9pZCBzZXQ4KENvbmRpdGlvbiBjb25kLCBBZGRyZXNzIGxlZnQsIFJlZ2lzdGVySUQg
cmlnaHQsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIC8vIEFSTSBkb2Vzbid0IGhh
dmUgYnl0ZSByZWdpc3RlcnMKKyAgICAgICAgbG9hZDMyKGxlZnQsIEFSTVJlZ2lzdGVyczo6UzEp
OworICAgICAgICBzZXQzMihjb25kLCBBUk1SZWdpc3RlcnM6OlMxLCByaWdodCwgZGVzdCk7Cisg
ICAgfQorCisgICAgdm9pZCBzZXQ4KENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxlZnQsIElt
bTMyIHJpZ2h0LCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICAvLyBBUk0gZG9lc24n
dCBoYXZlIGJ5dGUgcmVnaXN0ZXJzCisgICAgICAgIHNldDMyKGNvbmQsIGxlZnQsIHJpZ2h0LCBk
ZXN0KTsKKyAgICB9CisKICAgICB2b2lkIHNldFRlc3QzMihDb25kaXRpb24gY29uZCwgQWRkcmVz
cyBhZGRyZXNzLCBJbW0zMiBtYXNrLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBs
b2FkMzIoYWRkcmVzcywgQVJNUmVnaXN0ZXJzOjpTMSk7CkBAIC01NzksNiArNjEwLDEyIEBAIHB1
YmxpYzoKICAgICAgICAgbV9hc3NlbWJsZXIubW92X3IoZGVzdCwgQVJNQXNzZW1ibGVyOjpnZXRP
cDIoMSksIEFSTUNvbmRpdGlvbihjb25kKSk7CiAgICAgfQogCisgICAgdm9pZCBzZXRUZXN0OChD
b25kaXRpb24gY29uZCwgQWRkcmVzcyBhZGRyZXNzLCBJbW0zMiBtYXNrLCBSZWdpc3RlcklEIGRl
c3QpCisgICAgeworICAgICAgICAvLyBBUk0gZG9lc24ndCBoYXZlIGJ5dGUgcmVnaXN0ZXJzCisg
ICAgICAgIHNldFRlc3QzMihjb25kLCBhZGRyZXNzLCBtYXNrLCBkZXN0KTsKKyAgICB9CisKICAg
ICB2b2lkIGFkZDMyKEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
ICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmFkZF9yKGRlc3QsIHNyYywgbV9hc3NlbWJsZXIu
Z2V0SW1tKGltbS5tX3ZhbHVlLCBBUk1SZWdpc3RlcnM6OlMwKSk7CkBAIC02ODYsNiArNzIzLDEy
IEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJsZXIuZG91YmxlVHJhbnNmZXIodHJ1ZSwgZGVz
dCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNzLm9mZnNldCk7CiAgICAgfQogCisgICAgdm9pZCBsb2Fk
RG91YmxlKHZvaWQqIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAg
bV9hc3NlbWJsZXIubGRyX3VuX2ltbShBUk1SZWdpc3RlcnM6OlMwLCAoQVJNV29yZClhZGRyZXNz
KTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZmR0cl91KHRydWUsIGRlc3QsIEFSTVJlZ2lzdGVyczo6
UzAsIDApOworICAgIH0KKwogICAgIHZvaWQgc3RvcmVEb3VibGUoRlBSZWdpc3RlcklEIHNyYywg
SW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5kb3Vi
bGVUcmFuc2ZlcihmYWxzZSwgc3JjLCBhZGRyZXNzLmJhc2UsIGFkZHJlc3Mub2Zmc2V0KTsKQEAg
LTcwMiw2ICs3NDUsMTggQEAgcHVibGljOgogICAgICAgICBhZGREb3VibGUoQVJNUmVnaXN0ZXJz
OjpTRDAsIGRlc3QpOwogICAgIH0KIAorICAgIHZvaWQgZGl2RG91YmxlKEZQUmVnaXN0ZXJJRCBz
cmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIuZmRpdmRf
cihkZXN0LCBkZXN0LCBzcmMpOworICAgIH0KKworICAgIHZvaWQgZGl2RG91YmxlKEFkZHJlc3Mg
c3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOyAvLyBVbnRlc3RlZAorICAgICAgICBsb2FkRG91YmxlKHNyYywgQVJNUmVnaXN0ZXJzOjpT
RDApOworICAgICAgICBkaXZEb3VibGUoQVJNUmVnaXN0ZXJzOjpTRDAsIGRlc3QpOworICAgIH0K
KwogICAgIHZvaWQgc3ViRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0
KQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIuZnN1YmRfcihkZXN0LCBkZXN0LCBzcmMpOwpA
QCAtNzMwLDYgKzc4NSwyMyBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmZzaXRvZF9y
KGRlc3QsIGRlc3QpOwogICAgIH0KIAorICAgIHZvaWQgY29udmVydEludDMyVG9Eb3VibGUoQWRk
cmVzcyBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7IC8vIFVudGVzdGVkCisgICAgICAgIC8vIGZsZHMgZG9lcyBub3Qgd29ydGggdGhl
IGVmZm9ydCBoZXJlCisgICAgICAgIGxvYWQzMihzcmMsIEFSTVJlZ2lzdGVyczo6UzEpOworICAg
ICAgICBjb252ZXJ0SW50MzJUb0RvdWJsZShBUk1SZWdpc3RlcnM6OlMxLCBkZXN0KTsKKyAgICB9
CisKKyAgICB2b2lkIGNvbnZlcnRJbnQzMlRvRG91YmxlKEFic29sdXRlQWRkcmVzcyBzcmMsIEZQ
UmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8v
IFVudGVzdGVkCisgICAgICAgIC8vIGZsZHMgZG9lcyBub3Qgd29ydGggdGhlIGVmZm9ydCBoZXJl
CisgICAgICAgIG1fYXNzZW1ibGVyLmxkcl91bl9pbW0oQVJNUmVnaXN0ZXJzOjpTMSwgKEFSTVdv
cmQpc3JjLm1fcHRyKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZHRyX3UodHJ1ZSwgQVJNUmVnaXN0
ZXJzOjpTMSwgQVJNUmVnaXN0ZXJzOjpTMSwgMCk7CisgICAgICAgIGNvbnZlcnRJbnQzMlRvRG91
YmxlKEFSTVJlZ2lzdGVyczo6UzEsIGRlc3QpOworICAgIH0KKwogICAgIEp1bXAgYnJhbmNoRG91
YmxlKERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklE
IHJpZ2h0KQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIuZmNtcGRfcihsZWZ0LCByaWdodCk7
CkBAIC03NjgsNiArODQwLDEyIEBAIHB1YmxpYzoKICAgICAgICAgZmFpbHVyZUNhc2VzLmFwcGVu
ZChicmFuY2hUZXN0MzIoWmVybywgZGVzdCkpOwogICAgIH0KIAorICAgIHZvaWQgemVyb0RvdWJs
ZShGUFJlZ2lzdGVySUQgc3JjRGVzdCkKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLm1vdl9y
KEFSTVJlZ2lzdGVyczo6UzAsIEFSTUFzc2VtYmxlcjo6Z2V0T3AyKDApKTsKKyAgICAgICAgY29u
dmVydEludDMyVG9Eb3VibGUoQVJNUmVnaXN0ZXJzOjpTMCwgc3JjRGVzdCk7CisgICAgfQorCiBw
cm90ZWN0ZWQ6CiAgICAgQVJNQXNzZW1ibGVyOjpDb25kaXRpb24gQVJNQ29uZGl0aW9uKENvbmRp
dGlvbiBjb25kKQogICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggMDAwZTRiOC4uYzBkMTI1OCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5jcHAKQEAgLTM3LDcgKzM3LDYgQEAgSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6U1NFMkNoZWNrU3RhdGUgSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c19zc2UKICNp
bmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUg
IkpJVElubGluZU1ldGhvZHMuaCIKLSNpbmNsdWRlICJKSVRTdHVicy5oIgogI2luY2x1ZGUgIkpJ
VFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24u
aCIKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaAppbmRleCBlMTllYTE3Li5lYTY0NjA1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC00NjUsNiAr
NDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hP
ZmZzZXRNZXRob2RDaGVja1Byb3RvT2JqID0gMTE7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQg
cGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvU3RydWN0ID0gMTg7CiAgICAgICAgIHN0YXRpYyBj
b25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1B1dEZ1bmN0aW9uID0gMjk7CisjZWxpZiBQ
TEFURk9STShBUk1fVFJBRElUSU9OQUwpCisvLyBwYXRjaE9mZnNldC4uLiB2YWx1ZXMgc2hvdWxk
IGdvIGhlcmU7IEpJVCBvcHRpbWl6YXRpb25zIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIG9uIEFS
TSB3aXRoIEpTVkFMVUUzMl82NC4KICNlbHNlCiAjZXJyb3IgIkpTVkFMVUUzMl82NCBub3Qgc3Vw
cG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uIgogI2VuZGlmCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5j
cHAKaW5kZXggZDQwM2UzNS4uODdlODQ1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApA
QCAtMTM4LDcgKzEzOCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFt
cG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgbG9hZFB0cihB
ZGRyZXNzKHJlZ1QyLCBPQkpFQ1RfT0ZGU0VUT0YoRnVuY3Rpb25FeGVjdXRhYmxlLCBtX2ppdENv
ZGUpKSwgcmVnVDApOwogICAgIGp1bXAocmVnVDApOwogCi0jaWYgUExBVEZPUk0oWDg2KQorI2lm
IFBMQVRGT1JNKFg4NikgfHwgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogICAgIExhYmVsIG5h
dGl2ZUNhbGxUaHVuayA9IGFsaWduKCk7CiAgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJD
YWxsKHJlZ1QwKTsKICAgICBlbWl0UHV0VG9DYWxsRnJhbWVIZWFkZXIocmVnVDAsIFJlZ2lzdGVy
RmlsZTo6UmV0dXJuUEMpOyAvLyBQdXNoIHJldHVybiBhZGRyZXNzCkBAIC0xNDksNiArMTQ5LDcg
QEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKFJlZlB0cjxF
eGVjdXRhYmxlUG9vbD4qIGV4ZWN1dGFibGUKICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRl
clB0cihSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4sIHJlZ1QxLCByZWdUMSk7CiAgICAgZW1pdFB1
dFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4pOwogICAg
IAorI2lmIFBMQVRGT1JNKFg4NikKICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlcjMyKFJl
Z2lzdGVyRmlsZTo6QXJndW1lbnRDb3VudCwgcmVnVDApOwogCiAgICAgLyogV2UgaGF2ZSB0d28g
c3RydWN0cyB0aGF0IHdlIHVzZSB0byBkZXNjcmliZSB0aGUgc3RhY2tmcmFtZSB3ZSBzZXQgdXAg
Zm9yIG91cgpAQCAtMjQ4LDYgKzI0OSw2NiBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElN
YWNoaW5lVHJhbXBvbGluZXMoUmVmUHRyPEV4ZWN1dGFibGVQb29sPiogZXhlY3V0YWJsZQogICAg
IC8vIHNvIHB1bGwgdGhlbSBvZmYgbm93CiAgICAgYWRkUHRyKEltbTMyKE5hdGl2ZUNhbGxGcmFt
ZVNpemUgLSBzaXplb2YoTmF0aXZlRnVuY3Rpb25DYWxsZWVTaWduYXR1cmUpKSwgc3RhY2tQb2lu
dGVyUmVnaXN0ZXIpOwogCisjZWxpZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCisgICAgZW1p
dEdldEZyb21DYWxsRnJhbWVIZWFkZXIzMihSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQsIHJl
Z1QwKTsKKworICAgIC8vIEFsbG9jYXRlIHN0YWNrIHNwYWNlIGZvciBvdXIgYXJnbGlzdAorICAg
IENPTVBJTEVfQVNTRVJUKChzaXplb2YoQXJnTGlzdCkgJiAweDcpID09IDAgJiYgc2l6ZW9mKEpT
VmFsdWUpID09IDggJiYgc2l6ZW9mKFJlZ2lzdGVyKSA9PSA4LCBBcmdMaXN0X3Nob3VsZF9ieV84
Ynl0ZV9hbGlnbmVkKTsKKyAgICBzdWJQdHIoSW1tMzIoc2l6ZW9mKEFyZ0xpc3QpKSwgc3RhY2tQ
b2ludGVyUmVnaXN0ZXIpOworCisgICAgLy8gU2V0IHVwIGFyZ3VtZW50cworICAgIHN1YlB0cihJ
bW0zMigxKSwgcmVnVDApOyAvLyBEb24ndCBpbmNsdWRlICd0aGlzJyBpbiBhcmdjb3VudAorCisg
ICAgLy8gUHVzaCBhcmdjb3VudAorICAgIHN0b3JlUHRyKHJlZ1QwLCBBZGRyZXNzKHN0YWNrUG9p
bnRlclJlZ2lzdGVyLCBPQkpFQ1RfT0ZGU0VUT0YoQXJnTGlzdCwgbV9hcmdDb3VudCkpKTsKKwor
ICAgIC8vIENhbGN1bGF0ZSB0aGUgc3RhcnQgb2YgdGhlIGNhbGxmcmFtZSBoZWFkZXIsIGFuZCBz
dG9yZSBpbiByZWdUMQorICAgIG1vdmUoY2FsbEZyYW1lUmVnaXN0ZXIsIHJlZ1QxKTsKKyAgICBz
dWIzMihJbW0zMihSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlclNpemUgKiAoaW50MzJfdClz
aXplb2YoUmVnaXN0ZXIpKSwgcmVnVDEpOworCisgICAgLy8gQ2FsY3VsYXRlIHN0YXJ0IG9mIGFy
Z3VtZW50cyBhcyBjYWxsZnJhbWUgaGVhZGVyIC0gc2l6ZW9mKFJlZ2lzdGVyKSAqIGFyZ2NvdW50
IChyZWdUMSkKKyAgICBtdWwzMihJbW0zMihzaXplb2YoUmVnaXN0ZXIpKSwgcmVnVDAsIHJlZ1Qw
KTsKKyAgICBzdWJQdHIocmVnVDAsIHJlZ1QxKTsKKworICAgIC8vIHB1c2ggcG9pbnRlciB0byBh
cmd1bWVudHMKKyAgICBzdG9yZVB0cihyZWdUMSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3Rl
ciwgT0JKRUNUX09GRlNFVE9GKEFyZ0xpc3QsIG1fYXJncykpKTsKKworICAgIC8vIEFyZ3VtZW50
IHBhc3NpbmcgbWV0aG9kOgorICAgIC8vIHIwIC0gcG9pbnRzIHRvIHJldHVybiB2YWx1ZQorICAg
IC8vIHIxIC0gY2FsbEZyYW1lCisgICAgLy8gcjIgLSBjYWxsZWUKKyAgICAvLyBzdGFjazogdGhp
cyhKU1ZhbHVlKSBhbmQgYSBwb2ludGVyIHRvIEFyZ0xpc3QKKworICAgIG1vdmUoc3RhY2tQb2lu
dGVyUmVnaXN0ZXIsIHJlZ1QzKTsKKyAgICBzdWJQdHIoSW1tMzIoOCksIHN0YWNrUG9pbnRlclJl
Z2lzdGVyKTsKKyAgICBtb3ZlKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCByZWdUMCk7CisgICAgc3Vi
UHRyKEltbTMyKDggKyA0ICsgNCAvKiBwYWRkaW5nICovKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIp
OworCisgICAgLy8gU2V0dXAgYXJnNDoKKyAgICBzdG9yZVB0cihyZWdUMywgQWRkcmVzcyhzdGFj
a1BvaW50ZXJSZWdpc3RlciwgOCkpOworCisgICAgLy8gU2V0dXAgYXJnMworICAgIC8vIHJlZ1Qx
IGN1cnJlbnRseSBwb2ludHMgdG8gdGhlIGZpcnN0IGFyZ3VtZW50LCByZWdUMS1zaXplb2YoUmVn
aXN0ZXIpIHBvaW50cyB0byAndGhpcycKKyAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMSwgLShpbnQz
Ml90KXNpemVvZih2b2lkKikgKiAyKSwgcmVnVDMpOworICAgIHN0b3JlUHRyKHJlZ1QzLCBBZGRy
ZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCAwKSk7CisgICAgbG9hZDMyKEFkZHJlc3MocmVnVDEs
IC0oaW50MzJfdClzaXplb2Yodm9pZCopKSwgcmVnVDMpOworICAgIHN0b3JlUHRyKHJlZ1QzLCBB
ZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCA0KSk7CisKKyAgICAvLyBTZXR1cCBhcmcyOgor
ICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6Q2FsbGVlLCBy
ZWdUMik7CisKKyAgICAvLyBTZXR1cCBhcmcxOgorICAgIG1vdmUoY2FsbEZyYW1lUmVnaXN0ZXIs
IHJlZ1QxKTsKKworICAgIGNhbGwoQWRkcmVzcyhyZWdUMiwgT0JKRUNUX09GRlNFVE9GKEpTRnVu
Y3Rpb24sIG1fZGF0YSkpKTsKKworICAgIC8vIExvYWQgcmV0dXJuIHZhbHVlCisgICAgbG9hZDMy
KEFkZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIDE2KSwgcmVnVDApOworICAgIGxvYWQzMihB
ZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCAyMCksIHJlZ1QxKTsKKworICAgIGFkZFB0cihJ
bW0zMihzaXplb2YoQXJnTGlzdCkgKyAxNiArIDgpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7Cisj
ZW5kaWYKKwogICAgIC8vIENoZWNrIGZvciBhbiBleGNlcHRpb24KICAgICBtb3ZlKEltbVB0cigm
Z2xvYmFsRGF0YS0+ZXhjZXB0aW9uKSwgcmVnVDIpOwogICAgIEp1bXAgc2F3RXhjZXB0aW9uID0g
YnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcigwLCByZWdUMiksIEltbTMyKEpTVmFsdWU6OkVtcHR5
VmFsdWVUYWcpKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCmluZGV4IDdhY2QwNGMuLjRjODNkMTQg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKKysrIGIvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcApAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgIlJl
Z0V4cFByb3RvdHlwZS5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiU2FtcGxp
bmdUb29sLmgiCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHN0ZGFy
Zy5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAKQEAgLTI2OSw2ICsyNzAsNDAgQEAgU1lNQk9MX1NU
UklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIlxuIgogICAgICJieCBsciIgIlxuIgogKTsK
IAorI2VsaWYgQ09NUElMRVIoR0NDKSAmJiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCisKK2Fz
bSB2b2xhdGlsZSAoCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4i
CitTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCisgICAgInN0bWRiIHNwISwg
e3IxLXIzfSIgIlxuIgorICAgICJzdG1kYiBzcCEsIHtyNC1yOCwgbHJ9IiAiXG4iCisgICAgInN1
YiBzcCwgc3AsICM2OCIgIlxuIgorICAgICJtb3YgcjQsIHIyIiAiXG4iCisgICAgIm1vdiByNSwg
IzUxMiIgIlxuIgorICAgIC8vIHIwIGNvbnRhaW5zIHRoZSBjb2RlCisgICAgIm1vdiBsciwgcGMi
ICJcbiIKKyAgICAibW92IHBjLCByMCIgIlxuIgorICAgICJhZGQgc3AsIHNwLCAjNjgiICJcbiIK
KyAgICAibGRtaWEgc3AhLCB7cjQtcjgsIGxyfSIgIlxuIgorICAgICJhZGQgc3AsIHNwLCAjMTIi
ICJcbiIKKyAgICAibW92IHBjLCBsciIgIlxuIgorKTsKKworYXNtIHZvbGF0aWxlICgKKyIuZ2xv
YmwgIiBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiXG4iCitTWU1CT0xfU1RS
SU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgorICAgICJtb3YgcjAsIHNwIiAiXG4i
CisgICAgImJsICIgU1lNQk9MX1NUUklORyhjdGlfdm1fdGhyb3cpICJcbiIKKworLy8gQm90aCBo
YXMgdGhlIHNhbWUgcmV0dXJuIHNlcXVlbmNlCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlP
cFRocm93Tm90Q2F1Z2h0KSAiXG4iCitTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQp
ICI6IiAiXG4iCisgICAgImFkZCBzcCwgc3AsICM2OCIgIlxuIgorICAgICJsZG1pYSBzcCEsIHty
NC1yOCwgbHJ9IiAiXG4iCisgICAgImFkZCBzcCwgc3AsICMxMiIgIlxuIgorICAgICJtb3YgcGMs
IGxyIiAiXG4iCispOworCiAjZWxpZiBDT01QSUxFUihNU1ZDKQogCiAjaWYgVVNFKEpJVF9TVFVC
X0FSR1VNRU5UX1ZBX0xJU1QpCkBAIC05MDUsNiArOTQwLDE0IEBAIHN0YXRpYyBORVZFUl9JTkxJ
TkUgdm9pZCB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNH
bG9iYWxECiAKICNlbGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0ND
KQogCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyNkZWZpbmUgVEhVTktfUkVUVVJOX0FERFJFU1Nf
T0ZGU0VUIDY0CisjZWxzZQorI2RlZmluZSBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQgMzIK
KyNlbmRpZgorCitDT01QSUxFX0FTU0VSVChvZmZzZXRvZihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwg
dGh1bmtSZXR1cm5BZGRyZXNzKSA9PSBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQsIEpJVFN0
YWNrRnJhbWVfdGh1bmtSZXR1cm5BZGRyZXNzX29mZnNldF9taXNtYXRjaCk7CisKICNkZWZpbmUg
REVGSU5FX1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBcCiAgICAgZXh0ZXJuICJDIiB7IFwKICAg
ICAgICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pOyBc
CkBAIC05MTIsOSArOTU1LDkgQEAgc3RhdGljIE5FVkVSX0lOTElORSB2b2lkIHRocm93U3RhY2tP
dmVyZmxvd0Vycm9yKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbEQKICAgICBhc20gdm9s
YXRpbGUgKCBcCiAgICAgICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAiXG4i
IFwKICAgICAgICAgU1lNQk9MX1NUUklORyhjdGlfIyNvcCkgIjoiICJcbiIgXAotICAgICAgICAi
c3RyIGxyLCBbc3AsICMzMl0iICJcbiIgXAorICAgICAgICAic3RyIGxyLCBbc3AsICMiIFNUUklO
R0laRV9WQUxVRV9PRihUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQpICJdIiAiXG4iIFwKICAg
ICAgICAgImJsICIgU1lNQk9MX1NUUklORyhKSVRTdHViVGh1bmtlZF8jI29wKSAiXG4iIFwKLSAg
ICAgICAgImxkciBsciwgW3NwLCAjMzJdIiAiXG4iIFwKKyAgICAgICAgImxkciBsciwgW3NwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSAiXSIgIlxu
IiBcCiAgICAgICAgICJtb3YgcGMsIGxyIiAiXG4iIFwKICAgICAgICAgKTsgXAogICAgIHJ0eXBl
IEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKQpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1N0
ZExpYkV4dHJhcy5oCmluZGV4IGM5YjU3NDIuLmRkOTBjODUgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGli
RXh0cmFzLmgKQEAgLTQ4LDYgKzQ4LDEwIEBACiAvLyBOVUxMIGNhbiBjYXVzZSBjb21waWxlciBw
cm9ibGVtcywgZXNwZWNpYWxseSBpbiBjYXNlcyBvZiBtdWx0aXBsZSBpbmhlcml0YW5jZS4KICNk
ZWZpbmUgT0JKRUNUX09GRlNFVE9GKGNsYXNzLCBmaWVsZCkgKHJlaW50ZXJwcmV0X2Nhc3Q8cHRy
ZGlmZl90PigmKHJlaW50ZXJwcmV0X2Nhc3Q8Y2xhc3MqPigweDQwMDApLT5maWVsZCkpIC0gMHg0
MDAwKQogCisvLyBTVFJJTkdJWkU6IENhbiBjb252ZXJ0IGFueSB2YWx1ZSB0byBxdW90ZWQgc3Ry
aW5nLCBldmVuIGV4cGFuZGFibGUgbWFjcm9zCisjZGVmaW5lIFNUUklOR0laRShleHApICNleHAK
KyNkZWZpbmUgU1RSSU5HSVpFX1ZBTFVFX09GKGV4cCkgU1RSSU5HSVpFKGV4cCkKKwogbmFtZXNw
YWNlIFdURiB7CiAKICAgICAvKgotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42750</attachid>
            <date>2009-11-09 07:23:13 -0800</date>
            <delta_ts>2009-11-13 17:08:34 -0800</delta_ts>
            <desc>First patch for JSValue32_64 optimizations</desc>
            <filename>0001-JSValue32_64-optimizations.patch</filename>
            <type>text/plain</type>
            <size>9863</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSA4NWIwZTRlMDFkZWNlODZiOTVlYTY0Y2JlZDUzNGUzNjUwNzZlZWJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBNb24sIDkgTm92IDIwMDkgMTY6MjA6MDYgKzAxMDAKU3ViamVjdDogW1BBVENI
XSBKU1ZhbHVlMzJfNjQgb3B0aW1pemF0aW9ucwoKU2lnbmVkLW9mZi1ieTogWm9sdGFuIEhlcmN6
ZWcgPHpoZXJjemVnQGluZi51LXN6ZWdlZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgIHwgICAxOCArKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL2pp
dC9KSVQuaCAgICAgICAgICAgICAgICAgfCAgIDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysr
Ky0tCiBKYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAgICAgICAgICAgIHwgICAgNiArKysr
CiBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIHwgICAyMiArKysrKysr
KysrKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKaW5kZXggOGNmNjc4NS4uNmU2NjI3MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtNCw2ICs0
LDI0IEBACiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMxMDUwCiAKKyAgICAgICAgQWRkaW5nIG9wdGltaXphdGlvbiBzdXBwb3J0IGZvciBtb2RlIEpT
VkFMVUUzMl82NAorICAgICAgICBvbiBBUk0gc3lzdGVtcy4KKworICAgICAgICAqIGppdC9KSVQu
aDoKKyAgICAgICAgKiBqaXQvSklUQ2FsbC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6Y29tcGls
ZU9wQ2FsbCk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0X29wX21ldGhvZF9jaGVjayk6CisgICAgICAgIChKU0M6OkpJVDo6Y29t
cGlsZUdldEJ5SWRIb3RQYXRoKToKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlR2V0QnlJZFNs
b3dDYXNlKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3B1dF9ieV9pZCk6CisKKzIwMDkt
MTEtMDkgIFpvbHRhbiBIZXJjemVnICA8emhlcmN6ZWdAaW5mLnUtc3plZ2VkLmh1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTA1MAorCiAgICAgICAgIEFkZGluZyBKU1ZBTFVF
MzJfNjQgc3VwcG9ydCBmb3IgQVJNIChidXQgbm90IHR1cm5pbmcgaXQKICAgICAgICAgb24gYnkg
ZGVmYXVsdCkuIEFsbCBvcHRpbWl6YXRpb25zIG11c3QgYmUgZGlzYWJsZWQsIHNpbmNlCiAgICAg
ICAgIHRoaXMgcGF0Y2ggaXMgb25seSB0aGUgZmlyc3Qgb2YgYSBzZXJpZXMgb2YgcGF0Y2hlcy4K
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuaAppbmRleCBlYTY0NjA1Li5jNTlhMmZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC00NjYsNyArNDY2
LDQ2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zm
c2V0TWV0aG9kQ2hlY2tQcm90b1N0cnVjdCA9IDE4OwogICAgICAgICBzdGF0aWMgY29uc3QgaW50
IHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQdXRGdW5jdGlvbiA9IDI5OwogI2VsaWYgUExBVEZPUk0o
QVJNX1RSQURJVElPTkFMKQotLy8gcGF0Y2hPZmZzZXQuLi4gdmFsdWVzIHNob3VsZCBnbyBoZXJl
OyBKSVQgb3B0aW1pemF0aW9ucyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCBvbiBBUk0gd2l0aCBK
U1ZBTFVFMzJfNjQuCisgICAgICAgIC8vIFRoZXNlIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyB2YWx1
ZSBhcmUgdXNlZCB0byBlbmFibGUgcGF0Y2hpbmcgLSBzZWUgY29tbWVudCBvbiBvcF9wdXRfYnlf
aWQuCisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRQdXRCeUlkU3RydWN0dXJl
ID0gNDsKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldFB1dEJ5SWRFeHRlcm5h
bExvYWQgPSAxNjsKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaExlbmd0aFB1dEJ5SWRF
eHRlcm5hbExvYWQgPSA0OworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0UHV0
QnlJZFByb3BlcnR5TWFwT2Zmc2V0MSA9IDIwOworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBh
dGNoT2Zmc2V0UHV0QnlJZFByb3BlcnR5TWFwT2Zmc2V0MiA9IDI4OworICAgICAgICAvLyBUaGVz
ZSBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgdmFsdWUgYXJlIHVzZWQgdG8gZW5hYmxlIHBhdGNoaW5n
IC0gc2VlIGNvbW1lbnQgb24gb3BfZ2V0X2J5X2lkLgorICAgICAgICBzdGF0aWMgY29uc3QgaW50
IHBhdGNoT2Zmc2V0R2V0QnlJZFN0cnVjdHVyZSA9IDQ7CisgICAgICAgIHN0YXRpYyBjb25zdCBp
bnQgcGF0Y2hPZmZzZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSA9IDE2OworICAgICAgICBzdGF0
aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0R2V0QnlJZEV4dGVybmFsTG9hZCA9IDE2OworICAgICAg
ICBzdGF0aWMgY29uc3QgaW50IHBhdGNoTGVuZ3RoR2V0QnlJZEV4dGVybmFsTG9hZCA9IDQ7Cisg
ICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRHZXRCeUlkUHJvcGVydHlNYXBPZmZz
ZXQxID0gMjA7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRHZXRCeUlkUHJv
cGVydHlNYXBPZmZzZXQyID0gMjg7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZz
ZXRHZXRCeUlkUHV0UmVzdWx0ID0gMzY7CisjaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElORykKKyAg
ICAgICAgI2Vycm9yICJPUENPREVfU0FNUExJTkcgaXMgbm90IHlldCBzdXBwb3J0ZWQiCisjZWxz
ZQorICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0R2V0QnlJZFNsb3dDYXNlQ2Fs
bCA9IDMyOworI2VuZGlmCisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRPcENh
bGxDb21wYXJlVG9KdW1wID0gMTI7CisKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9m
ZnNldE1ldGhvZENoZWNrUHJvdG9PYmogPSAxMjsKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCBw
YXRjaE9mZnNldE1ldGhvZENoZWNrUHJvdG9TdHJ1Y3QgPSAyMDsKKyAgICAgICAgc3RhdGljIGNv
bnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHV0RnVuY3Rpb24gPSAzMjsKKworICAgICAg
ICAvLyBzZXF1ZW5jZU9wQ2FsbAorICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlT3BD
YWxsSW5zdHJ1Y3Rpb25TcGFjZSA9IDEyOworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVl
bmNlT3BDYWxsQ29uc3RhbnRTcGFjZSA9IDI7CisgICAgICAgIC8vIHNlcXVlbmNlTWV0aG9kQ2hl
Y2sKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCBzZXF1ZW5jZU1ldGhvZENoZWNrSW5zdHJ1Y3Rp
b25TcGFjZSA9IDQwOworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlTWV0aG9kQ2hl
Y2tDb25zdGFudFNwYWNlID0gNjsKKyAgICAgICAgLy8gc2VxdWVuY2VHZXRCeUlkSG90UGF0aAor
ICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlR2V0QnlJZEhvdFBhdGhJbnN0cnVjdGlv
blNwYWNlID0gMzY7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgc2VxdWVuY2VHZXRCeUlkSG90
UGF0aENvbnN0YW50U3BhY2UgPSA0OworICAgICAgICAvLyBzZXF1ZW5jZUdldEJ5SWRTbG93Q2Fz
ZQorICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlR2V0QnlJZFNsb3dDYXNlSW5zdHJ1
Y3Rpb25TcGFjZSA9IDQwOworICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlR2V0QnlJ
ZFNsb3dDYXNlQ29uc3RhbnRTcGFjZSA9IDI7CisgICAgICAgIC8vIHNlcXVlbmNlUHV0QnlJZAor
ICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlUHV0QnlJZEluc3RydWN0aW9uU3BhY2Ug
PSAzNjsKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCBzZXF1ZW5jZVB1dEJ5SWRDb25zdGFudFNw
YWNlID0gNDsKICNlbHNlCiAjZXJyb3IgIkpTVkFMVUUzMl82NCBub3Qgc3VwcG9ydGVkIG9uIHRo
aXMgcGxhdGZvcm0uIgogI2VuZGlmCkBAIC02MzEsMTAgKzY3MCw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQcm90b09i
aiA9IDEyOwogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQ
cm90b1N0cnVjdCA9IDIwOwogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0
aG9kQ2hlY2tQdXRGdW5jdGlvbiA9IDMyOwotI2VuZGlmCi0jZW5kaWYgLy8gVVNFKEpTVkFMVUUz
Ml82NCkKIAotI2lmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKICAgICAgICAgLy8gc2VxdWVu
Y2VPcENhbGwKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBzZXF1ZW5jZU9wQ2FsbEluc3RydWN0
aW9uU3BhY2UgPSAxMjsKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBzZXF1ZW5jZU9wQ2FsbENv
bnN0YW50U3BhY2UgPSAyOwpAQCAtNjUxLDYgKzY4Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlUHV0QnlJZEluc3RydWN0aW9uU3BhY2UgPSAy
ODsKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBzZXF1ZW5jZVB1dEJ5SWRDb25zdGFudFNwYWNl
ID0gMzsKICNlbmRpZgorI2VuZGlmIC8vIFVTRShKU1ZBTFVFMzJfNjQpCiAKICNpZiBkZWZpbmVk
KEFTU0VNQkxFUl9IQVNfQ09OU1RBTlRfUE9PTCkgJiYgQVNTRU1CTEVSX0hBU19DT05TVEFOVF9Q
T09MCiAjZGVmaW5lIEJFR0lOX1VOSU5URVJSVVBURURfU0VRVUVOQ0UobmFtZSkgYmVnaW5Vbmlu
dGVycnVwdGVkU2VxdWVuY2UobmFtZSAjIyBJbnN0cnVjdGlvblNwYWNlLCBuYW1lICMjIENvbnN0
YW50U3BhY2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAgYi9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKaW5kZXggZjdmY2MwYS4uMTc5YWFkNyAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCisrKyBiL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRDYWxsLmNwcApAQCAtMzE1LDcgKzMxNSwxMyBAQCB2b2lkIEpJVDo6Y29tcGls
ZU9wQ2FsbChPcGNvZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCB1bnNp
Z25lZCBjYQogICAgIGVtaXRMb2FkKGNhbGxlZSwgcmVnVDEsIHJlZ1QwKTsKIAogICAgIERhdGFM
YWJlbFB0ciBhZGRyZXNzT2ZMaW5rZWRGdW5jdGlvbkNoZWNrOworCisgICAgQkVHSU5fVU5JTlRF
UlJVUFRFRF9TRVFVRU5DRShzZXF1ZW5jZU9wQ2FsbCk7CisKICAgICBKdW1wIGp1bXBUb1Nsb3cg
PSBicmFuY2hQdHJXaXRoUGF0Y2goTm90RXF1YWwsIHJlZ1QwLCBhZGRyZXNzT2ZMaW5rZWRGdW5j
dGlvbkNoZWNrLCBJbW1QdHIoMCkpOworCisgICAgRU5EX1VOSU5URVJSVVBURURfU0VRVUVOQ0Uo
c2VxdWVuY2VPcENhbGwpOworCiAgICAgYWRkU2xvd0Nhc2UoanVtcFRvU2xvdyk7CiAgICAgQVNT
RVJUKGRpZmZlcmVuY2VCZXR3ZWVuKGFkZHJlc3NPZkxpbmtlZEZ1bmN0aW9uQ2hlY2ssIGp1bXBU
b1Nsb3cpID09IHBhdGNoT2Zmc2V0T3BDYWxsQ29tcGFyZVRvSnVtcCk7CiAgICAgbV9jYWxsU3Ry
dWN0dXJlU3R1YkNvbXBpbGF0aW9uSW5mb1tjYWxsTGlua0luZm9JbmRleF0uaG90UGF0aEJlZ2lu
ID0gYWRkcmVzc09mTGlua2VkRnVuY3Rpb25DaGVjazsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJv
cGVydHlBY2Nlc3MuY3BwCmluZGV4IGJmMzY3YTYuLmY2MDE1ZmUgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAtMjEyLDEyICsyMTIsMTcgQEAgdm9pZCBKSVQ6
OmVtaXRfb3BfbWV0aG9kX2NoZWNrKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAg
ICAgZW1pdExvYWQoYmFzZSwgcmVnVDEsIHJlZ1QwKTsKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZO
b3RKU0NlbGwoYmFzZSwgcmVnVDEpOwogCisgICAgQkVHSU5fVU5JTlRFUlJVUFRFRF9TRVFVRU5D
RShzZXF1ZW5jZU1ldGhvZENoZWNrKTsKKwogICAgIEp1bXAgc3RydWN0dXJlQ2hlY2sgPSBicmFu
Y2hQdHJXaXRoUGF0Y2goTm90RXF1YWwsIEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihK
U0NlbGwsIG1fc3RydWN0dXJlKSksIGluZm8uc3RydWN0dXJlVG9Db21wYXJlLCBJbW1QdHIocmVp
bnRlcnByZXRfY2FzdDx2b2lkKj4ocGF0Y2hHZXRCeUlkRGVmYXVsdFN0cnVjdHVyZSkpKTsKICAg
ICBEYXRhTGFiZWxQdHIgcHJvdG9TdHJ1Y3R1cmVUb0NvbXBhcmUsIHByb3RvT2JqID0gbW92ZVdp
dGhQYXRjaChJbW1QdHIoMCksIHJlZ1QyKTsKICAgICBKdW1wIHByb3RvU3RydWN0dXJlQ2hlY2sg
PSBicmFuY2hQdHJXaXRoUGF0Y2goTm90RXF1YWwsIEFkZHJlc3MocmVnVDIsIE9CSkVDVF9PRkZT
RVRPRihKU0NlbGwsIG1fc3RydWN0dXJlKSksIHByb3RvU3RydWN0dXJlVG9Db21wYXJlLCBJbW1Q
dHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocGF0Y2hHZXRCeUlkRGVmYXVsdFN0cnVjdHVyZSkp
KTsKIAogICAgIC8vIFRoaXMgd2lsbCBiZSByZWxpbmtlZCB0byBsb2FkIHRoZSBmdW5jdGlvbiB3
aXRob3V0IGRvaW5nIGEgbG9hZC4KICAgICBEYXRhTGFiZWxQdHIgcHV0RnVuY3Rpb24gPSBtb3Zl
V2l0aFBhdGNoKEltbVB0cigwKSwgcmVnVDApOworCisgICAgRU5EX1VOSU5URVJSVVBURURfU0VR
VUVOQ0Uoc2VxdWVuY2VNZXRob2RDaGVjayk7CisKICAgICBtb3ZlKEltbTMyKEpTVmFsdWU6OkNl
bGxUYWcpLCByZWdUMSk7CiAgICAgSnVtcCBtYXRjaCA9IGp1bXAoKTsKIApAQCAtMzc0LDYgKzM3
OSw5IEBAIHZvaWQgSklUOjpjb21waWxlR2V0QnlJZEhvdFBhdGgoKQogICAgIC8vIEFkZGl0aW9u
YWxseSwgZm9yIGdldF9ieV9pZCB3ZSBuZWVkIHBhdGNoIHRoZSBvZmZzZXQgb2YgdGhlIGJyYW5j
aCB0byB0aGUgc2xvdyBjYXNlICh3ZSBwYXRjaCB0aGlzIHRvIGp1bXAKICAgICAvLyB0byBhcnJh
eS1sZW5ndGggLyBwcm90b3R5cGUgYWNjZXNzIHRyYW5wb2xpbmVzLCBhbmQgZmluYWxseSB3ZSBh
bHNvIHRoZSB0aGUgcHJvcGVydHktbWFwIGFjY2VzcyBvZmZzZXQgYXMgYSBsYWJlbAogICAgIC8v
IHRvIGp1bXAgYmFjayB0byBpZiBvbmUgb2YgdGhlc2UgdHJhbXBvbGllcyBmaW5kcyBhIG1hdGNo
LgorCisgICAgQkVHSU5fVU5JTlRFUlJVUFRFRF9TRVFVRU5DRShzZXF1ZW5jZUdldEJ5SWRIb3RQ
YXRoKTsKKwogICAgIExhYmVsIGhvdFBhdGhCZWdpbih0aGlzKTsKICAgICBtX3Byb3BlcnR5QWNj
ZXNzQ29tcGlsYXRpb25JbmZvW21fcHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlvbkluZGV4XS5ob3RQ
YXRoQmVnaW4gPSBob3RQYXRoQmVnaW47CiAgICAgbV9wcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9u
SW5kZXgrKzsKQEAgLTM5Niw2ICs0MDQsOCBAQCB2b2lkIEpJVDo6Y29tcGlsZUdldEJ5SWRIb3RQ
YXRoKCkKIAogICAgIExhYmVsIHB1dFJlc3VsdCh0aGlzKTsKICAgICBBU1NFUlQoZGlmZmVyZW5j
ZUJldHdlZW4oaG90UGF0aEJlZ2luLCBwdXRSZXN1bHQpID09IHBhdGNoT2Zmc2V0R2V0QnlJZFB1
dFJlc3VsdCk7CisKKyAgICBFTkRfVU5JTlRFUlJVUFRFRF9TRVFVRU5DRShzZXF1ZW5jZUdldEJ5
SWRIb3RQYXRoKTsKIH0KIAogdm9pZCBKSVQ6OmVtaXRTbG93X29wX2dldF9ieV9pZChJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9y
JiBpdGVyKQpAQCAtNDE3LDEzICs0MjcsMTggQEAgdm9pZCBKSVQ6OmNvbXBpbGVHZXRCeUlkU2xv
d0Nhc2UoaW50IGRzdCwgaW50IGJhc2UsIElkZW50aWZpZXIqIGlkZW50LCBWZWN0b3I8U2wKICAg
ICBsaW5rU2xvd0Nhc2VJZk5vdEpTQ2VsbChpdGVyLCBiYXNlKTsKICAgICBsaW5rU2xvd0Nhc2Uo
aXRlcik7CiAKLSAgICBMYWJlbCBjb2xkUGF0aEJlZ2luKHRoaXMpOworICAgIEJFR0lOX1VOSU5U
RVJSVVBURURfU0VRVUVOQ0Uoc2VxdWVuY2VHZXRCeUlkU2xvd0Nhc2UpOwogCisjaWZuZGVmIE5E
RUJVRworICAgIExhYmVsIGNvbGRQYXRoQmVnaW4odGhpcyk7CisjZW5kaWYKICAgICBKSVRTdHVi
Q2FsbCBzdHViQ2FsbCh0aGlzLCBpc01ldGhvZENoZWNrID8gY3RpX29wX2dldF9ieV9pZF9tZXRo
b2RfY2hlY2sgOiBjdGlfb3BfZ2V0X2J5X2lkKTsKICAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChy
ZWdUMSwgcmVnVDApOwogICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KEltbVB0cihpZGVudCkpOwog
ICAgIENhbGwgY2FsbCA9IHN0dWJDYWxsLmNhbGwoZHN0KTsKIAorICAgIEVORF9VTklOVEVSUlVQ
VEVEX1NFUVVFTkNFKHNlcXVlbmNlR2V0QnlJZFNsb3dDYXNlKTsKKwogICAgIEFTU0VSVChkaWZm
ZXJlbmNlQmV0d2Vlbihjb2xkUGF0aEJlZ2luLCBjYWxsKSA9PSBwYXRjaE9mZnNldEdldEJ5SWRT
bG93Q2FzZUNhbGwpOwogCiAgICAgLy8gVHJhY2sgdGhlIGxvY2F0aW9uIG9mIHRoZSBjYWxsOyB0
aGlzIHdpbGwgYmUgdXNlZCB0byByZWNvdmVyIHBhdGNoIGluZm9ybWF0aW9uLgpAQCAtNDQ0LDYg
KzQ1OSw4IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9ieV9pZChJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogCiAgICAgZW1pdEp1bXBTbG93Q2FzZUlmTm90SlNDZWxsKGJhc2UsIHJl
Z1QxKTsKIAorICAgIEJFR0lOX1VOSU5URVJSVVBURURfU0VRVUVOQ0Uoc2VxdWVuY2VQdXRCeUlk
KTsKKwogICAgIExhYmVsIGhvdFBhdGhCZWdpbih0aGlzKTsKICAgICBtX3Byb3BlcnR5QWNjZXNz
Q29tcGlsYXRpb25JbmZvW21fcHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlvbkluZGV4XS5ob3RQYXRo
QmVnaW4gPSBob3RQYXRoQmVnaW47CiAgICAgbV9wcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9uSW5k
ZXgrKzsKQEAgLTQ2MSw2ICs0NzgsOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfYnlfaWQoSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIAogICAgIERhdGFMYWJlbDMyIGRpc3BsYWNl
bWVudExhYmVsMSA9IHN0b3JlUHRyV2l0aEFkZHJlc3NPZmZzZXRQYXRjaChyZWdUMiwgQWRkcmVz
cyhyZWdUMCwgcGF0Y2hHZXRCeUlkRGVmYXVsdE9mZnNldCkpOyAvLyBwYXlsb2FkCiAgICAgRGF0
YUxhYmVsMzIgZGlzcGxhY2VtZW50TGFiZWwyID0gc3RvcmVQdHJXaXRoQWRkcmVzc09mZnNldFBh
dGNoKHJlZ1QzLCBBZGRyZXNzKHJlZ1QwLCBwYXRjaEdldEJ5SWREZWZhdWx0T2Zmc2V0KSk7IC8v
IHRhZworCisgICAgRU5EX1VOSU5URVJSVVBURURfU0VRVUVOQ0Uoc2VxdWVuY2VQdXRCeUlkKTsK
KwogICAgIEFTU0VSVChkaWZmZXJlbmNlQmV0d2Vlbihob3RQYXRoQmVnaW4sIGRpc3BsYWNlbWVu
dExhYmVsMSkgPT0gcGF0Y2hPZmZzZXRQdXRCeUlkUHJvcGVydHlNYXBPZmZzZXQxKTsKICAgICBB
U1NFUlQoZGlmZmVyZW5jZUJldHdlZW4oaG90UGF0aEJlZ2luLCBkaXNwbGFjZW1lbnRMYWJlbDIp
ID09IHBhdGNoT2Zmc2V0UHV0QnlJZFByb3BlcnR5TWFwT2Zmc2V0Mik7CiB9Ci0tIAoxLjYuMC40
Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43285</attachid>
            <date>2009-11-16 03:19:20 -0800</date>
            <delta_ts>2009-11-16 23:18:12 -0800</delta_ts>
            <desc>Minor fixes for JSValue32_64 on ARM</desc>
            <filename>0001-minor-fixes-for-JSValue32-64.patch</filename>
            <type>text/plain</type>
            <size>4109</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSAwMjM3MThhNDYxMzBmZjBkZjNmOGYyZGY2YWI0YjU4NjcxYzA2ZjU2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBNb24sIDE2IE5vdiAyMDA5IDEyOjE1OjQ0ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gbWlub3IgZml4ZXMgZm9yIEpTVmFsdWUzMi02NAoKU2lnbmVkLW9mZi1ieTogWm9sdGFuIEhl
cmN6ZWcgPHpoZXJjemVnQGluZi51LXN6ZWdlZC5odT4KLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICB8ICAgMTcgKysrKysrKysrKysrKysrKysKIEphdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCAgICAgIHwgICAgNCArKy0tCiBKYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaCB8ICAgIDYgKysrLS0tCiBK
YXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAgICAgICAgICAgICAgICB8ICAgIDYgKysrKysr
CiA0IGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCmluZGV4IDgyMTY0MDEuLjU0ZWFkNjUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZworKysgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAor
MjAwOS0xMS0xNiAgWm9sdGFuIEhlcmN6ZWcgIDx6aGVyY3plZ0BpbmYudS1zemVnZWQuaHU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMDUwCisKKyAgICAgICAgTWlub3IgZml4
ZXMgZm9yIEpTVkFMVUUzMl82NDogYnJhbmNoQ29udmVydERvdWJsZVRvSW50MzIKKyAgICAgICAg
ZmFpbGVkIG9uIGEgQ29ydGV4QTggQ1BVLCBidXQgbm90IG9uIGEgc2ltdWxhdG9yOyBhbmQKKyAg
ICAgICAgSklUQ2FsbC5jcHAgbW9kaWZpY2F0aW9ucyB3YXMgc29tZWhvdyBub3QgY29tbWl0dGVk
IHRvIG1haW5saW5lLgorCisgICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAg
ICAgICAoSlNDOjpBUk1Bc3NlbWJsZXI6OmZtcnNfcik6CisgICAgICAgICogYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyQVJNLmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpicmFu
Y2hDb252ZXJ0RG91YmxlVG9JbnQzMik6CisgICAgICAgICogaml0L0pJVENhbGwuY3BwOgorICAg
ICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVPcENhbGwpOgorCiAyMDA5LTExLTEzICBab2x0YW4gSGVy
Y3plZyAgPHpoZXJjemVnQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBSZXZpZXdlZCBieSBH
YXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
Uk1Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaApp
bmRleCA1MDBkNzQzLi43MTI0NzNlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQVJNQXNzZW1ibGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2Vt
Ymxlci5oCkBAIC01MTAsOSArNTEwLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBl
bWl0SW5zdChzdGF0aWNfY2FzdDxBUk1Xb3JkPihjYykgfCBGTVNSLCBybiwgZGQsIDApOwogICAg
ICAgICB9CiAKLSAgICAgICAgdm9pZCBmbXJzX3IoaW50IGRkLCBpbnQgcm4sIENvbmRpdGlvbiBj
YyA9IEFMKQorICAgICAgICB2b2lkIGZtcnNfcihpbnQgcmQsIGludCBkbiwgQ29uZGl0aW9uIGNj
ID0gQUwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGVtaXRJbnN0KHN0YXRpY19jYXN0PEFSTVdv
cmQ+KGNjKSB8IEZNUlMsIHJuLCBkZCwgMCk7CisgICAgICAgICAgICBlbWl0SW5zdChzdGF0aWNf
Y2FzdDxBUk1Xb3JkPihjYykgfCBGTVJTLCByZCwgZG4sIDApOwogICAgICAgICB9CiAKICAgICAg
ICAgdm9pZCBmc2l0b2RfcihpbnQgZGQsIGludCBkbSwgQ29uZGl0aW9uIGNjID0gQUwpCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaCBiL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCmluZGV4IGVkMTZkYjUu
LjI0ZTJlMTEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TS5oCkBAIC04MjksMTIgKzgyOSwxMiBAQCBwdWJsaWM6CiAgICAgLy8gKHNwZWNpZmljYWxseSwg
aW4gdGhpcyBjYXNlLCAwKS4KICAgICB2b2lkIGJyYW5jaENvbnZlcnREb3VibGVUb0ludDMyKEZQ
UmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCwgSnVtcExpc3QmIGZhaWx1cmVDYXNlcywg
RlBSZWdpc3RlcklEIGZwVGVtcCkKICAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmZ0b3NpZF9y
KHNyYywgQVJNUmVnaXN0ZXJzOjpTRDApOwotICAgICAgICBtX2Fzc2VtYmxlci5mbXJzX3IoQVJN
UmVnaXN0ZXJzOjpTRDAsIGRlc3QpOworICAgICAgICBtX2Fzc2VtYmxlci5mdG9zaWRfcihBUk1S
ZWdpc3RlcnM6OlNEMCwgc3JjKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuZm1yc19yKGRlc3QsIEFS
TVJlZ2lzdGVyczo6U0QwKTsKIAogICAgICAgICAvLyBDb252ZXJ0IHRoZSBpbnRlZ2VyIHJlc3Vs
dCBiYWNrIHRvIGZsb2F0ICYgY29tcGFyZSB0byB0aGUgb3JpZ2luYWwgdmFsdWUgLSBpZiBub3Qg
ZXF1YWwgb3IgdW5vcmRlcmVkIChOYU4pIHRoZW4ganVtcC4KICAgICAgICAgbV9hc3NlbWJsZXIu
ZnNpdG9kX3IoQVJNUmVnaXN0ZXJzOjpTRDAsIEFSTVJlZ2lzdGVyczo6U0QwKTsKLSAgICAgICAg
ZmFpbHVyZUNhc2VzLmFwcGVuZChicmFuY2hEb3VibGUoRG91YmxlTm90RXF1YWwsIHNyYywgQVJN
UmVnaXN0ZXJzOjpTRDApKTsKKyAgICAgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChicmFuY2hEb3Vi
bGUoRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCwgc3JjLCBBUk1SZWdpc3RlcnM6OlNEMCkpOwog
CiAgICAgICAgIC8vIElmIHRoZSByZXN1bHQgaXMgemVybywgaXQgbWlnaHQgaGF2ZSBiZWVuIC0w
LjAsIGFuZCAwLjAgZXF1YWxzIHRvIC0wLjAKICAgICAgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChi
cmFuY2hUZXN0MzIoWmVybywgZGVzdCkpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVENhbGwuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCmluZGV4IGY3ZmNj
MGEuLjE3OWFhZDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKQEAgLTMxNSw3ICszMTUsMTMgQEAg
dm9pZCBKSVQ6OmNvbXBpbGVPcENhbGwoT3Bjb2RlSUQgb3Bjb2RlSUQsIEluc3RydWN0aW9uKiBp
bnN0cnVjdGlvbiwgdW5zaWduZWQgY2EKICAgICBlbWl0TG9hZChjYWxsZWUsIHJlZ1QxLCByZWdU
MCk7CiAKICAgICBEYXRhTGFiZWxQdHIgYWRkcmVzc09mTGlua2VkRnVuY3Rpb25DaGVjazsKKwor
ICAgIEJFR0lOX1VOSU5URVJSVVBURURfU0VRVUVOQ0Uoc2VxdWVuY2VPcENhbGwpOworCiAgICAg
SnVtcCBqdW1wVG9TbG93ID0gYnJhbmNoUHRyV2l0aFBhdGNoKE5vdEVxdWFsLCByZWdUMCwgYWRk
cmVzc09mTGlua2VkRnVuY3Rpb25DaGVjaywgSW1tUHRyKDApKTsKKworICAgIEVORF9VTklOVEVS
UlVQVEVEX1NFUVVFTkNFKHNlcXVlbmNlT3BDYWxsKTsKKwogICAgIGFkZFNsb3dDYXNlKGp1bXBU
b1Nsb3cpOwogICAgIEFTU0VSVChkaWZmZXJlbmNlQmV0d2VlbihhZGRyZXNzT2ZMaW5rZWRGdW5j
dGlvbkNoZWNrLCBqdW1wVG9TbG93KSA9PSBwYXRjaE9mZnNldE9wQ2FsbENvbXBhcmVUb0p1bXAp
OwogICAgIG1fY2FsbFN0cnVjdHVyZVN0dWJDb21waWxhdGlvbkluZm9bY2FsbExpbmtJbmZvSW5k
ZXhdLmhvdFBhdGhCZWdpbiA9IGFkZHJlc3NPZkxpbmtlZEZ1bmN0aW9uQ2hlY2s7Ci0tIAoxLjYu
MC40Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>