<?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>29122</bug_id>
          
          <creation_ts>2009-09-10 05:57:24 -0700</creation_ts>
          <short_desc>Use PLATFORM(ARM_THUMB2) instead of PLATFORM_ARM_ARCH(7)</short_desc>
          <delta_ts>2009-09-18 13:28:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>29273</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Gabor Loki">loki</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>eric</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>146175</commentid>
    <comment_count>0</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-10 05:57:24 -0700</bug_when>
    <thetext>Currently we are using PLATFORM_ARM_ARCH(7) macro to separate ARM and Thumb-2 instruction set for JIT. If the target architecture of the compilation is ARMv7, the JIT will use Thumb2 instruction set anyway. This scenario is inaccurate. I think we should enable ARM instruction set for ARMv7 as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146176</commentid>
    <comment_count>1</comment_count>
      <attachid>39345</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-10 06:01:25 -0700</bug_when>
    <thetext>Created attachment 39345
Use PLATFORM(ARM_THUMB2) instead of PLATFORM_ARM_ARCH(7)

This patch replaces the usages of PLATFORM_ARM_ARCH(7) to PLATFORM(ARM_THUMB2) which is currently defines only when PLATFORM_ARM_ARCH(7) &amp;&amp; PLATFORM(IPHONE) is true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146469</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-09-11 00:08:11 -0700</bug_when>
    <thetext>I&apos;m not really comfortable with this patch, since it seems to me to give a misleading impression.  I think that a new programmer to JSC could easily be lead to assume that PLATFORM_ARM, PLATFORM_ARM_THUMB2, PLATFORM_X86, and PLATFORM_X86_64 are all independent and equivalent in behavior.  A programmer could very easily make the mistake of assuming that code wrapped in PLATFORM(ARM) would not be compiled on a PLATFORM(ARM_THUMB2) build.  This is not the case – both platforms are ARM platforms, and both define that macro.

I think that to aid clarity in the code and make it more explicit what is going on we should be going the other way – making all ifdefs that check for either ARM or ARMv7 (but not both) use either:

    PLATFORM(ARM) &amp;&amp; PLATFORM_ARM_ARCH(7)
or
    PLATFORM(ARM) &amp;&amp; !PLATFORM_ARM_ARCH(7)

