<?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>206703</bug_id>
          
          <creation_ts>2020-01-23 14:59:27 -0800</creation_ts>
          <short_desc>Fix OpenSource iphoneos arm64e build</short_desc>
          <delta_ts>2020-01-27 17:30:48 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=206620</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1610343</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-01-23 14:59:27 -0800</bug_when>
    <thetext>On arm64e, _STRUCT_ARM_THREAD_STATE64 is opaque. We need to handle this case so WebKit builds with arm64e.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610351</commentid>
    <comment_count>1</comment_count>
      <attachid>388599</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-01-23 15:22:25 -0800</bug_when>
    <thetext>Created attachment 388599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610357</commentid>
    <comment_count>2</comment_count>
      <attachid>388599</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-23 15:32:38 -0800</bug_when>
    <thetext>Comment on attachment 388599
Patch

I think we should not use __opaque_xxx since it is opaque. When introducing PLATFORM_REGISTERS_WITH_PROFILE feature, we defined getter / setter for stack-pointer and instruction-pointer. And instructionPointerImpl and stackPointerImpl are the implementation for these getters and setters. Let&apos;s use the macro in getters / setters directly and avoid using stackPointerImpl / instructionPointerImpl for ARM64 / ARM64E Darwin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610359</commentid>
    <comment_count>3</comment_count>
      <attachid>388599</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-01-23 15:34:17 -0800</bug_when>
    <thetext>Comment on attachment 388599
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610361</commentid>
    <comment_count>4</comment_count>
      <attachid>388599</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-01-23 15:37:03 -0800</bug_when>
    <thetext>Comment on attachment 388599
Patch

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

&gt; Source/JavaScriptCore/runtime/MachineContext.h:98
&gt; +    return reinterpret_cast&lt;void*&amp;&gt;(regs.__opaque_sp);

Actually, Yusuke is right.  Can you use the appropriate macros / setter / getters for this instead of accessing __opaque_sp directly?