Such that we are very explicit, rather than relying on the ordering of ifdefs, which may be fragile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146471</commentid>
    <comment_count>3</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-11 00:14:27 -0700</bug_when>
    <thetext>(In reply to comment #2)

Well then, how do you compile JIT with ARM instruction set for ARMv7 target?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146472</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-09-11 00:19:23 -0700</bug_when>
    <thetext>This seems an odd requirement, since ARMv7 processors are not guaranteed to support the ARM instruction set – and not all do.  Use of thumb2 on ARMv7 processors is, in ARM&apos;s terminology, &apos;mandated&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146475</commentid>
    <comment_count>5</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-11 00:37:35 -0700</bug_when>
    <thetext>Only ARMv7M does not contain ARM instruction set. ARMv7A and R support it. Anyway I think the current way of using macros blocks the ARM instruction set support for ARMv7A&amp;R at least. For example, we are not able to compile generic ARM JIT with -mcpu=cortex-a8 compiler option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146515</commentid>
    <comment_count>6</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-09-11 03:48:33 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; This seems an odd requirement, since ARMv7 processors are not guaranteed to
&gt; support the ARM instruction set – and not all do.  Use of thumb2 on ARMv7
&gt; processors is, in ARM&apos;s terminology, &apos;mandated&apos;.

Although not all support ARM instruction set, I feel we must let the users to dicide which instruction set they prefer. Right now there is no way to use ARM instruction set, since the defines not allow it. Of course the default can be thumb2, just we should give them the opportunity to switch to something else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146598</commentid>
    <comment_count>7</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-09-11 09:24:13 -0700</bug_when>
    <thetext>Let me think about this.  One solution that addresses my concern stated above may be to remove all direct use of PLATFORM_ARM from the code, and instead use  PLATFORM_ARM_TRADITIONAL and PLATFORM_ARM_THUMB2.  That solves any confusion re exclusivity.  If this is the right king of approch, may not be right to use PLATFORM here, may be a case for USE.  On vacation today, gimme the weekend to thknk about this.

G.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147271</commentid>
    <comment_count>8</comment_count>
      <attachid>39595</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-15 05:03:48 -0700</bug_when>
    <thetext>Created attachment 39595
Defines two pseudo-platforms for ARM and Thumb-2 instruction set

This patch introduce WTF_PLATFORM_ARM_TRADITIONAL and WTF_PLATFORM_ARM_THUMB2 pseudo-platforms according to Gavin suggestion on irc.

The PLATFORM_ARM_ARCH(7) is replaced with PLATFORM(ARM_THUMB2) and the PLATFORM(ARM) &amp;&amp; !PLATFORM_ARM_ARCH(7) is replaced with PLATFORM(ARM_TRADITIONAL). The common code is still under PLATFORM(ARM) #if checks.

By default the WTF_PLATFORM_ARM_THUMB2 is set when &apos;thumb2&apos; or &apos;__thumb2__&apos; compiler directives are set. Otherwise if the target ARM architecture is v4 or above, WTF_PLATFORM_ARM_TRADITIONAL is set.

This gives an opportunity to use JIT with ARM instruction set on ARMv7 as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147275</commentid>
    <comment_count>9</comment_count>
      <attachid>39596</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2009-09-15 06:16:24 -0700</bug_when>
    <thetext>Created attachment 39596
Defines two pseudo-platforms for ARM and Thumb-2 instruction set (v2)

I fixed a typo and updated after some landed patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147750</commentid>
    <comment_count>10</comment_count>
      <attachid>39596</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-09-17 00:14:42 -0700</bug_when>
    <thetext>Comment on attachment 39596
Defines two pseudo-platforms for ARM and Thumb-2 instruction set (v2)

All looks great, will test the iPhone build &amp; land this in the morning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148355</commentid>
    <comment_count>11</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-09-18 13:28:17 -0700</bug_when>
    <thetext>Sending        JavaScriptCore/ChangeLog
Sending        JavaScriptCore/assembler/ARMAssembler.cpp
Sending        JavaScriptCore/assembler/ARMAssembler.h
Sending        JavaScriptCore/assembler/ARMv7Assembler.h
Sending        JavaScriptCore/assembler/MacroAssembler.h
Sending        JavaScriptCore/assembler/MacroAssemblerARM.cpp
Sending        JavaScriptCore/assembler/MacroAssemblerARM.h
Sending        JavaScriptCore/assembler/MacroAssemblerCodeRef.h
Sending        JavaScriptCore/jit/ExecutableAllocator.h
Sending        JavaScriptCore/jit/JIT.h
Sending        JavaScriptCore/jit/JITInlineMethods.h
Sending        JavaScriptCore/jit/JITOpcodes.cpp
Sending        JavaScriptCore/jit/JITStubs.cpp
Sending        JavaScriptCore/jit/JITStubs.h
Sending        JavaScriptCore/wtf/Platform.h
Sending        JavaScriptCore/yarr/RegexJIT.cpp
Transmitting file data ................
Committed revision 48525.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39345</attachid>
            <date>2009-09-10 06:01:25 -0700</date>
            <delta_ts>2009-09-15 05:03:48 -0700</delta_ts>
            <desc>Use PLATFORM(ARM_THUMB2) instead of PLATFORM_ARM_ARCH(7)</desc>
            <filename>0001-Use-PLATFORM-ARM_THUMB2-instead-of-PLATFORM_ARM_ARC.patch</filename>
            <type>text/plain</type>
            <size>14314</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSBjZjYwZDQ0YWE2ODZhMTNlMTAwMjAzNDA2NGIyMjZjZjYwZGQ3NjlhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogVGh1LCAxMCBTZXAgMjAwOSAxNDo1NDowMSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIFVzZSBQ
TEFURk9STShBUk1fVEhVTUIyKSBpbnN0ZWFkIG9mIFBMQVRGT1JNX0FSTV9BUkNIKDcpCgpTaWdu
ZWQtb2ZmLWJ5OiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KLS0tCiBKYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI3ICsrKysrKysr
KysrKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5o
ICAgICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ci5oICAgICAgICB8ICAgIDIgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckNvZGVSZWYuaCB8ICAgIDYgKystLQogSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVB
bGxvY2F0b3IuaCAgICAgICAgIHwgICAgMiArLQogSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiArKy0tCiBKYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lTWV0aG9kcy5oICAgICAgICAgICAgfCAgIDIyICsrKysrKysrKy0tLS0tLS0tLQogSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwICAgICAgICAgICAgICAgIHwgICAgMiArLQog
SmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcCAgICAgICAgICAgICAgICAgIHwgICAgOCAr
KystLS0KIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5oICAgICAgICAgICAgICAgICAgICB8
ICAgIDIgKy0KIEphdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oICAgICAgICAgICAgICAgICAg
ICB8ICAgMTIgKysrKysrLS0tCiBKYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcCAgICAg
ICAgICAgICAgICAgfCAgICAyICstCiAxMiBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCsp
LCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggODI0NWE3Yy4uMmU2NTQ3NyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDA5LTA5LTEwICBHYWJvciBMb2tpICA8bG9raUBpbmYu
dS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIFBMQVRGT1JNKEFSTV9USFVNQjIpIGluc3RlYWQgb2YgUExBVEZPUk1fQVJNX0FS
Q0goNykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5
MTIyCisKKyAgICAgICAgKiBhc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaDoKKyAgICAgICAgKiBh
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmLmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVB0cjo6TWFj
cm9Bc3NlbWJsZXJDb2RlUHRyKToKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5o
OgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5o
OgorICAgICAgICAoSlNDOjpKSVQ6OmJlZ2luVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKToKKyAgICAg
ICAgKEpTQzo6SklUOjpwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwpOgorICAgICAgICAo
SlNDOjpKSVQ6OnJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKToKKyAgICAgICAgKEpT
Qzo6SklUOjpyZXN0b3JlQXJndW1lbnRSZWZlcmVuY2UpOgorICAgICAgICAoSlNDOjpKSVQ6OnJl
c3RvcmVBcmd1bWVudFJlZmVyZW5jZUZvclRyYW1wb2xpbmUpOgorICAgICAgICAqIGppdC9KSVRP
cGNvZGVzLmNwcDoKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgorICAgICAgICAoSlNDOjpK
SVRUaHVua3M6OkpJVFRodW5rcyk6CisgICAgICAgICogaml0L0pJVFN0dWJzLmg6CisgICAgICAg
ICogd3RmL1BsYXRmb3JtLmg6CisgICAgICAgICogeWFyci9SZWdleEpJVC5jcHA6CisgICAgICAg
IChKU0M6OllhcnI6OlJlZ2V4R2VuZXJhdG9yOjpnZW5lcmF0ZUVudGVyKToKKwogMjAwOS0wOS0w
OSAgTGFzemxvIEdvbWJvcyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQVJNdjdBc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fz
c2VtYmxlci5oCmluZGV4IDc1Zjg4OGIuLmViMWQwM2UgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BUk12N0Fzc2VtYmxlci5oCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbmNsdWRlIDx3dGYv
UGxhdGZvcm0uaD4KIAotI2lmIEVOQUJMRShBU1NFTUJMRVIpICYmIFBMQVRGT1JNX0FSTV9BUkNI
KDcpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikgJiYgUExBVEZPUk0oQVJNX1RIVU1CMikKIAogI2lu
Y2x1ZGUgIkFzc2VtYmxlckJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CkBA
IC0xNzUzLDYgKzE3NTMsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2Vu
ZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpICYmIFBMQVRGT1JNX0FSTV9BUkNIKDcpCisjZW5kaWYg
Ly8gRU5BQkxFKEFTU0VNQkxFUikgJiYgUExBVEZPUk0oQVJNX1RIVU1CMikKIAogI2VuZGlmIC8v
IEFSTUFzc2VtYmxlcl9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5o
CmluZGV4IDllMWM1ZDMuLmNmNTI2NGIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlci5oCkBAIC0zMCw3ICszMCw3IEBACiAKICNpZiBFTkFCTEUoQVNTRU1CTEVSKQog
Ci0jaWYgUExBVEZPUk1fQVJNX0FSQ0goNykKKyNpZiBQTEFURk9STShBUk1fVEhVTUIyKQogI2lu
Y2x1ZGUgIk1hY3JvQXNzZW1ibGVyQVJNdjcuaCIKIG5hbWVzcGFjZSBKU0MgeyB0eXBlZGVmIE1h
Y3JvQXNzZW1ibGVyQVJNdjcgTWFjcm9Bc3NlbWJsZXJCYXNlOyB9OwogCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmggYi9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmgKaW5kZXggMzQxYTdmZi4u
NTY4MjYwYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQ29kZVJlZi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckNvZGVSZWYuaApAQCAtMzcsNyArMzcsNyBAQAogCiAvLyBBU1NFUlRfVkFMSURfQ09ERV9QT0lO
VEVSIGNoZWNrcyB0aGF0IHB0ciBpcyBhIG5vbi1udWxsIHBvaW50ZXIsIGFuZCB0aGF0IGl0IGlz
IGEgdmFsaWQKIC8vIGluc3RydWN0aW9uIGFkZHJlc3Mgb24gdGhlIHBsYXRmb3JtIChmb3IgZXhh
bXBsZSwgY2hlY2sgYW55IGFsaWdubWVudCByZXF1aXJlbWVudHMpLgotI2lmIFBMQVRGT1JNX0FS
TV9BUkNIKDcpCisjaWYgUExBVEZPUk0oQVJNX1RIVU1CMikKIC8vIEFSTS90aHVtYiBpbnN0cnVj
dGlvbnMgbXVzdCBiZSAxNi1iaXQgYWxpZ25lZCwgYnV0IGFsbCBjb2RlIHBvaW50ZXJzIHRvIGJl
IGxvYWRlZAogLy8gaW50byB0aGUgcHJvY2Vzc29yIGFyZSBkZWNvcmF0ZWQgd2l0aCB0aGUgYm90
dG9tIGJpdCBzZXQsIGluZGljYXRpbmcgdGhhdCB0aGlzIGlzCiAvLyB0aHVtYiBjb2RlIChhcyBv
cG9zZWQgdG8gMzItYml0IHRyYWRpdGlvbmFsIEFSTSkuICBUaGUgZmlyc3QgdGVzdCBjaGVja3Mg
Zm9yIGJvdGgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgZXhwbGlj
aXQgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyKHZvaWQqIHZhbHVlKQotI2lmIFBMQVRGT1JNX0FSTV9B
UkNIKDcpCisjaWYgUExBVEZPUk0oQVJNX1RIVU1CMikKICAgICAgICAgLy8gRGVjb3JhdGUgdGhl
IHBvaW50ZXIgYXMgYSB0aHVtYiBjb2RlIHBvaW50ZXIuCiAgICAgICAgIDogbV92YWx1ZShyZWlu
dGVycHJldF9jYXN0PGNoYXIqPih2YWx1ZSkgKyAxKQogI2Vsc2UKQEAgLTE0MSw3ICsxNDEsNyBA
QCBwdWJsaWM6CiAgICAgfQogCiAgICAgdm9pZCogZXhlY3V0YWJsZUFkZHJlc3MoKSBjb25zdCB7
IHJldHVybiBtX3ZhbHVlOyB9Ci0jaWYgUExBVEZPUk1fQVJNX0FSQ0goNykKKyNpZiBQTEFURk9S
TShBUk1fVEhVTUIyKQogICAgIC8vIFRvIHVzZSB0aGlzIHBvaW50ZXIgYXMgYSBkYXRhIGFkZHJl
c3MgcmVtb3ZlIHRoZSBkZWNvcmF0aW9uLgogICAgIHZvaWQqIGRhdGFMb2NhdGlvbigpIGNvbnN0
IHsgQVNTRVJUX1ZBTElEX0NPREVfUE9JTlRFUihtX3ZhbHVlKTsgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8Y2hhcio+KG1fdmFsdWUpIC0gMTsgfQogI2Vsc2UKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvRXhl
Y3V0YWJsZUFsbG9jYXRvci5oCmluZGV4IDUxYWRhMDMuLmVhZTdjMDQgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaApAQCAtMTgwLDcgKzE4MCw3IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBjYWNoZUZsdXNoKHZvaWQqLCBzaXplX3QpCiAgICAgewogICAgIH0K
LSNlbGlmIFBMQVRGT1JNX0FSTV9BUkNIKDcpICYmIFBMQVRGT1JNKElQSE9ORSkKKyNlbGlmIFBM
QVRGT1JNKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElQSE9ORSkKICAgICBzdGF0aWMgdm9pZCBj
YWNoZUZsdXNoKHZvaWQqIGNvZGUsIHNpemVfdCBzaXplKQogICAgIHsKICAgICAgICAgc3lzX2Rj
YWNoZV9mbHVzaChjb2RlLCBzaXplKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBmN2FjMjBlLi5lNGQ3NGFjIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCkBAIC0yMjYsNyArMjI2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0
YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdUMCA9IFg4NlJlZ2lzdGVyczo6eG1tMDsKICAg
ICAgICAgc3RhdGljIGNvbnN0IEZQUmVnaXN0ZXJJRCBmcFJlZ1QxID0gWDg2UmVnaXN0ZXJzOjp4
bW0xOwogICAgICAgICBzdGF0aWMgY29uc3QgRlBSZWdpc3RlcklEIGZwUmVnVDIgPSBYODZSZWdp
c3RlcnM6OnhtbTI7Ci0jZWxpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2VsaWYgUExBVEZPUk0o
QVJNX1RIVU1CMikKICAgICAgICAgc3RhdGljIGNvbnN0IFJlZ2lzdGVySUQgcmV0dXJuVmFsdWVS
ZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6cjA7CiAgICAgICAgIHN0YXRpYyBjb25zdCBSZWdpc3Rl
cklEIGNhY2hlZFJlc3VsdFJlZ2lzdGVyID0gQVJNUmVnaXN0ZXJzOjpyMDsKICAgICAgICAgc3Rh
dGljIGNvbnN0IFJlZ2lzdGVySUQgZmlyc3RBcmd1bWVudFJlZ2lzdGVyID0gQVJNUmVnaXN0ZXJz
OjpyMDsKQEAgLTU3MSw3ICs1NzEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGlj
IGNvbnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHJvdG9PYmogPSAxMTsKICAgICAgICAg
c3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHJvdG9TdHJ1Y3QgPSAxODsK
ICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHV0RnVuY3Rp
b24gPSAyOTsKLSNlbGlmIFBMQVRGT1JNX0FSTV9BUkNIKDcpCisjZWxpZiBQTEFURk9STShBUk1f
VEhVTUIyKQogICAgICAgICAvLyBUaGVzZSBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgdmFsdWUgYXJl
IHVzZWQgdG8gZW5hYmxlIHBhdGNoaW5nIC0gc2VlIGNvbW1lbnQgb24gb3BfcHV0X2J5X2lkLgog
ICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0UHV0QnlJZFN0cnVjdHVyZSA9IDEw
OwogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0UHV0QnlJZEV4dGVybmFsTG9h
ZCA9IDIwOwpAQCAtNjIwLDcgKzYyMCw3IEBAIG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAjZW5k
aWYgLy8gVVNFKEpTVkFMVUUzMl82NCkKIAotI2lmIFBMQVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JN
X0FSTV9BUkNIKDcpCisjaWYgUExBVEZPUk0oQVJNKSAmJiAhUExBVEZPUk0oQVJNX1RIVU1CMikK
ICAgICAgICAgLy8gc2VxdWVuY2VPcENhbGwKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBzZXF1
ZW5jZU9wQ2FsbEluc3RydWN0aW9uU3BhY2UgPSAxMjsKICAgICAgICAgc3RhdGljIGNvbnN0IGlu
dCBzZXF1ZW5jZU9wQ2FsbENvbnN0YW50U3BhY2UgPSAyOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxp
bmVNZXRob2RzLmgKaW5kZXggNjBjOTY1OC4uYTcwM2MzMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lTWV0aG9kcy5oCkBAIC0xMTAsNyArMTEwLDcgQEAgQUxXQVlTX0lOTElORSBKSVQ6OkNh
bGwgSklUOjplbWl0TmFrZWRDYWxsKENvZGVQdHIgZnVuY3Rpb24pCiAKIEFMV0FZU19JTkxJTkUg
dm9pZCBKSVQ6OmJlZ2luVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKGludCBpbnNuU3BhY2UsIGludCBj
b25zdFNwYWNlKQogewotI2lmIFBMQVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FSTV9BUkNIKDcp
CisjaWYgUExBVEZPUk0oQVJNKSAmJiAhUExBVEZPUk0oQVJNX1RIVU1CMikKICNpZm5kZWYgTkRF
QlVHCiAgICAgLy8gRW5zdXJlIHRoZSBsYWJlbCBhZnRlciB0aGUgc2VxdWVuY2UgY2FuIGFsc28g
Zml0CiAgICAgaW5zblNwYWNlICs9IHNpemVvZihBUk1Xb3JkKTsKQEAgLTEzOSwzOCArMTM5LDM4
IEBAIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OmVuZFVuaW50ZXJydXB0ZWRTZXF1ZW5jZShpbnQg
aW5zblNwYWNlLCBpbnQgY29uc3RTcGFjZSkKIAogI2VuZGlmCiAKLSNpZiBQTEFURk9STShYODYp
IHx8IFBMQVRGT1JNKFg4Nl82NCkgfHwgKFBMQVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FSTV9B
UkNIKDcpKQorI2lmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAKIEFMV0FZU19JTkxJTkUgdm9pZCBK
SVQ6OnByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbChSZWdpc3RlcklEIHJlZykKIHsKLSAg
ICBwb3AocmVnKTsKKyAgICBtb3ZlKGxpbmtSZWdpc3RlciwgcmVnKTsKIH0KIAogQUxXQVlTX0lO
TElORSB2b2lkIEpJVDo6cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oUmVnaXN0ZXJJ
RCByZWcpCiB7Ci0gICAgcHVzaChyZWcpOworICAgIG1vdmUocmVnLCBsaW5rUmVnaXN0ZXIpOwog
fQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjpyZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJl
dHVybihBZGRyZXNzIGFkZHJlc3MpCiB7Ci0gICAgcHVzaChhZGRyZXNzKTsKKyAgICBsb2FkUHRy
KGFkZHJlc3MsIGxpbmtSZWdpc3Rlcik7CiB9CiAKLSNlbGlmIFBMQVRGT1JNX0FSTV9BUkNIKDcp
CisjZWxzZSAvLyBQTEFURk9STShYODYpIHx8IFBMQVRGT1JNKFg4Nl82NCkgfHwgUExBVEZPUk0o
QVJNKQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjpwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRl
ckNhbGwoUmVnaXN0ZXJJRCByZWcpCiB7Ci0gICAgbW92ZShsaW5rUmVnaXN0ZXIsIHJlZyk7Cisg
ICAgcG9wKHJlZyk7CiB9CiAKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OnJlc3RvcmVSZXR1cm5B
ZGRyZXNzQmVmb3JlUmV0dXJuKFJlZ2lzdGVySUQgcmVnKQogewotICAgIG1vdmUocmVnLCBsaW5r
UmVnaXN0ZXIpOworICAgIHB1c2gocmVnKTsKIH0KIAogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6
cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oQWRkcmVzcyBhZGRyZXNzKQogewotICAg
IGxvYWRQdHIoYWRkcmVzcywgbGlua1JlZ2lzdGVyKTsKKyAgICBwdXNoKGFkZHJlc3MpOwogfQog
CiAjZW5kaWYKQEAgLTE4Niw3ICsxODYsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjpyZXN0
b3JlQXJndW1lbnRSZWZlcmVuY2UoKQogewogICAgIG1vdmUoc3RhY2tQb2ludGVyUmVnaXN0ZXIs
IGZpcnN0QXJndW1lbnRSZWdpc3Rlcik7CiAgICAgcG9rZShjYWxsRnJhbWVSZWdpc3RlciwgT0JK
RUNUX09GRlNFVE9GKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBjYWxsRnJhbWUpIC8gc2l6ZW9mICh2
b2lkKikpOwotI2lmIFBMQVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FSTV9BUkNIKDcpCisjaWYg
UExBVEZPUk0oQVJNKSAmJiAhUExBVEZPUk0oQVJNX1RIVU1CMikKICAgICBtb3ZlKGN0aVJldHVy
blJlZ2lzdGVyLCBBUk1SZWdpc3RlcnM6OmxyKTsKICNlbmRpZgogfQpAQCAtMTk1LDcgKzE5NSw3
IEBAIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OnJlc3RvcmVBcmd1bWVudFJlZmVyZW5jZUZvclRy
YW1wb2xpbmUoKQogI2lmIFBMQVRGT1JNKFg4NikKICAgICAvLyBXaXRoaW4gYSB0cmFtcG9saW5l
IHRoZSByZXR1cm4gYWRkcmVzcyB3aWxsIGJlIG9uIHRoZSBzdGFjayBhdCB0aGlzIHBvaW50Lgog
ICAgIGFkZFB0cihJbW0zMihzaXplb2Yodm9pZCopKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIsIGZp
cnN0QXJndW1lbnRSZWdpc3Rlcik7Ci0jZWxpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2VsaWYg
UExBVEZPUk0oQVJNX1RIVU1CMikKICAgICBtb3ZlKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBmaXJz
dEFyZ3VtZW50UmVnaXN0ZXIpOwogI2VuZGlmCiAgICAgLy8gSW4gdGhlIHRyYW1wb2xpbmUgb24g
eDg2LTY0LCB0aGUgZmlyc3QgYXJndW1lbnQgcmVnaXN0ZXIgaXMgbm90IG92ZXJ3cml0dGVuLgpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDFjOWNkN2UuLjExZTJhYmMgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTE2ODEsNyArMTY4MSw3IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBl
eGVjdXRhYmxlCiAgICAgLy8gc28gcHVsbCB0aGVtIG9mZiBub3cKICAgICBhZGRQdHIoSW1tMzIo
TmF0aXZlQ2FsbEZyYW1lU2l6ZSAtIHNpemVvZihOYXRpdmVGdW5jdGlvbkNhbGxlZVNpZ25hdHVy
ZSkpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAKLSNlbGlmIFBMQVRGT1JNKEFSTSkgJiYgIVBM
QVRGT1JNX0FSTV9BUkNIKDcpCisjZWxpZiBQTEFURk9STShBUk0pICYmICFQTEFURk9STShBUk1f
VEhVTUIyKQogICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyMzIoUmVnaXN0ZXJGaWxlOjpB
cmd1bWVudENvdW50LCByZWdUMCk7CiAKICAgICAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3Ig
b3VyIGFyZ2xpc3QKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCmluZGV4IDRhYjU4ZDUuLmIwMmU2OWEg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKKysrIGIvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcApAQCAtMTkzLDcgKzE5Myw3IEBAIFNZTUJPTF9TVFJJ
TkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICJcbiIKICAgICAicmV0IiAiXG4iCiApOwogCi0j
ZWxpZiBDT01QSUxFUihHQ0MpICYmIFBMQVRGT1JNX0FSTV9BUkNIKDcpCisjZWxpZiBDT01QSUxF
UihHQ0MpICYmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAKICNpZiBVU0UoSklUX1NUVUJfQVJHVU1F
TlRfVkFfTElTVCkKICNlcnJvciAiSklUX1NUVUJfQVJHVU1FTlRfVkFfTElTVCBub3Qgc3VwcG9y
dGVkIG9uIEFSTXY3LiIKQEAgLTQ1Miw3ICs0NTIsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aU9wVGhy
b3dOb3RDYXVnaHQpICI6IiAiXG4iCiAgICAgInJldCIgIlxuIgogKTsKIAotI2VsaWYgQ09NUElM
RVIoR0NDKSAmJiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2VsaWYgQ09NUElMRVIoR0NDKSAmJiBQ
TEFURk9STShBUk1fVEhVTUIyKQogCiAjaWYgVVNFKEpJVF9TVFVCX0FSR1VNRU5UX1ZBX0xJU1Qp
CiAjZXJyb3IgIkpJVF9TVFVCX0FSR1VNRU5UX1ZBX0xJU1Qgbm90IHN1cHBvcnRlZCBvbiBBUk12
Ny4iCkBAIC02MzYsNyArNjM2LDcgQEAgSklUVGh1bmtzOjpKSVRUaHVua3MoSlNHbG9iYWxEYXRh
KiBnbG9iYWxEYXRhKQogewogICAgIEpJVDo6Y29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhn
bG9iYWxEYXRhLCAmbV9leGVjdXRhYmxlUG9vbCwgJm1fY3RpU3RyaW5nTGVuZ3RoVHJhbXBvbGlu
ZSwgJm1fY3RpVmlydHVhbENhbGxMaW5rLCAmbV9jdGlWaXJ0dWFsQ2FsbCwgJm1fY3RpTmF0aXZl
Q2FsbFRodW5rKTsKIAotI2lmIFBMQVRGT1JNX0FSTV9BUkNIKDcpCisjaWYgUExBVEZPUk0oQVJN
X1RIVU1CMikKICAgICAvLyBVbmZvcnR1bmF0ZSB0aGUgYXJtIGNvbXBpbGVyIGRvZXMgbm90IGxp
a2UgdGhlIHVzZSBvZiBvZmZzZXRvZiBvbiBKSVRTdGFja0ZyYW1lIChzaW5jZSBpdCBjb250YWlu
cyBub24gUE9EIHR5cGVzKSwKICAgICAvLyBhbmQgdGhlIE9CSkVDVF9PRkZTRVRPRiBtYWNybyBk
b2VzIG5vdCBhcHBlYXIgY29uc3RhbnRpc2ggZW5vdWdoIGZvciBpdCB0byBiZSBoYXBweSB3aXRo
IGl0cyB1c2UgaW4gQ09NUElMRV9BU1NFUlQKICAgICAvLyBtYWNyb3MuCkBAIC04NzYsNyArODc2
LDcgQEAgc3RhdGljIE5FVkVSX0lOTElORSB2b2lkIHRocm93U3RhY2tPdmVyZmxvd0Vycm9yKENh
bGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbEQKICAgICAgICAgfSBcCiAgICAgfSB3aGlsZSAo
MCkKIAotI2lmIFBMQVRGT1JNX0FSTV9BUkNIKDcpCisjaWYgUExBVEZPUk0oQVJNX1RIVU1CMikK
IAogI2RlZmluZSBERUZJTkVfU1RVQl9GVU5DVElPTihydHlwZSwgb3ApIFwKICAgICBleHRlcm4g
IkMiIHsgXApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmggYi9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAppbmRleCAxZGJkZWFhLi5jMTk2MGUxIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnMuaApAQCAtMTI5LDcgKzEyOSw3IEBAIG5hbWVzcGFjZSBKU0MgewogI2lmIENP
TVBJTEVSKE1TVkMpCiAjcHJhZ21hIHBhY2socG9wKQogI2VuZGlmIC8vIENPTVBJTEVSKE1TVkMp
Ci0jZWxpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2VsaWYgUExBVEZPUk0oQVJNX1RIVU1CMikK
ICAgICBzdHJ1Y3QgSklUU3RhY2tGcmFtZSB7CiAgICAgICAgIHZvaWQqIHJlc2VydmVkOyAvLyBV
bnVzZWQKICAgICAgICAgSklUU3R1YkFyZyBhcmdzWzZdOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRl
eCA4YTBlMGRjLi5iZGNhNzg0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApAQCAtNDE5LDYgKzQxOSwx
MCBAQAogI2RlZmluZSBFTkFCTEVfUkVQQUlOVF9USFJPVFRMSU5HIDEKICNlbmRpZgogCisjaWYg
UExBVEZPUk1fQVJNX0FSQ0goNykgJiYgUExBVEZPUk0oSVBIT05FKQorI2RlZmluZSBXVEZfUExB
VEZPUk1fQVJNX1RIVU1CMiAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFdJTikKICNkZWZpbmUg
V1RGX1VTRV9XSU5JTkVUIDEKICNlbmRpZgpAQCAtNjE4LDcgKzYyMiw3IEBACiAjZWxpZiBQTEFU
Rk9STShYODYpICYmIFBMQVRGT1JNKE1BQykKICAgICAjZGVmaW5lIEVOQUJMRV9KSVQgMQogICAg
ICNkZWZpbmUgV1RGX1VTRV9KSVRfU1RVQl9BUkdVTUVOVF9WQV9MSVNUIDEKLSNlbGlmIFBMQVRG
T1JNX0FSTV9BUkNIKDcpICYmIFBMQVRGT1JNKElQSE9ORSkKKyNlbGlmIFBMQVRGT1JNKEFSTV9U
SFVNQjIpICYmIFBMQVRGT1JNKElQSE9ORSkKICAgICAvKiBVbmRlciBkZXZlbG9wbWVudCwgdGVt
cG9yYXJpbHkgZGlzYWJsZWQgdW50aWwgMTZNYiBsaW5rIHJhbmdlIGxpbWl0IGluIGFzc2VtYmxl
ciBpcyBmaXhlZC4gKi8KICAgICAjZGVmaW5lIEVOQUJMRV9KSVQgMAogICAgICNkZWZpbmUgRU5B
QkxFX0pJVF9PUFRJTUlaRV9OQVRJVkVfQ0FMTCAwCkBAIC02MzcsNyArNjQxLDcgQEAKICNlbGlm
IFBMQVRGT1JNKFg4NikgJiYgUExBVEZPUk0oTElOVVgpICYmIEdDQ19WRVJTSU9OID49IDQwMTAw
CiAgICAgI2RlZmluZSBFTkFCTEVfSklUIDEKICAgICAjZGVmaW5lIFdURl9VU0VfSklUX1NUVUJf
QVJHVU1FTlRfVkFfTElTVCAxCi0jZWxpZiBQTEFURk9STShBUk0pICYmICFQTEFURk9STV9BUk1f
QVJDSCg3KSAmJiBQTEFURk9STShMSU5VWCkKKyNlbGlmIFBMQVRGT1JNKEFSTSkgJiYgUExBVEZP
Uk0oTElOVVgpCiAgICAgI2RlZmluZSBFTkFCTEVfSklUIDEKICNlbmRpZgogI2VuZGlmIC8qIFBM
QVRGT1JNKFFUKSAqLwpAQCAtNjg0LDcgKzY4OCw3IEBACiAjaWYgKFBMQVRGT1JNKFg4NikgJiYg
UExBVEZPUk0oTUFDKSkgXAogIHx8IChQTEFURk9STShYODZfNjQpICYmIFBMQVRGT1JNKE1BQykp
IFwKICAvKiBVbmRlciBkZXZlbG9wbWVudCwgdGVtcG9yYXJpbHkgZGlzYWJsZWQgdW50aWwgMTZN
YiBsaW5rIHJhbmdlIGxpbWl0IGluIGFzc2VtYmxlciBpcyBmaXhlZC4gKi8gXAotIHx8IChQTEFU
Rk9STV9BUk1fQVJDSCg3KSAmJiBQTEFURk9STShJUEhPTkUpICYmIDApIFwKKyB8fCAoUExBVEZP
Uk0oQVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSVBIT05FKSAmJiAwKSBcCiAgfHwgKFBMQVRGT1JN
KFg4NikgJiYgUExBVEZPUk0oV0lOKSkKICNkZWZpbmUgRU5BQkxFX1lBUlIgMQogI2RlZmluZSBF
TkFCTEVfWUFSUl9KSVQgMQpAQCAtNjk0LDcgKzY5OCw3IEBACiAjaWYgKFBMQVRGT1JNKFg4Nikg
JiYgUExBVEZPUk0oV0lOX09TKSAmJiBDT01QSUxFUihNSU5HVykgJiYgR0NDX1ZFUlNJT04gPj0g
NDAxMDApIFwKICB8fCAoUExBVEZPUk0oWDg2KSAmJiBQTEFURk9STShXSU5fT1MpICYmIENPTVBJ
TEVSKE1TVkMpKSBcCiAgfHwgKFBMQVRGT1JNKFg4NikgJiYgUExBVEZPUk0oTElOVVgpICYmIEdD
Q19WRVJTSU9OID49IDQwMTAwKSBcCi0gfHwgKFBMQVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FS
TV9BUkNIKDcpICYmIFBMQVRGT1JNKExJTlVYKSkKKyB8fCAoUExBVEZPUk0oQVJNKSAmJiBQTEFU
Rk9STShMSU5VWCkpCiAjZGVmaW5lIEVOQUJMRV9ZQVJSIDEKICNkZWZpbmUgRU5BQkxFX1lBUlJf
SklUIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5j
cHAgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAppbmRleCAxNmIxZWNjLi4wN2Q5
ZGQ5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcApAQCAtMTMwOSw3ICsxMzA5LDcgQEAgY2xh
c3MgUmVnZXhHZW5lcmF0b3IgOiBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAgbG9h
ZFB0cihBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZWJwLCAyICogc2l6ZW9mKHZvaWQqKSksIG91dHB1
dCk7CiAgICAgI2VuZGlmCiAjZWxpZiBQTEFURk9STShBUk0pCi0jaWYgIVBMQVRGT1JNX0FSTV9B
UkNIKDcpCisjaWYgIVBMQVRGT1JNKEFSTV9USFVNQjIpCiAgICAgICAgIHB1c2goQVJNUmVnaXN0
ZXJzOjpscik7CiAjZW5kaWYKICAgICAgICAgcHVzaChBUk1SZWdpc3RlcnM6OnI0KTsKLS0gCjEu
Ni4wLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39595</attachid>
            <date>2009-09-15 05:03:48 -0700</date>
            <delta_ts>2009-09-15 06:16:24 -0700</delta_ts>
            <desc>Defines two pseudo-platforms for ARM and Thumb-2 instruction set</desc>
            <filename>0001-Defines-two-pseudo-platforms-for-ARM-and-Thumb-2-ins.patch</filename>
            <type>text/plain</type>
            <size>20034</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSAyODk5Mzc3MjY5ZTgzMTMzYzczNjI2YjA2ZjM5OTc3YTY3NDRjZmU3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogVHVlLCAxNSBTZXAgMjAwOSAxMzozOTowMSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIERlZmlu
ZXMgdHdvIHBzZXVkby1wbGF0Zm9ybXMgZm9yIEFSTSBhbmQgVGh1bWItMiBpbnN0cnVjdGlvbiBz
ZXQuCgpTaWduZWQtb2ZmLWJ5OiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KLS0t
CiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM2
ICsrKysrKysrKysrKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3Nl
bWJsZXIuY3BwICAgICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1B
c3NlbWJsZXIuaCAgICAgICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
Uk12N0Fzc2VtYmxlci5oICAgICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlci5oICAgICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTS5oICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCB8ICAgIDYgKystLQogSmF2YVNjcmlwdENv
cmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaCAgICAgICAgIHwgICAgNCArLQogSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKystLS0KIEph
dmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2RzLmggICAgICAgICAgICB8ICAgMjIgKysr
KysrKy0tLS0tLS0KIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAg
ICAgICB8ICAgIDIgKy0KIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAgICAgICAgICAg
ICAgICAgICB8ICAgMTAgKysrLS0tCiBKYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaCAgICAg
ICAgICAgICAgICAgICAgfCAgICA0ICstCiBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCAg
ICAgICAgICAgICAgICAgICAgfCAgIDI3ICsrKysrKysrKysrKystLS0tCiBKYXZhU2NyaXB0Q29y
ZS95YXJyL1JlZ2V4SklULmNwcCAgICAgICAgICAgICAgICAgfCAgICAyICstCiAxNSBmaWxlcyBj
aGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTQ0MjY4NC4uOTk0ZTFkZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisr
KyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDA5LTA5LTE1
ICBHYWJvciBMb2tpICA8bG9raUBpbmYudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVmaW5lcyB0d28gcHNldWRvLXBsYXRmb3Jt
cyBmb3IgQVJNIGFuZCBUaHVtYi0yIGluc3RydWN0aW9uIHNldC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MTIyCisKKyAgICAgICAgSW50cm9kdWNl
cyBXVEZfUExBVEZPUk1fQVJNX1RSQURJVElPTkFMIGFuZCBXVEZfUExBVEZPUk1fQVJNX1RIVU1C
MgorICAgICAgICBtYWNyb3Mgb24gQVJNIHBsYXRmb3Jtcy4gVGhlIFBMQVRGT1JNKEFSTV9USFVN
QjIpIHNob3VsZCBiZSB1c2VkCisgICAgICAgIHdoZW4gVGh1bWItMiBpbnN0cnVjdGlvbiBzZXQg
aXMgdGhlIHJlcXVpcmVkIHRhcmdldC4gVGhlCisgICAgICAgIFBMQVRGT1JNKEFSTV9UUkFESVRJ
T05BTCkgaXMgZm9yIGdlbmVyaWMgQVJNIGluc3RydWN0aW9uIHNldC4gSW4KKyAgICAgICAgY2Fz
ZSB3aGVyZSB0aGUgY29kZSBpcyBjb21tb24gdGhlIFBMQVRGT1JNKEFSTSkgaGF2ZSB0byBiZSB1
c2VkLgorCisgICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5jcHA6CisgICAgICAgICog
YXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAqIGFzc2VtYmxlci9BUk12N0Fzc2Vt
Ymxlci5oOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oOgorICAgICAgICAq
IGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckNvZGVSZWYuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUHRy
OjpNYWNyb0Fzc2VtYmxlckNvZGVQdHIpOgorICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2Nh
dG9yLmg6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRJbmxpbmVNZXRo
b2RzLmg6CisgICAgICAgIChKU0M6OkpJVDo6YmVnaW5VbmludGVycnVwdGVkU2VxdWVuY2UpOgor
ICAgICAgICAoSlNDOjpKSVQ6OnByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbCk6CisgICAg
ICAgIChKU0M6OkpJVDo6cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4pOgorICAgICAg
ICAoSlNDOjpKSVQ6OnJlc3RvcmVBcmd1bWVudFJlZmVyZW5jZSk6CisgICAgICAgIChKU0M6OkpJ
VDo6cmVzdG9yZUFyZ3VtZW50UmVmZXJlbmNlRm9yVHJhbXBvbGluZSk6CisgICAgICAgICogaml0
L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAqIGppdC9KSVRTdHVicy5jcHA6CisgICAgICAgIChK
U0M6OkpJVFRodW5rczo6SklUVGh1bmtzKToKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuaDoKKyAg
ICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB5YXJyL1JlZ2V4SklULmNwcDoKKyAg
ICAgICAgKEpTQzo6WWFycjo6UmVnZXhHZW5lcmF0b3I6OmdlbmVyYXRlRW50ZXIpOgorCiAyMDA5
LTA5LTE0ICBDc2FiYSBPc3p0cm9nb25hYyAgPG9zemlAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFRvciBBcm5lIFZlc3Riw7guCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmNwcCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BUk1Bc3NlbWJsZXIuY3BwCmluZGV4IDc3ZDdhNTMuLjEzMjQ1ODYgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuY3BwCisrKyBiL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNs
dWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShBU1NFTUJMRVIpICYmIFBMQVRGT1JNKEFSTSkK
KyNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCiAKICNp
bmNsdWRlICJBUk1Bc3NlbWJsZXIuaCIKIApAQCAtMzkwLDQgKzM5MCw0IEBAIHZvaWQqIEFSTUFz
c2VtYmxlcjo6ZXhlY3V0YWJsZUNvcHkoRXhlY3V0YWJsZVBvb2wqIGFsbG9jYXRvcikKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQTEFURk9S
TShBUk0pCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikgJiYgUExBVEZPUk0oQVJNX1RSQURJ
VElPTkFMKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oCmluZGV4IDBiMDRi
YjQuLjlmOWE0NTAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3Nl
bWJsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKQEAg
LTI5LDcgKzI5LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCi0jaWYgRU5BQkxF
KEFTU0VNQkxFUikgJiYgUExBVEZPUk0oQVJNKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpICYmIFBM
QVRGT1JNKEFSTV9UUkFESVRJT05BTCkKIAogI2luY2x1ZGUgIkFzc2VtYmxlckJ1ZmZlcldpdGhD
b25zdGFudFBvb2wuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgpAQCAtNzY0LDYgKzc2
NCw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8v
IEVOQUJMRShBU1NFTUJMRVIpICYmIFBMQVRGT1JNKEFSTSkKKyNlbmRpZiAvLyBFTkFCTEUoQVNT
RU1CTEVSKSAmJiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCiAKICNlbmRpZiAvLyBBUk1Bc3Nl
bWJsZXJfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1i
bGVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAppbmRleCA3
NWY4ODhiLi5lYjFkMDNlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJN
djdBc3NlbWJsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJs
ZXIuaApAQCAtMjgsNyArMjgsNyBAQAogCiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAKLSNp
ZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2lmIEVOQUJMRShB
U1NFTUJMRVIpICYmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAKICNpbmNsdWRlICJBc3NlbWJsZXJC
dWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgpAQCAtMTc1Myw2ICsxNzUzLDYg
QEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoQVNT
RU1CTEVSKSAmJiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJM
RVIpICYmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAKICNlbmRpZiAvLyBBUk1Bc3NlbWJsZXJfaApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmggYi9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAppbmRleCA5ZTFjNWQzLi4y
NzQzYWI0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaApAQCAt
MzAsMTEgKzMwLDExIEBACiAKICNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCi0jaWYgUExBVEZPUk1f
QVJNX0FSQ0goNykKKyNpZiBQTEFURk9STShBUk1fVEhVTUIyKQogI2luY2x1ZGUgIk1hY3JvQXNz
ZW1ibGVyQVJNdjcuaCIKIG5hbWVzcGFjZSBKU0MgeyB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQVJN
djcgTWFjcm9Bc3NlbWJsZXJCYXNlOyB9OwogCi0jZWxpZiBQTEFURk9STShBUk0pCisjZWxpZiBQ
TEFURk9STShBUk1fVFJBRElUSU9OQUwpCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJBUk0uaCIK
IG5hbWVzcGFjZSBKU0MgeyB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQVJNIE1hY3JvQXNzZW1ibGVy
QmFzZTsgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0u
aAppbmRleCAxYTQyOTBkLi5kMDliODMwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk0uaApAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSA8d3RmL1Bs
YXRmb3JtLmg+CiAKLSNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQTEFURk9STShBUk0pCisjaWYg
RU5BQkxFKEFTU0VNQkxFUikgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogCiAjaW5jbHVk
ZSAiQVJNQXNzZW1ibGVyLmgiCiAjaW5jbHVkZSAiQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oIgpA
QCAtNzk3LDYgKzc5Nyw2IEBAIHByaXZhdGU6CiAKIH0KIAotI2VuZGlmCisjZW5kaWYgLy8gRU5B
QkxFKEFTU0VNQkxFUikgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogCiAjZW5kaWYgLy8g
TWFjcm9Bc3NlbWJsZXJBUk1faApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQ29kZVJlZi5oCmluZGV4IDM0MWE3ZmYuLjU2ODI2MGEgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmgKQEAgLTM3LDcgKzM3
LDcgQEAKIAogLy8gQVNTRVJUX1ZBTElEX0NPREVfUE9JTlRFUiBjaGVja3MgdGhhdCBwdHIgaXMg
YSBub24tbnVsbCBwb2ludGVyLCBhbmQgdGhhdCBpdCBpcyBhIHZhbGlkCiAvLyBpbnN0cnVjdGlv
biBhZGRyZXNzIG9uIHRoZSBwbGF0Zm9ybSAoZm9yIGV4YW1wbGUsIGNoZWNrIGFueSBhbGlnbm1l
bnQgcmVxdWlyZW1lbnRzKS4KLSNpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2lmIFBMQVRGT1JN
KEFSTV9USFVNQjIpCiAvLyBBUk0vdGh1bWIgaW5zdHJ1Y3Rpb25zIG11c3QgYmUgMTYtYml0IGFs
aWduZWQsIGJ1dCBhbGwgY29kZSBwb2ludGVycyB0byBiZSBsb2FkZWQKIC8vIGludG8gdGhlIHBy
b2Nlc3NvciBhcmUgZGVjb3JhdGVkIHdpdGggdGhlIGJvdHRvbSBiaXQgc2V0LCBpbmRpY2F0aW5n
IHRoYXQgdGhpcyBpcwogLy8gdGh1bWIgY29kZSAoYXMgb3Bvc2VkIHRvIDMyLWJpdCB0cmFkaXRp
b25hbCBBUk0pLiAgVGhlIGZpcnN0IHRlc3QgY2hlY2tzIGZvciBib3RoCkBAIC0xMjQsNyArMTI0
LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIGV4cGxpY2l0IE1hY3JvQXNzZW1ibGVyQ29kZVB0
cih2b2lkKiB2YWx1ZSkKLSNpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2lmIFBMQVRGT1JNKEFS
TV9USFVNQjIpCiAgICAgICAgIC8vIERlY29yYXRlIHRoZSBwb2ludGVyIGFzIGEgdGh1bWIgY29k
ZSBwb2ludGVyLgogICAgICAgICA6IG1fdmFsdWUocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4odmFs
dWUpICsgMSkKICNlbHNlCkBAIC0xNDEsNyArMTQxLDcgQEAgcHVibGljOgogICAgIH0KIAogICAg
IHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQotI2lm
IFBMQVRGT1JNX0FSTV9BUkNIKDcpCisjaWYgUExBVEZPUk0oQVJNX1RIVU1CMikKICAgICAvLyBU
byB1c2UgdGhpcyBwb2ludGVyIGFzIGEgZGF0YSBhZGRyZXNzIHJlbW92ZSB0aGUgZGVjb3JhdGlv
bi4KICAgICB2b2lkKiBkYXRhTG9jYXRpb24oKSBjb25zdCB7IEFTU0VSVF9WQUxJRF9DT0RFX1BP
SU5URVIobV92YWx1ZSk7IHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihtX3ZhbHVlKSAt
IDE7IH0KICNlbHNlCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFs
bG9jYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAppbmRl
eCA1MWFkYTAzLi4yOGE1NWJjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0
YWJsZUFsbG9jYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2Nh
dG9yLmgKQEAgLTE4MCw3ICsxODAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgY2FjaGVG
bHVzaCh2b2lkKiwgc2l6ZV90KQogICAgIHsKICAgICB9Ci0jZWxpZiBQTEFURk9STV9BUk1fQVJD
SCg3KSAmJiBQTEFURk9STShJUEhPTkUpCisjZWxpZiBQTEFURk9STShBUk1fVEhVTUIyKSAmJiBQ
TEFURk9STShJUEhPTkUpCiAgICAgc3RhdGljIHZvaWQgY2FjaGVGbHVzaCh2b2lkKiBjb2RlLCBz
aXplX3Qgc2l6ZSkKICAgICB7CiAgICAgICAgIHN5c19kY2FjaGVfZmx1c2goY29kZSwgc2l6ZSk7
CkBAIC0xOTEsNyArMTkxLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgVXNlcjo6SU1CX1Jh
bmdlKGNvZGUsIHN0YXRpY19jYXN0PGNoYXIqPihjb2RlKSArIHNpemUpOwogICAgIH0KLSNlbGlm
IFBMQVRGT1JNKEFSTSkKKyNlbGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKICAgICBzdGF0
aWMgdm9pZCBjYWNoZUZsdXNoKHZvaWQqIGNvZGUsIHNpemVfdCBzaXplKQogICAgIHsKICAgICAj
aWYgQ09NUElMRVIoR0NDKSAmJiAoR0NDX1ZFUlNJT04gPj0gMzA0MDYpCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXgg
ZjdhYzIwZS4uNWM1OGU5ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtMjI2LDcgKzIyNiw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICBzdGF0aWMgY29uc3QgRlBSZWdpc3RlcklEIGZwUmVnVDAgPSBYODZS
ZWdpc3RlcnM6OnhtbTA7CiAgICAgICAgIHN0YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdU
MSA9IFg4NlJlZ2lzdGVyczo6eG1tMTsKICAgICAgICAgc3RhdGljIGNvbnN0IEZQUmVnaXN0ZXJJ
RCBmcFJlZ1QyID0gWDg2UmVnaXN0ZXJzOjp4bW0yOwotI2VsaWYgUExBVEZPUk1fQVJNX0FSQ0go
NykKKyNlbGlmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAgICAgICAgIHN0YXRpYyBjb25zdCBSZWdp
c3RlcklEIHJldHVyblZhbHVlUmVnaXN0ZXIgPSBBUk1SZWdpc3RlcnM6OnIwOwogICAgICAgICBz
dGF0aWMgY29uc3QgUmVnaXN0ZXJJRCBjYWNoZWRSZXN1bHRSZWdpc3RlciA9IEFSTVJlZ2lzdGVy
czo6cjA7CiAgICAgICAgIHN0YXRpYyBjb25zdCBSZWdpc3RlcklEIGZpcnN0QXJndW1lbnRSZWdp
c3RlciA9IEFSTVJlZ2lzdGVyczo6cjA7CkBAIC0yNDIsNyArMjQyLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdUMCA9IEFSTVJlZ2lz
dGVyczo6ZDA7CiAgICAgICAgIHN0YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdUMSA9IEFS
TVJlZ2lzdGVyczo6ZDE7CiAgICAgICAgIHN0YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdU
MiA9IEFSTVJlZ2lzdGVyczo6ZDI7Ci0jZWxpZiBQTEFURk9STShBUk0pCisjZWxpZiBQTEFURk9S
TShBUk1fVFJBRElUSU9OQUwpCiAgICAgICAgIHN0YXRpYyBjb25zdCBSZWdpc3RlcklEIHJldHVy
blZhbHVlUmVnaXN0ZXIgPSBBUk1SZWdpc3RlcnM6OnIwOwogICAgICAgICBzdGF0aWMgY29uc3Qg
UmVnaXN0ZXJJRCBjYWNoZWRSZXN1bHRSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6cjA7CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBSZWdpc3RlcklEIGZpcnN0QXJndW1lbnRSZWdpc3RlciA9IEFSTVJl
Z2lzdGVyczo6cjA7CkBAIC01NzEsNyArNTcxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvT2JqID0gMTE7CiAg
ICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvU3RydWN0
ID0gMTg7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1B1
dEZ1bmN0aW9uID0gMjk7Ci0jZWxpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2VsaWYgUExBVEZP
Uk0oQVJNX1RIVU1CMikKICAgICAgICAgLy8gVGhlc2UgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIHZh
bHVlIGFyZSB1c2VkIHRvIGVuYWJsZSBwYXRjaGluZyAtIHNlZSBjb21tZW50IG9uIG9wX3B1dF9i
eV9pZC4KICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldFB1dEJ5SWRTdHJ1Y3R1
cmUgPSAxMDsKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldFB1dEJ5SWRFeHRl
cm5hbExvYWQgPSAyMDsKQEAgLTU5NCw3ICs1OTQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHJvdG9PYmogPSAxODsK
ICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHJvdG9TdHJ1
Y3QgPSAyODsKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNr
UHV0RnVuY3Rpb24gPSA0NjsKLSNlbGlmIFBMQVRGT1JNKEFSTSkKKyNlbGlmIFBMQVRGT1JNKEFS
TV9UUkFESVRJT05BTCkKICAgICAgICAgLy8gVGhlc2UgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIHZh
bHVlIGFyZSB1c2VkIHRvIGVuYWJsZSBwYXRjaGluZyAtIHNlZSBjb21tZW50IG9uIG9wX3B1dF9i
eV9pZC4KICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldFB1dEJ5SWRTdHJ1Y3R1
cmUgPSA0OwogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0UHV0QnlJZEV4dGVy
bmFsTG9hZCA9IDE2OwpAQCAtNjIwLDcgKzYyMCw3IEBAIG5hbWVzcGFjZSBKU0MgewogI2VuZGlm
CiAjZW5kaWYgLy8gVVNFKEpTVkFMVUUzMl82NCkKIAotI2lmIFBMQVRGT1JNKEFSTSkgJiYgIVBM
QVRGT1JNX0FSTV9BUkNIKDcpCisjaWYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogICAgICAg
ICAvLyBzZXF1ZW5jZU9wQ2FsbAogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlT3BD
YWxsSW5zdHJ1Y3Rpb25TcGFjZSA9IDEyOwogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVl
bmNlT3BDYWxsQ29uc3RhbnRTcGFjZSA9IDI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUSW5saW5lTWV0aG9kcy5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhv
ZHMuaAppbmRleCA2MGM5NjU4Li5lNjllMjczIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUSW5saW5lTWV0aG9kcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVN
ZXRob2RzLmgKQEAgLTExMCw3ICsxMTAsNyBAQCBBTFdBWVNfSU5MSU5FIEpJVDo6Q2FsbCBKSVQ6
OmVtaXROYWtlZENhbGwoQ29kZVB0ciBmdW5jdGlvbikKIAogQUxXQVlTX0lOTElORSB2b2lkIEpJ
VDo6YmVnaW5VbmludGVycnVwdGVkU2VxdWVuY2UoaW50IGluc25TcGFjZSwgaW50IGNvbnN0U3Bh
Y2UpCiB7Ci0jaWYgUExBVEZPUk0oQVJNKSAmJiAhUExBVEZPUk1fQVJNX0FSQ0goNykKKyNpZiBQ
TEFURk9STShBUk1fVFJBRElUSU9OQUwpCiAjaWZuZGVmIE5ERUJVRwogICAgIC8vIEVuc3VyZSB0
aGUgbGFiZWwgYWZ0ZXIgdGhlIHNlcXVlbmNlIGNhbiBhbHNvIGZpdAogICAgIGluc25TcGFjZSAr
PSBzaXplb2YoQVJNV29yZCk7CkBAIC0xMzksMzggKzEzOSwzOCBAQCBBTFdBWVNfSU5MSU5FIHZv
aWQgSklUOjplbmRVbmludGVycnVwdGVkU2VxdWVuY2UoaW50IGluc25TcGFjZSwgaW50IGNvbnN0
U3BhY2UpCiAKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oWDg2KSB8fCBQTEFURk9STShYODZfNjQp
IHx8IChQTEFURk9STShBUk0pICYmICFQTEFURk9STV9BUk1fQVJDSCg3KSkKKyNpZiBQTEFURk9S
TShBUk1fVEhVTUIyKQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjpwcmVzZXJ2ZVJldHVybkFk
ZHJlc3NBZnRlckNhbGwoUmVnaXN0ZXJJRCByZWcpCiB7Ci0gICAgcG9wKHJlZyk7CisgICAgbW92
ZShsaW5rUmVnaXN0ZXIsIHJlZyk7CiB9CiAKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OnJlc3Rv
cmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKFJlZ2lzdGVySUQgcmVnKQogewotICAgIHB1c2go
cmVnKTsKKyAgICBtb3ZlKHJlZywgbGlua1JlZ2lzdGVyKTsKIH0KIAogQUxXQVlTX0lOTElORSB2
b2lkIEpJVDo6cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oQWRkcmVzcyBhZGRyZXNz
KQogewotICAgIHB1c2goYWRkcmVzcyk7CisgICAgbG9hZFB0cihhZGRyZXNzLCBsaW5rUmVnaXN0
ZXIpOwogfQogCi0jZWxpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2Vsc2UgLy8gUExBVEZPUk0o
WDg2KSB8fCBQTEFURk9STShYODZfNjQpIHx8IFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKIAog
QUxXQVlTX0lOTElORSB2b2lkIEpJVDo6cHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKFJl
Z2lzdGVySUQgcmVnKQogewotICAgIG1vdmUobGlua1JlZ2lzdGVyLCByZWcpOworICAgIHBvcChy
ZWcpOwogfQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjpyZXN0b3JlUmV0dXJuQWRkcmVzc0Jl
Zm9yZVJldHVybihSZWdpc3RlcklEIHJlZykKIHsKLSAgICBtb3ZlKHJlZywgbGlua1JlZ2lzdGVy
KTsKKyAgICBwdXNoKHJlZyk7CiB9CiAKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OnJlc3RvcmVS
ZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKEFkZHJlc3MgYWRkcmVzcykKIHsKLSAgICBsb2FkUHRy
KGFkZHJlc3MsIGxpbmtSZWdpc3Rlcik7CisgICAgcHVzaChhZGRyZXNzKTsKIH0KIAogI2VuZGlm
CkBAIC0xODYsNyArMTg2LDcgQEAgQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6cmVzdG9yZUFyZ3Vt
ZW50UmVmZXJlbmNlKCkKIHsKICAgICBtb3ZlKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBmaXJzdEFy
Z3VtZW50UmVnaXN0ZXIpOwogICAgIHBva2UoY2FsbEZyYW1lUmVnaXN0ZXIsIE9CSkVDVF9PRkZT
RVRPRihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwgY2FsbEZyYW1lKSAvIHNpemVvZiAodm9pZCopKTsK
LSNpZiBQTEFURk9STShBUk0pICYmICFQTEFURk9STV9BUk1fQVJDSCg3KQorI2lmIFBMQVRGT1JN
KEFSTV9UUkFESVRJT05BTCkKICAgICBtb3ZlKGN0aVJldHVyblJlZ2lzdGVyLCBBUk1SZWdpc3Rl
cnM6OmxyKTsKICNlbmRpZgogfQpAQCAtMTk1LDcgKzE5NSw3IEBAIEFMV0FZU19JTkxJTkUgdm9p
ZCBKSVQ6OnJlc3RvcmVBcmd1bWVudFJlZmVyZW5jZUZvclRyYW1wb2xpbmUoKQogI2lmIFBMQVRG
T1JNKFg4NikKICAgICAvLyBXaXRoaW4gYSB0cmFtcG9saW5lIHRoZSByZXR1cm4gYWRkcmVzcyB3
aWxsIGJlIG9uIHRoZSBzdGFjayBhdCB0aGlzIHBvaW50LgogICAgIGFkZFB0cihJbW0zMihzaXpl
b2Yodm9pZCopKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIsIGZpcnN0QXJndW1lbnRSZWdpc3Rlcik7
Ci0jZWxpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2VsaWYgUExBVEZPUk0oQVJNX1RIVU1CMikK
ICAgICBtb3ZlKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBmaXJzdEFyZ3VtZW50UmVnaXN0ZXIpOwog
I2VuZGlmCiAgICAgLy8gSW4gdGhlIHRyYW1wb2xpbmUgb24geDg2LTY0LCB0aGUgZmlyc3QgYXJn
dW1lbnQgcmVnaXN0ZXIgaXMgbm90IG92ZXJ3cml0dGVuLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCmluZGV4IDFjOWNkN2UuLjI4ZDYzMGIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGNvZGVzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAK
QEAgLTE2ODEsNyArMTY4MSw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVU
cmFtcG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgLy8gc28g
cHVsbCB0aGVtIG9mZiBub3cKICAgICBhZGRQdHIoSW1tMzIoTmF0aXZlQ2FsbEZyYW1lU2l6ZSAt
IHNpemVvZihOYXRpdmVGdW5jdGlvbkNhbGxlZVNpZ25hdHVyZSkpLCBzdGFja1BvaW50ZXJSZWdp
c3Rlcik7CiAKLSNlbGlmIFBMQVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FSTV9BUkNIKDcpCisj
ZWxpZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCiAgICAgZW1pdEdldEZyb21DYWxsRnJhbWVI
ZWFkZXIzMihSZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQsIHJlZ1QwKTsKIAogICAgIC8vIEFs
bG9jYXRlIHN0YWNrIHNwYWNlIGZvciBvdXIgYXJnbGlzdApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzLmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAK
aW5kZXggNGFiNThkNS4uZTNjNDhkMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFN0dWJzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCkBAIC0xOTMs
NyArMTkzLDcgQEAgU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIlxuIgog
ICAgICJyZXQiICJcbiIKICk7CiAKLSNlbGlmIENPTVBJTEVSKEdDQykgJiYgUExBVEZPUk1fQVJN
X0FSQ0goNykKKyNlbGlmIENPTVBJTEVSKEdDQykgJiYgUExBVEZPUk0oQVJNX1RIVU1CMikKIAog
I2lmIFVTRShKSVRfU1RVQl9BUkdVTUVOVF9WQV9MSVNUKQogI2Vycm9yICJKSVRfU1RVQl9BUkdV
TUVOVF9WQV9MSVNUIG5vdCBzdXBwb3J0ZWQgb24gQVJNdjcuIgpAQCAtNDUyLDcgKzQ1Miw3IEBA
IFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICJcbiIKICAgICAicmV0IiAi
XG4iCiApOwogCi0jZWxpZiBDT01QSUxFUihHQ0MpICYmIFBMQVRGT1JNX0FSTV9BUkNIKDcpCisj
ZWxpZiBDT01QSUxFUihHQ0MpICYmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAKICNpZiBVU0UoSklU
X1NUVUJfQVJHVU1FTlRfVkFfTElTVCkKICNlcnJvciAiSklUX1NUVUJfQVJHVU1FTlRfVkFfTElT
VCBub3Qgc3VwcG9ydGVkIG9uIEFSTXY3LiIKQEAgLTUxNiw3ICs1MTYsNyBAQCBTWU1CT0xfU1RS
SU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICI6IiAiXG4iCiAgICAgImJ4IGxyIiAiXG4iCiApOwog
Ci0jZWxpZiBDT01QSUxFUihHQ0MpICYmIFBMQVRGT1JNKEFSTSkKKyNlbGlmIENPTVBJTEVSKEdD
QykgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogCiBhc20gdm9sYXRpbGUgKAogIi5nbG9i
bCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIlxuIgpAQCAtNjM2LDcgKzYzNiw3IEBA
IEpJVFRodW5rczo6SklUVGh1bmtzKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKIHsKICAgICBK
SVQ6OmNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMoZ2xvYmFsRGF0YSwgJm1fZXhlY3V0YWJs
ZVBvb2wsICZtX2N0aVN0cmluZ0xlbmd0aFRyYW1wb2xpbmUsICZtX2N0aVZpcnR1YWxDYWxsTGlu
aywgJm1fY3RpVmlydHVhbENhbGwsICZtX2N0aU5hdGl2ZUNhbGxUaHVuayk7CiAKLSNpZiBQTEFU
Rk9STV9BUk1fQVJDSCg3KQorI2lmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAgICAgLy8gVW5mb3J0
dW5hdGUgdGhlIGFybSBjb21waWxlciBkb2VzIG5vdCBsaWtlIHRoZSB1c2Ugb2Ygb2Zmc2V0b2Yg
b24gSklUU3RhY2tGcmFtZSAoc2luY2UgaXQgY29udGFpbnMgbm9uIFBPRCB0eXBlcyksCiAgICAg
Ly8gYW5kIHRoZSBPQkpFQ1RfT0ZGU0VUT0YgbWFjcm8gZG9lcyBub3QgYXBwZWFyIGNvbnN0YW50
aXNoIGVub3VnaCBmb3IgaXQgdG8gYmUgaGFwcHkgd2l0aCBpdHMgdXNlIGluIENPTVBJTEVfQVNT
RVJUCiAgICAgLy8gbWFjcm9zLgpAQCAtODc2LDcgKzg3Niw3IEBAIHN0YXRpYyBORVZFUl9JTkxJ
TkUgdm9pZCB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNH
bG9iYWxECiAgICAgICAgIH0gXAogICAgIH0gd2hpbGUgKDApCiAKLSNpZiBQTEFURk9STV9BUk1f
QVJDSCg3KQorI2lmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAKICNkZWZpbmUgREVGSU5FX1NUVUJf
RlVOQ1RJT04ocnR5cGUsIG9wKSBcCiAgICAgZXh0ZXJuICJDIiB7IFwKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJz
LmgKaW5kZXggMWRiZGVhYS4uMzY1MmYyOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFN0dWJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgKQEAgLTEyOSw3
ICsxMjksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICNpZiBDT01QSUxFUihNU1ZDKQogI3ByYWdtYSBw
YWNrKHBvcCkKICNlbmRpZiAvLyBDT01QSUxFUihNU1ZDKQotI2VsaWYgUExBVEZPUk1fQVJNX0FS
Q0goNykKKyNlbGlmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAgICAgc3RydWN0IEpJVFN0YWNrRnJh
bWUgewogICAgICAgICB2b2lkKiByZXNlcnZlZDsgLy8gVW51c2VkCiAgICAgICAgIEpJVFN0dWJB
cmcgYXJnc1s2XTsKQEAgLTE1NSw3ICsxNTUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
CiAgICAgICAgIFJldHVybkFkZHJlc3NQdHIqIHJldHVybkFkZHJlc3NTbG90KCkgeyByZXR1cm4g
JnRodW5rUmV0dXJuQWRkcmVzczsgfQogICAgIH07Ci0jZWxpZiBQTEFURk9STShBUk0pCisjZWxp
ZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCiAgICAgc3RydWN0IEpJVFN0YWNrRnJhbWUgewog
ICAgICAgICBKSVRTdHViQXJnIHBhZGRpbmc7IC8vIFVudXNlZAogICAgICAgICBKSVRTdHViQXJn
IGFyZ3NbN107CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDg0MmZmYmQuLjBkMGQ2MTMgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9QbGF0Zm9ybS5oCkBAIC0yMjYsNiArMjI2LDggQEAKICNlbmRpZgogCiAvKiBQTEFURk9S
TShBUk0pICovCisjZGVmaW5lIFBMQVRGT1JNX0FSTV9BUkNIKE4pIChQTEFURk9STShBUk0pICYm
IEFSTV9BUkNIX1ZFUlNJT04gPj0gTikKKwogI2lmICAgZGVmaW5lZChhcm0pIFwKICAgIHx8IGRl
ZmluZWQoX19hcm1fXykKICNkZWZpbmUgV1RGX1BMQVRGT1JNX0FSTSAxCkBAIC0yNTUsOCArMjU3
LDIxIEBACiAjdW5kZWYgQVJNX0FSQ0hfVkVSU0lPTgogI2RlZmluZSBBUk1fQVJDSF9WRVJTSU9O
IDcKICNlbmRpZgorLyogRGVmaW5lcyB0d28gcHNldWRvLXBsYXRmb3JtcyBmb3IgQVJNIGFuZCBU
aHVtYi0yIGluc3RydWN0aW9uIHNldC4gKi8KKyNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fQVJN
X1RSQURJVElPTkFMKSAmJiAhZGVmaW5lZChXVEZfUExBVEZPUk1fQVJNX1RIVU1CMikKKyMgIGlm
IGRlZmluZWQodGh1bWIyKSB8fCBkZWZpbmVkKF9fdGh1bWIyX18pCisjICAgIGRlZmluZSBXVEZf
UExBVEZPUk1fQVJNX1RSQURJVElPTkFMIDAKKyMgICAgZGVmaW5lIFdURl9QTEFURk9STV9BUk1f
VEhVTUIyIDEKKyMgIGVsaWYgUExBVEZPUk1fQVJNX0FSQ0goNCkKKyMgICAgZGVmaW5lIFdURl9Q
TEFURk9STV9BUk1fVFJBRElUSU9OQUwgMQorIyAgICBkZWZpbmUgV1RGX1BMQVRGT1JNX0FSTV9U
SFVNQjIgMAorIyAgZWxzZQorIyAgICBlcnJvciAiTm90IHN1cHBvcnRlZCBBUk0gYXJjaGl0ZWN0
dXJlIgorIyAgZW5kaWYKKyNlbGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkgKyBQTEFURk9S
TShBUk1fVEhVTUIyKSA+IDEgLyogU2FuaXR5IENoZWNrICovCisjICBlcnJvciAiQ2Fubm90IHVz
ZSBib3RoIG9mIFdURl9QTEFURk9STV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9QTEFURk9STV9B
Uk1fVEhVTUIyIHBsYXRmb3JtcyIKKyNlbmRpZiAvLyAhZGVmaW5lZChBUk1fVFJBRElUSU9OQUwp
ICYmICFkZWZpbmVkKEFSTV9USFVNQjIpCiAjZW5kaWYgLyogQVJNICovCi0jZGVmaW5lIFBMQVRG
T1JNX0FSTV9BUkNIKE4pIChQTEFURk9STShBUk0pICYmIEFSTV9BUkNIX1ZFUlNJT04gPj0gTikK
IAogLyogUExBVEZPUk0oWDg2KSAqLwogI2lmICAgZGVmaW5lZChfX2kzODZfXykgXApAQCAtNTk4
LDcgKzYxMyw3IEBACiAjaWYgIWRlZmluZWQoV1RGX1VTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVk
KFdURl9VU0VfSlNWQUxVRTMyKSAmJiAhZGVmaW5lZChXVEZfVVNFX0pTVkFMVUUzMl82NCkKICNp
ZiBQTEFURk9STShYODZfNjQpICYmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKExJTlVYKSkK
ICNkZWZpbmUgV1RGX1VTRV9KU1ZBTFVFNjQgMQotI2VsaWYgUExBVEZPUk0oQVJNKSB8fCBQTEFU
Rk9STShQUEM2NCkKKyNlbGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkgfHwgUExBVEZPUk0o
UFBDNjQpCiAjZGVmaW5lIFdURl9VU0VfSlNWQUxVRTMyIDEKICNlbHNlCiAjZGVmaW5lIFdURl9V
U0VfSlNWQUxVRTMyXzY0IDEKQEAgLTYxOCw3ICs2MzMsNyBAQAogI2VsaWYgUExBVEZPUk0oWDg2
KSAmJiBQTEFURk9STShNQUMpCiAgICAgI2RlZmluZSBFTkFCTEVfSklUIDEKICAgICAjZGVmaW5l
IFdURl9VU0VfSklUX1NUVUJfQVJHVU1FTlRfVkFfTElTVCAxCi0jZWxpZiBQTEFURk9STV9BUk1f
QVJDSCg3KSAmJiBQTEFURk9STShJUEhPTkUpCisjZWxpZiBQTEFURk9STShBUk1fVEhVTUIyKSAm
JiBQTEFURk9STShJUEhPTkUpCiAgICAgLyogVW5kZXIgZGV2ZWxvcG1lbnQsIHRlbXBvcmFyaWx5
IGRpc2FibGVkIHVudGlsIDE2TWIgbGluayByYW5nZSBsaW1pdCBpbiBhc3NlbWJsZXIgaXMgZml4
ZWQuICovCiAgICAgI2RlZmluZSBFTkFCTEVfSklUIDAKICAgICAjZGVmaW5lIEVOQUJMRV9KSVRf
T1BUSU1JWkVfTkFUSVZFX0NBTEwgMApAQCAtNjM3LDcgKzY1Miw3IEBACiAjZWxpZiBQTEFURk9S
TShYODYpICYmIFBMQVRGT1JNKExJTlVYKSAmJiBHQ0NfVkVSU0lPTiA+PSA0MDEwMAogICAgICNk
ZWZpbmUgRU5BQkxFX0pJVCAxCiAgICAgI2RlZmluZSBXVEZfVVNFX0pJVF9TVFVCX0FSR1VNRU5U
X1ZBX0xJU1QgMQotI2VsaWYgUExBVEZPUk0oQVJNKSAmJiAhUExBVEZPUk1fQVJNX0FSQ0goNykg
JiYgUExBVEZPUk0oTElOVVgpCisjZWxpZiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpICYmIFBM
QVRGT1JNKExJTlVYKQogICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCiAjZW5kaWYKICNlbmRpZiAv
KiBQTEFURk9STShRVCkgKi8KQEAgLTY4NCw3ICs2OTksNyBAQAogI2lmIChQTEFURk9STShYODYp
ICYmIFBMQVRGT1JNKE1BQykpIFwKICB8fCAoUExBVEZPUk0oWDg2XzY0KSAmJiBQTEFURk9STShN
QUMpKSBcCiAgLyogVW5kZXIgZGV2ZWxvcG1lbnQsIHRlbXBvcmFyaWx5IGRpc2FibGVkIHVudGls
IDE2TWIgbGluayByYW5nZSBsaW1pdCBpbiBhc3NlbWJsZXIgaXMgZml4ZWQuICovIFwKLSB8fCAo
UExBVEZPUk1fQVJNX0FSQ0goNykgJiYgUExBVEZPUk0oSVBIT05FKSAmJiAwKSBcCisgfHwgKFBM
QVRGT1JNKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElQSE9ORSkgJiYgMCkgXAogIHx8IChQTEFU
Rk9STShYODYpICYmIFBMQVRGT1JNKFdJTikpCiAjZGVmaW5lIEVOQUJMRV9ZQVJSIDEKICNkZWZp
bmUgRU5BQkxFX1lBUlJfSklUIDEKQEAgLTY5NCw3ICs3MDksNyBAQAogI2lmIChQTEFURk9STShY
ODYpICYmIFBMQVRGT1JNKFdJTl9PUykgJiYgQ09NUElMRVIoTUlOR1cpICYmIEdDQ19WRVJTSU9O
ID49IDQwMTAwKSBcCiAgfHwgKFBMQVRGT1JNKFg4NikgJiYgUExBVEZPUk0oV0lOX09TKSAmJiBD
T01QSUxFUihNU1ZDKSkgXAogIHx8IChQTEFURk9STShYODYpICYmIFBMQVRGT1JNKExJTlVYKSAm
JiBHQ0NfVkVSU0lPTiA+PSA0MDEwMCkgXAotIHx8IChQTEFURk9STShBUk0pICYmICFQTEFURk9S
TV9BUk1fQVJDSCg3KSAmJiBQTEFURk9STShMSU5VWCkpCisgfHwgKFBMQVRGT1JNKEFSTV9UUkFE
SVRJT05BTCkgJiYgUExBVEZPUk0oTElOVVgpKQogI2RlZmluZSBFTkFCTEVfWUFSUiAxCiAjZGVm
aW5lIEVOQUJMRV9ZQVJSX0pJVCAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3lhcnIvUmVnZXhKSVQuY3BwIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAKaW5k
ZXggMTZiMWVjYy4uNDM5MGI1YiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eEpJVC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAKQEAgLTEzMDks
NyArMTMwOSw3IEBAIGNsYXNzIFJlZ2V4R2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2VtYmxl
ciB7CiAgICAgICAgIGxvYWRQdHIoQWRkcmVzcyhYODZSZWdpc3RlcnM6OmVicCwgMiAqIHNpemVv
Zih2b2lkKikpLCBvdXRwdXQpOwogICAgICNlbmRpZgogI2VsaWYgUExBVEZPUk0oQVJNKQotI2lm
ICFQTEFURk9STV9BUk1fQVJDSCg3KQorI2lmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKICAg
ICAgICAgcHVzaChBUk1SZWdpc3RlcnM6OmxyKTsKICNlbmRpZgogICAgICAgICBwdXNoKEFSTVJl
Z2lzdGVyczo6cjQpOwotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39596</attachid>
            <date>2009-09-15 06:16:24 -0700</date>
            <delta_ts>2009-09-17 00:14:42 -0700</delta_ts>
            <desc>Defines two pseudo-platforms for ARM and Thumb-2 instruction set (v2)</desc>
            <filename>0001-Defines-two-pseudo-platforms-for-ARM-and-Thumb-2-ins.patch</filename>
            <type>text/plain</type>
            <size>20765</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSA4M2ExMGExNjE1N2ZjMzY4YWQ5NDFjM2I2MGI5NThmMzFmZDE3OTM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogVHVlLCAxNSBTZXAgMjAwOSAxNTowOTo1NCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIERlZmlu
ZXMgdHdvIHBzZXVkby1wbGF0Zm9ybXMgZm9yIEFSTSBhbmQgVGh1bWItMiBpbnN0cnVjdGlvbiBz
ZXQuCgpTaWduZWQtb2ZmLWJ5OiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KLS0t
CiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM3
ICsrKysrKysrKysrKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3Nl
bWJsZXIuY3BwICAgICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1B
c3NlbWJsZXIuaCAgICAgICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
Uk12N0Fzc2VtYmxlci5oICAgICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlci5oICAgICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oICAgICB8ICAgIDQgKy0KIEphdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCB8ICAgIDYgKystLQogSmF2YVNjcmlw
dENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaCAgICAgICAgIHwgICAgNCArLQogSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKystLS0K
IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2RzLmggICAgICAgICAgICB8ICAgMjIg
KysrKysrLS0tLS0tCiBKYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgICAgICAgICAg
ICAgICAgfCAgICAyICstCiBKYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwICAgICAgICAg
ICAgICAgICAgfCAgIDEwICsrKy0tLQogSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmggICAg
ICAgICAgICAgICAgICAgIHwgICAgNCArLQogSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgg
ICAgICAgICAgICAgICAgICAgIHwgICAyNSArKysrKysrKysrKystLS0KIEphdmFTY3JpcHRDb3Jl
L3lhcnIvUmVnZXhKSVQuY3BwICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIDE2IGZpbGVzIGNo
YW5nZWQsIDk5IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
NDY5NGEzLi5kNGNiYzNlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysr
IGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMDktMDktMTUg
IEdhYm9yIExva2kgIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWZpbmVzIHR3byBwc2V1ZG8tcGxhdGZvcm1z
IGZvciBBUk0gYW5kIFRodW1iLTIgaW5zdHJ1Y3Rpb24gc2V0LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkxMjIKKworICAgICAgICBJbnRyb2R1Y2Vz
IFdURl9QTEFURk9STV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9QTEFURk9STV9BUk1fVEhVTUIy
CisgICAgICAgIG1hY3JvcyBvbiBBUk0gcGxhdGZvcm1zLiBUaGUgUExBVEZPUk0oQVJNX1RIVU1C
Mikgc2hvdWxkIGJlIHVzZWQKKyAgICAgICAgd2hlbiBUaHVtYi0yIGluc3RydWN0aW9uIHNldCBp
cyB0aGUgcmVxdWlyZWQgdGFyZ2V0LiBUaGUKKyAgICAgICAgUExBVEZPUk0oQVJNX1RSQURJVElP
TkFMKSBpcyBmb3IgZ2VuZXJpYyBBUk0gaW5zdHJ1Y3Rpb24gc2V0LiBJbgorICAgICAgICBjYXNl
IHdoZXJlIHRoZSBjb2RlIGlzIGNvbW1vbiB0aGUgUExBVEZPUk0oQVJNKSBoYXZlIHRvIGJlIHVz
ZWQuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmNwcDoKKyAgICAgICAgKiBh
c3NlbWJsZXIvQVJNQXNzZW1ibGVyLmg6CisgICAgICAgICogYXNzZW1ibGVyL0FSTXY3QXNzZW1i
bGVyLmg6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmg6CisgICAgICAgICog
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmNwcDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk0uaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmLmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQ29kZVB0cjo6TWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyKToKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oOgorICAgICAg
ICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAg
ICAoSlNDOjpKSVQ6OmJlZ2luVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKToKKyAgICAgICAgKEpTQzo6
SklUOjpwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwpOgorICAgICAgICAoSlNDOjpKSVQ6
OnJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKToKKyAgICAgICAgKEpTQzo6SklUOjpy
ZXN0b3JlQXJndW1lbnRSZWZlcmVuY2UpOgorICAgICAgICAoSlNDOjpKSVQ6OnJlc3RvcmVBcmd1
bWVudFJlZmVyZW5jZUZvclRyYW1wb2xpbmUpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNw
cDoKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgorICAgICAgICAoSlNDOjpKSVRUaHVua3M6
OkpJVFRodW5rcyk6CisgICAgICAgICogaml0L0pJVFN0dWJzLmg6CisgICAgICAgICogd3RmL1Bs
YXRmb3JtLmg6CisgICAgICAgICogeWFyci9SZWdleEpJVC5jcHA6CisgICAgICAgIChKU0M6Ollh
cnI6OlJlZ2V4R2VuZXJhdG9yOjpnZW5lcmF0ZUVudGVyKToKKwogMjAwOS0wOS0xNSAgQ3NhYmEg
T3N6dHJvZ29uYWMgIDxvc3ppQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBUb3IgQXJuZSBWZXN0YsO4LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0FSTUFzc2VtYmxlci5jcHAgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVy
LmNwcAppbmRleCA3N2Q3YTUzLi4xMzI0NTg2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvQVJNQXNzZW1ibGVyLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
QVJNQXNzZW1ibGVyLmNwcApAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAKLSNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQTEFURk9STShBUk0pCisjaWYgRU5BQkxFKEFT
U0VNQkxFUikgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogCiAjaW5jbHVkZSAiQVJNQXNz
ZW1ibGVyLmgiCiAKQEAgLTM5MCw0ICszOTAsNCBAQCB2b2lkKiBBUk1Bc3NlbWJsZXI6OmV4ZWN1
dGFibGVDb3B5KEV4ZWN1dGFibGVQb29sKiBhbGxvY2F0b3IpCiAKIH0gLy8gbmFtZXNwYWNlIEpT
QwogCi0jZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikgJiYgUExBVEZPUk0oQVJNKQorI2VuZGlm
IC8vIEVOQUJMRShBU1NFTUJMRVIpICYmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaAppbmRleCAwYjA0YmI0Li45ZjlhNDUwIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oCkBAIC0yOSw3ICsyOSw3IEBA
CiAKICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAotI2lmIEVOQUJMRShBU1NFTUJMRVIpICYm
IFBMQVRGT1JNKEFSTSkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQTEFURk9STShBUk1fVFJB
RElUSU9OQUwpCiAKICNpbmNsdWRlICJBc3NlbWJsZXJCdWZmZXJXaXRoQ29uc3RhbnRQb29sLmgi
CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KQEAgLTc2NCw2ICs3NjQsNiBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoQVNTRU1C
TEVSKSAmJiBQTEFURk9STShBUk0pCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikgJiYgUExB
VEZPUk0oQVJNX1RSQURJVElPTkFMKQogCiAjZW5kaWYgLy8gQVJNQXNzZW1ibGVyX2gKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oIGIvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmgKaW5kZXggNzVmODg4Yi4uZWIxZDAz
ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmgKQEAgLTI4LDcg
KzI4LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCi0jaWYgRU5BQkxFKEFTU0VN
QkxFUikgJiYgUExBVEZPUk1fQVJNX0FSQ0goNykKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQ
TEFURk9STShBUk1fVEhVTUIyKQogCiAjaW5jbHVkZSAiQXNzZW1ibGVyQnVmZmVyLmgiCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KQEAgLTE3NTMsNiArMTc1Myw2IEBAIHByaXZhdGU6CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikgJiYgUExB
VEZPUk1fQVJNX0FSQ0goNykKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQTEFURk9S
TShBUk1fVEhVTUIyKQogCiAjZW5kaWYgLy8gQVJNQXNzZW1ibGVyX2gKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oIGIvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKaW5kZXggOWUxYzVkMy4uMjc0M2FiNCAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKQEAgLTMwLDExICszMCwxMSBA
QAogCiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAotI2lmIFBMQVRGT1JNX0FSTV9BUkNIKDcpCisj
aWYgUExBVEZPUk0oQVJNX1RIVU1CMikKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckFSTXY3Lmgi
CiBuYW1lc3BhY2UgSlNDIHsgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckFSTXY3IE1hY3JvQXNzZW1i
bGVyQmFzZTsgfTsKIAotI2VsaWYgUExBVEZPUk0oQVJNKQorI2VsaWYgUExBVEZPUk0oQVJNX1RS
QURJVElPTkFMKQogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQVJNLmgiCiBuYW1lc3BhY2UgSlND
IHsgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckFSTSBNYWNyb0Fzc2VtYmxlckJhc2U7IH07CiAKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3BwCmluZGV4IDMz
ZmFjNjQuLjQzNjQ4YzQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNLmNwcApAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAK
LSNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiBQTEFURk9STShBUk0pICYmICFQTEFURk9STV9BUk1f
QVJDSCg3KQorI2lmIEVOQUJMRShBU1NFTUJMRVIpICYmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05B
TCkKIAogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQVJNLmgiCiAKQEAgLTY0LDQgKzY0LDQgQEAg
Y29uc3QgYm9vbCBNYWNyb0Fzc2VtYmxlckFSTTo6c19pc1ZGUFByZXNlbnQgPSBpc1ZGUFByZXNl
bnQoKTsKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikgJiYgUExBVEZPUk0oQVJN
KSAmJiAhUExBVEZPUk1fQVJNX0FSQ0goNykKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKSAm
JiBQTEFURk9STShBUk1fVFJBRElUSU9OQUwpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlckFSTS5oCmluZGV4IDRhN2MxMGEuLjBjNjk2YzkgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCkBAIC0zMCw3ICszMCw3IEBACiAK
ICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAotI2lmIEVOQUJMRShBU1NFTUJMRVIpICYmIFBM
QVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FSTV9BUkNIKDcpCisjaWYgRU5BQkxFKEFTU0VNQkxF
UikgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogCiAjaW5jbHVkZSAiQVJNQXNzZW1ibGVy
LmgiCiAjaW5jbHVkZSAiQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oIgpAQCAtNzk3LDYgKzc5Nyw2
IEBAIHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpICYmIFBMQVRG
T1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FSTV9BUkNIKDcpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VN
QkxFUikgJiYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogCiAjZW5kaWYgLy8gTWFjcm9Bc3Nl
bWJsZXJBUk1faApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQ29kZVJlZi5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
Q29kZVJlZi5oCmluZGV4IDM0MWE3ZmYuLjU2ODI2MGEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmgKQEAgLTM3LDcgKzM3LDcgQEAKIAog
Ly8gQVNTRVJUX1ZBTElEX0NPREVfUE9JTlRFUiBjaGVja3MgdGhhdCBwdHIgaXMgYSBub24tbnVs
bCBwb2ludGVyLCBhbmQgdGhhdCBpdCBpcyBhIHZhbGlkCiAvLyBpbnN0cnVjdGlvbiBhZGRyZXNz
IG9uIHRoZSBwbGF0Zm9ybSAoZm9yIGV4YW1wbGUsIGNoZWNrIGFueSBhbGlnbm1lbnQgcmVxdWly
ZW1lbnRzKS4KLSNpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2lmIFBMQVRGT1JNKEFSTV9USFVN
QjIpCiAvLyBBUk0vdGh1bWIgaW5zdHJ1Y3Rpb25zIG11c3QgYmUgMTYtYml0IGFsaWduZWQsIGJ1
dCBhbGwgY29kZSBwb2ludGVycyB0byBiZSBsb2FkZWQKIC8vIGludG8gdGhlIHByb2Nlc3NvciBh
cmUgZGVjb3JhdGVkIHdpdGggdGhlIGJvdHRvbSBiaXQgc2V0LCBpbmRpY2F0aW5nIHRoYXQgdGhp
cyBpcwogLy8gdGh1bWIgY29kZSAoYXMgb3Bvc2VkIHRvIDMyLWJpdCB0cmFkaXRpb25hbCBBUk0p
LiAgVGhlIGZpcnN0IHRlc3QgY2hlY2tzIGZvciBib3RoCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIGV4cGxpY2l0IE1hY3JvQXNzZW1ibGVyQ29kZVB0cih2b2lkKiB2
YWx1ZSkKLSNpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2lmIFBMQVRGT1JNKEFSTV9USFVNQjIp
CiAgICAgICAgIC8vIERlY29yYXRlIHRoZSBwb2ludGVyIGFzIGEgdGh1bWIgY29kZSBwb2ludGVy
LgogICAgICAgICA6IG1fdmFsdWUocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4odmFsdWUpICsgMSkK
ICNlbHNlCkBAIC0xNDEsNyArMTQxLDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZvaWQqIGV4
ZWN1dGFibGVBZGRyZXNzKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQotI2lmIFBMQVRGT1JN
X0FSTV9BUkNIKDcpCisjaWYgUExBVEZPUk0oQVJNX1RIVU1CMikKICAgICAvLyBUbyB1c2UgdGhp
cyBwb2ludGVyIGFzIGEgZGF0YSBhZGRyZXNzIHJlbW92ZSB0aGUgZGVjb3JhdGlvbi4KICAgICB2
b2lkKiBkYXRhTG9jYXRpb24oKSBjb25zdCB7IEFTU0VSVF9WQUxJRF9DT0RFX1BPSU5URVIobV92
YWx1ZSk7IHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihtX3ZhbHVlKSAtIDE7IH0KICNl
bHNlCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5o
IGIvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAppbmRleCA1MWFkYTAz
Li4yOGE1NWJjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9j
YXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAg
LTE4MCw3ICsxODAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgY2FjaGVGbHVzaCh2b2lk
Kiwgc2l6ZV90KQogICAgIHsKICAgICB9Ci0jZWxpZiBQTEFURk9STV9BUk1fQVJDSCg3KSAmJiBQ
TEFURk9STShJUEhPTkUpCisjZWxpZiBQTEFURk9STShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJ
UEhPTkUpCiAgICAgc3RhdGljIHZvaWQgY2FjaGVGbHVzaCh2b2lkKiBjb2RlLCBzaXplX3Qgc2l6
ZSkKICAgICB7CiAgICAgICAgIHN5c19kY2FjaGVfZmx1c2goY29kZSwgc2l6ZSk7CkBAIC0xOTEs
NyArMTkxLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgVXNlcjo6SU1CX1JhbmdlKGNvZGUs
IHN0YXRpY19jYXN0PGNoYXIqPihjb2RlKSArIHNpemUpOwogICAgIH0KLSNlbGlmIFBMQVRGT1JN
KEFSTSkKKyNlbGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKICAgICBzdGF0aWMgdm9pZCBj
YWNoZUZsdXNoKHZvaWQqIGNvZGUsIHNpemVfdCBzaXplKQogICAgIHsKICAgICAjaWYgQ09NUElM
RVIoR0NDKSAmJiAoR0NDX1ZFUlNJT04gPj0gMzA0MDYpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZjdhYzIwZS4u
NWM1OGU5ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtMjI2LDcgKzIyNiw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICBzdGF0aWMgY29uc3QgRlBSZWdpc3RlcklEIGZwUmVnVDAgPSBYODZSZWdpc3RlcnM6
OnhtbTA7CiAgICAgICAgIHN0YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdUMSA9IFg4NlJl
Z2lzdGVyczo6eG1tMTsKICAgICAgICAgc3RhdGljIGNvbnN0IEZQUmVnaXN0ZXJJRCBmcFJlZ1Qy
ID0gWDg2UmVnaXN0ZXJzOjp4bW0yOwotI2VsaWYgUExBVEZPUk1fQVJNX0FSQ0goNykKKyNlbGlm
IFBMQVRGT1JNKEFSTV9USFVNQjIpCiAgICAgICAgIHN0YXRpYyBjb25zdCBSZWdpc3RlcklEIHJl
dHVyblZhbHVlUmVnaXN0ZXIgPSBBUk1SZWdpc3RlcnM6OnIwOwogICAgICAgICBzdGF0aWMgY29u
c3QgUmVnaXN0ZXJJRCBjYWNoZWRSZXN1bHRSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6cjA7CiAg
ICAgICAgIHN0YXRpYyBjb25zdCBSZWdpc3RlcklEIGZpcnN0QXJndW1lbnRSZWdpc3RlciA9IEFS
TVJlZ2lzdGVyczo6cjA7CkBAIC0yNDIsNyArMjQyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdUMCA9IEFSTVJlZ2lzdGVyczo6ZDA7
CiAgICAgICAgIHN0YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdUMSA9IEFSTVJlZ2lzdGVy
czo6ZDE7CiAgICAgICAgIHN0YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdUMiA9IEFSTVJl
Z2lzdGVyczo6ZDI7Ci0jZWxpZiBQTEFURk9STShBUk0pCisjZWxpZiBQTEFURk9STShBUk1fVFJB
RElUSU9OQUwpCiAgICAgICAgIHN0YXRpYyBjb25zdCBSZWdpc3RlcklEIHJldHVyblZhbHVlUmVn
aXN0ZXIgPSBBUk1SZWdpc3RlcnM6OnIwOwogICAgICAgICBzdGF0aWMgY29uc3QgUmVnaXN0ZXJJ
RCBjYWNoZWRSZXN1bHRSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6cjA7CiAgICAgICAgIHN0YXRp
YyBjb25zdCBSZWdpc3RlcklEIGZpcnN0QXJndW1lbnRSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6
cjA7CkBAIC01NzEsNyArNTcxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyBj
b25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvT2JqID0gMTE7CiAgICAgICAgIHN0
YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvU3RydWN0ID0gMTg7CiAg
ICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1B1dEZ1bmN0aW9u
ID0gMjk7Ci0jZWxpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2VsaWYgUExBVEZPUk0oQVJNX1RI
VU1CMikKICAgICAgICAgLy8gVGhlc2UgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIHZhbHVlIGFyZSB1
c2VkIHRvIGVuYWJsZSBwYXRjaGluZyAtIHNlZSBjb21tZW50IG9uIG9wX3B1dF9ieV9pZC4KICAg
ICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldFB1dEJ5SWRTdHJ1Y3R1cmUgPSAxMDsK
ICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldFB1dEJ5SWRFeHRlcm5hbExvYWQg
PSAyMDsKQEAgLTU5NCw3ICs1OTQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGlj
IGNvbnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHJvdG9PYmogPSAxODsKICAgICAgICAg
c3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHJvdG9TdHJ1Y3QgPSAyODsK
ICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHV0RnVuY3Rp
b24gPSA0NjsKLSNlbGlmIFBMQVRGT1JNKEFSTSkKKyNlbGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJ
T05BTCkKICAgICAgICAgLy8gVGhlc2UgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIHZhbHVlIGFyZSB1
c2VkIHRvIGVuYWJsZSBwYXRjaGluZyAtIHNlZSBjb21tZW50IG9uIG9wX3B1dF9ieV9pZC4KICAg
ICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldFB1dEJ5SWRTdHJ1Y3R1cmUgPSA0Owog
ICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0UHV0QnlJZEV4dGVybmFsTG9hZCA9
IDE2OwpAQCAtNjIwLDcgKzYyMCw3IEBAIG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAjZW5kaWYg
Ly8gVVNFKEpTVkFMVUUzMl82NCkKIAotI2lmIFBMQVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FS
TV9BUkNIKDcpCisjaWYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogICAgICAgICAvLyBzZXF1
ZW5jZU9wQ2FsbAogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlT3BDYWxsSW5zdHJ1
Y3Rpb25TcGFjZSA9IDEyOwogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVlbmNlT3BDYWxs
Q29uc3RhbnRTcGFjZSA9IDI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lTWV0aG9kcy5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaAppbmRl
eCA2MGM5NjU4Li5lNjllMjczIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lTWV0aG9kcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2RzLmgK
QEAgLTExMCw3ICsxMTAsNyBAQCBBTFdBWVNfSU5MSU5FIEpJVDo6Q2FsbCBKSVQ6OmVtaXROYWtl
ZENhbGwoQ29kZVB0ciBmdW5jdGlvbikKIAogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6YmVnaW5V
bmludGVycnVwdGVkU2VxdWVuY2UoaW50IGluc25TcGFjZSwgaW50IGNvbnN0U3BhY2UpCiB7Ci0j
aWYgUExBVEZPUk0oQVJNKSAmJiAhUExBVEZPUk1fQVJNX0FSQ0goNykKKyNpZiBQTEFURk9STShB
Uk1fVFJBRElUSU9OQUwpCiAjaWZuZGVmIE5ERUJVRwogICAgIC8vIEVuc3VyZSB0aGUgbGFiZWwg
YWZ0ZXIgdGhlIHNlcXVlbmNlIGNhbiBhbHNvIGZpdAogICAgIGluc25TcGFjZSArPSBzaXplb2Yo
QVJNV29yZCk7CkBAIC0xMzksMzggKzEzOSwzOCBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjpl
bmRVbmludGVycnVwdGVkU2VxdWVuY2UoaW50IGluc25TcGFjZSwgaW50IGNvbnN0U3BhY2UpCiAK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oWDg2KSB8fCBQTEFURk9STShYODZfNjQpIHx8IChQTEFU
Rk9STShBUk0pICYmICFQTEFURk9STV9BUk1fQVJDSCg3KSkKKyNpZiBQTEFURk9STShBUk1fVEhV
TUIyKQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjpwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRl
ckNhbGwoUmVnaXN0ZXJJRCByZWcpCiB7Ci0gICAgcG9wKHJlZyk7CisgICAgbW92ZShsaW5rUmVn
aXN0ZXIsIHJlZyk7CiB9CiAKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OnJlc3RvcmVSZXR1cm5B
ZGRyZXNzQmVmb3JlUmV0dXJuKFJlZ2lzdGVySUQgcmVnKQogewotICAgIHB1c2gocmVnKTsKKyAg
ICBtb3ZlKHJlZywgbGlua1JlZ2lzdGVyKTsKIH0KIAogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6
cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oQWRkcmVzcyBhZGRyZXNzKQogewotICAg
IHB1c2goYWRkcmVzcyk7CisgICAgbG9hZFB0cihhZGRyZXNzLCBsaW5rUmVnaXN0ZXIpOwogfQog
Ci0jZWxpZiBQTEFURk9STV9BUk1fQVJDSCg3KQorI2Vsc2UgLy8gUExBVEZPUk0oWDg2KSB8fCBQ
TEFURk9STShYODZfNjQpIHx8IFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkKIAogQUxXQVlTX0lO
TElORSB2b2lkIEpJVDo6cHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKFJlZ2lzdGVySUQg
cmVnKQogewotICAgIG1vdmUobGlua1JlZ2lzdGVyLCByZWcpOworICAgIHBvcChyZWcpOwogfQog
CiBBTFdBWVNfSU5MSU5FIHZvaWQgSklUOjpyZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVy
bihSZWdpc3RlcklEIHJlZykKIHsKLSAgICBtb3ZlKHJlZywgbGlua1JlZ2lzdGVyKTsKKyAgICBw
dXNoKHJlZyk7CiB9CiAKIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OnJlc3RvcmVSZXR1cm5BZGRy
ZXNzQmVmb3JlUmV0dXJuKEFkZHJlc3MgYWRkcmVzcykKIHsKLSAgICBsb2FkUHRyKGFkZHJlc3Ms
IGxpbmtSZWdpc3Rlcik7CisgICAgcHVzaChhZGRyZXNzKTsKIH0KIAogI2VuZGlmCkBAIC0xODYs
NyArMTg2LDcgQEAgQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6cmVzdG9yZUFyZ3VtZW50UmVmZXJl
bmNlKCkKIHsKICAgICBtb3ZlKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBmaXJzdEFyZ3VtZW50UmVn
aXN0ZXIpOwogICAgIHBva2UoY2FsbEZyYW1lUmVnaXN0ZXIsIE9CSkVDVF9PRkZTRVRPRihzdHJ1
Y3QgSklUU3RhY2tGcmFtZSwgY2FsbEZyYW1lKSAvIHNpemVvZiAodm9pZCopKTsKLSNpZiBQTEFU
Rk9STShBUk0pICYmICFQTEFURk9STV9BUk1fQVJDSCg3KQorI2lmIFBMQVRGT1JNKEFSTV9UUkFE
SVRJT05BTCkKICAgICBtb3ZlKGN0aVJldHVyblJlZ2lzdGVyLCBBUk1SZWdpc3RlcnM6OmxyKTsK
ICNlbmRpZgogfQpAQCAtMTk1LDcgKzE5NSw3IEBAIEFMV0FZU19JTkxJTkUgdm9pZCBKSVQ6OnJl
c3RvcmVBcmd1bWVudFJlZmVyZW5jZUZvclRyYW1wb2xpbmUoKQogI2lmIFBMQVRGT1JNKFg4NikK
ICAgICAvLyBXaXRoaW4gYSB0cmFtcG9saW5lIHRoZSByZXR1cm4gYWRkcmVzcyB3aWxsIGJlIG9u
IHRoZSBzdGFjayBhdCB0aGlzIHBvaW50LgogICAgIGFkZFB0cihJbW0zMihzaXplb2Yodm9pZCop
KSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIsIGZpcnN0QXJndW1lbnRSZWdpc3Rlcik7Ci0jZWxpZiBQ
TEFURk9STV9BUk1fQVJDSCg3KQorI2VsaWYgUExBVEZPUk0oQVJNX1RIVU1CMikKICAgICBtb3Zl
KHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBmaXJzdEFyZ3VtZW50UmVnaXN0ZXIpOwogI2VuZGlmCiAg
ICAgLy8gSW4gdGhlIHRyYW1wb2xpbmUgb24geDg2LTY0LCB0aGUgZmlyc3QgYXJndW1lbnQgcmVn
aXN0ZXIgaXMgbm90IG92ZXJ3cml0dGVuLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4
IDFjOWNkN2UuLjI4ZDYzMGIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNv
ZGVzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTE2ODEs
NyArMTY4MSw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5l
cyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgLy8gc28gcHVsbCB0aGVt
IG9mZiBub3cKICAgICBhZGRQdHIoSW1tMzIoTmF0aXZlQ2FsbEZyYW1lU2l6ZSAtIHNpemVvZihO
YXRpdmVGdW5jdGlvbkNhbGxlZVNpZ25hdHVyZSkpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAK
LSNlbGlmIFBMQVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FSTV9BUkNIKDcpCisjZWxpZiBQTEFU
Rk9STShBUk1fVFJBRElUSU9OQUwpCiAgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXIzMihS
ZWdpc3RlckZpbGU6OkFyZ3VtZW50Q291bnQsIHJlZ1QwKTsKIAogICAgIC8vIEFsbG9jYXRlIHN0
YWNrIHNwYWNlIGZvciBvdXIgYXJnbGlzdApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFN0dWJzLmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKaW5kZXggNGFi
NThkNS4uZTNjNDhkMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNw
cAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCkBAIC0xOTMsNyArMTkzLDcg
QEAgU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIlxuIgogICAgICJyZXQi
ICJcbiIKICk7CiAKLSNlbGlmIENPTVBJTEVSKEdDQykgJiYgUExBVEZPUk1fQVJNX0FSQ0goNykK
KyNlbGlmIENPTVBJTEVSKEdDQykgJiYgUExBVEZPUk0oQVJNX1RIVU1CMikKIAogI2lmIFVTRShK
SVRfU1RVQl9BUkdVTUVOVF9WQV9MSVNUKQogI2Vycm9yICJKSVRfU1RVQl9BUkdVTUVOVF9WQV9M
SVNUIG5vdCBzdXBwb3J0ZWQgb24gQVJNdjcuIgpAQCAtNDUyLDcgKzQ1Miw3IEBAIFNZTUJPTF9T
VFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICJcbiIKICAgICAicmV0IiAiXG4iCiApOwog
Ci0jZWxpZiBDT01QSUxFUihHQ0MpICYmIFBMQVRGT1JNX0FSTV9BUkNIKDcpCisjZWxpZiBDT01Q
SUxFUihHQ0MpICYmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAKICNpZiBVU0UoSklUX1NUVUJfQVJH
VU1FTlRfVkFfTElTVCkKICNlcnJvciAiSklUX1NUVUJfQVJHVU1FTlRfVkFfTElTVCBub3Qgc3Vw
cG9ydGVkIG9uIEFSTXY3LiIKQEAgLTUxNiw3ICs1MTYsNyBAQCBTWU1CT0xfU1RSSU5HKGN0aU9w
VGhyb3dOb3RDYXVnaHQpICI6IiAiXG4iCiAgICAgImJ4IGxyIiAiXG4iCiApOwogCi0jZWxpZiBD
T01QSUxFUihHQ0MpICYmIFBMQVRGT1JNKEFSTSkKKyNlbGlmIENPTVBJTEVSKEdDQykgJiYgUExB
VEZPUk0oQVJNX1RSQURJVElPTkFMKQogCiBhc20gdm9sYXRpbGUgKAogIi5nbG9ibCAiIFNZTUJP
TF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIlxuIgpAQCAtNjM2LDcgKzYzNiw3IEBAIEpJVFRodW5r
czo6SklUVGh1bmtzKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKIHsKICAgICBKSVQ6OmNvbXBp
bGVDVElNYWNoaW5lVHJhbXBvbGluZXMoZ2xvYmFsRGF0YSwgJm1fZXhlY3V0YWJsZVBvb2wsICZt
X2N0aVN0cmluZ0xlbmd0aFRyYW1wb2xpbmUsICZtX2N0aVZpcnR1YWxDYWxsTGluaywgJm1fY3Rp
VmlydHVhbENhbGwsICZtX2N0aU5hdGl2ZUNhbGxUaHVuayk7CiAKLSNpZiBQTEFURk9STV9BUk1f
QVJDSCg3KQorI2lmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAgICAgLy8gVW5mb3J0dW5hdGUgdGhl
IGFybSBjb21waWxlciBkb2VzIG5vdCBsaWtlIHRoZSB1c2Ugb2Ygb2Zmc2V0b2Ygb24gSklUU3Rh
Y2tGcmFtZSAoc2luY2UgaXQgY29udGFpbnMgbm9uIFBPRCB0eXBlcyksCiAgICAgLy8gYW5kIHRo
ZSBPQkpFQ1RfT0ZGU0VUT0YgbWFjcm8gZG9lcyBub3QgYXBwZWFyIGNvbnN0YW50aXNoIGVub3Vn
aCBmb3IgaXQgdG8gYmUgaGFwcHkgd2l0aCBpdHMgdXNlIGluIENPTVBJTEVfQVNTRVJUCiAgICAg
Ly8gbWFjcm9zLgpAQCAtODc2LDcgKzg3Niw3IEBAIHN0YXRpYyBORVZFUl9JTkxJTkUgdm9pZCB0
aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxECiAg
ICAgICAgIH0gXAogICAgIH0gd2hpbGUgKDApCiAKLSNpZiBQTEFURk9STV9BUk1fQVJDSCg3KQor
I2lmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAKICNkZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJT04o
cnR5cGUsIG9wKSBcCiAgICAgZXh0ZXJuICJDIiB7IFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRTdHVicy5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgKaW5kZXgg
MWRiZGVhYS4uMzY1MmYyOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJz
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgKQEAgLTEyOSw3ICsxMjksNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICNpZiBDT01QSUxFUihNU1ZDKQogI3ByYWdtYSBwYWNrKHBvcCkK
ICNlbmRpZiAvLyBDT01QSUxFUihNU1ZDKQotI2VsaWYgUExBVEZPUk1fQVJNX0FSQ0goNykKKyNl
bGlmIFBMQVRGT1JNKEFSTV9USFVNQjIpCiAgICAgc3RydWN0IEpJVFN0YWNrRnJhbWUgewogICAg
ICAgICB2b2lkKiByZXNlcnZlZDsgLy8gVW51c2VkCiAgICAgICAgIEpJVFN0dWJBcmcgYXJnc1s2
XTsKQEAgLTE1NSw3ICsxNTUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAg
IFJldHVybkFkZHJlc3NQdHIqIHJldHVybkFkZHJlc3NTbG90KCkgeyByZXR1cm4gJnRodW5rUmV0
dXJuQWRkcmVzczsgfQogICAgIH07Ci0jZWxpZiBQTEFURk9STShBUk0pCisjZWxpZiBQTEFURk9S
TShBUk1fVFJBRElUSU9OQUwpCiAgICAgc3RydWN0IEpJVFN0YWNrRnJhbWUgewogICAgICAgICBK
SVRTdHViQXJnIHBhZGRpbmc7IC8vIFVudXNlZAogICAgICAgICBKSVRTdHViQXJnIGFyZ3NbN107
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IGJlNmVmMzUuLjUxZTMxMWYgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0
Zm9ybS5oCkBAIC0yMjYsNiArMjI2LDggQEAKICNlbmRpZgogCiAvKiBQTEFURk9STShBUk0pICov
CisjZGVmaW5lIFBMQVRGT1JNX0FSTV9BUkNIKE4pIChQTEFURk9STShBUk0pICYmIEFSTV9BUkNI
X1ZFUlNJT04gPj0gTikKKwogI2lmICAgZGVmaW5lZChhcm0pIFwKICAgIHx8IGRlZmluZWQoX19h
cm1fXykKICNkZWZpbmUgV1RGX1BMQVRGT1JNX0FSTSAxCkBAIC0yNTUsOCArMjU3LDIxIEBACiAj
dW5kZWYgQVJNX0FSQ0hfVkVSU0lPTgogI2RlZmluZSBBUk1fQVJDSF9WRVJTSU9OIDcKICNlbmRp
ZgorLyogRGVmaW5lcyB0d28gcHNldWRvLXBsYXRmb3JtcyBmb3IgQVJNIGFuZCBUaHVtYi0yIGlu
c3RydWN0aW9uIHNldC4gKi8KKyNpZiAhZGVmaW5lZChXVEZfUExBVEZPUk1fQVJNX1RSQURJVElP
TkFMKSAmJiAhZGVmaW5lZChXVEZfUExBVEZPUk1fQVJNX1RIVU1CMikKKyMgIGlmIGRlZmluZWQo
dGh1bWIyKSB8fCBkZWZpbmVkKF9fdGh1bWIyX18pCisjICAgIGRlZmluZSBXVEZfUExBVEZPUk1f
QVJNX1RSQURJVElPTkFMIDAKKyMgICAgZGVmaW5lIFdURl9QTEFURk9STV9BUk1fVEhVTUIyIDEK
KyMgIGVsaWYgUExBVEZPUk1fQVJNX0FSQ0goNCkKKyMgICAgZGVmaW5lIFdURl9QTEFURk9STV9B
Uk1fVFJBRElUSU9OQUwgMQorIyAgICBkZWZpbmUgV1RGX1BMQVRGT1JNX0FSTV9USFVNQjIgMAor
IyAgZWxzZQorIyAgICBlcnJvciAiTm90IHN1cHBvcnRlZCBBUk0gYXJjaGl0ZWN0dXJlIgorIyAg
ZW5kaWYKKyNlbGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkgKyBQTEFURk9STShBUk1fVEhV
TUIyKSA+IDEgLyogU2FuaXR5IENoZWNrICovCisjICBlcnJvciAiQ2Fubm90IHVzZSBib3RoIG9m
IFdURl9QTEFURk9STV9BUk1fVFJBRElUSU9OQUwgYW5kIFdURl9QTEFURk9STV9BUk1fVEhVTUIy
IHBsYXRmb3JtcyIKKyNlbmRpZiAvLyAhZGVmaW5lZChBUk1fVFJBRElUSU9OQUwpICYmICFkZWZp
bmVkKEFSTV9USFVNQjIpCiAjZW5kaWYgLyogQVJNICovCi0jZGVmaW5lIFBMQVRGT1JNX0FSTV9B
UkNIKE4pIChQTEFURk9STShBUk0pICYmIEFSTV9BUkNIX1ZFUlNJT04gPj0gTikKIAogLyogUExB
VEZPUk0oWDg2KSAqLwogI2lmICAgZGVmaW5lZChfX2kzODZfXykgXApAQCAtNjIyLDcgKzYzNyw3
IEBAIG9uIE1pbkdXLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI5MjY4ICovCiAjZWxpZiBQTEFURk9STShYODYpICYmIFBMQVRGT1JNKE1BQykKICAgICAjZGVm
aW5lIEVOQUJMRV9KSVQgMQogICAgICNkZWZpbmUgV1RGX1VTRV9KSVRfU1RVQl9BUkdVTUVOVF9W
QV9MSVNUIDEKLSNlbGlmIFBMQVRGT1JNX0FSTV9BUkNIKDcpICYmIFBMQVRGT1JNKElQSE9ORSkK
KyNlbGlmIFBMQVRGT1JNKEFSTV9USFVNQjIpICYmIFBMQVRGT1JNKElQSE9ORSkKICAgICAvKiBV
bmRlciBkZXZlbG9wbWVudCwgdGVtcG9yYXJpbHkgZGlzYWJsZWQgdW50aWwgMTZNYiBsaW5rIHJh
bmdlIGxpbWl0IGluIGFzc2VtYmxlciBpcyBmaXhlZC4gKi8KICAgICAjZGVmaW5lIEVOQUJMRV9K
SVQgMAogICAgICNkZWZpbmUgRU5BQkxFX0pJVF9PUFRJTUlaRV9OQVRJVkVfQ0FMTCAwCkBAIC02
NDEsNyArNjU2LDcgQEAgb24gTWluR1cuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjkyNjggKi8KICNlbGlmIFBMQVRGT1JNKFg4NikgJiYgUExBVEZPUk0oTElO
VVgpICYmIEdDQ19WRVJTSU9OID49IDQwMTAwCiAgICAgI2RlZmluZSBFTkFCTEVfSklUIDEKICAg
ICAjZGVmaW5lIFdURl9VU0VfSklUX1NUVUJfQVJHVU1FTlRfVkFfTElTVCAxCi0jZWxpZiBQTEFU
Rk9STShBUk0pICYmICFQTEFURk9STV9BUk1fQVJDSCg3KSAmJiBQTEFURk9STShMSU5VWCkKKyNl
bGlmIFBMQVRGT1JNKEFSTV9UUkFESVRJT05BTCkgJiYgUExBVEZPUk0oTElOVVgpCiAgICAgI2Rl
ZmluZSBFTkFCTEVfSklUIDEKICNlbmRpZgogI2VuZGlmIC8qIFBMQVRGT1JNKFFUKSAqLwpAQCAt
Njg4LDcgKzcwMyw3IEBAIG9uIE1pbkdXLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTI5MjY4ICovCiAjaWYgKFBMQVRGT1JNKFg4NikgJiYgUExBVEZPUk0oTUFD
KSkgXAogIHx8IChQTEFURk9STShYODZfNjQpICYmIFBMQVRGT1JNKE1BQykpIFwKICAvKiBVbmRl
ciBkZXZlbG9wbWVudCwgdGVtcG9yYXJpbHkgZGlzYWJsZWQgdW50aWwgMTZNYiBsaW5rIHJhbmdl
IGxpbWl0IGluIGFzc2VtYmxlciBpcyBmaXhlZC4gKi8gXAotIHx8IChQTEFURk9STV9BUk1fQVJD
SCg3KSAmJiBQTEFURk9STShJUEhPTkUpICYmIDApIFwKKyB8fCAoUExBVEZPUk0oQVJNX1RIVU1C
MikgJiYgUExBVEZPUk0oSVBIT05FKSAmJiAwKSBcCiAgfHwgKFBMQVRGT1JNKFg4NikgJiYgUExB
VEZPUk0oV0lOKSkKICNkZWZpbmUgRU5BQkxFX1lBUlIgMQogI2RlZmluZSBFTkFCTEVfWUFSUl9K
SVQgMQpAQCAtNjk4LDcgKzcxMyw3IEBAIG9uIE1pbkdXLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MjY4ICovCiAjaWYgKFBMQVRGT1JNKFg4NikgJiYgUExB
VEZPUk0oV0lOX09TKSAmJiBDT01QSUxFUihNSU5HVykgJiYgR0NDX1ZFUlNJT04gPj0gNDAxMDAp
IFwKICB8fCAoUExBVEZPUk0oWDg2KSAmJiBQTEFURk9STShXSU5fT1MpICYmIENPTVBJTEVSKE1T
VkMpKSBcCiAgfHwgKFBMQVRGT1JNKFg4NikgJiYgUExBVEZPUk0oTElOVVgpICYmIEdDQ19WRVJT
SU9OID49IDQwMTAwKSBcCi0gfHwgKFBMQVRGT1JNKEFSTSkgJiYgIVBMQVRGT1JNX0FSTV9BUkNI
KDcpICYmIFBMQVRGT1JNKExJTlVYKSkKKyB8fCAoUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKSAm
JiBQTEFURk9STShMSU5VWCkpCiAjZGVmaW5lIEVOQUJMRV9ZQVJSIDEKICNkZWZpbmUgRU5BQkxF
X1lBUlJfSklUIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eEpJVC5jcHAgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAppbmRleCAxNmIxZWNj
Li40MzkwYjViIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNwcApAQCAtMTMwOSw3ICsxMzA5LDcg
QEAgY2xhc3MgUmVnZXhHZW5lcmF0b3IgOiBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAg
ICAgbG9hZFB0cihBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZWJwLCAyICogc2l6ZW9mKHZvaWQqKSks
IG91dHB1dCk7CiAgICAgI2VuZGlmCiAjZWxpZiBQTEFURk9STShBUk0pCi0jaWYgIVBMQVRGT1JN
X0FSTV9BUkNIKDcpCisjaWYgUExBVEZPUk0oQVJNX1RSQURJVElPTkFMKQogICAgICAgICBwdXNo
KEFSTVJlZ2lzdGVyczo6bHIpOwogI2VuZGlmCiAgICAgICAgIHB1c2goQVJNUmVnaXN0ZXJzOjpy
NCk7Ci0tIAoxLjYuMC40Cgo=
</data>
<flag name="review"
          id="20704"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>