&gt; Source/JavaScriptCore/runtime/MachineContext.h:404
&gt; +    return reinterpret_cast&lt;void*&amp;&gt;(regs.__opaque_pc);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610787</commentid>
    <comment_count>5</comment_count>
      <attachid>388711</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-01-24 11:36:10 -0800</bug_when>
    <thetext>Created attachment 388711
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610790</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-01-24 11:37:19 -0800</bug_when>
    <thetext>(In reply to Mark Lam from comment #4)
&gt; Comment on attachment 388599 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=388599&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/MachineContext.h:98
&gt; &gt; +    return reinterpret_cast&lt;void*&amp;&gt;(regs.__opaque_sp);
&gt; 
&gt; Actually, Yusuke is right.  Can you use the appropriate macros / setter /
&gt; getters for this instead of accessing __opaque_sp directly?
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/MachineContext.h:404
&gt; &gt; +    return reinterpret_cast&lt;void*&amp;&gt;(regs.__opaque_pc);
&gt; 
&gt; Ditto.

Drafted a change which uses the macros, it&apos;s substantially more complicated, though. Still working on testing it everywhere, but wanted it up for discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610793</commentid>
    <comment_count>7</comment_count>
      <attachid>388713</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-01-24 11:41:20 -0800</bug_when>
    <thetext>Created attachment 388713
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610883</commentid>
    <comment_count>8</comment_count>
      <attachid>388713</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-24 15:29:46 -0800</bug_when>
    <thetext>Comment on attachment 388713
Patch

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

r=me with nit.

&gt; Source/JavaScriptCore/runtime/MachineContext.h:60
&gt; +#if OS(DARWIN) &amp;&amp; !USE(PLATFORM_REGISTERS_WITH_PROFILE) &amp;&amp; (CPU(ARM_THUMB2) || CPU(ARM) || CPU(ARM64))
&gt; +#define USE_DARWIN_REGISTER_MACROS 1
&gt; +#endif

Let&apos;s put this in wtf/PlatformUse.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610893</commentid>
    <comment_count>9</comment_count>
      <attachid>388735</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-01-24 15:54:53 -0800</bug_when>
    <thetext>Created attachment 388735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610899</commentid>
    <comment_count>10</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-01-24 15:58:50 -0800</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #9)
&gt; Created attachment 388735 [details]
&gt; Patch

I intend to land this on Monday, because while it&apos;s tested, it has not been exhaustively tested on every effected configuration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611507</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-27 12:06:50 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 388735:

editing/spelling/spellcheck-attribute.html bug 206178 (authors: g.czajkowski@samsung.com, mark.lam@apple.com, and rniwa@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611508</commentid>
    <comment_count>12</comment_count>
      <attachid>388735</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-27 12:07:28 -0800</bug_when>
    <thetext>Comment on attachment 388735
Patch

Clearing flags on attachment: 388735

Committed r255159: &lt;https://trac.webkit.org/changeset/255159&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611509</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-27 12:07:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611510</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-27 12:08:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/58928799&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611575</commentid>
    <comment_count>15</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-01-27 13:37:28 -0800</bug_when>
    <thetext>Reverted r255159 for reason:

Broke the watchOS build.

Committed r255169: &lt;https://trac.webkit.org/changeset/255169&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611628</commentid>
    <comment_count>16</comment_count>
      <attachid>388917</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-01-27 14:54:36 -0800</bug_when>
    <thetext>Created attachment 388917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611733</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-27 17:30:13 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 388917:

editing/spelling/spellcheck-attribute.html bug 206178 (authors: g.czajkowski@samsung.com, mark.lam@apple.com, and rniwa@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611734</commentid>
    <comment_count>18</comment_count>
      <attachid>388917</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-27 17:30:46 -0800</bug_when>
    <thetext>Comment on attachment 388917
Patch

Clearing flags on attachment: 388917

Committed r255216: &lt;https://trac.webkit.org/changeset/255216&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611735</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-27 17:30:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388599</attachid>
            <date>2020-01-23 15:22:25 -0800</date>
            <delta_ts>2020-01-24 11:36:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206703-20200123152223.patch</filename>
            <type>text/plain</type>
            <size>3182</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU1MDM5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDIwLTAxLTIzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAg
ICAgICBGaXggT3BlblNvdXJjZSBpcGhvbmVvcyBhcm02NGUgYnVpbGQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjcwMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGltZS9NYWNoaW5lQ29udGV4
dC5oOgorICAgICAgICAoSlNDOjpNYWNoaW5lQ29udGV4dDo6c3RhY2tQb2ludGVySW1wbCk6IFN1
cHBvcnQgb3BhcXVlIFBsYXRmb3JtUmVnaXN0ZXJzCisgICAgICAgIChKU0M6Ok1hY2hpbmVDb250
ZXh0OjppbnN0cnVjdGlvblBvaW50ZXJJbXBsKTogRGl0dG8uCisgICAgICAgIChKU0M6Ok1hY2hp
bmVDb250ZXh0OjpsaW5rUmVnaXN0ZXIpOiBVc2UgRGFyd2luIGdldCBsciBtYWNyby4KKyAgICAg
ICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6OnNldExpbmtSZWdpc3Rlcik6IFVzZSBEYXJ3aW4gc2V0
IGxyIG1hY3JvLgorICAgICAgICAoSlNDOjpNYWNoaW5lQ29udGV4dDo6bGlua1JlZ2lzdGVySW1w
bCk6IERlbGV0ZWQuCisKIDIwMjAtMDEtMjMgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgT3B0aW1pemVBc3NvY2lhdGl2ZUV4cHJlc3Npb25UcmVlcyBzaG91bGQg
cmVzZXQgdmFsdWUgb3duZXJzIGJlZm9yZSBydW5uaW5nCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgJKHJldmlzaW9uIDI1NDk4MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTk0LDcgKzk0LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZComIHN0YWNrUG9pbnRl
ckltcGwoUGwKICNlbGlmIENQVShQUEMpIHx8IENQVShQUEM2NCkKICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19yMSk7CiAjZWxpZiBDUFUoQVJNX1RIVU1CMikgfHwg
Q1BVKEFSTSkgfHwgQ1BVKEFSTTY0KQorI2lmIF9fREFSV0lOX09QQVFVRV9BUk1fVEhSRUFEX1NU
QVRFNjQKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19vcGFxdWVf
c3ApOworI2Vsc2UKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19z
cCk7CisjZW5kaWYKICNlbHNlCiAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICNlbmRpZgpA
QCAtMzk2LDcgKzQwMCwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVjdGlvblBvaW50
ZXJJCiAjZWxpZiBDUFUoWDg2XzY0KQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQq
Jj4ocmVncy5fX3JpcCk7CiAjZWxpZiBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTSkgfHwgQ1BV
KEFSTTY0KQorI2lmIF9fREFSV0lOX09QQVFVRV9BUk1fVEhSRUFEX1NUQVRFNjQKKyAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19vcGFxdWVfcGMpOworI2Vsc2UKICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19wYyk7CisjZW5kaWYKICNl
bHNlCiAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICNlbmRpZgpAQCAtNTI5LDIwICs1Mzcs
MTMgQEAgaW5saW5lIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKG1jb250ZQogI2lmIE9TKFdJ
TkRPV1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhUKQogCiAjaWYgT1MoREFSV0lOKSAmJiBfX0RB
UldJTl9VTklYMDMgJiYgQ1BVKEFSTTY0KQotI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJ
VEhfUFJPRklMRSkKLWlubGluZSB2b2lkKiYgbGlua1JlZ2lzdGVySW1wbChQbGF0Zm9ybVJlZ2lz
dGVycyYgcmVncykKLXsKLSAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3Mu
X19scik7Ci19Ci0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUp
Ci0KIAogaW5saW5lIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxQbGF0Zm9ybVJlZ2lzdGVyc0xSUHRy
VGFnPiBsaW5rUmVnaXN0ZXIoY29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3MpCiB7CiAjaWYg
VVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCiAgICAgdm9pZCogdmFsdWUgPSBX
VEZfUkVBRF9QTEFURk9STV9SRUdJU1RFUlNfTFJfV0lUSF9QUk9GSUxFKHJlZ3MpOwogI2Vsc2UK
LSAgICB2b2lkKiB2YWx1ZSA9IGxpbmtSZWdpc3RlckltcGwoY29uc3RfY2FzdDxQbGF0Zm9ybVJl
Z2lzdGVycyY+KHJlZ3MpKTsKKyAgICB2b2lkKiB2YWx1ZSA9IF9fZGFyd2luX2FybV90aHJlYWRf
c3RhdGU2NF9nZXRfbHJfZnB0cihyZWdzKTsKICNlbmRpZgogICAgIHJldHVybiBNYWNyb0Fzc2Vt
YmxlckNvZGVQdHI8UGxhdGZvcm1SZWdpc3RlcnNMUlB0clRhZz4odmFsdWUpOwogfQpAQCAtNTUy
LDcgKzU1Myw3IEBAIGlubGluZSB2b2lkIHNldExpbmtSZWdpc3RlcihQbGF0Zm9ybVJlZ2kKICNp
ZiBVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKICAgICBXVEZfV1JJVEVfUExB
VEZPUk1fUkVHSVNURVJTX1BDX1dJVEhfUFJPRklMRShyZWdzLCB2YWx1ZS5leGVjdXRhYmxlQWRk
cmVzcygpKTsKICNlbHNlCi0gICAgbGlua1JlZ2lzdGVySW1wbChyZWdzKSA9IHZhbHVlLmV4ZWN1
dGFibGVBZGRyZXNzKCk7CisgICAgX19kYXJ3aW5fYXJtX3RocmVhZF9zdGF0ZTY0X3NldF9scl9m
cHRyKHJlZ3MsIHZhbHVlLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogI2VuZGlmCiB9CiAjZW5kaWYg
Ly8gT1MoREFSV0lOKSAmJiBfX0RBUldJTl9VTklYMDMgJiYgQ1BVKEFSTTY0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388711</attachid>
            <date>2020-01-24 11:36:10 -0800</date>
            <delta_ts>2020-01-24 11:41:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206703-20200124113609.patch</filename>
            <type>text/plain</type>
            <size>9401</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU1MDgzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBA
CisyMDIwLTAxLTI0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAg
ICAgICBGaXggT3BlblNvdXJjZSBpcGhvbmVvcyBhcm02NGUgYnVpbGQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjcwMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGltZS9NYWNoaW5lQ29udGV4
dC5oOiBBZGQgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpIGNoZWNrLgorICAgICAgICAoSlND
OjpNYWNoaW5lQ29udGV4dDo6c3RhY2tQb2ludGVySW1wbCk6IENvbmRpdGlvbmFsaXplIGZ1bmN0
aW9uIGV4aXN0ZW5jZSBvbgorICAgICAgICBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykuCisg
ICAgICAgIChKU0M6Ok1hY2hpbmVDb250ZXh0OjpzdGFja1BvaW50ZXIpOiBVc2UgRGFyd2luJ3Mg
cmVnaXN0ZXIgbWFjcm9zIGlmIGF2YWlsYWJsZS4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRl
eHQ6OnNldFN0YWNrUG9pbnRlcik6IERpdHRvLgorICAgICAgICAoSlNDOjpNYWNoaW5lQ29udGV4
dDo6aW5zdHJ1Y3Rpb25Qb2ludGVySW1wbCk6IENvbmRpdGlvbmFsaXplIGZ1bmN0aW9uIGV4aXN0
ZW5jZQorICAgICAgICBvbiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykuCisgICAgICAgIChK
U0M6Ok1hY2hpbmVDb250ZXh0OjppbnN0cnVjdGlvblBvaW50ZXIpOiBVc2UgRGFyd2luJ3MgcmVn
aXN0ZXIgbWFjcm9zIGlmIGF2YWlsYWJsZS4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6
OnNldEluc3RydWN0aW9uUG9pbnRlcik6IERpdHRvLgorICAgICAgICAoSlNDOjpNYWNoaW5lQ29u
dGV4dDo6bGlua1JlZ2lzdGVyKTogRGl0dG8uCisgICAgICAgIChKU0M6Ok1hY2hpbmVDb250ZXh0
OjpzZXRMaW5rUmVnaXN0ZXIpOiBEaXR0by4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6
OmxpbmtSZWdpc3RlckltcGwpOiBEZWxldGVkLgorCisyMDIwLTAxLTI0ICBKb25hdGhhbiBCZWRh
cmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggT3BlblNvdXJjZSBpcGhvbmVv
cyBhcm02NGUgYnVpbGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNjcwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcnVudGltZS9NYWNoaW5lQ29udGV4dC5oOgorICAgICAgICAoSlNDOjpNYWNoaW5l
Q29udGV4dDo6c3RhY2tQb2ludGVySW1wbCk6IFN1cHBvcnQgb3BhcXVlIFBsYXRmb3JtUmVnaXN0
ZXJzCisgICAgICAgIChKU0M6Ok1hY2hpbmVDb250ZXh0OjppbnN0cnVjdGlvblBvaW50ZXJJbXBs
KTogRGl0dG8uCisgICAgICAgIChKU0M6Ok1hY2hpbmVDb250ZXh0OjpsaW5rUmVnaXN0ZXIpOiBV
c2UgRGFyd2luIGdldCBsciBtYWNyby4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6OnNl
dExpbmtSZWdpc3Rlcik6IFVzZSBEYXJ3aW4gc2V0IGxyIG1hY3JvLgorICAgICAgICAoSlNDOjpN
YWNoaW5lQ29udGV4dDo6bGlua1JlZ2lzdGVySW1wbCk6IERlbGV0ZWQuCisKIDIwMjAtMDEtMjQg
IENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTUwNTIuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYWNoaW5lQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgJKHJldmlzaW9uIDI1NTA3NSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTU1LDEyICs1NSwyMCBAQCB2b2lkKiYgbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoUGxhdGZv
cm1SCiB2b2lkKiBsbGludEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBQbGF0Zm9ybVJlZ2lzdGVy
cyYpOwogI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQogCisjaWYgT1MoREFSV0lOKSAmJiAhVVNF
KFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpICYmIChDUFUoQVJNX1RIVU1CMikgfHwg
Q1BVKEFSTSkgfHwgQ1BVKEFSTTY0KSkKKyNkZWZpbmUgVVNFX0RBUldJTl9SRUdJU1RFUl9NQUNS
T1MgMQorI2VuZGlmCisKICNpZiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIAogI2lmICFVU0UoUExB
VEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKKworI2lmICFVU0UoREFSV0lOX1JFR0lTVEVS
X01BQ1JPUykKIHN0YXRpYyBpbmxpbmUgdm9pZComIHN0YWNrUG9pbnRlckltcGwobWNvbnRleHRf
dCYpOwotc3RhdGljIGlubGluZSB2b2lkKiYgZnJhbWVQb2ludGVySW1wbChtY29udGV4dF90Jik7
CiBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVjdGlvblBvaW50ZXJJbXBsKG1jb250ZXh0X3Qm
KTsKKyNlbmRpZiAvLyAhVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCisKK3N0YXRpYyBpbmxp
bmUgdm9pZComIGZyYW1lUG9pbnRlckltcGwobWNvbnRleHRfdCYpOwogI2VuZGlmIC8vICFVU0Uo
UExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKIAogdGVtcGxhdGU8dHlwZW5hbWUgVCA9
IHZvaWQqPiBUIHN0YWNrUG9pbnRlcihjb25zdCBtY29udGV4dF90Jik7CkBAIC04MSw3ICs4OSw3
IEBAIHZvaWQqIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IG1jb24KIAogI2lmIE9TKFdJ
TkRPV1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhUKQogCi0jaWYgIVVTRShQTEFURk9STV9SRUdJ
U1RFUlNfV0lUSF9QUk9GSUxFKQorI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJP
RklMRSkgJiYgIVVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQogc3RhdGljIGlubGluZSB2b2lk
KiYgc3RhY2tQb2ludGVySW1wbChQbGF0Zm9ybVJlZ2lzdGVycyYgcmVncykKIHsKICNpZiBPUyhE
QVJXSU4pCkBAIC05Myw4ICsxMDEsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQqJiBzdGFja1BvaW50
ZXJJbXBsKFBsCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPihyZWdzLl9fcnNw
KTsKICNlbGlmIENQVShQUEMpIHx8IENQVShQUEM2NCkKICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDx2b2lkKiY+KHJlZ3MuX19yMSk7Ci0jZWxpZiBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFS
TSkgfHwgQ1BVKEFSTTY0KQotICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqJj4ocmVn
cy5fX3NwKTsKICNlbHNlCiAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICNlbmRpZgpAQCAt
MTQwLDYgKzE0Niw4IEBAIGlubGluZSBUIHN0YWNrUG9pbnRlcihjb25zdCBQbGF0Zm9ybVJlZ2kK
ICAgICB2b2lkKiB2YWx1ZSA9IFdURl9SRUFEX1BMQVRGT1JNX1JFR0lTVEVSU19TUF9XSVRIX1BS
T0ZJTEUocmVncyk7CiAgICAgYXNzZXJ0SXNOb3RUYWdnZWQodmFsdWUpOwogICAgIHJldHVybiBi
aXR3aXNlX2Nhc3Q8VD4odmFsdWUpOworI2VsaWYgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1Mp
CisgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPihfX2Rhcndpbl9hcm1fdGhyZWFkX3N0YXRlNjRf
Z2V0X3NwKHJlZ3MpKTsKICNlbHNlCiAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPihzdGFja1Bv
aW50ZXJJbXBsKGNvbnN0X2Nhc3Q8UGxhdGZvcm1SZWdpc3RlcnMmPihyZWdzKSkpOwogI2VuZGlm
CkBAIC0xNTEsNiArMTU5LDggQEAgaW5saW5lIHZvaWQgc2V0U3RhY2tQb2ludGVyKFBsYXRmb3Jt
UmVnaQogI2lmIFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAgIGFzc2Vy
dElzTm90VGFnZ2VkKGJpdHdpc2VfY2FzdDx2b2lkKj4odmFsdWUpKTsKICAgICBXVEZfV1JJVEVf
UExBVEZPUk1fUkVHSVNURVJTX1NQX1dJVEhfUFJPRklMRShyZWdzLCBiaXR3aXNlX2Nhc3Q8dm9p
ZCo+KHZhbHVlKSk7CisjZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAgICBfX2Rh
cndpbl9hcm1fdGhyZWFkX3N0YXRlNjRfc2V0X3NwKHJlZ3MsIHZhbHVlKTsKICNlbHNlCiAgICAg
c3RhY2tQb2ludGVySW1wbChyZWdzKSA9IGJpdHdpc2VfY2FzdDx2b2lkKj4odmFsdWUpOwogI2Vu
ZGlmCkBAIC0xNjcsNyArMTc3LDcgQEAgaW5saW5lIFQgc3RhY2tQb2ludGVyKGNvbnN0IFBsYXRm
b3JtUmVnaQogCiAjaWYgSEFWRShNQUNISU5FX0NPTlRFWFQpCiAKLSNpZiAhVVNFKFBMQVRGT1JN
X1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCisjaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lU
SF9QUk9GSUxFKSAmJiAhVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCiBzdGF0aWMgaW5saW5l
IHZvaWQqJiBzdGFja1BvaW50ZXJJbXBsKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogewog
I2lmIE9TKERBUldJTikKQEAgLTIxNCw2ICsyMjQsOCBAQCBpbmxpbmUgVCBzdGFja1BvaW50ZXIo
Y29uc3QgbWNvbnRleHRfdCYgCiAgICAgdm9pZCogdmFsdWUgPSBXVEZfUkVBRF9NQUNISU5FX0NP
TlRFWFRfU1BfV0lUSF9QUk9GSUxFKG1hY2hpbmVDb250ZXh0KTsKICAgICBhc3NlcnRJc05vdFRh
Z2dlZCh2YWx1ZSk7CiAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPih2YWx1ZSk7CisjZWxpZiBV
U0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAgICByZXR1cm4gc3RhY2tQb2ludGVyKG1hY2hp
bmVDb250ZXh0LT5fX3NzKTsKICNlbHNlCiAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPihzdGFj
a1BvaW50ZXJJbXBsKGNvbnN0X2Nhc3Q8bWNvbnRleHRfdCY+KG1hY2hpbmVDb250ZXh0KSkpOwog
I2VuZGlmCkBAIC0yMjUsNiArMjM3LDggQEAgaW5saW5lIHZvaWQgc2V0U3RhY2tQb2ludGVyKG1j
b250ZXh0X3QmIAogI2lmIFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAg
IGFzc2VydElzTm90VGFnZ2VkKGJpdHdpc2VfY2FzdDx2b2lkKj4odmFsdWUpKTsKICAgICBXVEZf
V1JJVEVfTUFDSElORV9DT05URVhUX1NQX1dJVEhfUFJPRklMRShtYWNoaW5lQ29udGV4dCwgYml0
d2lzZV9jYXN0PHZvaWQqPih2YWx1ZSkpOworI2VsaWYgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNS
T1MpCisgICAgcmV0dXJuIHNldFN0YWNrUG9pbnRlcihtYWNoaW5lQ29udGV4dC0+X19zcywgdmFs
dWUpOwogI2Vsc2UKICAgICBzdGFja1BvaW50ZXJJbXBsKG1hY2hpbmVDb250ZXh0KSA9IGJpdHdp
c2VfY2FzdDx2b2lkKj4odmFsdWUpOwogI2VuZGlmCkBAIC0zODUsNyArMzk5LDcgQEAgaW5saW5l
IHZvaWQgc2V0RnJhbWVQb2ludGVyKG1jb250ZXh0X3QmIAogCiAjaWYgT1MoV0lORE9XUykgfHwg
SEFWRShNQUNISU5FX0NPTlRFWFQpCiAKLSNpZiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRI
X1BST0ZJTEUpCisjaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKSAmJiAh
VVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCiBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVj
dGlvblBvaW50ZXJJbXBsKFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdzKQogewogI2lmIE9TKERBUldJ
TikKQEAgLTM5NSw4ICs0MDksNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVjdGlvblBv
aW50ZXJJCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPihyZWdzLl9fZWlwKTsK
ICNlbGlmIENQVShYODZfNjQpCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPihy
ZWdzLl9fcmlwKTsKLSNlbGlmIENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNKSB8fCBDUFUoQVJN
NjQpCi0gICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPihyZWdzLl9fcGMpOwogI2Vs
c2UKICNlcnJvciBVbmtub3duIEFyY2hpdGVjdHVyZQogI2VuZGlmCkBAIC00MzYsNiArNDQ4LDgg
QEAgaW5saW5lIE9wdGlvbmFsPE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxQbAogewogI2lmIFVTRShQ
TEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAgIHZvaWQqIHZhbHVlID0gV1RGX1JF
QURfUExBVEZPUk1fUkVHSVNURVJTX1BDX1dJVEhfUFJPRklMRShyZWdzKTsKKyNlbGlmIFVTRShE
QVJXSU5fUkVHSVNURVJfTUFDUk9TKQorICAgIHZvaWQqIHZhbHVlID0gX19kYXJ3aW5fYXJtX3Ro
cmVhZF9zdGF0ZTY0X2dldF9wY19mcHRyKHJlZ3MpOwogI2Vsc2UKICAgICB2b2lkKiB2YWx1ZSA9
IGluc3RydWN0aW9uUG9pbnRlckltcGwoY29uc3RfY2FzdDxQbGF0Zm9ybVJlZ2lzdGVycyY+KHJl
Z3MpKTsKICNlbmRpZgpAQCAtNDUyLDYgKzQ2Niw4IEBAIGlubGluZSB2b2lkIHNldEluc3RydWN0
aW9uUG9pbnRlcihQbGF0Zm8KIHsKICNpZiBVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJP
RklMRSkKICAgICBXVEZfV1JJVEVfUExBVEZPUk1fUkVHSVNURVJTX1BDX1dJVEhfUFJPRklMRShy
ZWdzLCB2YWx1ZS5leGVjdXRhYmxlQWRkcmVzcygpKTsKKyNlbGlmIFVTRShEQVJXSU5fUkVHSVNU
RVJfTUFDUk9TKQorICAgIF9fZGFyd2luX2FybV90aHJlYWRfc3RhdGU2NF9zZXRfcGNfZnB0cihy
ZWdzLCB2YWx1ZS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICNlbHNlCiAgICAgaW5zdHJ1Y3Rpb25Q
b2ludGVySW1wbChyZWdzKSA9IHZhbHVlLmV4ZWN1dGFibGVBZGRyZXNzKCk7CiAjZW5kaWYKQEAg
LTQ2MSw3ICs0NzcsNyBAQCBpbmxpbmUgdm9pZCBzZXRJbnN0cnVjdGlvblBvaW50ZXIoUGxhdGZv
CiAKICNpZiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIAotI2lmICFVU0UoUExBVEZPUk1fUkVHSVNU
RVJTX1dJVEhfUFJPRklMRSkKKyNpZiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJ
TEUpICYmICFVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKIHN0YXRpYyBpbmxpbmUgdm9pZCom
IGluc3RydWN0aW9uUG9pbnRlckltcGwobWNvbnRleHRfdCYgbWFjaGluZUNvbnRleHQpCiB7CiAj
aWYgT1MoREFSV0lOKQpAQCAtNTA3LDE4ICs1MjMsMjYgQEAgc3RhdGljIGlubGluZSB2b2lkKiYg
aW5zdHJ1Y3Rpb25Qb2ludGVySQogCiBpbmxpbmUgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPFBsYXRm
b3JtUmVnaXN0ZXJzUENQdHJUYWc+IGluc3RydWN0aW9uUG9pbnRlcihjb25zdCBtY29udGV4dF90
JiBtYWNoaW5lQ29udGV4dCkKIHsKKyNpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAg
ICByZXR1cm4gKmluc3RydWN0aW9uUG9pbnRlcihtYWNoaW5lQ29udGV4dC0+X19zcyk7CisjZWxz
ZQorCiAjaWYgVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCiAgICAgdm9pZCog
dmFsdWUgPSBXVEZfUkVBRF9NQUNISU5FX0NPTlRFWFRfUENfV0lUSF9QUk9GSUxFKG1hY2hpbmVD
b250ZXh0KTsKICNlbHNlCiAgICAgdm9pZCogdmFsdWUgPSBpbnN0cnVjdGlvblBvaW50ZXJJbXBs
KGNvbnN0X2Nhc3Q8bWNvbnRleHRfdCY+KG1hY2hpbmVDb250ZXh0KSk7CiAjZW5kaWYKKwogICAg
IHJldHVybiBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8UGxhdGZvcm1SZWdpc3RlcnNQQ1B0clRhZz4o
dmFsdWUpOworI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIHNldEluc3RydWN0aW9uUG9pbnRlciht
Y29udGV4dF90JiBtYWNoaW5lQ29udGV4dCwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPENGdW5jdGlv
blB0clRhZz4gdmFsdWUpCiB7CiAjaWYgVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJ
TEUpCiAgICAgV1RGX1dSSVRFX01BQ0hJTkVfQ09OVEVYVF9QQ19XSVRIX1BST0ZJTEUobWFjaGlu
ZUNvbnRleHQsIHZhbHVlLmV4ZWN1dGFibGVBZGRyZXNzKCkpOworI2VsaWYgVVNFKERBUldJTl9S
RUdJU1RFUl9NQUNST1MpCisgICAgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKG1hY2hpbmVDb250ZXh0
LT5fX3NzLCB2YWx1ZSk7CiAjZWxzZQogICAgIGluc3RydWN0aW9uUG9pbnRlckltcGwobWFjaGlu
ZUNvbnRleHQpID0gdmFsdWUuZXhlY3V0YWJsZUFkZHJlc3MoKTsKICNlbmRpZgpAQCAtNTI5LDIw
ICs1NTMsMTMgQEAgaW5saW5lIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKG1jb250ZQogI2lm
IE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhUKQogCiAjaWYgT1MoREFSV0lOKSAm
JiBfX0RBUldJTl9VTklYMDMgJiYgQ1BVKEFSTTY0KQotI2lmICFVU0UoUExBVEZPUk1fUkVHSVNU
RVJTX1dJVEhfUFJPRklMRSkKLWlubGluZSB2b2lkKiYgbGlua1JlZ2lzdGVySW1wbChQbGF0Zm9y
bVJlZ2lzdGVycyYgcmVncykKLXsKLSAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+
KHJlZ3MuX19scik7Ci19Ci0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BS
T0ZJTEUpCi0KIAogaW5saW5lIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxQbGF0Zm9ybVJlZ2lzdGVy
c0xSUHRyVGFnPiBsaW5rUmVnaXN0ZXIoY29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3MpCiB7
CiAjaWYgVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCiAgICAgdm9pZCogdmFs
dWUgPSBXVEZfUkVBRF9QTEFURk9STV9SRUdJU1RFUlNfTFJfV0lUSF9QUk9GSUxFKHJlZ3MpOwog
I2Vsc2UKLSAgICB2b2lkKiB2YWx1ZSA9IGxpbmtSZWdpc3RlckltcGwoY29uc3RfY2FzdDxQbGF0
Zm9ybVJlZ2lzdGVycyY+KHJlZ3MpKTsKKyAgICB2b2lkKiB2YWx1ZSA9IF9fZGFyd2luX2FybV90
aHJlYWRfc3RhdGU2NF9nZXRfbHJfZnB0cihyZWdzKTsKICNlbmRpZgogICAgIHJldHVybiBNYWNy
b0Fzc2VtYmxlckNvZGVQdHI8UGxhdGZvcm1SZWdpc3RlcnNMUlB0clRhZz4odmFsdWUpOwogfQpA
QCAtNTUyLDcgKzU2OSw3IEBAIGlubGluZSB2b2lkIHNldExpbmtSZWdpc3RlcihQbGF0Zm9ybVJl
Z2kKICNpZiBVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKICAgICBXVEZfV1JJ
VEVfUExBVEZPUk1fUkVHSVNURVJTX1BDX1dJVEhfUFJPRklMRShyZWdzLCB2YWx1ZS5leGVjdXRh
YmxlQWRkcmVzcygpKTsKICNlbHNlCi0gICAgbGlua1JlZ2lzdGVySW1wbChyZWdzKSA9IHZhbHVl
LmV4ZWN1dGFibGVBZGRyZXNzKCk7CisgICAgX19kYXJ3aW5fYXJtX3RocmVhZF9zdGF0ZTY0X3Nl
dF9scl9mcHRyKHJlZ3MsIHZhbHVlLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogI2VuZGlmCiB9CiAj
ZW5kaWYgLy8gT1MoREFSV0lOKSAmJiBfX0RBUldJTl9VTklYMDMgJiYgQ1BVKEFSTTY0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388713</attachid>
            <date>2020-01-24 11:41:20 -0800</date>
            <delta_ts>2020-01-24 15:54:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206703-20200124114119.patch</filename>
            <type>text/plain</type>
            <size>8817</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU1MDgzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDIwLTAxLTI0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAg
ICAgICBGaXggT3BlblNvdXJjZSBpcGhvbmVvcyBhcm02NGUgYnVpbGQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjcwMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGltZS9NYWNoaW5lQ29udGV4
dC5oOiBBZGQgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpIGNoZWNrLgorICAgICAgICAoSlND
OjpNYWNoaW5lQ29udGV4dDo6c3RhY2tQb2ludGVySW1wbCk6IENvbmRpdGlvbmFsaXplIGZ1bmN0
aW9uIGV4aXN0ZW5jZSBvbgorICAgICAgICBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykuCisg
ICAgICAgIChKU0M6Ok1hY2hpbmVDb250ZXh0OjpzdGFja1BvaW50ZXIpOiBVc2UgRGFyd2luJ3Mg
cmVnaXN0ZXIgbWFjcm9zIGlmIGF2YWlsYWJsZS4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRl
eHQ6OnNldFN0YWNrUG9pbnRlcik6IERpdHRvLgorICAgICAgICAoSlNDOjpNYWNoaW5lQ29udGV4
dDo6aW5zdHJ1Y3Rpb25Qb2ludGVySW1wbCk6IENvbmRpdGlvbmFsaXplIGZ1bmN0aW9uIGV4aXN0
ZW5jZQorICAgICAgICBvbiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykuCisgICAgICAgIChK
U0M6Ok1hY2hpbmVDb250ZXh0OjppbnN0cnVjdGlvblBvaW50ZXIpOiBVc2UgRGFyd2luJ3MgcmVn
aXN0ZXIgbWFjcm9zIGlmIGF2YWlsYWJsZS4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6
OnNldEluc3RydWN0aW9uUG9pbnRlcik6IERpdHRvLgorICAgICAgICAoSlNDOjpNYWNoaW5lQ29u
dGV4dDo6bGlua1JlZ2lzdGVyKTogRGl0dG8uCisgICAgICAgIChKU0M6Ok1hY2hpbmVDb250ZXh0
OjpzZXRMaW5rUmVnaXN0ZXIpOiBEaXR0by4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6
OmxpbmtSZWdpc3RlckltcGwpOiBEZWxldGVkLgorCiAyMDIwLTAxLTI0ICBDb21taXQgUXVldWUg
IDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMjU1MDUyLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGlu
ZUNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
YWNoaW5lQ29udGV4dC5oCShyZXZpc2lvbiAyNTUwNzUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSwxMiArNTUs
MjAgQEAgdm9pZComIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3JtUgogdm9pZCogbGxp
bnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmKTsKICNlbmRpZiAv
LyAhRU5BQkxFKENfTE9PUCkKIAorI2lmIE9TKERBUldJTikgJiYgIVVTRShQTEFURk9STV9SRUdJ
U1RFUlNfV0lUSF9QUk9GSUxFKSAmJiAoQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk0pIHx8IENQ
VShBUk02NCkpCisjZGVmaW5lIFVTRV9EQVJXSU5fUkVHSVNURVJfTUFDUk9TIDEKKyNlbmRpZgor
CiAjaWYgSEFWRShNQUNISU5FX0NPTlRFWFQpCiAKICNpZiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVS
U19XSVRIX1BST0ZJTEUpCisKKyNpZiAhVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCiBzdGF0
aWMgaW5saW5lIHZvaWQqJiBzdGFja1BvaW50ZXJJbXBsKG1jb250ZXh0X3QmKTsKLXN0YXRpYyBp
bmxpbmUgdm9pZComIGZyYW1lUG9pbnRlckltcGwobWNvbnRleHRfdCYpOwogc3RhdGljIGlubGlu
ZSB2b2lkKiYgaW5zdHJ1Y3Rpb25Qb2ludGVySW1wbChtY29udGV4dF90Jik7CisjZW5kaWYgLy8g
IVVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQorCitzdGF0aWMgaW5saW5lIHZvaWQqJiBmcmFt
ZVBvaW50ZXJJbXBsKG1jb250ZXh0X3QmKTsKICNlbmRpZiAvLyAhVVNFKFBMQVRGT1JNX1JFR0lT
VEVSU19XSVRIX1BST0ZJTEUpCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQgPSB2b2lkKj4gVCBzdGFj
a1BvaW50ZXIoY29uc3QgbWNvbnRleHRfdCYpOwpAQCAtODEsNyArODksNyBAQCB2b2lkKiBsbGlu
dEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBtY29uCiAKICNpZiBPUyhXSU5ET1dTKSB8fCBIQVZF
KE1BQ0hJTkVfQ09OVEVYVCkKIAotI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJP
RklMRSkKKyNpZiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpICYmICFVU0Uo
REFSV0lOX1JFR0lTVEVSX01BQ1JPUykKIHN0YXRpYyBpbmxpbmUgdm9pZComIHN0YWNrUG9pbnRl
ckltcGwoUGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3MpCiB7CiAjaWYgT1MoREFSV0lOKQpAQCAtOTMs
OCArMTAxLDYgQEAgc3RhdGljIGlubGluZSB2b2lkKiYgc3RhY2tQb2ludGVySW1wbChQbAogICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqJj4ocmVncy5fX3JzcCk7CiAjZWxpZiBDUFUo
UFBDKSB8fCBDUFUoUFBDNjQpCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPihy
ZWdzLl9fcjEpOwotI2VsaWYgQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk0pIHx8IENQVShBUk02
NCkKLSAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19zcCk7CiAjZWxz
ZQogI2Vycm9yIFVua25vd24gQXJjaGl0ZWN0dXJlCiAjZW5kaWYKQEAgLTE0MCw2ICsxNDYsOCBA
QCBpbmxpbmUgVCBzdGFja1BvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdpCiAgICAgdm9pZCogdmFs
dWUgPSBXVEZfUkVBRF9QTEFURk9STV9SRUdJU1RFUlNfU1BfV0lUSF9QUk9GSUxFKHJlZ3MpOwog
ICAgIGFzc2VydElzTm90VGFnZ2VkKHZhbHVlKTsKICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFQ+
KHZhbHVlKTsKKyNlbGlmIFVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQorICAgIHJldHVybiBi
aXR3aXNlX2Nhc3Q8VD4oX19kYXJ3aW5fYXJtX3RocmVhZF9zdGF0ZTY0X2dldF9zcChyZWdzKSk7
CiAjZWxzZQogICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VD4oc3RhY2tQb2ludGVySW1wbChjb25z
dF9jYXN0PFBsYXRmb3JtUmVnaXN0ZXJzJj4ocmVncykpKTsKICNlbmRpZgpAQCAtMTUxLDYgKzE1
OSw4IEBAIGlubGluZSB2b2lkIHNldFN0YWNrUG9pbnRlcihQbGF0Zm9ybVJlZ2kKICNpZiBVU0Uo
UExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKICAgICBhc3NlcnRJc05vdFRhZ2dlZChi
aXR3aXNlX2Nhc3Q8dm9pZCo+KHZhbHVlKSk7CiAgICAgV1RGX1dSSVRFX1BMQVRGT1JNX1JFR0lT
VEVSU19TUF9XSVRIX1BST0ZJTEUocmVncywgYml0d2lzZV9jYXN0PHZvaWQqPih2YWx1ZSkpOwor
I2VsaWYgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCisgICAgX19kYXJ3aW5fYXJtX3RocmVh
ZF9zdGF0ZTY0X3NldF9zcChyZWdzLCB2YWx1ZSk7CiAjZWxzZQogICAgIHN0YWNrUG9pbnRlcklt
cGwocmVncykgPSBiaXR3aXNlX2Nhc3Q8dm9pZCo+KHZhbHVlKTsKICNlbmRpZgpAQCAtMTY3LDcg
KzE3Nyw3IEBAIGlubGluZSBUIHN0YWNrUG9pbnRlcihjb25zdCBQbGF0Zm9ybVJlZ2kKIAogI2lm
IEhBVkUoTUFDSElORV9DT05URVhUKQogCi0jaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lU
SF9QUk9GSUxFKQorI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkgJiYg
IVVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQogc3RhdGljIGlubGluZSB2b2lkKiYgc3RhY2tQ
b2ludGVySW1wbChtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKIHsKICNpZiBPUyhEQVJXSU4p
CkBAIC0yMTQsNiArMjI0LDggQEAgaW5saW5lIFQgc3RhY2tQb2ludGVyKGNvbnN0IG1jb250ZXh0
X3QmIAogICAgIHZvaWQqIHZhbHVlID0gV1RGX1JFQURfTUFDSElORV9DT05URVhUX1NQX1dJVEhf
UFJPRklMRShtYWNoaW5lQ29udGV4dCk7CiAgICAgYXNzZXJ0SXNOb3RUYWdnZWQodmFsdWUpOwog
ICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VD4odmFsdWUpOworI2VsaWYgVVNFKERBUldJTl9SRUdJ
U1RFUl9NQUNST1MpCisgICAgcmV0dXJuIHN0YWNrUG9pbnRlcihtYWNoaW5lQ29udGV4dC0+X19z
cyk7CiAjZWxzZQogICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VD4oc3RhY2tQb2ludGVySW1wbChj
b25zdF9jYXN0PG1jb250ZXh0X3QmPihtYWNoaW5lQ29udGV4dCkpKTsKICNlbmRpZgpAQCAtMjI1
LDYgKzIzNyw4IEBAIGlubGluZSB2b2lkIHNldFN0YWNrUG9pbnRlcihtY29udGV4dF90JiAKICNp
ZiBVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKICAgICBhc3NlcnRJc05vdFRh
Z2dlZChiaXR3aXNlX2Nhc3Q8dm9pZCo+KHZhbHVlKSk7CiAgICAgV1RGX1dSSVRFX01BQ0hJTkVf
Q09OVEVYVF9TUF9XSVRIX1BST0ZJTEUobWFjaGluZUNvbnRleHQsIGJpdHdpc2VfY2FzdDx2b2lk
Kj4odmFsdWUpKTsKKyNlbGlmIFVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQorICAgIHJldHVy
biBzZXRTdGFja1BvaW50ZXIobWFjaGluZUNvbnRleHQtPl9fc3MsIHZhbHVlKTsKICNlbHNlCiAg
ICAgc3RhY2tQb2ludGVySW1wbChtYWNoaW5lQ29udGV4dCkgPSBiaXR3aXNlX2Nhc3Q8dm9pZCo+
KHZhbHVlKTsKICNlbmRpZgpAQCAtMzg1LDcgKzM5OSw3IEBAIGlubGluZSB2b2lkIHNldEZyYW1l
UG9pbnRlcihtY29udGV4dF90JiAKIAogI2lmIE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9D
T05URVhUKQogCi0jaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQorI2lm
ICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkgJiYgIVVTRShEQVJXSU5fUkVH
SVNURVJfTUFDUk9TKQogc3RhdGljIGlubGluZSB2b2lkKiYgaW5zdHJ1Y3Rpb25Qb2ludGVySW1w
bChQbGF0Zm9ybVJlZ2lzdGVycyYgcmVncykKIHsKICNpZiBPUyhEQVJXSU4pCkBAIC0zOTUsOCAr
NDA5LDYgQEAgc3RhdGljIGlubGluZSB2b2lkKiYgaW5zdHJ1Y3Rpb25Qb2ludGVySQogICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PHZvaWQqJj4ocmVncy5fX2VpcCk7CiAjZWxpZiBDUFUoWDg2
XzY0KQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqJj4ocmVncy5fX3JpcCk7Ci0j
ZWxpZiBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0KQotICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PHZvaWQqJj4ocmVncy5fX3BjKTsKICNlbHNlCiAjZXJyb3IgVW5r
bm93biBBcmNoaXRlY3R1cmUKICNlbmRpZgpAQCAtNDM2LDYgKzQ0OCw4IEBAIGlubGluZSBPcHRp
b25hbDxNYWNyb0Fzc2VtYmxlckNvZGVQdHI8UGwKIHsKICNpZiBVU0UoUExBVEZPUk1fUkVHSVNU
RVJTX1dJVEhfUFJPRklMRSkKICAgICB2b2lkKiB2YWx1ZSA9IFdURl9SRUFEX1BMQVRGT1JNX1JF
R0lTVEVSU19QQ19XSVRIX1BST0ZJTEUocmVncyk7CisjZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVS
X01BQ1JPUykKKyAgICB2b2lkKiB2YWx1ZSA9IF9fZGFyd2luX2FybV90aHJlYWRfc3RhdGU2NF9n
ZXRfcGNfZnB0cihyZWdzKTsKICNlbHNlCiAgICAgdm9pZCogdmFsdWUgPSBpbnN0cnVjdGlvblBv
aW50ZXJJbXBsKGNvbnN0X2Nhc3Q8UGxhdGZvcm1SZWdpc3RlcnMmPihyZWdzKSk7CiAjZW5kaWYK
QEAgLTQ1Miw2ICs0NjYsOCBAQCBpbmxpbmUgdm9pZCBzZXRJbnN0cnVjdGlvblBvaW50ZXIoUGxh
dGZvCiB7CiAjaWYgVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCiAgICAgV1RG
X1dSSVRFX1BMQVRGT1JNX1JFR0lTVEVSU19QQ19XSVRIX1BST0ZJTEUocmVncywgdmFsdWUuZXhl
Y3V0YWJsZUFkZHJlc3MoKSk7CisjZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAg
ICBfX2Rhcndpbl9hcm1fdGhyZWFkX3N0YXRlNjRfc2V0X3BjX2ZwdHIocmVncywgdmFsdWUuZXhl
Y3V0YWJsZUFkZHJlc3MoKSk7CiAjZWxzZQogICAgIGluc3RydWN0aW9uUG9pbnRlckltcGwocmVn
cykgPSB2YWx1ZS5leGVjdXRhYmxlQWRkcmVzcygpOwogI2VuZGlmCkBAIC00NjEsNyArNDc3LDcg
QEAgaW5saW5lIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmbwogCiAjaWYgSEFWRShN
QUNISU5FX0NPTlRFWFQpCiAKLSNpZiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJ
TEUpCisjaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKSAmJiAhVVNFKERB
UldJTl9SRUdJU1RFUl9NQUNST1MpCiBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVjdGlvblBv
aW50ZXJJbXBsKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogewogI2lmIE9TKERBUldJTikK
QEAgLTUwNywxOCArNTIzLDI2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZComIGluc3RydWN0aW9uUG9p
bnRlckkKIAogaW5saW5lIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxQbGF0Zm9ybVJlZ2lzdGVyc1BD
UHRyVGFnPiBpbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgbWNvbnRleHRfdCYgbWFjaGluZUNvbnRl
eHQpCiB7CisjaWYgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCisgICAgcmV0dXJuICppbnN0
cnVjdGlvblBvaW50ZXIobWFjaGluZUNvbnRleHQtPl9fc3MpOworI2Vsc2UKKwogI2lmIFVTRShQ
TEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAgIHZvaWQqIHZhbHVlID0gV1RGX1JF
QURfTUFDSElORV9DT05URVhUX1BDX1dJVEhfUFJPRklMRShtYWNoaW5lQ29udGV4dCk7CiAjZWxz
ZQogICAgIHZvaWQqIHZhbHVlID0gaW5zdHJ1Y3Rpb25Qb2ludGVySW1wbChjb25zdF9jYXN0PG1j
b250ZXh0X3QmPihtYWNoaW5lQ29udGV4dCkpOwogI2VuZGlmCisKICAgICByZXR1cm4gTWFjcm9B
c3NlbWJsZXJDb2RlUHRyPFBsYXRmb3JtUmVnaXN0ZXJzUENQdHJUYWc+KHZhbHVlKTsKKyNlbmRp
ZgogfQogCiBpbmxpbmUgdm9pZCBzZXRJbnN0cnVjdGlvblBvaW50ZXIobWNvbnRleHRfdCYgbWFj
aGluZUNvbnRleHQsIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxDRnVuY3Rpb25QdHJUYWc+IHZhbHVl
KQogewogI2lmIFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAgIFdURl9X
UklURV9NQUNISU5FX0NPTlRFWFRfUENfV0lUSF9QUk9GSUxFKG1hY2hpbmVDb250ZXh0LCB2YWx1
ZS5leGVjdXRhYmxlQWRkcmVzcygpKTsKKyNlbGlmIFVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9T
KQorICAgIHNldEluc3RydWN0aW9uUG9pbnRlcihtYWNoaW5lQ29udGV4dC0+X19zcywgdmFsdWUp
OwogI2Vsc2UKICAgICBpbnN0cnVjdGlvblBvaW50ZXJJbXBsKG1hY2hpbmVDb250ZXh0KSA9IHZh
bHVlLmV4ZWN1dGFibGVBZGRyZXNzKCk7CiAjZW5kaWYKQEAgLTUyOSwyMCArNTUzLDEzIEBAIGlu
bGluZSB2b2lkIHNldEluc3RydWN0aW9uUG9pbnRlcihtY29udGUKICNpZiBPUyhXSU5ET1dTKSB8
fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIAogI2lmIE9TKERBUldJTikgJiYgX19EQVJXSU5fVU5J
WDAzICYmIENQVShBUk02NCkKLSNpZiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJ
TEUpCi1pbmxpbmUgdm9pZComIGxpbmtSZWdpc3RlckltcGwoUGxhdGZvcm1SZWdpc3RlcnMmIHJl
Z3MpCi17Ci0gICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPihyZWdzLl9fbHIpOwot
fQotI2VuZGlmIC8vIFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQotCiAKIGlu
bGluZSBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8UGxhdGZvcm1SZWdpc3RlcnNMUlB0clRhZz4gbGlu
a1JlZ2lzdGVyKGNvbnN0IFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdzKQogewogI2lmIFVTRShQTEFU
Rk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAgIHZvaWQqIHZhbHVlID0gV1RGX1JFQURf
UExBVEZPUk1fUkVHSVNURVJTX0xSX1dJVEhfUFJPRklMRShyZWdzKTsKICNlbHNlCi0gICAgdm9p
ZCogdmFsdWUgPSBsaW5rUmVnaXN0ZXJJbXBsKGNvbnN0X2Nhc3Q8UGxhdGZvcm1SZWdpc3RlcnMm
PihyZWdzKSk7CisgICAgdm9pZCogdmFsdWUgPSBfX2Rhcndpbl9hcm1fdGhyZWFkX3N0YXRlNjRf
Z2V0X2xyX2ZwdHIocmVncyk7CiAjZW5kaWYKICAgICByZXR1cm4gTWFjcm9Bc3NlbWJsZXJDb2Rl
UHRyPFBsYXRmb3JtUmVnaXN0ZXJzTFJQdHJUYWc+KHZhbHVlKTsKIH0KQEAgLTU1Miw3ICs1Njks
NyBAQCBpbmxpbmUgdm9pZCBzZXRMaW5rUmVnaXN0ZXIoUGxhdGZvcm1SZWdpCiAjaWYgVVNFKFBM
QVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCiAgICAgV1RGX1dSSVRFX1BMQVRGT1JNX1JF
R0lTVEVSU19QQ19XSVRIX1BST0ZJTEUocmVncywgdmFsdWUuZXhlY3V0YWJsZUFkZHJlc3MoKSk7
CiAjZWxzZQotICAgIGxpbmtSZWdpc3RlckltcGwocmVncykgPSB2YWx1ZS5leGVjdXRhYmxlQWRk
cmVzcygpOworICAgIF9fZGFyd2luX2FybV90aHJlYWRfc3RhdGU2NF9zZXRfbHJfZnB0cihyZWdz
LCB2YWx1ZS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICNlbmRpZgogfQogI2VuZGlmIC8vIE9TKERB
UldJTikgJiYgX19EQVJXSU5fVU5JWDAzICYmIENQVShBUk02NCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388735</attachid>
            <date>2020-01-24 15:54:53 -0800</date>
            <delta_ts>2020-01-27 14:54:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206703-20200124155452.patch</filename>
            <type>text/plain</type>
            <size>9658</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU1MTAyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDIwLTAxLTI0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAg
ICAgICBGaXggT3BlblNvdXJjZSBpcGhvbmVvcyBhcm02NGUgYnVpbGQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjcwMworCisgICAgICAgIFJldmll
d2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgKiBydW50aW1lL01hY2hpbmVDb250ZXh0
Lmg6CisgICAgICAgIChKU0M6Ok1hY2hpbmVDb250ZXh0OjpzdGFja1BvaW50ZXJJbXBsKTogQ29u
ZGl0aW9uYWxpemUgZnVuY3Rpb24gZXhpc3RlbmNlIG9uCisgICAgICAgIFVTRShEQVJXSU5fUkVH
SVNURVJfTUFDUk9TKS4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6OnN0YWNrUG9pbnRl
cik6IFVzZSBEYXJ3aW4ncyByZWdpc3RlciBtYWNyb3MgaWYgYXZhaWxhYmxlLgorICAgICAgICAo
SlNDOjpNYWNoaW5lQ29udGV4dDo6c2V0U3RhY2tQb2ludGVyKTogRGl0dG8uCisgICAgICAgIChK
U0M6Ok1hY2hpbmVDb250ZXh0OjppbnN0cnVjdGlvblBvaW50ZXJJbXBsKTogQ29uZGl0aW9uYWxp
emUgZnVuY3Rpb24gZXhpc3RlbmNlCisgICAgICAgIG9uIFVTRShEQVJXSU5fUkVHSVNURVJfTUFD
Uk9TKS4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6Omluc3RydWN0aW9uUG9pbnRlcik6
IFVzZSBEYXJ3aW4ncyByZWdpc3RlciBtYWNyb3MgaWYgYXZhaWxhYmxlLgorICAgICAgICAoSlND
OjpNYWNoaW5lQ29udGV4dDo6c2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKTogRGl0dG8uCisgICAgICAg
IChKU0M6Ok1hY2hpbmVDb250ZXh0OjpsaW5rUmVnaXN0ZXIpOiBEaXR0by4KKyAgICAgICAgKEpT
Qzo6TWFjaGluZUNvbnRleHQ6OnNldExpbmtSZWdpc3Rlcik6IERpdHRvLgorICAgICAgICAoSlND
OjpNYWNoaW5lQ29udGV4dDo6bGlua1JlZ2lzdGVySW1wbCk6IERlbGV0ZWQuCisKIDIwMjAtMDEt
MjQgIENhaW8gTGltYSAgPHRpY2Fpb2xpbWFAZ21haWwuY29tPgogCiAgICAgICAgIFtBUk12N11b
SklUXSBJbXBsZW1lbnQgY2hlY2twb2ludCBzdXBwb3J0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgJKHJldmlzaW9uIDI1NTA5MSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU4LDkgKzU4LDEzIEBAIHZvaWQqIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKGNv
bnN0IFBsYXQKICNpZiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIAogI2lmICFVU0UoUExBVEZPUk1f
UkVHSVNURVJTX1dJVEhfUFJPRklMRSkKKworI2lmICFVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JP
UykKIHN0YXRpYyBpbmxpbmUgdm9pZComIHN0YWNrUG9pbnRlckltcGwobWNvbnRleHRfdCYpOwot
c3RhdGljIGlubGluZSB2b2lkKiYgZnJhbWVQb2ludGVySW1wbChtY29udGV4dF90Jik7CiBzdGF0
aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVjdGlvblBvaW50ZXJJbXBsKG1jb250ZXh0X3QmKTsKKyNl
bmRpZiAvLyAhVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCisKK3N0YXRpYyBpbmxpbmUgdm9p
ZComIGZyYW1lUG9pbnRlckltcGwobWNvbnRleHRfdCYpOwogI2VuZGlmIC8vICFVU0UoUExBVEZP
Uk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKIAogdGVtcGxhdGU8dHlwZW5hbWUgVCA9IHZvaWQq
PiBUIHN0YWNrUG9pbnRlcihjb25zdCBtY29udGV4dF90Jik7CkBAIC04MSw3ICs4NSw3IEBAIHZv
aWQqIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IG1jb24KIAogI2lmIE9TKFdJTkRPV1Mp
IHx8IEhBVkUoTUFDSElORV9DT05URVhUKQogCi0jaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNf
V0lUSF9QUk9GSUxFKQorI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkg
JiYgIVVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQogc3RhdGljIGlubGluZSB2b2lkKiYgc3Rh
Y2tQb2ludGVySW1wbChQbGF0Zm9ybVJlZ2lzdGVycyYgcmVncykKIHsKICNpZiBPUyhEQVJXSU4p
CkBAIC05Myw4ICs5Nyw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZComIHN0YWNrUG9pbnRlckltcGwo
UGwKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19yc3ApOwogI2Vs
aWYgQ1BVKFBQQykgfHwgQ1BVKFBQQzY0KQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZv
aWQqJj4ocmVncy5fX3IxKTsKLSNlbGlmIENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNKSB8fCBD
UFUoQVJNNjQpCi0gICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPihyZWdzLl9fc3Ap
OwogI2Vsc2UKICNlcnJvciBVbmtub3duIEFyY2hpdGVjdHVyZQogI2VuZGlmCkBAIC0xNDAsNiAr
MTQyLDggQEAgaW5saW5lIFQgc3RhY2tQb2ludGVyKGNvbnN0IFBsYXRmb3JtUmVnaQogICAgIHZv
aWQqIHZhbHVlID0gV1RGX1JFQURfUExBVEZPUk1fUkVHSVNURVJTX1NQX1dJVEhfUFJPRklMRShy
ZWdzKTsKICAgICBhc3NlcnRJc05vdFRhZ2dlZCh2YWx1ZSk7CiAgICAgcmV0dXJuIGJpdHdpc2Vf
Y2FzdDxUPih2YWx1ZSk7CisjZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAgICBy
ZXR1cm4gYml0d2lzZV9jYXN0PFQ+KF9fZGFyd2luX2FybV90aHJlYWRfc3RhdGU2NF9nZXRfc3Ao
cmVncykpOwogI2Vsc2UKICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFQ+KHN0YWNrUG9pbnRlcklt
cGwoY29uc3RfY2FzdDxQbGF0Zm9ybVJlZ2lzdGVycyY+KHJlZ3MpKSk7CiAjZW5kaWYKQEAgLTE1
MSw2ICsxNTUsOCBAQCBpbmxpbmUgdm9pZCBzZXRTdGFja1BvaW50ZXIoUGxhdGZvcm1SZWdpCiAj
aWYgVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCiAgICAgYXNzZXJ0SXNOb3RU
YWdnZWQoYml0d2lzZV9jYXN0PHZvaWQqPih2YWx1ZSkpOwogICAgIFdURl9XUklURV9QTEFURk9S
TV9SRUdJU1RFUlNfU1BfV0lUSF9QUk9GSUxFKHJlZ3MsIGJpdHdpc2VfY2FzdDx2b2lkKj4odmFs
dWUpKTsKKyNlbGlmIFVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQorICAgIF9fZGFyd2luX2Fy
bV90aHJlYWRfc3RhdGU2NF9zZXRfc3AocmVncywgdmFsdWUpOwogI2Vsc2UKICAgICBzdGFja1Bv
aW50ZXJJbXBsKHJlZ3MpID0gYml0d2lzZV9jYXN0PHZvaWQqPih2YWx1ZSk7CiAjZW5kaWYKQEAg
LTE2Nyw3ICsxNzMsNyBAQCBpbmxpbmUgVCBzdGFja1BvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdp
CiAKICNpZiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIAotI2lmICFVU0UoUExBVEZPUk1fUkVHSVNU
RVJTX1dJVEhfUFJPRklMRSkKKyNpZiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJ
TEUpICYmICFVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKIHN0YXRpYyBpbmxpbmUgdm9pZCom
IHN0YWNrUG9pbnRlckltcGwobWNvbnRleHRfdCYgbWFjaGluZUNvbnRleHQpCiB7CiAjaWYgT1Mo
REFSV0lOKQpAQCAtMjE0LDYgKzIyMCw4IEBAIGlubGluZSBUIHN0YWNrUG9pbnRlcihjb25zdCBt
Y29udGV4dF90JiAKICAgICB2b2lkKiB2YWx1ZSA9IFdURl9SRUFEX01BQ0hJTkVfQ09OVEVYVF9T
UF9XSVRIX1BST0ZJTEUobWFjaGluZUNvbnRleHQpOwogICAgIGFzc2VydElzTm90VGFnZ2VkKHZh
bHVlKTsKICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFQ+KHZhbHVlKTsKKyNlbGlmIFVTRShEQVJX
SU5fUkVHSVNURVJfTUFDUk9TKQorICAgIHJldHVybiBzdGFja1BvaW50ZXIobWFjaGluZUNvbnRl
eHQtPl9fc3MpOwogI2Vsc2UKICAgICByZXR1cm4gYml0d2lzZV9jYXN0PFQ+KHN0YWNrUG9pbnRl
ckltcGwoY29uc3RfY2FzdDxtY29udGV4dF90Jj4obWFjaGluZUNvbnRleHQpKSk7CiAjZW5kaWYK
QEAgLTIyNSw2ICsyMzMsOCBAQCBpbmxpbmUgdm9pZCBzZXRTdGFja1BvaW50ZXIobWNvbnRleHRf
dCYgCiAjaWYgVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCiAgICAgYXNzZXJ0
SXNOb3RUYWdnZWQoYml0d2lzZV9jYXN0PHZvaWQqPih2YWx1ZSkpOwogICAgIFdURl9XUklURV9N
QUNISU5FX0NPTlRFWFRfU1BfV0lUSF9QUk9GSUxFKG1hY2hpbmVDb250ZXh0LCBiaXR3aXNlX2Nh
c3Q8dm9pZCo+KHZhbHVlKSk7CisjZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAg
ICByZXR1cm4gc2V0U3RhY2tQb2ludGVyKG1hY2hpbmVDb250ZXh0LT5fX3NzLCB2YWx1ZSk7CiAj
ZWxzZQogICAgIHN0YWNrUG9pbnRlckltcGwobWFjaGluZUNvbnRleHQpID0gYml0d2lzZV9jYXN0
PHZvaWQqPih2YWx1ZSk7CiAjZW5kaWYKQEAgLTM4NSw3ICszOTUsNyBAQCBpbmxpbmUgdm9pZCBz
ZXRGcmFtZVBvaW50ZXIobWNvbnRleHRfdCYgCiAKICNpZiBPUyhXSU5ET1dTKSB8fCBIQVZFKE1B
Q0hJTkVfQ09OVEVYVCkKIAotI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklM
RSkKKyNpZiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpICYmICFVU0UoREFS
V0lOX1JFR0lTVEVSX01BQ1JPUykKIHN0YXRpYyBpbmxpbmUgdm9pZComIGluc3RydWN0aW9uUG9p
bnRlckltcGwoUGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3MpCiB7CiAjaWYgT1MoREFSV0lOKQpAQCAt
Mzk1LDggKzQwNSw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZComIGluc3RydWN0aW9uUG9pbnRlckkK
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19laXApOwogI2VsaWYg
Q1BVKFg4Nl82NCkKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19y
aXApOwotI2VsaWYgQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk0pIHx8IENQVShBUk02NCkKLSAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19wYyk7CiAjZWxzZQogI2Vy
cm9yIFVua25vd24gQXJjaGl0ZWN0dXJlCiAjZW5kaWYKQEAgLTQzNiw2ICs0NDQsOCBAQCBpbmxp
bmUgT3B0aW9uYWw8TWFjcm9Bc3NlbWJsZXJDb2RlUHRyPFBsCiB7CiAjaWYgVVNFKFBMQVRGT1JN
X1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCiAgICAgdm9pZCogdmFsdWUgPSBXVEZfUkVBRF9QTEFU
Rk9STV9SRUdJU1RFUlNfUENfV0lUSF9QUk9GSUxFKHJlZ3MpOworI2VsaWYgVVNFKERBUldJTl9S
RUdJU1RFUl9NQUNST1MpCisgICAgdm9pZCogdmFsdWUgPSBfX2Rhcndpbl9hcm1fdGhyZWFkX3N0
YXRlNjRfZ2V0X3BjX2ZwdHIocmVncyk7CiAjZWxzZQogICAgIHZvaWQqIHZhbHVlID0gaW5zdHJ1
Y3Rpb25Qb2ludGVySW1wbChjb25zdF9jYXN0PFBsYXRmb3JtUmVnaXN0ZXJzJj4ocmVncykpOwog
I2VuZGlmCkBAIC00NTIsNiArNDYyLDggQEAgaW5saW5lIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2lu
dGVyKFBsYXRmbwogewogI2lmIFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQog
ICAgIFdURl9XUklURV9QTEFURk9STV9SRUdJU1RFUlNfUENfV0lUSF9QUk9GSUxFKHJlZ3MsIHZh
bHVlLmV4ZWN1dGFibGVBZGRyZXNzKCkpOworI2VsaWYgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNS
T1MpCisgICAgX19kYXJ3aW5fYXJtX3RocmVhZF9zdGF0ZTY0X3NldF9wY19mcHRyKHJlZ3MsIHZh
bHVlLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogI2Vsc2UKICAgICBpbnN0cnVjdGlvblBvaW50ZXJJ
bXBsKHJlZ3MpID0gdmFsdWUuZXhlY3V0YWJsZUFkZHJlc3MoKTsKICNlbmRpZgpAQCAtNDYxLDcg
KzQ3Myw3IEBAIGlubGluZSB2b2lkIHNldEluc3RydWN0aW9uUG9pbnRlcihQbGF0Zm8KIAogI2lm
IEhBVkUoTUFDSElORV9DT05URVhUKQogCi0jaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lU
SF9QUk9GSUxFKQorI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkgJiYg
IVVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQogc3RhdGljIGlubGluZSB2b2lkKiYgaW5zdHJ1
Y3Rpb25Qb2ludGVySW1wbChtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKIHsKICNpZiBPUyhE
QVJXSU4pCkBAIC01MDcsMTggKzUxOSwyNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVj
dGlvblBvaW50ZXJJCiAKIGlubGluZSBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8UGxhdGZvcm1SZWdp
c3RlcnNQQ1B0clRhZz4gaW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IG1jb250ZXh0X3QmIG1hY2hp
bmVDb250ZXh0KQogeworI2lmIFVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQorICAgIHJldHVy
biAqaW5zdHJ1Y3Rpb25Qb2ludGVyKG1hY2hpbmVDb250ZXh0LT5fX3NzKTsKKyNlbHNlCisKICNp
ZiBVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKICAgICB2b2lkKiB2YWx1ZSA9
IFdURl9SRUFEX01BQ0hJTkVfQ09OVEVYVF9QQ19XSVRIX1BST0ZJTEUobWFjaGluZUNvbnRleHQp
OwogI2Vsc2UKICAgICB2b2lkKiB2YWx1ZSA9IGluc3RydWN0aW9uUG9pbnRlckltcGwoY29uc3Rf
Y2FzdDxtY29udGV4dF90Jj4obWFjaGluZUNvbnRleHQpKTsKICNlbmRpZgorCiAgICAgcmV0dXJu
IE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxQbGF0Zm9ybVJlZ2lzdGVyc1BDUHRyVGFnPih2YWx1ZSk7
CisjZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKG1jb250ZXh0
X3QmIG1hY2hpbmVDb250ZXh0LCBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8Q0Z1bmN0aW9uUHRyVGFn
PiB2YWx1ZSkKIHsKICNpZiBVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKICAg
ICBXVEZfV1JJVEVfTUFDSElORV9DT05URVhUX1BDX1dJVEhfUFJPRklMRShtYWNoaW5lQ29udGV4
dCwgdmFsdWUuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CisjZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVS
X01BQ1JPUykKKyAgICBzZXRJbnN0cnVjdGlvblBvaW50ZXIobWFjaGluZUNvbnRleHQtPl9fc3Ms
IHZhbHVlKTsKICNlbHNlCiAgICAgaW5zdHJ1Y3Rpb25Qb2ludGVySW1wbChtYWNoaW5lQ29udGV4
dCkgPSB2YWx1ZS5leGVjdXRhYmxlQWRkcmVzcygpOwogI2VuZGlmCkBAIC01MjksMjAgKzU0OSwx
MyBAQCBpbmxpbmUgdm9pZCBzZXRJbnN0cnVjdGlvblBvaW50ZXIobWNvbnRlCiAjaWYgT1MoV0lO
RE9XUykgfHwgSEFWRShNQUNISU5FX0NPTlRFWFQpCiAKICNpZiBPUyhEQVJXSU4pICYmIF9fREFS
V0lOX1VOSVgwMyAmJiBDUFUoQVJNNjQpCi0jaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lU
SF9QUk9GSUxFKQotaW5saW5lIHZvaWQqJiBsaW5rUmVnaXN0ZXJJbXBsKFBsYXRmb3JtUmVnaXN0
ZXJzJiByZWdzKQotewotICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqJj4ocmVncy5f
X2xyKTsKLX0KLSNlbmRpZiAvLyBVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkK
LQogCiBpbmxpbmUgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPFBsYXRmb3JtUmVnaXN0ZXJzTFJQdHJU
YWc+IGxpbmtSZWdpc3Rlcihjb25zdCBQbGF0Zm9ybVJlZ2lzdGVycyYgcmVncykKIHsKICNpZiBV
U0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKICAgICB2b2lkKiB2YWx1ZSA9IFdU
Rl9SRUFEX1BMQVRGT1JNX1JFR0lTVEVSU19MUl9XSVRIX1BST0ZJTEUocmVncyk7CiAjZWxzZQot
ICAgIHZvaWQqIHZhbHVlID0gbGlua1JlZ2lzdGVySW1wbChjb25zdF9jYXN0PFBsYXRmb3JtUmVn
aXN0ZXJzJj4ocmVncykpOworICAgIHZvaWQqIHZhbHVlID0gX19kYXJ3aW5fYXJtX3RocmVhZF9z
dGF0ZTY0X2dldF9scl9mcHRyKHJlZ3MpOwogI2VuZGlmCiAgICAgcmV0dXJuIE1hY3JvQXNzZW1i
bGVyQ29kZVB0cjxQbGF0Zm9ybVJlZ2lzdGVyc0xSUHRyVGFnPih2YWx1ZSk7CiB9CkBAIC01NTIs
NyArNTY1LDcgQEAgaW5saW5lIHZvaWQgc2V0TGlua1JlZ2lzdGVyKFBsYXRmb3JtUmVnaQogI2lm
IFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAgIFdURl9XUklURV9QTEFU
Rk9STV9SRUdJU1RFUlNfUENfV0lUSF9QUk9GSUxFKHJlZ3MsIHZhbHVlLmV4ZWN1dGFibGVBZGRy
ZXNzKCkpOwogI2Vsc2UKLSAgICBsaW5rUmVnaXN0ZXJJbXBsKHJlZ3MpID0gdmFsdWUuZXhlY3V0
YWJsZUFkZHJlc3MoKTsKKyAgICBfX2Rhcndpbl9hcm1fdGhyZWFkX3N0YXRlNjRfc2V0X2xyX2Zw
dHIocmVncywgdmFsdWUuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiAjZW5kaWYKIH0KICNlbmRpZiAv
LyBPUyhEQVJXSU4pICYmIF9fREFSV0lOX1VOSVgwMyAmJiBDUFUoQVJNNjQpCkluZGV4OiBTb3Vy
Y2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2
aXNpb24gMjU1MDkxKQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxMiBAQAorMjAyMC0wMS0yNCAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBs
ZS5jb20+CisKKyAgICAgICAgRml4IE9wZW5Tb3VyY2UgaXBob25lb3MgYXJtNjRlIGJ1aWxkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY3MDMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgICogd3RmL1BsYXRm
b3JtVXNlLmg6IEFkZCBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykgY2hlY2suCisKIDIwMjAt
MDEtMjQgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBp
bnRlcm5hbCBBcHBsZSBidWlsZHMgYWZ0ZXIgcjI1NDQxMQpJbmRleDogU291cmNlL1dURi93dGYv
UGxhdGZvcm1Vc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5o
CShyZXZpc2lvbiAyNTUwOTEpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDcsMyArMzA3LDcgQEAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8
fCAoIShkZWZpbmVkKFVTRV9TWVNURU1fTUFMTE9DKSAmJiBVU0VfU1lTVEVNX01BTExPQykgJiYg
KE9TKExJTlVYKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKSkpCiAjZGVmaW5l
IFVTRV9CTUFMTE9DX01FTU9SWV9GT09UUFJJTlRfQVBJIDEKICNlbmRpZgorCisjaWYgT1MoREFS
V0lOKSAmJiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpICYmIChDUFUoQVJN
X1RIVU1CMikgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0KSkKKyNkZWZpbmUgVVNFX0RBUldJTl9S
RUdJU1RFUl9NQUNST1MgMQorI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388917</attachid>
            <date>2020-01-27 14:54:36 -0800</date>
            <delta_ts>2020-01-27 17:30:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206703-20200127145435.patch</filename>
            <type>text/plain</type>
            <size>9762</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU1MTU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDIwLTAxLTI3ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAg
ICAgICBGaXggT3BlblNvdXJjZSBpcGhvbmVvcyBhcm02NGUgYnVpbGQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjcwMworCisgICAgICAgIFJldmll
d2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgKiBydW50aW1lL01hY2hpbmVDb250ZXh0
Lmg6CisgICAgICAgIChKU0M6Ok1hY2hpbmVDb250ZXh0OjpzdGFja1BvaW50ZXJJbXBsKTogQ29u
ZGl0aW9uYWxpemUgZnVuY3Rpb24gZXhpc3RlbmNlIG9uCisgICAgICAgIFVTRShEQVJXSU5fUkVH
SVNURVJfTUFDUk9TKS4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6OnN0YWNrUG9pbnRl
cik6IFVzZSBEYXJ3aW4ncyByZWdpc3RlciBtYWNyb3MgaWYgYXZhaWxhYmxlLgorICAgICAgICAo
SlNDOjpNYWNoaW5lQ29udGV4dDo6c2V0U3RhY2tQb2ludGVyKTogRGl0dG8uCisgICAgICAgIChK
U0M6Ok1hY2hpbmVDb250ZXh0OjppbnN0cnVjdGlvblBvaW50ZXJJbXBsKTogQ29uZGl0aW9uYWxp
emUgZnVuY3Rpb24gZXhpc3RlbmNlCisgICAgICAgIG9uIFVTRShEQVJXSU5fUkVHSVNURVJfTUFD
Uk9TKS4KKyAgICAgICAgKEpTQzo6TWFjaGluZUNvbnRleHQ6Omluc3RydWN0aW9uUG9pbnRlcik6
IFVzZSBEYXJ3aW4ncyByZWdpc3RlciBtYWNyb3MgaWYgYXZhaWxhYmxlLgorICAgICAgICAoSlND
OjpNYWNoaW5lQ29udGV4dDo6c2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKTogRGl0dG8uCisgICAgICAg
IChKU0M6Ok1hY2hpbmVDb250ZXh0OjpsaW5rUmVnaXN0ZXIpOiBEaXR0by4KKyAgICAgICAgKEpT
Qzo6TWFjaGluZUNvbnRleHQ6OnNldExpbmtSZWdpc3Rlcik6IERpdHRvLgorICAgICAgICAoSlND
OjpNYWNoaW5lQ29udGV4dDo6bGlua1JlZ2lzdGVySW1wbCk6IERlbGV0ZWQuCisKIDIwMjAtMDEt
MjcgIFBhdWxvIE1hdG9zICA8cG1hdG9zQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGlu
dGVybmFsIGZpZWxkcyBpbiBwcm9taXNlIGFzc2VydGlvbiBmb3IgMzJiaXRzCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgJKHJldmlzaW9u
IDI1NTE1NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDkgKzU4LDEzIEBAIHZvaWQqIGxsaW50SW5zdHJ1Y3Rp
b25Qb2ludGVyKGNvbnN0IFBsYXQKICNpZiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIAogI2lmICFV
U0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKKworI2lmICFVU0UoREFSV0lOX1JF
R0lTVEVSX01BQ1JPUykKIHN0YXRpYyBpbmxpbmUgdm9pZComIHN0YWNrUG9pbnRlckltcGwobWNv
bnRleHRfdCYpOwotc3RhdGljIGlubGluZSB2b2lkKiYgZnJhbWVQb2ludGVySW1wbChtY29udGV4
dF90Jik7CiBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVjdGlvblBvaW50ZXJJbXBsKG1jb250
ZXh0X3QmKTsKKyNlbmRpZiAvLyAhVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCisKK3N0YXRp
YyBpbmxpbmUgdm9pZComIGZyYW1lUG9pbnRlckltcGwobWNvbnRleHRfdCYpOwogI2VuZGlmIC8v
ICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKIAogdGVtcGxhdGU8dHlwZW5h
bWUgVCA9IHZvaWQqPiBUIHN0YWNrUG9pbnRlcihjb25zdCBtY29udGV4dF90Jik7CkBAIC04MSw3
ICs4NSw3IEBAIHZvaWQqIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IG1jb24KIAogI2lm
IE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhUKQogCi0jaWYgIVVTRShQTEFURk9S
TV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQorI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJ
VEhfUFJPRklMRSkgJiYgIVVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQogc3RhdGljIGlubGlu
ZSB2b2lkKiYgc3RhY2tQb2ludGVySW1wbChQbGF0Zm9ybVJlZ2lzdGVycyYgcmVncykKIHsKICNp
ZiBPUyhEQVJXSU4pCkBAIC05Myw3ICs5Nyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZComIHN0YWNr
UG9pbnRlckltcGwoUGwKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3Mu
X19yc3ApOwogI2VsaWYgQ1BVKFBQQykgfHwgQ1BVKFBQQzY0KQogICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PHZvaWQqJj4ocmVncy5fX3IxKTsKLSNlbGlmIENQVShBUk1fVEhVTUIyKSB8fCBD
UFUoQVJNKSB8fCBDUFUoQVJNNjQpCisjZWxpZiBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTSkK
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19zcCk7CiAjZWxzZQog
I2Vycm9yIFVua25vd24gQXJjaGl0ZWN0dXJlCkBAIC0xNDAsNiArMTQ0LDggQEAgaW5saW5lIFQg
c3RhY2tQb2ludGVyKGNvbnN0IFBsYXRmb3JtUmVnaQogICAgIHZvaWQqIHZhbHVlID0gV1RGX1JF
QURfUExBVEZPUk1fUkVHSVNURVJTX1NQX1dJVEhfUFJPRklMRShyZWdzKTsKICAgICBhc3NlcnRJ
c05vdFRhZ2dlZCh2YWx1ZSk7CiAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPih2YWx1ZSk7Cisj
ZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAgICByZXR1cm4gYml0d2lzZV9jYXN0
PFQ+KHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KF9fZGFyd2luX2FybV90aHJlYWRfc3RhdGU2NF9n
ZXRfc3AocmVncykpKTsKICNlbHNlCiAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPihzdGFja1Bv
aW50ZXJJbXBsKGNvbnN0X2Nhc3Q8UGxhdGZvcm1SZWdpc3RlcnMmPihyZWdzKSkpOwogI2VuZGlm
CkBAIC0xNTEsNiArMTU3LDggQEAgaW5saW5lIHZvaWQgc2V0U3RhY2tQb2ludGVyKFBsYXRmb3Jt
UmVnaQogI2lmIFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAgIGFzc2Vy
dElzTm90VGFnZ2VkKGJpdHdpc2VfY2FzdDx2b2lkKj4odmFsdWUpKTsKICAgICBXVEZfV1JJVEVf
UExBVEZPUk1fUkVHSVNURVJTX1NQX1dJVEhfUFJPRklMRShyZWdzLCBiaXR3aXNlX2Nhc3Q8dm9p
ZCo+KHZhbHVlKSk7CisjZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAgICBfX2Rh
cndpbl9hcm1fdGhyZWFkX3N0YXRlNjRfc2V0X3NwKHJlZ3MsIHZhbHVlKTsKICNlbHNlCiAgICAg
c3RhY2tQb2ludGVySW1wbChyZWdzKSA9IGJpdHdpc2VfY2FzdDx2b2lkKj4odmFsdWUpOwogI2Vu
ZGlmCkBAIC0xNjcsNyArMTc1LDcgQEAgaW5saW5lIFQgc3RhY2tQb2ludGVyKGNvbnN0IFBsYXRm
b3JtUmVnaQogCiAjaWYgSEFWRShNQUNISU5FX0NPTlRFWFQpCiAKLSNpZiAhVVNFKFBMQVRGT1JN
X1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCisjaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lU
SF9QUk9GSUxFKSAmJiAhVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCiBzdGF0aWMgaW5saW5l
IHZvaWQqJiBzdGFja1BvaW50ZXJJbXBsKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogewog
I2lmIE9TKERBUldJTikKQEAgLTIxNCw2ICsyMjIsOCBAQCBpbmxpbmUgVCBzdGFja1BvaW50ZXIo
Y29uc3QgbWNvbnRleHRfdCYgCiAgICAgdm9pZCogdmFsdWUgPSBXVEZfUkVBRF9NQUNISU5FX0NP
TlRFWFRfU1BfV0lUSF9QUk9GSUxFKG1hY2hpbmVDb250ZXh0KTsKICAgICBhc3NlcnRJc05vdFRh
Z2dlZCh2YWx1ZSk7CiAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPih2YWx1ZSk7CisjZWxpZiBV
U0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAgICByZXR1cm4gc3RhY2tQb2ludGVyKG1hY2hp
bmVDb250ZXh0LT5fX3NzKTsKICNlbHNlCiAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPihzdGFj
a1BvaW50ZXJJbXBsKGNvbnN0X2Nhc3Q8bWNvbnRleHRfdCY+KG1hY2hpbmVDb250ZXh0KSkpOwog
I2VuZGlmCkBAIC0yMjUsNiArMjM1LDggQEAgaW5saW5lIHZvaWQgc2V0U3RhY2tQb2ludGVyKG1j
b250ZXh0X3QmIAogI2lmIFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAg
IGFzc2VydElzTm90VGFnZ2VkKGJpdHdpc2VfY2FzdDx2b2lkKj4odmFsdWUpKTsKICAgICBXVEZf
V1JJVEVfTUFDSElORV9DT05URVhUX1NQX1dJVEhfUFJPRklMRShtYWNoaW5lQ29udGV4dCwgYml0
d2lzZV9jYXN0PHZvaWQqPih2YWx1ZSkpOworI2VsaWYgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNS
T1MpCisgICAgcmV0dXJuIHNldFN0YWNrUG9pbnRlcihtYWNoaW5lQ29udGV4dC0+X19zcywgdmFs
dWUpOwogI2Vsc2UKICAgICBzdGFja1BvaW50ZXJJbXBsKG1hY2hpbmVDb250ZXh0KSA9IGJpdHdp
c2VfY2FzdDx2b2lkKj4odmFsdWUpOwogI2VuZGlmCkBAIC0zODUsNyArMzk3LDcgQEAgaW5saW5l
IHZvaWQgc2V0RnJhbWVQb2ludGVyKG1jb250ZXh0X3QmIAogCiAjaWYgT1MoV0lORE9XUykgfHwg
SEFWRShNQUNISU5FX0NPTlRFWFQpCiAKLSNpZiAhVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19XSVRI
X1BST0ZJTEUpCisjaWYgIVVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKSAmJiAh
VVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCiBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVj
dGlvblBvaW50ZXJJbXBsKFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdzKQogewogI2lmIE9TKERBUldJ
TikKQEAgLTM5NSw3ICs0MDcsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVjdGlvblBv
aW50ZXJJCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPihyZWdzLl9fZWlwKTsK
ICNlbGlmIENQVShYODZfNjQpCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPihy
ZWdzLl9fcmlwKTsKLSNlbGlmIENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNKSB8fCBDUFUoQVJN
NjQpCisjZWxpZiBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTSkKICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19wYyk7CiAjZWxzZQogI2Vycm9yIFVua25vd24gQXJj
aGl0ZWN0dXJlCkBAIC00MzYsNiArNDQ4LDggQEAgaW5saW5lIE9wdGlvbmFsPE1hY3JvQXNzZW1i
bGVyQ29kZVB0cjxQbAogewogI2lmIFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxF
KQogICAgIHZvaWQqIHZhbHVlID0gV1RGX1JFQURfUExBVEZPUk1fUkVHSVNURVJTX1BDX1dJVEhf
UFJPRklMRShyZWdzKTsKKyNlbGlmIFVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQorICAgIHZv
aWQqIHZhbHVlID0gX19kYXJ3aW5fYXJtX3RocmVhZF9zdGF0ZTY0X2dldF9wY19mcHRyKHJlZ3Mp
OwogI2Vsc2UKICAgICB2b2lkKiB2YWx1ZSA9IGluc3RydWN0aW9uUG9pbnRlckltcGwoY29uc3Rf
Y2FzdDxQbGF0Zm9ybVJlZ2lzdGVycyY+KHJlZ3MpKTsKICNlbmRpZgpAQCAtNDUyLDYgKzQ2Niw4
IEBAIGlubGluZSB2b2lkIHNldEluc3RydWN0aW9uUG9pbnRlcihQbGF0Zm8KIHsKICNpZiBVU0Uo
UExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKICAgICBXVEZfV1JJVEVfUExBVEZPUk1f
UkVHSVNURVJTX1BDX1dJVEhfUFJPRklMRShyZWdzLCB2YWx1ZS5leGVjdXRhYmxlQWRkcmVzcygp
KTsKKyNlbGlmIFVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQorICAgIF9fZGFyd2luX2FybV90
aHJlYWRfc3RhdGU2NF9zZXRfcGNfZnB0cihyZWdzLCB2YWx1ZS5leGVjdXRhYmxlQWRkcmVzcygp
KTsKICNlbHNlCiAgICAgaW5zdHJ1Y3Rpb25Qb2ludGVySW1wbChyZWdzKSA9IHZhbHVlLmV4ZWN1
dGFibGVBZGRyZXNzKCk7CiAjZW5kaWYKQEAgLTQ2MSw3ICs0NzcsNyBAQCBpbmxpbmUgdm9pZCBz
ZXRJbnN0cnVjdGlvblBvaW50ZXIoUGxhdGZvCiAKICNpZiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkK
IAotI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKKyNpZiAhVVNFKFBM
QVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpICYmICFVU0UoREFSV0lOX1JFR0lTVEVSX01B
Q1JPUykKIHN0YXRpYyBpbmxpbmUgdm9pZComIGluc3RydWN0aW9uUG9pbnRlckltcGwobWNvbnRl
eHRfdCYgbWFjaGluZUNvbnRleHQpCiB7CiAjaWYgT1MoREFSV0lOKQpAQCAtNTA3LDE4ICs1MjMs
MjYgQEAgc3RhdGljIGlubGluZSB2b2lkKiYgaW5zdHJ1Y3Rpb25Qb2ludGVySQogCiBpbmxpbmUg
TWFjcm9Bc3NlbWJsZXJDb2RlUHRyPFBsYXRmb3JtUmVnaXN0ZXJzUENQdHJUYWc+IGluc3RydWN0
aW9uUG9pbnRlcihjb25zdCBtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKIHsKKyNpZiBVU0Uo
REFSV0lOX1JFR0lTVEVSX01BQ1JPUykKKyAgICByZXR1cm4gKmluc3RydWN0aW9uUG9pbnRlciht
YWNoaW5lQ29udGV4dC0+X19zcyk7CisjZWxzZQorCiAjaWYgVVNFKFBMQVRGT1JNX1JFR0lTVEVS
U19XSVRIX1BST0ZJTEUpCiAgICAgdm9pZCogdmFsdWUgPSBXVEZfUkVBRF9NQUNISU5FX0NPTlRF
WFRfUENfV0lUSF9QUk9GSUxFKG1hY2hpbmVDb250ZXh0KTsKICNlbHNlCiAgICAgdm9pZCogdmFs
dWUgPSBpbnN0cnVjdGlvblBvaW50ZXJJbXBsKGNvbnN0X2Nhc3Q8bWNvbnRleHRfdCY+KG1hY2hp
bmVDb250ZXh0KSk7CiAjZW5kaWYKKwogICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8
UGxhdGZvcm1SZWdpc3RlcnNQQ1B0clRhZz4odmFsdWUpOworI2VuZGlmCiB9CiAKIGlubGluZSB2
b2lkIHNldEluc3RydWN0aW9uUG9pbnRlcihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCwgTWFj
cm9Bc3NlbWJsZXJDb2RlUHRyPENGdW5jdGlvblB0clRhZz4gdmFsdWUpCiB7CiAjaWYgVVNFKFBM
QVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCiAgICAgV1RGX1dSSVRFX01BQ0hJTkVfQ09O
VEVYVF9QQ19XSVRIX1BST0ZJTEUobWFjaGluZUNvbnRleHQsIHZhbHVlLmV4ZWN1dGFibGVBZGRy
ZXNzKCkpOworI2VsaWYgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCisgICAgc2V0SW5zdHJ1
Y3Rpb25Qb2ludGVyKG1hY2hpbmVDb250ZXh0LT5fX3NzLCB2YWx1ZSk7CiAjZWxzZQogICAgIGlu
c3RydWN0aW9uUG9pbnRlckltcGwobWFjaGluZUNvbnRleHQpID0gdmFsdWUuZXhlY3V0YWJsZUFk
ZHJlc3MoKTsKICNlbmRpZgpAQCAtNTI5LDIwICs1NTMsMTMgQEAgaW5saW5lIHZvaWQgc2V0SW5z
dHJ1Y3Rpb25Qb2ludGVyKG1jb250ZQogI2lmIE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9D
T05URVhUKQogCiAjaWYgT1MoREFSV0lOKSAmJiBfX0RBUldJTl9VTklYMDMgJiYgQ1BVKEFSTTY0
KQotI2lmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhfUFJPRklMRSkKLWlubGluZSB2b2lk
KiYgbGlua1JlZ2lzdGVySW1wbChQbGF0Zm9ybVJlZ2lzdGVycyYgcmVncykKLXsKLSAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKiY+KHJlZ3MuX19scik7Ci19Ci0jZW5kaWYgLy8gVVNF
KFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCi0KIAogaW5saW5lIE1hY3JvQXNzZW1i
bGVyQ29kZVB0cjxQbGF0Zm9ybVJlZ2lzdGVyc0xSUHRyVGFnPiBsaW5rUmVnaXN0ZXIoY29uc3Qg
UGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3MpCiB7CiAjaWYgVVNFKFBMQVRGT1JNX1JFR0lTVEVSU19X
SVRIX1BST0ZJTEUpCiAgICAgdm9pZCogdmFsdWUgPSBXVEZfUkVBRF9QTEFURk9STV9SRUdJU1RF
UlNfTFJfV0lUSF9QUk9GSUxFKHJlZ3MpOwogI2Vsc2UKLSAgICB2b2lkKiB2YWx1ZSA9IGxpbmtS
ZWdpc3RlckltcGwoY29uc3RfY2FzdDxQbGF0Zm9ybVJlZ2lzdGVycyY+KHJlZ3MpKTsKKyAgICB2
b2lkKiB2YWx1ZSA9IF9fZGFyd2luX2FybV90aHJlYWRfc3RhdGU2NF9nZXRfbHJfZnB0cihyZWdz
KTsKICNlbmRpZgogICAgIHJldHVybiBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8UGxhdGZvcm1SZWdp
c3RlcnNMUlB0clRhZz4odmFsdWUpOwogfQpAQCAtNTUyLDcgKzU2OSw3IEBAIGlubGluZSB2b2lk
IHNldExpbmtSZWdpc3RlcihQbGF0Zm9ybVJlZ2kKICNpZiBVU0UoUExBVEZPUk1fUkVHSVNURVJT
X1dJVEhfUFJPRklMRSkKICAgICBXVEZfV1JJVEVfUExBVEZPUk1fUkVHSVNURVJTX1BDX1dJVEhf
UFJPRklMRShyZWdzLCB2YWx1ZS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICNlbHNlCi0gICAgbGlu
a1JlZ2lzdGVySW1wbChyZWdzKSA9IHZhbHVlLmV4ZWN1dGFibGVBZGRyZXNzKCk7CisgICAgX19k
YXJ3aW5fYXJtX3RocmVhZF9zdGF0ZTY0X3NldF9scl9mcHRyKHJlZ3MsIHZhbHVlLmV4ZWN1dGFi
bGVBZGRyZXNzKCkpOwogI2VuZGlmCiB9CiAjZW5kaWYgLy8gT1MoREFSV0lOKSAmJiBfX0RBUldJ
Tl9VTklYMDMgJiYgQ1BVKEFSTTY0KQpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NTE1NCkKKysrIFNvdXJj
ZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDEt
MjcgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgorCisgICAgICAgIEZpeCBP
cGVuU291cmNlIGlwaG9uZW9zIGFybTY0ZSBidWlsZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NzAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVz
dWtlIFN1enVraS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybVVzZS5oOiBBZGQgVVNFKERBUldJ
Tl9SRUdJU1RFUl9NQUNST1MpIGNoZWNrLgorCiAyMDIwLTAxLTI3ICBNYXJrIExhbSAgPG1hcmsu
bGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIGdldFZUYWJsZVBvaW50ZXIoKSBhbiBpbmxp
bmUgZnVuY3Rpb24gdG8gYmUgY29tcGxpYW50IHdpdGggV2ViS2l0IHN0eWxlIGd1aWRlbGluZXMu
CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgJKHJldmlzaW9uIDI1NTE1NCkKKysrIFNvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtVXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwNywzICszMDcsNyBAQAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpIHx8ICghKGRlZmluZWQoVVNFX1NZU1RFTV9NQUxMT0MpICYm
IFVTRV9TWVNURU1fTUFMTE9DKSAmJiAoT1MoTElOVVgpICYmIChQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKFdQRSkpKSkKICNkZWZpbmUgVVNFX0JNQUxMT0NfTUVNT1JZX0ZPT1RQUklOVF9BUEkg
MQogI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pICYmICFVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJ
VEhfUFJPRklMRSkgJiYgQ1BVKEFSTTY0KQorI2RlZmluZSBVU0VfREFSV0lOX1JFR0lTVEVSX01B
Q1JPUyAxCisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>